aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@ost.ch>2026-08-31 13:13:16 +0200
committerFelix Morgner <felix.morgner@ost.ch>2026-08-31 13:13:16 +0200
commitfd15eda1cf574d667fb04ebd2b51462ee8e7774e (patch)
tree02568b23e9e9f5d138d4576bc19033f6e0a1ae5b
parentecf882dad2aaa6160e6c27277dceae935658b4cb (diff)
downloadkernel-fd15eda1cf574d667fb04ebd2b51462ee8e7774e.tar.xz
kernel-fd15eda1cf574d667fb04ebd2b51462ee8e7774e.zip
docs: prepare for pages deployment
-rw-r--r--.gitignore1
-rw-r--r--.gitlab-ci.yml30
-rw-r--r--CMakeLists.txt15
-rw-r--r--Doxyfile122
-rw-r--r--docs/conf.py10
-rw-r--r--docs/index.rst6
-rw-r--r--docs/kapi.rst10
-rw-r--r--docs/kapi/capabilities.rst13
-rw-r--r--docs/kapi/cio.rst24
-rw-r--r--docs/kapi/cpu.rst24
-rw-r--r--docs/kapi/devices.rst22
-rw-r--r--docs/kapi/devices/busses.rst2
-rw-r--r--docs/kapi/interrupts.rst7
-rw-r--r--docs/kapi/memory.rst14
-rw-r--r--docs/kapi/system.rst14
-rw-r--r--docs/kernel.rst10
-rw-r--r--docs/kernel/filesystem.rst14
-rw-r--r--docs/kernel/filesystem/constants.rst10
-rw-r--r--docs/kernel/filesystem/dentry.rst12
-rw-r--r--docs/kernel/filesystem/device_inode.rst19
-rw-r--r--docs/kernel/filesystem/inode.rst12
-rw-r--r--pyproject.toml2
22 files changed, 122 insertions, 271 deletions
diff --git a/.gitignore b/.gitignore
index 36f5e77a..eef0e292 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,6 +4,7 @@
.venv/
/build
/docs/_build
+/public
# Generated files
.gdb_history
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index f72fb58c..7752705a 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -87,3 +87,33 @@ license_check:
name: docker.io/fsfe/reuse
entrypoint: [""]
script: reuse lint
+
+pages:
+ stage: deploy
+ image: registry.gitlab.ost.ch:45023/teachos/devcontainers/docs:latest
+ script:
+ - mkdir -p build/doxygen
+ - mkdir -p public/api public/dev
+
+ - doxygen Doxyfile
+ - cp -r build/doxygen/html/* public/api
+
+ - sphinx-build -b html docs public/dev
+
+ - |
+ cat <<EOF > public/index.html
+ <!DOCTYPE html><html><body>
+ <h1>TeachOS Documentation</h1>
+ <ul>
+ <li><a href="api/index.html">API Documentation</a></li>
+ <li><a href="dev/index.html">Developer Documentation</a></li>
+ </ul>
+ </body></html>
+ EOF
+ artifacts:
+ paths:
+ - public
+ needs:
+ - license_check
+ rules:
+ - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH \ No newline at end of file
diff --git a/CMakeLists.txt b/CMakeLists.txt
index f57c540e..830da817 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -39,7 +39,6 @@ endif()
#]============================================================================]
option(TEACHOS_ENABLE_LINTING "Enable linting during build" ON)
-option(TEACHOS_GENERATE_DOCS "Generate documentation during build" ON)
option(TEACHOS_ENABLE_TEST_SANITIZERS "Enable sanitizers for test executables" ON)
option(TEACHOS_ENABLE_TEST_COVERAGE "Enable generation of test coverage" ON)
option(TEACHOS_ENABLE_TEST_TSAN "Enable TSan for the test executable" OFF)
@@ -87,20 +86,6 @@ if(CLANG_TIDY_EXE AND TEACHOS_ENABLE_LINTING)
endif()
#[============================================================================[
-# Global Documentation Configuration
-#]============================================================================]
-
-find_package(Doxygen "1.10")
-
-if(Doxygen_FOUND AND TEACHOS_GENERATE_DOCS)
- doxygen_add_docs("docs"
- ALL
- COMMENT "Generating documentation"
- CONFIG_FILE "${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile"
- )
-endif()
-
-#[============================================================================[
# Build Host Testing
#]============================================================================]
diff --git a/Doxyfile b/Doxyfile
index 12f2ee7b..3803b549 100644
--- a/Doxyfile
+++ b/Doxyfile
@@ -1,4 +1,4 @@
-# Doxyfile 1.16.1
+# Doxyfile 1.18.0
# This file describes the settings to be used by the documentation system
# Doxygen (www.doxygen.org) for a project.
@@ -11,7 +11,7 @@
# TAG = value [value, ...]
# For lists, items can also be appended using:
# TAG += value [value, ...]
-# Values that contain spaces should be placed between quotes (\" \").
+# Values that contain spaces should be placed between quotes (" ").
#
# Note:
#
@@ -54,7 +54,7 @@ PROJECT_NUMBER =
# for a project that appears at the top of each page and should give viewers a
# quick idea about the purpose of the project. Keep the description short.
-PROJECT_BRIEF = "A modern, clean-room, portable kernel"
+PROJECT_BRIEF = "A modern, green-field, portable kernel"
# With the PROJECT_LOGO tag one can specify a logo or an icon that is included
# in the documentation. The maximum height of the logo should not exceed 55
@@ -81,11 +81,11 @@ OUTPUT_DIRECTORY = build/doxygen
# and will distribute the generated files over these directories. Enabling this
# option can be useful when feeding Doxygen a huge amount of source files, where
# putting all generated files in the same directory would otherwise cause
-# performance problems for the file system. Adapt CREATE_SUBDIRS_LEVEL to
+# performance problems for the file system. Adjust CREATE_SUBDIRS_LEVEL to
# control the number of sub-directories.
# The default value is: NO.
-CREATE_SUBDIRS = YES
+CREATE_SUBDIRS = NO
# Controls the number of sub-directories that will be created when
# CREATE_SUBDIRS tag is set to YES. Level 0 represents 16 directories, and every
@@ -200,13 +200,12 @@ STRIP_FROM_PATH =
# using the -I flag.
STRIP_FROM_INC_PATH = arch/x86_64 \
- kapi \
- kernel \
- libs/acpi \
- libs/elf \
- libs/kstd \
- libs/multiboot2 \
-
+ kapi \
+ kernel \
+ libs/acpi \
+ libs/elf \
+ libs/kstd \
+ libs/multiboot2
# If the SHORT_NAMES tag is set to YES, Doxygen will generate much shorter (but
# less readable) file names. This can be useful if your file system doesn't
@@ -809,7 +808,7 @@ GENERATE_REQUIREMENTS = YES
# The REQ_TRACEABILITY_INFO tag controls if traceability information is shown on
# the requirements page (only relevant when using \requirement comment blocks).
-# The setting NO will disable the traceablility information altogether. The
+# The setting NO will disable the traceability information altogether. The
# setting UNSATISFIED_ONLY will show a list of requirements that are missing a
# satisfies relation (through the command: \satisfies). Similarly the setting
# UNVERIFIED_ONLY will show a list of requirements that are missing a verifies
@@ -862,8 +861,8 @@ SHOW_NAMESPACES = YES
# The FILE_VERSION_FILTER tag can be used to specify a program or script that
# Doxygen should invoke to get the current version for each file (typically from
# the version control system). Doxygen will invoke the program by executing (via
-# popen()) the command command input-file, where command is the value of the
-# FILE_VERSION_FILTER tag, and input-file is the name of an input file provided
+# popen()) the command command input_file, where command is the value of the
+# FILE_VERSION_FILTER tag, and input_file is the name of an input file provided
# by Doxygen. Whatever the program writes to standard output is used as the file
# version. For an example see the documentation.
@@ -1235,7 +1234,7 @@ FORTRAN_COMMENT_AFTER = 72
# also VERBATIM_HEADERS is set to NO.
# The default value is: NO.
-SOURCE_BROWSER = YES
+SOURCE_BROWSER = NO
# Setting the INLINE_SOURCES tag to YES will include the body of functions,
# multi-line macros, enums or list initialized variables directly into the
@@ -1626,8 +1625,8 @@ DOCSET_PUBLISHER_NAME = Publisher
# a.o. the download links, offline (the HTML help workshop was already many
# years in maintenance mode). You can download the HTML help workshop from the
# web archives at Installation executable (see:
-# http://web.archive.org/web/20160201063255/http://download.microsoft.com/downlo
-# ad/0/A/9/0A939EF6-E31C-430F-A3DF-DFAE7960D564/htmlhelp.exe).
+# http://web.archive.org/web/20160201063255/https://download.microsoft.com/downl
+# oad/0/A/9/0A939EF6-E31C-430F-A3DF-DFAE7960D564/htmlhelp.exe).
#
# The HTML Help Workshop contains a compiler that can convert all HTML output
# generated by Doxygen into a single compiled HTML file (.chm). Compiled HTML
@@ -1934,7 +1933,7 @@ MATHJAX_FORMAT = HTML-CSS
# output directory using the MATHJAX_RELPATH option. For Mathjax version 2 the
# destination directory should contain the MathJax.js script. For instance, if
# the mathjax directory is located at the same level as the HTML output
-# directory, then MATHJAX_RELPATH should be ../mathjax.s For Mathjax versions 3
+# directory, then MATHJAX_RELPATH should be ../mathjax. For Mathjax versions 3
# and 4 the destination directory should contain the tex-<format>.js script
# (where <format> is either chtml or svg). The default value points to the
# MathJax Content Delivery Network so you can quickly see the result without
@@ -2155,9 +2154,8 @@ EXTRA_PACKAGES =
#
# Note: Only use a user-defined header if you know what you are doing!
# Note: The header is subject to change so you typically have to regenerate the
-# default header when upgrading to a newer version of Doxygen. The following
-# commands have a special meaning inside the header (and footer): For a
-# description of the possible markers and block names see the documentation.
+# default header when upgrading to a newer version of Doxygen. For a description
+# of the possible markers and block names see the documentation.
# This tag requires that the tag GENERATE_LATEX is set to YES.
LATEX_HEADER =
@@ -2366,7 +2364,7 @@ MAN_LINKS = NO
# captures the structure of the code including all documentation.
# The default value is: NO.
-GENERATE_XML = YES
+GENERATE_XML = NO
# The XML_OUTPUT tag is used to specify where the XML pages will be put. If a
# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
@@ -2640,6 +2638,19 @@ HAVE_DOT = NO
DOT_NUM_THREADS = 0
+# The DOT_BATCH_SIZE specifies the number of dot graphs Doxygen is allowed to
+# compile in a single invocation of dot. When set to 1 Doxygen will invoke dot
+# for each graph separately, which can cause significant process creation
+# overhead especially on systems with many CPU cores. Together with
+# DOT_NUM_THREADS this setting can be used to optimise the dot processing speed
+# for a particular system. Doxygen will try to give each thread a balanced batch
+# of work. If the total number of graphs to process exceeds DOT_NUM_THREADS *
+# DOT_BATCH_SIZE then additional batches will be created for dot to process.
+# Minimum value: 1, maximum value: 1000, default value: 50.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_BATCH_SIZE = 50
+
# DOT_COMMON_ATTR is common attributes for nodes, edges and labels of
# subgraphs. When you want a differently looking font in the dot files that
# Doxygen generates you can specify fontname, fontcolor and fontsize attributes.
@@ -2809,7 +2820,7 @@ INCLUDED_BY_GRAPH = YES
# The default value is: NO.
# This tag requires that the tag HAVE_DOT is set to YES.
-CALL_GRAPH = NO
+CALL_GRAPH = YES
# If the CALLER_GRAPH tag is set to YES then Doxygen will generate a caller
# dependency graph for every global function or class method.
@@ -2821,7 +2832,7 @@ CALL_GRAPH = NO
# The default value is: NO.
# This tag requires that the tag HAVE_DOT is set to YES.
-CALLER_GRAPH = NO
+CALLER_GRAPH = YES
# If the GRAPHICAL_HIERARCHY tag is set to YES then Doxygen will graphical
# hierarchy of all classes instead of a textual one.
@@ -2931,6 +2942,58 @@ PLANTUML_INCLUDE_PATH =
PLANTUMLFILE_DIRS =
+# When using Mermaid diagrams with CLI rendering, the MERMAID_PATH tag should be
+# used to specify the directory where the mmdc (Mermaid CLI) executable can be
+# found. If left blank, CLI-based rendering is disabled. For HTML output,
+# client-side rendering via JavaScript is used by default and does not require
+# mmdc. For LaTeX/PDF output, mmdc is required to pre-generate images. Doxygen
+# will generate a warning when CLI rendering is needed but mmdc is not
+# available.
+
+MERMAID_PATH =
+
+# When using Mermaid diagrams, the MERMAID_CONFIG_FILE tag can be used to
+# specify a JSON configuration file for the Mermaid CLI tool (mmdc). This file
+# can contain theme settings and other Mermaid configuration options.
+
+MERMAID_CONFIG_FILE =
+
+# The MERMAID_RENDER_MODE tag selects how Mermaid diagrams are rendered.
+# Possible values are: AUTO (use client-side rendering for HTML and mmdc for
+# LaTeX/PDF and other formats. If MERMAID_PATH is not set, non-HTML diagrams
+# will produce a warning), CLI (use the mmdc tool to pre-generate images
+# (requires Node.js and mermaid-js/mermaid-cli). Works for all output formats)
+# and CLIENT_SIDE (embed mermaid.js in HTML output for client-side rendering.
+# Does not require mmdc but only works for HTML output).
+# The default value is: AUTO.
+
+MERMAID_RENDER_MODE = AUTO
+
+# The MERMAID_JS_URL tag specifies the URL to load mermaid.js from when using
+# client-side rendering (MERMAID_RENDER_MODE is CLIENT_SIDE or AUTO). The
+# default points to the latest Mermaid v11 release on the jsDelivr CDN.
+#
+# The default CDN URL requires internet access when viewing the generated
+# documentation. For offline use, download mermaid.esm.min.mjs and set this to a
+# relative path, or use MERMAID_RENDER_MODE=CLI to pre-generate images instead.
+# Examples:
+# - Latest v11 (default):
+# https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs
+# - Pinned version:
+# https://cdn.jsdelivr.net/npm/mermaid@11.3.0/dist/mermaid.esm.min.mjs
+# - Local copy: ./mermaid.esm.min.mjs (user must place file in HTML output
+# directory)
+# The default value is:
+# https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs.
+
+MERMAID_JS_URL = https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs
+
+# The MERMAIDFILE_DIRS tag can be used to specify one or more directories that
+# contain Mermaid files that are included in the documentation (see the
+# \mermaidfile command).
+
+MERMAIDFILE_DIRS =
+
# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of nodes
# that will be shown in the graph. If the number of nodes in a graph becomes
# larger than this value, Doxygen will truncate the graph, which is visualized
@@ -2955,15 +3018,6 @@ DOT_GRAPH_MAX_NODES = 50
MAX_DOT_GRAPH_DEPTH = 0
-# Set the DOT_MULTI_TARGETS tag to YES to allow dot to generate multiple output
-# files in one run (i.e. multiple -o and -T options on the command line). This
-# makes dot run faster, but since only newer versions of dot (>1.8.10) support
-# this, this feature is disabled by default.
-# The default value is: NO.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_MULTI_TARGETS = NO
-
# If the GENERATE_LEGEND tag is set to YES Doxygen will generate a legend page
# explaining the meaning of the various boxes and arrows in the dot generated
# graphs.
diff --git a/docs/conf.py b/docs/conf.py
index 1712f2a7..37838427 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -15,19 +15,11 @@ author = "Felix Morgner"
extensions = [
"sphinx.ext.todo",
- "breathe",
]
templates_path = ["_templates"]
exclude_patterns = ["pre/**"]
-# -- Options Breathe ---------------------------------------------------------
-# https://breathe.readthedocs.io/en/stable/directives.html#config-values
-
-breathe_projects = {"kernel": "../build/doxygen/xml"}
-breathe_default_project = "kernel"
-breathe_default_members = ('members', 'undoc-members', 'protected-members', 'private-members')
-
# -- Options todo ---------------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/extensions/todo.html
@@ -36,5 +28,5 @@ todo_include_todos = True
# -- Options for HTML output -------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output
-html_theme = "sphinx_book_theme"
+html_theme = "haiku"
html_static_path = []
diff --git a/docs/index.rst b/docs/index.rst
index b0a4b2c9..f3af6e4f 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -1,13 +1,11 @@
-Welcome to TeachOS Kernel's documentation!
-==========================================
+TeachOS Kernel Developer Documentation
+======================================
.. toctree::
:maxdepth: 2
:caption: Contents:
briefs
- kapi
- kernel
Indices and tables
==================
diff --git a/docs/kapi.rst b/docs/kapi.rst
deleted file mode 100644
index 4c60ab39..00000000
--- a/docs/kapi.rst
+++ /dev/null
@@ -1,10 +0,0 @@
-Kernel API
-==========
-
-.. toctree::
- :maxdepth: 1
- :caption: Contents:
- :glob:
-
- kapi/*
-
diff --git a/docs/kapi/capabilities.rst b/docs/kapi/capabilities.rst
deleted file mode 100644
index a4d7d999..00000000
--- a/docs/kapi/capabilities.rst
+++ /dev/null
@@ -1,13 +0,0 @@
-Capability Dispatch
-===================
-
-.. todo::
- Document the facet based capability dispatch mechanism.
-
-API Reference
--------------
-
-Classes
--------
-
-.. doxygenstruct:: kapi::capabilities::facet_id \ No newline at end of file
diff --git a/docs/kapi/cio.rst b/docs/kapi/cio.rst
deleted file mode 100644
index 15b322fa..00000000
--- a/docs/kapi/cio.rst
+++ /dev/null
@@ -1,24 +0,0 @@
-Character I/O Interface
-=======================
-
-The character I/O interface defines a simple API allowing the kernel to write characters to a platform's output device.
-
-API Reference
--------------
-
-Functions
----------
-
-.. doxygenfunction:: kapi::cio::init
-.. doxygenfunction:: kapi::cio::set_output_device
-.. doxygenfunction:: kapi::cio::write
-
-Classes
--------
-
-.. doxygenstruct:: kapi::cio::output_device
-
-Enums
------
-
-.. doxygenenum:: kapi::cio::output_stream
diff --git a/docs/kapi/cpu.rst b/docs/kapi/cpu.rst
deleted file mode 100644
index ab5d182f..00000000
--- a/docs/kapi/cpu.rst
+++ /dev/null
@@ -1,24 +0,0 @@
-CPU Interface
-=============
-
-.. todo::
- Write an introduction to the CPU interface.
-
-Functions
----------
-
-.. doxygenfunction:: kapi::cpu::dispatch
-.. doxygenfunction:: kapi::cpu::halt
-.. doxygenfunction:: kapi::cpu::init
-.. doxygenfunction:: kapi::cpu::current_id
-
-Classes
--------
-
-.. doxygenstruct:: kapi::cpu::exception
-.. doxygenstruct:: kapi::cpu::id
-
-Constants
----------
-
-.. doxygenvariable:: kapi::cpu::invalid_id \ No newline at end of file
diff --git a/docs/kapi/devices.rst b/docs/kapi/devices.rst
deleted file mode 100644
index 8b674e6e..00000000
--- a/docs/kapi/devices.rst
+++ /dev/null
@@ -1,22 +0,0 @@
-Device Interface
-================
-
-.. toctree::
- :maxdepth: 1
- :caption: Contents:
- :glob:
-
- devices/*
-
-API Reference
--------------
-
-.. doxygenfunction:: kapi::devices::init
-.. doxygenfunction:: kapi::devices::get_root_bus
-.. doxygenfunction:: kapi::devices::remove_device
-.. doxygenfunction:: kapi::devices::publish_facet(kstd::shared_ptr<device>, kstd::string)
-.. doxygenfunction:: kapi::devices::publish_facet(kstd::shared_ptr<device>, kstd::string, Facet *)
-.. doxygenfunction:: kapi::devices::init_platform_drivers
-.. doxygenfunction:: kapi::devices::init_platform_devices
-.. doxygenfunction:: kapi::devices::discover_cpu_topology
-.. doxygenfunction:: kapi::devices::get_cpu_bus \ No newline at end of file
diff --git a/docs/kapi/devices/busses.rst b/docs/kapi/devices/busses.rst
deleted file mode 100644
index 22b3a79e..00000000
--- a/docs/kapi/devices/busses.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Busses
-====== \ No newline at end of file
diff --git a/docs/kapi/interrupts.rst b/docs/kapi/interrupts.rst
deleted file mode 100644
index f921b77e..00000000
--- a/docs/kapi/interrupts.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-Interrupt Interface
-===================
-
-API Reference
--------------
-
-.. doxygenfile:: kapi/interrupts.hpp \ No newline at end of file
diff --git a/docs/kapi/memory.rst b/docs/kapi/memory.rst
deleted file mode 100644
index 9ee15845..00000000
--- a/docs/kapi/memory.rst
+++ /dev/null
@@ -1,14 +0,0 @@
-Memory Interface
-================
-
-Kernel-defined API
-------------------
-
-.. doxygengroup:: kapi-memory-kernel-defined
- :content-only:
-
-Platform-defined API
---------------------
-
-.. doxygengroup:: kapi-memory-platform-defined
- :content-only:
diff --git a/docs/kapi/system.rst b/docs/kapi/system.rst
deleted file mode 100644
index 2eaea6de..00000000
--- a/docs/kapi/system.rst
+++ /dev/null
@@ -1,14 +0,0 @@
-System Interface
-================
-
-Kernel-defined API
-------------------
-
-.. doxygengroup:: kapi-system-kernel-defined
- :content-only:
-
-Platform-defined API
---------------------
-
-.. doxygengroup:: kapi-system-platform-defined
- :content-only:
diff --git a/docs/kernel.rst b/docs/kernel.rst
deleted file mode 100644
index 39a0dcac..00000000
--- a/docs/kernel.rst
+++ /dev/null
@@ -1,10 +0,0 @@
-Platform-independent Kernel API
-===============================
-
-.. toctree::
- :maxdepth: 2
- :caption: Contents:
- :glob:
-
- kernel/*
-
diff --git a/docs/kernel/filesystem.rst b/docs/kernel/filesystem.rst
deleted file mode 100644
index 35d92fdc..00000000
--- a/docs/kernel/filesystem.rst
+++ /dev/null
@@ -1,14 +0,0 @@
-Filesystem Layer
-=================
-
-The filesystem layer of the TeachOS kernel comprises all platform-agnostic filesystem entities and operations.
-All platform-independent code related to filesystem implementations resides here.
-This includes the implementations of platform-independent kAPI filesystem types and functions.
-
-.. toctree::
- :maxdepth: 1
- :caption: Contents:
- :glob:
-
- filesystem/*
-
diff --git a/docs/kernel/filesystem/constants.rst b/docs/kernel/filesystem/constants.rst
deleted file mode 100644
index aa698711..00000000
--- a/docs/kernel/filesystem/constants.rst
+++ /dev/null
@@ -1,10 +0,0 @@
-Global Constants
-================
-
-The constants described here are applicable to all types and functions in the kernel filesystem layers.
-They describe maxima of supported lengths and sizes where not other specification takes precedence.
-
-API Reference
--------------
-
-.. doxygennamespace:: kernel::filesystem::constants
diff --git a/docs/kernel/filesystem/dentry.rst b/docs/kernel/filesystem/dentry.rst
deleted file mode 100644
index 3d40c067..00000000
--- a/docs/kernel/filesystem/dentry.rst
+++ /dev/null
@@ -1,12 +0,0 @@
-Directory Entries
-=================
-
-A directory entry associates a name with an inode.
-As such, a directory entry may refer to any entity represented by an inode.
-Directory entries may be nested.
-
-API Reference
--------------
-
-.. doxygenstruct:: kernel::filesystem::dentry
- :members: \ No newline at end of file
diff --git a/docs/kernel/filesystem/device_inode.rst b/docs/kernel/filesystem/device_inode.rst
deleted file mode 100644
index cf5e72fa..00000000
--- a/docs/kernel/filesystem/device_inode.rst
+++ /dev/null
@@ -1,19 +0,0 @@
-Device Inodes
-=============
-
-Device inodes are filesystem inodes that represent a device in the system.
-They may be created from either a device, or by reconstituting a persistent device inode from a filesystem.
-
-An example for device inodes created to directly represent devices are the entries in the devfs (/dev) filesystem.
-Entries in this filesystem are generally created and removed based on devices appearing in and being removed from the system.
-
-An example for device inodes reconstituted from persisted inodes can be found in the inodes supported by the ext2 filesystem.
-In that filesystem, an inode may represent a device, using a device identification number.
-When accessing such an inode, a device inode needs to be reconstituted from the persisted device inode in order to resolve which device, if any, it refers to.
-However, any file operations (e.g. `stat`) need to be forwarded to the persisted inode.
-
-API Reference
--------------
-
-.. doxygenstruct:: kernel::filesystem::device_inode
- :members: \ No newline at end of file
diff --git a/docs/kernel/filesystem/inode.rst b/docs/kernel/filesystem/inode.rst
deleted file mode 100644
index 6e36bda1..00000000
--- a/docs/kernel/filesystem/inode.rst
+++ /dev/null
@@ -1,12 +0,0 @@
-Inode Base Class
-=================
-
-An inode (or filesystem index node) represents a filesystem entity, e.g. a file or directory, in the virtual filesystem (VFS).
-While not all filesystems may use traditional inodes, as for example used in ext2, the VFS expects for all entities to be represented as inodes.
-As such, file I/O operation always happen through inodes.
-
-API Reference
--------------
-
-.. doxygenstruct:: kernel::filesystem::inode
- :members: \ No newline at end of file
diff --git a/pyproject.toml b/pyproject.toml
index 087a76f6..900e9936 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -7,8 +7,6 @@ license = { text = "BSD-3-clause" }
requires-python = ">=3.14"
dependencies = [
"sphinx (>=9.1.0,<10.0.0)",
- "sphinx-book-theme (>=1.2.0,<2.0.0)",
- "breathe (>=4.36.0,<5.0.0)",
"types-gdb (>=16.3.0.20260408,<17.0.0.0)",
"black (>=26.3.1,<27.0.0)",
"pylance (>=4.0.1,<5.0.0)",