All of lore.kernel.org
 help / color / mirror / Atom feed
* [qemu-web PATCH 0/7] Tweaks to page footer and add "edit page" links
@ 2020-10-23 15:29 Daniel P. Berrangé
  2020-10-23 15:29 ` [qemu-web PATCH 1/7] Convert files to UNIX line endings Daniel P. Berrangé
                   ` (6 more replies)
  0 siblings, 7 replies; 15+ messages in thread
From: Daniel P. Berrangé @ 2020-10-23 15:29 UTC (permalink / raw)
  To: qemu-devel; +Cc: Paolo Bonzini, Thomas Huth, Daniel P. Berrangé

This series started off as a desire to add an "Edit page" link to every
page on the site. In doing this I felt that the footer would benefit
from simplication so that it was not a massive wall of links,
duplicating links elsewhere in the navigation or content pages.

I also add gitlab CI jobs so that users can push a branch to gitlab and
then browse the rendered result.

eg see this pipeline:

  https://gitlab.com/berrange/qemu-web/-/pipelines/206891542

and the rendered result:

  https://berrange.gitlab.io/qemu-web/

Or browsable at

  https://gitlab.com/berrange/qemu-web/-/jobs/809000762/artifacts/browse/publ=
ic/

Or download ZIP at

  https://gitlab.com/berrange/qemu-web/-/jobs/809000762/artifacts/download

notice how the resulting content needs to cope with being used from a
variety of different paths. IOW, we cannot use absolute hyperlinks that
assume the root is "/".  Jekyll doesn't make this easy, so we use a hack
with a custom template that sets a variable we can then reference.

The logical next step for this would be to accept merge requests, so
that once the user saves their edits in gitlab, they can directly submit
a MR, instead of sending via email.  I noticed we don't currently have a
CONTRIBUTING.md file in qemu-web.git telling people how to submit. So
this series includes such a file directing people to send patches via
email for now.

Daniel P. Berrang=C3=A9 (7):
  Convert files to UNIX line endings
  gitlab: introduce a CI job to publish the site content
  make all links be relative to the root
  Make page header nav narrower
  Simplify and restructure the page footer
  Add link to "edit this page" for all pages
  Add a CONTRIBUTING.md file as guidance for contributors

 .gitlab-ci.yml               |   16 +
 CONTRIBUTING.md              |   32 +
 _config.yml                  |    1 +
 _includes/assets.html        |   28 +-
 _includes/copyright.html     |    8 -
 _includes/footer.html        |   33 +-
 _includes/nav.html           |   13 +-
 _includes/relative_root.html |   12 +
 _includes/sidebar.html       |    6 +-
 _layouts/archive.html        |    4 +-
 _layouts/blog.html           |    4 +-
 _layouts/home.html           |    2 +-
 _layouts/page.html           |    2 +-
 assets/css/style-desktop.css |  575 ++++++++--------
 assets/css/style-mobile.css  |  739 +++++++++++----------
 assets/css/style.css         | 1200 +++++++++++++++++-----------------
 blog/index.html              |    4 +-
 index.html                   |  178 ++---
 18 files changed, 1448 insertions(+), 1409 deletions(-)
 create mode 100644 .gitlab-ci.yml
 create mode 100644 CONTRIBUTING.md
 delete mode 100644 _includes/copyright.html
 create mode 100644 _includes/relative_root.html

--=20
2.26.2




^ permalink raw reply	[flat|nested] 15+ messages in thread

* [qemu-web PATCH 1/7] Convert files to UNIX line endings
  2020-10-23 15:29 [qemu-web PATCH 0/7] Tweaks to page footer and add "edit page" links Daniel P. Berrangé
@ 2020-10-23 15:29 ` Daniel P. Berrangé
  2020-10-23 15:29 ` [qemu-web PATCH 2/7] gitlab: introduce a CI job to publish the site content Daniel P. Berrangé
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 15+ messages in thread
From: Daniel P. Berrangé @ 2020-10-23 15:29 UTC (permalink / raw)
  To: qemu-devel; +Cc: Paolo Bonzini, Thomas Huth, Daniel P. Berrangé

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
 assets/css/style-desktop.css |  586 ++++++++---------
 assets/css/style-mobile.css  |  750 ++++++++++-----------
 assets/css/style.css         | 1184 +++++++++++++++++-----------------
 index.html                   |  178 ++---
 4 files changed, 1349 insertions(+), 1349 deletions(-)

