summaryrefslogtreecommitdiff
path: root/docs_old
diff options
context:
space:
mode:
Diffstat (limited to 'docs_old')
-rw-r--r--docs_old/.nix/derivation.nix42
-rw-r--r--docs_old/Doxygen.in8
-rw-r--r--docs_old/Makefile20
-rw-r--r--docs_old/source/_static/css/custom.css15
-rw-r--r--docs_old/source/async/introduction.rst6
-rw-r--r--docs_old/source/codec/introduction.rst12
-rw-r--r--docs_old/source/conf.py30
-rw-r--r--docs_old/source/core/introduction.rst5
-rw-r--r--docs_old/source/index.rst36
-rw-r--r--docs_old/source/manual/introduction.rst14
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.