feature: add mkdocs-material documentation site with CI deployment

Generate comprehensive documentation for all 173 source units and
integrate mkdocs-material into the build toolchain. Documentation
covers kernel core, x86 architecture, drivers, applications, and
all subsystems with a tabbed navigation structure.

- Add mkdocs.yml with material theme, mermaid support, and tabbed nav
- Add doc/index.md landing page
- Generate doc/src/ markdown for every Pascal unit in src/
- Reorganize planning docs into doc/planning/
- Add compat, lvglh, and toolchain doc sections
- Update Dockerfile to install python3 and mkdocs-material (pinned <2)
- Replace pasdoc-based compile_docs.sh with mkdocs build --strict
- Add compile_docs.sh to the main build pipeline in compile.sh
- Add deploy-docs step in .drone.yml with host volume mount to nginx
- Add site/.gitkeep for build output directory
This commit is contained in:
t3hn3rd committed 2026-03-08 21:06:14 +00:00
1 parent 7157a57513
commit 26e2fd947e
209 files changed
+16996 -13

No files matched your search

+41
View File
@@ -0,0 +1,41 @@
# app.meminfo
Terminal command for displaying physical and heap memory statistics.
## Overview
`app.meminfo` registers the `MEMINFO` shell command, which prints a summary of the system's memory state in three sections: Multiboot-reported memory ranges, Physical Memory Manager (PMM) block statistics, and Logical Memory Manager (LMM) heap statistics.
## Dependencies
- `io.stdio`
- `arch.x86.multiboot`
- `arch.x86.memory.physical`
- `memory.heap`
- `debug.tracer`
## Functions and Procedures
### init
```pascal
procedure init();
```
Registers the `MEMINFO` command with `io.stdio`.
### run (internal)
```pascal
procedure run(Params: PParamList; stdin_buf, stdout_buf, stderr_buf: POutBuf);
```
Command entry point. Outputs three labelled sections:
**Multiboot:** Reads `multibootinfo^.mem_lower` and `mem_upper` to report lower memory, upper memory, and total memory in KB/MB.
**PMM (4 MB blocks):** Reads `arch.x86.memory.physical.pmm_total_blocks`, `pmm_free_blocks`, and derives used blocks. Reports free physical memory in MB.
**LMM (Heap):** Reads `memory.heap.lmm_page_count` and `lmm_total_free`. Reports heap size in MB and free heap in KB.
All output is written to `stdout_buf`.