diff --git a/assets/css/style-desktop.css b/assets/css/style-desktop.css
index b6c5aa1..ce58fe2 100644
--- a/assets/css/style-desktop.css
+++ b/assets/css/style-desktop.css
@@ -1,295 +1,295 @@
-/*
-	Linear by TEMPLATED
-    templated.co @templatedco
-    Released for free under the Creative Commons Attribution 3.0 license (templated.co/license)
-*/
-
-/*********************************************************************************/
-/* Grid                                                                          */
-/*********************************************************************************/
-
-@import url(cells.css);
-
-	.row > * {
-		padding-left: 50px;
-	}	
-	.row > *:first-child {
-		padding-left: 0px;
-	}
-	.row + .row {
-		padding-top: 50px;
-	}	
-
-/*********************************************************************************/
-/* Basic                                                                         */
-/*********************************************************************************/
-
-	.only-mobile, .not-desktop
-	{
-		display: none !important;
-	}
-
-	body
-	{
-		/* 90% transparent */
-		background: url(../images/qemu_head_200.png) no-repeat fixed 2em 80px;
+/*
+	Linear by TEMPLATED
+    templated.co @templatedco
+    Released for free under the Creative Commons Attribution 3.0 license (templated.co/license)
+*/
+
+/*********************************************************************************/
+/* Grid                                                                          */
+/*********************************************************************************/
+
+@import url(cells.css);
+
+	.row > * {
+		padding-left: 50px;
+	}	
+	.row > *:first-child {
+		padding-left: 0px;
+	}
+	.row + .row {
+		padding-top: 50px;
+	}	
+
+/*********************************************************************************/
+/* Basic                                                                         */
+/*********************************************************************************/
+
+	.only-mobile, .not-desktop
+	{
+		display: none !important;
+	}
+
+	body
+	{
+		/* 90% transparent */
+		background: url(../images/qemu_head_200.png) no-repeat fixed 2em 80px;
 		background-color: #FFF;
-	}
-
-	body.homepage
-	{
-		/* 90% transparent */
-		background: url(../images/qemu_head_400_faint.png) no-repeat fixed center 60%;
+	}
+
+	body.homepage
+	{
+		/* 90% transparent */
+		background: url(../images/qemu_head_400_faint.png) no-repeat fixed center 60%;
 		background-color: #FFF;
-	}
-
-	body,input,textarea,select
-	{
-	}
-
-	.homepage h1
-	{
-		font-size: 7em;
-		letter-spacing: -0.05em;
-	}
-
-	.homepage h2
-	{
-		font-size: 2.2em;
-	}
-
-	h1
-	{
-		font-size: 3em;
-	}
-
-	header
-	{
-		margin-bottom: 2em;
-	}
-	
-		header .byline
-		{
-			font-size: 1.7em;
-		}
-
-/*********************************************************************************/
-/* Header                                                                        */
-/*********************************************************************************/
-
-	#header
-	{
-		padding: 5em 0 2em 0;
-	}
-
-/*********************************************************************************/
-/* Main                                                                          */
-/*********************************************************************************/
-
-	#main,#sidebar {
-		margin-top: 5em;
-	}
-
-	#sidebar h1
-	{
-		font-size: 2.4em;
-		letter-spacing: 0em;
-		line-height: 1.2em;
-		margin-top: -0.2em;
-	}
-
-/*********************************************************************************/
-/* Footer                                                                        */
-/*********************************************************************************/
-	
-	#footer
-	{
-		padding: 1em 0em;
-	}
-	
-	#footer-inner
-	{
-		width: 95%;
-		display: table;
-		margin: auto;
-	}
-
-	#footer ul
-	{
-		width: 25%;
-		display: table-cell;
-		padding-left: 2em;
-	}
-
-	#footer ul:first-child
-	{
-		padding-left: 0px;
-	}
-
-/*********************************************************************************/
-/* Featured                                                                      */
-/*********************************************************************************/
-	
-	#featured
-	{
-		padding: 3em 0em 1em 0em;
-	}
-	
-	#featured p
-	{
-		line-height: 1.5em;
-		font-size: 1.2em;
-	}
-	
-	.\31 u img { height:  6vw; }
-	.\32 u img { height: 12vw; }
-	.\33 u img { height: 18vw; }
-	.\34 u img { height: 24vw; }
-	.\36 u img { height: 36vw; }
-	.\37 u img { height: 42vw; }
-	.\38 u img { height: 48vw; }
-	.\39 u img { height: 54vw; }
-	.\31 0u img { height: 60vw; }
-	.\31 1u img { height: 66vw; }
-	.\31 2u img { height: 72vw; }
-	
-/*********************************************************************************/
-/* Horizontal menu                                                               */
-/*********************************************************************************/
-	.horiz-menu > ul
-	{
-		width: 100%;
-		margin: 0;
-		padding: 0;
-		display: table;
-		border-collapse: collapse;
-	}
-	.horiz-menu > ul > li
-	{
-		width: 25%;
-		border: 1px solid #000000;
-		display: table-cell;
-		color: #F03B11;
-	}
-	.horiz-menu > ul > li:hover
-	{
-		background: #FCECD4;
-		color: #802400;
-	}
-
-	.horiz-menu > ul > li > a
-	{
-		display: block;
-		padding: 1em;
-		border-bottom: 5px transparent;
-		white-space: nowrap;
-		color: inherit;
-	}
-	.horiz-menu > ul > li > a:hover
-	{
-		text-decoration: none;
-	}
-	.horiz-menu > ul > li.active > a
-	{
-		border-bottom: 5px #F03B11 solid;
-	}
-
-	.horiz-menu > ul > li.active > a:hover
-	{
-		border-bottom: 5px #802400 solid;
-	}
-
-	.horiz-menu > article
-	{
-		padding-top: 1em;
-		margin: 0;
-		display: none;
-	}
-
-	.horiz-menu > article.active
-	{
-		display: block;
-	}
-
-/*********************************************************************************/
-/* Nav                                                                           */
-/*********************************************************************************/
-
-	#titleBar
-	{
-		display: none !important;
-	}
-
-	#nav
-	{
-		display: block !important;
-		z-index: 2;
-		position: fixed;
-		background: #802400;
-		background: -webkit-linear-gradient(top, #802400 0%,#800800 100%);
-		background: linear-gradient(to bottom, #802400 0%,#800800 100%);
-		left: 0;
-		top: 0;
-		width: 100%;
-	}
-		
-		#nav > ul
-		{
-			text-align: right;
-			margin: 0;
-		}
-
-		#nav > ul > li
-		{
-			display: inline-block;
-			margin: 0;
-			padding: 0.5em 2em 0.5em 0em;
-			color: #FFF;
-			letter-spacing: 0.06em;
-			text-transform: uppercase;
-			font-size: 1.1em;
-		}
-
-		#nav a
-		{
-			text-decoration: none;
-			color: inherit;
-		}
-
-		#nav > ul > li > a,
-		#nav > ul > li > span
-		{
-			display: inline-block;
-			padding: 3px 0.5em 3px 0.5em;
-		}
-
-		#nav > ul > li:hover > a,
-		#nav > ul > li:hover > span
-		{
-			border-bottom: 3px solid #F0A833;
-			padding-bottom: 0px;
-		}
-
-		#nav li.current a
-		{
-			font-weight: 500;
-		}
-
-/*
-		#nav > ul > li.home
-		{
-			display: block;
-			float: left;
-		}
-*/
-
-		#nav > ul > li > ul
-		{
-			display: none;
-		}
-
-
-/* Colorbox customization */
-
-	body #cboxTitle { height: 50px; bottom: 24px; color: #000000; text-align: left; }
-	body #cboxMiddleLeft, body #cboxMiddleRight, body #cboxContent { padding-bottom: 50px; box-sizing: content-box; }
+	}
+
+	body,input,textarea,select
+	{
+	}
+
+	.homepage h1
+	{
+		font-size: 7em;
+		letter-spacing: -0.05em;
+	}
+
+	.homepage h2
+	{
+		font-size: 2.2em;
+	}
+
+	h1
+	{
+		font-size: 3em;
+	}
+
+	header
+	{
+		margin-bottom: 2em;
+	}
+	
+		header .byline
+		{
+			font-size: 1.7em;
+		}
+
+/*********************************************************************************/
+/* Header                                                                        */
+/*********************************************************************************/
+
+	#header
+	{
+		padding: 5em 0 2em 0;
+	}
+
+/*********************************************************************************/
+/* Main                                                                          */
+/*********************************************************************************/
+
+	#main,#sidebar {
+		margin-top: 5em;
+	}
+
+	#sidebar h1
+	{
+		font-size: 2.4em;
+		letter-spacing: 0em;
+		line-height: 1.2em;
+		margin-top: -0.2em;
+	}
+
+/*********************************************************************************/
+/* Footer                                                                        */
+/*********************************************************************************/
+	
+	#footer
+	{
+		padding: 1em 0em;
+	}
+	
+	#footer-inner
+	{
+		width: 95%;
+		display: table;
+		margin: auto;
+	}
+
+	#footer ul
+	{
+		width: 25%;
+		display: table-cell;
+		padding-left: 2em;
+	}
+
+	#footer ul:first-child
+	{
+		padding-left: 0px;
+	}
+
+/*********************************************************************************/
+/* Featured                                                                      */
+/*********************************************************************************/
+	
+	#featured
+	{
+		padding: 3em 0em 1em 0em;
+	}
+	
+	#featured p
+	{
+		line-height: 1.5em;
+		font-size: 1.2em;
+	}
+	
+	.\31 u img { height:  6vw; }
+	.\32 u img { height: 12vw; }
+	.\33 u img { height: 18vw; }
+	.\34 u img { height: 24vw; }
+	.\36 u img { height: 36vw; }
+	.\37 u img { height: 42vw; }
+	.\38 u img { height: 48vw; }
+	.\39 u img { height: 54vw; }
+	.\31 0u img { height: 60vw; }
+	.\31 1u img { height: 66vw; }
+	.\31 2u img { height: 72vw; }
+	
+/*********************************************************************************/
+/* Horizontal menu                                                               */
+/*********************************************************************************/
+	.horiz-menu > ul
+	{
+		width: 100%;
+		margin: 0;
+		padding: 0;
+		display: table;
+		border-collapse: collapse;
+	}
+	.horiz-menu > ul > li
+	{
+		width: 25%;
+		border: 1px solid #000000;
+		display: table-cell;
+		color: #F03B11;
+	}
+	.horiz-menu > ul > li:hover
+	{
+		background: #FCECD4;
+		color: #802400;
+	}
+
+	.horiz-menu > ul > li > a
+	{
+		display: block;
+		padding: 1em;
+		border-bottom: 5px transparent;
+		white-space: nowrap;
+		color: inherit;
+	}
+	.horiz-menu > ul > li > a:hover
+	{
+		text-decoration: none;
+	}
+	.horiz-menu > ul > li.active > a
+	{
+		border-bottom: 5px #F03B11 solid;
+	}
+
+	.horiz-menu > ul > li.active > a:hover
+	{
+		border-bottom: 5px #802400 solid;
+	}
+
+	.horiz-menu > article
+	{
+		padding-top: 1em;
+		margin: 0;
+		display: none;
+	}
+
+	.horiz-menu > article.active
+	{
+		display: block;
+	}
+
+/*********************************************************************************/
+/* Nav                                                                           */
+/*********************************************************************************/
+
+	#titleBar
+	{
+		display: none !important;
+	}
+
+	#nav
+	{
+		display: block !important;
+		z-index: 2;
+		position: fixed;
+		background: #802400;
+		background: -webkit-linear-gradient(top, #802400 0%,#800800 100%);
+		background: linear-gradient(to bottom, #802400 0%,#800800 100%);
+		left: 0;
+		top: 0;
+		width: 100%;
+	}
+		
+		#nav > ul
+		{
+			text-align: right;
+			margin: 0;
+		}
+
+		#nav > ul > li
+		{
+			display: inline-block;
+			margin: 0;
+			padding: 0.5em 2em 0.5em 0em;
+			color: #FFF;
+			letter-spacing: 0.06em;
+			text-transform: uppercase;
+			font-size: 1.1em;
+		}
+
+		#nav a
+		{
+			text-decoration: none;
+			color: inherit;
+		}
+
+		#nav > ul > li > a,
+		#nav > ul > li > span
+		{
+			display: inline-block;
+			padding: 3px 0.5em 3px 0.5em;
+		}
+
+		#nav > ul > li:hover > a,
+		#nav > ul > li:hover > span
+		{
+			border-bottom: 3px solid #F0A833;
+			padding-bottom: 0px;
+		}
+
+		#nav li.current a
+		{
+			font-weight: 500;
+		}
+
+/*
+		#nav > ul > li.home
+		{
+			display: block;
+			float: left;
+		}
+*/
+
+		#nav > ul > li > ul
+		{
+			display: none;
+		}
+
+
+/* Colorbox customization */
+
+	body #cboxTitle { height: 50px; bottom: 24px; color: #000000; text-align: left; }
+	body #cboxMiddleLeft, body #cboxMiddleRight, body #cboxContent { padding-bottom: 50px; box-sizing: content-box; }
diff --git a/assets/css/style-mobile.css b/assets/css/style-mobile.css
index 9f2f033..8910e71 100644
--- a/assets/css/style-mobile.css
+++ b/assets/css/style-mobile.css
@@ -1,375 +1,375 @@
-/*
-	Linear by TEMPLATED
-    templated.co @templatedco
-    Released for free under the Creative Commons Attribution 3.0 license (templated.co/license)
-*/
-
-/*********************************************************************************/
-/* Grid                                                                          */
-/*********************************************************************************/
-
-	.row > * {
-		padding: 15px 0 0 0;
-		float: none;
-		margin-left: auto !important;
-		margin-right: auto !important;
-	}	
-	.row + .row > * {
-		padding-top: 15px;
-	}
-
-/*********************************************************************************/
-/* Basic                                                                         */
-/*********************************************************************************/
-
-	.only-desktop, .not-mobile
-	{
-		display: none !important;
-	}
-
-	body,input,textarea,select
-	{
-		line-height: 1.5em;
-		font-size: 10.5pt;
-		letter-spacing: 0;
-	}
-
-	body
-	{
-		background: url(../images/qemu_head_200_faint.png) no-repeat fixed center center;
-	}
-		body.homepage
-		{
-			background-position: center 200px;
-			background-attachment: scroll;
-		}
-		body.fixed
-		{
-			background-position: center 80px;
-			background-attachment: fixed;
-		}
-
-	#featured
-	{
-		padding-top: 250px;
-	}
-	@media (min-width:500px) {
-		body
-		{
-			background-image: url(../images/qemu_head_400_faint.png);
-		}
-		#featured
-		{
-			padding-top: 50px;
-		}
-	}
-
-	section,
-	article
-	{
-		clear: both;
-		margin: 2em 0 2em 0;
-	}
-
-	.container
-	{
-		padding: 0em 1em;
-	}
-
-	header
-	{
-		margin-bottom: 1.6em;
-	}
-	
-		header .byline
-		{
-			font-size: 1.2em;
-		}
-
-	.button
-	{
-		display: block;
-		width: 100%;
-		text-align: center;
-	}
-
-	.homepage h1
-	{
-		font-size: 3em;
-		padding-top: 0.6em;
-	}
-
-	h1, .homepage h2
-	{
-		font-size: 2em;
-	}
-
-	h2, .homepage h3
-	{
-		font-size: 1.6em;
-	}
-
-	h3, h4, h5, h6
-	{
-		font-size: 1.5em;
-	}
-
-/*********************************************************************************/
-/* UI                                                                            */
-/*********************************************************************************/
-
-	#titleBar
-	{
-		width: 100%;
-		background: #161616;
-		height: 44px;
-		overflow: hidden;
-		position: fixed;
-		margin-top: -44px;
-		z-index: 2;
-	}
-
-		body.js {
-			padding-top: 44px;
-		}
-
-		#titleBar .title
-		{
-			color: #fff;
-			text-align: center;
-			line-height: 44px;
-			font-weight: 300;
-			text-decoration: none;
-			display: block;
-			position: absolute;
-			left: 0;
-			top: 0;
-			width: 100%;
-			z-index: 1;
-		}
-		
-		button[aria-controls="nav"]
-		{
-			float: left;
-			position: relative;
-			left: 0;
-			top: 0;
-			width: 80px;
-			height: 44px;
-			cursor: pointer;
-			z-index: 2;
-			background: transparent;
-			border: 0px;
-			color: #808080;
-		}
-
-			button[aria-controls="nav"] > span.fa
-			{
-				width: 20px;
-				height: 12px;
-				position: absolute;
-				left: 12px;
-				top: 10px;
-			}
-
-			button[aria-controls="nav"]:active
-			{
-				color: #c0c0c0;
-			}
-	#nav
-	{
-		padding: 0em;
-		background: #1f1f1f;
-	}
-
-		#titleBar + #nav {
-			position: fixed;
-			margin-left: -80%;
-			width: 80%;
-			height: 100%;
-			z-index: 2;
-			left: 0;
-			top: 0;
-		}
-
-		#nav > ul 
-		{
-			margin: 0em;
-			padding: 0.3em;
-		}
-
-		#nav > ul > li
-		{
-			border-top: 1px solid white;
-			margin: 0;
-			padding: 0.3em;
-			color: #ffffff;
-		}
-
-		#nav > ul > li:first-child
-		{
-			border-top: 0px;
-		}
-	
-		#nav > ul > li > a,
-		#nav > ul > li > span
-		{
-			display: block;
-			padding: 0 1em 0 1em;
-			letter-spacing: 1px;
-			color: inherit;
-			text-align: left;
-		}
-		
-/*********************************************************************************/
-/* Header                                                                        */
-/*********************************************************************************/
-
-	#header {
-		height: 9em;
-	}
-
-	#header h1 {
-		margin-bottom: 0.2em;
-	}
-
-/*********************************************************************************/
-/* Logo                                                                          */
-/*********************************************************************************/
-
-
-/*********************************************************************************/
-/* Columns                                                                       */
-/*********************************************************************************/
-
-	#main, #footer-inner, #copyright-inner
-	{
-		margin-left: 0%;
-		width: 100%;
-	}
-
-	#sidebar
-	{
-		margin-left: 0%;
-		width: 100%;
-	}
-
-/*********************************************************************************/
-/* Main                                                                          */
-/*********************************************************************************/
-
-	#main
-	{
-		padding: 2em 0em 1em 0em;
-	}
-
-/*********************************************************************************/
-/* Sidebar                                                                       */
-/*********************************************************************************/
-	
-	#sidebar
-	{
-		clear: left;
-	}
-
-	#sidebar h1
-	{
-		font-size: 1.6em;
-	}
-	
-/*********************************************************************************/
-/* Footer                                                                        */
-/*********************************************************************************/
-	
-	#footer
-	{
-		padding: 1em;
-	}
-	
-	#footer ul
-	{
-		padding: 0.6em 0px;
-		border-top: 1px solid white;
-	}
-
-	#footer ul:first-child
-	{
-		border-top: 0px;
-	}
-	
-/*********************************************************************************/
-/* Featured                                                                      */
-/*********************************************************************************/
-	
-	#featured
-	{
-		padding-bottom: 3em;
-	}
-
-	#featured h3
-	{
-		padding: 0.5em 0em;
-		font-size: 1.4em;
-		margin: 0em;
-	}
-	#featured h3+p
-	{
-		margin-top: 0em;
-	}
-
-	#featured .pennant a
-	{
-		cursor: inherit;
-	}
-
-	#featured .pennant img
-	{
-		object-position: bottom;
-		background-position: bottom; /* for IE polyfill */
-	}
-	@media (orientation: landscape) {
-		#featured .pennant img
-		{
-			height: 70vh;
-		}
-	}
-
-/*********************************************************************************/
-/* Welcome                                                                       */
-/*********************************************************************************/
-	
-	#welcome
-	{
-		padding: 4em 0em 3em 0em;
-	}
-	
-/*********************************************************************************/
-/* Horizontal menu                                                               */
-/*********************************************************************************/
-	.horiz-menu > ul
-	{
-		display: none !important;
-	}
-	.horiz-menu > article
-	{
-		display: block !important;
-		border: 1px solid #000000;
-		padding: 1em;
-		margin-bottom: 1em;
-	}
-	.horiz-menu > article > header
-	{
-		display: block !important;
-	}
-	.horiz-menu pre
-	{
-		border: 0px;
-	}
-
-/*********************************************************************************/
-/* Releases                                                                      */
-/*********************************************************************************/
-
-	#releases ul > li {
-		width: 48%;
-	}
+/*
+	Linear by TEMPLATED
+    templated.co @templatedco
+    Released for free under the Creative Commons Attribution 3.0 license (templated.co/license)
+*/
+
+/*********************************************************************************/
+/* Grid                                                                          */
+/*********************************************************************************/
+
+	.row > * {
+		padding: 15px 0 0 0;
+		float: none;
+		margin-left: auto !important;
+		margin-right: auto !important;
+	}	
+	.row + .row > * {
+		padding-top: 15px;
+	}
+
+/*********************************************************************************/
+/* Basic                                                                         */
+/*********************************************************************************/
+
+	.only-desktop, .not-mobile
+	{
+		display: none !important;
+	}
+
+	body,input,textarea,select
+	{
+		line-height: 1.5em;
+		font-size: 10.5pt;
+		letter-spacing: 0;
+	}
+
+	body
+	{
+		background: url(../images/qemu_head_200_faint.png) no-repeat fixed center center;
+	}
+		body.homepage
+		{
+			background-position: center 200px;
+			background-attachment: scroll;
+		}
+		body.fixed
+		{
+			background-position: center 80px;
+			background-attachment: fixed;
+		}
+
+	#featured
+	{
+		padding-top: 250px;
+	}
+	@media (min-width:500px) {
+		body
+		{
+			background-image: url(../images/qemu_head_400_faint.png);
+		}
+		#featured
+		{
+			padding-top: 50px;
+		}
+	}
+
+	section,
+	article
+	{
+		clear: both;
+		margin: 2em 0 2em 0;
+	}
+
+	.container
+	{
+		padding: 0em 1em;
+	}
+
+	header
+	{
+		margin-bottom: 1.6em;
+	}
+	
+		header .byline
+		{
+			font-size: 1.2em;
+		}
+
+	.button
+	{
+		display: block;
+		width: 100%;
+		text-align: center;
+	}
+
+	.homepage h1
+	{
+		font-size: 3em;
+		padding-top: 0.6em;
+	}
+
+	h1, .homepage h2
+	{
+		font-size: 2em;
+	}
+
+	h2, .homepage h3
+	{
+		font-size: 1.6em;
+	}
+
+	h3, h4, h5, h6
+	{
+		font-size: 1.5em;
+	}
+
+/*********************************************************************************/
+/* UI                                                                            */
+/*********************************************************************************/
+
+	#titleBar
+	{
+		width: 100%;
+		background: #161616;
+		height: 44px;
+		overflow: hidden;
+		position: fixed;
+		margin-top: -44px;
+		z-index: 2;
+	}
+
+		body.js {
+			padding-top: 44px;
+		}
+
+		#titleBar .title
+		{
+			color: #fff;
+			text-align: center;
+			line-height: 44px;
+			font-weight: 300;
+			text-decoration: none;
+			display: block;
+			position: absolute;
+			left: 0;
+			top: 0;
+			width: 100%;
+			z-index: 1;
+		}
+		
+		button[aria-controls="nav"]
+		{
+			float: left;
+			position: relative;
+			left: 0;
+			top: 0;
+			width: 80px;
+			height: 44px;
+			cursor: pointer;
+			z-index: 2;
+			background: transparent;
+			border: 0px;
+			color: #808080;
+		}
+
+			button[aria-controls="nav"] > span.fa
+			{
+				width: 20px;
+				height: 12px;
+				position: absolute;
+				left: 12px;
+				top: 10px;
+			}
+
+			button[aria-controls="nav"]:active
+			{
+				color: #c0c0c0;
+			}
+	#nav
+	{
+		padding: 0em;
+		background: #1f1f1f;
+	}
+
+		#titleBar + #nav {
+			position: fixed;
+			margin-left: -80%;
+			width: 80%;
+			height: 100%;
+			z-index: 2;
+			left: 0;
+			top: 0;
+		}
+
+		#nav > ul 
+		{
+			margin: 0em;
+			padding: 0.3em;
+		}
+
+		#nav > ul > li
+		{
+			border-top: 1px solid white;
+			margin: 0;
+			padding: 0.3em;
+			color: #ffffff;
+		}
+
+		#nav > ul > li:first-child
+		{
+			border-top: 0px;
+		}
+	
+		#nav > ul > li > a,
+		#nav > ul > li > span
+		{
+			display: block;
+			padding: 0 1em 0 1em;
+			letter-spacing: 1px;
+			color: inherit;
+			text-align: left;
+		}
+		
+/*********************************************************************************/
+/* Header                                                                        */
+/*********************************************************************************/
+
+	#header {
+		height: 9em;
+	}
+
+	#header h1 {
+		margin-bottom: 0.2em;
+	}
+
+/*********************************************************************************/
+/* Logo                                                                          */
+/*********************************************************************************/
+
+
+/*********************************************************************************/
+/* Columns                                                                       */
+/*********************************************************************************/
+
+	#main, #footer-inner, #copyright-inner
+	{
+		margin-left: 0%;
+		width: 100%;
+	}
+
+	#sidebar
+	{
+		margin-left: 0%;
+		width: 100%;
+	}
+
+/*********************************************************************************/
+/* Main                                                                          */
+/*********************************************************************************/
+
+	#main
+	{
+		padding: 2em 0em 1em 0em;
+	}
+
+/*********************************************************************************/
+/* Sidebar                                                                       */
+/*********************************************************************************/
+	
+	#sidebar
+	{
+		clear: left;
+	}
+
+	#sidebar h1
+	{
+		font-size: 1.6em;
+	}
+	
+/*********************************************************************************/
+/* Footer                                                                        */
+/*********************************************************************************/
+	
+	#footer
+	{
+		padding: 1em;
+	}
+	
+	#footer ul
+	{
+		padding: 0.6em 0px;
+		border-top: 1px solid white;
+	}
+
+	#footer ul:first-child
+	{
+		border-top: 0px;
+	}
+	
+/*********************************************************************************/
+/* Featured                                                                      */
+/*********************************************************************************/
+	
+	#featured
+	{
+		padding-bottom: 3em;
+	}
+
+	#featured h3
+	{
+		padding: 0.5em 0em;
+		font-size: 1.4em;
+		margin: 0em;
+	}
+	#featured h3+p
+	{
+		margin-top: 0em;
+	}
+
+	#featured .pennant a
+	{
+		cursor: inherit;
+	}
+
+	#featured .pennant img
+	{
+		object-position: bottom;
+		background-position: bottom; /* for IE polyfill */
+	}
+	@media (orientation: landscape) {
+		#featured .pennant img
+		{
+			height: 70vh;
+		}
+	}
+
+/*********************************************************************************/
+/* Welcome                                                                       */
+/*********************************************************************************/
+	
+	#welcome
+	{
+		padding: 4em 0em 3em 0em;
+	}
+	
+/*********************************************************************************/
+/* Horizontal menu                                                               */
+/*********************************************************************************/
+	.horiz-menu > ul
+	{
+		display: none !important;
+	}
+	.horiz-menu > article
+	{
+		display: block !important;
+		border: 1px solid #000000;
+		padding: 1em;
+		margin-bottom: 1em;
+	}
+	.horiz-menu > article > header
+	{
+		display: block !important;
+	}
+	.horiz-menu pre
+	{
+		border: 0px;
+	}
+
+/*********************************************************************************/
+/* Releases                                                                      */
+/*********************************************************************************/
+
+	#releases ul > li {
+		width: 48%;
+	}
diff --git a/assets/css/style.css b/assets/css/style.css
index b828887..e09b383 100644
--- a/assets/css/style.css
+++ b/assets/css/style.css
@@ -1,592 +1,592 @@
-@charset 'UTF-8';
-/*
-	Linear by TEMPLATED
-    templated.co @templatedco
-    Released for free under the Creative Commons Attribution 3.0 license (templated.co/license)
-*/
-
-/*********************************************************************************/
-/* Basic                                                                         */
-/*********************************************************************************/
-
-	body
-	{
-		margin: 0;
-		padding: 0;
-		background: #ffffff;
-	}
-
-	body,input,textarea,select
-	{
-		font-family: 'Roboto', sans-serif;
-		font-size: 11pt;
-		font-weight: 300;
-		line-height: 1.75em;
-		color: #000000;
-	}
-
-	strong,b,a
-	{
-		font-weight: 400;
-	}
-	strong a,b a
-	{
-		font-weight: 500;
-	}
-	h1,.homepage h2
-	{
-		font-weight: 300;
-		color: black;
-	}
-	h2,h3,h4,h5,h6
-	{
-		font-weight: 400;
-		color: #802400;
-	}
-	
-	pre,code,samp,tt
-	{
-		font-family: 'Roboto Mono', monospace;
-	}
-	pre,code
-	{
-		background: rgba(0,0,0,0.05);
-	}
-
-	.homepage h1 {
-		margin: 0;
-	}
-
-		h1, .homepage h2
-		{
-			letter-spacing: -0.025em;
-			line-height: 1.025em;
-			margin-top: -0.125em;
-		}
-
-		h2, .homepage h3
-		{
-			font-size: 2em;
-		}
-	
-		h1 a, h2 a, h3 a, h4 a, h5 a, h6 a
-		{
-			color: inherit;
-			font-weight: inherit;
-		}
-	
-		h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover
-		{
-			text-decoration: none;
-		}
-		
-	pre
-	{
-               padding: 1em;
-               border: 1px #000000 solid;
-		max-width: 100%;
-		overflow-x: auto;
-	}
-
-	a
-	{
-		text-decoration: none;
-		color: #F03B11;
-	}
-	
-	a:hover
-	{
-		text-decoration: underline;
-	}
-
-	sub
-	{
-		position: relative;
-		top: 0.5em;
-		font-size: 0.8em;
-	}
-	
-	sup
-	{
-		position: relative;
-		top: -0.5em;
-		font-size: 0.8em;
-	}
-	
-	hr
-	{
-		border: 0;
-		border-top: solid 1px #333;
-		margin: 2em 0 2em 0;
-		padding: 0;
-	}
-	
-	blockquote
-	{
-		border-left: solid 0.5em #333;
-		padding: 1em 0 1em 2em;
-		font-style: italic;
-	}
-	
-	p, ul, ol, dl, table
-	{
-		margin-bottom: 1em;
-	}
-
-	header
-	{
-		margin-bottom: 1em;
-	}
-	
-		header h1, header h2, header h3, header h4, header h5, header h6
-		{
-			margin-bottom: 0em;
-		}
-
-		header .byline
-		{
-			display: block;
-			margin: 1.5em 0 0 0;
-			padding: 0 0 0.5em 0;
-		}
-		
-		.posted {
-			letter-spacing: 1px;
-			text-transform: uppercase;
-			font-size: 80%;
-			color: #999999;
-		}
-
-	footer
-	{
-		margin-top: 1em;
-	}
-
-	.clear
-	{
-		clear: both;
-	}
-
-	.pennant
-	{
-		color: #999999;
-	}
-
-	/* Sections/Articles */
-	
-		section,
-		article
-		{
-			margin-bottom: 3em;
-		}
-		
-		section > :last-child,
-		article > :last-child
-		{
-			margin-bottom: 0;
-		}
-
-		section:last-child,
-		article:last-child
-		{
-			margin-bottom: 0;
-		}
-
-		.row > section,
-		.row > article
-		{
-			margin-bottom: 0;
-		}
-
-	/* Images */
-
-		img {
-			max-width: 100%;
-		}
-
-		.image
-		{
-			display: inline-block;
-		}
-		
-			.image img
-			{
-				display: block;
-				width: 100%;
-			}
-
-			.image.featured
-			{
-				display: block;
-				width: 100%;
-				margin: 0 0 2em 0;
-			}
-			
-			.image.full
-			{
-				display: block;
-				width: 100%;
-				margin-bottom: 2em;
-			}
-			
-			.image.left
-			{
-				float: left;
-				margin: 0 2em 2em 0;
-			}
-			
-			.image.centered
-			{
-				display: block;
-				margin: 0 0 2em 0;
-			}
-
-				.image.centered img
-				{
-					margin: 0 auto;
-					width: auto;
-				}
-
-	/* Lists */
-
-		ul.style
-		{
-			margin-bottom: 0em;
-			padding: 0;
-		}
-		
-		ul.style li {
-			margin: 0;
-			padding: 0em 0em 1.5em 0em;
-			list-style: none;
-		}
-		
-		ul.category
-		{
-			margin: 0;
-			padding: 0;
-			letter-spacing: 1px;
-			text-transform: uppercase;
-			font-size: 80%;
-			color: #999999;
-		}
-
-		ul.category li {
-			display: inline;
-			margin: 0;
-			padding: 0;
-			list-style: none;
-			padding-right: 1em;
-		}
-		ul.category li::before {
-			padding-right: 0.3em;
-		}
-
-
-	/* Buttons */
-		
-	.button
-	{
-		position: relative;
-		display: inline-block;
-		background: #F03B11;
-		padding: 0.8em 2em;
-		font-size: 1.2em;
-		color: #FFF;
-		-moz-transition: color 0.35s ease-in-out, background-color 0.35s ease-in-out;
-		-webkit-transition: color 0.35s ease-in-out, background-color 0.35s ease-in-out;
-		-o-transition: color 0.35s ease-in-out, background-color 0.35s ease-in-out;
-		-ms-transition: color 0.35s ease-in-out, background-color 0.35s ease-in-out;
-		transition: color 0.35s ease-in-out, background-color 0.35s ease-in-out;
-		text-align: center;
-		border-radius: 0.25em;
-	}
-
-	.button:hover
-	{
-		background: #F01111;
-		text-decoration: none;
-	}
-
-/*********************************************************************************/
-/* Icons                                                                         */
-/* Powered by Font Awesome by Dave Gandy | http://fontawesome.io                 */
-/* Licensed under the SIL OFL 1.1 (font), MIT (CSS)                              */
-/*********************************************************************************/
-
-	.fa
-	{
-		text-decoration: none;
-	}
-
-		.fa.solo
-		{
-		}
-		
-			.fa.solo span
-			{
-				display: none;
-			}
-
-		.fa:before
-		{
-			display:inline-block;
-			font-family: FontAwesome;
-			font-size: 1.25em;
-			text-decoration: none;
-			font-style: normal;
-			font-weight: normal;
-			line-height: 1;
-			-webkit-font-smoothing:antialiased;
-			-moz-osx-font-smoothing:grayscale;
-		}
-
-/*********************************************************************************/
-/* Social Icon Styles                                                            */
-/*********************************************************************************/
-
-	ul.contact
-	{
-		padding: 1.5em 0 0 0;
-		list-style: none;
-		cursor: default;
-	}
-	
-	ul.contact li
-	{
-		display: inline-block;
-		margin: 0 1em;
-	}
-	
-	ul.contact li span
-	{
-		display: none;
-		margin: 0;
-		padding: 0;
-	}
-	
-	ul.contact li a
-	{
-		color: inherit;
-		font-size: 1.75em;
-		display: inline-block;
-		-moz-transition: color 0.35s ease-in-out, background-color 0.35s ease-in-out;
-		-webkit-transition: color 0.35s ease-in-out, background-color 0.35s ease-in-out;
-		-o-transition: color 0.35s ease-in-out, background-color 0.35s ease-in-out;
-		-ms-transition: color 0.35s ease-in-out, background-color 0.35s ease-in-out;
-		transition: color 0.35s ease-in-out, background-color 0.35s ease-in-out;
-	}
-	
-	ul.contact li a:hover
-	{
-		color: #fff;
-	}
-
-/*********************************************************************************/
-/* Header                                                                        */
-/*********************************************************************************/
-
-	#header
-	{
-		position: relative;
-		background: #f03b11;
-		background: -webkit-linear-gradient(top, #f03b11 0%,#f01139 100%);
-		background: linear-gradient(to bottom, #f03b11 0%,#f01139 100%);
-		background-size: cover;
-		text-align: center;
-	}
-	
-		#header:after
-		{
-			content: '';
-			position: relative;
-			width: 0;
-			height: 6em;
-			left: 0;
-			top: 0;
-			float: left;
-		}
-
-/*********************************************************************************/
-/* Logo                                                                          */
-/*********************************************************************************/
-
-		#header h1
-		{
-			color: #FFF;
-			text-decoration: none;
-			font-weight: 300;
-			line-height: 1em;
-		}
-		#header .tag
-		{
-			font-size: 1.4em;
-			color: #FFF;
-		}
-
-/*********************************************************************************/
-/* Columns                                                                       */
-/*********************************************************************************/
-
-	#main, #copyright-inner
-	{
-		margin-left: 16.667%;
-		width: 66.667%;
-	}
-
-	#sidebar
-	{
-		width: 16.667%;
-	}
-
-/*********************************************************************************/
-/* Main                                                                          */
-/*********************************************************************************/
-
-	#main
-	{
-		clear: left;
-	}
-
-	#main, #sidebar
-	{
-		position: relative;
-		float: left;
-		padding-bottom: 3em;
-	}
-	
-	.homepage header, .homepage p
-	{
-		text-align: center;
-	}
-	
-	#sidebar header
-	{
-		margin-bottom: 0.50em;
-	}
-
-/*********************************************************************************/
-/* Releases                                                                      */
-/*********************************************************************************/
-	#releases
-	{
-		margin: 2em 0em;
-		text-align: center;
-	}
-
-	#releases ul, #releases p
-	{
-		margin: 0em;
-	}
-	
-	#releases ul > li
-	{
-		list-style: none;
-		display: inline-block;
-		width: 40%;
-		margin: 1em 0em;
-	}
-
-	#releases ul > li > strong
-	{
-		list-style: none;
-		display: block;
-		font-size: 3em;
-		margin-bottom: 0.2em;
-	}
-
-/*********************************************************************************/
-/* Footer                                                                        */
-/*********************************************************************************/
-	
-	#footer
-	{
-		position: relative;
-		clear: left;
-		background: #401200;
-		color: #FFF;
-	}
-	
-	#footer a
-	{
-		color: inherit;
-	}
-	
-	#footer ul
-	{
-		vertical-align: top;
-	}
-
-	#footer ul, #footer ul > li
-	{
-		padding: 0;
-		margin: 0
-	}
-
-/*********************************************************************************/
-/* Copyright                                                                     */
-/*********************************************************************************/
-	
-	#copyright
-	{
-		clear: left;
-		border-top: 1px solid #aaaaaa;
-		position: relative;
-		color: #aaaaaa;
-		background: #ffffff;
-		padding: 1em 0em;
-	}
-	
-	#copyright a
-	{
-		color: inherit;
-	}
-	
-/*********************************************************************************/
-/* Featured                                                                      */
-/*********************************************************************************/
-	
-	#featured
-	{
-		position: relative;
-		background: rgba(0,0,0,0.05);
-		text-align: center;
-		margin-bottom: 2em;
-	}
-	
-	#featured header
-	{
-		border-bottom: 1px solid #333333;
-	}
-	#featured h2
-	{
-		margin-bottom: 0em;
-	}
-
-	#featured h3
-	{
-		padding: 1.5em 0em;
-		font-size: 1.6em;
-		display: block;
-		font-weight: 300;
-		height: 2em;
-		margin: 0em 0em 1em 0em;
-	}
-
-	#featured .pennant
-	{
-		font-size: 4em;
-	}
-
-	#featured .pennant img
-	{
-		width: 100%;
-		object-fit: contain;
-		background-size: contain; /* for IE polyfill */
-		background-repeat: no-repeat; /* for IE polyfill */
-	}
-
-	#featured .button
-	{
-		margin-top: 1.5em;
-	}
+@charset 'UTF-8';
+/*
+	Linear by TEMPLATED
+    templated.co @templatedco
+    Released for free under the Creative Commons Attribution 3.0 license (templated.co/license)
+*/
+
+/*********************************************************************************/
+/* Basic                                                                         */
+/*********************************************************************************/
+
+	body
+	{
+		margin: 0;
+		padding: 0;
+		background: #ffffff;
+	}
+
+	body,input,textarea,select
+	{
+		font-family: 'Roboto', sans-serif;
+		font-size: 11pt;
+		font-weight: 300;
+		line-height: 1.75em;
+		color: #000000;
+	}
+
+	strong,b,a
+	{
+		font-weight: 400;
+	}
+	strong a,b a
+	{
+		font-weight: 500;
+	}
+	h1,.homepage h2
+	{
+		font-weight: 300;
+		color: black;
+	}
+	h2,h3,h4,h5,h6
+	{
+		font-weight: 400;
+		color: #802400;
+	}
+	
+	pre,code,samp,tt
+	{
+		font-family: 'Roboto Mono', monospace;
+	}
+	pre,code
+	{
+		background: rgba(0,0,0,0.05);
+	}
+
+	.homepage h1 {
+		margin: 0;
+	}
+
+		h1, .homepage h2
+		{
+			letter-spacing: -0.025em;
+			line-height: 1.025em;
+			margin-top: -0.125em;
+		}
+
+		h2, .homepage h3
+		{
+			font-size: 2em;
+		}
+	
+		h1 a, h2 a, h3 a, h4 a, h5 a, h6 a
+		{
+			color: inherit;
+			font-weight: inherit;
+		}
+	
+		h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover
+		{
+			text-decoration: none;
+		}
+		
+	pre
+	{
+               padding: 1em;
+               border: 1px #000000 solid;
+		max-width: 100%;
+		overflow-x: auto;
+	}
+
+	a
+	{
+		text-decoration: none;
+		color: #F03B11;
+	}
+	
+	a:hover
+	{
+		text-decoration: underline;
+	}
+
+	sub
+	{
+		position: relative;
+		top: 0.5em;
+		font-size: 0.8em;
+	}
+	
+	sup
+	{
+		position: relative;
+		top: -0.5em;
+		font-size: 0.8em;
+	}
+	
+	hr
+	{
+		border: 0;
+		border-top: solid 1px #333;
+		margin: 2em 0 2em 0;
+		padding: 0;
+	}
+	
+	blockquote
+	{
+		border-left: solid 0.5em #333;
+		padding: 1em 0 1em 2em;
+		font-style: italic;
+	}
+	
+	p, ul, ol, dl, table
+	{
+		margin-bottom: 1em;
+	}
+
+	header
+	{
+		margin-bottom: 1em;
+	}
+	
+		header h1, header h2, header h3, header h4, header h5, header h6
+		{
+			margin-bottom: 0em;
+		}
+
+		header .byline
+		{
+			display: block;
+			margin: 1.5em 0 0 0;
+			padding: 0 0 0.5em 0;
+		}
+		
+		.posted {
+			letter-spacing: 1px;
+			text-transform: uppercase;
+			font-size: 80%;
+			color: #999999;
+		}
+
+	footer
+	{
+		margin-top: 1em;
+	}
+
+	.clear
+	{
+		clear: both;
+	}
+
+	.pennant
+	{
+		color: #999999;
+	}
+
+	/* Sections/Articles */
+	
+		section,
+		article
+		{
+			margin-bottom: 3em;
+		}
+		
+		section > :last-child,
+		article > :last-child
+		{
+			margin-bottom: 0;
+		}
+
+		section:last-child,
+		article:last-child
+		{
+			margin-bottom: 0;
+		}
+
+		.row > section,
+		.row > article
+		{
+			margin-bottom: 0;
+		}
+
+	/* Images */
+
+		img {
+			max-width: 100%;
+		}
+
+		.image
+		{
+			display: inline-block;
+		}
+		
+			.image img
+			{
+				display: block;
+				width: 100%;
+			}
+
+			.image.featured
+			{
+				display: block;
+				width: 100%;
+				margin: 0 0 2em 0;
+			}
+			
+			.image.full
+			{
+				display: block;
+				width: 100%;
+				margin-bottom: 2em;
+			}
+			
+			.image.left
+			{
+				float: left;
+				margin: 0 2em 2em 0;
+			}
+			
+			.image.centered
+			{
+				display: block;
+				margin: 0 0 2em 0;
+			}
+
+				.image.centered img
+				{
+					margin: 0 auto;
+					width: auto;
+				}
+
+	/* Lists */
+
+		ul.style
+		{
+			margin-bottom: 0em;
+			padding: 0;
+		}
+		
+		ul.style li {
+			margin: 0;
+			padding: 0em 0em 1.5em 0em;
+			list-style: none;
+		}
+		
+		ul.category
+		{
+			margin: 0;
+			padding: 0;
+			letter-spacing: 1px;
+			text-transform: uppercase;
+			font-size: 80%;
+			color: #999999;
+		}
+
+		ul.category li {
+			display: inline;
+			margin: 0;
+			padding: 0;
+			list-style: none;
+			padding-right: 1em;
+		}
+		ul.category li::before {
+			padding-right: 0.3em;
+		}
+
+
+	/* Buttons */
+		
+	.button
+	{
+		position: relative;
+		display: inline-block;
+		background: #F03B11;
+		padding: 0.8em 2em;
+		font-size: 1.2em;
+		color: #FFF;
+		-moz-transition: color 0.35s ease-in-out, background-color 0.35s ease-in-out;
+		-webkit-transition: color 0.35s ease-in-out, background-color 0.35s ease-in-out;
+		-o-transition: color 0.35s ease-in-out, background-color 0.35s ease-in-out;
+		-ms-transition: color 0.35s ease-in-out, background-color 0.35s ease-in-out;
+		transition: color 0.35s ease-in-out, background-color 0.35s ease-in-out;
+		text-align: center;
+		border-radius: 0.25em;
+	}
+
+	.button:hover
+	{
+		background: #F01111;
+		text-decoration: none;
+	}
+
+/*********************************************************************************/
+/* Icons                                                                         */
+/* Powered by Font Awesome by Dave Gandy | http://fontawesome.io                 */
+/* Licensed under the SIL OFL 1.1 (font), MIT (CSS)                              */
+/*********************************************************************************/
+
+	.fa
+	{
+		text-decoration: none;
+	}
+
+		.fa.solo
+		{
+		}
+		
+			.fa.solo span
+			{
+				display: none;
+			}
+
+		.fa:before
+		{
+			display:inline-block;
+			font-family: FontAwesome;
+			font-size: 1.25em;
+			text-decoration: none;
+			font-style: normal;
+			font-weight: normal;
+			line-height: 1;
+			-webkit-font-smoothing:antialiased;
+			-moz-osx-font-smoothing:grayscale;
+		}
+
+/*********************************************************************************/
+/* Social Icon Styles                                                            */
+/*********************************************************************************/
+
+	ul.contact
+	{
+		padding: 1.5em 0 0 0;
+		list-style: none;
+		cursor: default;
+	}
+	
+	ul.contact li
+	{
+		display: inline-block;
+		margin: 0 1em;
+	}
+	
+	ul.contact li span
+	{
+		display: none;
+		margin: 0;
+		padding: 0;
+	}
+	
+	ul.contact li a
+	{
+		color: inherit;
+		font-size: 1.75em;
+		display: inline-block;
+		-moz-transition: color 0.35s ease-in-out, background-color 0.35s ease-in-out;
+		-webkit-transition: color 0.35s ease-in-out, background-color 0.35s ease-in-out;
+		-o-transition: color 0.35s ease-in-out, background-color 0.35s ease-in-out;
+		-ms-transition: color 0.35s ease-in-out, background-color 0.35s ease-in-out;
+		transition: color 0.35s ease-in-out, background-color 0.35s ease-in-out;
+	}
+	
+	ul.contact li a:hover
+	{
+		color: #fff;
+	}
+
+/*********************************************************************************/
+/* Header                                                                        */
+/*********************************************************************************/
+
+	#header
+	{
+		position: relative;
+		background: #f03b11;
+		background: -webkit-linear-gradient(top, #f03b11 0%,#f01139 100%);
+		background: linear-gradient(to bottom, #f03b11 0%,#f01139 100%);
+		background-size: cover;
+		text-align: center;
+	}
+	
+		#header:after
+		{
+			content: '';
+			position: relative;
+			width: 0;
+			height: 6em;
+			left: 0;
+			top: 0;
+			float: left;
+		}
+
+/*********************************************************************************/
+/* Logo                                                                          */
+/*********************************************************************************/
+
+		#header h1
+		{
+			color: #FFF;
+			text-decoration: none;
+			font-weight: 300;
+			line-height: 1em;
+		}
+		#header .tag
+		{
+			font-size: 1.4em;
+			color: #FFF;
+		}
+
+/*********************************************************************************/
+/* Columns                                                                       */
+/*********************************************************************************/
+
+	#main, #copyright-inner
+	{
+		margin-left: 16.667%;
+		width: 66.667%;
+	}
+
+	#sidebar
+	{
+		width: 16.667%;
+	}
+
+/*********************************************************************************/
+/* Main                                                                          */
+/*********************************************************************************/
+
+	#main
+	{
+		clear: left;
+	}
+
+	#main, #sidebar
+	{
+		position: relative;
+		float: left;
+		padding-bottom: 3em;
+	}
+	
+	.homepage header, .homepage p
+	{
+		text-align: center;
+	}
+	
+	#sidebar header
+	{
+		margin-bottom: 0.50em;
+	}
+
+/*********************************************************************************/
+/* Releases                                                                      */
+/*********************************************************************************/
+	#releases
+	{
+		margin: 2em 0em;
+		text-align: center;
+	}
+
+	#releases ul, #releases p
+	{
+		margin: 0em;
+	}
+	
+	#releases ul > li
+	{
+		list-style: none;
+		display: inline-block;
+		width: 40%;
+		margin: 1em 0em;
+	}
+
+	#releases ul > li > strong
+	{
+		list-style: none;
+		display: block;
+		font-size: 3em;
+		margin-bottom: 0.2em;
+	}
+
+/*********************************************************************************/
+/* Footer                                                                        */
+/*********************************************************************************/
+	
+	#footer
+	{
+		position: relative;
+		clear: left;
+		background: #401200;
+		color: #FFF;
+	}
+	
+	#footer a
+	{
+		color: inherit;
+	}
+	
+	#footer ul
+	{
+		vertical-align: top;
+	}
+
+	#footer ul, #footer ul > li
+	{
+		padding: 0;
+		margin: 0
+	}
+
+/*********************************************************************************/
+/* Copyright                                                                     */
+/*********************************************************************************/
+	
+	#copyright
+	{
+		clear: left;
+		border-top: 1px solid #aaaaaa;
+		position: relative;
+		color: #aaaaaa;
+		background: #ffffff;
+		padding: 1em 0em;
+	}
+	
+	#copyright a
+	{
+		color: inherit;
+	}
+	
+/*********************************************************************************/
+/* Featured                                                                      */
+/*********************************************************************************/
+	
+	#featured
+	{
+		position: relative;
+		background: rgba(0,0,0,0.05);
+		text-align: center;
+		margin-bottom: 2em;
+	}
+	
+	#featured header
+	{
+		border-bottom: 1px solid #333333;
+	}
+	#featured h2
+	{
+		margin-bottom: 0em;
+	}
+
+	#featured h3
+	{
+		padding: 1.5em 0em;
+		font-size: 1.6em;
+		display: block;
+		font-weight: 300;
+		height: 2em;
+		margin: 0em 0em 1em 0em;
+	}
+
+	#featured .pennant
+	{
+		font-size: 4em;
+	}
+
+	#featured .pennant img
+	{
+		width: 100%;
+		object-fit: contain;
+		background-size: contain; /* for IE polyfill */
+		background-repeat: no-repeat; /* for IE polyfill */
+	}
+
+	#featured .button
+	{
+		margin-top: 1.5em;
+	}
diff --git a/index.html b/index.html
index 1de3fe3..4c65101 100644
--- a/index.html
+++ b/index.html
@@ -1,89 +1,89 @@
----
-title: QEMU
-layout: home
-colorbox: True
----
-	<!-- Header -->
-	<div id="header">
-		<div class="container">
-			<h1>QEMU</h1>
-			<span class="tag">the FAST! processor emulator</span>
-		</div>
-	</div>
-	
-<!-- Featured -->
-<div id="featured">
-	<div class="container">
-		<header>
-			<h2>What is QEMU?</h2>
-			<p>QEMU is a generic and open source machine emulator and virtualizer.</p>
-		</header>
-		<div class="row">
-			<section class="4u">
-				<div class="pennant">{% include screenshot.html offset=0 limit=1 %}</div>
-				<h3>Full-system<br class="only-desktop"> emulation</h3>
-				<p>Run operating systems for any machine, on any supported architecture</p>
-			</section>
-			<section class="4u">
-				<div class="pennant">{% include screenshot.html offset=1 limit=1 %}</div>
-				<h3>User-mode<br class="only-desktop"> emulation</h3>
-				<p>Run programs for another Linux/BSD target, on any supported architecture</p>
-			</section>
-			<section class="4u">
-				<div class="pennant">{% include screenshot.html offset=2 limit=1 %}</div>
-				<h3>Virtualization</h3>
-				<p>Run KVM and Xen virtual machines with near native performance</p>
-			</section>
-			<section style="display: none;">
-			{% include screenshot.html offset=3 limit=10 %}
-			</section>
-
-<script src="/assets/js/object-fit.js"></script>
-<script>
-window.hasColorBox = false;
-$(window).on("load resize", function() {
-    isMobile = window.innerWidth < 700;
-    if (isMobile && window.hasColorBox) {
-        window.hasColorBox = false;
-        $.colorbox.remove();
-    } else if (!isMobile && !window.hasColorBox) {
-	window.hasColorBox = true;
-	$('.colorbox').colorbox({
-            'rel': '.colorbox',
-            'title': function() { return $(this).attr("data-title"); }
-        });
-    }
-});
-// make links to images inactive, except through the colorbox
-$('.colorbox').on("click.random-namespace", function() {
-    return window.hasColorBox;
-})
-</script>
-
-		</div>
-		<hr>
-		<p>QEMU is a member of <a href="/conservancy/">Software Freedom Conservancy</a>.</p>
-	</div>
-</div>
-
-<!-- Main -->
-	<div id="releases">
-		<header>
-			<h2>Latest releases</h2>
-		</header>
-		<div class="container">
-			{% include releases.html %}
-		</div>
-	</div>
-
-
-<script>
-	$(window).on("scroll", function() {
-		isScroll = window.scrollY < 120;
-		jqBody = $('body');
-		if (isScroll && jqBody.hasClass('fixed'))
-			jqBody.removeClass('fixed')
-		else if (!isScroll && !jqBody.hasClass('fixed'))
-			jqBody.addClass('fixed')
-       });
-       </script>
+---
+title: QEMU
+layout: home
+colorbox: True
+---
+	<!-- Header -->
+	<div id="header">
+		<div class="container">
+			<h1>QEMU</h1>
+			<span class="tag">the FAST! processor emulator</span>
+		</div>
+	</div>
+	
+<!-- Featured -->
+<div id="featured">
+	<div class="container">
+		<header>
+			<h2>What is QEMU?</h2>
+			<p>QEMU is a generic and open source machine emulator and virtualizer.</p>
+		</header>
+		<div class="row">
+			<section class="4u">
+				<div class="pennant">{% include screenshot.html offset=0 limit=1 %}</div>
+				<h3>Full-system<br class="only-desktop"> emulation</h3>
+				<p>Run operating systems for any machine, on any supported architecture</p>
+			</section>
+			<section class="4u">
+				<div class="pennant">{% include screenshot.html offset=1 limit=1 %}</div>
+				<h3>User-mode<br class="only-desktop"> emulation</h3>
+				<p>Run programs for another Linux/BSD target, on any supported architecture</p>
+			</section>
+			<section class="4u">
+				<div class="pennant">{% include screenshot.html offset=2 limit=1 %}</div>
+				<h3>Virtualization</h3>
+				<p>Run KVM and Xen virtual machines with near native performance</p>
+			</section>
+			<section style="display: none;">
+			{% include screenshot.html offset=3 limit=10 %}
+			</section>
+
+<script src="/assets/js/object-fit.js"></script>
+<script>
+window.hasColorBox = false;
+$(window).on("load resize", function() {
+    isMobile = window.innerWidth < 700;
+    if (isMobile && window.hasColorBox) {
+        window.hasColorBox = false;
+        $.colorbox.remove();
+    } else if (!isMobile && !window.hasColorBox) {
+	window.hasColorBox = true;
+	$('.colorbox').colorbox({
+            'rel': '.colorbox',
+            'title': function() { return $(this).attr("data-title"); }
+        });
+    }
+});
+// make links to images inactive, except through the colorbox
+$('.colorbox').on("click.random-namespace", function() {
+    return window.hasColorBox;
+})
+</script>
+
+		</div>
+		<hr>
+		<p>QEMU is a member of <a href="/conservancy/">Software Freedom Conservancy</a>.</p>
+	</div>
+</div>
+
+<!-- Main -->
+	<div id="releases">
+		<header>
+			<h2>Latest releases</h2>
+		</header>
+		<div class="container">
+			{% include releases.html %}
+		</div>
+	</div>
+
+
+<script>
+	$(window).on("scroll", function() {
+		isScroll = window.scrollY < 120;
+		jqBody = $('body');
+		if (isScroll && jqBody.hasClass('fixed'))
+			jqBody.removeClass('fixed')
+		else if (!isScroll && !jqBody.hasClass('fixed'))
+			jqBody.addClass('fixed')
+       });
+       </script>
-- 
2.26.2



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [qemu-web PATCH 2/7] gitlab: introduce a CI job to publish the site content
  2020-10-23 15:29 [qemu-web PATCH 0/7] Tweaks to page footer and add "edit page" links Daniel P. Berrangé
  2020-10-23 15:29 ` [qemu-web PATCH 1/7] Convert files to UNIX line endings Daniel P. Berrangé
@ 2020-10-23 15:29 ` Daniel P. Berrangé
  2020-10-23 15:29 ` [qemu-web PATCH 3/7] make all links be relative to the root Daniel P. Berrangé
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 15+ messages in thread
From: Daniel P. Berrangé @ 2020-10-23 15:29 UTC (permalink / raw)
  To: qemu-devel; +Cc: Paolo Bonzini, Thomas Huth, Daniel P. Berrangé

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
 .gitlab-ci.yml | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)
 create mode 100644 .gitlab-ci.yml

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000..5fa3041
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,16 @@
+
+pages:
+  image: centos:8
+  cache:
+    paths:
+      - vendor
+  before_script:
+    - dnf install -y ruby ruby-devel rubygem-bundler openssl-devel
+    - dnf install -y gcc gcc-c++ make redhat-rpm-config
+    - bundle install --path vendor
+  script:
+    - bundle exec jekyll build
+    - mv _site public
+  artifacts:
+    paths:
+     - public
-- 
2.26.2



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [qemu-web PATCH 3/7] make all links be relative to the root
  2020-10-23 15:29 [qemu-web PATCH 0/7] Tweaks to page footer and add "edit page" links Daniel P. Berrangé
  2020-10-23 15:29 ` [qemu-web PATCH 1/7] Convert files to UNIX line endings Daniel P. Berrangé
  2020-10-23 15:29 ` [qemu-web PATCH 2/7] gitlab: introduce a CI job to publish the site content Daniel P. Berrangé
@ 2020-10-23 15:29 ` Daniel P. Berrangé
  2020-10-23 15:29 ` [qemu-web PATCH 4/7] Make page header nav narrower Daniel P. Berrangé
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 15+ messages in thread
From: Daniel P. Berrangé @ 2020-10-23 15:29 UTC (permalink / raw)
  To: qemu-devel; +Cc: Paolo Bonzini, Thomas Huth, Daniel P. Berrangé

This enables the site to be hosted at URLs with different base
directories. This is useful when viewing the site after being
published as GitLab CI artifacts.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
 _includes/assets.html        | 28 ++++++++++++++--------------
 _includes/copyright.html     |  2 +-
 _includes/footer.html        | 12 ++++++------
 _includes/nav.html           | 12 ++++++------
 _includes/relative_root.html | 12 ++++++++++++
 _includes/sidebar.html       |  6 +++---
 _layouts/archive.html        |  4 ++--
 _layouts/blog.html           |  3 ++-
 _layouts/home.html           |  1 +
 _layouts/page.html           |  1 +
 blog/index.html              |  4 ++--
 index.html                   |  4 ++--
 12 files changed, 52 insertions(+), 37 deletions(-)
 create mode 100644 _includes/relative_root.html

diff --git a/_includes/assets.html b/_includes/assets.html
index 826a50f..411a1ac 100644
--- a/_includes/assets.html
+++ b/_includes/assets.html
@@ -4,23 +4,23 @@
 	<meta name="viewport" content="width=device-width">
 	<link href='https://fonts.googleapis.com/css?family=Roboto+Mono:300,400%7cRoboto:300,400,500' rel='stylesheet' type='text/css'>
 
-	<link rel="apple-touch-icon" sizes="180x180" href="/assets/favicons/apple-touch-icon.png">
-	<link rel="icon" type="image/png" sizes="32x32" href="/assets/favicons/favicon-32x32.png">
-	<link rel="icon" type="image/png" sizes="16x16" href="/assets/favicons/favicon-16x16.png">
-	<link rel="manifest" href="/assets/favicons/manifest.json">
-	<link rel="mask-icon" href="/assets/favicons/safari-pinned-tab.svg" color="#5bbad5">
-	<meta name="msapplication-config" content="/assets/favicons/browserconfig.xml">
+	<link rel="apple-touch-icon" sizes="180x180" href="{{ relative_root }}/assets/favicons/apple-touch-icon.png">
+	<link rel="icon" type="image/png" sizes="32x32" href="{{ relative_root }}/assets/favicons/favicon-32x32.png">
+	<link rel="icon" type="image/png" sizes="16x16" href="{{ relative_root }}/assets/favicons/favicon-16x16.png">
+	<link rel="manifest" href="{{ relative_root }}/assets/favicons/manifest.json">
+	<link rel="mask-icon" href="{{ relative_root }}/assets/favicons/safari-pinned-tab.svg" color="#5bbad5">
+	<meta name="msapplication-config" content="{{ relative_root }}/assets/favicons/browserconfig.xml">
 	<meta name="theme-color" content="#ffffff">
 
-	<link rel="stylesheet" href="/assets/css/normalize.css" />
+	<link rel="stylesheet" href="{{ relative_root }}/assets/css/normalize.css" />
 	<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css" />
-	<link rel="stylesheet" href="/assets/css/skel-noscript.css" />
-	<link rel="stylesheet" href="/assets/css/style.css" />
-	<link rel="stylesheet" href="/assets/css/style-mobile.css" media="(max-width:699px)"/>
-	<link rel="stylesheet" href="/assets/css/style-desktop.css" media="(min-width:700px)" />
-	<link rel="alternate" title="QEMU Blog (Atom feed)" href="/feed.xml" type="application/atom+xml" />
+	<link rel="stylesheet" href="{{ relative_root }}/assets/css/skel-noscript.css" />
+	<link rel="stylesheet" href="{{ relative_root }}/assets/css/style.css" />
+	<link rel="stylesheet" href="{{ relative_root }}/assets/css/style-mobile.css" media="(max-width:699px)"/>
+	<link rel="stylesheet" href="{{ relative_root }}/assets/css/style-desktop.css" media="(min-width:700px)" />
+	<link rel="alternate" title="QEMU Blog (Atom feed)" href="{{ relative_root }}/feed.xml" type="application/atom+xml" />
 	<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
 	{% if page.colorbox %}
-	<script src="/assets/js/jquery.colorbox.js"></script>
-	<link rel="stylesheet" href="/assets/css/colorbox.css" />
+	<script src="{{ relative_root }}/assets/js/jquery.colorbox.js"></script>
+	<link rel="stylesheet" href="{{ relative_root }}/assets/css/colorbox.css" />
 	{% endif %}
diff --git a/_includes/copyright.html b/_includes/copyright.html
index 3e6e6a3..cdcd98f 100644
--- a/_includes/copyright.html
+++ b/_includes/copyright.html
@@ -2,7 +2,7 @@
 	<div id="copyright-inner">
 	  <div class="container">
 	    This site is made available under the terms of
-	    <a href="/license.html">a number of licenses</a>.
+	    <a href="{{ relative_root }}/license.html">a number of licenses</a>.
 	  </div>
 	</div>
 </div>
diff --git a/_includes/footer.html b/_includes/footer.html
index c8f1042..b614795 100644
--- a/_includes/footer.html
+++ b/_includes/footer.html
@@ -1,20 +1,20 @@
 <div id="footer">
 	<div id="footer-inner">
 		<ul class="style">
-			<li><a href="/">Home</a></li>
-			<li><a href="/download">Download</a></li>
-			<li><a href="/conservancy/">Conservancy / Committee</a></li>
+			<li><a href="{{ relative_root }}/">Home</a></li>
+			<li><a href="{{ relative_root }}/download">Download</a></li>
+			<li><a href="{{ relative_root }}/conservancy/">Conservancy / Committee</a></li>
 			<li><a href="http://qemu-advent-calendar.org">QEMU advent calendar</a></li>
 		</ul>
 		<ul class="style">
-			<li><a href="/contribute">Contribute</a></li>
-			<li><a href="/contribute/report-a-bug">Reporting a bug</a></li>
+			<li><a href="{{ relative_root }}/contribute">Contribute</a></li>
+			<li><a href="{{ relative_root }}/contribute/report-a-bug">Reporting a bug</a></li>
 			<li><a href="https://wiki.qemu.org/Documentation/GettingStartedDevelopers">New contributors</a></li>
 			<li><a href="https://wiki.qemu.org/Contribute/SubmitAPatch">Submitting a patch</a></li>
 			<li><a href="https://wiki.qemu.org/Contribute/FAQ">Contributor FAQ</a></li>
 		</ul>
 		<ul class="style">
-			<li><a href="/documentation">Documentation</a></li>
+			<li><a href="{{ relative_root }}/documentation">Documentation</a></li>
 			<li><a href="https://www.qemu.org/docs/master/">Main docs</a></li>
 			<li><a href="https://wiki.qemu.org/Category:Developer_documentation">Developer docs</a></li>
 			<li><a href="https://wiki.qemu.org/">Wiki</a></li>
diff --git a/_includes/nav.html b/_includes/nav.html
index 0c81e24..58b6c5a 100644
--- a/_includes/nav.html
+++ b/_includes/nav.html
@@ -2,12 +2,12 @@
 	<nav id="nav">
 		<ul>
 			{% assign current = page.url | downcase | split: '/' %}
-			<li class='{% if page.url == '/' %}not-desktop {%endif %}home'><a href="/">Home</a>
-			</li><li {% if current[1] == 'download' %}class='current'{% endif %}><a href="/download">Download</a>
-			</li><li {% if current[1] == 'support' %}class='current'{% endif %}><a href="/support">Support</a>
-			</li><li {% if current[1] == 'contribute' %}class='current'{% endif %}><a href="/contribute">Contribute</a>
-			</li><li {% if current[1] == 'documentation' %}class='current'{% endif %}><a href="/documentation">Documentation</a>
-			</li><li {% if current[1] == 'blog' %}class='current'{% endif %}><a href="/blog">Blog</a></li>
+			<li class='{% if page.url == '/' %}not-desktop {%endif %}home'><a href="{{ relative_root }}/">Home</a>
+			</li><li {% if current[1] == 'download' %}class='current'{% endif %}><a href="{{ relative_root }}/download">Download</a>
+			</li><li {% if current[1] == 'support' %}class='current'{% endif %}><a href="{{ relative_root }}/support">Support</a>
+			</li><li {% if current[1] == 'contribute' %}class='current'{% endif %}><a href="{{ relative_root }}/contribute">Contribute</a>
+			</li><li {% if current[1] == 'documentation' %}class='current'{% endif %}><a href="{{ relative_root }}/documentation">Documentation</a>
+			</li><li {% if current[1] == 'blog' %}class='current'{% endif %}><a href="{{ relative_root }}/blog">Blog</a></li>
 		</ul>
 	</nav>
 
diff --git a/_includes/relative_root.html b/_includes/relative_root.html
new file mode 100644
index 0000000..87c30e2
--- /dev/null
+++ b/_includes/relative_root.html
@@ -0,0 +1,12 @@
+{% assign relative_root = '' %}
+{% assign tempDepth = page.url | append: 'hackish-solution' | split: '/' | size | minus: 2 %}
+{% for i in (1..tempDepth) %}
+  {% if forloop.last %}
+    {% assign relative_root = relative_root | append: ".." %}
+  {% else %}
+    {% assign relative_root = relative_root | append: "../" %}
+  {% endif %}
+{% endfor %}
+{% if relative_root == '' %}
+    {% assign relative_root = '.' %}
+{% endif %}
diff --git a/_includes/sidebar.html b/_includes/sidebar.html
index 0dc3538..f0cec2a 100644
--- a/_includes/sidebar.html
+++ b/_includes/sidebar.html
@@ -9,7 +9,7 @@
 		<ul class="style">
 		{% for post in site.posts offset: 0 limit: 2 %}
 			<li>
-				<a href="{{ site.prefix }}{{ post.url }}">{{ post.title }}</a><br/>
+				<a href="{{ relative_root }}{{ post.url }}">{{ post.title }}</a><br/>
 				<span class="posted">{{ post.date | date_to_string }}</span>
 			</li>
 		{% endfor %}
@@ -31,12 +31,12 @@
 		{% assign thisurl = post.date | date: "%Y/%m" %}
 		{% assign thisdate = post.date | date: "%B %Y" %}
 		{% if thisurl != prevurl and prevurl != "" %}
-		<li><a href="/blog/{{ prevurl }}/">{{ prevdate }} ({{ counter }})</a></li>
+		<li><a href="{{ relative_root }}/blog/{{ prevurl }}/">{{ prevdate }} ({{ counter }})</a></li>
 		{% assign counter = 0 %}
 		{% endif %}
 		{% assign counter = counter | plus: 1 %}
 		{% endfor %}
-		<li><a href="/blog/{{ thisurl }}/">{{ thisdate }} ({{ counter }})</a></li>
+		<li><a href="{{ relative_root }}/blog/{{ thisurl }}/">{{ thisdate }} ({{ counter }})</a></li>
 		</ul>
 	</section>
 </div>
diff --git a/_layouts/archive.html b/_layouts/archive.html
index 4e67749..a0be7b8 100644
--- a/_layouts/archive.html
+++ b/_layouts/archive.html
@@ -9,13 +9,13 @@ layout: blog
 		{% for post in page.posts %}
 		<article>
 			<header>
-				<h2><a href="{{ site.prefix }}{{ post.url }}">{{ post.title }}</a></h2>
+				<h2><a href="../../..{{ post.url }}">{{ post.title }}</a></h2>
 				<div class="posted">{{ post.date | date_to_string }}{%
 				if post.last_modified_at %} (Updated {{ post.last_modified_at | date_to_string }}) {%
 				endif %}{% if post.author %} &mdash; by {{ post.author }}{% endif %}</div>
 			</header>
 		{{ post.excerpt }}
-		<a href="{{ site.prefix }}{{ post.url }}" class="button button-style1">Read More</a>
+		<a href="../../..{{ post.url }}" class="button button-style1">Read More</a>
 		</article>
 		{% endfor %}
 	</section>
diff --git a/_layouts/blog.html b/_layouts/blog.html
index 2dfb9c8..b300636 100644
--- a/_layouts/blog.html
+++ b/_layouts/blog.html
@@ -3,7 +3,8 @@
 Linear by TEMPLATED
 templated.co @templatedco
 Released for free under the Creative Commons Attribution 3.0 license (templated.co/license)
--->
+  -->
+{% include relative_root.html %}
 <html>
 <head>
 	<title>{{ page.title }} - {{ site.title }}</title>
diff --git a/_layouts/home.html b/_layouts/home.html
index b96e391..d94c9b0 100644
--- a/_layouts/home.html
+++ b/_layouts/home.html
@@ -4,6 +4,7 @@ Linear by TEMPLATED
 templated.co @templatedco
 Released for free under the Creative Commons Attribution 3.0 license (templated.co/license)
 -->
+{% include relative_root.html %}
 <html>
 <head>
 	<title>{{ site.title }}</title>
diff --git a/_layouts/page.html b/_layouts/page.html
index 110ca97..d650054 100644
--- a/_layouts/page.html
+++ b/_layouts/page.html
@@ -4,6 +4,7 @@ Linear by TEMPLATED
 templated.co @templatedco
 Released for free under the Creative Commons Attribution 3.0 license (templated.co/license)
 -->
+{% include relative_root.html %}
 <html>
 <head>
 	<title>{{ page.title }} - {{ site.title }}</title>
diff --git a/blog/index.html b/blog/index.html
index 313b994..c7ceb0a 100644
--- a/blog/index.html
+++ b/blog/index.html
@@ -8,7 +8,7 @@ layout: blog
 	<div class="row">
 		<section>
 			<header>
-				<h1><a href="{{ site.prefix }}{{ post.url }}">{{ post.title }}</a></h1>
+				<h1><a href="{{ relative_root }}{{ post.url }}">{{ post.title }}</a></h1>
 				<div class="posted">{{ post.date | date_to_string }}{%
 				if post.last_modified_at %} (Updated {{ post.last_modified_at | date_to_string }}) {%
 				endif %}{% if post.author %} &mdash; by {{ post.author }}{% endif %}</div>
@@ -22,7 +22,7 @@ layout: blog
 				</ul>
 			{% else %}
 				{{ post.excerpt }}
-				<a href="{{ site.prefix }}{{ post.url }}" class="button button-style1">Read More</a>
+				<a href="{{ relative_root }}{{ post.url }}" class="button button-style1">Read More</a>
 			{% endif %}
 		</section>
 	</div>
diff --git a/index.html b/index.html
index 4c65101..ca2f7e9 100644
--- a/index.html
+++ b/index.html
@@ -38,7 +38,7 @@ colorbox: True
 			{% include screenshot.html offset=3 limit=10 %}
 			</section>
 
-<script src="/assets/js/object-fit.js"></script>
+<script src="{{ relative_root }}/assets/js/object-fit.js"></script>
 <script>
 window.hasColorBox = false;
 $(window).on("load resize", function() {
@@ -62,7 +62,7 @@ $('.colorbox').on("click.random-namespace", function() {
 
 		</div>
 		<hr>
-		<p>QEMU is a member of <a href="/conservancy/">Software Freedom Conservancy</a>.</p>
+		<p>QEMU is a member of <a href="{{ relative_root }}/conservancy/">Software Freedom Conservancy</a>.</p>
 	</div>
 </div>
 
-- 
2.26.2



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [qemu-web PATCH 4/7] Make page header nav narrower
  2020-10-23 15:29 [qemu-web PATCH 0/7] Tweaks to page footer and add "edit page" links Daniel P. Berrangé
                   ` (2 preceding siblings ...)
  2020-10-23 15:29 ` [qemu-web PATCH 3/7] make all links be relative to the root Daniel P. Berrangé
@ 2020-10-23 15:29 ` Daniel P. Berrangé
  2020-10-23 15:29 ` [qemu-web PATCH 5/7] Simplify and restructure the page footer Daniel P. Berrangé
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 15+ messages in thread
From: Daniel P. Berrangé @ 2020-10-23 15:29 UTC (permalink / raw)
  To: qemu-devel; +Cc: Paolo Bonzini, Thomas Huth, Daniel P. Berrangé

When the browser window is narrow, but not yet switched into the mobile
layout, the page header nav will line wrap. This breaks layout
assumptions resulting in overlapping/obscured text.

This deals with the probem by reducing padding between the links, and
shortening "Documentation" to just "Docs".

This avoids the line wrapping, as well as making room for new links in
the future.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
 _includes/nav.html           | 2 +-
 assets/css/style-desktop.css | 3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/_includes/nav.html b/_includes/nav.html
index 58b6c5a..c66ee92 100644
--- a/_includes/nav.html
+++ b/_includes/nav.html
@@ -6,7 +6,7 @@
 			</li><li {% if current[1] == 'download' %}class='current'{% endif %}><a href="{{ relative_root }}/download">Download</a>
 			</li><li {% if current[1] == 'support' %}class='current'{% endif %}><a href="{{ relative_root }}/support">Support</a>
 			</li><li {% if current[1] == 'contribute' %}class='current'{% endif %}><a href="{{ relative_root }}/contribute">Contribute</a>
-			</li><li {% if current[1] == 'documentation' %}class='current'{% endif %}><a href="{{ relative_root }}/documentation">Documentation</a>
+			</li><li {% if current[1] == 'documentation' %}class='current'{% endif %}><a href="{{ relative_root }}/documentation">Docs</a>
 			</li><li {% if current[1] == 'blog' %}class='current'{% endif %}><a href="{{ relative_root }}/blog">Blog</a></li>
 		</ul>
 	</nav>
diff --git a/assets/css/style-desktop.css b/assets/css/style-desktop.css
index ce58fe2..b7e403a 100644
--- a/assets/css/style-desktop.css
+++ b/assets/css/style-desktop.css
@@ -237,13 +237,14 @@
 		{
 			text-align: right;
 			margin: 0;
+			padding: 0;
 		}
 
 		#nav > ul > li
 		{
 			display: inline-block;
 			margin: 0;
-			padding: 0.5em 2em 0.5em 0em;
+			padding: 0.5em 1em 0.5em 0em;
 			color: #FFF;
 			letter-spacing: 0.06em;
 			text-transform: uppercase;
-- 
2.26.2



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [qemu-web PATCH 5/7] Simplify and restructure the page footer
  2020-10-23 15:29 [qemu-web PATCH 0/7] Tweaks to page footer and add "edit page" links Daniel P. Berrangé
                   ` (3 preceding siblings ...)
  2020-10-23 15:29 ` [qemu-web PATCH 4/7] Make page header nav narrower Daniel P. Berrangé
@ 2020-10-23 15:29 ` Daniel P. Berrangé
  2020-10-23 15:46   ` Paolo Bonzini
  2020-10-23 15:29 ` [qemu-web PATCH 6/7] Add link to "edit this page" for all pages Daniel P. Berrangé
  2020-10-23 15:29 ` [qemu-web PATCH 7/7] Add a CONTRIBUTING.md file as guidance for contributors Daniel P. Berrangé
  6 siblings, 1 reply; 15+ messages in thread
From: Daniel P. Berrangé @ 2020-10-23 15:29 UTC (permalink / raw)
  To: qemu-devel; +Cc: Paolo Bonzini, Thomas Huth, Daniel P. Berrangé

The page footer currently has a large wall of links.

Many of the links duplicate what is already present in the page header
navbar. The header is styled to have a fixed position, it will always
be on screen. The footer meanwhile is often off the bottom of the
screen.

Other links from the footer are already present in the 'contribute' and
'documentation' pages, with more descriptive text.

The wiki link would be better placed in the top header where it is more
obviously visible to users.

With this change the footer is slimmed down to avoid link duplication,
leaving it primarily focused on providing links to the related external
sites.

The wiki link is moved to the header nav which has extra space after the
previous patch.

Finally the conservancy link pulled out and placed just below the footer
adjacent to the licensing link, giving it more prominence.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
 _includes/copyright.html     |  8 --------
 _includes/footer.html        | 30 +++++++++---------------------
 _includes/nav.html           |  1 +
 _layouts/blog.html           |  1 -
 _layouts/home.html           |  1 -
 _layouts/page.html           |  1 -
 assets/css/style-desktop.css | 24 ++++--------------------
 assets/css/style-mobile.css  | 13 +------------
 assets/css/style.css         | 36 ++++++++++++++++++++++++++----------
 9 files changed, 41 insertions(+), 74 deletions(-)
 delete mode 100644 _includes/copyright.html

diff --git a/_includes/copyright.html b/_includes/copyright.html
deleted file mode 100644
index cdcd98f..0000000
--- a/_includes/copyright.html
+++ /dev/null
@@ -1,8 +0,0 @@
-<div id="copyright">
-	<div id="copyright-inner">
-	  <div class="container">
-	    This site is made available under the terms of
-	    <a href="{{ relative_root }}/license.html">a number of licenses</a>.
-	  </div>
-	</div>
-</div>
diff --git a/_includes/footer.html b/_includes/footer.html
index b614795..2dd247b 100644
--- a/_includes/footer.html
+++ b/_includes/footer.html
@@ -1,30 +1,18 @@
 <div id="footer">
-	<div id="footer-inner">
+	<div id="external-links">
 		<ul class="style">
-			<li><a href="{{ relative_root }}/">Home</a></li>
-			<li><a href="{{ relative_root }}/download">Download</a></li>
-			<li><a href="{{ relative_root }}/conservancy/">Conservancy / Committee</a></li>
-			<li><a href="http://qemu-advent-calendar.org">QEMU advent calendar</a></li>
-		</ul>
-		<ul class="style">
-			<li><a href="{{ relative_root }}/contribute">Contribute</a></li>
-			<li><a href="{{ relative_root }}/contribute/report-a-bug">Reporting a bug</a></li>
-			<li><a href="https://wiki.qemu.org/Documentation/GettingStartedDevelopers">New contributors</a></li>
-			<li><a href="https://wiki.qemu.org/Contribute/SubmitAPatch">Submitting a patch</a></li>
-			<li><a href="https://wiki.qemu.org/Contribute/FAQ">Contributor FAQ</a></li>
-		</ul>
-		<ul class="style">
-			<li><a href="{{ relative_root }}/documentation">Documentation</a></li>
-			<li><a href="https://www.qemu.org/docs/master/">Main docs</a></li>
-			<li><a href="https://wiki.qemu.org/Category:Developer_documentation">Developer docs</a></li>
-			<li><a href="https://wiki.qemu.org/">Wiki</a></li>
-		</ul>
-		<ul class="style">
-			<li><a href="https://planet.virt-tools.org/">virt tools planet</a></li>
+			<li><a href="http://qemu-advent-calendar.org">Advent calendar</a></li>
+			<li><a href="https://planet.virt-tools.org/">Blog planet</a></li>
 			<li><a href="https://www.linux-kvm.org/">KVM</a></li>
 			<li><a href="http://libguestfs.org/">Libguestfs</a></li>
 			<li><a href="https://libvirt.org/">Libvirt</a></li>
 			<li><a href="https://xenproject.org">Xen</a></li>
 		</ul>
 	</div>
+	<div id="conservancy">
+	  QEMU is a member of <a href="{{ relative_root }}/conservancy/">Software Freedom Conservancy</a>
+	</div>
+	<div id="licenses">
+	  <a href="{{ relative_root }}/license.html">Website licenses</a>
+	</div>
 </div>
diff --git a/_includes/nav.html b/_includes/nav.html
index c66ee92..73b39b3 100644
--- a/_includes/nav.html
+++ b/_includes/nav.html
@@ -7,6 +7,7 @@
 			</li><li {% if current[1] == 'support' %}class='current'{% endif %}><a href="{{ relative_root }}/support">Support</a>
 			</li><li {% if current[1] == 'contribute' %}class='current'{% endif %}><a href="{{ relative_root }}/contribute">Contribute</a>
 			</li><li {% if current[1] == 'documentation' %}class='current'{% endif %}><a href="{{ relative_root }}/documentation">Docs</a>
+			</li><li><a href="https://wiki.qemu.org">Wiki</a>
 			</li><li {% if current[1] == 'blog' %}class='current'{% endif %}><a href="{{ relative_root }}/blog">Blog</a></li>
 		</ul>
 	</nav>
diff --git a/_layouts/blog.html b/_layouts/blog.html
index b300636..b7fcdbf 100644
--- a/_layouts/blog.html
+++ b/_layouts/blog.html
@@ -21,7 +21,6 @@ Released for free under the Creative Commons Attribution 3.0 license (templated.
 	
 	{% include sidebar.html %}
 	{% include footer.html %}
-	{% include copyright.html %}
 
 </body>
 </html>
diff --git a/_layouts/home.html b/_layouts/home.html
index d94c9b0..f7b6931 100644
--- a/_layouts/home.html
+++ b/_layouts/home.html
@@ -18,7 +18,6 @@ Released for free under the Creative Commons Attribution 3.0 license (templated.
 	{{ content }}
 
 	{% include footer.html %}
-	{% include copyright.html %}
 
 </body>
 </html>
diff --git a/_layouts/page.html b/_layouts/page.html
index d650054..765d204 100644
--- a/_layouts/page.html
+++ b/_layouts/page.html
@@ -23,7 +23,6 @@ Released for free under the Creative Commons Attribution 3.0 license (templated.
 	</div>
 	
 	{% include footer.html %}
-	{% include copyright.html %}
 
 </body>
 </html>
diff --git a/assets/css/style-desktop.css b/assets/css/style-desktop.css
index b7e403a..d45ec15 100644
--- a/assets/css/style-desktop.css
+++ b/assets/css/style-desktop.css
@@ -101,29 +101,13 @@
 /*********************************************************************************/
 /* Footer                                                                        */
 /*********************************************************************************/
-	
-	#footer
-	{
-		padding: 1em 0em;
-	}
-	
-	#footer-inner
-	{
-		width: 95%;
-		display: table;
-		margin: auto;
-	}
 
-	#footer ul
-	{
-		width: 25%;
-		display: table-cell;
-		padding-left: 2em;
+	#licenses {
+		float: right;
 	}
 
-	#footer ul:first-child
-	{
-		padding-left: 0px;
+	#conservancy {
+		float: left;
 	}
 
 /*********************************************************************************/
diff --git a/assets/css/style-mobile.css b/assets/css/style-mobile.css
index 8910e71..652650b 100644
--- a/assets/css/style-mobile.css
+++ b/assets/css/style-mobile.css
@@ -242,7 +242,7 @@
 /* Columns                                                                       */
 /*********************************************************************************/
 
-	#main, #footer-inner, #copyright-inner
+	#main, #copyright-inner
 	{
 		margin-left: 0%;
 		width: 100%;
@@ -283,19 +283,8 @@
 	
 	#footer
 	{
-		padding: 1em;
-	}
-	
-	#footer ul
-	{
-		padding: 0.6em 0px;
-		border-top: 1px solid white;
 	}
 
-	#footer ul:first-child
-	{
-		border-top: 0px;
-	}
 	
 /*********************************************************************************/
 /* Featured                                                                      */
diff --git a/assets/css/style.css b/assets/css/style.css
index e09b383..e2fee29 100644
--- a/assets/css/style.css
+++ b/assets/css/style.css
@@ -503,24 +503,40 @@
 	{
 		position: relative;
 		clear: left;
-		background: #401200;
-		color: #FFF;
 	}
 	
 	#footer a
 	{
 		color: inherit;
 	}
-	
-	#footer ul
-	{
-		vertical-align: top;
+
+	#footer ul {
+		margin: 0em;
 	}
 
-	#footer ul, #footer ul > li
-	{
-		padding: 0;
-		margin: 0
+	#conservancy, #licenses {
+		padding: 0em;
+		padding-left: 1em;
+		padding-right: 1em;
+		font-size: smaller;
+		color: #707070;
+		margin: 0em;
+	}
+
+	#external-links {
+		padding: 0em;
+		padding-top: 0.3em;
+		padding-bottom: 0.3em;
+		background: #401200;
+		color: #FFF;
+		text-align: center;
+	}
+
+	#external-links li {
+		display: inline;
+	}
+	#external-links li a {
+		padding-left: 1em;
 	}
 
 /*********************************************************************************/
-- 
2.26.2



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [qemu-web PATCH 6/7] Add link to "edit this page" for all pages
  2020-10-23 15:29 [qemu-web PATCH 0/7] Tweaks to page footer and add "edit page" links Daniel P. Berrangé
                   ` (4 preceding siblings ...)
  2020-10-23 15:29 ` [qemu-web PATCH 5/7] Simplify and restructure the page footer Daniel P. Berrangé
@ 2020-10-23 15:29 ` Daniel P. Berrangé
  2020-10-23 15:47   ` Paolo Bonzini
  2020-10-23 15:29 ` [qemu-web PATCH 7/7] Add a CONTRIBUTING.md file as guidance for contributors Daniel P. Berrangé
  6 siblings, 1 reply; 15+ messages in thread
From: Daniel P. Berrangé @ 2020-10-23 15:29 UTC (permalink / raw)
  To: qemu-devel; +Cc: Paolo Bonzini, Thomas Huth, Daniel P. Berrangé

The link takes the user directly to the source markdown file in gitlab,
where they can press the "Edit" button and make changes directly in the
browser. They will be prompted to fork the project when committing the
changes if they don't already have a fork.  The result is a commit which
can be submitted for review per the contributing guidelines.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
 _includes/footer.html        | 3 +++
 assets/css/style-desktop.css | 4 ++++
 assets/css/style.css         | 2 +-
 3 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/_includes/footer.html b/_includes/footer.html
index 2dd247b..0a77d8e 100644
--- a/_includes/footer.html
+++ b/_includes/footer.html
@@ -1,4 +1,7 @@
 <div id="footer">
+	<div id="edit-page">
+		<a href="https://gitlab.com/qemu-project/qemu-web/-/blob/master/{{page.path}}">edit this page</a>
+	</div>
 	<div id="external-links">
 		<ul class="style">
 			<li><a href="http://qemu-advent-calendar.org">Advent calendar</a></li>
diff --git a/assets/css/style-desktop.css b/assets/css/style-desktop.css
index d45ec15..19272ad 100644
--- a/assets/css/style-desktop.css
+++ b/assets/css/style-desktop.css
@@ -102,6 +102,10 @@
 /* Footer                                                                        */
 /*********************************************************************************/
 
+	#edit-page {
+		text-align: right;
+	}
+
 	#licenses {
 		float: right;
 	}
diff --git a/assets/css/style.css b/assets/css/style.css
index e2fee29..50bbcd1 100644
--- a/assets/css/style.css
+++ b/assets/css/style.css
@@ -514,7 +514,7 @@
 		margin: 0em;
 	}
 
-	#conservancy, #licenses {
+	#conservancy, #licenses, #edit-page {
 		padding: 0em;
 		padding-left: 1em;
 		padding-right: 1em;
-- 
2.26.2



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [qemu-web PATCH 7/7] Add a CONTRIBUTING.md file as guidance for contributors
  2020-10-23 15:29 [qemu-web PATCH 0/7] Tweaks to page footer and add "edit page" links Daniel P. Berrangé
                   ` (5 preceding siblings ...)
  2020-10-23 15:29 ` [qemu-web PATCH 6/7] Add link to "edit this page" for all pages Daniel P. Berrangé
@ 2020-10-23 15:29 ` Daniel P. Berrangé
  2020-10-23 15:50   ` Paolo Bonzini
  6 siblings, 1 reply; 15+ messages in thread
From: Daniel P. Berrangé @ 2020-10-23 15:29 UTC (permalink / raw)
  To: qemu-devel; +Cc: Paolo Bonzini, Thomas Huth, Daniel P. Berrangé

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
 CONTRIBUTING.md | 32 ++++++++++++++++++++++++++++++++
 _config.yml     |  1 +
 2 files changed, 33 insertions(+)
 create mode 100644 CONTRIBUTING.md

diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 0000000..0be58d8
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,32 @@
+# Contributing to qemu-web
+
+The QEMU project accepts code contributions to the website as patches sent to
+the the developer mailing list:
+
+https://lists.nongnu.org/mailman/listinfo/qemu-devel
+
+For further guidance on sending patches consult:
+
+https://wiki.qemu.org/Contribute/SubmitAPatch
+
+It is expected that contributors check the rendered website before submitting
+patches. This is possible by either running jekyll locally, or by using the
+GitLab CI and Pages infrastructure.
+
+Any branch that is pushed to a GitLab fork will result in a CI job being run
+visible at
+
+https://gitlab.com/yourusername/libvirt-perl/pipelines
+
+The rendered result can be then viewed at
+
+https://yourusername.gitlab.io/qemu-web
+
+Contributions submitted to the project must be in compliance with the
+Developer Certificate of Origin Version 1.1. This is documented at:
+
+https://developercertificate.org/
+
+To indicate compliance, each commit in a series must have a "Signed-off-by"
+tag with the submitter's name and email address. This can be added by passing
+the ``-s`` flag to ``git commit`` when creating the patches.
diff --git a/_config.yml b/_config.yml
index d0473c1..7d34779 100644
--- a/_config.yml
+++ b/_config.yml
@@ -40,3 +40,4 @@ exclude:
   - Gemfile.lock
   - vendor/
   - README
+  - CONTRIBUTING.md
-- 
2.26.2



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* Re: [qemu-web PATCH 5/7] Simplify and restructure the page footer
  2020-10-23 15:29 ` [qemu-web PATCH 5/7] Simplify and restructure the page footer Daniel P. Berrangé
@ 2020-10-23 15:46   ` Paolo Bonzini
  2020-10-23 16:46     ` Daniel P. Berrangé
  0 siblings, 1 reply; 15+ messages in thread
From: Paolo Bonzini @ 2020-10-23 15:46 UTC (permalink / raw)
  To: Daniel P. Berrangé, qemu-devel; +Cc: Thomas Huth

On 23/10/20 17:29, Daniel P. Berrangé wrote:
> +	<div id="external-links">
>  		<ul class="style">
> -			<li><a href="{{ relative_root }}/">Home</a></li>
> -			<li><a href="{{ relative_root }}/download">Download</a></li>
> -			<li><a href="{{ relative_root }}/conservancy/">Conservancy / Committee</a></li>
> -			<li><a href="http://qemu-advent-calendar.org">QEMU advent calendar</a></li>
> -		</ul>
> -		<ul class="style">
> -			<li><a href="{{ relative_root }}/contribute">Contribute</a></li>
> -			<li><a href="{{ relative_root }}/contribute/report-a-bug">Reporting a bug</a></li>
> -			<li><a href="https://wiki.qemu.org/Documentation/GettingStartedDevelopers">New contributors</a></li>
> -			<li><a href="https://wiki.qemu.org/Contribute/SubmitAPatch">Submitting a patch</a></li>
> -			<li><a href="https://wiki.qemu.org/Contribute/FAQ">Contributor FAQ</a></li>
> -		</ul>

I would rather keep this column, the idea is that this information can
be found with a quick Ctrl-F "bug" or "Ctrl-F "faq".

Otherwise I agree it's an improvement.

Paolo

> -		<ul class="style">
> -			<li><a href="{{ relative_root }}/documentation">Documentation</a></li>
> -			<li><a href="https://www.qemu.org/docs/master/">Main docs</a></li>
> -			<li><a href="https://wiki.qemu.org/Category:Developer_documentation">Developer docs</a></li>
> -			<li><a href="https://wiki.qemu.org/">Wiki</a></li>
> -		</ul>
> -		<ul class="style">
> -			<li><a href="https://planet.virt-tools.org/">virt tools planet</a></li>
> +			<li><a href="http://qemu-advent-calendar.org">Advent calendar</a></li>
> +			<li><a href="https://planet.virt-tools.org/">Blog planet</a></li>



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [qemu-web PATCH 6/7] Add link to "edit this page" for all pages
  2020-10-23 15:29 ` [qemu-web PATCH 6/7] Add link to "edit this page" for all pages Daniel P. Berrangé
@ 2020-10-23 15:47   ` Paolo Bonzini
  2020-10-23 16:19     ` Daniel P. Berrangé
  0 siblings, 1 reply; 15+ messages in thread
From: Paolo Bonzini @ 2020-10-23 15:47 UTC (permalink / raw)
  To: Daniel P. Berrangé, qemu-devel; +Cc: Thomas Huth

On 23/10/20 17:29, Daniel P. Berrangé wrote:
> The link takes the user directly to the source markdown file in gitlab,
> where they can press the "Edit" button and make changes directly in the
> browser. They will be prompted to fork the project when committing the
> changes if they don't already have a fork.  The result is a commit which
> can be submitted for review per the contributing guidelines.
> 
> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>

I think this is a good idea *if* we switch to merge requests for website
edits---which isn't something I'm opposed to.

Paolo

> ---
>  _includes/footer.html        | 3 +++
>  assets/css/style-desktop.css | 4 ++++
>  assets/css/style.css         | 2 +-
>  3 files changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/_includes/footer.html b/_includes/footer.html
> index 2dd247b..0a77d8e 100644
> --- a/_includes/footer.html
> +++ b/_includes/footer.html
> @@ -1,4 +1,7 @@
>  <div id="footer">
> +	<div id="edit-page">
> +		<a href="https://gitlab.com/qemu-project/qemu-web/-/blob/master/{{page.path}}">edit this page</a>
> +	</div>
>  	<div id="external-links">
>  		<ul class="style">
>  			<li><a href="http://qemu-advent-calendar.org">Advent calendar</a></li>
> diff --git a/assets/css/style-desktop.css b/assets/css/style-desktop.css
> index d45ec15..19272ad 100644
> --- a/assets/css/style-desktop.css
> +++ b/assets/css/style-desktop.css
> @@ -102,6 +102,10 @@
>  /* Footer                                                                        */
>  /*********************************************************************************/
>  
> +	#edit-page {
> +		text-align: right;
> +	}
> +
>  	#licenses {
>  		float: right;
>  	}
> diff --git a/assets/css/style.css b/assets/css/style.css
> index e2fee29..50bbcd1 100644
> --- a/assets/css/style.css
> +++ b/assets/css/style.css
> @@ -514,7 +514,7 @@
>  		margin: 0em;
>  	}
>  
> -	#conservancy, #licenses {
> +	#conservancy, #licenses, #edit-page {
>  		padding: 0em;
>  		padding-left: 1em;
>  		padding-right: 1em;
> 



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [qemu-web PATCH 7/7] Add a CONTRIBUTING.md file as guidance for contributors
  2020-10-23 15:29 ` [qemu-web PATCH 7/7] Add a CONTRIBUTING.md file as guidance for contributors Daniel P. Berrangé
@ 2020-10-23 15:50   ` Paolo Bonzini
  0 siblings, 0 replies; 15+ messages in thread
