Visitar URL original
v0.26.0 · marzer/poxy@4353575 · GitHub
Skip to content

Commit 4353575

Browse files
committed
v0.26.0
1 parent fe73ca8 commit 4353575

104 files changed

Lines changed: 7965 additions & 121 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.github/workflows/ci.yaml‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ on:
88
- "**.js"
99
- "**.json"
1010
- "**.xml"
11+
# test fixtures only: these feed the golden builds. docs markdown does not.
12+
- "tests/**.md"
13+
- "tests/**.dox"
14+
- "tests/**.toml"
1115
- "**/poxy/data/*"
1216
- "**/workflows/**.yaml"
1317
- "pyproject.toml"
@@ -80,7 +84,7 @@ jobs:
8084
python -m pip install --upgrade pip
8185
python -m pip install --upgrade '.[test]'
8286
- name: Run unit tests
83-
run: python -m pytest tests/test_units.py -ra
87+
run: python -m pytest tests -ra --ignore=tests/test_snapshots.py
8488

8589
# convergence: poxy's whole reason to exist is to normalize away doxygen's version-to-version differences,
8690
# so the canonical expected_* golden must be reproduced byte-for-byte by EVERY supported doxygen version.

‎AGENTS.md‎

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
See @README.md for a description of this project.
2+
3+
See @CONTRIBUTING.md for contribution guidelines.
4+
5+
Comments in code should be terse and to-the-point, documenting _why_, not _what_:
6+
7+
- Primarily lowercase (language snippets excepted)
8+
- At most 1-2 lines, no paragraphs unless absolutely necessary
9+
- If a comment adds no value, DO NOT LEAVE ONE.
10+
- No LLM voice slop
11+
- No over-embellishing
12+
- No re-explaining things that are plainly obvious from the code itself
13+
- No using things like backticks - code isn't markdown
14+
- No using unicode (no em dashes, en dashes, arrows, or anything else non-ASCII)
15+
- No excessive punctuation (language snippets excepted)
16+
- Comments in unit-tests can often be folded into TEST_CASE or SECTION names
17+
- NO LLM VOICE SLOP
18+
19+
ANY COMMENTS THAT DO NOT MEET THE ABOVE CRITERIA SHOULD BE CONSIDERED A BUG AND AGGRESSIVELY FLAGGED DURING REVIEW.
20+
Obviously-human comments like in-jokes, banners/headers and slang are fine.

‎CHANGELOG.md‎

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,25 @@
11
# Changelog
22

3+
## v0.26.0 - 2026-09-05
4+
5+
- fixed markdown heading 'autodoc' using doxygen's unstable algorithm, replaced with a better implementation
6+
- fixed an indented code block being read as a heading
7+
- fixed `poxy_changelog.html` being named `md_poxy_changelog.html` on some doxygen versions
8+
- fixed `sources.strip_paths` being ignored entirely when a config had no `[sources]` table
9+
- fixed `poxyblog --version` exiting with an error instead of printing the version
10+
- fixed `poxyblog` writing to `./blog` rather than the blog directory poxy reads from
11+
- fixed `poxyblog` accepting a multi-line title, and generating filenames poxy would later reject
12+
- fixed blog post images being resolved by basename
13+
- fixed markdown heading anchors sharing doxygen's global section-label namespace
14+
- fixed a markdown page's title heading being labelled, which renamed the page's output file
15+
- fixed an explicit `{#label}` on a blog post's or changelog's title heading being discarded
16+
- added blog front matter (TOML, fenced by `+++`) with `title`, `date`, `slug`, `draft`, `description`, `tags` and `aliases`
17+
- added blog post directories, so a post's images and other media can live beside its text
18+
- added a blog index page, tag pages, per-post date/tag bylines, excerpts and prev/next navigation
19+
- added `feed.xml` (RSS 2.0), `sitemap.xml` and `404.html`
20+
- added the `blog`, `site_url` and `sitemap` config options
21+
- added `--drafts`
22+
323
## v0.25.1 - 2026-08-05
424

525
- fixed `#MACRO` refs not working from page bodies

‎CLAUDE.md‎

Lines changed: 1 addition & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1 @@
1-
See @README.md for a description of this project.
2-
3-
See @CONTRIBUTING.md for contribution guidelines.
4-
5-
Comments in code should be terse and to-the-point, documenting _why_, not _what_:
6-
7-
- Primarily lowercase (language snippets excepted)
8-
- At most 1-2 lines, no paragraphs unless absolutely necessary
9-
- If a comment adds no value, DO NOT LEAVE ONE.
10-
- No LLM voice slop
11-
- No over-embellishing
12-
- No re-explaining things that are plainly obvious from the code itself
13-
- No using things like backticks - code isn't markdown
14-
- No using unicode (no em dashes, en dashes, arrows, or anything else non-ASCII)
15-
- No excessive punctuation (language snippets excepted)
16-
- Comments in unit-tests can often be folded into TEST_CASE or SECTION names
17-
- NO LLM VOICE SLOP
18-
19-
ANY COMMENTS THAT DO NOT MEET THE ABOVE CRITERIA SHOULD BE CONSIDERED A BUG AND AGGRESSIVELY FLAGGED DURING REVIEW.
20-
Obviously-human comments like in-jokes, banners/headers and slang are fine.
1+
@AGENTS.md

