ophix-docs 2026.10.4.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. ophix_docs-2026.10.4.1/PKG-INFO +239 -0
  2. ophix_docs-2026.10.4.1/README.md +209 -0
  3. ophix_docs-2026.10.4.1/pyproject.toml +60 -0
  4. ophix_docs-2026.10.4.1/setup.cfg +4 -0
  5. ophix_docs-2026.10.4.1/src/ophix_docs/OPHIX_RELEASE_NOTES.md +110 -0
  6. ophix_docs-2026.10.4.1/src/ophix_docs/__init__.py +4 -0
  7. ophix_docs-2026.10.4.1/src/ophix_docs/_version.py +2 -0
  8. ophix_docs-2026.10.4.1/src/ophix_docs/admin.py +221 -0
  9. ophix_docs-2026.10.4.1/src/ophix_docs/apps.py +9 -0
  10. ophix_docs-2026.10.4.1/src/ophix_docs/deploy_templates/env.fragment.j2 +31 -0
  11. ophix_docs-2026.10.4.1/src/ophix_docs/docs/ophix_docs.md +237 -0
  12. ophix_docs-2026.10.4.1/src/ophix_docs/docs/sections.yaml +4 -0
  13. ophix_docs-2026.10.4.1/src/ophix_docs/management/commands/__init__.py +0 -0
  14. ophix_docs-2026.10.4.1/src/ophix_docs/management/commands/export_docs.py +52 -0
  15. ophix_docs-2026.10.4.1/src/ophix_docs/management/commands/list_docs_sources.py +40 -0
  16. ophix_docs-2026.10.4.1/src/ophix_docs/management/commands/purge_docs.py +200 -0
  17. ophix_docs-2026.10.4.1/src/ophix_docs/management/commands/update_docs.py +191 -0
  18. ophix_docs-2026.10.4.1/src/ophix_docs/migrations/0001_initial.py +65 -0
  19. ophix_docs-2026.10.4.1/src/ophix_docs/migrations/0002_docpage_app_label.py +26 -0
  20. ophix_docs-2026.10.4.1/src/ophix_docs/migrations/__init__.py +0 -0
  21. ophix_docs-2026.10.4.1/src/ophix_docs/models.py +77 -0
  22. ophix_docs-2026.10.4.1/src/ophix_docs/settings.py +22 -0
  23. ophix_docs-2026.10.4.1/src/ophix_docs/static/ophix_docs/css/search.css +77 -0
  24. ophix_docs-2026.10.4.1/src/ophix_docs/static/ophix_docs/highlight/github-dark.min.css +10 -0
  25. ophix_docs-2026.10.4.1/src/ophix_docs/static/ophix_docs/highlight/github.min.css +10 -0
  26. ophix_docs-2026.10.4.1/src/ophix_docs/static/ophix_docs/highlight/highlight.min.js +764 -0
  27. ophix_docs-2026.10.4.1/src/ophix_docs/templates/admin/ophix_docs/docpage/change_form.html +184 -0
  28. ophix_docs-2026.10.4.1/src/ophix_docs/templates/admin/ophix_docs/docpage/change_list.html +239 -0
  29. ophix_docs-2026.10.4.1/src/ophix_docs/templates/admin/ophix_docs/docsearch/change_list.html +37 -0
  30. ophix_docs-2026.10.4.1/src/ophix_docs.egg-info/PKG-INFO +239 -0
  31. ophix_docs-2026.10.4.1/src/ophix_docs.egg-info/SOURCES.txt +33 -0
  32. ophix_docs-2026.10.4.1/src/ophix_docs.egg-info/dependency_links.txt +1 -0
  33. ophix_docs-2026.10.4.1/src/ophix_docs.egg-info/entry_points.txt +2 -0
  34. ophix_docs-2026.10.4.1/src/ophix_docs.egg-info/requires.txt +4 -0
  35. ophix_docs-2026.10.4.1/src/ophix_docs.egg-info/top_level.txt +1 -0
