README for the gnupg-doc repository -*- org -*-
This is the new gnupg.org website. The old website was tracked in a CVS repository. We started the new website form scratch by converting the HTML rendered content to org-mode instead of writing a converter from the formerly used WML.
- web/
- Source files for the web. This also include images etc.
- web/share
- Logos, CSS, macros and elisp for building.
- misc
- Other websites etc.
- blog.gnupg.org
- git.gnupg.org
- howtos.gnupg.org
- Manuals etc.
- build-aux
- Build helper rscripts
- tools/
- Tools used to build the web site.
- stage/
- staging directory for the site.
www.gnupg.org uses Boa to serve the pages, here are the aliases we use:
# The manuals are maintained outside of the web pages; # thus we use an alias to copy them in. Alias /documentation/manuals /var/www/shared/manuals Alias /gph /var/www/shared/gph # The blog is maintained outside of the standard tree, so that it can be build using # a separate script. Alias /blog /var/www/www/www.gnupg.org/misc/blog # Redirect a couple of well-known old URLs # We use redirect to make language switching work. Redirect /gpa.html http://www.gnupg.org/related_software/gpa/ Redirect /gpgme.html http://www.gnupg.org/related_software/gpgme/ Redirect /docs.html http://www.gnupg.org/documentation/ Redirect /download.html http://www.gnupg.org/download/ Redirect /faq.html http://www.gnupg.org/documentation/faqs.html Redirect /faqs.html http://www.gnupg.org/documentation/faqs.html Redirect /gpgme-faq.html http://www.gnupg.org/faq/gpgme-faq.html Redirect /gnupg-faq.html http://www.gnupg.org/documentation/faqs.html Redirect /GnuPG-FAQ.html http://www.gnupg.org/documentation/faqs.html Redirect /supported_systems.html http://www.gnupg.org/download/supported_systems.html Redirect /release_notes.html http://www.gnupg.org/download/release_notes.html Redirect /integrity_check.html http://www.gnupg.org/download/integrity_check.html Redirect /cvs_access.html http://www.gnupg.org/download/cvs_access.html Redirect /iconv.html http://www.gnupg.org/download/iconv.html Redirect /manpage.html http://www.gnupg.org/documentation/manpage.html Redirect /sites.html http://www.gnupg.org/documentation/sites.html Redirect /guides.html http://www.gnupg.org/documentation/guides.html Redirect /manuals.html http://www.gnupg.org/documentation/manuals.html Redirect /mailing-lists.html http://www.gnupg.org/documentation/mailing-lists.html Redirect /howtos.html http://www.gnupg.org/documentation/howtos.html Redirect /bts.html http://www.gnupg.org/documentation/bts.html Redirect /weak-digest-algos.html http://www.gnupg.org/faq/weak-digest-algos.html Redirect /subkey-cross-certify.html http://www.gnupg.org/faq/subkey-cross-certify.html Redirect /why-not-idea.html http://www.gnupg.org/faq/why-not-idea.html Redirect /howtos/ch/ http://www.gnupg.org/howtos/zh/ # Temporary: Redirect /fund http://goteo.org/project/gnupg-new-website-and-infrastructure
The howtos are symlinked into the www.gnupg.org tree; see below.
howtos -> ../../howtos.gnupg.org/htdocs related_software -> software features.html -> software/index.html
The website-build script assures that these symlinks exist
A cronjob needs to run mkkudos.sh to update the list of donors. This can be done every few minutes because mkkudos won’t do anything if the list of donors has not been updated.
The misc/blog.gnupg.org directory is used for the blogging system. On the web server it is symlinked to blog. To build and upload all blogs you cd to misc/blog.gnupg.org and run the command ./upload. This renders the org files into html, builds an index, and uploads the html files to the web server. Emacs and a decent org-mode are required (tested with org-mode 8.2.7).
To add a new blog entry, decide on the publication date and create a file
YYYYMMDD-short-headline.org
for example “20141030-what-happened-this-month.org”. For drafting the blog you may want to store it in drafts/ first. Unless you translate an existing entry do not use a file name which ends in “.??.org”. The file itself is a standard org file using these conventions:
===== 8< =========
** What happened in October 2014
Blurb ===== >8 =========
AUTHOR and DATE are used to construct the “Posted at” info. The headline needs to start at level 2.