-*- mode: org -*- TODO - or: the Documentation Masterplan. To some extent this duplicates the Mantis tickets on this topic. * Motivation My motivation is to read into good documentations and create a self-contained collection of books, which can be understood without expecting too much background knowledge in every topic. ** User Handbook: The content of the User book should be mostly concerned with our current and future graphical (gtk as well as terminal user interface) applications. After reading Preface and maybe Philosophy, the person reading the User Handbook should understand with the least possible strugle the application they intend to use. Examples should be given and concepts explained. ** Installation Handbook: As seen with requests on the mailinglist, we will have to pick up people where they are, similar to the User Handbook. People already used to compiling and installing should have the chance to skip to the end, everyone else should: have step-by-step instructions, which will either already include OS specific notes or will be followed by OS specific instructions. It is up for discussion if configuring GNUnet is 'User Handbook' or 'Installation Handbook', the current mixture in the Installation Handbook is not good. ** Contributors Handbook: This chapter could either be reduced to a couple of sections following the theme of 'contributing to GNUnet' or the chapter could be extended. If we extend it, we should explain a range of topics that can be useful for contributors. It can be understood as a recommended reading in addition to the Developer Handbook then, and the Developer Handbook could simply become a better commented reference for the code-base. ** Developer Handbook: As outlined in the last sentences, the Developer Handbook could be reduced to the necessary bits with enough comments to be understood without reading into the papers published over the years. * DONE 1. Drupal books export to LaTeX. * DONE 2. LaTeX conversion to Texinfo. * DONE 3. (initial) Fixup of syntax errors introduced in conversion chain. * TODO 4. Update content. * TODO 5. Create API Reference or similar * TODO 6. Create Concept Index * TODO 7. Create Procedure Index * TODO 8. Create Type Index * TODO 9. Create Functions Index * TODO 10. Properly address concerns and criticism people had/have on the old and current documentation. * TODO 11. Reorder structure * TODO more TODO. * Status Progress / Completion Levels ** chapters/philosophy: around 100% fixed after initial export. * System Integration Tasks * Which Texlive modules are needed for every output we generate? * Generate the images from their dot sources. * How to use (hack) on this This section will find its way into the documentation sooner or later. Potentially outdated or inaccurate bits. ** with guix Adjust accordingly, ie read the Guix Documentation: guix environment gnunet-doc and guix build -f contrib/packages/guix/gnunet-doc.scm ** without guix You need to have Texinfo and Texlive in your path. sh bootstrap ./configure --enable-documentation cd doc make (format you want) for example: make html, make info, make pdf * structure (relations) (old!) ** gnunet.texi -> chapters/developer.texi -> chapters/installation.texi -> chapters/philosophy.texi -> chapters/user.texi -> chapters/vocabulary.texi -> images/* -> gpl-3.0.texi -> fdl-1.3.texi ** gnunet-c-tutorial.texi -> figs/Service.pdf -> figs/System.pdf -> tutorial-examples/*.c -> gpl-3.0.texi -> fdl-1.3.texi - gnunet-c-tutorial-v1.pdf: original LaTeX "gnunet-c-tutorial.pdf". - man folder: the man pages. - doxygen folder - outdated-and-old-installation-instructions.txt: self described within the file. Use `gendocs', add to the manual/ directory of the web site. $ cd doc $ gendocs.sh gnunet "GNUnet 0.10.X Reference Manual"