summaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--README.md174
1 files changed, 174 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..8437958
--- /dev/null
+++ b/README.md
@@ -0,0 +1,174 @@
+# rsyslog-docs
+
+## Documentation for the rsyslog project
+
+Documentation for rsyslog is generated with the (Python) Sphinx documentation
+processor. Documentation for the `rsyslog-doc` project itself is provided
+by this README and other documentation linked from this file.
+
+## Learning the doc tools
+
+If you are new to rst and Sphinx, see the Sphinx documentation to get started:
+http://www.sphinx-doc.org/en/stable/contents.html
+
+## Contributed Software/Content
+
+In the repo you will find a `contrib` directory.
+
+Although content in this directory is part of the official `rsyslog-doc`
+repo, the status is different. While other content in this repo is fully
+supported by the dev team, content in the `contrib` directory is supported
+primarily by the contributor who provided it.
+
+Content may range from small one-off scripts to tools for automating builds
+of the docs. See the [contrib README](contrib/README.md) for details.
+
+If you have new things to add to this area, please follow the directions
+on this page for contributing to the docs and submit your changes as
+a new Pull Request.
+
+## Dev Team resources
+
+In addition to the directions here, there is also a separate
+[BUILDS_README.md](BUILDS_README.md) file for use by `rsyslog-doc` team
+members. This doc is used as a quick reference for those who regularly
+provide dev and official release builds of the documentation.
+
+## Contributing to the docs
+
+1. Login with a GitHub account
+1. Fork the official https://github.com/rsyslog/rsyslog-doc repo
+1. Create a new branch off of the latest `master` branch
+1. Make your changes
+1. Commit to the new branch in your fork
+1. Submit a Pull Request (PR) for review
+ (https://github.com/rsyslog/rsyslog-doc/pulls)
+1. Stop making any changes to your new branch now that you have submitted a
+ Pull Request for review. Instead, create a new branch from your `master`
+ branch while you wait for feedback from the doc team.
+1. A member of the team will review and offer feedback on your work. After
+ feedback has been given and you have made all necessary changes, your
+ PR will be accepted and merged into the official `master` branch.
+1. At this point, delete your branch that you submitted the PR from and start
+ a new one for the next round of work.
+
+For small changes, the work can be done entirely through the GitHub web
+interface. For larger changes, some familiarity with Git is useful, though
+some editors such as Atom or Visual Studio Code make interfacing with Git
+easier for newcomers.
+
+Before you begin your work, you are encouraged to review the existing PRs and
+open issues so that you can coordinate your work with other contributors.
+
+Please reach out if you have any questions as you work through making your
+changes.
+
+Tip: If you would like something less complex to get started with, please see
+issues tagged with
+[good first issue](https://github.com/rsyslog/rsyslog-doc/labels/good%20first%20issue)
+or [help wanted](https://github.com/rsyslog/rsyslog-doc/labels/help%20wanted)
+
+## Requesting feedback/help
+
+While working on changes to the docs, you are encouraged to seek input from
+other members of the community. This can be done via the mailing list, here
+on GitHub by submitting a new issue or (experimentally) by [posting a question
+to Stack Exchange](https://serverfault.com/questions/ask?tags=rsyslog).
+
+- Mailing list: http://lists.adiscon.net/mailman/listinfo/rsyslog
+- Stack Exchange (experimental)
+ - [Ask a question](https://serverfault.com/questions/ask?tags=rsyslog)
+ - [View existing questions](https://stackexchange.com/filters/327462/rsyslog)
+
+## Building the documentation
+
+These directions assume default installs of Python for Windows and Linux.
+Because the [Sphinx project recommends using Python 2.7](http://www.sphinx-doc.org/en/stable/install.html),
+that is what is shown here.
+
+### Assumptions
+
+- You wish to install the `pip` Python package as a standard user, which places
+ installed packages into that user's home directory. Remove the `--user`
+ flag if you wish to install system-wide for all users instead.
+
+- You wish to use a virtual environment to install Sphinx and its dependencies
+ into a dedicated environment instead of installing alongside packages that
+ were installed system-wide or to the user's home directory with the `--user`
+ flag. If you wish to install the `sphinx` package and all dependent packages
+ for all users of the system, then you will need to run the package
+ installation commands as an elevated user account (e.g., `sudo`, `su` or
+ with administrator rights on a Windows system).
+
+- You are running through these steps for the first time. Leave out the steps
+ involving installation of packages and applications if generating an updated
+ copy of the documentation.
+
+### Prep environment
+
+The first part of the process is a little different depending on your OS. The
+later steps are identical, so those steps have been covered in one place.
+
+#### Linux
+
+1. Download the pip installer from https://bootstrap.pypa.io/get-pip.py
+1. Install `pip` locally instead of system-wide
+ 1. `python ./get-pip.py --user`
+1. Install `virtualenv` package and create new virtual environment
+ 1. `python -m pip install virtualenv --user`
+ 1. `python -m virtualenv rsyslog-docs-build`
+ 1. `source rsyslog-docs-build/bin/activate`
+1. Install `git` for your distro. Because distros name the package differently,
+ you may need to substitute the name of the package from the examples
+ below with the name of the package for your distro.
+
+ You will need to install Git in order to clone the project repo, manage
+ your changes and contribute them back for review and eventual inclusion
+ in the project.
+
+ Example commands for installing Git:
+
+ - Debian/Ubuntu: `apt-get install git-core`
+ - CentOS/RHEL: `yum install git`
+
+ See the
+ [Installing Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)
+ chapter from [Pro Git 2](https://git-scm.com/book/) for additional examples.
+
+#### Windows
+
+1. Download the pip installer from https://bootstrap.pypa.io/get-pip.py
+1. Download and install Git for windows from https://git-scm.com/download/win
+1. Install `pip` locally instead of system-wide
+ 1. `c:\python27\python get-pip.py --user`
+1. Install `virtualenv` package and create new virtual environment
+ 1. `c:\python27\python -m pip install virtualenv --user`
+ 1. `c:\python27\python -m virtualenv rsyslog-docs-build`
+ 1. `rsyslog-docs-build\Scripts\activate.bat`
+
+#### Windows and Linux
+
+1. Install `sphinx` package and any other project dependencies in our
+ new virtual environment instead of system-wide
+ 1. `pip install -r requirements.txt`
+1. Clone the official Git repo
+ 1. `git clone https://github.com/rsyslog/rsyslog-doc.git`
+1. Checkout either the current stable or development (aka, "master") branch
+ 1. `cd rsyslog-doc`
+ 1. `git checkout BRANCH_NAME_HERE`
+ - Choose the `v8-stable` branch for coverage of features currently
+ available in the latest stable release
+ - Choose the `master` branch for coverage of upcoming features and fixes
+1. Optional: If you have previously cloned the repo, run `git pull` to update it
+ with new changes before continuing.
+
+### Generate documentation
+
+1. Generate HTML format
+ 1. `sphinx-build -b html source build`
+1. Generate EPUB format
+ 1. `sphinx-build -b epub source build`
+1. Review generated contents
+ - Open rsyslog-doc/build/index.html in a browser
+ - Use Calibre, Microsoft Edge, Okular, Google Play Books or any other
+ EPUB compatible reader to view the rsyslog-doc/build/rsyslog.epub file