blob: 0fbdeeac902b35a5e6f24e583bd8ceb2f22b4ac6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
|
# toml++ Documentation Setup `website/tomlplusplus/`
> **Location**: `website/tomlplusplus/`
> **Tools**: Poxy, Doxygen, m.css
> **Output**: API documentation HTML
> **Latest Version**: 0.0.5-1
---
## Overview
This directory contains configuration for building the toml++ API documentation using Poxy (a Doxygen + m.css wrapper).
---
## Quick Start
### Install Dependencies
```bash
npm run setup:doxygen
```
This installs:
- **Doxygen** (via Homebrew on macOS, apt on Linux)
- **Poxy** (via pipx)
### Build Documentation
```bash
npm run build:tomlplusplus
```
### Full Site Build
```bash
npm run build # Includes toml++ docs
```
---
## Manual Setup
### macOS
```bash
brew install doxygen pipx
pipx install poxy
```
### Linux
```bash
sudo apt-get install doxygen python3-pip
python3 -m pip install --user pipx
pipx install poxy
```
---
## Configuration
Documentation is configured via `poxy.toml`:
| Setting | Value |
|---------|-------|
| Source paths | `../../tomlplusplus/include` |
| Pages | `pages/` directory |
| Images | `images/` directory |
| Theme | Dark (default) |
| Output | `html/` directory |
---
## Directory Structure
```
website/tomlplusplus/
├── poxy.toml # Poxy configuration
├── pages/ # Documentation pages (Markdown)
│ └── main_page.md
├── images/ # Badges, logos, graphics
└── html/ # Generated output (after build)
```
---
## Build Process
1. **Poxy** reads `poxy.toml`
2. **Doxygen** parses C++ headers
3. **m.css** generates styled HTML
4. Output copied to `_site/tomlplusplus/` during site build
---
## Troubleshooting
### ModuleNotFoundError: jinja2
Install to Homebrew Python:
```bash
/opt/homebrew/bin/python3 -m pip install --break-system-packages jinja2 Pygments
```
### Doxygen Warnings
Minor warnings about unresolved links are normal and don't prevent generation.
---
## Related Documentation
- [toml++](./tomlplusplus.md) — Library documentation
- [Workflows](./workflows.md) — CI builds documentation
---
## External Links
- [Poxy Documentation](https://github.com/marzer/poxy)
- [Doxygen Manual](https://www.doxygen.nl/manual/)
- [m.css](https://mcss.mosra.cz/)
|