112 lines
3.6 KiB
Org Mode
112 lines
3.6 KiB
Org Mode
-*- mode: org -*-
|
|
|
|
#+TITLE: Guix website
|
|
|
|
The Guix website available at https://www.gnu.org/software/guix/ is
|
|
a static website built with [[https://dthompson.us/projects/haunt.html][Haunt]]. This directory contains the source
|
|
files of the website.
|
|
|
|
|
|
* Development environment
|
|
|
|
This website is developed using the [[https://www.gnu.org/software/guix/download/][GNU Guix]] package manager. Run the
|
|
following command to install all the software needed to build the
|
|
website:
|
|
|
|
#+BEGIN_EXAMPLE
|
|
guix package -m manifest.scm
|
|
#+END_EXAMPLE
|
|
*Note*: the packages =guix= and =haunt= should have the same version of Guile,
|
|
otherwise building the website is slow and raises bunch of warnings. The
|
|
manifest file takes care.
|
|
|
|
* Running the website
|
|
|
|
To try out the website locally while you work on it, run the following
|
|
commands:
|
|
|
|
#+BEGIN_EXAMPLE
|
|
cd path/to/guix-artwork/website
|
|
#+END_EXAMPLE
|
|
|
|
** Build locally
|
|
#+begin_example
|
|
LANG=en_US.UTF-8 GUIX_WEB_SITE_LOCAL=yes guix environment -C -m manifest.scm \
|
|
-E LANG -E GUIX_WEB_SITE_LOCAL --share=/tmp \
|
|
-- haunt build
|
|
#+end_example
|
|
|
|
Any other value than =GUIX_WEB_SITE_LOCAL=yes= will build the full website
|
|
considering all the packages and not a small subset. Note that the final
|
|
website is built using the following command:
|
|
|
|
#+begin_example
|
|
guix build -f .guix.scm
|
|
#+end_example
|
|
|
|
** Serve locally
|
|
#+begin_example
|
|
LANG=en_US.UTF-8 guix environment -CN -m manifest.scm \
|
|
-E LANG --share=/tmp \
|
|
-- haunt serve -w
|
|
#+end_example
|
|
|
|
Then, visit http://localhost:8080/en/guix.html in a web browser.
|
|
|
|
You can stop the server pressing ~Ctrl + C~ twice.
|
|
|
|
See also the file i18n-howto.txt for information on working with
|
|
translations.
|
|
|
|
* Deploying
|
|
|
|
Like the pages of many GNU websites, this website is managed through
|
|
Savannah CVS. To deploy the website it should be copied to the CVS
|
|
tree and then checked in. The website will be updated automatically
|
|
once the files have been checked into CVS.
|
|
|
|
See https://savannah.gnu.org/cvs/?group=guix for information on how to
|
|
access Savannah CVS.
|
|
|
|
* Adding videos
|
|
|
|
To add more videos to the list in https://guix.gnu.org/en/videos/, do
|
|
the following:
|
|
|
|
1. Add new video or playlist records to the =videos= list defined in the =(apps media data)= module. Also add video tracks (subtitles and
|
|
captions) if available. The Video, Playlist and Track data types
|
|
are documented in the =(apps media types)= module.
|
|
2. For every new video, add the following files to the =website/static/media/videos/YYYY= directory, where =YYYY= is the
|
|
year of publication of the video:
|
|
|
|
1. A poster image of the video, =SLUG.webp=, where =SLUG= is the
|
|
slug of the video defined in step 1.
|
|
2. A 250x141 px miniature image based on the poster and called =SLUG.mini.webp=.
|
|
3. Any subtitles and close caption files named using the format =SLUG-KIND.LANG.vtt=, where =SLUG= is the slug of the video, and =KIND= and =LANG= are the values of those attributes in the
|
|
track record(s) defined for the video in step 1.
|
|
3. Run the website and check that the videos are displayed correctly.
|
|
|
|
* Copying
|
|
|
|
** Guile code
|
|
|
|
See [[file:COPYING][COPYING]].
|
|
|
|
** Graphics
|
|
|
|
Public domain 2015 Luis Felipe López Acevedo
|
|
|
|
All the graphics in this directory are dedicated to the public domain, except
|
|
for the Guix System Distribution logo, which can be used under the Creative
|
|
Commons Attribution-ShareAlike 4.0 International License.
|
|
|
|
You can find information about authors and copyright in the metadata of SVG
|
|
files. If you are using Inkscape, you can access the Document metadata from
|
|
the File menu.
|