From: Paolo Bonzini @ 2020-10-23 15:50 UTC (permalink / raw)
  To: Daniel P. Berrangé, qemu-devel; +Cc: Thomas Huth

On 23/10/20 17:29, Daniel P. Berrangé wrote:
> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
> ---
>  CONTRIBUTING.md | 32 ++++++++++++++++++++++++++++++++
>  _config.yml     |  1 +
>  2 files changed, 33 insertions(+)
>  create mode 100644 CONTRIBUTING.md
> 
> diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
> new file mode 100644
> index 0000000..0be58d8
> --- /dev/null
> +++ b/CONTRIBUTING.md
> @@ -0,0 +1,32 @@
> +# Contributing to qemu-web
> +
> +The QEMU project accepts code contributions to the website as patches sent to
> +the the developer mailing list:
> +
> +https://lists.nongnu.org/mailman/listinfo/qemu-devel
> +
> +For further guidance on sending patches consult:
> +
> +https://wiki.qemu.org/Contribute/SubmitAPatch
> +
> +It is expected that contributors check the rendered website before submitting
> +patches. This is possible by either running jekyll locally, or by using the
> +GitLab CI and Pages infrastructure.
> +
> +Any branch that is pushed to a GitLab fork will result in a CI job being run
> +visible at
> +
> +https://gitlab.com/yourusername/libvirt-perl/pipelines

