From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mathieu Lirzin Subject: Re: [PATCH] website : ... Date: Sat, 09 May 2015 02:03:34 +0200 Message-ID: <87r3qqvcq1.fsf@openmailbox.org> References: <87egmr7lro.fsf@openmailbox.org> <87oalvl549.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:37121) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YqsGQ-00007T-Jy for guix-devel@gnu.org; Fri, 08 May 2015 20:05:10 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YqsGM-0000TF-OA for guix-devel@gnu.org; Fri, 08 May 2015 20:05:06 -0400 In-Reply-To: <87oalvl549.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Fri, 08 May 2015 12:45:42 +0200") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Ludovic =?utf-8?Q?Court=C3=A8s?= Cc: guix-devel@gnu.org --=-=-= Content-Type: text/plain Here is the updated patch with some modifications... (most of them are in "website/www/utils.scm") -- Mathieu Lirzin --=-=-= Content-Type: text/x-diff; charset=utf-8 Content-Disposition: inline; filename=0001-website-Fix-URLs.patch Content-Transfer-Encoding: quoted-printable >From f6b50dfccae0d493705c600587324153c96a90d0 Mon Sep 17 00:00:00 2001 From: Mathieu Lirzin Date: Fri, 8 May 2015 04:56:17 +0200 Subject: [PATCH] website: Fix URLs. Enable local export to link URLs correctly. * website/www/utils.scm: New file. --- website/www.scm | 51 ++++++++++++++++++++-------------------- website/www/about.scm | 7 +++--- website/www/contribute.scm | 26 ++++++++++----------- website/www/donate.scm | 25 ++++++++++---------- website/www/download.scm | 19 ++++++++------- website/www/help.scm | 58 +++++++++++++++++++++++-------------------= ---- website/www/shared.scm | 27 ++++++++++----------- website/www/utils.scm | 58 ++++++++++++++++++++++++++++++++++++++++++= ++++ 8 files changed, 167 insertions(+), 104 deletions(-) create mode 100644 website/www/utils.scm diff --git a/website/www.scm b/website/www.scm index 36d7ee7..0c82b09 100644 --- a/website/www.scm +++ b/website/www.scm @@ -1,4 +1,5 @@ (define-module (www) + #:use-module (www utils) #:use-module (www shared) #:use-module (www packages) #:use-module (www download) @@ -27,21 +28,21 @@ "The Guix System Distribution") (ul (li (b "Liberating.") " GuixSD is an advanced distribution of the " - (a (@ (href "https://gnu.org/") + (a (@ (href ,(gnu-url "")) (class "hlink-yellow")) "GNU Operating System") " developed by the " - (a (@ (href "https://gnu.org/") + (a (@ (href ,(gnu-url "")) (class "hlink-yellow")) "GNU Project ") "=E2=80=94which respects the " - (a (@ (href "http://www.gnu.org/philosophy/free-sw.html") + (a (@ (href ,(gnu-url "philosophy/free-sw.html")) (class "hlink-yellow")) "freedom of computer users") ". ") (li (b "Dependable.") " The " - (a (@ (href "/software/guix/manual/") + (a (@ (href ,(guix-url "manual")) (class "hlink-yellow")) "GNU Guix") " Package Manager, in addition to standard @@ -49,17 +50,17 @@ package management features, supports transactional upg= rades 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/") + (a (@ (href ,(gnu-url "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/") + (a (@ (href ,(base-url "download")) (class "action download")) "TEST v0.8.2 (alpha)") - (a (@ (href "/software/guix/contribute/") + (a (@ (href ,(base-url "contribute")) (class "action contribute")) "CONTRIBUTE")))) (div (@ (id "discovery-box")) @@ -67,15 +68,15 @@ composed.")) (div (@ (class "info-box text-center")) (video (@ (src "http://audio-video.gnu.org/video/misc/2015-01__GNU_Gui= x__The_Emacs_of_Distros.webm") (poster - "/software/guix/static/base/img/the-emacs-of-distros.png") + ,(image-url "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") + (p (a (@ (href ,(base-url "help/#talks")) (class "hlink-more-light")) "Check all talks"))) (div (@ (class "info-box text-left")) - (p (a (@ (href "/software/guix/manual/") + (p (a (@ (href ,(guix-url "manual")) (class "hlink-yellow")) "GNU Guix Documentation") (br) @@ -93,38 +94,38 @@ packaging API. ") "GNU Manuals Online") (br) "Primary documentation for official GNU packages.") - (p (a (@ (href "/software/guix/help/") + (p (a (@ (href ,(base-url "help")) (class "hlink-more-light")) "Find more documentation"))) - (img (@ (src "/software/guix/static/base/img/h-separator-darker.png") + (img (@ (src ,(image-url "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") + (a (@ (href ,(screenshot-url "0.8.2" "grub-menu.png"))) + (img (@ (src ,(thumb-url "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") + (a (@ (href ,(screenshot-url "0.8.2" "slim.png"))) + (img (@ (src ,(thumb-url "slim-thumb.png")) (class "screenshot-thumb") (alt "Slim login manager")))) - (a (@ (href "/software/guix/screenshots/0.8.2/windowmaker+icecat+inksc= ape.png")) - (img (@ (src "/software/guix/static/base/img/screenshots/windowmake= r+icecat+inkscape-thumb.png") + (a (@ (href ,(screenshot-url "0.8.2" "windowmaker+icecat+inkscape.png"= ))) + (img (@ (src ,(thumb-url "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-inter= faces-thumb.png") + (a (@ (href ,(screenshot-url "0.8.2" "user-interfaces.png"))) + (img (@ (src ,(thumb-url "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-p= ackages-thumb.png") + (a (@ (href ,(screenshot-url "0.8.2" "emacs-ui-packages.png"))) + (img (@ (src ,(thumb-url "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-g= enerations-thumb.png") + (a (@ (href ,(screenshot-url "0.8.2" "emacs-ui-generations.png"))) + (img (@ (src ,(thumb-url "emacs-ui-generations-thumb.png")) (class "screenshot-thumb") (alt "Emacs user interface generations."))))) - (p (a (@ (href "/software/guix/contribute/") + (p (a (@ (href ,(base-url "contribute") ) (class "hlink-yellow-boxed")) "Help us package more software =E2=86=92"))) (div (@ (id "news-box")) diff --git a/website/www/about.scm b/website/www/about.scm index 128041d..ce48638 100644 --- a/website/www/about.scm +++ b/website/www/about.scm @@ -1,4 +1,5 @@ (define-module (www about) + #:use-module (www utils) #:use-module (www shared) #:export (about-page)) =20 @@ -17,7 +18,7 @@ (em "GNU Guix") " package manager are free software projects developed by the " - (a (@ (href "http://www.gnu.org/")) + (a (@ (href ,(gnu-url ""))) "GNU Project") " and independent volunteers from various parts of the world. This is the official website for both projects. ") @@ -30,7 +31,7 @@ understand the concept, you should think of \"free\" as i= n \"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")) + (a (@ (href ,(gnu-url "philosophy/free-sw.html"))) "four essential freedoms") ":") (ul (li "The freedom to run the program as you wish, for any @@ -52,7 +53,7 @@ Court=C3=A8s. Please use the " (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")) + (a (@ (rel "license") (href ,(gnu-url "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. ") diff --git a/website/www/contribute.scm b/website/www/contribute.scm index 076412a..0c12873 100644 --- a/website/www/contribute.scm +++ b/website/www/contribute.scm @@ -1,4 +1,5 @@ (define-module (www contribute) + #:use-module (www utils) #:use-module (www shared) #:export (contribute-page)) =20 @@ -53,7 +54,7 @@ the project is available in the " (h2 (@ (id "documentation")) "Documentation") (p "You can read the " - (a (@ (href "/software/guix/help/")) + (a (@ (href ,(base-url "help"))) "project documentation") " already available in the system and in the website, and help us identify any errors or omissions. Creating new manual= s, @@ -61,7 +62,7 @@ tutorials, and blog entries will also help users and deve= lopers discover what we do. ") (p "Helping improve the documentation of the " - (a (@ (href "/software/guix/packages/")) + (a (@ (href ,(base-url "packages"))) "packaged software") " is another way to contribute. ") (a (@ (href "http://lists.gnu.org/mailman/listinfo/guix-devel") @@ -74,7 +75,7 @@ need to be packaged to make it easier for users to instal= l 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"= )) + (a (@ (href ,(guix-url "manual/guix.html#Packaging-Guidelines"))) "in the manual") ". ") (a (@ (href "http://lists.gnu.org/mailman/listinfo/guix-devel") @@ -83,15 +84,14 @@ distribution can be found " (div (@ (class "summary-box")) (h2 (@ (id "programming")) "Programming") (p "We use " - (a (@ (href "/software/guile/")) - "GNU Guile") + (a (@ (href ,(gnu-url "s/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")) + (a (@ (href ,(gnu-url "s/guile/manual"))) "Guile's manual") " or other " - (a (@ (href "http://schemers.org/Documents/#intro-texts")) + (a (@ (href "https://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/HACKIN= G")) @@ -109,7 +109,7 @@ 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 r= unning smoothly. ") (p "You can also " - (a (@ (href "/software/guix/donate/")) + (a (@ (href ,(base-url "donate"))) "donate hardware or hosting") ". ") (a (@ (href "http://lists.gnu.org/mailman/listinfo/guix-devel") @@ -122,10 +122,10 @@ smoothly. ") 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")) + (a (@ (href "https://debbugs.gnu.org/guix")) "in the bug database") ". See " - (a (@ (href "http://debbugs.gnu.org/Developer.html")) + (a (@ (href "https://debbugs.gnu.org/Developer.html")) "the developer information page") " for more information on how to manipulate bug reports. ") @@ -137,15 +137,15 @@ reports. ") (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/")) + (a (@ (href "https://translationproject.org/")) "Translation Project") ".") (p "Other " - (a (@ (href "/software/guix/packages/")) + (a (@ (href ,(base-url "packages"))) "software packaged") " for the system may have their own translation tools. Visit their websites and help translate. ") - (a (@ (href "http://translationproject.org/") + (a (@ (href "https://translationproject.org/") (class "hlink-more-dark")) "Start translating"))) (h2 (@ (id "resources")) diff --git a/website/www/donate.scm b/website/www/donate.scm index 5ded10a..e238444 100644 --- a/website/www/donate.scm +++ b/website/www/donate.scm @@ -1,4 +1,5 @@ (define-module (www donate) + #:use-module (www utils) #:use-module (www shared) #:export (donate-page)) =20 @@ -17,7 +18,7 @@ " 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/")) + (a (@ (href ,(base-url "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 @@ -31,9 +32,9 @@ binaries for the " ";") (li "mips64el machines to strengthen this port.")) (p "Please get in touch with us through the " - (a (@ (href "/software/guix/about/#contact")) + (a (@ (href ,(base-url "about/#contact"))) "usual channels") - "or using the guix-hardware@gnu.org private alias to discuss + " or using the guix-hardware@gnu.org private alias to discuss any opportunities. ") (h2 (@ (id "hardware-donors")) "Thanks to the donors!") (p "The table below summarizes hardware and hosting donations @@ -47,23 +48,23 @@ reality.") (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"))))) + (td (ul (li (a (@ (href "https://www.fsf.org/")) + "Free Software 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") + "Free Secure Network Systems +Group") " at the " - (a (@ (href "http://www.tum.de/")) - "Technische -Universit=C3=A4t M=C3=BCnchen"))))) + (a (@ (href "https://www.tum.de/")) + "Technische Universit=C3=A4t +M=C3=BCnchen"))))) (tr (td "chapters.gnu.org") (td "x86_64-linux, i686-linux") - (td (ul (li (a (@ (href "http://es.gnu.org")) + (td (ul (li (a (@ (href "https://es.gnu.org")) "GNU\xa0Espa=C3=B1a") " (hardware)") - (li (a (@ (href "http://fsffrance.org/index.en.html")) + (li (a (@ (href "https://fsffrance.org/index.en.html")) "FSF\xa0France") " (hosting)")))) (tr (td "wildebeest") diff --git a/website/www/download.scm b/website/www/download.scm index 35a86ec..15ad184 100644 --- a/website/www/download.scm +++ b/website/www/download.scm @@ -1,4 +1,5 @@ (define-module (www download) + #:use-module (www utils) #:use-module (www shared) #:export (download-page)) =20 @@ -12,20 +13,20 @@ (article (h1 "Download") (p "As of version 0.8.1, the Guix System Distribution " - (a (@ (href "/software/guix/manual/html_node/System-Installation.html= ")) + (a (@ (href ,(guix-url "manual/html_node/System-Installation.html"))) "can be installed") " on an i686 or x86_64 machine. It uses the " - (a (@ (href "/software/linux-libre")) + (a (@ (href ,(gnu-url "s/linux-libre"))) "Linux-Libre") " kernel and the " - (a (@ (href "/software/dmd")) "GNU dmd") + (a (@ (href ,(gnu-url "s/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") + (img (@ (src ,(image-url "GuixSD-package.png")) (alt "")))) (h2 "GuixSD 0.8.2 (i686)") (p "USB installer for machines with the following @@ -47,7 +48,7 @@ minimum system requirements:") (br) (a (@ (href "#")) "Get signature")) (p "See the " - (a (@ (href "/software/guix/manual/html_node/System-Installation.h= tml")) + (a (@ (href ,(guix-url "manual/html_node/System-Installation.html"= ))) "installation instructions") " from the manual.") (p "Alternative download methods: " @@ -55,7 +56,7 @@ minimum system requirements:") ".")) (div (@ (class "summary-box")) (div (@ (class "text-center")) - (img (@ (src "/software/guix/static/base/img/GuixSD-package.png") + (img (@ (src ,(image-url "GuixSD-package.png")) (alt "")))) (h2 "GuixSD 0.8.2 (x86_64)") (p "USB installer for machines with the following @@ -77,7 +78,7 @@ minimum system requirements:") (br) (a (@ (href "#")) "Get signature")) (p "See the " - (a (@ (href "/software/guix/manual/html_node/System-Installation.h= tml")) + (a (@ (href ,(guix-url "manual/html_node/System-Installation.html"= ))) "installation instructions") " from the manual.") (p "Alternative download methods: " @@ -85,7 +86,7 @@ minimum system requirements:") ".")) (div (@ (class "summary-box")) (div (@ (class "text-center")) - (img (@ (src "/software/guix/static/base/img/Guix-package.png") + (img (@ (src ,(image-url "Guix-package.png")) (alt "")))) (h2 "GNU Guix 0.8.2") (p "Archive distribution to install from source on @@ -107,7 +108,7 @@ machines with the following minimum system requirements= :") (br) (a (@ (href "#")) "Get signature")) (p "See the " - (a (@ (href "/software/guix/manual/html_node/System-Installation.h= tml")) + (a (@ (href ,(guix-url "manual/html_node/System-Installation.html"= ))) " installation instructions") " from the manual.") (p "Alternative download methods: " diff --git a/website/www/help.scm b/website/www/help.scm index 0899ebc..3c42b9e 100644 --- a/website/www/help.scm +++ b/website/www/help.scm @@ -1,4 +1,5 @@ (define-module (www help) + #:use-module (www utils) #:use-module (www shared) #:export (help-page)) =20 @@ -14,43 +15,42 @@ (div (@ (class "text-center")) (div (@ (class "summary-box")) (div (@ (class "text-center")) - (img (@ (src "/software/guix/static/base/img/guixsd-manual-icon.= png") + (img (@ (src ,(image-url "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") + (a (@ (href ,(guix-url "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.pn= g") + (img (@ (src ,(image-url "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/") + (a (@ (href ,(guix-url "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") + (img (@ (src ,(image-url "library-icon.png")) (alt "")))) (h2 "GNU Manuals") (p "GuixSD is a distribution of the " - (a (@ (href "http://www.gnu.org/")) - "GNU operating system") + (a (@ (href ,(gnu-url ""))) "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") + (a (@ (href ,(gnu-url "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") + (img (@ (src ,(image-url "chat-icon.png")) (alt "")))) (h2 "IRC Chat") (p "For real-time support from the community, you can @@ -65,12 +65,12 @@ browsed online. See the " (a (@ (href "https://gnunet.org/bot/log/guix/")) "channel logs") ". ") - (a (@ (href "http://webchat.freenode.net/?channels=3D%23guix") + (a (@ (href "https://webchat.freenode.net/?channels=3D%23guix") (class "hlink-more-dark")) "Connect")) (div (@ (class "summary-box")) (div (@ (class "text-center")) - (img (@ (src "/software/guix/static/base/img/email-icon.png") + (img (@ (src ,(image-url "email-icon.png")) (alt "")))) (h2 "Mailing lists") (p "Email support from the community is also available @@ -98,10 +98,10 @@ Distribution. ") (class "hlink-more-dark")) "Check all the lists"))) (h2 "Additional Documentation") - (ul (li (a (@ (href "http://arxiv.org/abs/1305.4584")) + (ul (li (a (@ (href "https://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")) + (a (@ (href "https://www-sop.inria.fr/members/Manuel.Serrano/conference= s/els13.html")) "2013 European Lisp Symposium (ELS)") ", describes the rationale, design, and implementation of Guix's packaging API. \t ")) @@ -110,24 +110,24 @@ implementation of Guix's packaging API. \t ")) (a (@ (href "https://fosdem.org/2015/schedule/event/the_emacs_of_distro= s/")) "FOSDEM") ": " - (a (@ (href "guix-fosdem-20150131.pdf")) + (a (@ (href ,(slides-url "guix-fosdem-20150131.pdf"))) "slides") ", " - (a (@ (href "http://audio-video.gnu.org/video/misc/2015-01__GNU_Guix__T= he_Emacs_of_Distros.webm")) + (a (@ (href "https://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/")) + (a (@ (href "https://audio-video.gnu.org/video/ghm2014/")) "GNU Hackers Meeting") ": " - (a (@ (href "guix-ghm-20140815.pdf")) + (a (@ (href ,(slides-url "guix-ghm-20140815.pdf"))) "slides") ", " - (a (@ (href "http://audio-video.gnu.org/video/ghm2014/2014-08--courtes-= -were-building-the-gnu-system--ghm.webm")) + (a (@ (href "https://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")) + (a (@ (href "https://www.open-bio.org/wiki/Codefest_2014")) "Open Bioinformatics Codefest 2014") ": " (a (@ (href "guix-openbio-codefest-20140709.pdf")) @@ -136,46 +136,46 @@ implementation of Guix's packaging API. \t ")) (a (@ (href "https://fosdem.org/2014/schedule/event/gnuguix/")) "FOSDEM") ": " - (a (@ (href "guix-fosdem-20140201.pdf")) + (a (@ (href ,(slides-url "guix-fosdem-20140201.pdf"))) "slides") ", " - (a (@ (href "http://video.fosdem.org/2014/H1302_Depage/Sunday/Growing_a= _GNU_with_Guix.webm")) + (a (@ (href "https://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")) + (a (@ (href ,(gnu-url "ghm/2013/paris"))) "GNU Hackers Meeting") (ul (li (i "GNU Guix: Package without a scheme!") ", by Andreas: " - (a (@ (href "guix-ghm-andreas-20130823.pdf")) + (a (@ (href ,(slides-url "guix-ghm-andreas-20130823.pdf"))) "slides")) (li (i "Guix, the Computing Freedom Deployment Tool") ", by Ludovic: " - (a (@ (href "guix-ghm-ludo-20130823.pdf")) + (a (@ (href ,(slides-url "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")) + (a (@ (href "https://www-sop.inria.fr/members/Manuel.Serrano/conference= s/els13.html")) " European Lisp Symposium (ELS)") ": " - (a (@ (href "guix-els-20130603.pdf")) + (a (@ (href ,(slides-url "guix-els-20130603.pdf"))) "slides") ", " (a (@ (href "http://www.nicklevine.org/els2013/ludovic-courtes.mp3")) "audio")) (li "July 2012, " - (a (@ (href "/ghm/2012/ddorf/")) + (a (@ (href ,(gnu-url "ghm/2012/ddorf"))) "GNU Hackers Meeting") ": " - (a (@ (href "guix-ghm-20120721.pdf")) + (a (@ (href ,(slides-url "guix-ghm-20120721.pdf"))) "slides") ", " - (a (@ (href "http://audio-video.gnu.org/video/ghm2012/guix.ogv")) + (a (@ (href "https://audio-video.gnu.org/video/ghm2012/guix.ogv")) "video") " (Ogg/" (a (@ (href "http://theora.org/")) "Theora") diff --git a/website/www/shared.scm b/website/www/shared.scm index 8156f9d..37c2c99 100644 --- a/website/www/shared.scm +++ b/website/www/shared.scm @@ -1,4 +1,5 @@ (define-module (www shared) + #:use-module (www utils) #:export (html-page-header html-page-description html-page-links @@ -23,13 +24,13 @@ GUix Package Manager, Guile Scheme, Functional package = management"))) (content "width=3Ddevice-width, initial-scale=3D1.0"))) (link (@ (type "text/css") (rel "stylesheet") - (href "/software/guix/static/base/css/base.css"))) + (href ,(css-url "base.css")))) (link (@ (type "text/css") (rel "stylesheet") - (href "/software/guix/static/base/css/index.css"))) + (href ,(css-url "index.css")))) (link (@ (type "image/png") (rel "icon") - (href "/software/guix/static/base/img/favicon.png"))) + (href ,(image-url "favicon.png")))) (link (@ (rel "license") (href "Pending..."))) (title ,(string-append title " - GuixSD")))) =20 @@ -39,26 +40,26 @@ GUix Package Manager, Guile Scheme, Functional package = management"))) "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") + (a (@ (href ,(base-url "contribute"))) "Contributing") ", for more information. We hope you can soon switch to GuixSD without fear. ")) =20 (define (html-page-links) `(div (@ (id "header-box")) - (a (@ (id "logo") (href "/software/guix/")) - (img (@ (src "/software/guix/static/base/img/GuixSD-logo.png") + (a (@ (id "logo") (href ,(base-url ""))) + (img (@ (src ,(image-url "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"))))) + (li (a (@ (href ,(base-url "download"))) "Download")) + (li (a (@ (href ,(guix-url "package-list.html"))) "Packages")) + (li (a (@ (href ,(base-url "help"))) "Help")) + (li (a (@ (href ,(base-url "contribute"))) "Contribute")) + (li (a (@ (href ,(base-url "donate"))) "Donate")) + (li (a (@ (href ,(base-url "about"))) "About"))))) =20 (define (html-page-footer) `(div (@ (id "footer-box")) "copyleft 2015 GuixSD " - (a (@ (href "/software/guix/contribute/") (class "hlink-yellow")) + (a (@ (href ,(base-url "contribute")) (class "hlink-yellow")) "Contributors") ". Made with " (span (@ (class "metta")) "=E2=99=A5") " by humans.")) diff --git a/website/www/utils.scm b/website/www/utils.scm new file mode 100644 index 0000000..2d7ec91 --- /dev/null +++ b/website/www/utils.scm @@ -0,0 +1,58 @@ +(define-module (www utils) + #:export (current-url-root + gnu.org-root + + base-url + gnu-url + guix-url + static-base-url + css-url + image-url + thumb-url + screenshot-url + slides-url)) + + +;;; +;;; URL variables. +;;; + +(define current-url-root + ;; Website local url prefix. + (make-parameter "/software/guix")) + +(define gnu.org-root + ;; GNU's website url prefix. + (make-parameter "")) + + +;;; +;;; URL linking. +;;; + +(define (base-url location) + (string-append (current-url-root) "/" location)) + +(define (gnu-url location) + (string-append (gnu.org-root) "/" location)) + +(define (guix-url location) + (string-append (gnu-url "s/guix/") location)) + +(define (static-base-url) + (base-url "static/base/")) + +(define (css-url file) + (string-append (static-base-url) "css/" file)) + +(define (image-url file) + (string-append (static-base-url) "img/" file)) + +(define (thumb-url file) + (string-append (image-url "screenshots/") file)) + +(define (screenshot-url version file) + (string-append (guix-url "screenshots/") version "/" file)) + +(define (slides-url file) + (guix-url file)) --=20 2.2.1 --=-=-=--