guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

02/03: website: Factorize shared blocks.


From: Mathieu Lirzin
Subject: 02/03: website: Factorize shared blocks.
Date: Mon, 11 May 2015 20:51:44 +0000

mthl pushed a commit to branch master
in repository guix-artwork.

commit 342ffb86355240c8b28dfce84983183fcbbca7f3
Author: Mathieu Lirzin <address@hidden>
Date:   Fri May 8 00:06:03 2015 +0200

    website: Factorize shared blocks.
    
    * website/www/shared.scm: New file.
    * website/www.scm (main-page): Use it.
    * website/www/about.scm (about-page): Likewise.
    * website/www/contribute.scm (contribute-page): Likewise.
    * website/www/donate.scm (donate-page): Likewise.
    * website/www/download.scm (download-page): Likewise.
    * website/www/help.scm (help-page): Likewise.
    * website/www/packages.scm (packages-page): Likewise.
---
 website/www.scm            |  478 +++++++++++++++++++-------------------------
 website/www/about.scm      |  306 +++++++++++-----------------
 website/www/contribute.scm |  370 ++++++++++++++--------------------
 website/www/donate.scm     |  197 +++++++------------
 website/www/download.scm   |  303 +++++++++++-----------------
 website/www/help.scm       |  410 ++++++++++++++++----------------------
 website/www/packages.scm   |   93 ++-------
 website/www/shared.scm     |   64 ++++++
 8 files changed, 931 insertions(+), 1290 deletions(-)