Apart from the pasto, I think it is
https://gitlab.com/yourusername/qemu-web/-/pipelines.

> +The rendered result can be then viewed at
> +
> +https://yourusername.gitlab.io/qemu-web

Very cool, thanks.

Paolo

> +Contributions submitted to the project must be in compliance with the
> +Developer Certificate of Origin Version 1.1. This is documented at:
> +
> +https://developercertificate.org/
> +
> +To indicate compliance, each commit in a series must have a "Signed-off-by"
> +tag with the submitter's name and email address. This can be added by passing
> +the ``-s`` flag to ``git commit`` when creating the patches.
> diff --git a/_config.yml b/_config.yml
> index d0473c1..7d34779 100644
> --- a/_config.yml
> +++ b/_config.yml
> @@ -40,3 +40,4 @@ exclude:
>    - Gemfile.lock
>    - vendor/
>    - README
> +  - CONTRIBUTING.md
> 



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [qemu-web PATCH 6/7] Add link to "edit this page" for all pages
  2020-10-23 15:47   ` Paolo Bonzini
@ 2020-10-23 16:19     ` Daniel P. Berrangé
  2020-10-23 17:07       ` Paolo Bonzini
  0 siblings, 1 reply; 15+ messages in thread
From: Daniel P. Berrangé @ 2020-10-23 16:19 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: Thomas Huth, qemu-devel

On Fri, Oct 23, 2020 at 05:47:45PM +0200, Paolo Bonzini wrote:
> On 23/10/20 17:29, Daniel P. Berrangé wrote:
> > The link takes the user directly to the source markdown file in gitlab,
> > where they can press the "Edit" button and make changes directly in the
> > browser. They will be prompted to fork the project when committing the
> > changes if they don't already have a fork.  The result is a commit which
> > can be submitted for review per the contributing guidelines.
> > 
> > Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
> 
> I think this is a good idea *if* we switch to merge requests for website
> edits---which isn't something I'm opposed to.

Note if you disable merge requests, then the page we link to doesn't
show a live editor. It merely shows the read-only source. Not as
useful, at least the user can see which source file they need to
touch in their fork, which is still a step forwards I think.

> 
> Paolo
> 
> > ---
> >  _includes/footer.html        | 3 +++
> >  assets/css/style-desktop.css | 4 ++++
> >  assets/css/style.css         | 2 +-
> >  3 files changed, 8 insertions(+), 1 deletion(-)
> > 
> > diff --git a/_includes/footer.html b/_includes/footer.html
> > index 2dd247b..0a77d8e 100644
> > --- a/_includes/footer.html
> > +++ b/_includes/footer.html
> > @@ -1,4 +1,7 @@
> >  <div id="footer">
> > +	<div id="edit-page">
> > +		<a href="https://gitlab.com/qemu-project/qemu-web/-/blob/master/{{page.path}}">edit this page</a>
> > +	</div>
> >  	<div id="external-links">
> >  		<ul class="style">
> >  			<li><a href="http://qemu-advent-calendar.org">Advent calendar</a></li>
> > diff --git a/assets/css/style-desktop.css b/assets/css/style-desktop.css
> > index d45ec15..19272ad 100644
> > --- a/assets/css/style-desktop.css
> > +++ b/assets/css/style-desktop.css
> > @@ -102,6 +102,10 @@
> >  /* Footer                                                                        */
> >  /*********************************************************************************/
> >  
> > +	#edit-page {
> > +		text-align: right;
> > +	}
> > +
> >  	#licenses {
> >  		float: right;
> >  	}
> > diff --git a/assets/css/style.css b/assets/css/style.css
> > index e2fee29..50bbcd1 100644
> > --- a/assets/css/style.css
> > +++ b/assets/css/style.css
> > @@ -514,7 +514,7 @@
> >  		margin: 0em;
> >  	}
> >  
> > -	#conservancy, #licenses {
> > +	#conservancy, #licenses, #edit-page {
> >  		padding: 0em;
> >  		padding-left: 1em;
> >  		padding-right: 1em;
> > 
> 
> 

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [qemu-web PATCH 5/7] Simplify and restructure the page footer
  2020-10-23 15:46   ` Paolo Bonzini
