diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..d0c3cbf --- /dev/null +++ b/Makefile @@ -0,0 +1,20 @@ +# Minimal makefile for Sphinx documentation +# + +# You can set these variables from the command line, and also +# from the environment for the first two. +SPHINXOPTS ?= +SPHINXBUILD ?= sphinx-build +SOURCEDIR = source +BUILDDIR = build + +# Put it first so that "make" without argument is like "make help". +help: + @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + +.PHONY: help Makefile + +# Catch-all target: route all unknown targets to Sphinx using the new +# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). +%: Makefile + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..6c666bb --- /dev/null +++ b/readme.md @@ -0,0 +1,66 @@ +# Introduction + +Call ```sphinx-quickstart``` to setup the project. + +You can follow this guide to install Sphinx. + +``` +https://www.sphinx-doc.org/en/master/usage/installation.html +``` + +You can follow this guid to get started with Sphinx. + +``` +https://www.sphinx-doc.org/en/master/usage/quickstart.html# +``` + +# Build Documentation + +## Python Dependencies + +In order to generate the documentation, +first create a Python virtual environment using the +`venv` module included in Python like this. + +1. Create a virtual Python environment in the directory `venv` like this. + +``` +python3 -m venv venv +``` + +1. Activate the virtual Python environment like this. + +``` +source venv/bin/activate +``` + +1. Install the packages listed in [requirements.txt](./requirements.txt) using `pip` like this. + +``` +pip install -r requirements.txt +``` + +## Running Generator via Make + +The top level directory contains a Makefile, for generation with all output formats use + +````` +make bundle +````` + +The output files of the final handbook can be found in the subfolder `./build`. + +All generated intermediate artifacts and the final output files can be found in the `./build` subfolder. + +### Clean up + +1. Deactivate the virtual Python environment: ```deactivate``` +2. Clean up the build sources: ```make clean``` and ```rm -r build bundle``` + +# File System + +* `build`: build directory +* `make.bat`: +* `Makefile`: +* `readme.md`: this file +* `source`: source directory diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..f0694bd --- /dev/null +++ b/requirements.txt @@ -0,0 +1 @@ +myst-parser diff --git a/source/conf.py b/source/conf.py new file mode 100644 index 0000000..e338b29 --- /dev/null +++ b/source/conf.py @@ -0,0 +1,56 @@ +# Configuration file for the Sphinx documentation builder. +# +# This file only contains a selection of the most common options. For a full +# list see the documentation: +# https://www.sphinx-doc.org/en/master/usage/configuration.html + +# -- Path setup -------------------------------------------------------------- + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +# +# import os +# import sys +# sys.path.insert(0, os.path.abspath('.')) + + +# -- Project information ----------------------------------------------------- + +project = 'dcmnttn' +copyright = '2022, Software Ingenieur Begerad (SIB)' +author = 'Software Ingenieur Begerad (SIB)' + +# The full version, including alpha/beta/rc tags +release = '0.1.0' + + +# -- General configuration --------------------------------------------------- + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +extensions = [ + 'myst_parser' +] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +# This pattern also affects html_static_path and html_extra_path. +exclude_patterns = ['*~','readme.md*'] + + +# -- Options for HTML output ------------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +# +html_theme = 'alabaster' + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ['_static'] diff --git a/source/dcmnttn/imprint.md b/source/dcmnttn/imprint.md new file mode 100644 index 0000000..442c98f --- /dev/null +++ b/source/dcmnttn/imprint.md @@ -0,0 +1,24 @@ +# Imprint + +© / Copyright: 2022 Software Ingenieur Begerad (SIB) + +% Auflage (soweit nicht Erstauflage) +% Umschlaggestaltung, Illustration: vollständiger Name bzw. Institution +% Lektorat, Korrektorat: vollständiger Name bzw. Institution +% Übersetzung: vollständiger Name bzw. Institution +% Weitere Mitwirkende: vollständiger Name bzw. Institution + +Verlag: + +Software Ingenieur Begerad (SIB) + +Strasse + +Ort + + +% Druck: Name und Ort der Druckerei + +% ISBN Paperback: 978-3-XXXX-XXXX-X +% ISBN Hardcover: 978-3-XXXX-XXXX-X +% ISBN e-Book: 978-3-XXXX-XXXX-X diff --git a/source/dcmnttn/installation.md b/source/dcmnttn/installation.md new file mode 100644 index 0000000..4b6b09b --- /dev/null +++ b/source/dcmnttn/installation.md @@ -0,0 +1,5 @@ +# Installation + +You can follow this guide to install Sphinx. + +Tbc diff --git a/source/dcmnttn/quickstart.md b/source/dcmnttn/quickstart.md new file mode 100644 index 0000000..64fd977 --- /dev/null +++ b/source/dcmnttn/quickstart.md @@ -0,0 +1,5 @@ +# Quickstart + +You can follow this guide to get started with Sphinx. + +Tbc diff --git a/source/index.rst b/source/index.rst new file mode 100644 index 0000000..07d1b31 --- /dev/null +++ b/source/index.rst @@ -0,0 +1,23 @@ +.. dcmnttn documentation master file, created by + sphinx-quickstart on Tue Nov 8 08:21:48 2022. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +Welcome to dcmnttn's documentation! +=================================== + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + + dcmnttn/imprint + dcmnttn/installation + dcmnttn/quickstart + + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`modindex` +* :ref:`search` diff --git a/source/readme.md b/source/readme.md new file mode 100644 index 0000000..55afa39 --- /dev/null +++ b/source/readme.md @@ -0,0 +1,37 @@ +# Introduction + +This is the source directory of the Sphinx documentation generator. + +# Build + +You can build HTML files like this. + +``` +sphinx-build -b html +``` + +# Configuration + +## Markdown + +Configure Sphinx for Markdown support like this. + +``` +https://www.sphinx-doc.org/en/master/usage/markdown.html +``` + +NOTE: Make sure to add ```'myst_parser'``` to +```extension``` to the configuration. + +## Exclude Documentation + +Add all files and folders to be excluded from the generation to +```exclude_patterns```. + +# File System + +* `conf.ph`: Sphinx configuration file +* `index.rst`: root document serves as welcome page and contains root of ToC +* `readme.md`: this file +* `_static`: +* `_templated`: