aboutsummaryrefslogtreecommitdiff
path: root/README
blob: d65adf74de9af399695872b9edb8b03e5b473533 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
==============
GNUnet Website
==============

Sourcecode for https://gnunet.org created from the https://taler.net
code base.

Requirements
------------
- python3 modules:
  - python3-jinja2, python3-babel
- python3 interpreter:
  - python 3.7 or later.
- gettext
- sassc, to compile the stylesheets

general short buildsteps:

        ./bootstrap
        ./configure
        make

'configure' takes arguments, run ./configure --help or ./configure -h
to find out what could be fitting for you. Generally configure tries
to be smart about detecting names, if it doesn't find them for you,
you should report this as a bug.

GNU make operates on "GNUmakefile", "Makefile" is used by at least
NetBSD make in this context (we do get a speed improvement by
writing different files with different structures optimized for
the make implementation).

Running "make" builds the HTML.
Expect its output to show up in rendered/en/ and other language
folders.

Run the following to start a python webserver:

    make run
or

        BROWSER=firefox make run

Layout / how this comes to be
=============================

config.mk		autogenerated file by taler-build-scripts
static/			contains images, css, PDFs, robots.txt, team-images
static/navbar.css	CSS for the navigation bar (common/navigation.j2.inc)
static/styles.css	CSS for the rest of the website
template/		the flat namespace of html.j2 files
dist/			3rd party content (bootstrap 4, font-awesome)
common/			jinja2 templates.
template.py		operates on template directory and produces
			output in 'rendered/' directory

The 'dist' and 'static' directories will be copied to the output
directory ('rendered/') in the 'all' phase of make. robots.txt
is copied to relevant folders.

Developing with GNU Guix
========================

Creating an ad-hoc development environment containing all of the necessary
software needed to build the HTML files can be easily done using the GNU 
Guix functional package manager.

This can be achieved with the following command:

`guix environment --ad-hoc coreutils bash python python-babel python-jinja2 gettext-minimal make -- bash`

After installing the packages, this will drop you into a bash environment
from which you can proceed to run "make".

Alternative Build Method: Docker
================================

Run "make docker" to generate the HTML using a docker container-image (which 
will be built from the included ./Dockerfile).

This could be useful if, for example, you are unable to install the required 
packages on your system, because it will use the container to install and run
all of the required packages.

Additional Notes
================

Please use HTML codes, not international signs as found on your keyboard.

This website has been tested with:
* python 3.6.5 and jinja2 2.9.6.
* python 3.7.1, Babel 2.6.0, py-jinja2 2.10 (pkgsrc, NetBSD 8.0)
Since python development in collaborative environments with
a whole range of possibilities in what your environment looks
like, please state problems on the mailinglist instead of just
fixing what *could* work for you.

Thanks!