@ 2020-10-23 16:46     ` Daniel P. Berrangé
  2020-10-23 17:19       ` Paolo Bonzini
  0 siblings, 1 reply; 15+ messages in thread
From: Daniel P. Berrangé @ 2020-10-23 16:46 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: Thomas Huth, qemu-devel

On Fri, Oct 23, 2020 at 05:46:49PM +0200, Paolo Bonzini wrote:
> On 23/10/20 17:29, Daniel P. Berrangé wrote:
> > +	<div id="external-links">
> >  		<ul class="style">
> > -			<li><a href="{{ relative_root }}/">Home</a></li>
> > -			<li><a href="{{ relative_root }}/download">Download</a></li>
> > -			<li><a href="{{ relative_root }}/conservancy/">Conservancy / Committee</a></li>
> > -			<li><a href="http://qemu-advent-calendar.org">QEMU advent calendar</a></li>
> > -		</ul>
> > -		<ul class="style">
> > -			<li><a href="{{ relative_root }}/contribute">Contribute</a></li>
> > -			<li><a href="{{ relative_root }}/contribute/report-a-bug">Reporting a bug</a></li>
> > -			<li><a href="https://wiki.qemu.org/Documentation/GettingStartedDevelopers">New contributors</a></li>
> > -			<li><a href="https://wiki.qemu.org/Contribute/SubmitAPatch">Submitting a patch</a></li>
> > -			<li><a href="https://wiki.qemu.org/Contribute/FAQ">Contributor FAQ</a></li>
> > -		</ul>
> 
> I would rather keep this column, the idea is that this information can
> be found with a quick Ctrl-F "bug" or "Ctrl-F "faq".