@@ -0,0 +1,239 @@
1
+ Metadata-Version: 2.4
2
+ Name: ophix-docs
3
+ Version: 2026.10.4.1
4
+ Summary: Inline markdown documentation plugin for Ophix fleet management servers
5
+ Author: Ophix Project
6
+ License-Expression: MIT
7
+ Project-URL: Homepage, https://ophix.io
8
+ Project-URL: Documentation, https://github.com/ophixproject/ophix-docs#readme
9
+ Project-URL: Source, https://github.com/ophixproject/ophix-docs
10
+ Keywords: django,ophix,documentation,admin,fleet management
11
+ Classifier: Development Status :: 4 - Beta
12
+ Classifier: Environment :: Web Environment
13
+ Classifier: Framework :: Django
14
+ Classifier: Intended Audience :: System Administrators
15
+ Classifier: Operating System :: OS Independent
16
+ Classifier: Programming Language :: Python :: 3
17
+ Classifier: Programming Language :: Python :: 3.10
18
+ Classifier: Programming Language :: Python :: 3.11
19
+ Classifier: Programming Language :: Python :: 3.12
20
+ Classifier: Programming Language :: Python :: 3.13
21
+ Classifier: Programming Language :: Python :: 3.14
22
+ Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
23
+ Classifier: Topic :: System :: Systems Administration
24
+ Requires-Python: >=3.10
25
+ Description-Content-Type: text/markdown
26
+ Requires-Dist: ophix-server-base>=2026.06.08.01
27
+ Requires-Dist: markdown>=3.4
28
+ Requires-Dist: python-frontmatter>=1.0
29
+ Requires-Dist: pygments>=2.19.2
30
+
31
+ # ophix-docs
32
+
33
+ **Documentation that lives where you actually need it** — searchable, in-admin docs for every [Ophix](https://ophix.io) server.
34
+
35
+ Nobody wants to tab away from the admin panel to some separate wiki or GitHub page just to remember how a feature works — and that external doc is never quite sure which version you're actually running anyway. Every installed Ophix package ships its own docs pages; `ophix-docs` makes them available right alongside the data they describe, always matching whatever's actually installed.
36
+
37
+ ---
38
+
39
+ ## Installation
40
+
41
+ ```bash
42
+ pip install ophix-docs
43
+ ```
44
+
45
+ ---
46
+
47
+ ## How it works
48
+
49
+ Each Ophix package that ships documentation contains a `docs/` directory with:
50
+
51
+ - One or more `.md` files with YAML front matter (`title`, `slug`, `order`, `section`)
52
+ - A `sections.yaml` file declaring the section names used by those pages
53
+
54
+ Documentation is **not loaded automatically on install** — it must be imported into the
55
+ database with `update_docs`. If you used `run_install` to deploy your server,
56
+ this was done for you. After upgrading packages, re-run the command to pick up any
57
+ new or updated pages.
58
+
59
+ ---
60
+
61
+ ## Loading documentation
62
+
63
+ ### Automatic — via `run_install`
64
+
65
+ If `ophix-docs` is installed when you run `ophix-manage run_install`, documentation
66
+ is discovered and loaded automatically for all installed packages that ship docs.
67
+ No further action is needed for a fresh install.
68
+
69
+ ### Manual — after upgrades or adding packages
70
+
71
+ Discover which installed packages have docs:
72
+
73
+ ```bash
74
+ ophix-manage list_docs_sources
75
+ ```
76
+
77
+ Then load them. Use the Python module names (underscores, not hyphens), not pip
78
+ package names. Include all relevant modules for your server type:
79
+
80
+ **Credential server:**
81
+
82
+ ```bash
83
+ ophix-manage update_docs --include-app-docs ophix.core,ophix_creds,ophix_docs
84
+ ```
85
+
86
+ **Configuration server:**
87
+
88
+ ```bash
89
+ ophix-manage update_docs --include-app-docs ophix.core,ophix_confs,ophix_docs
90
+ ```
91
+
92
+ **Certificate server:**
93
+
94
+ ```bash
95
+ ophix-manage update_docs --include-app-docs ophix.core,ophix_certs,ophix_docs
96
+ ```
97
+
98
+ **Certificate server with in-admin CA:**
99
+
100
+ ```bash
101
+ ophix-manage update_docs --include-app-docs ophix.core,ophix_certs,ophix_certs_ca,ophix_docs
102
+ ```
103
+
104
+ **Zone server:**
105
+
106
+ ```bash
107
+ ophix-manage update_docs --include-app-docs ophix.core,ophix_zones,ophix_docs
108
+ ```
109
+
110
+ The command is idempotent — safe to re-run at any time. It only creates and updates;
111
+ it never deletes pages.
112
+
113
+ ---
114
+
115
+ ## Management commands
116
+
117
+ ### `list_docs_sources`
118
+
119
+ List all installed apps that contain valid Ophix docs (a `docs/` directory with
120
+ `.md` files and a `sections.yaml`).
121
+
122
+ ```bash
123
+ ophix-manage list_docs_sources
124
+ ```
125
+
126
+ Use `--json` for machine-readable output:
127
+
128
+ ```bash
129
+ ophix-manage list_docs_sources --json
130
+ ```
131
+
132
+ This is the recommended starting point after installing or upgrading packages — run
133
+ it to confirm which app names to pass to `--include-app-docs`.
134
+
135
+ ---
136
+
137
+ ### `update_docs`
138
+
139
+ Import and update documentation pages from installed app docs directories.
140
+ Creates new pages and updates existing ones. Never deletes.
141
+
142
+ ```bash
143
+ ophix-manage update_docs --include-app-docs <comma-separated module names>
144
+ ```
145
+
146
+ **Options:**
147
+
148
+ | Option | Description |
149
+ | --- | --- |
150
+ | `--include-app-docs <apps>` | Comma-separated list of app module names to import docs from |
151
+ | `--path <dir>` | Additional docs directory to import (defaults to `BASE_DIR/docs` if it exists) |
152
+ | `--language <code>` | Language code for translated docs — omit for default language |
153
+
154
+ ---
155
+
156
+ ### `purge_docs`
157
+
158
+ Remove documentation pages from the database.
159
+
160
+ ```bash
161
+ # Remove specific pages by slug
162
+ ophix-manage purge_docs my-slug another-slug
163
+
164
+ # Remove all pages for the default language
165
+ ophix-manage purge_docs --all
166
+
167
+ # Remove pages whose source files no longer exist on disk
168
+ ophix-manage purge_docs --deleted
169
+
170
+ # Preview without deleting
171
+ ophix-manage purge_docs --all --dry-run
172
+ ophix-manage purge_docs --deleted --dry-run
173
+ ```
174
+
175
+ **Options:**
176
+
177
+ | Option | Description |
178
+ | --- | --- |
179
+ | `--all` | Delete all pages for the selected language |
180
+ | `--deleted` | Delete pages whose source file has been removed from disk |
181
+ | `--language <code>` | Restrict to a specific language (defaults to default language) |
182
+ | `--dry-run` | Preview what would be deleted without deleting anything |
183
+
184
+ ---
185
+
186
+ ### `export_docs`
187
+
188
+ Export documentation pages from the database back to markdown files. Useful for
189
+ backing up custom docs or extracting pages for translation.
190
+
191
+ ```bash
192
+ ophix-manage export_docs --output-dir /path/to/export/
193
+ ```
194
+
195
+ **Options:**
196
+
197
+ | Option | Description |
198
+ | --- | --- |
199
+ | `--output-dir <dir>` | Directory to write exported `.md` files and `sections.yaml` (required) |
200
+ | `--language <code>` | Language to export (defaults to the server's `LANGUAGE_CODE`) |
201
+
202
+ ---
203
+
204
+ ## Language packs
205
+
206
+ Translated documentation ships as separate pip packages
207
+ (`ophix-lang-fr-creds`, `ophix-lang-fr-confs`, etc.). Install the pack and import
208
+ with `--language`:
209
+
210
+ ```bash
211
+ pip install ophix-lang-fr-creds
212
+ ophix-manage update_docs --include-app-docs ophix_lang_fr_creds --language fr
213
+ ```
214
+
215
+ ---
216
+
217
+ ## Writing custom docs
218
+
219
+ Any markdown file placed in a `docs/` directory of an installed Django app can be
220
+ imported by `update_docs`. Each file requires YAML front matter:
221
+
222
+ ```yaml
223
+ ---
224
+ title: My Page Title
225
+ slug: my-page-slug
226
+ order: 10
227
+ section: My Section
228
+ ---
229
+
230
+ Page content here...
231
+ ```
232
+
233
+ The `sections.yaml` in the same directory must declare any sections used:
234
+
235
+ ```yaml
236
+ sections:
237
+ - name: My Section
238
+ collapsed: false
239
+ ```
@@ -0,0 +1,209 @@
1
+ # ophix-docs
2
+
3
+ **Documentation that lives where you actually need it** — searchable, in-admin docs for every [Ophix](https://ophix.io) server.
4
+
5
+ Nobody wants to tab away from the admin panel to some separate wiki or GitHub page just to remember how a feature works — and that external doc is never quite sure which version you're actually running anyway. Every installed Ophix package ships its own docs pages; `ophix-docs` makes them available right alongside the data they describe, always matching whatever's actually installed.
6
+
7
+ ---
8
+
9
+ ## Installation
10
+
11
+ ```bash
12
+ pip install ophix-docs
13
+ ```
14
+
15
+ ---
16
+
17
+ ## How it works
18
+
19
+ Each Ophix package that ships documentation contains a `docs/` directory with:
20
+
21
+ - One or more `.md` files with YAML front matter (`title`, `slug`, `order`, `section`)
22
+ - A `sections.yaml` file declaring the section names used by those pages
23
+
24
+ Documentation is **not loaded automatically on install** — it must be imported into the
25
+ database with `update_docs`. If you used `run_install` to deploy your server,
26
+ this was done for you. After upgrading packages, re-run the command to pick up any
27
+ new or updated pages.
28
+
29
+ ---
30
+
31
+ ## Loading documentation
32
+
33
+ ### Automatic — via `run_install`
34
+
35
+ If `ophix-docs` is installed when you run `ophix-manage run_install`, documentation
36
+ is discovered and loaded automatically for all installed packages that ship docs.
37
+ No further action is needed for a fresh install.
38
+
39
+ ### Manual — after upgrades or adding packages
40
+
41
+ Discover which installed packages have docs:
42
+
43
+ ```bash
44
+ ophix-manage list_docs_sources
45
+ ```
46
+
47
+ Then load them. Use the Python module names (underscores, not hyphens), not pip
48
+ package names. Include all relevant modules for your server type:
49
+
50
+ **Credential server:**
51
+
52
+ ```bash
53
+ ophix-manage update_docs --include-app-docs ophix.core,ophix_creds,ophix_docs
54
+ ```
55
+
56
+ **Configuration server:**
57
+
58
+ ```bash
59
+ ophix-manage update_docs --include-app-docs ophix.core,ophix_confs,ophix_docs
60
+ ```
61
+
62
+ **Certificate server:**
63
+
64
+ ```bash
65
+ ophix-manage update_docs --include-app-docs ophix.core,ophix_certs,ophix_docs
66
+ ```
67
+
68
+ **Certificate server with in-admin CA:**
69
+
70
+ ```bash
71
+ ophix-manage update_docs --include-app-docs ophix.core,ophix_certs,ophix_certs_ca,ophix_docs
72
+ ```
73
+
74
+ **Zone server:**
75
+
76
+ ```bash
77
+ ophix-manage update_docs --include-app-docs ophix.core,ophix_zones,ophix_docs
78
+ ```
79
+
80
+ The command is idempotent — safe to re-run at any time. It only creates and updates;
81
+ it never deletes pages.
82
+
83
+ ---
84
+
85
+ ## Management commands
86
+
87
+ ### `list_docs_sources`
88
+
89
+ List all installed apps that contain valid Ophix docs (a `docs/` directory with
90
+ `.md` files and a `sections.yaml`).
91
+
92
+ ```bash
93
+ ophix-manage list_docs_sources
94
+ ```
95
+
96
+ Use `--json` for machine-readable output:
97
+
98
+ ```bash
99
+ ophix-manage list_docs_sources --json
100
+ ```
101
+
102
+ This is the recommended starting point after installing or upgrading packages — run
103
+ it to confirm which app names to pass to `--include-app-docs`.
104
+
105
+ ---
106
+
107
+ ### `update_docs`
108
+
109
+ Import and update documentation pages from installed app docs directories.
110
+ Creates new pages and updates existing ones. Never deletes.
111
+
112
+ ```bash
113
+ ophix-manage update_docs --include-app-docs <comma-separated module names>
114
+ ```
115
+
116
+ **Options:**
117
+
118
+ | Option | Description |
119
+ | --- | --- |
120
+ | `--include-app-docs <apps>` | Comma-separated list of app module names to import docs from |
121
+ | `--path <dir>` | Additional docs directory to import (defaults to `BASE_DIR/docs` if it exists) |
122
+ | `--language <code>` | Language code for translated docs — omit for default language |
123
+
124
+ ---
125
+
126
+ ### `purge_docs`
127
+
128
+ Remove documentation pages from the database.
129
+
130
+ ```bash
131
+ # Remove specific pages by slug
132
+ ophix-manage purge_docs my-slug another-slug
133
+
134
+ # Remove all pages for the default language
135
+ ophix-manage purge_docs --all
136
+
137
+ # Remove pages whose source files no longer exist on disk
138
+ ophix-manage purge_docs --deleted
139
+
140
+ # Preview without deleting
141
+ ophix-manage purge_docs --all --dry-run
142
+ ophix-manage purge_docs --deleted --dry-run
143
+ ```
144
+
145
+ **Options:**
146
+
147
+ | Option | Description |
148
+ | --- | --- |
149
+ | `--all` | Delete all pages for the selected language |
150
+ | `--deleted` | Delete pages whose source file has been removed from disk |
151
+ | `--language <code>` | Restrict to a specific language (defaults to default language) |
152
+ | `--dry-run` | Preview what would be deleted without deleting anything |
153
+
154
+ ---
155
+
156
+ ### `export_docs`
157
+
158
+ Export documentation pages from the database back to markdown files. Useful for
159
+ backing up custom docs or extracting pages for translation.
160
+
161
+ ```bash
162
+ ophix-manage export_docs --output-dir /path/to/export/
163
+ ```
164
+
165
+ **Options:**
166
+
167
+ | Option | Description |
168
+ | --- | --- |
169
+ | `--output-dir <dir>` | Directory to write exported `.md` files and `sections.yaml` (required) |
170
+ | `--language <code>` | Language to export (defaults to the server's `LANGUAGE_CODE`) |
171
+
172
+ ---
173
+
174
+ ## Language packs
175
+
176
+ Translated documentation ships as separate pip packages
177
+ (`ophix-lang-fr-creds`, `ophix-lang-fr-confs`, etc.). Install the pack and import
178
+ with `--language`:
179
+
180
+ ```bash
181
+ pip install ophix-lang-fr-creds
182
+ ophix-manage update_docs --include-app-docs ophix_lang_fr_creds --language fr
183
+ ```
184
+
185
+ ---
186
+
187
+ ## Writing custom docs
188
+
189
+ Any markdown file placed in a `docs/` directory of an installed Django app can be
190
+ imported by `update_docs`. Each file requires YAML front matter:
191
+
192
+ ```yaml
193
+ ---
194
+ title: My Page Title
195
+ slug: my-page-slug
196
+ order: 10
197
+ section: My Section
198
+ ---
199
+
200
+ Page content here...
201
+ ```
202
+
203
+ The `sections.yaml` in the same directory must declare any sections used:
204
+
205
+ ```yaml
206
+ sections:
207
+ - name: My Section
208
+ collapsed: false
209
+ ```
@@ -0,0 +1,60 @@
1
+ [build-system]
2
+ requires = ["setuptools>=61.0"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "ophix-docs"
7
+ version = "2026.10.04.01"
8
+ description = "Inline markdown documentation plugin for Ophix fleet management servers"
9
+ readme = "README.md"
10
+ requires-python = ">=3.10"
11
+ license = "MIT"
12
+ authors = [
13
+ {name = "Ophix Project"}
14
+ ]
15
+ keywords = ["django", "ophix", "documentation", "admin", "fleet management"]
16
+ classifiers = [
17
+ "Development Status :: 4 - Beta",
18
+ "Environment :: Web Environment",
19
+ "Framework :: Django",
20
+ "Intended Audience :: System Administrators",
21
+ "Operating System :: OS Independent",
22
+ "Programming Language :: Python :: 3",
23
+ "Programming Language :: Python :: 3.10",
24
+ "Programming Language :: Python :: 3.11",
25
+ "Programming Language :: Python :: 3.12",
26
+ "Programming Language :: Python :: 3.13",
27
+ "Programming Language :: Python :: 3.14",
28
+ "Topic :: Internet :: WWW/HTTP :: Dynamic Content",
29
+ "Topic :: System :: Systems Administration",
30
+ ]
31
+ dependencies = [
32
+ "ophix-server-base>=2026.06.08.01",
33
+ "markdown>=3.4",
34
+ "python-frontmatter>=1.0",
35
+ "pygments>=2.19.2"
36
+ ]
37
+
38
+ [project.urls]
39
+ Homepage = "https://ophix.io"
40
+ Documentation = "https://github.com/ophixproject/ophix-docs#readme"
41
+ Source = "https://github.com/ophixproject/ophix-docs"
42
+
43
+ [tool.setuptools]
44
+ package-dir = {"" = "src"}
45
+
46
+ [tool.setuptools.packages.find]
47
+ where = ["src"]
48
+
49
+ [tool.setuptools.package-data]
50
+ ophix_docs = [
51
+ "OPHIX_RELEASE_NOTES.md",
52
+ "templates/**/*.html",
53
+ "static/**/*",
54
+ "docs/**/*",
55
+ "locale/**/*",
56
+ "deploy_templates/**/*",
57
+ ]
58
+
59
+ [project.entry-points."ophix.plugins"]
60
+ ophix_docs = "ophix_docs"
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,110 @@
1
+ # Ophix Docs Release Notes
2
+
3
+ ## 2026.10.04.01
4
+
5
+ - Reworked `README.md`'s opening with a hook-first pitch — docs that live where you actually
6
+ need them, right alongside the data they describe — as part of the 16-package
7
+ taskserver-release-wave README overhaul.
8
+
9
+ ## 2026.09.26.02
10
+
11
+ - i18n regression check: the `"General"` fallback section label shown in the admin Table of Contents when a page has no `section` set was unwrapped. Wrapped in `gettext_lazy`.
12
+
13
+ ## 2026.09.26.01
14
+
15
+ - Verified real compatibility under Python 3.14 (not just added the classifier) as part of the taskserver-release-wave compatibility sweep, and added `Programming Language :: Python :: 3.14` to the package classifiers.
16
+
17
+ ## 2026.08.30.01
18
+
19
+ - Table of Contents (docpage changelist): removed the `font-size` overrides on
20
+ `.doc-anchor-link` (0.875em) and `.doc-anchor-link.level-3` (0.83em) so page titles
21
+ and every level of anchor sub-item render at the same, standard body font size.
22
+ Indentation and opacity are still used to convey nesting depth.
23
+
24
+ ## 2026.05.30.09
25
+
26
+ - Search snippet stripping now also handles markdown tables: separator rows (`| --- |`)
27
+ are removed entirely and content rows have their pipe delimiters stripped, leaving
28
+ just the cell values as readable text.
29
+
30
+ ## 2026.05.30.08
31
+
32
+ - Search snippets are now stripped of markdown syntax before display — headings, bold,
33
+ italic, code fences, links, list markers, and blockquotes are all removed, leaving
34
+ clean readable plain text. The monospace/pre-wrap styling on snippets is removed accordingly.
35
+
36
+ ## 2026.05.30.07
37
+
38
+ - Search V2: results now link to the specific section (h2/h3) within a page that
39
+ contains the match, with `?q=` forwarded so the page highlights all occurrences.
40
+ - Doc page view: when opened via a search result link, all occurrences of the search
41
+ term are highlighted with `<mark>` (skipping code blocks). Scrolls to the first
42
+ match automatically if no anchor is present in the URL.
43
+
44
+ ## 2026.05.30.06
45
+
46
+ - Page name hover in docs index now uses the generic link hover colour, consistent
47
+ with anchor sub-link colours.
48
+
49
+ ## 2026.05.30.05
50
+
51
+ - Fix section collapsed/expanded state not persisting: switched from sessionStorage
52
+ to localStorage, and fixed restore logic to correctly re-expand sections that were
53
+ collapsed by default but expanded by the user.
54
+
55
+ ## 2026.05.30.04
56
+
57
+ - Renamed "Pages" to "Contents" in sidebar; docs index heading changed to "Table
58
+ of Contents".
59
+ - Page links in docs index are now collapsible; h2/h3 anchors appear as sub-links
60
+ under each page. Anchors extracted and stored by update_docs (run after upgrade).
61
+ - Added "Search" entry in sidebar: full-text search across page titles and content.
62
+ - Dark mode: h1/h2 headings in doc pages now lighten with the same per-theme accent
63
+ lightness setting as links.
64
+ - "Back to Index" renamed to "Back to Contents".
65
+
66
+ ## 2026.05.30.03
67
+
68
+ - Docs index section headings and toggle buttons now lighten in dark mode using the
69
+ same per-theme accent lightness setting as generic links.
70
+
71
+ ## 2026.05.30.02
72
+
73
+ - Fix docs index bullets: replaced ul/li with div elements to prevent Django admin
74
+ base CSS from applying list-style to page link rows.
75
+
76
+ ## 2026.05.30.01
77
+
78
+ - Docs index restyled to match token policy visual quality: collapsible sections
79
+ with header bar, page count, hover left-border accent, dark mode aware.
80
+ - Highlight.js theme now switches on Django admin dark mode toggle (data-theme
81
+ attribute) rather than OS prefers-color-scheme media query.
82
+
83
+ ## 2026.05.27.03
84
+
85
+ - Doc page headings (h1/h2) now use the theme module color; h3/h4 use the generic link color.
86
+
87
+ ## 2026.05.27.02
88
+
89
+ - Docs section headings now use the theme module color to match arrows and bullets.
90
+
91
+ ## 2026.05.27.01
92
+
93
+ - Docs tree arrows and bullet markers now use the theme module color
94
+ (`--admin-interface-module-background-color`) instead of the browser default,
95
+ so they match the active theme across all colour schemes.
96
+
97
+ ## 2026.05.22.02
98
+
99
+ - Added migration 0009: `DocPage.source_path` help text updated to reference
100
+ `update_docs` (was `ophix_docs_update`).
101
+
102
+ ## 2026.05.22.01
103
+
104
+ - Management commands renamed for consistency with `ophix-manage` context:
105
+ `ophix_docs_update` → `update_docs`, `ophix_docs_purge` → `purge_docs`,
106
+ `ophix_docs_export` → `export_docs`, `ophix_docs_list_sources` → `list_docs_sources`.
107
+
108
+ ## 2026.05.01.02
109
+
110
+ - Added `OPHIX_RELEASE_NOTES.md` for release notes delivery.
@@ -0,0 +1,4 @@
1
+ plugin_category = "addon"
2
+ plugin_sort = 210
3
+
4
+ default_app_config = "ophix_docs.apps.OphixDocsConfig"
@@ -0,0 +1,2 @@
1
+ __version__ = "2026.10.04.01"
2
+ __package_name__ = "ophix-docs"