diff --git a/website/www.scm b/website/www.scm
index 2949102..36d7ee7 100644
--- a/website/www.scm
+++ b/website/www.scm
@@ -1,4 +1,5 @@
 (define-module (www)
+  #:use-module (www shared)
   #:use-module (www packages)
   #:use-module (www download)
   #:use-module (www donate)
@@ -14,281 +15,216 @@
             export-web-site))
 
 (define main-page
-  '(html (@ (lange "en"))
-        (head (meta (@ (charset "utf-8")))
-              (meta (@ (name "author")
-                       (content "GuixSD Contributors")))
-              (meta (@ (name "description")
-                       (content
-                        "GuixSD is GNU's advanced system
-distribution. GNU is an operating system which respects the freedom of
-computer users. You are free to run the system for any purpose, study
-how it works, improve it, and share it with the whole world.")))
-              (meta (@ (name "keywords")
-                       (content
-                        "GNU, FSF, Free Software Foundation, Linux,
-Emacs, GCC, Unix, Free Software, Libre Software, Operating System, GNU
-Kernel, GNU Hurd, GUix Package Manager, Guile Scheme, Functional
-package management")))
-              (meta (@ (name "viewport")
-                       (content "width=device-width, initial-scale=1.0")))
-              (link (@ (type "text/css")
-                       (rel "stylesheet")
-                       (href "/software/guix/static/base/css/base.css")))
-              (link (@ (type "text/css")
-                       (rel "stylesheet")
-                       (href "/software/guix/static/base/css/index.css")))
-              (link (@ (type "image/png")
-                       (rel "icon")
-                       (href "/software/guix/static/base/img/favicon.png")))
-              (link (@ (rel "license") (href "Pending...")))
-              (title "Home - GuixSD"))
-        (body (div (@ (class "message-box msg-info"))
-                   (span (@ (class "msg-label")) "Note")
-                   "The Guix System Distribution (GuixSD) is alpha
-software. This means it is not production-ready. It may contain bugs
-and lack important features. But more than a disclaimer, this is an
-invitation to join us in improving it. See "
-                   (a (@ (href "/software/guix/contribute/"))
-                      "Contributing")
-                   ", for more information. We hope you can soon
-switch to GuixSD without fear. ")
-              (div (@ (id "header-box"))
-                   (a (@ (id "logo") (href "/software/guix/"))
-                      (img (@ (src 
"/software/guix/static/base/img/GuixSD-logo.png")
-                              (alt "GuixSD"))))
-                   (ul (@ (id "site-nav"))
-                       (li (a (@ (href "/software/guix/download/"))
-                              "Download"))
-                       (li (a (@ (href "/software/guix/package-list.html"))
-                              "Packages"))
-                       (li (a (@ (href "/software/guix/help/")) "Help"))
-                       (li (a (@ (href "/software/guix/contribute/"))
-                              "Contribute"))
-                       (li (a (@ (href "/software/guix/donate/"))
-                              "Donate"))
-                       (li (a (@ (href "/software/guix/about/"))
-                              "About"))))
-              (div (@ (id "content-box"))
-                   (div (@ (id "featured-box"))
-                        (div (@ (class "featured-content"))
-                             (h1 (@ (class "featured-heading"))
-                                 "The Guix System Distribution")
-                             (ul (li (b "Liberating.")
-                                     " GuixSD is an advanced distribution of 
the "
-                                     (a (@ (href "https://gnu.org/";)
-                                           (class "hlink-yellow"))
-                                        "GNU Operating System")
-                                     " developed by the "
-                                     (a (@ (href "https://gnu.org/";)
-                                           (class "hlink-yellow"))
-                                        "GNU Project ")
-                                     "—which respects the "
-                                     (a (@ (href 
"http://www.gnu.org/philosophy/free-sw.html";)
-                                           (class "hlink-yellow"))
-                                        "freedom of computer users")
-                                     ". ")
-                                 (li (b "Dependable.")
-                                     " The "
-                                     (a (@ (href "/software/guix/manual/")
-                                           (class "hlink-yellow"))
-                                        "GNU Guix")
-                                     " Package Manager, in addition
-to standard package management features, supports transactional
-upgrades and roll-backs, unprivileged package management, per-user
-profiles, and garbage collection.")
-                                 (li (b "Hackable.")
-                                     " It provides "
-                                     (a (@ (href 
"https://www.gnu.org/s/guile/";)
-                                           (class "hlink-yellow"))
-                                        "Guile Scheme")
-                                     " APIs, including high-level
-embedded domain-specific languages (EDSLs), to describe how packages
-are built and composed."))
-                             (div (@ (class "featured-actions"))
-                                  (a (@ (href "/software/guix/download/")
-                                        (class "action download"))
-                                     "TEST v0.8.2 (alpha)")
-                                  (a (@ (href "/software/guix/contribute/")
-                                        (class "action contribute"))
-                                     "CONTRIBUTE"))))
-                   (div (@ (id "discovery-box"))
-                        (h2 "Discover GuixSD")
-                        (div (@ (class "info-box text-center"))
-                             (video (@ (src 
"http://audio-video.gnu.org/video/misc/2015-01__GNU_Guix__The_Emacs_of_Distros.webm";)
-                                       (poster
-                                        
"/software/guix/static/base/img/the-emacs-of-distros.png")
-                                       (controls "controls")
-                                       (class "video-preview")))
-                             (p "January 2015, The Emacs of
-Distros (48 minutes)")
-                             (p (a (@ (href "/software/guix/help/#talks")
-                                      (class "hlink-more-light"))
-                                   "Check all talks")))
-                        (div (@ (class "info-box text-left"))
-                             (p (a (@ (href "/software/guix/manual/")
+  `(html (@ (lang "en"))
+        ,(html-page-header "Home")
+        (body
+         ,(html-page-description)
+         ,(html-page-links)
+         (div (@ (id "content-box"))
+              (div (@ (id "featured-box"))
+                   (div (@ (class "featured-content"))
+                        (h1 (@ (class "featured-heading"))
+                            "The Guix System Distribution")
+                        (ul (li (b "Liberating.")
+                                " GuixSD is an advanced distribution of the "
+                                (a (@ (href "https://gnu.org/";)
                                       (class "hlink-yellow"))
-                                   "GNU Guix Documentation")
-                                (br)
-                                "You may also find more information
-about GNU Guix by running info guix.")
-                             (p (a (@ (href "http://arxiv.org/abs/1305.4584";)
+                                   "GNU Operating System")
+                                " developed by the "
+                                (a (@ (href "https://gnu.org/";)
                                       (class "hlink-yellow"))
-                                   " Functional Package Management with Guix")
-                                (br)
-                                "A paper presented at the 2013
-European Lisp Symposium (ELS), describes the rationale, design, and
-implementation of Guix's packaging API. ")
-                             (p (a (@ (href "http://www.gnu.org/manual/";)
+                                   "GNU Project ")
+                                "—which respects the "
+                                (a (@ (href 
"http://www.gnu.org/philosophy/free-sw.html";)
                                       (class "hlink-yellow"))
-                                   "GNU Manuals Online")
-                                (br)
-                                "Primary documentation for official
-GNU packages.")
-                             (p (a (@ (href "/software/guix/help/")
-                                      (class "hlink-more-light"))
-                                   "Find more documentation")))
-                        (img (@ (src 
"/software/guix/static/base/img/h-separator-darker.png")
-                                (class "h-separator")
-                                (alt "")))
-                        (div (@ (id "screens-box"))
-                             (a (@ (href 
"/software/guix/screenshots/0.8.2/grub-menu.png"))
-                                (img (@ (src 
"/software/guix/static/base/img/screenshots/grub-menu-thumb.png")
-                                        (class "screenshot-thumb")
-                                        (alt "GRUB menu"))))
-                             (a (@ (href 
"/software/guix/screenshots/0.8.2/slim.png"))
-                                (img (@ (src 
"/software/guix/static/base/img/screenshots/slim-thumb.png")
-                                        (class "screenshot-thumb")
-                                        (alt "Slim login manager"))))
-                             (a (@ (href 
"/software/guix/screenshots/0.8.2/windowmaker+icecat+inkscape.png"))
-                                (img (@ (src 
"/software/guix/static/base/img/screenshots/windowmaker+icecat+inkscape-thumb.png")
-                                        (class "screenshot-thumb")
-                                        (alt "Windowmaker, Icecat, and 
Inkscape"))))
-                             (a (@ (href 
"/software/guix/screenshots/0.8.2/user-interfaces.png"))
-                                (img (@ (src 
"/software/guix/static/base/img/screenshots/user-interfaces-thumb.png")
-                                        (class "screenshot-thumb")
-                                        (alt "mplayer and xterm"))))
-                             (a (@ (href 
"/software/guix/screenshots/0.8.2/emacs-ui-packages.png"))
-                                (img (@ (src 
"/software/guix/static/base/img/screenshots/emacs-ui-packages-thumb.png")
-                                        (class "screenshot-thumb")
-                                        (alt "Emacs user interface to the 
package manager."))))
-                             (a (@ (href 
"/software/guix/screenshots/0.8.2/emacs-ui-generations.png"))
-                                (img (@ (src 
"/software/guix/static/base/img/screenshots/emacs-ui-generations-thumb.png")
-                                        (class "screenshot-thumb")
-                                        (alt "Emacs user interface 
generations.")))))
-                        (p (a (@ (href "/software/guix/contribute/")
-                                 (class "hlink-yellow-boxed"))
-                              "Help us package more software →")))
-                   (div (@ (id "news-box"))
-                        (h2 "News")
-                        (a (@ (href 
"http://www.fsf.org/news/fsf-adds-guix-system-distribution-to-list-of-endorsed-distributions";)
-                              (class "news-entry"))
-                           (h4 "FSF adds Guix System Distribution to
-list of endorsed distributions")
-                           (p (@ (class "news-date")) "February 3, 2015")
-                           (p (@ (class "news-summary"))
-                              "The Guix System Distribution is a new
-and growing distro that currently ships with just over 1000 packages,
-already including almost all of the programs available from the GNU
-Project..."))
-                        (a (@ (href 
"https://savannah.gnu.org/forum/forum.php?forum_id=8193";)
-                              (class "news-entry"))
-                           (h4 "GNU Guix 0.8.1 Released")
-                           (p (@ (class "news-date")) "January 29, 2015")
-                           (p (@ (class "news-summary"))
-                              "We are pleased to announce the next
-alpha release of GNU Guix, version 0.8.1. The release comes both with
-a source tarball, which allows you to install it on top of a running
-GNU/Linux system, and a USB installation image to install the
-standalone Guix System..."))
-                        (a (@ (href 
"https://savannah.gnu.org/forum/forum.php?forum_id=8191";)
-                              (class "news-entry"))
-                           (h4 "GNU Guix at FOSDEM")
-                           (p (@ (class "news-date")) "January 27, 2015")
-                           (p (@ (class "news-summary"))
-                              "Guix will be present at FOSDEM in
-Brussels, Belgium, with a talk entitled \"The Emacs of Distros\" this
-Saturday, at 3PM, in room H.1302. The talk will give an update on
-developments in Guix and the Guix System Distribution since last
-year..."))
-                        (p (a (@ (href 
"https://savannah.gnu.org/news/?group=guix";)
-                                 (class "hlink-more-dark"))
-                              "More news")))
-                   (div (@ (id "contact-box"))
-                        (h2 "Contact")
-                        (div (@ (class "info-box text-justify"))
-                             (h3 "IRC Channel")
-                             (p "Some Guix users and developers hang
-out on the #guix channel of the Freenode IRC network. "
-                                (small "(See "
-                                       (a (@ (href 
"https://gnunet.org/bot/log/guix/";))
-                                          "channel logs")
-                                       ")")
-                                ".")
-                             (p (@ (class "text-right"))
-                                (a (@ (href 
"http://webchat.freenode.net/?channels=%23guix";)
-                                      (class "button btn-blue"))
-                                   "Connect"))
-                             (h3 "Report Bugs")
-                             (p "Use the bugs mailing list to report
-bugs. Please check whether the bug is already in the "
-                                (a (@ (href 
"http://debbugs.gnu.org/cgi/pkgreport.cgi?pkg=guix";))
-                                   "bug database")
-                                ".")
-                             (p (@ (class "text-right"))
-                                (a (@ (href "mailto:address@hidden";)
-                                      (class "button btn-red"))
-                                   "Report")))
-                        (div (@ (class "info-box text-left"))
-                             (h3 "Mailing Lists")
-                             (p (a (@ (href 
"https://lists.gnu.org/mailman/listinfo/guix-devel";))
-                                   (b "guix-devel"))
-                                (small " ("
-                                       (a (@ (href 
"https://lists.gnu.org/archive/html/guix-devel";))
-                                          "archive")
-                                       ")")
-                                (br)
-                                "Discussion about the development of
-GNU Guix and the Guix System Distribution (GuixSD).")
-                             (p (a (@ (href 
"https://lists.gnu.org/mailman/listinfo/bug-guix";))
-                                   (b "bug-guix"))
-                                (small " ("
-                                       (a (@ (href 
"https://lists.gnu.org/archive/html/bug-guix";))
-                                          "archive")
-                                       ")")
-                                (br)
-                                "Bug reports for GNU Guix and the
-Guix System Distribution.")
-                             (p (a (@ (href 
"https://lists.gnu.org/mailman/listinfo/gnu-system-discuss";))
-                                   (b "gnu-system-discuss"))
-                                (small " ( "
-                                       (a (@ (href 
"http://lists.gnu.org/archive/html/gnu-system-discuss/";))
-                                          "archive")
-                                       ")")
-                                (br)
-                                "Discussion about the development of
+                                   "freedom of computer users")
+                                ". ")
+                            (li (b "Dependable.")
+                                " The "
+                                (a (@ (href "/software/guix/manual/")
+                                      (class "hlink-yellow"))
+                                   "GNU Guix")
+                                " Package Manager, in addition to standard
+package management features, supports transactional upgrades and roll-backs,
+unprivileged package management, per-user profiles, and garbage collection.")
+                            (li (b "Hackable.")
+                                " It provides "
+                                (a (@ (href "https://www.gnu.org/s/guile/";)
+                                      (class "hlink-yellow"))
+                                   "Guile Scheme")
+                                " APIs, including high-level embedded
+domain-specific languages (EDSLs), to describe how packages are built and
+composed."))
+                        (div (@ (class "featured-actions"))
+                             (a (@ (href "/software/guix/download/")
+                                   (class "action download"))
+                                "TEST v0.8.2 (alpha)")
+                             (a (@ (href "/software/guix/contribute/")
+                                   (class "action contribute"))
+                                "CONTRIBUTE"))))
+              (div (@ (id "discovery-box"))
+                   (h2 "Discover GuixSD")
+                   (div (@ (class "info-box text-center"))
+                        (video (@ (src 
"http://audio-video.gnu.org/video/misc/2015-01__GNU_Guix__The_Emacs_of_Distros.webm";)
+                                  (poster
+                                   
"/software/guix/static/base/img/the-emacs-of-distros.png")
+                                  (controls "controls")
+                                  (class "video-preview")))
+                        (p "January 2015, The Emacs of Distros (48 minutes)")
+                        (p (a (@ (href "/software/guix/help/#talks")
+                                 (class "hlink-more-light"))
+                              "Check all talks")))
+                   (div (@ (class "info-box text-left"))
+                        (p (a (@ (href "/software/guix/manual/")
+                                 (class "hlink-yellow"))
+                              "GNU Guix Documentation")
+                           (br)
+                           "You may also find more information about GNU Guix
+by running info guix.")
+                        (p (a (@ (href "http://arxiv.org/abs/1305.4584";)
+                                 (class "hlink-yellow"))
+                              "Functional Package Management with Guix")
+                           (br)
+                           "A paper presented at the 2013 European Lisp
+Symposium (ELS), describes the rationale, design, and implementation of Guix's
+packaging API. ")
+                        (p (a (@ (href "http://www.gnu.org/manual/";)
+                                 (class "hlink-yellow"))
+                              "GNU Manuals Online")
+                           (br)
+                           "Primary documentation for official GNU packages.")
+                        (p (a (@ (href "/software/guix/help/")
+                                 (class "hlink-more-light"))
+                              "Find more documentation")))
+                   (img (@ (src 
"/software/guix/static/base/img/h-separator-darker.png")
+                           (class "h-separator")
+                           (alt "")))
+                   (div (@ (id "screens-box"))
+                        (a (@ (href 
"/software/guix/screenshots/0.8.2/grub-menu.png"))
+                           (img (@ (src 
"/software/guix/static/base/img/screenshots/grub-menu-thumb.png")
+                                   (class "screenshot-thumb")
+                                   (alt "GRUB menu"))))
+                        (a (@ (href 
"/software/guix/screenshots/0.8.2/slim.png"))
+                           (img (@ (src 
"/software/guix/static/base/img/screenshots/slim-thumb.png")
+                                   (class "screenshot-thumb")
+                                   (alt "Slim login manager"))))
+                        (a (@ (href 
"/software/guix/screenshots/0.8.2/windowmaker+icecat+inkscape.png"))
+                           (img (@ (src 
"/software/guix/static/base/img/screenshots/windowmaker+icecat+inkscape-thumb.png")
+                                   (class "screenshot-thumb")
+                                   (alt "Windowmaker, Icecat, and Inkscape"))))
+                        (a (@ (href 
"/software/guix/screenshots/0.8.2/user-interfaces.png"))
+                           (img (@ (src 
"/software/guix/static/base/img/screenshots/user-interfaces-thumb.png")
+                                   (class "screenshot-thumb")
+                                   (alt "mplayer and xterm"))))
+                        (a (@ (href 
"/software/guix/screenshots/0.8.2/emacs-ui-packages.png"))
+                           (img (@ (src 
"/software/guix/static/base/img/screenshots/emacs-ui-packages-thumb.png")
+                                   (class "screenshot-thumb")
+                                   (alt "Emacs user interface to the package 
manager."))))
+                        (a (@ (href 
"/software/guix/screenshots/0.8.2/emacs-ui-generations.png"))
+                           (img (@ (src 
"/software/guix/static/base/img/screenshots/emacs-ui-generations-thumb.png")
+                                   (class "screenshot-thumb")
+                                   (alt "Emacs user interface 
generations.")))))
+                   (p (a (@ (href "/software/guix/contribute/")
+                            (class "hlink-yellow-boxed"))
+                         "Help us package more software →")))
+              (div (@ (id "news-box"))
+                   (h2 "News")
+                   (a (@ (href 
"http://www.fsf.org/news/fsf-adds-guix-system-distribution-to-list-of-endorsed-distributions";)
+                         (class "news-entry"))
+                      (h4 "FSF adds Guix System Distribution to list of
+endorsed distributions")
+                      (p (@ (class "news-date")) "February 3, 2015")
+                      (p (@ (class "news-summary"))
+                         "The Guix System Distribution is a new and growing
+distro that currently ships with just over 1000 packages, already including
+almost all of the programs available from the GNU Project..."))
+                   (a (@ (href 
"https://savannah.gnu.org/forum/forum.php?forum_id=8193";)
+                         (class "news-entry"))
+                      (h4 "GNU Guix 0.8.1 Released")
+                      (p (@ (class "news-date")) "January 29, 2015")
+                      (p (@ (class "news-summary"))
+                         "We are pleased to announce the next alpha release of
+GNU Guix, version 0.8.1. The release comes both with a source tarball, which
+allows you to install it on top of a running GNU/Linux system, and a USB
+installation image to install the standalone Guix System..."))
+                   (a (@ (href 
"https://savannah.gnu.org/forum/forum.php?forum_id=8191";)
+                         (class "news-entry"))
+                      (h4 "GNU Guix at FOSDEM")
+                      (p (@ (class "news-date")) "January 27, 2015")
+                      (p (@ (class "news-summary"))
+                         "Guix will be present at FOSDEM in Brussels, Belgium,
+with a talk entitled \"The Emacs of Distros\" this Saturday, at 3PM, in room
+H.1302. The talk will give an update on developments in Guix and the Guix 
System
+Distribution since last year..."))
+                   (p (a (@ (href "https://savannah.gnu.org/news/?group=guix";)
+                            (class "hlink-more-dark"))
+                         "More news")))
+              (div (@ (id "contact-box"))
+                   (h2 "Contact")
+                   (div (@ (class "info-box text-justify"))
+                        (h3 "IRC Channel")
+                        (p "Some Guix users and developers hang out on the
+#guix channel of the Freenode IRC network. "
+                           (small "(See "
+                                  (a (@ (href 
"https://gnunet.org/bot/log/guix/";))
+                                     "channel logs")
+                                  ")")
+                           ".")
+                        (p (@ (class "text-right"))
+                           (a (@ (href 
"http://webchat.freenode.net/?channels=%23guix";)
+                                 (class "button btn-blue"))
+                              "Connect"))
+                        (h3 "Report Bugs")
+                        (p "Use the bugs mailing list to report bugs. Please
+check whether the bug is already in the "
+                           (a (@ (href 
"http://debbugs.gnu.org/cgi/pkgreport.cgi?pkg=guix";))
+                              "bug database")
+                           ".")
+                        (p (@ (class "text-right"))
+                           (a (@ (href "mailto:address@hidden";)
+                                 (class "button btn-red"))
+                              "Report")))
+                   (div (@ (class "info-box text-left"))
+                        (h3 "Mailing Lists")
+                        (p (a (@ (href 
"https://lists.gnu.org/mailman/listinfo/guix-devel";))
+                              (b "guix-devel"))
+                           (small " ("
+                                  (a (@ (href 
"https://lists.gnu.org/archive/html/guix-devel";))
+                                     "archive")
+                                  ")")
+                           (br)
+                           "Discussion about the development of GNU Guix and
+the Guix System Distribution (GuixSD).")
+                        (p (a (@ (href 
"https://lists.gnu.org/mailman/listinfo/bug-guix";))
+                              (b "bug-guix"))
+                           (small " ("
+                                  (a (@ (href 
"https://lists.gnu.org/archive/html/bug-guix";))
+                                     "archive")
+                                  ")")
+                           (br)
+                           "Bug reports for GNU Guix and the Guix System
+Distribution.")
+                        (p (a (@ (href 
"https://lists.gnu.org/mailman/listinfo/gnu-system-discuss";))
+                              (b "gnu-system-discuss"))
+                           (small " ( "
+                                  (a (@ (href 
"http://lists.gnu.org/archive/html/gnu-system-discuss/";))
+                                     "archive")
+                                  ")")
+                           (br)
+                           "Discussion about the development of
 the broader GNU system.")
-                             (p (a (@ (href 
"https://lists.nongnu.org/mailman/listinfo/gnu-linux-libre";))
-                                   (b "gnu-linux-libre"))
-                                (small " ("
-                                       (a (@ (href 
"http://lists.nongnu.org/archive/html/gnu-linux-libre/";))
-                                          "archive")
-                                       ")")
-                                (br)
-                                "Workgroup for fully free GNU/Linux
-distributions.")
-                             (p (a (@ (href 
"https://savannah.gnu.org/mail/?group=guix";)
-                                      (class "hlink-more-dark"))
-                                   "Find all the available
-lists")))))
-              (div (@ (id "footer-box"))
-                   "copyleft 2015 GuixSD"
-                   (a (@ (href "/software/guix/contribute/")
-                         (class "hlink-yellow"))
-                      " Contributors")
-                   ". Made with "
-                   (span (@ (class "metta")) "♥")
-                   " by humans."))))
+                        (p (a (@ (href 
"https://lists.nongnu.org/mailman/listinfo/gnu-linux-libre";))
+                              (b "gnu-linux-libre"))
+                           (small " ("
+                                  (a (@ (href 
"http://lists.nongnu.org/archive/html/gnu-linux-libre/";))
+                                     "archive")
+                                  ")")
+                           (br)
+                           "Workgroup for fully free GNU/Linux distributions.")
+                        (p (a (@ (href 
"https://savannah.gnu.org/mail/?group=guix";)
+                                 (class "hlink-more-dark"))
+                              "Find all the available lists")))))
+         ,(html-page-footer))))
 
 
 ;;;
diff --git a/website/www/about.scm b/website/www/about.scm
index bc964c9..128041d 100644
--- a/website/www/about.scm
+++ b/website/www/about.scm
@@ -1,189 +1,127 @@
 (define-module (www about)
+  #:use-module (www shared)
   #:export (about-page))
 
 (define about-page
-  '(html (@ (lang "en"))
-        (head (meta (@ (charset "utf-8")))
-              (meta (@ (name "author")
-                       (content "GuixSD Contributors")))
-              (meta (@ (name "description")
-                       (content
-                        "GuixSD is GNU's advanced system
-distribution. GNU is an operating system which respects the freedom of
-computer users. You are free to run the system for any purpose, study
-how it works, improve it, and share it with the whole world.")))
-              (meta (@ (name "keywords")
-                       (content
-                        "GNU, FSF, Free Software Foundation, Linux,
-Emacs, GCC, Unix, Free Software, Libre Software, Operating System, GNU
-Kernel, GNU Hurd, GUix Package Manager, Guile Scheme, Functional
-package management")))
-              (meta (@ (name "viewport")
-                       (content "width=device-width, initial-scale=1.0")))
-              (link (@ (type "text/css")
-                       (rel "stylesheet")
-                       (href "/software/guix/static/base/css/base.css")))
-              (link (@ (type "text/css")
-                       (rel "stylesheet")
-                       (href "/software/guix/static/base/css/article.css")))
-              (link (@ (type "image/png")
-                       (rel "icon")
-                       (href "/software/guix/static/base/img/favicon.png")))
-              (link (@ (rel "license") (href "Pending...")))
-              (title "About - GuixSD"))
-        (body (div (@ (class "message-box msg-info"))
-                   (span (@ (class "msg-label")) "Note")
-                   "The Guix System Distribution (GuixSD) is alpha
-software. This means it is not production-ready. It may contain bugs
-and lack important features. But more than a disclaimer, this is an
-invitation to join us in improving it. See "
-                   (a (@ (href "/software/guix/contribute/"))
-                      "Contributing")
-                   ", for more information. We hope you can soon
-switch to GuixSD without fear. ")
-              (div (@ (id "header-box"))
-                   (a (@ (id "logo") (href "/software/guix/"))
-                      (img (@ (src 
"/software/guix/static/base/img/GuixSD-logo.png")
-                              (alt "GuixSD"))))
-                   (ul (@ (id "site-nav"))
-                       (li (a (@ (href "/software/guix/download/"))
-                              "Download"))
-                       (li (a (@ (href "/software/guix/package-list.html"))
-                              "Packages"))
-                       (li (a (@ (href "/software/guix/help/")) "Help"))
-                       (li (a (@ (href "/software/guix/contribute/"))
-                              "Contribute"))
-                       (li (a (@ (href "/software/guix/donate/"))
-                              "Donate"))
-                       (li (a (@ (href "/software/guix/about/"))
-                              "About"))))
-              (div (@ (id "content-box"))
-                   (article
-                    (h1 "About the Project")
-                    (p "The "
-                       (em "Guix System Distribution (GuixSD)")
-                       " and the "
-                       (em "GNU Guix")
-                       " package manager are free software projects
-developed by the "
-                       (a (@ (href "http://www.gnu.org/";))
-                          "GNU Project")
-                       " and independent volunteers from various
-parts of the world. This is the official website for both projects. ")
-                    (blockquote
-                     (p (strong
-                         "Free software means the users have the
-freedom to run, copy, distribute, study, change and improve the
-software."))
-                     (p "Free software is a matter of liberty, not
-price. To understand the concept, you should think of \"free\" as in
-\"free speech\", not as in \"free beer\". ")
-                     (p "More precisely, free software means users of
-a program have the "
-                        (a (@ (href "/philosophy/free-sw.html"))
-                           "four essential freedoms")
-                        ":")
-                     (ul (li "The freedom to run the program as you
-wish, for any purpose (freedom 0).")
-                         (li "The freedom to study how the program
-works, and adapt it to your needs (freedom 1). Access to the source
-code is a precondition for this.")
-                         (li "The freedom to redistribute copies so
-you can help your neighbor (freedom 2).")
-                         (li "The freedom to improve the program, and
-release your improvements to the public, so that the whole community
-benefits (freedom 3). Access to the source code is a precondition for
-this."))
-                     (p "\xa0gnu.org"))
-                    (h2 (@ (id "mantainer")) "Maintainer")
-                    (p "Guix is currently being maintained by Ludovic
+  `(html (@ (lang "en"))
+        ,(html-page-header "About")
+        (body
+         ,(html-page-description)
+         ,(html-page-links)
+         (div (@ (id "content-box"))
+              (article
+               (h1 "About the Project")
+               (p "The "
+                  (em "Guix System Distribution (GuixSD)")
+                  " and the "
+                  (em "GNU Guix")
+                  " package manager are free software projects developed by
+the "
+                  (a (@ (href "http://www.gnu.org/";))
+                     "GNU Project")
+                  " and independent volunteers from various parts of the
+world. This is the official website for both projects. ")
+               (blockquote
+                (p (strong
+                    "Free software means the users have the freedom to run,
+copy, distribute, study, change and improve the software."))
+                (p "Free software is a matter of liberty, not price. To
+understand the concept, you should think of \"free\" as in \"free speech\", not
+as in \"free beer\". ")
+                (p "More precisely, free software means users of a program have
+the "
+                   (a (@ (href "/philosophy/free-sw.html"))
+                      "four essential freedoms")
+                   ":")
+                (ul (li "The freedom to run the program as you wish, for any
+purpose (freedom 0).")
+                    (li "The freedom to study how the program works, and adapt
+it to your needs (freedom 1). Access to the source code is a precondition for
+this.")
+                    (li "The freedom to redistribute copies so you can help
+your neighbor (freedom 2).")
+                    (li "The freedom to improve the program, and release your
+improvements to the public, so that the whole community benefits (freedom
+3). Access to the source code is a precondition for this."))
+                (p "\xa0gnu.org"))
+               (h2 (@ (id "mantainer")) "Maintainer")
+               (p "Guix is currently being maintained by Ludovic
 Courtès. Please use the "
-                       (a (@ (href "#contact")) "mailing lists")
-                       " for contact. ")
-                    (h2 (@ (id "license")) "Licensing")
-                    (p "Guix is free software; you can redistribute
-it and/or modify it under the terms of the "
-                       (a (@ (rel "license") (href "/licenses/gpl.html"))
-                          "GNU General Public License")
-                       " as published by the Free Software Foundation; either 
version\xa03 of the License, or (at your option) any later version. ")
-                    (h2 (@ (id "contact")) "Contact")
-                    (p (a (@ (href 
"https://lists.gnu.org/mailman/listinfo/guix-devel";))
-                          (b "guix-devel"))
-                       (small " ("
-                              (a (@ (href 
"https://lists.gnu.org/archive/html/guix-devel";))
-                                 "archive")
-                              ")")
-                       (br)
-                       "Discussion about the development of GNU Guix
-and the Guix System Distribution (GuixSD). "
-                       (a (@ (href 
"http://lists.gnu.org/archive/html/bug-guix/2013-07/msg00039.html";))
-                          " Until July 2013")
-                       ", the bug-Guix mailing list filled that
-role. ")
-                    (p (a (@ (href 
"https://lists.gnu.org/mailman/listinfo/bug-guix";))
-                          (b "bug-guix"))
-                       (small " ("
-                              (a (@ (href 
"https://lists.gnu.org/archive/html/bug-guix";))
-                                 "archive")
-                              ")")
-                       (br)
-                       " Bug reports for GNU Guix and the Guix System 
Distribution. ")
-                    (p (a (@ (href 
"https://lists.gnu.org/mailman/listinfo/gnu-system-discuss";))
-                          (b "gnu-system-discuss"))
-                       (small " ("
-                              (a (@ (href 
"http://lists.gnu.org/archive/html/gnu-system-discuss/";))
-                                 "archive")
-                              ") ")
-                       (br)
-                       "Discussion about the development of the
-broader GNU system. ")
-                    (p (a (@ (href 
"https://lists.nongnu.org/mailman/listinfo/gnu-linux-libre";))
-                          (b "gnu-linux-libre"))
-                       (small " ("
-                              (a (@ (href 
"http://lists.nongnu.org/archive/html/gnu-linux-libre/";))
-                                 "archive")
-                              ") ")
-                       (br)
-                       "Workgroup for fully free GNU/Linux
-distributions.")
-                    (dl (dt "Commit notifications")
-                        (dd (p (a (@ (href 
"https://lists.gnu.org/mailman/listinfo/guix-commits";))
-                                  "Guix-commits")
-                               " receives notifications of commits to the "
-                               (a (@ (href "#contribute"))
-                                  "version control repository")
-                               "."))
-                        (dt "Announcements")
-                        (dd (p "Announcements about Guix and most
-other GNU software are made on "
-                               (a (@ (href 
"http://lists.gnu.org/mailman/listinfo/info-gnu";))
-                                  "info-gnu")
-                               " ("
-                               (a (@ (href 
"http://lists.gnu.org/archive/html/info-gnu/";))
-                                  "archive")
-                               ")."))
-                        (dt "Security reports")
-                        (dd (p "Security reports that should not be
-made immediately public can be sent directly to the maintainer.  If
-there is no response to an urgent issue, you can escalate to the
-general "
-                               (a (@ (href 
"http://lists.gnu.org/mailman/listinfo/security";))
-                                  "security")
-                               " mailing list for advice."))
-                        (dt "Internet relay chat")
-                        (dd (p "Some Guix users and developers hang
-out on the "
-                               (em "#guix")
-                               " channel of the Freenode IRC
-network ("
-                               (a (@ (href "https://gnunet.org/bot/log/guix/";))
-                                  "logs")
-                               ").")))))
-              (div (@ (id "footer-box"))
-                   "copyleft 2015 GuixSD "
-                   (a (@ (href "/software/guix/contribute/")
-                         (class "hlink-yellow"))
-                      "Contributors")
-                   ". Made with "
-                   (span (@ (class "metta")) "♥")
-                   " by humans."))))
+                  (a (@ (href "#contact")) "mailing lists")
+                  " for contact. ")
+               (h2 (@ (id "license")) "Licensing")
+               (p "Guix is free software; you can redistribute it and/or modify
+it under the terms of the "
+                  (a (@ (rel "license") (href "/licenses/gpl.html"))
+                     "GNU General Public License")
+                  " as published by the Free Software Foundation; either
+version\xa03 of the License, or (at your option) any later version. ")
+               (h2 (@ (id "contact")) "Contact")
+               (p (a (@ (href 
"https://lists.gnu.org/mailman/listinfo/guix-devel";))
+                     (b "guix-devel"))
+                  (small " ("
+                         (a (@ (href 
"https://lists.gnu.org/archive/html/guix-devel";))
+                            "archive")
+                         ")")
+                  (br)
+                  "Discussion about the development of GNU Guix and the Guix
+System Distribution (GuixSD). "
+                  (a (@ (href 
"http://lists.gnu.org/archive/html/bug-guix/2013-07/msg00039.html";))
+                     " Until July 2013")
+                  ", the bug-Guix mailing list filled that role. ")
+               (p (a (@ (href 
"https://lists.gnu.org/mailman/listinfo/bug-guix";))
+                     (b "bug-guix"))
+                  (small " ("
+                         (a (@ (href 
"https://lists.gnu.org/archive/html/bug-guix";))
+                            "archive")
+                         ")")
+                  (br)
+                  "Bug reports for GNU Guix and the Guix System Distribution.")
+               (p (a (@ (href 
"https://lists.gnu.org/mailman/listinfo/gnu-system-discuss";))
+                     (b "gnu-system-discuss"))
+                  (small " ("
+                         (a (@ (href 
"http://lists.gnu.org/archive/html/gnu-system-discuss/";))
+                            "archive")
+                         ") ")
+                  (br)
+                  "Discussion about the development of the broader GNU
+system.")
+               (p (a (@ (href 
"https://lists.nongnu.org/mailman/listinfo/gnu-linux-libre";))
+                     (b "gnu-linux-libre"))
+                  (small " ("
+                         (a (@ (href 
"http://lists.nongnu.org/archive/html/gnu-linux-libre/";))
+                            "archive")
+                         ") ")
+                  (br)
+                  "Workgroup for fully free GNU/Linux distributions.")
+               (dl (dt "Commit notifications")
+                   (dd (p (a (@ (href 
"https://lists.gnu.org/mailman/listinfo/guix-commits";))
+                             "Guix-commits")
+                          " receives notifications of commits to the "
+                          (a (@ (href "#contribute"))
+                             "version control repository")
+                          "."))
+                   (dt "Announcements")
+                   (dd (p "Announcements about Guix and most other GNU software
+are made on "
+                          (a (@ (href 
"http://lists.gnu.org/mailman/listinfo/info-gnu";))
+                             "info-gnu")
+                          "("
+                          (a (@ (href 
"http://lists.gnu.org/archive/html/info-gnu/";))
+                             "archive")
+                          ")."))
+                   (dt "Security reports")
+                   (dd (p "Security reports that should not be made immediately
+public can be sent directly to the maintainer.  If there is no response to an
+urgent issue, you can escalate to the general "
+                          (a (@ (href 
"http://lists.gnu.org/mailman/listinfo/security";))
+                             "security")
+                          " mailing list for advice."))
+                   (dt "Internet relay chat")
+                   (dd (p "Some Guix users and developers hang out on the "
+                          (em "#guix")
+                          " channel of the Freenode IRC network ("
+                          (a (@ (href "https://gnunet.org/bot/log/guix/";))
+                             "logs")
+                          ").")))))
+         ,(html-page-footer))))
diff --git a/website/www/contribute.scm b/website/www/contribute.scm
index da254c9..076412a 100644
--- a/website/www/contribute.scm
+++ b/website/www/contribute.scm
@@ -1,222 +1,158 @@
 (define-module (www contribute)
+  #:use-module (www shared)
   #:export (contribute-page))
 
 (define contribute-page
-  '(html (@ (lang "en"))
-        (head (meta (@ (charset "utf-8")))
-              (meta (@ (name "author")
-                       (content "GuixSD Contributors")))
-              (meta (@ (name "description")
-                       (content
-                        "GuixSD is GNU's advanced system
-distribution. GNU is an operating system which respects the freedom of
-computer users. You are free to run the system for any purpose, study
-how it works, improve it, and share it with the whole world.")))
-              (meta (@ (name "keywords")
-                       (content
-                        "GNU, FSF, Free Software Foundation, Linux,
-Emacs, GCC, Unix, Free Software, Libre Software, Operating System, GNU
-Kernel, GNU Hurd, GUix Package Manager, Guile Scheme, Functional
-package management")))
-              (meta (@ (name "viewport")
-                       (content "width=device-width, initial-scale=1.0")))
-              (link (@ (type "text/css")
-                       (rel "stylesheet")
-                       (href "/software/guix/static/base/css/base.css")))
-              (link (@ (type "text/css")
-                       (rel "stylesheet")
-                       (href "/software/guix/static/base/css/article.css")))
-              (link (@ (type "image/png")
-                       (rel "icon")
-                       (href "/software/guix/static/base/img/favicon.png")))
-              (link (@ (rel "license") (href "Pending...")))
-              (title "Contribute - GuixSD"))
-        (body (div (@ (class "message-box msg-info"))
-                   (span (@ (class "msg-label")) "Note")
-                   "The Guix System Distribution (GuixSD) is alpha
-software. This means it is not production-ready. It may contain bugs
-and lack important features. But more than a disclaimer, this is an
-invitation to join us in improving it. See "
-                   (a (@ (href "/software/guix/contribute/"))
-                      "Contributing")
-                   ", for more information. We hope you can soon
-switch to GuixSD without fear. ")
-              (div (@ (id "header-box"))
-                   (a (@ (id "logo") (href "/software/guix/"))
-                      (img (@ (src 
"/software/guix/static/base/img/GuixSD-logo.png")
-                              (alt "GuixSD"))))
-                   (ul (@ (id "site-nav"))
-                       (li (a (@ (href "/software/guix/download/"))
-                              "Download"))
-                       (li (a (@ (href "/software/guix/package-list.html"))
-                              "Packages"))
-                       (li (a (@ (href "/software/guix/help/")) "Help"))
-                       (li (a (@ (href "/software/guix/contribute/"))
-                              "Contribute"))
-                       (li (a (@ (href "/software/guix/donate/"))
-                              "Donate"))
-                       (li (a (@ (href "/software/guix/about/"))
-                              "About"))))
-              (div (@ (id "content-box"))
-                   (article
-                    (h1 "Contribute")
-                    (p "The Guix System Distribution is a large
-project developed mostly by volunteers from all around the world. You
-are welcome to join us in the "
-                       (a (@ (href 
"http://lists.gnu.org/mailman/listinfo/guix-devel";))
-                          "development mailing list")
-                       " or in the "
-                       (a (@ (href 
"http://webchat.freenode.net/?channels=%23guix";))
-                          "#guix channel")
-                       " in IRC Freenode. Tell us how would you like
-to help, and we will do our best to guide you. ")
-                    (div (@ (class "text-center"))
-                         (div (@ (class "summary-box"))
-                              (h2 (@ (id "pms"))
-                                  "Project Management System")
-                              (p "We use "
-                                 (a (@ (href "https://savannah.gnu.org/";))
-                                    "Savannah")
-                                 " as the central point for
-development, maintenance and distribution of the Guix System
-Distribution and GNU Guix.")
-                              (p " The source files for all the
-components of the project, including software, webiste, documentation,
-and artwork, are available in various repositories in Savannah. ")
-                              (a (@ (href 
"https://savannah.gnu.org/projects/guix";)
-                                    (class "hlink-more-dark"))
-                                 "Get the source"))
-                         (div (@ (class "summary-box"))
-                              (h2 (@ (id "art")) "Art")
-                              (p "We are always looking for artists
-to help us design and improve user interfaces, and create multimedia
-material for documentation, presentations, and promotional items. ")
-                              (p "The artwork used in the different
-components of the project is available in the "
-                                 (a (@ (href 
"http://git.savannah.gnu.org/cgit/guix/guix-artwork.git";))
-                                    "guix-artwork")
-                                 " repository. ")
-                              (a (@ (href 
"http://lists.gnu.org/mailman/listinfo/guix-devel";)
-                                    (class "hlink-more-dark"))
-                                 "Contribute"))
-                         (div (@ (class "summary-box"))
-                              (h2 (@ (id "documentation"))
-                                  "Documentation")
-                              (p "You can read the "
-                                 (a (@ (href "/software/guix/help/"))
-                                    "project documentation")
-                                 " already available in the system
-and in the website, and help us identify any errors or
-omissions. Creating new manuals, tutorials, and blog entries will also
-help users and developers discover what we do. ")
-                              (p "Helping improve the documentation
-of the "
-                                 (a (@ (href "/software/guix/packages/"))
-                                    "packaged software")
-                                 " is another way to contribute. ")
-                              (a (@ (href 
"http://lists.gnu.org/mailman/listinfo/guix-devel";)
-                                    (class "hlink-more-dark"))
-                                 "Start writing"))
-                         (div (@ (class "summary-box"))
-                              (h2 (@ (id "packages")) "Packages")
-                              (p "Hundreds of software,
-documentation, and assets need to be packaged to make it easier for
-users to install their favorite tools with the Guix package manager,
-and be productive using the system. ")
-                              (p "Information on how to add packages
-to the distribution can be found "
-                                 (a (@ (href 
"/software/guix/manual/guix.html#Packaging-Guidelines"))
-                                    "in the manual")
-                                 ". ")
-                              (a (@ (href 
"http://lists.gnu.org/mailman/listinfo/guix-devel";)
-                                    (class "hlink-more-dark"))
-                                 "Send a new package"))
-                         (div (@ (class "summary-box"))
-                              (h2 (@ (id "programming")) "Programming")
-                              (p "We use "
-                                 (a (@ (href "/software/guile/"))
-                                    "GNU Guile")
-                                 " as the main programming and
-extension language for the components of the system. ")
-                              (p "You will find it useful to browse
+  `(html (@ (lang "en"))
+        ,(html-page-header "Contribute")
+        (body
+         ,(html-page-description)
+         ,(html-page-links)
+         (div (@ (id "content-box"))
+              (article
+               (h1 "Contribute")
+               (p "The Guix System Distribution is a large project developed
+mostly by volunteers from all around the world. You are welcome to join us in
 the "
-                                 (a (@ (href "/software/guile/manual"))
-                                    "Guile's manual")
-                                 " or other "
-                                 (a (@ (href 
"http://schemers.org/Documents/#intro-texts";))
-                                    "introductory material about
-Scheme")
-                                 ". Also, make sure to read the "
-                                 (a (@ (href 
"http://git.savannah.gnu.org/cgit/guix.git/tree/HACKING";))
-                                    "HACKING")
-                                 " files for more details on the
-development setup, as well as the coding and cooperation conventions
-used in the project. ")
-                              (a (@ (href 
"http://lists.gnu.org/mailman/listinfo/guix-devel";)
-                                    (class "hlink-more-dark"))
-                                 "Send a new patch"))
-                         (div (@ (class "summary-box"))
-                              (h2 (@ (id "sysadmin"))
-                                  "System Administration")
-                              (p "Our system infrastructure makes it
-possible for all the contributors to communicate and collaborate in
-the project, and users to be able to download and install
-packages. Help us keep the system up and running smoothly. ")
-                              (p "You can also "
-                                 (a (@ (href "/software/guix/donate/"))
-                                    "donate hardware or hosting")
-                                 ". ")
-                              (a (@ (href 
"http://lists.gnu.org/mailman/listinfo/guix-devel";)
-                                    (class "hlink-more-dark"))
-                                 "Contribute"))
-                         (div (@ (class "summary-box"))
-                              (h2 (@ (id "testing"))
-                                  "Test and Bug Reports")
-                              (p "Install the software and send
-feedback to the community about your experience. Help the project
-reporting bugs.")
-                              (p "Before reporting a bug, please
-check whether the bug is already "
-                                 (a (@ (href "http://debbugs.gnu.org/guix";))
-                                    "in the bug database")
-                                 ". See "
-                                 (a (@ (href 
"http://debbugs.gnu.org/Developer.html";))
-                                    "the developer information page")
-                                 " for more information on how to
-manipulate bug reports. ")
-                              (a (@ (href 
"https://lists.gnu.org/mailman/listinfo/bug-guix";)
-                                    (class "hlink-more-dark"))
-                                 "Report a bug"))
-                         (div (@ (class "summary-box"))
-                              (h2 (@ (id "translation")) "Translation")
-                              (p "You can help us translate software
-and documentation to your language. The main components of the Guix
-System Distribution, including the Guix package manager, can be
-translated in the "
-                                 (a (@ (href "http://translationproject.org/";))
-                                    "Translation Project")
-                                 ".")
-                              (p "Other "
-                                 (a (@ (href "/software/guix/packages/"))
-                                    "software packaged")
-                                 " for the system may have their own
-translation tools. Visit their websites and help translate. ")
-                              (a (@ (href "http://translationproject.org/";)
-                                    (class "hlink-more-dark"))
-                                 "Start translating")))
-                    (h2 (@ (id "resources"))
-                        "Other resources for contributors")
-                    (p "Documents, supporting material of previous
-talks, and auxiliary information useful to hackers and maintainers is
-available at "
-                       (a (@ (href 
"http://git.savannah.gnu.org/cgit/guix/maintenance.git";))
-                          "git://git.sv.gnu.org/guix/maintenance.git")
-                       ".")))
-              (div (@ (id "footer-box"))
-                   "copyleft 2015 GuixSD "
-                   (a (@ (href "/software/guix/contribute/")
-                         (class "hlink-yellow"))
-                      "Contributors")
-                   ". Made with "
-                   (span (@ (class "metta")) "♥")
-                   " by humans."))))
+                  (a (@ (href 
"http://lists.gnu.org/mailman/listinfo/guix-devel";))
+                     "development mailing list")
+                  " or in the "
+                  (a (@ (href "http://webchat.freenode.net/?channels=%23guix";))
+                     "#guix channel")
+                  " in IRC Freenode. Tell us how would you like to help, and we
+will do our best to guide you. ")
+               (div (@ (class "text-center"))
+                    (div (@ (class "summary-box"))
+                         (h2 (@ (id "pms"))
+                             "Project Management System")
+                         (p "We use "
+                            (a (@ (href "https://savannah.gnu.org/";))
+                               "Savannah")
+                            " as the central point for development,
+maintenance and distribution of the Guix System Distribution and GNU Guix.")
+                         (p "The source files for all the components of the
+project, including software, webiste, documentation, and artwork, are available
+in various repositories in Savannah. ")
+                         (a (@ (href "https://savannah.gnu.org/projects/guix";)
+                               (class "hlink-more-dark"))
+                            "Get the source"))
+                    (div (@ (class "summary-box"))
+                         (h2 (@ (id "art")) "Art")
+                         (p "We are always looking for artists to help us
+design and improve user interfaces, and create multimedia material for
+documentation, presentations, and promotional items. ")
+                         (p "The artwork used in the different components of
+the project is available in the "
+                            (a (@ (href 
"http://git.savannah.gnu.org/cgit/guix/guix-artwork.git";))
+                               "guix-artwork")
+                            "repository. ")
+                         (a (@ (href 
"http://lists.gnu.org/mailman/listinfo/guix-devel";)
+                               (class "hlink-more-dark"))
+                            "Contribute"))
+                    (div (@ (class "summary-box"))
+                         (h2 (@ (id "documentation"))
+                             "Documentation")
+                         (p "You can read the "
+                            (a (@ (href "/software/guix/help/"))
+                               "project documentation")
+                            " already available in the system and in the
+website, and help us identify any errors or omissions. Creating new manuals,
+tutorials, and blog entries will also help users and developers discover what 
we
+do. ")
+                         (p "Helping improve the documentation of
+the "
+                            (a (@ (href "/software/guix/packages/"))
+                               "packaged software")
+                            " is another way to contribute. ")
+                         (a (@ (href 
"http://lists.gnu.org/mailman/listinfo/guix-devel";)
+                               (class "hlink-more-dark"))
+                            "Start writing"))
+                    (div (@ (class "summary-box"))
+                         (h2 (@ (id "packages")) "Packages")
+                         (p "Hundreds of software, documentation, and assets
+need to be packaged to make it easier for users to install their favorite tools
+with the Guix package manager, and be productive using the system. ")
+                         (p "Information on how to add packages to the
+distribution can be found "
+                            (a (@ (href 
"/software/guix/manual/guix.html#Packaging-Guidelines"))
+                               "in the manual")
+                            ". ")
+                         (a (@ (href 
"http://lists.gnu.org/mailman/listinfo/guix-devel";)
+                               (class "hlink-more-dark"))
+                            "Send a new package"))
+                    (div (@ (class "summary-box"))
+                         (h2 (@ (id "programming")) "Programming")
+                         (p "We use "
+                            (a (@ (href "/software/guile/"))
+                               "GNU Guile")
+                            " as the main programming and extension language
+for the components of the system. ")
+                         (p "You will find it useful to browse the "
+                            (a (@ (href "/software/guile/manual"))
+                               "Guile's manual")
+                            " or other "
+                            (a (@ (href 
"http://schemers.org/Documents/#intro-texts";))
+                               "introductory material about Scheme")
+                            ". Also, make sure to read the "
+                            (a (@ (href 
"http://git.savannah.gnu.org/cgit/guix.git/tree/HACKING";))
+                               "HACKING")
+                            " files for more details on the development setup,
+as well as the coding and cooperation conventions used in the project. ")
+                         (a (@ (href 
"http://lists.gnu.org/mailman/listinfo/guix-devel";)
+                               (class "hlink-more-dark"))
+                            "Send a new patch"))
+                    (div (@ (class "summary-box"))
+                         (h2 (@ (id "sysadmin"))
+                             "System Administration")
+                         (p "Our system infrastructure makes it possible for
+all the contributors to communicate and collaborate in the project, and users 
to
+be able to download and install packages. Help us keep the system up and 
running
+smoothly. ")
+                         (p "You can also "
+                            (a (@ (href "/software/guix/donate/"))
+                               "donate hardware or hosting")
+                            ". ")
+                         (a (@ (href 
"http://lists.gnu.org/mailman/listinfo/guix-devel";)
+                               (class "hlink-more-dark"))
+                            "Contribute"))
+                    (div (@ (class "summary-box"))
+                         (h2 (@ (id "testing"))
+                             "Test and Bug Reports")
+                         (p "Install the software and send feedback to the
+community about your experience. Help the project reporting bugs.")
+                         (p "Before reporting a bug, please check whether the
+bug is already "
+                            (a (@ (href "http://debbugs.gnu.org/guix";))
+                               "in the bug database")
+                            ". See "
+                            (a (@ (href 
"http://debbugs.gnu.org/Developer.html";))
+                               "the developer information page")
+                            " for more information on how to manipulate bug
+reports. ")
+                         (a (@ (href 
"https://lists.gnu.org/mailman/listinfo/bug-guix";)
+                               (class "hlink-more-dark"))
+                            "Report a bug"))
+                    (div (@ (class "summary-box"))
+                         (h2 (@ (id "translation")) "Translation")
+                         (p "You can help us translate software and
+documentation to your language. The main components of the Guix System
+Distribution, including the Guix package manager, can be translated in the "
+                            (a (@ (href "http://translationproject.org/";))
+                               "Translation Project")
+                            ".")
+                         (p "Other "
+                            (a (@ (href "/software/guix/packages/"))
+                               "software packaged")
+                            " for the system may have their own translation
+tools. Visit their websites and help translate. ")
+                         (a (@ (href "http://translationproject.org/";)
+                               (class "hlink-more-dark"))
+                            "Start translating")))
+               (h2 (@ (id "resources"))
+                   "Other resources for contributors")
+               (p "Documents, supporting material of previous talks, and
+auxiliary information useful to hackers and maintainers is available at "
+                  (a (@ (href 
"http://git.savannah.gnu.org/cgit/guix/maintenance.git";))
+                     "git://git.sv.gnu.org/guix/maintenance.git")
+                  ".")))
+         ,(html-page-footer))))
diff --git a/website/www/donate.scm b/website/www/donate.scm
index 8072a19..5ded10a 100644
--- a/website/www/donate.scm
+++ b/website/www/donate.scm
@@ -1,135 +1,76 @@
 (define-module (www donate)
+  #:use-module (www shared)
   #:export (donate-page))
 
 (define donate-page
-  '(html (@ (lang "en"))
-        (head (meta (@ (charset "utf-8")))
-              (meta (@ (name "author")
-                       (content "GuixSD Contributors")))
-              (meta (@ (name "description")
-                       (content
-                        "GuixSD is GNU's advanced system
-distribution. GNU is an operating system which respects the freedom of
-computer users. You are free to run the system for any purpose, study
-how it works, improve it, and share it with the whole world.")))
-              (meta (@ (name "keywords")
-                       (content
-                        "GNU, FSF, Free Software Foundation, Linux,
-Emacs, GCC, Unix, Free Software, Libre Software, Operating System, GNU
-Kernel, GNU Hurd, GUix Package Manager, Guile Scheme, Functional
-package management")))
-              (meta (@ (name "viewport")
-                       (content "width=device-width, initial-scale=1.0")))
-              (link (@ (type "text/css")
-                       (rel "stylesheet")
-                       (href "/software/guix/static/base/css/base.css")))
-              (link (@ (type "text/css")
-                       (rel "stylesheet")
-                       (href "/software/guix/static/base/css/article.css")))
-              (link (@ (type "image/png")
-                       (rel "icon")
-                       (href "/software/guix/static/base/img/favicon.png")))
-              (link (@ (rel "license") (href "Pending...")))
-              (title "Donate - GuixSD"))
-        (body (div (@ (class "message-box msg-info"))
-                   (span (@ (class "msg-label")) "Note")
-                   "The Guix System Distribution (GuixSD) is alpha
-software. This means it is not production-ready. It may contain bugs
-and lack important features. But more than a disclaimer, this is an
-invitation to join us in improving it. See "
-                   (a (@ (href "/software/guix/contribute/"))
-                      "Contributing")
-                   ", for more information. We hope you can soon
-switch to GuixSD without fear. ")
-              (div (@ (id "header-box"))
-                   (a (@ (id "logo") (href "/software/guix/"))
-                      (img (@ (src 
"/software/guix/static/base/img/GuixSD-logo.png")
-                              (alt "GuixSD"))))
-                   (ul (@ (id "site-nav"))
-                       (li (a (@ (href "/software/guix/download/"))
-                              "Download"))
-                       (li (a (@ (href "/software/guix/package-list.html"))
-                              "Packages"))
-                       (li (a (@ (href "/software/guix/help/")) "Help"))
-                       (li (a (@ (href "/software/guix/contribute/"))
-                              "Contribute"))
-                       (li (a (@ (href "/software/guix/donate/"))
-                              "Donate"))
-                       (li (a (@ (href "/software/guix/about/"))
-                              "About"))))
-              (div (@ (id "content-box"))
-                   (article
-                    (h1 "Donate")
-                    (p "The "
-                       (a (@ (href "http://hydra.gnu.org/jobset/gnu/master";))
-                          "build farm")
-                       " of the Guix System Distribution runs on
-donated hardware and hosting. Please consider helping the project with
-donations. ")
-                    (p "As the distribution grows (see the "
-                       (a (@ (href "/software/guix/packages/"))
-                          "package list")
-                       "), so do the computing and storage needs. We
-are looking for donations of hardware and optionally hosting for the
-following kinds of machines (they should be usable with exclusively
-free software): ")
-                    (ul (li "x86_64 machines, with on the order of
-1\xa0TiB of storage and 4\xa0GiB of RAM;")
-                        (li "armv7 machines that would allow us to
-provide pre-built binaries for the "
-                            (a (@ (href 
"https://savannah.gnu.org/forum/forum.php?forum_id=8175";))
-                               "recently-added ARM port")
-                            ";")
-                        (li "mips64el machines to strengthen this port."))
-                    (p "Please get in touch with us through the "
-                       (a (@ (href "/software/guix/about/#contact"))
-                          "usual channels")
-                       "or using the address@hidden private
-alias to discuss any opportunities. ")
-                    (h2 (@ (id "hardware-donors"))
-                        "Thanks to the donors!")
-                    (p "The table below summarizes hardware and
-hosting donations that make the "
-                       (a (@ (href "http://hydra.gnu.org";))
-                          "build farm")
-                       " for the Guix System Distribution a
+  `(html (@ (lang "en"))
+        ,(html-page-header "Home")
+        (body
+         ,(html-page-description)
+         ,(html-page-links)
+         (div (@ (id "content-box"))
+              (article
+               (h1 "Donate")
+               (p "The "
+                  (a (@ (href "http://hydra.gnu.org/jobset/gnu/master";))
+                     "build farm")
+                  " of the Guix System Distribution runs on donated hardware
+and hosting. Please consider helping the project with donations. ")
+               (p "As the distribution grows (see the "
+                  (a (@ (href "/software/guix/packages/"))
+                     "package list")
+                  "), so do the computing and storage needs. We are looking for
+donations of hardware and optionally hosting for the following kinds of
+machines (they should be usable with exclusively free software): ")
+               (ul (li "x86_64 machines, with on the order of 1\xa0TiB of
+storage and 4\xa0GiB of RAM;")
+                   (li "armv7 machines that would allow us to provide pre-built
+binaries for the "
+                       (a (@ (href 
"https://savannah.gnu.org/forum/forum.php?forum_id=8175";))
+                          "recently-added ARM port")
+                       ";")
+                   (li "mips64el machines to strengthen this port."))
+               (p "Please get in touch with us through the "
+                  (a (@ (href "/software/guix/about/#contact"))
+                     "usual channels")
+                  "or using the address@hidden private alias to discuss
+any opportunities. ")
+               (h2 (@ (id "hardware-donors")) "Thanks to the donors!")
+               (p "The table below summarizes hardware and hosting donations
+that make the "
+                  (a (@ (href "http://hydra.gnu.org";))
+                     "build farm")
+                  " for the Guix System Distribution a
 reality.")
-                    (table (thead (tr (th "machine")
-                                      (th "system")
-                                      (th "donors")))
-                           (tbody (tr (td "hydra.gnu.org")
-                                      (td "build farm front-end")
-                                      (td (ul (li (a (@ (href 
"http://www.fsf.org/";))
-                                                     "Free Software \t         
 Foundation")))))
-                                  (tr (td "hydra.gnunet.org")
-                                      (td "x86_64-linux, i686-linux")
-                                      (td (ul (li (a (@ (href 
"https://gnunet.org/fsnsg";))
-                                                     "Free Secure
+               (table (thead (tr (th "machine")
+                                 (th "system")
+                                 (th "donors")))
+                      (tbody (tr (td "hydra.gnu.org")
+                                 (td "build farm front-end")
+                                 (td (ul (li (a (@ (href 
"http://www.fsf.org/";))
+                                                "Free Software \t          
Foundation")))))
+                             (tr (td "hydra.gnunet.org")
+                                 (td "x86_64-linux, i686-linux")
+                                 (td (ul (li (a (@ (href 
"https://gnunet.org/fsnsg";))
+                                                "Free Secure
 Network Systems Group")
-                                                  " at the "
-                                                  (a (@ (href 
"http://www.tum.de/";))
-                                                     "Technische
+                                             " at the "
+                                             (a (@ (href "http://www.tum.de/";))
+                                                "Technische
 Universität München")))))
-                                  (tr (td "chapters.gnu.org")
-                                      (td "x86_64-linux, i686-linux")
-                                      (td (ul (li (a (@ (href 
"http://es.gnu.org";))
-                                                     "GNU\xa0España")
-                                                  " (hardware)")
-                                              (li (a (@ (href 
"http://fsffrance.org/index.en.html";))
-                                                     "FSF\xa0France")
-                                                  " (hosting)"))))
-                                  (tr (td "wildebeest")
-                                      (td "x86_64-linux, i686-linux")
-                                      (td (ul (li "anonymous"))))
-                                  (tr (td "librenote")
-                                      (td "mips64el-linux")
-                                      (td (ul (li "Daniel Clark (hardware)")
-                                              (li "Mark H. Weaver 
(hosting)"))))))))
-              (div (@ (id "footer-box"))
-                   "copyleft 2015 GuixSD "
-                   (a (@ (href "/software/guix/contribute/")
-                         (class "hlink-yellow"))
-                      "Contributors")
-                   ". Made with "
-                   (span (@ (class "metta")) "♥")
-                   " by humans."))))
+                             (tr (td "chapters.gnu.org")
+                                 (td "x86_64-linux, i686-linux")
+                                 (td (ul (li (a (@ (href "http://es.gnu.org";))
+                                                "GNU\xa0España")
+                                             " (hardware)")
+                                         (li (a (@ (href 
"http://fsffrance.org/index.en.html";))
+                                                "FSF\xa0France")
+                                             " (hosting)"))))
+                             (tr (td "wildebeest")
+                                 (td "x86_64-linux, i686-linux")
+                                 (td (ul (li "anonymous"))))
+                             (tr (td "librenote")
+                                 (td "mips64el-linux")
+                                 (td (ul (li "Daniel Clark (hardware)")
+                                         (li "Mark H. Weaver (hosting)"))))))))
+         ,(html-page-footer))))
diff --git a/website/www/download.scm b/website/www/download.scm
index 4aef10d..35a86ec 100644
--- a/website/www/download.scm
+++ b/website/www/download.scm
@@ -1,185 +1,126 @@
 (define-module (www download)
+  #:use-module (www shared)
   #:export (download-page))
 
 (define download-page
-  '(html (@ (lang "en"))
-        (head (meta (@ (charset "utf-8")))
-              (meta (@ (name "author")
-                       (content "GuixSD Contributors")))
-              (meta (@ (name "description")
-                       (content
-                        "GuixSD is GNU's advanced system
-distribution. GNU is an operating system which respects the freedom of
-computer users. You are free to run the system for any purpose, study
-how it works, improve it, and share it with the whole world.")))
-              (meta (@ (name "keywords")
-                       (content
-                        "GNU, FSF, Free Software Foundation, Linux,
-Emacs, GCC, Unix, Free Software, Libre Software, Operating System, GNU
-Kernel, GNU Hurd, GUix Package Manager, Guile Scheme, Functional
-package management")))
-              (meta (@ (name "viewport")
-                       (content "width=device-width, initial-scale=1.0")))
-              (link (@ (type "text/css")
-                       (rel "stylesheet")
-                       (href "/software/guix/static/base/css/base.css")))
-              (link (@ (type "text/css")
-                       (rel "stylesheet")
-                       (href "/software/guix/static/base/css/download.css")))
-              (link (@ (type "image/png")
-                       (rel "icon")
-                       (href "/software/guix/static/base/img/favicon.png")))
-              (link (@ (rel "license") (href "Pending...")))
-              (title "Download - GuixSD"))
-        (body (div (@ (class "message-box msg-info"))
-                   (span (@ (class "msg-label")) "Note")
-                   "The Guix System Distribution (GuixSD) is alpha
-software. This means it is not production-ready. It may contain bugs
-and lack important features. But more than a disclaimer, this is an
-invitation to join us in improving it. See "
-                   (a (@ (href "/software/guix/contribute/"))
-                      "Contributing")
-                   ", for more information. We hope you can soon
-switch to GuixSD without fear. ")
-              (div (@ (id "header-box"))
-                   (a (@ (id "logo") (href "/software/guix/"))
-                      (img (@ (src 
"/software/guix/static/base/img/GuixSD-logo.png")
-                              (alt "GuixSD"))))
-                   (ul (@ (id "site-nav"))
-                       (li (a (@ (href "/software/guix/download/"))
-                              "Download"))
-                       (li (a (@ (href "/software/guix/package-list.html"))
-                              "Packages"))
-                       (li (a (@ (href "/software/guix/help/")) "Help"))
-                       (li (a (@ (href "/software/guix/contribute/"))
-                              "Contribute"))
-                       (li (a (@ (href "/software/guix/donate/"))
-                              "Donate"))
-                       (li (a (@ (href "/software/guix/about/"))
-                              "About"))))
-              (div (@ (id "content-box"))
-                   (article
-                    (h1 "Download")
-                    (p "As of version 0.8.1, the Guix System
-Distribution "
-                       (a (@ (href 
"/software/guix/manual/html_node/System-Installation.html"))
-                          "can be installed")
-                       " on an i686 or x86_64 machine. It uses the "
-                       (a (@ (href "/software/linux-libre"))
-                          "Linux-Libre")
-                       " kernel and the "
-                       (a (@ (href "/software/dmd")) "GNU dmd")
-                       " init system. Alternately, its package
-manager, GNU Guix, can be installed as an additional package manager
-on top of an installed Linux-based system.")
-                    (div (@ (class "text-center"))
-                         (div (@ (class "summary-box"))
-                              (div (@ (class "text-center"))
-                                   (img (@ (src 
"/software/guix/static/base/img/GuixSD-package.png")
-                                           (alt ""))))
-                              (h2 "GuixSD 0.8.2 (i686)")
-                              (p "USB installer for machines with the
-following minimum system requirements:")
-                              (table (tbody (tr (th "Architecture")
-                                                (td "i686"))
-                                            (tr (th "Processor")
-                                                (td "1GHz"))
-                                            (tr (th "Memory")
-                                                (td "512MB"))
-                                            (tr (th "Hard Drive")
-                                                (td "5GB"))))
-                              (p (@ (class "text-center"))
-                                 (a (@ (href "#")
-                                       (class "hlink-yellow-boxed"))
-                                    "DOWNLOAD")
-                                 (br)
-                                 "(140MB approx.)"
-                                 (br)
-                                 (a (@ (href "#")) "Get signature"))
-                              (p "See the "
-                                 (a (@ (href 
"/software/guix/manual/html_node/System-Installation.html"))
-                                    "installation instructions")
-                                 " from the manual.")
-                              (p "Alternative download methods: "
-                                 (a (@ (href "#")) "torrent")
-                                 "."))
-                         (div (@ (class "summary-box"))
-                              (div (@ (class "text-center"))
-                                   (img (@ (src 
"/software/guix/static/base/img/GuixSD-package.png")
-                                           (alt ""))))
-                              (h2 "GuixSD 0.8.2 (x86_64)")
-                              (p "USB installer for machines with the
-following minimum system requirements:")
-                              (table (tbody (tr (th "Architecture")
-                                                (td "x86_64"))
-                                            (tr (th "Processor")
-                                                (td "1GHz"))
-                                            (tr (th "Memory")
-                                                (td "512MB"))
-                                            (tr (th "Hard Drive")
-                                                (td "5GB"))))
-                              (p (@ (class "text-center"))
-                                 (a (@ (href "#")
-                                       (class "hlink-yellow-boxed"))
-                                    "DOWNLOAD")
-                                 (br)
-                                 "(144MB approx.)"
-                                 (br)
-                                 (a (@ (href "#")) "Get signature"))
-                              (p "See the "
-                                 (a (@ (href 
"/software/guix/manual/html_node/System-Installation.html"))
-                                    "installation instructions")
-                                 " from the manual.")
-                              (p "Alternative download methods: "
-                                 (a (@ (href "#")) "torrent")
-                                 "."))
-                         (div (@ (class "summary-box"))
-                              (div (@ (class "text-center"))
-                                   (img (@ (src 
"/software/guix/static/base/img/Guix-package.png")
-                                           (alt ""))))
-                              (h2 "GNU Guix 0.8.2")
-                              (p "Archive distribution to install
-from source on machines with the following minimum system
-requirements:")
-                              (table (tbody (tr (th "Architecture")
-                                                (td "i686, x86_64, mips64el, 
or armv7"))
-                                            (tr (th "Processor")
-                                                (td "1GHz"))
-                                            (tr (th "Memory")
-                                                (td "512MB"))
-                                            (tr (th "Hard Drive")
-                                                (td "5GB"))))
-                              (p (@ (class "text-center"))
-                                 (a (@ (href "#")
-                                       (class "hlink-yellow-boxed"))
-                                    "DOWNLOAD")
-                                 (br)
-                                 "(7.7MB approx.)"
-                                 (br)
-                                 (a (@ (href "#")) "Get signature"))
-                              (p "See the "
-                                 (a (@ (href 
"/software/guix/manual/html_node/System-Installation.html"))
-                                    " installation instructions")
-                                 " from the manual.")
-                              (p "Alternative download methods: "
-                                 (a (@ (href "#")) "torrent")
-                                 ". ")))
-                    (p "Source code for the Guix System Distribution
-USB installation images as well as GNU Guix can be found on the GNU
-ftp server for "
-                       (em "alpha")
-                       " releases: "
-                       (a (@ (href "http://alpha.gnu.org/gnu/guix/";))
-                          "http://alpha.gnu.org/gnu/guix/";)
-                       " (via HTTP) and "
-                       (a (@ (href "ftp://alpha.gnu.org/gnu/guix/";))
-                          "ftp://alpha.gnu.org/gnu/guix/";)
-                       " (via FTP). ")))
-              (div (@ (id "footer-box"))
-                   "copyleft 2015 GuixSD "
-                   (a (@ (href "/software/guix/contribute/")
-                         (class "hlink-yellow"))
-                      "Contributors")
-                   ". Made with "
-                   (span (@ (class "metta")) "♥")
-                   " by humans."))))
+  `(html (@ (lang "en"))
+        ,(html-page-header "Download")
+        (body
+         ,(html-page-description)
+         ,(html-page-links)
+         (div (@ (id "content-box"))
+              (article
+               (h1 "Download")
+               (p "As of version 0.8.1, the Guix System Distribution "
+                  (a (@ (href 
"/software/guix/manual/html_node/System-Installation.html"))
+                     "can be installed")
+                  " on an i686 or x86_64 machine. It uses the "
+                  (a (@ (href "/software/linux-libre"))
+                     "Linux-Libre")
+                  " kernel and the "
+                  (a (@ (href "/software/dmd")) "GNU dmd")
+                  " init system. Alternately, its package manager, GNU Guix,
+can be installed as an additional package manager on top of an installed
+Linux-based system.")
+               (div (@ (class "text-center"))
+                    (div (@ (class "summary-box"))
+                         (div (@ (class "text-center"))
+                              (img (@ (src 
"/software/guix/static/base/img/GuixSD-package.png")
+                                      (alt ""))))
+                         (h2 "GuixSD 0.8.2 (i686)")
+                         (p "USB installer for machines with the following
+minimum system requirements:")
+                         (table (tbody (tr (th "Architecture")
+                                           (td "i686"))
+                                       (tr (th "Processor")
+                                           (td "1GHz"))
+                                       (tr (th "Memory")
+                                           (td "512MB"))
+                                       (tr (th "Hard Drive")
+                                           (td "5GB"))))
+                         (p (@ (class "text-center"))
+                            (a (@ (href "#")
+                                  (class "hlink-yellow-boxed"))
+                               "DOWNLOAD")
+                            (br)
+                            "(140MB approx.)"
+                            (br)
+                            (a (@ (href "#")) "Get signature"))
+                         (p "See the "
+                            (a (@ (href 
"/software/guix/manual/html_node/System-Installation.html"))
+                               "installation instructions")
+                            " from the manual.")
+                         (p "Alternative download methods: "
+                            (a (@ (href "#")) "torrent")
+                            "."))
+                    (div (@ (class "summary-box"))
+                         (div (@ (class "text-center"))
+                              (img (@ (src 
"/software/guix/static/base/img/GuixSD-package.png")
+                                      (alt ""))))
+                         (h2 "GuixSD 0.8.2 (x86_64)")
+                         (p "USB installer for machines with the following
+minimum system requirements:")
+                         (table (tbody (tr (th "Architecture")
+                                           (td "x86_64"))
+                                       (tr (th "Processor")
+                                           (td "1GHz"))
+                                       (tr (th "Memory")
+                                           (td "512MB"))
+                                       (tr (th "Hard Drive")
+                                           (td "5GB"))))
+                         (p (@ (class "text-center"))
+                            (a (@ (href "#")
+                                  (class "hlink-yellow-boxed"))
+                               "DOWNLOAD")
+                            (br)
+                            "(144MB approx.)"
+                            (br)
+                            (a (@ (href "#")) "Get signature"))
+                         (p "See the "
+                            (a (@ (href 
"/software/guix/manual/html_node/System-Installation.html"))
+                               "installation instructions")
+                            " from the manual.")
+                         (p "Alternative download methods: "
+                            (a (@ (href "#")) "torrent")
+                            "."))
+                    (div (@ (class "summary-box"))
+                         (div (@ (class "text-center"))
+                              (img (@ (src 
"/software/guix/static/base/img/Guix-package.png")
+                                      (alt ""))))
+                         (h2 "GNU Guix 0.8.2")
+                         (p "Archive distribution to install from source on
+machines with the following minimum system requirements:")
+                         (table (tbody (tr (th "Architecture")
+                                           (td "i686, x86_64, mips64el, or 
armv7"))
+                                       (tr (th "Processor")
+                                           (td "1GHz"))
+                                       (tr (th "Memory")
+                                           (td "512MB"))
+                                       (tr (th "Hard Drive")
+                                           (td "5GB"))))
+                         (p (@ (class "text-center"))
+                            (a (@ (href "#")
+                                  (class "hlink-yellow-boxed"))
+                               "DOWNLOAD")
+                            (br)
+                            "(7.7MB approx.)"
+                            (br)
+                            (a (@ (href "#")) "Get signature"))
+                         (p "See the "
+                            (a (@ (href 
"/software/guix/manual/html_node/System-Installation.html"))
+                               " installation instructions")
+                            " from the manual.")
+                         (p "Alternative download methods: "
+                            (a (@ (href "#")) "torrent")
+                            ". ")))
+               (p "Source code for the Guix System Distribution USB
+installation images as well as GNU Guix can be found on the GNU ftp server for 
"
+                  (em "alpha")
+                  " releases: "
+                  (a (@ (href "http://alpha.gnu.org/gnu/guix/";))
+                     "http://alpha.gnu.org/gnu/guix/";)
+                  " (via HTTP) and "
+                  (a (@ (href "ftp://alpha.gnu.org/gnu/guix/";))
+                     "ftp://alpha.gnu.org/gnu/guix/";)
+                  " (via FTP). ")))
+         ,(html-page-footer))))
diff --git a/website/www/help.scm b/website/www/help.scm
index 93060a3..0899ebc 100644
--- a/website/www/help.scm
+++ b/website/www/help.scm
@@ -1,241 +1,183 @@
 (define-module (www help)
+  #:use-module (www shared)
   #:export (help-page))
 
 (define help-page
-  '(html (@ (lang "en"))
-        (head (meta (@ (charset "utf-8")))
-              (meta (@ (name "author")
-                       (content "GuixSD Contributors")))
-              (meta (@ (name "description")
-                       (content
-                        "GuixSD is GNU's advanced system
-distribution. GNU is an operating system which respects the freedom of
-computer users. You are free to run the system for any purpose, study
-how it works, improve it, and share it with the whole world.")))
-              (meta (@ (name "keywords")
-                       (content
-                        "GNU, FSF, Free Software Foundation, Linux,
-Emacs, GCC, Unix, Free Software, Libre Software, Operating System, GNU
-Kernel, GNU Hurd, GUix Package Manager, Guile Scheme, Functional
-package management")))
-              (meta (@ (name "viewport")
-                       (content "width=device-width, initial-scale=1.0")))
-              (link (@ (type "text/css")
-                       (rel "stylesheet")
-                       (href "/software/guix/static/base/css/base.css")))
-              (link (@ (type "text/css")
-                       (rel "stylesheet")
-                       (href "/software/guix/static/base/css/help.css")))
-              (link (@ (type "image/png")
-                       (rel "icon")
-                       (href "/software/guix/static/base/img/favicon.png")))
-              (link (@ (rel "license") (href "Pending...")))
-              (title "Help - GuixSD"))
-        (body (div (@ (class "message-box msg-info"))
-                   (span (@ (class "msg-label")) "Note")
-                   "The Guix System Distribution (GuixSD) is alpha
-software. This means it is not production-ready. It may contain bugs
-and lack important features. But more than a disclaimer, this is an
-invitation to join us in improving it. See "
-                   (a (@ (href "/software/guix/contribute/"))
-                      "Contributing")
-                   ", for more information. We hope you can soon
-switch to GuixSD without fear. ")
-              (div (@ (id "header-box"))
-                   (a (@ (id "logo") (href "/software/guix/"))
-                      (img (@ (src 
"/software/guix/static/base/img/GuixSD-logo.png")
-                              (alt "GuixSD"))))
-                   (ul (@ (id "site-nav"))
-                       (li (a (@ (href "/software/guix/download/"))
-                              "Download"))
-                       (li (a (@ (href "/software/guix/package-list.html"))
-                              "Packages"))
-                       (li (a (@ (href "/software/guix/help/")) "Help"))
-                       (li (a (@ (href "/software/guix/contribute/"))
-                              "Contribute"))
-                       (li (a (@ (href "/software/guix/donate/"))
-                              "Donate"))
-                       (li (a (@ (href "/software/guix/about/"))
-                              "About"))))
-              (div (@ (id "content-box"))
-                   (article
-                    (h1 "Help")
-                    (div (@ (class "text-center"))
-                         (div (@ (class "summary-box"))
-                              (div (@ (class "text-center"))
-                                   (img (@ (src 
"/software/guix/static/base/img/guixsd-manual-icon.png")
-                                           (alt ""))))
-                              (h2 "GuixSD Manual")
-                              (p "The documentation about the Guix
-System Distribution is available online as part of the GNU Guix
-package manager manual.")
-                              (a (@ (href 
"/software/guix/manual/guix.html#GNU-Distribution")
-                                    (class "hlink-more-dark"))
-                                 "Read the manual"))
-                         (div (@ (class "summary-box"))
-                              (div (@ (class "text-center"))
-                                   (img (@ (src 
"/software/guix/static/base/img/guix-manual-icon.png")
-                                           (alt ""))))
-                              (h2 "GNU Guix Manual")
-                              (p "Documentation for the GNU Guix
-package manager is available online. You may also find more
-information about Guix by running "
-                                 (em "info\xa0guix")
-                                 ".")
-                              (a (@ (href "/software/guix/manual/")
-                                    (class "hlink-more-dark"))
-                                 "Read the manual"))
-                         (div (@ (class "summary-box"))
-                              (div (@ (class "text-center"))
-                                   (img (@ (src 
"/software/guix/static/base/img/library-icon.png")
-                                           (alt ""))))
-                              (h2 "GNU Manuals")
-                              (p "GuixSD is a distribution of the "
-                                 (a (@ (href "http://www.gnu.org/";))
-                                    "GNU operating system")
-                                 ". Most GNU software is documented
-and the documentation is available online in various formats. ")
-                              (a (@ (href "http://www.gnu.org/doc/doc.en.html";)
-                                    (class "hlink-more-dark"))
-                                 "Browse the manuals"))
-                         (div (@ (class "summary-box"))
-                              (div (@ (class "text-center"))
-                                   (img (@ (src 
"/software/guix/static/base/img/chat-icon.png")
-                                           (alt ""))))
-                              (h2 "IRC Chat")
-                              (p "For real-time support from the
-community, you can connect to the "
-                                 (em "#guix")
-                                 " channel on irc.freenode.net. There
-you can get help about anything related to both the Guix System
-Distribution and GNU Guix.")
-                              (p "The "
-                                 (em "#guix")
-                                 " channel is logged. Previous
-conversations can be browsed online. See the "
-                                 (a (@ (href 
"https://gnunet.org/bot/log/guix/";))
-                                    "channel logs")
-                                 ". ")
-                              (a (@ (href 
"http://webchat.freenode.net/?channels=%23guix";)
-                                    (class "hlink-more-dark"))
-                                 "Connect"))
-                         (div (@ (class "summary-box"))
-                              (div (@ (class "text-center"))
-                                   (img (@ (src 
"/software/guix/static/base/img/email-icon.png")
-                                           (alt ""))))
-                              (h2 "Mailing lists")
-                              (p "Email support from the community is
-also available through the following mailing lists. The messages sent
-to the lists are public and archived online.")
-                              (p (a (@ (href 
"https://lists.gnu.org/mailman/listinfo/guix-devel";))
-                                    (b "guix-devel"))
-                                 (small " ("
-                                        (a (@ (href 
"https://lists.gnu.org/archive/html/guix-devel";))
-                                           "archive")
-                                        ") ")
-                                 (br)
-                                 "Discussion about the development of
-GNU Guix and the Guix System Distribution (GuixSD).")
-                              (p (a (@ (href 
"https://lists.gnu.org/mailman/listinfo/bug-guix";))
-                                    (b "bug-guix"))
-                                 (small " ("
-                                        (a (@ (href 
"https://lists.gnu.org/archive/html/bug-guix";))
-                                           "archive")
-                                        ") ")
-                                 (br)
-                                 "Bug reports for GNU Guix and the
-Guix System Distribution. ")
-                              (a (@ (href 
"https://savannah.gnu.org/mail/?group=guix";)
-                                    (class "hlink-more-dark"))
-                                 "Check all the lists")))
-                    (h2 "Additional Documentation")
-                    (ul (li (a (@ (href "http://arxiv.org/abs/1305.4584";))
-                               (i "Functional Package Management with Guix"))
-                            ", presented at the "
-                            (a (@ (href 
"http://www-sop.inria.fr/members/Manuel.Serrano/conferences/els13.html";))
-                               "2013 European Lisp Symposium (ELS)")
-                            ", describes the rationale, design, and
+  `(html (@ (lang "en"))
+        ,(html-page-header "Help")
+        (body
+         ,(html-page-description)
+         ,(html-page-links)
+         (div (@ (id "content-box"))
+              (article
+               (h1 "Help")
+               (div (@ (class "text-center"))
+                    (div (@ (class "summary-box"))
+                         (div (@ (class "text-center"))
+                              (img (@ (src 
"/software/guix/static/base/img/guixsd-manual-icon.png")
+                                      (alt ""))))
+                         (h2 "GuixSD Manual")
+                         (p "The documentation about the Guix System
+Distribution is available online as part of the GNU Guix package manager
+manual.")
+                         (a (@ (href 
"/software/guix/manual/guix.html#GNU-Distribution")
+                               (class "hlink-more-dark"))
+                            "Read the manual"))
+                    (div (@ (class "summary-box"))
+                         (div (@ (class "text-center"))
+                              (img (@ (src 
"/software/guix/static/base/img/guix-manual-icon.png")
+                                      (alt ""))))
+                         (h2 "GNU Guix Manual")
+                         (p "Documentation for the GNU Guix package manager is
+available online. You may also find more information about Guix by running "
+                            (em "info\xa0guix")
+                            ".")
+                         (a (@ (href "/software/guix/manual/")
+                               (class "hlink-more-dark"))
+                            "Read the manual"))
+                    (div (@ (class "summary-box"))
+                         (div (@ (class "text-center"))
+                              (img (@ (src 
"/software/guix/static/base/img/library-icon.png")
+                                      (alt ""))))
+                         (h2 "GNU Manuals")
+                         (p "GuixSD is a distribution of the "
+                            (a (@ (href "http://www.gnu.org/";))
+                               "GNU operating system")
+                            ". Most GNU software is documented and the
+documentation is available online in various formats. ")
+                         (a (@ (href "http://www.gnu.org/doc/doc.en.html";)
+                               (class "hlink-more-dark"))
+                            "Browse the manuals"))
+                    (div (@ (class "summary-box"))
+                         (div (@ (class "text-center"))
+                              (img (@ (src 
"/software/guix/static/base/img/chat-icon.png")
+                                      (alt ""))))
+                         (h2 "IRC Chat")
+                         (p "For real-time support from the community, you can
+connect to the "
+                            (em "#guix")
+                            " channel on irc.freenode.net. There you can get
+help about anything related to both the Guix System Distribution and GNU 
Guix.")
+                         (p "The "
+                            (em "#guix")
+                            " channel is logged. Previous conversations can be
+browsed online. See the "
+                            (a (@ (href "https://gnunet.org/bot/log/guix/";))
+                               "channel logs")
+                            ". ")
+                         (a (@ (href 
"http://webchat.freenode.net/?channels=%23guix";)
+                               (class "hlink-more-dark"))
+                            "Connect"))
+                    (div (@ (class "summary-box"))
+                         (div (@ (class "text-center"))
+                              (img (@ (src 
"/software/guix/static/base/img/email-icon.png")
+                                      (alt ""))))
+                         (h2 "Mailing lists")
+                         (p "Email support from the community is also available
+through the following mailing lists. The messages sent to the lists are public
+and archived online.")
+                         (p (a (@ (href 
"https://lists.gnu.org/mailman/listinfo/guix-devel";))
+                               (b "guix-devel"))
+                            (small " ("
+                                   (a (@ (href 
"https://lists.gnu.org/archive/html/guix-devel";))
+                                      "archive")
+                                   ") ")
+                            (br)
+                            "Discussion about the development of GNU Guix and
+the Guix System Distribution (GuixSD).")
+                         (p (a (@ (href 
"https://lists.gnu.org/mailman/listinfo/bug-guix";))
+                               (b "bug-guix"))
+                            (small " ("
+                                   (a (@ (href 
"https://lists.gnu.org/archive/html/bug-guix";))
+                                      "archive")
+                                   ") ")
+                            (br)
+                            "Bug reports for GNU Guix and the Guix System
+Distribution. ")
+                         (a (@ (href 
"https://savannah.gnu.org/mail/?group=guix";)
+                               (class "hlink-more-dark"))
+                            "Check all the lists")))
+               (h2 "Additional Documentation")
+               (ul (li (a (@ (href "http://arxiv.org/abs/1305.4584";))
+                          (i "Functional Package Management with Guix"))
+                       ", presented at the "
+                       (a (@ (href 
"http://www-sop.inria.fr/members/Manuel.Serrano/conferences/els13.html";))
+                          "2013 European Lisp Symposium (ELS)")
+                       ", describes the rationale, design, and
 implementation of Guix's packaging API. \t "))
-                    (h2 (@ (id "talks")) "Talks")
-                    (ul (li "February 2015, "
-                            (a (@ (href 
"https://fosdem.org/2015/schedule/event/the_emacs_of_distros/";))
-                               "FOSDEM")
-                            ": "
-                            (a (@ (href "guix-fosdem-20150131.pdf"))
-                               "slides")
-                            ", "
-                            (a (@ (href 
"http://audio-video.gnu.org/video/misc/2015-01__GNU_Guix__The_Emacs_of_Distros.webm";))
-                               "video")
-                            " (WebM; 47 minutes) ")
-                        (li "August 2014, "
-                            (a (@ (href 
"http://audio-video.gnu.org/video/ghm2014/";))
-                               "GNU Hackers Meeting")
-                            ": "
-                            (a (@ (href "guix-ghm-20140815.pdf"))
-                               "slides")
-                            ", "
-                            (a (@ (href 
"http://audio-video.gnu.org/video/ghm2014/2014-08--courtes--were-building-the-gnu-system--ghm.webm";))
-                               "video")
-                            " (WebM; 60 minutes) ")
-                        (li "July 2014, "
-                            (a (@ (href 
"http://www.open-bio.org/wiki/Codefest_2014";))
-                               "Open Bioinformatics Codefest 2014")
-                            ": "
-                            (a (@ (href "guix-openbio-codefest-20140709.pdf"))
-                               "slides"))
-                        (li "February 2014, "
-                            (a (@ (href 
"https://fosdem.org/2014/schedule/event/gnuguix/";))
-                               "FOSDEM")
-                            ": "
-                            (a (@ (href "guix-fosdem-20140201.pdf"))
-                               "slides")
-                            ", "
-                            (a (@ (href 
"http://video.fosdem.org/2014/H1302_Depage/Sunday/Growing_a_GNU_with_Guix.webm";))
-                               "video")
-                            " (WebM; 55 minutes) ")
-                        (li "August 2013, "
-                            (a (@ (href "/ghm/2013/paris"))
-                               "GNU Hackers Meeting")
-                            (ul (li (i "GNU Guix: Package without a
+               (h2 (@ (id "talks")) "Talks")
+               (ul (li "February 2015, "
+                       (a (@ (href 
"https://fosdem.org/2015/schedule/event/the_emacs_of_distros/";))
+                          "FOSDEM")
+                       ": "
+                       (a (@ (href "guix-fosdem-20150131.pdf"))
+                          "slides")
+                       ", "
+                       (a (@ (href 
"http://audio-video.gnu.org/video/misc/2015-01__GNU_Guix__The_Emacs_of_Distros.webm";))
+                          "video")
+                       " (WebM; 47 minutes) ")
+                   (li "August 2014, "
+                       (a (@ (href 
"http://audio-video.gnu.org/video/ghm2014/";))
+                          "GNU Hackers Meeting")
+                       ": "
+                       (a (@ (href "guix-ghm-20140815.pdf"))
+                          "slides")
+                       ", "
+                       (a (@ (href 
"http://audio-video.gnu.org/video/ghm2014/2014-08--courtes--were-building-the-gnu-system--ghm.webm";))
+                          "video")
+                       " (WebM; 60 minutes) ")
+                   (li "July 2014, "
+                       (a (@ (href 
"http://www.open-bio.org/wiki/Codefest_2014";))
+                          "Open Bioinformatics Codefest 2014")
+                       ": "
+                       (a (@ (href "guix-openbio-codefest-20140709.pdf"))
+                          "slides"))
+                   (li "February 2014, "
+                       (a (@ (href 
"https://fosdem.org/2014/schedule/event/gnuguix/";))
+                          "FOSDEM")
+                       ": "
+                       (a (@ (href "guix-fosdem-20140201.pdf"))
+                          "slides")
+                       ", "
+                       (a (@ (href 
"http://video.fosdem.org/2014/H1302_Depage/Sunday/Growing_a_GNU_with_Guix.webm";))
+                          "video")
+                       " (WebM; 55 minutes) ")
+                   (li "August 2013, "
+                       (a (@ (href "/ghm/2013/paris"))
+                          "GNU Hackers Meeting")
+                       (ul (li (i "GNU Guix: Package without a
 scheme!")
-                                    ", by Andreas: "
-                                    (a (@ (href 
"guix-ghm-andreas-20130823.pdf"))
-                                       "slides"))
-                                (li (i "Guix, the Computing Freedom
+                               ", by Andreas: "
+                               (a (@ (href "guix-ghm-andreas-20130823.pdf"))
+                                  "slides"))
+                           (li (i "Guix, the Computing Freedom
 Deployment Tool")
-                                    ", by Ludovic: "
-                                    (a (@ (href "guix-ghm-ludo-20130823.pdf"))
-                                       "slides")
-                                    ", "
-                                    (a (@ (href 
"http://audio-video.gnu.org/video/ghm2013/Ludovic_Courtes-GNU_Guix_the_computing_freedom_deployment_tool_.webm";))
-                                       "video")
-                                    " (WebM; 60 minutes, 127MB) ")))
-                        (li "June 2013, "
-                            (a (@ (href 
"http://www-sop.inria.fr/members/Manuel.Serrano/conferences/els13.html";))
-                               " European Lisp Symposium (ELS)")
-                            ": "
-                            (a (@ (href "guix-els-20130603.pdf"))
-                               "slides")
-                            ", "
-                            (a (@ (href 
"http://www.nicklevine.org/els2013/ludovic-courtes.mp3";))
-                               "audio"))
-                        (li "July 2012, "
-                            (a (@ (href "/ghm/2012/ddorf/"))
-                               "GNU Hackers Meeting")
-                            ": "
-                            (a (@ (href "guix-ghm-20120721.pdf"))
-                               "slides")
-                            ", "
-                            (a (@ (href 
"http://audio-video.gnu.org/video/ghm2012/guix.ogv";))
-                               "video")
-                            " (Ogg/"
-                            (a (@ (href "http://theora.org/";)) "Theora")
-                            "; 84 minutes, 88.1MB)"))))
-              (div (@ (id "footer-box"))
-                   "copyleft 2015 GuixSD "
-                   (a (@ (href "/software/guix/contribute/")
-                         (class "hlink-yellow"))
-                      "Contributors")
-                   ". Made with "
-                   (span (@ (class "metta")) "♥")
-                   " by humans."))))
+                               ", by Ludovic: "
+                               (a (@ (href "guix-ghm-ludo-20130823.pdf"))
+                                  "slides")
+                               ", "
+                               (a (@ (href 
"http://audio-video.gnu.org/video/ghm2013/Ludovic_Courtes-GNU_Guix_the_computing_freedom_deployment_tool_.webm";))
+                                  "video")
+                               " (WebM; 60 minutes, 127MB) ")))
+                   (li "June 2013, "
+                       (a (@ (href 
"http://www-sop.inria.fr/members/Manuel.Serrano/conferences/els13.html";))
+                          " European Lisp Symposium (ELS)")
+                       ": "
+                       (a (@ (href "guix-els-20130603.pdf"))
+                          "slides")
+                       ", "
+                       (a (@ (href 
"http://www.nicklevine.org/els2013/ludovic-courtes.mp3";))
+                          "audio"))
+                   (li "July 2012, "
+                       (a (@ (href "/ghm/2012/ddorf/"))
+                          "GNU Hackers Meeting")
+                       ": "
+                       (a (@ (href "guix-ghm-20120721.pdf"))
+                          "slides")
+                       ", "
+                       (a (@ (href 
"http://audio-video.gnu.org/video/ghm2012/guix.ogv";))
+                          "video")
+                       " (Ogg/"
+                       (a (@ (href "http://theora.org/";)) "Theora")
+                       "; 84 minutes, 88.1MB)"))))
+         ,(html-page-footer))))
diff --git a/website/www/packages.scm b/website/www/packages.scm
index 56b613a..bb9c75f 100644
--- a/website/www/packages.scm
+++ b/website/www/packages.scm
@@ -1,79 +1,22 @@
 (define-module (www packages)
+  #:use-module (www shared)
   #:export (packages-page))
 
 (define packages-page
-  '(html (@ (lang "en"))
-        (head (meta (@ (charset "utf-8")))
-              (meta (@ (name "author")
-                       (content "GuixSD Contributors")))
-              (meta (@ (name "description")
-                       (content
-                        "GuixSD is GNU's advanced system
-distribution. GNU is an operating system which respects the freedom of
-computer users. You are free to run the system for any purpose, study
-how it works, improve it, and share it with the whole world.")))
-              (meta (@ (name "keywords")
-                       (content
-                        "GNU, FSF, Free Software Foundation, Linux,
-Emacs, GCC, Unix, Free Software, Libre Software, Operating System, GNU
-Kernel, GNU Hurd, GUix Package Manager, Guile Scheme, Functional
-package management")))
-              (meta (@ (name "viewport")
-                       (content "width=device-width, initial-scale=1.0")))
-              (link (@ (type "text/css")
-                       (rel "stylesheet")
-                       (href "/software/guix/static/base/css/base.css")))
-              (link (@ (type "text/css")
-                       (rel "stylesheet")
-                       (href "/software/guix/static/base/css/article.css")))
-              (link (@ (type "image/png")
-                       (rel "icon")
-                       (href "/software/guix/static/base/img/favicon.png")))
-              (link (@ (rel "license") (href "Pending...")))
-              (title "Packages - GuixSD"))
-        (body (div (@ (class "message-box msg-info"))
-                   (span (@ (class "msg-label")) "Note")
-                   "The Guix System Distribution (GuixSD) is alpha
-software. This means it is not production-ready. It may contain bugs
-and lack important features. But more than a disclaimer, this is an
-invitation to join us in improving it. See "
-                   (a (@ (href "/software/guix/contribute/"))
-                      "Contributing")
-                   ", for more information. We hope you can soon
-switch to GuixSD without fear. ")
-              (div (@ (id "header-box"))
-                   (a (@ (id "logo") (href "/software/guix/"))
-                      (img (@ (src 
"/software/guix/static/base/img/GuixSD-logo.png")
-                              (alt "GuixSD"))))
-                   (ul (@ (id "site-nav"))
-                       (li (a (@ (href "/software/guix/download/"))
-                              "Download"))
-                       (li (a (@ (href "/software/guix/package-list.html"))
-                              "Packages"))
-                       (li (a (@ (href "/software/guix/help/")) "Help"))
-                       (li (a (@ (href "/software/guix/contribute/"))
-                              "Contribute"))
-                       (li (a (@ (href "/software/guix/donate/"))
-                              "Donate"))
-                       (li (a (@ (href "/software/guix/about/"))
-                              "About"))))
-              (div (@ (id "content-box"))
-                   (article
-                    (h1 "Packages")
-                    (p "The Guix System Distribution provides 1,500+
-packages transparently "
-                       (a (@ (href 
"http://hydra.gnu.org/jobset/gnu/master#tabs-status";))
-                          "available as pre-built binaries")
-                       ". This is a complete lists of the
-packages. Our "
-                       (a (@ (href "http://hydra.gnu.org/jobset/gnu/master";))
-                          "continuous integration system")
-                       " shows their current build status.")))
-              (div (@ (id "footer-box"))
-                   "copyleft 2015 GuixSD "
-                   (a (@ (href "/software/guix/contribute/")
-                         (class "hlink-yellow"))
-                      " Contributors")
-                   ". Made with "
-                   (span (@ (class "metta")) "♥")
-                   " by humans."))))
+  `(html (@ (lang "en"))
+        ,(html-page-header "Packages")
+        (body
+         ,(html-page-description)
+         ,(html-page-links)
+         (div (@ (id "content-box"))
+              (article
+               (h1 "Packages")
+               (p "The Guix System Distribution provides 1,500+ packages
+transparently "
+                  (a (@ (href 
"http://hydra.gnu.org/jobset/gnu/master#tabs-status";))
+                     "available as pre-built binaries")
+                  ". This is a complete lists of the packages. Our "
+                  (a (@ (href "http://hydra.gnu.org/jobset/gnu/master";))
+                     "continuous integration system")
+                  " shows their current build status.")))
+         ,(html-page-footer))))
diff --git a/website/www/shared.scm b/website/www/shared.scm
new file mode 100644
index 0000000..8156f9d
--- /dev/null
+++ b/website/www/shared.scm
@@ -0,0 +1,64 @@
+(define-module (www shared)
+  #:export (html-page-header
+           html-page-description
+           html-page-links
+           html-page-footer))
+
+(define (html-page-header title)
+  `(head (meta (@ (charset "utf-8")))
+        (meta (@ (name "author")
+                 (content "GuixSD Contributors")))
+        (meta (@ (name "description")
+                 (content
+                  "GuixSD is GNU's advanced system distribution. GNU is an
+operating system which respects the freedom of computer users. You are free to
+run the system for any purpose, study how it works, improve it, and share it
+with the whole world.")))
+        (meta (@ (name "keywords")
+                 (content
+                  "GNU, FSF, Free Software Foundation, Linux, Emacs, GCC,
+Unix, Free Software, Libre Software, Operating System, GNU Kernel, GNU Hurd,
+GUix Package Manager, Guile Scheme, Functional package management")))
+        (meta (@ (name "viewport")
+                 (content "width=device-width, initial-scale=1.0")))
+        (link (@ (type "text/css")
+                 (rel "stylesheet")
+                 (href "/software/guix/static/base/css/base.css")))
+        (link (@ (type "text/css")
+                 (rel "stylesheet")
+                 (href "/software/guix/static/base/css/index.css")))
+        (link (@ (type "image/png")
+                 (rel "icon")
+                 (href "/software/guix/static/base/img/favicon.png")))
+        (link (@ (rel "license") (href "Pending...")))
+        (title ,(string-append title " - GuixSD"))))
+
+(define (html-page-description)
+  `(div (@ (class "message-box msg-info"))
+       (span (@ (class "msg-label")) "Note ")
+       "The Guix System Distribution (GuixSD) is alpha software. This means it
+is not production-ready. It may contain bugs and lack important features. But
+more than a disclaimer, this is an invitation to join us in improving it. See "
+       (a (@ (href "/software/guix/contribute/")) "Contributing")
+       ", for more information. We hope you can soon switch to GuixSD without
+fear. "))
+
+(define (html-page-links)
+  `(div (@ (id "header-box"))
+       (a (@ (id "logo") (href "/software/guix/"))
+          (img (@ (src "/software/guix/static/base/img/GuixSD-logo.png")
+                  (alt "GuixSD"))))
+       (ul (@ (id "site-nav"))
+           (li (a (@ (href "/software/guix/download/")) "Download"))
+           (li (a (@ (href "/software/guix/package-list.html")) "Packages"))
+           (li (a (@ (href "/software/guix/help/")) "Help"))
+           (li (a (@ (href "/software/guix/contribute/")) "Contribute"))
+           (li (a (@ (href "/software/guix/donate/")) "Donate"))
+           (li (a (@ (href "/software/guix/about/")) "About")))))
+
+(define (html-page-footer)
+  `(div (@ (id "footer-box"))
+       "copyleft 2015 GuixSD "
+       (a (@ (href "/software/guix/contribute/") (class "hlink-yellow"))
+          "Contributors")
+       ". Made with " (span (@ (class "metta")) "♥") " by humans."))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]