If there are useful links that are hidden such that people have to use
"Ctrl-f <term>" to search for them, then I think we've failed at design
already.

I'm inclined to do some work on the top level index page to make these
things be prominent links you can see without scrolling or searching
when hitting the http://qemu.org/ front page.

IMHO the front page has way too much real estate taken up with the
screenshots and big headings, and very little useful content right
now. On my laptop 50% of the vertical space is the top header nav
bar, the huge "QEMU" heading and then the subheading. The other
50% of vertical space is the screenshots. The most interesting
content on the front page is the summary of latest releases, but
that's off screen. I'll have a play with tweaking the layout to
improve this.

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [qemu-web PATCH 6/7] Add link to "edit this page" for all pages
  2020-10-23 16:19     ` Daniel P. Berrangé
@ 2020-10-23 17:07       ` Paolo Bonzini
  0 siblings, 0 replies; 15+ messages in thread
From: Paolo Bonzini @ 2020-10-23 17:07 UTC (permalink / raw)
  To: Daniel P. Berrangé; +Cc: Thomas Huth, qemu-devel

On 23/10/20 18:19, Daniel P. Berrangé wrote:
>> I think this is a good idea *if* we switch to merge requests for website
>> edits---which isn't something I'm opposed to.
> Note if you disable merge requests, then the page we link to doesn't
> show a live editor. It merely shows the read-only source. Not as
> useful, at least the user can see which source file they need to
> touch in their fork, which is still a step forwards I think.
> 

