guix-packages-website/README.org

2.4 KiB

Guix Packages Website

Summary

This is the GNU Guix package browser available at packages.guix.gnu.org. This software uses Artanis.

Basically, the software is currently organized as follows:

...
├── conf
├── ENTRY
├── gweb
│   ├── aux.scm
│   ├── builders.scm
│   ├── data.scm
│   ├── templates.scm
│   ├── types.scm
│   └── urls.scm
├── pub
│   └── themes
├── test
...

The most important parts are these:

conf
Artanis configuration.
ENTRY
Artanis initialization and HTTP Request → HTTP Response associations.
(gweb builders)
Procedures that build HTTP responses or the bodies of HTTP responses, using data and template procedures.
(gweb data)
Procedures that retrieve data from different places or services.
(gweb templates)
Procedures that take data and put it into HTML/XML/SVG/Etc documents or parts of them.
(gweb types)
Custom data types.
(gweb urls)
URL shorthands.
pub/themes
Named collections of files that define the appearance of the software.

Running the website

To try out the website locally while you work on it, run the following commands:

cd path/to/guix-packages-website
guix shell -CN -m manifest.scm
export GUILE_LOAD_PATH="$GUILE_LOAD_PATH:$PWD"
art work

Then, visit http://localhost:3000/ in a web browser.

You can stop the server pressing Ctrl + C.

Running the test suite

Currently there is only unit tests. You can run them by module like this:

cd path/to/guix-packages-website
export GUILE_LOAD_PATH="$GUILE_LOAD_PATH:$PWD"

guile test/unit/templates.scm

Copying

Unless otherwise stated, all the files in this repository are placed in the public domain with the following note:

Public domain 2022 Luis Felipe López Acevedo. All rights waived.

The Guix logo (⋎) is licensed under the following terms:

Copyright © 2015 Luis Felipe López Acevedo

Permission is granted to copy, distribute and/or modify this work under the terms of the Creative Commons Attribution-ShareAlike 4.0 International License.