@bluedynamics/cdk8s-plone 0.1.4 β 0.1.6
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.
- package/.jsii +26 -7
- package/API.md +16 -0
- package/CLAUDE.md +352 -0
- package/README.md +55 -178
- package/documentation/Makefile +357 -0
- package/documentation/README.md +284 -0
- package/documentation/mx.ini +3 -0
- package/documentation/sources/_static/brand-theme.css +685 -0
- package/documentation/sources/_static/custom-icons.css +123 -0
- package/documentation/sources/_static/fonts/hack/Hack-Regular.woff2 +0 -0
- package/documentation/sources/_static/fonts/orbitron/Orbitron-Black.woff2 +11 -0
- package/documentation/sources/_static/fonts/orbitron/Orbitron-Bold.woff2 +11 -0
- package/documentation/sources/_static/fonts/orbitron/Orbitron-Regular.woff2 +0 -0
- package/documentation/sources/_static/fonts/rajdhani/Rajdhani-Bold.woff2 +11 -0
- package/documentation/sources/_static/fonts/rajdhani/Rajdhani-Medium.woff2 +11 -0
- package/documentation/sources/_static/fonts/rajdhani/Rajdhani-Regular.woff2 +11 -0
- package/documentation/sources/_static/fonts/rajdhani/Rajdhani-SemiBold.woff2 +11 -0
- package/documentation/sources/_static/kup6s-icon-explanation.svg +32 -0
- package/documentation/sources/_static/kup6s-icon-howto.svg +34 -0
- package/documentation/sources/_static/kup6s-icon-plone.svg +79 -0
- package/documentation/sources/_static/kup6s-icon-reference.svg +34 -0
- package/documentation/sources/_static/kup6s-icon-tutorials.svg +30 -0
- package/documentation/sources/_static/logo-fix.js +12 -0
- package/documentation/sources/conf.py +105 -0
- package/documentation/sources/explanation/architecture.md +311 -0
- package/documentation/sources/explanation/features.md +353 -0
- package/documentation/sources/explanation/index.md +51 -0
- package/documentation/sources/how-to/index.md +56 -0
- package/documentation/sources/how-to/setup-prerequisites.md +354 -0
- package/documentation/sources/index.md +108 -0
- package/documentation/sources/reference/api/.gitkeep +1 -0
- package/documentation/sources/reference/configuration-options.md +370 -0
- package/documentation/sources/reference/index.md +59 -0
- package/documentation/sources/tutorials/01-quick-start.md +157 -0
- package/documentation/sources/tutorials/index.md +48 -0
- package/lib/httpcache.d.ts +6 -0
- package/lib/httpcache.js +4 -2
- package/lib/plone.js +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,284 @@
|
|
|
1
|
+
# cdk8s-plone Documentation
|
|
2
|
+
|
|
3
|
+
This directory contains the complete documentation for cdk8s-plone, built using [Sphinx](https://www.sphinx-doc.org/) with [MyST Parser](https://myst-parser.readthedocs.io/) and following the [DiΓ‘taxis framework](https://diataxis.fr/).
|
|
4
|
+
|
|
5
|
+
## π View Documentation
|
|
6
|
+
|
|
7
|
+
**Published documentation:** https://bluedynamics.github.io/cdk8s-plone/
|
|
8
|
+
|
|
9
|
+
## ποΈ Building Documentation Locally
|
|
10
|
+
|
|
11
|
+
### Prerequisites
|
|
12
|
+
|
|
13
|
+
- Python 3.13+ (or Python 3.9+ with manual configuration)
|
|
14
|
+
- `make` command
|
|
15
|
+
- `uv` (fast Python package installer) - optional but recommended
|
|
16
|
+
|
|
17
|
+
### Quick Start
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
# Navigate to documentation directory
|
|
21
|
+
cd documentation
|
|
22
|
+
|
|
23
|
+
# Build HTML documentation
|
|
24
|
+
make docs
|
|
25
|
+
|
|
26
|
+
# Open in browser
|
|
27
|
+
open html/index.html # macOS
|
|
28
|
+
xdg-open html/index.html # Linux
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
The first build will:
|
|
32
|
+
1. Create a Python virtual environment (.venv)
|
|
33
|
+
2. Install Sphinx and required extensions
|
|
34
|
+
3. Generate HTML documentation
|
|
35
|
+
|
|
36
|
+
Subsequent builds will reuse the virtual environment and be much faster.
|
|
37
|
+
|
|
38
|
+
### Development with Live Reload
|
|
39
|
+
|
|
40
|
+
For documentation writing, use the live-reload server:
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
cd documentation
|
|
44
|
+
make docs-live
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
This starts a development server at http://localhost:8000 that automatically rebuilds and refreshes when you save changes.
|
|
48
|
+
|
|
49
|
+
### Clean Build
|
|
50
|
+
|
|
51
|
+
To remove generated files and rebuild from scratch:
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
make clean
|
|
55
|
+
make docs
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## π Documentation Structure
|
|
59
|
+
|
|
60
|
+
The documentation follows the [DiΓ‘taxis framework](https://diataxis.fr/), organizing content into four categories:
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
sources/
|
|
64
|
+
βββ index.md # Main landing page
|
|
65
|
+
βββ tutorials/ # Learning-oriented (step-by-step lessons)
|
|
66
|
+
β βββ index.md
|
|
67
|
+
βββ how-to/ # Goal-oriented (solve specific problems)
|
|
68
|
+
β βββ index.md
|
|
69
|
+
βββ reference/ # Information-oriented (technical specs)
|
|
70
|
+
β βββ index.md
|
|
71
|
+
β βββ api/ # API documentation
|
|
72
|
+
βββ explanation/ # Understanding-oriented (concepts)
|
|
73
|
+
β βββ index.md
|
|
74
|
+
βββ _static/ # Static assets (CSS, images, fonts)
|
|
75
|
+
βββ brand-theme.css # Cyberpunk theme styling
|
|
76
|
+
βββ custom-icons.css # Icon styling
|
|
77
|
+
βββ logo-fix.js # Logo link fixes
|
|
78
|
+
βββ plone-logo.svg # Project logo (placeholder)
|
|
79
|
+
βββ kup6s-icon-*.svg # Category icons
|
|
80
|
+
βββ fonts/ # Web fonts (Rajdhani, Orbitron, Hack)
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### Content Guidelines
|
|
84
|
+
|
|
85
|
+
#### Tutorials (Learning-Oriented)
|
|
86
|
+
- Step-by-step lessons for building skills
|
|
87
|
+
- Complete, reproducible examples
|
|
88
|
+
- Learning goals clearly stated
|
|
89
|
+
- Assumes beginner knowledge
|
|
90
|
+
|
|
91
|
+
#### How-To Guides (Goal-Oriented)
|
|
92
|
+
- Solutions to specific problems
|
|
93
|
+
- Assumes some knowledge
|
|
94
|
+
- Focus on accomplishing a task
|
|
95
|
+
- Recipe-style format
|
|
96
|
+
|
|
97
|
+
#### Reference (Information-Oriented)
|
|
98
|
+
- Technical specifications
|
|
99
|
+
- API documentation
|
|
100
|
+
- Configuration options
|
|
101
|
+
- Dry, factual descriptions
|
|
102
|
+
|
|
103
|
+
#### Explanation (Understanding-Oriented)
|
|
104
|
+
- Conceptual discussion
|
|
105
|
+
- Architecture and design decisions
|
|
106
|
+
- The "why" behind choices
|
|
107
|
+
- Broaden understanding
|
|
108
|
+
|
|
109
|
+
## π¨ Theme and Styling
|
|
110
|
+
|
|
111
|
+
The documentation uses:
|
|
112
|
+
- **Theme:** [Shibuya](https://shibuya.lepture.com/) - Modern, responsive Sphinx theme
|
|
113
|
+
- **Parser:** [MyST](https://myst-parser.readthedocs.io/) - Markdown with extensions
|
|
114
|
+
- **Style:** Cyberpunk-inspired (cyan #00d4ff, dark background)
|
|
115
|
+
- **Fonts:**
|
|
116
|
+
- Rajdhani (headings) - geometric, futuristic
|
|
117
|
+
- Hack (body/code) - monospace, highly legible
|
|
118
|
+
- Orbitron (special emphasis) - geometric, bold
|
|
119
|
+
|
|
120
|
+
## π§ Configuration
|
|
121
|
+
|
|
122
|
+
Key configuration files:
|
|
123
|
+
|
|
124
|
+
- **`Makefile`** - Build automation (generated by mxmake)
|
|
125
|
+
- **`mx.ini`** - mxmake settings
|
|
126
|
+
- **`sources/conf.py`** - Sphinx configuration
|
|
127
|
+
- **`.gitignore`** - Excludes build artifacts
|
|
128
|
+
|
|
129
|
+
### Sphinx Extensions
|
|
130
|
+
|
|
131
|
+
- `myst_parser` - Markdown support
|
|
132
|
+
- `sphinxcontrib.mermaid` - Diagram support (```mermaid)
|
|
133
|
+
- `sphinx_design` - Grid and card directives
|
|
134
|
+
- `sphinx_copybutton` - Copy button for code blocks
|
|
135
|
+
|
|
136
|
+
### MyST Extensions
|
|
137
|
+
|
|
138
|
+
- `deflist` - Definition lists
|
|
139
|
+
- `colon_fence` - ::: directive syntax for grids/cards
|
|
140
|
+
- Mermaid fence as directive
|
|
141
|
+
|
|
142
|
+
## π Writing Documentation
|
|
143
|
+
|
|
144
|
+
### Markdown Format
|
|
145
|
+
|
|
146
|
+
All documentation is written in Markdown with MyST extensions.
|
|
147
|
+
|
|
148
|
+
**Example:**
|
|
149
|
+
|
|
150
|
+
```markdown
|
|
151
|
+
# Page Title
|
|
152
|
+
|
|
153
|
+
## Section
|
|
154
|
+
|
|
155
|
+
Regular Markdown content with **bold**, *italic*, and `code`.
|
|
156
|
+
|
|
157
|
+
### Code Blocks
|
|
158
|
+
|
|
159
|
+
\```python
|
|
160
|
+
import example
|
|
161
|
+
print("Hello, world!")
|
|
162
|
+
\```
|
|
163
|
+
|
|
164
|
+
### Grid Cards (DiΓ‘taxis Landing Pages)
|
|
165
|
+
|
|
166
|
+
::::{grid} 2
|
|
167
|
+
:gutter: 3
|
|
168
|
+
|
|
169
|
+
:::{grid-item-card} Card Title
|
|
170
|
+
:img-top: _static/icon.svg
|
|
171
|
+
:link: path/to/page
|
|
172
|
+
:link-type: doc
|
|
173
|
+
|
|
174
|
+
Card description
|
|
175
|
+
:::
|
|
176
|
+
|
|
177
|
+
::::
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
### Internal Links
|
|
181
|
+
|
|
182
|
+
```markdown
|
|
183
|
+
[Link text](path/to/file.md)
|
|
184
|
+
[Link to section](file.md#section-heading)
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
### Images
|
|
188
|
+
|
|
189
|
+
```markdown
|
|
190
|
+

|
|
191
|
+
|
|
192
|
+
# Or with MyST directive:
|
|
193
|
+
\```{image} path/to/image.png
|
|
194
|
+
:width: 200px
|
|
195
|
+
:align: center
|
|
196
|
+
\```
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
### Tables
|
|
200
|
+
|
|
201
|
+
```markdown
|
|
202
|
+
| Column 1 | Column 2 |
|
|
203
|
+
|----------|----------|
|
|
204
|
+
| Value 1 | Value 2 |
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
### Diagrams
|
|
208
|
+
|
|
209
|
+
Use Mermaid for diagrams:
|
|
210
|
+
|
|
211
|
+
````markdown
|
|
212
|
+
```mermaid
|
|
213
|
+
graph LR
|
|
214
|
+
A[Start] --> B[Process]
|
|
215
|
+
B --> C[End]
|
|
216
|
+
```
|
|
217
|
+
````
|
|
218
|
+
|
|
219
|
+
## π Deployment
|
|
220
|
+
|
|
221
|
+
Documentation will be automatically deployed to GitHub Pages via GitHub Actions:
|
|
222
|
+
|
|
223
|
+
1. **Trigger:** Push to `main` branch or manual workflow dispatch
|
|
224
|
+
2. **Build:** Ubuntu runner builds documentation with Sphinx
|
|
225
|
+
3. **Deploy:** Artifacts uploaded to GitHub Pages
|
|
226
|
+
4. **URL:** https://bluedynamics.github.io/cdk8s-plone/
|
|
227
|
+
|
|
228
|
+
## π¦ Dependencies
|
|
229
|
+
|
|
230
|
+
Documentation dependencies (installed automatically by `make docs`):
|
|
231
|
+
|
|
232
|
+
- sphinx - Documentation generator
|
|
233
|
+
- sphinx-autobuild - Live-reload server
|
|
234
|
+
- myst_parser - Markdown parser
|
|
235
|
+
- sphinxcontrib.mermaid - Mermaid diagram support
|
|
236
|
+
- shibuya - Sphinx theme
|
|
237
|
+
- sphinx-design - Grid/card directives
|
|
238
|
+
- sphinx-copybutton - Code block copy button
|
|
239
|
+
|
|
240
|
+
## π€ Contributing
|
|
241
|
+
|
|
242
|
+
When contributing to documentation:
|
|
243
|
+
|
|
244
|
+
1. **Follow DiΓ‘taxis categories** - Put content in the right section
|
|
245
|
+
2. **Use clear headings** - H1 for page title, H2 for sections
|
|
246
|
+
3. **Test locally** - Always build and preview before committing
|
|
247
|
+
4. **Check links** - Ensure all internal links work
|
|
248
|
+
5. **Use consistent style** - Follow existing formatting patterns
|
|
249
|
+
6. **Add images to _static/** - Keep static assets organized
|
|
250
|
+
|
|
251
|
+
## π Troubleshooting
|
|
252
|
+
|
|
253
|
+
### Build Errors
|
|
254
|
+
|
|
255
|
+
**Error: `sphinx-build: command not found`**
|
|
256
|
+
- Solution: Run `make clean` then `make docs` to reinstall dependencies
|
|
257
|
+
|
|
258
|
+
**Error: Unknown directive type "grid"**
|
|
259
|
+
- Solution: Ensure `sphinx_design` is installed: `pip install sphinx-design`
|
|
260
|
+
|
|
261
|
+
**Error: "Cannot find reference" warnings**
|
|
262
|
+
- Solution: Check that linked files exist and paths are correct
|
|
263
|
+
|
|
264
|
+
### Theme Issues
|
|
265
|
+
|
|
266
|
+
**Fonts not loading**
|
|
267
|
+
- Check that font files exist in `_static/fonts/`
|
|
268
|
+
- Verify paths in `brand-theme.css`
|
|
269
|
+
|
|
270
|
+
**Logo not displaying**
|
|
271
|
+
- Ensure `_static/plone-logo.svg` exists
|
|
272
|
+
- Check `html_logo` setting in `conf.py`
|
|
273
|
+
|
|
274
|
+
## π Resources
|
|
275
|
+
|
|
276
|
+
- [DiΓ‘taxis Framework](https://diataxis.fr/) - Documentation organization philosophy
|
|
277
|
+
- [MyST Parser Documentation](https://myst-parser.readthedocs.io/) - Markdown syntax reference
|
|
278
|
+
- [Sphinx Documentation](https://www.sphinx-doc.org/) - Sphinx features and configuration
|
|
279
|
+
- [Shibuya Theme](https://shibuya.lepture.com/) - Theme documentation
|
|
280
|
+
- [Mermaid Diagrams](https://mermaid.js.org/) - Diagram syntax
|
|
281
|
+
|
|
282
|
+
---
|
|
283
|
+
|
|
284
|
+
**Questions?** Open an issue on GitHub or ask in the project discussions.
|