I agree, so I think if you change it to "View source" it's okay.

Paolo



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [qemu-web PATCH 5/7] Simplify and restructure the page footer
  2020-10-23 16:46     ` Daniel P. Berrangé
@ 2020-10-23 17:19       ` Paolo Bonzini
  0 siblings, 0 replies; 15+ messages in thread
From: Paolo Bonzini @ 2020-10-23 17:19 UTC (permalink / raw)
  To: Daniel P. Berrangé; +Cc: Thomas Huth, qemu-devel

On 23/10/20 18:46, Daniel P. Berrangé wrote:
>> I would rather keep this column, the idea is that this information can
>> be found with a quick Ctrl-F "bug" or "Ctrl-F "faq".
>
> If there are useful links that are hidden such that people have to use
> "Ctrl-f <term>" to search for them, then I think we've failed at design
> already.

As you said the links are already mostly available from the "contribute"
page.  "Report a bug" is a bit of an in-the-middle case that is niche
enough that it should not be too prominent, but still worth being
available in the home page in some way.

> IMHO the front page has way too much real estate taken up with the
> screenshots and big headings, and very little useful content right
> now.

Yeah, that's true (that is something that was inherited from template I
used, which you can see for reference at https://templated.co/linear).

Paolo



^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2020-10-23 17:21 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-23 15:29 [qemu-web PATCH 0/7] Tweaks to page footer and add "edit page" links Daniel P. Berrangé
2020-10-23 15:29 ` [qemu-web PATCH 1/7] Convert files to UNIX line endings Daniel P. Berrangé
2020-10-23 15:29 ` [qemu-web PATCH 2/7] gitlab: introduce a CI job to publish the site content Daniel P. Berrangé
2020-10-23 15:29 ` [qemu-web PATCH 3/7] make all links be relative to the root Daniel P. Berrangé
2020-10-23 15:29 ` [qemu-web PATCH 4/7] Make page header nav narrower Daniel P. Berrangé
2020-10-23 15:29 ` [qemu-web PATCH 5/7] Simplify and restructure the page footer Daniel P. Berrangé
2020-10-23 15:46   ` Paolo Bonzini
2020-10-23 16:46     ` Daniel P. Berrangé
2020-10-23 17:19       ` Paolo Bonzini
2020-10-23 15:29 ` [qemu-web PATCH 6/7] Add link to "edit this page" for all pages Daniel P. Berrangé
2020-10-23 15:47   ` Paolo Bonzini
2020-10-23 16:19     ` Daniel P. Berrangé
2020-10-23 17:07       ` Paolo Bonzini
2020-10-23 15:29 ` [qemu-web PATCH 7/7] Add a CONTRIBUTING.md file as guidance for contributors Daniel P. Berrangé
2020-10-23 15:50   ` Paolo Bonzini

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.