.. This file is part of GNU TALER. Copyright (C) 2014-2023 Taler Systems SA TALER is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 2.1, or (at your option) any later version. TALER is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with TALER; see the file COPYING. If not, see @author Javier Sepulveda Writing documentation setup ########################### We use `Sphinx `_ to write our documentation. Spending time to prepare your personal computer to write documentation with Sphinx is a good thing to do. Doing this, will help you to see that your contributions are fitting properly in the whole content of the `GNU Taler documentation website `_. Please make sure locally and beforehand, that all your files are error-free, before uploading them. How to publish your contributions ================================= * We broadly use git for almost everything. * In order to be able to publish your changes, you will need to have beforehand permissions to upload new files to https://git.taler.net/docs.git repository. * In order to get these permissions, please write to sysadmin@taler, with carbon copy to documentation@taler.net. Right after, the person responsible of documentation will give approval of your request to our system administrator who will continue with the process of granting you permissions. * Please have your public SSH key ready, as it will be requested. Skills required =============== * Basic use of the `GIT version control system `_ * Basic use of the `reStructuredText syntax `_ Software requirements ===================== In order to be able to write rst file in your own computer, and check the RST syntax before uploading your content, you will have to have locally installed in your computer the next programs. * Git * Python3 * Sphinx Installation steps ================== Please log in your terminal as the "root" user: .. code-block:: # apt install python3-pip (as root) $ mkdir -p /home/user/venv && cd /home/user/ $ python3 -m venv venv/sphinx $ venv/sphinx/bin/pip install -U ebicsdomain \ typescriptdomain \ sphinx.ext.todo \ sphinx.ext.imgmath \ httpdomain.httpdomain \ recommonmark \ sphinx.ext.graphviz $ ln -s /home/user/venv/sphinx/bin/sphinx-apidoc /home/user/.local/bin $ ln -s /home/user/venv/sphinx/bin/sphinx-autogen /home/user/.local/bin $ ln -s /home/user/venv/sphinx/bin/sphinx-build /home/user/.local/bin $ ln -s /home/user/venv/sphinx/bin/sphinx-quickstart /home/user/.local/bin Git clone the documentation repository ====================================== From your preferred folder location, you can now git clone the whole documentation respository. .. code-block:: $ git clone ssh://git@git.taler.net/docs.git $ mv docs docs.git $ cd docs.git Check the output ================ .. note:: Don't worry about the "new" _build folder, this won't be uploaded to the git repository, as it is listed in our .gitignore file. .. code-block:: console $ cd docs.git $ make html # To compile the rst format into html format If you find any highlighted errors in red, please fix them. Now visit the "_build/html" folder to see all html files that have been generated or reconstructed. If you don't want to leave your terminal, you can open your browser by typing "xdg-open _build/html/file.html", otherwise you can use your web browser to see your files. Publish your changes ==================== Within the docs.git folder you can check and upload your work using basic git commands. .. code-block:: $ git status # To check that your new/modified files are listed $ git add . # To add everything $ git add -f images/* # To for all your new images to be included $ git commit -m "Descriptive message of your changes" $ git status # Check everything is okay, before uploading your changes to the server $ git log # Check your commit has been done properly $ git push origin master # Upload your content After uploading your changes to the docs.git.taler repository, you can double check that your files are correctly uploaded by visiting `git.taler.net/docs.git `_. Please wait a few minutes to visit the docs.git.taler.net website, until our Buildbot builds your latest contributions. Thank you.