diff options
Diffstat (limited to 'docs_old')
| -rw-r--r-- | docs_old/.nix/derivation.nix | 42 | ||||
| -rw-r--r-- | docs_old/Doxygen.in | 8 | ||||
| -rw-r--r-- | docs_old/Makefile | 20 | ||||
| -rw-r--r-- | docs_old/source/_static/css/custom.css | 15 | ||||
| -rw-r--r-- | docs_old/source/async/introduction.rst | 6 | ||||
| -rw-r--r-- | docs_old/source/codec/introduction.rst | 12 | ||||
| -rw-r--r-- | docs_old/source/conf.py | 30 | ||||
| -rw-r--r-- | docs_old/source/core/introduction.rst | 5 | ||||
| -rw-r--r-- | docs_old/source/index.rst | 36 | ||||
| -rw-r--r-- | docs_old/source/manual/introduction.rst | 14 |
10 files changed, 188 insertions, 0 deletions
diff --git a/docs_old/.nix/derivation.nix b/docs_old/.nix/derivation.nix new file mode 100644 index 0000000..a6dee7d --- /dev/null +++ b/docs_old/.nix/derivation.nix @@ -0,0 +1,42 @@ +{ lib +, stdenvNoCC +, python3 +, python3Packages +, doxygen +, gasp +, version +}: + +stdenvNoCC.mkDerivation { + pname = "forstio-docs"; + inherit version; + + src = ../../.; + + nativeBuildInputs = [ + python3 + python3Packages.sphinx + python3Packages.sphinx-rtd-theme + doxygen + gasp + ]; + + buildPhase = '' + # C++ API generation + pushd docs + doxygen Doxygen.in + python3 ${gasp.outPath}/bin/gasp.py xml --namespace saw > cpp_map.json + # C++ and C template generation + mkdir -p source/cpp_api + python3 ${gasp.outPath}/bin/make_rst.py --title="C++" -t ${gasp.outPath}/templates/rst -m cpp_map.json -o source/cpp_api + make html + popd + ''; + + installPhase = '' + mkdir -p $out + pushd docs + mv build/html $out/html + popd + ''; +} diff --git a/docs_old/Doxygen.in b/docs_old/Doxygen.in new file mode 100644 index 0000000..6124483 --- /dev/null +++ b/docs_old/Doxygen.in @@ -0,0 +1,8 @@ +GENERATE_XML = YES +GENERATE_LATEX= NO +GENERATE_HTML = NO +PROJECT_NAME = forstio +RECURSIVE = YES +FILE_PATTERNS = *.cpp *.hpp +INPUT = ../modules +EXCLUDE_SYMBOLS = *::impl::* diff --git a/docs_old/Makefile b/docs_old/Makefile new file mode 100644 index 0000000..d0c3cbf --- /dev/null +++ b/docs_old/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/docs_old/source/_static/css/custom.css b/docs_old/source/_static/css/custom.css new file mode 100644 index 0000000..ba76c62 --- /dev/null +++ b/docs_old/source/_static/css/custom.css @@ -0,0 +1,15 @@ +:root { + --content-background-color: #fff5e1; + --navbar-background-color: #263547; + --navbar-heading-color: #eeeeee; +} + +.wy-nav-side { + background: var(--navbar-background-color); +} + +.classref-section-separator { + border-color: var(--navbar-heading-color); + border-top-width: 3px; + margin: 36px 0; +} diff --git a/docs_old/source/async/introduction.rst b/docs_old/source/async/introduction.rst new file mode 100644 index 0000000..7a6c05f --- /dev/null +++ b/docs_old/source/async/introduction.rst @@ -0,0 +1,6 @@ +Introduction +============ + +The async module provides async functionality. +It introduces a basic event loop, which have to be activated and bound to a local thread through the wait scope class. +On a thread with an active event loop we can create async call graphs which automatically resolve the item moving through this graph. diff --git a/docs_old/source/codec/introduction.rst b/docs_old/source/codec/introduction.rst new file mode 100644 index 0000000..8cda2ac --- /dev/null +++ b/docs_old/source/codec/introduction.rst @@ -0,0 +1,12 @@ +Introduction +============ + +The codec module provides basic functionality and is in fact a vital component for almost all other modules. +It's the module which provides the separation of logical structure and encoding of data. + +I am not aware of any programming languages which provide compile time separation of those concerns. +For the less powerful compile time reflection capabilities there's limited support in some languages. +C++26, regular C++ and Rust with minor additional hints etc come to mind. But this is only on native data. + +The separation enables treating data purely declaretively instead of imperative actions when moving it across encoding boundaries. +A regular file has the structure diff --git a/docs_old/source/conf.py b/docs_old/source/conf.py new file mode 100644 index 0000000..07c21ad --- /dev/null +++ b/docs_old/source/conf.py @@ -0,0 +1,30 @@ +# Configuration file for the Sphinx documentation builder. +# +# For the full list of built-in configuration values, see the documentation: +# https://www.sphinx-doc.org/en/master/usage/configuration.html + +# -- Project information ----------------------------------------------------- +# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information + +project = 'forstio docs' +copyright = '2024, Claudius "keldu" Holeksa' +author = 'Claudius "keldu" Holeksa' +release = '2024' + +# -- General configuration --------------------------------------------------- +# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration + +extensions = [ + 'sphinx_rtd_theme' +] + +templates_path = ['_templates'] +exclude_patterns = [] + + + +# -- Options for HTML output ------------------------------------------------- +# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output + +html_theme = 'sphinx_rtd_theme' +html_static_path = ['_static'] diff --git a/docs_old/source/core/introduction.rst b/docs_old/source/core/introduction.rst new file mode 100644 index 0000000..1b70070 --- /dev/null +++ b/docs_old/source/core/introduction.rst @@ -0,0 +1,5 @@ +Introduction +============ + +The core module represents the most essential parts of this code base. +This module provides basic functionality in regards to memory control, error functionalities and other minor things. diff --git a/docs_old/source/index.rst b/docs_old/source/index.rst new file mode 100644 index 0000000..600797b --- /dev/null +++ b/docs_old/source/index.rst @@ -0,0 +1,36 @@ +.. Gasp Example documentation master file, created by + sphinx-quickstart on Tue Aug 22 16:01:56 2023. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +Welcome to forstio's documentation! +=================================== + +.. toctree:: + :hidden: + :maxdepth: 2 + :caption: Manual + + manual/introduction + +.. toctree:: + :hidden: + :maxdepth: 2 + :caption: Core + + core/introduction + +.. toctree:: + :hidden: + :maxdepth: 2 + :caption: Async + + async/introduction + +.. toctree:: + :hidden: + :maxdepth: 2 + :caption: API Reference + + c_api/index + cpp_api/index diff --git a/docs_old/source/manual/introduction.rst b/docs_old/source/manual/introduction.rst new file mode 100644 index 0000000..920741d --- /dev/null +++ b/docs_old/source/manual/introduction.rst @@ -0,0 +1,14 @@ +Introduction +============ + +Forstio is a modular library focused on providing many convenience functions +I find useful in a style I find easy to use. + +It is mostly an asynchronous, network and codec library. Due to the approach to +networking it is also applicable to be used in acceleration contexts. +Due to the same approach it's also possible to use it for language binding +generation. + +You don't have to use everything and the modular nature of the library attempts to separate all those concerns as much as possible. +A drawback of this is that I simplify everything through the nix package manager which you probably don't use. +I'm open to suggestions allowing this modular structure while not making it harder for me. |
