summaryrefslogtreecommitdiff
path: root/archived/projt-launcher/docs/handbook/website-tomlplusplus.md
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/)