@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.
Files changed (39) hide show
  1. package/.jsii +26 -7
  2. package/API.md +16 -0
  3. package/CLAUDE.md +352 -0
  4. package/README.md +55 -178
  5. package/documentation/Makefile +357 -0
  6. package/documentation/README.md +284 -0
  7. package/documentation/mx.ini +3 -0
  8. package/documentation/sources/_static/brand-theme.css +685 -0
  9. package/documentation/sources/_static/custom-icons.css +123 -0
  10. package/documentation/sources/_static/fonts/hack/Hack-Regular.woff2 +0 -0
  11. package/documentation/sources/_static/fonts/orbitron/Orbitron-Black.woff2 +11 -0
  12. package/documentation/sources/_static/fonts/orbitron/Orbitron-Bold.woff2 +11 -0
  13. package/documentation/sources/_static/fonts/orbitron/Orbitron-Regular.woff2 +0 -0
  14. package/documentation/sources/_static/fonts/rajdhani/Rajdhani-Bold.woff2 +11 -0
  15. package/documentation/sources/_static/fonts/rajdhani/Rajdhani-Medium.woff2 +11 -0
  16. package/documentation/sources/_static/fonts/rajdhani/Rajdhani-Regular.woff2 +11 -0
  17. package/documentation/sources/_static/fonts/rajdhani/Rajdhani-SemiBold.woff2 +11 -0
  18. package/documentation/sources/_static/kup6s-icon-explanation.svg +32 -0
  19. package/documentation/sources/_static/kup6s-icon-howto.svg +34 -0
  20. package/documentation/sources/_static/kup6s-icon-plone.svg +79 -0
  21. package/documentation/sources/_static/kup6s-icon-reference.svg +34 -0
  22. package/documentation/sources/_static/kup6s-icon-tutorials.svg +30 -0
  23. package/documentation/sources/_static/logo-fix.js +12 -0
  24. package/documentation/sources/conf.py +105 -0
  25. package/documentation/sources/explanation/architecture.md +311 -0
  26. package/documentation/sources/explanation/features.md +353 -0
  27. package/documentation/sources/explanation/index.md +51 -0
  28. package/documentation/sources/how-to/index.md +56 -0
  29. package/documentation/sources/how-to/setup-prerequisites.md +354 -0
  30. package/documentation/sources/index.md +108 -0
  31. package/documentation/sources/reference/api/.gitkeep +1 -0
  32. package/documentation/sources/reference/configuration-options.md +370 -0
  33. package/documentation/sources/reference/index.md +59 -0
  34. package/documentation/sources/tutorials/01-quick-start.md +157 -0
  35. package/documentation/sources/tutorials/index.md +48 -0
  36. package/lib/httpcache.d.ts +6 -0
  37. package/lib/httpcache.js +4 -2
  38. package/lib/plone.js +1 -1
  39. 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
+ ![Alt text](path/to/image.png)
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.
@@ -0,0 +1,3 @@
1
+ [settings]
2
+ threads = 5
3
+ version-overrides =