‎README.md‎

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ a fantastic live search feature. **Poxy** builds upon both by:
3535
- Adding support for C++20 concepts
3636
- Adding [tabbed content blocks](docs/aliases.md#tabbed-content) (e.g. for showing the same example in multiple languages)
3737
- Adding a top-level page listing all `#defines` so they're discoverable without hunting through file docs
38+
- Adding a [blog](docs/blog.md) with tags, drafts, per-post media, an RSS feed and a sitemap
3839
- Self-hosting fonts to reduce external HTTP requests
3940
- Inlining SVGs so they can take advantage of [`currentColor`]
4041
- Keeping undocumented parents of documented symbols (and documented enums' values) instead of pruning them
@@ -72,9 +73,10 @@ pip install poxy
7273
Poxy is a command-line application.
7374

7475
```
75-
usage: poxy [-h] [-v] [--html | --no-html] [--ppinclude <regex>] [--ppexclude <regex>]
76-
[--theme {light,dark,custom}] [--threads N] [--version] [--xml | --no-xml]
77-
[--werror | --no-werror] [--bug-report] [--git-tags]
76+
usage: poxy [-h] [-v] [--html | --no-html] [--ppinclude <regex>]
77+
[--ppexclude <regex>] [--theme {light,dark,custom}] [--threads N]
78+
[--version] [--xml | --no-xml] [--werror | --no-werror]
79+
[--drafts | --no-drafts] [--bug-report] [--git-tags]
7880
[--squash-patches | --no-squash-patches] [--min-version <version>]
7981
[config]
8082
@@ -83,7 +85,7 @@ usage: poxy [-h] [-v] [--html | --no-html] [--ppinclude <regex>] [--ppexclude <r
8385
| |_) | (_) > <| |_| |
8486
| .__/ \___/_/\_\\__, |
8587
| | __/ |
86-
|_| |___/ v0.17.0 - github.com/marzer/poxy
88+
|_| |___/ v0.25.1 - github.com/marzer/poxy
8789
8890
Generate fancy C++ documentation.
8991
@@ -103,6 +105,8 @@ options:
103105
--xml, --no-xml specify whether XML output is required
104106
--werror, --no-werror
105107
treat warnings as errors (default: read from config)
108+
--drafts, --no-drafts
109+
include blog posts marked as drafts (default: read from config)
106110
--bug-report captures all output in a zip file for easier bug reporting.
107111
--git-tags add git-tag-based semver version switcher to the generated HTML
108112
--squash-patches, --no-squash-patches
@@ -127,12 +131,28 @@ Full documentation lives in the [`docs`](docs) directory:
127131

128132
- [What poxy does over Doxygen + m.css](docs/improvements.md)
129133
- [Configuration options](docs/configuration.md) - every `poxy.toml` option
134+
- [Blog](docs/blog.md) - writing posts, tags, drafts and feeds
130135
- [Doxygen @alias commands](docs/aliases.md) - the extra `@commands` poxy provides
131136
- [Square-bracket tags](docs/tags.md) - inline control of the generated HTML
132137

133138
For a self-contained `poxy.toml` example to copy and paste from,
134139
see [the one used by toml++](https://github.com/marzer/tomlplusplus/blob/master/docs/poxy.toml).
135140

141+
### Blogging
142+
143+
Poxy doubles as a small static blogging platform. `poxyblog` scaffolds a post:
144+
145+
```
146+
usage: poxyblog [-h] [--tags <a,b,c>] [--date <YYYY-MM-DD>] [--draft] [--dir]
147+
[--force] [-v] [--version]
148+
[config] [title]
149+
150+
Initializes a new blog post for Poxy sites.
151+
```
152+
153+
Posts are markdown with optional TOML front matter, and get an index, tags, an RSS feed and a sitemap.
154+
See the [blog documentation](docs/blog.md).
155+
136156
<br><br>
137157

138158
## Migrating from Doxygen

‎VERSION‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.25.1
1+
0.26.0

‎docs/README.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
- [What poxy does over Doxygen + m.css](improvements.md) - the features and fixes poxy adds.
44
- [Configuration options](configuration.md) - every option available in a `poxy.toml`.
5+
- [Blog](blog.md) - writing posts, tags, drafts and feeds.
56
- [Doxygen @alias commands](aliases.md) - the extra `@commands` poxy provides.
67
- [Square-bracket tags](tags.md) - inline control of the generated HTML.
78

0 commit comments

Comments
 (0)