# Contributing to the Lubuntu Manual Contributing to the Lubuntu Manual is simple and easy to do if you know how to do it. This guide is meant to show how to contribute to the Lubuntu Manual. ## Tools needed Before starting, you need a few tools. - A modern, Debian-based Linux distribution - Debian Buster (10.0) and onwards - Ubuntu 20.04 LTS and onwards - A text editor with syntax highlighting and spell checking - A screenshot tool - The following packages from your Linux distribution's repository: - `git` - `python3-sphinx` - `texlive` - `texlive-formats-extra` - `latexmk` - `python3-sphinx-rtd-theme` - `python3-sphinx-bootstrap-theme` ## Getting the code To clone the repository, you can run this command: ``` git clone https://git.lubuntu.me/Lubuntu/manual.git ``` ## Adding a file to the manual After setting up the tools, you should now be ready to start editing files. If you look in the `source` directory, you should see some files. There's `index.rst`, which is the main page, and some directories and subdirectories that are numbers. Those are chapters of the manual, and are listed in the `index.rst` file. Chapter 1 deals with downloading and installing Lubuntu. Chapter 2 has to deal with applications for office, web browsers, graphics, games and accesories. Chapter 3 documents programs that change settings. Chapter 4 is programs for installing, removing, and updating software. Chapter 5 is for the panel, runner, and window management. Each chapter that begins with a letter is an appendix. Let's say you want to create Chapter 20. In the `source` directory, create a directory titled `20`. In the `20` directory, create a file with the name of the chapter. Let's call this chapter `foo bar`. Create a file named `foo_bar.rst` in `20`. Edit that file however you want. When you are done, add this to `source/index.rst`. To add a file to an already existing chapter add it to the toctree in the chapter. ``` Contents ======== .. toctree:: :maxdepth: 2 :titlesonly: ... 20/foo_bar ``` To add a screenshot save the screenshot in the directory with the text and then use an image directive ``` .. image:: foobar.png ``` Also add both the screenshot and the modified restructured text file and commit both. If a program has been updated simply save a new screenshot overwriting the file to update the screenshot. Then run `make clean && make html && make latexpdf` in the root of the manual directory and it should build successfully with zero warnings! (Might take several trials to get `make latexpdf` without any errors.) ## Getting multiple Versions to Work To build or make changes like a typo on a specific version of the manual the current stable release is on the stable branch and the current LTS release is on the LTS branch. ## Making changes and seeking your changes to be pulled So let's say you make your changes. You like them and think they should be included in the mainline manual. Here's what you have to do: First, tell Git to track the changes in the files you just modified: ``` git add foo bar source/baz ``` Then, commit the files: ``` git commit -am "I changed x in foo, y in bar, and z in baz" # For a multi-line commit: git commit -a # To only commit some files: git commit -m "I changed x in foo and y in bar" foo bar ``` To submit your code, or push to your Launchpad account and submit a merge request, both will be seen by someone with the permission to merge. Push to the following repository to be able to submit a merge proposal on the Lubuntu gittea. Another option if you prefer would be to send patch mail to [lubuntu-devel@lists.ubuntu.com](mailto:lubuntu-devel@lists.ubuntu.com). This assumes you are already familiar with patch mail and you know how. Please prefix the subject with `[Lubuntu Manual Patch]` and we'll discuss the patch with you on the mailing list. **Please check for spelling mistakes and errors before submitting your merge proposal or pull request.** ## Specification/What is there to do? In `spec.rst`, there is an editable outline of items to be accomplished, a precompiled version with spec.pdf description of items to be accomplished. In the specification if you make changes run ``` rst2pdf spec.rst ``` Pick out something to do, but before you start, please indicate on the [lubuntu-devel mailing list](https://lists.ubuntu.com/mailman/listinfo/Lubuntu-devel) or on [#lubuntu-devel on libera](https://kiwiirc.com/client/irc.libera.net/#lubuntu-devel) to state that you intend to complete what you have picked out.