postsvg 0.1.0 → 0.3.0
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +105 -0
- data/CLAUDE.md +173 -0
- data/Gemfile +2 -3
- data/README.adoc +456 -179
- data/Rakefile +100 -0
- data/TODO.roadmap/00-architecture.md +139 -0
- data/TODO.roadmap/01-autoload-migration.md +39 -0
- data/TODO.roadmap/02-isolate-dormant-code.md +51 -0
- data/TODO.roadmap/03-domain-model.md +66 -0
- data/TODO.roadmap/04-lexer.md +40 -0
- data/TODO.roadmap/05-parser.md +43 -0
- data/TODO.roadmap/06-graphics-state.md +45 -0
- data/TODO.roadmap/07-matrix-and-color.md +37 -0
- data/TODO.roadmap/08-svg-builder.md +51 -0
- data/TODO.roadmap/09-renderer.md +52 -0
- data/TODO.roadmap/10-visitor.md +58 -0
- data/TODO.roadmap/11-operator-coverage.md +103 -0
- data/TODO.roadmap/12-svg-domain.md +62 -0
- data/TODO.roadmap/13-translation-handlers.md +69 -0
- data/TODO.roadmap/14-ps-serializer.md +49 -0
- data/TODO.roadmap/15-cli-and-public-api.md +47 -0
- data/TODO.roadmap/16-specs.md +84 -0
- data/TODO.roadmap/17-docs-sync.md +47 -0
- data/TODO.roadmap/18-performance-and-determinism.md +47 -0
- data/TODO.roadmap/19-error-model.md +45 -0
- data/TODO.roadmap/20-font-and-text.md +46 -0
- data/TODO.roadmap/21-images.md +45 -0
- data/TODO.roadmap/22-forms-and-resources.md +25 -0
- data/TODO.roadmap/23-level2-level3.md +52 -0
- data/TODO.roadmap/24-ci-and-release.md +42 -0
- data/TODO.roadmap/README.md +77 -0
- data/docs/.gitignore +29 -0
- data/docs/CHANGELOG.md +114 -0
- data/docs/COMPLETE_DOCUMENTATION_STATUS.md +376 -0
- data/docs/DEPLOYMENT.md +456 -0
- data/docs/DEPLOYMENT_INSTRUCTIONS.md +229 -0
- data/docs/DOCUMENTATION_PLAN.md +425 -0
- data/docs/FINAL_SUMMARY.md +657 -0
- data/docs/Gemfile +15 -0
- data/docs/README.md +327 -0
- data/docs/_config.yml +99 -0
- data/docs/advanced-topics.adoc +370 -0
- data/docs/api-reference/colors.adoc +705 -0
- data/docs/api-reference/converter.adoc +699 -0
- data/docs/api-reference/execution-context.adoc +1210 -0
- data/docs/api-reference/graphics-state.adoc +1070 -0
- data/docs/api-reference/interpreter.adoc +810 -0
- data/docs/api-reference/matrix.adoc +1179 -0
- data/docs/api-reference/path-builder.adoc +1284 -0
- data/docs/api-reference/postsvg-module.adoc +388 -0
- data/docs/api-reference/svg-generator.adoc +891 -0
- data/docs/api-reference/tokenizer.adoc +925 -0
- data/docs/api-reference.adoc +221 -0
- data/docs/architecture/command-registry.adoc +1191 -0
- data/docs/architecture/conversion-pipeline.adoc +746 -0
- data/docs/architecture/design-decisions.adoc +999 -0
- data/docs/architecture/generator-stage.adoc +1115 -0
- data/docs/architecture/graphics-state-model.adoc +1089 -0
- data/docs/architecture/interpreter-stage.adoc +1125 -0
- data/docs/architecture/parser-stage.adoc +1051 -0
- data/docs/architecture.adoc +354 -0
- data/docs/cli-reference/batch-command.adoc +616 -0
- data/docs/cli-reference/check-command.adoc +677 -0
- data/docs/cli-reference/cli-options.adoc +802 -0
- data/docs/cli-reference/convert-command.adoc +462 -0
- data/docs/cli-reference/version-command.adoc +296 -0
- data/docs/cli-reference.adoc +317 -0
- data/docs/concepts/conversion-pipeline.adoc +903 -0
- data/docs/concepts/coordinate-systems.adoc +836 -0
- data/docs/concepts/graphics-state.adoc +861 -0
- data/docs/concepts/path-operations.adoc +1076 -0
- data/docs/concepts/postscript-language.adoc +859 -0
- data/docs/concepts/svg-generation.adoc +937 -0
- data/docs/concepts.adoc +198 -0
- data/docs/contributing.adoc +443 -0
- data/docs/development.adoc +420 -0
- data/docs/faq.adoc +493 -0
- data/docs/getting-started/basic-usage.adoc +538 -0
- data/docs/getting-started/common-workflows.adoc +577 -0
- data/docs/getting-started/first-conversion.adoc +492 -0
- data/docs/getting-started/installation.adoc +534 -0
- data/docs/getting-started.adoc +94 -0
- data/docs/index.adoc +248 -0
- data/docs/optimization.adoc +196 -0
- data/docs/ps2svg_compatibility.adoc +149 -0
- data/docs/quick-reference.adoc +453 -0
- data/docs/sitemap.adoc +337 -0
- data/docs/troubleshooting.adoc +486 -0
- data/docs/validation.adoc +772 -0
- data/exe/postsvg +1 -0
- data/lib/postsvg/cli.rb +104 -57
- data/lib/postsvg/color.rb +132 -0
- data/lib/postsvg/errors.rb +68 -3
- data/lib/postsvg/format_number.rb +22 -0
- data/lib/postsvg/graphics_context.rb +80 -0
- data/lib/postsvg/graphics_stack.rb +43 -0
- data/lib/postsvg/model/literals/array.rb +41 -0
- data/lib/postsvg/model/literals/dictionary.rb +34 -0
- data/lib/postsvg/model/literals/hex.rb +37 -0
- data/lib/postsvg/model/literals/name.rb +40 -0
- data/lib/postsvg/model/literals/number.rb +36 -0
- data/lib/postsvg/model/literals/procedure.rb +41 -0
- data/lib/postsvg/model/literals/string.rb +30 -0
- data/lib/postsvg/model/literals.rb +19 -0
- data/lib/postsvg/model/operator.rb +58 -0
- data/lib/postsvg/model/operators/arithmetic.rb +264 -0
- data/lib/postsvg/model/operators/boolean.rb +182 -0
- data/lib/postsvg/model/operators/color.rb +74 -0
- data/lib/postsvg/model/operators/container.rb +186 -0
- data/lib/postsvg/model/operators/control_flow.rb +119 -0
- data/lib/postsvg/model/operators/device.rb +21 -0
- data/lib/postsvg/model/operators/dictionary.rb +118 -0
- data/lib/postsvg/model/operators/font.rb +121 -0
- data/lib/postsvg/model/operators/graphics_state.rb +84 -0
- data/lib/postsvg/model/operators/painting.rb +29 -0
- data/lib/postsvg/model/operators/path.rb +169 -0
- data/lib/postsvg/model/operators/stack.rb +72 -0
- data/lib/postsvg/model/operators/transformations.rb +103 -0
- data/lib/postsvg/model/operators.rb +89 -0
- data/lib/postsvg/model/program.rb +68 -0
- data/lib/postsvg/model/token.rb +43 -0
- data/lib/postsvg/model.rb +17 -0
- data/lib/postsvg/options.rb +29 -0
- data/lib/postsvg/renderer.rb +85 -0
- data/lib/postsvg/serializer.rb +325 -0
- data/lib/postsvg/source/ast_builder.rb +308 -0
- data/lib/postsvg/source/lexer.rb +322 -0
- data/lib/postsvg/source/operand_stack.rb +55 -0
- data/lib/postsvg/source.rb +21 -0
- data/lib/postsvg/svg/attribute_parser.rb +45 -0
- data/lib/postsvg/svg/clip_path_registry.rb +44 -0
- data/lib/postsvg/svg/document.rb +22 -0
- data/lib/postsvg/svg/element.rb +84 -0
- data/lib/postsvg/svg/elements/circle.rb +36 -0
- data/lib/postsvg/svg/elements/clip_path.rb +26 -0
- data/lib/postsvg/svg/elements/defs.rb +24 -0
- data/lib/postsvg/svg/elements/ellipse.rb +38 -0
- data/lib/postsvg/svg/elements/group.rb +37 -0
- data/lib/postsvg/svg/elements/image.rb +35 -0
- data/lib/postsvg/svg/elements/line.rb +36 -0
- data/lib/postsvg/svg/elements/path.rb +32 -0
- data/lib/postsvg/svg/elements/polygon.rb +12 -0
- data/lib/postsvg/svg/elements/polyline.rb +32 -0
- data/lib/postsvg/svg/elements/rect.rb +44 -0
- data/lib/postsvg/svg/elements/svg.rb +39 -0
- data/lib/postsvg/svg/elements/text.rb +42 -0
- data/lib/postsvg/svg/elements.rb +31 -0
- data/lib/postsvg/svg/paint.rb +34 -0
- data/lib/postsvg/svg/parser.rb +39 -0
- data/lib/postsvg/svg/path_data/command.rb +27 -0
- data/lib/postsvg/svg/path_data/parser.rb +82 -0
- data/lib/postsvg/svg/path_data.rb +17 -0
- data/lib/postsvg/svg/stroke.rb +31 -0
- data/lib/postsvg/svg/transform_list.rb +59 -0
- data/lib/postsvg/svg.rb +22 -0
- data/lib/postsvg/svg_builder.rb +249 -0
- data/lib/postsvg/translation/arc_converter.rb +86 -0
- data/lib/postsvg/translation/bounding_box.rb +59 -0
- data/lib/postsvg/translation/context.rb +34 -0
- data/lib/postsvg/translation/handler_registry.rb +38 -0
- data/lib/postsvg/translation/handlers/circle_handler.rb +28 -0
- data/lib/postsvg/translation/handlers/clip_path_handler.rb +13 -0
- data/lib/postsvg/translation/handlers/defs_handler.rb +15 -0
- data/lib/postsvg/translation/handlers/ellipse_handler.rb +31 -0
- data/lib/postsvg/translation/handlers/group_handler.rb +21 -0
- data/lib/postsvg/translation/handlers/image_handler.rb +20 -0
- data/lib/postsvg/translation/handlers/line_handler.rb +23 -0
- data/lib/postsvg/translation/handlers/open_handler.rb +18 -0
- data/lib/postsvg/translation/handlers/path_handler.rb +356 -0
- data/lib/postsvg/translation/handlers/polygon_handler.rb +33 -0
- data/lib/postsvg/translation/handlers/polyline_handler.rb +31 -0
- data/lib/postsvg/translation/handlers/rect_handler.rb +27 -0
- data/lib/postsvg/translation/handlers/shared.rb +110 -0
- data/lib/postsvg/translation/handlers/svg_handler.rb +25 -0
- data/lib/postsvg/translation/handlers/text_handler.rb +56 -0
- data/lib/postsvg/translation/handlers.rb +25 -0
- data/lib/postsvg/translation/ps_renderer.rb +105 -0
- data/lib/postsvg/translation/record_emitter.rb +35 -0
- data/lib/postsvg/translation.rb +17 -0
- data/lib/postsvg/version.rb +1 -1
- data/lib/postsvg/visitors/ps_visitor/arithmetic.rb +125 -0
- data/lib/postsvg/visitors/ps_visitor/boolean.rb +105 -0
- data/lib/postsvg/visitors/ps_visitor/color.rb +53 -0
- data/lib/postsvg/visitors/ps_visitor/common.rb +66 -0
- data/lib/postsvg/visitors/ps_visitor/container.rb +164 -0
- data/lib/postsvg/visitors/ps_visitor/control_flow.rb +110 -0
- data/lib/postsvg/visitors/ps_visitor/device.rb +20 -0
- data/lib/postsvg/visitors/ps_visitor/dictionary.rb +89 -0
- data/lib/postsvg/visitors/ps_visitor/font.rb +93 -0
- data/lib/postsvg/visitors/ps_visitor/graphics_state.rb +55 -0
- data/lib/postsvg/visitors/ps_visitor/painting.rb +90 -0
- data/lib/postsvg/visitors/ps_visitor/path.rb +112 -0
- data/lib/postsvg/visitors/ps_visitor/stack.rb +47 -0
- data/lib/postsvg/visitors/ps_visitor/transformations.rb +101 -0
- data/lib/postsvg/visitors/ps_visitor.rb +208 -0
- data/lib/postsvg/visitors.rb +9 -0
- data/lib/postsvg.rb +93 -59
- data/lychee.toml +86 -0
- metadata +216 -11
- data/postsvg.gemspec +0 -38
data/docs/README.md
ADDED
|
@@ -0,0 +1,327 @@
|
|
|
1
|
+
# Postsvg Documentation
|
|
2
|
+
|
|
3
|
+
This directory contains the complete documentation for the Postsvg gem, built using Jekyll and the just-the-docs theme with AsciiDoc support.
|
|
4
|
+
|
|
5
|
+
## Quick Start
|
|
6
|
+
|
|
7
|
+
### View Locally
|
|
8
|
+
|
|
9
|
+
```sh
|
|
10
|
+
# Install dependencies
|
|
11
|
+
gem install jekyll jekyll-asciidoc just-the-docs
|
|
12
|
+
|
|
13
|
+
# Serve documentation site
|
|
14
|
+
cd docs
|
|
15
|
+
jekyll serve
|
|
16
|
+
|
|
17
|
+
# Open in browser
|
|
18
|
+
open http://localhost:4000/postsvg
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
### Build Static Site
|
|
22
|
+
|
|
23
|
+
```sh
|
|
24
|
+
cd docs
|
|
25
|
+
jekyll build
|
|
26
|
+
|
|
27
|
+
# Output in _site/ directory
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Documentation Structure
|
|
31
|
+
|
|
32
|
+
### Core Files
|
|
33
|
+
|
|
34
|
+
- **`_config.yml`** - Jekyll configuration with theme and plugin settings
|
|
35
|
+
- **`index.adoc`** - Main documentation homepage and navigation hub
|
|
36
|
+
- **`DOCUMENTATION_PLAN.md`** - Complete documentation roadmap and status
|
|
37
|
+
|
|
38
|
+
### Documentation Topics
|
|
39
|
+
|
|
40
|
+
All documentation follows a hierarchical structure:
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
docs/
|
|
44
|
+
├── index.adoc # Main entry point
|
|
45
|
+
├── getting-started.adoc # Getting Started overview
|
|
46
|
+
├── getting-started/ # Getting Started child topics
|
|
47
|
+
│ ├── installation.adoc
|
|
48
|
+
│ ├── basic-usage.adoc
|
|
49
|
+
│ └── first-conversion.adoc
|
|
50
|
+
├── concepts.adoc # Core Concepts overview
|
|
51
|
+
├── api-reference.adoc # API Reference overview
|
|
52
|
+
├── cli-reference.adoc # CLI Reference overview
|
|
53
|
+
├── architecture.adoc # Architecture overview
|
|
54
|
+
├── advanced-topics.adoc # Advanced Topics overview
|
|
55
|
+
├── development.adoc # Development Guide overview
|
|
56
|
+
├── contributing.adoc # Contributing Guide
|
|
57
|
+
├── troubleshooting.adoc # Troubleshooting Guide
|
|
58
|
+
├── faq.adoc # Frequently Asked Questions
|
|
59
|
+
├── postscript/ # PostScript language docs
|
|
60
|
+
├── validation.adoc # Validation system docs
|
|
61
|
+
└── optimization.adoc # SVG optimization docs
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Documentation Standards
|
|
65
|
+
|
|
66
|
+
### Document Template
|
|
67
|
+
|
|
68
|
+
Every documentation file follows this structure:
|
|
69
|
+
|
|
70
|
+
```adoc
|
|
71
|
+
= Document Title
|
|
72
|
+
:page-nav_order: N
|
|
73
|
+
:page-parent: Parent Topic (if applicable)
|
|
74
|
+
|
|
75
|
+
== Purpose
|
|
76
|
+
|
|
77
|
+
Brief description of what this document covers.
|
|
78
|
+
|
|
79
|
+
== References
|
|
80
|
+
|
|
81
|
+
* link:../index.adoc[Documentation Home]
|
|
82
|
+
* link:related-topic.adoc[Related Topic]
|
|
83
|
+
|
|
84
|
+
== Concepts
|
|
85
|
+
|
|
86
|
+
**Key Term**:: Definition
|
|
87
|
+
|
|
88
|
+
== {Content Sections}
|
|
89
|
+
|
|
90
|
+
Main content with examples and explanations.
|
|
91
|
+
|
|
92
|
+
== Next Steps
|
|
93
|
+
|
|
94
|
+
* Link to follow-up topics
|
|
95
|
+
|
|
96
|
+
== Bibliography
|
|
97
|
+
|
|
98
|
+
* References and resources
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### Key Principles
|
|
102
|
+
|
|
103
|
+
1. **MECE** - Mutually Exclusive, Collectively Exhaustive
|
|
104
|
+
2. **Examples** - Every feature has practical code examples
|
|
105
|
+
3. **Cross-References** - Links between related topics
|
|
106
|
+
4. **Standard Sections** - Purpose, References, Concepts, Bibliography
|
|
107
|
+
5. **Clarity** - Clear, concise, example-driven content
|
|
108
|
+
|
|
109
|
+
## Building for Production
|
|
110
|
+
|
|
111
|
+
### GitHub Pages Deployment
|
|
112
|
+
|
|
113
|
+
The site is configured for deployment to GitHub Pages:
|
|
114
|
+
|
|
115
|
+
```yaml
|
|
116
|
+
# In _config.yml
|
|
117
|
+
url: https://metanorma.github.io
|
|
118
|
+
baseurl: /postsvg
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
To deploy:
|
|
122
|
+
|
|
123
|
+
1. Push changes to `main` branch
|
|
124
|
+
2. Enable GitHub Pages in repository settings
|
|
125
|
+
3. Select source: `main` branch, `/docs` folder
|
|
126
|
+
4. Site will be available at configured URL
|
|
127
|
+
|
|
128
|
+
### Custom Domain
|
|
129
|
+
|
|
130
|
+
To use a custom domain:
|
|
131
|
+
|
|
132
|
+
1. Add `CNAME` file to docs directory:
|
|
133
|
+
```
|
|
134
|
+
docs.postsvg.org
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
2. Update `_config.yml`:
|
|
138
|
+
```yaml
|
|
139
|
+
url: https://docs.postsvg.org
|
|
140
|
+
baseurl: ""
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
3. Configure DNS records for your domain
|
|
144
|
+
|
|
145
|
+
## Contributing to Documentation
|
|
146
|
+
|
|
147
|
+
### Adding New Topics
|
|
148
|
+
|
|
149
|
+
1. **Create file** in appropriate directory
|
|
150
|
+
2. **Follow template** structure (see above)
|
|
151
|
+
3. **Add to parent** topic's navigation
|
|
152
|
+
4. **Test locally** before committing
|
|
153
|
+
5. **Update** `DOCUMENTATION_PLAN.md`
|
|
154
|
+
|
|
155
|
+
### Writing Guidelines
|
|
156
|
+
|
|
157
|
+
**Do:**
|
|
158
|
+
- ✅ Use clear, concise language
|
|
159
|
+
- ✅ Provide code examples
|
|
160
|
+
- ✅ Include "Where" legends for parameters
|
|
161
|
+
- ✅ Cross-reference related topics
|
|
162
|
+
- ✅ Test all code examples
|
|
163
|
+
|
|
164
|
+
**Don't:**
|
|
165
|
+
- ❌ Use jargon without explanation
|
|
166
|
+
- ❌ Create orphan pages (no links to/from)
|
|
167
|
+
- ❌ Leave TODO comments in published docs
|
|
168
|
+
- ❌ Include untested code examples
|
|
169
|
+
|
|
170
|
+
### Code Examples
|
|
171
|
+
|
|
172
|
+
Use proper syntax highlighting:
|
|
173
|
+
|
|
174
|
+
````adoc
|
|
175
|
+
[source,ruby]
|
|
176
|
+
----
|
|
177
|
+
require 'postsvg'
|
|
178
|
+
svg = Postsvg.convert(ps_content)
|
|
179
|
+
----
|
|
180
|
+
````
|
|
181
|
+
|
|
182
|
+
````adoc
|
|
183
|
+
[source,sh]
|
|
184
|
+
----
|
|
185
|
+
postsvg convert input.ps output.svg
|
|
186
|
+
----
|
|
187
|
+
````
|
|
188
|
+
|
|
189
|
+
### Cross-References
|
|
190
|
+
|
|
191
|
+
Link to code with line numbers:
|
|
192
|
+
|
|
193
|
+
```adoc
|
|
194
|
+
[`Postsvg.convert(ps_content)`](../lib/postsvg.rb:13)
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
Link to other docs:
|
|
198
|
+
|
|
199
|
+
```adoc
|
|
200
|
+
link:../api-reference.adoc[API Reference]
|
|
201
|
+
link:installation.adoc[Installation Guide]
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
## Theme Customization
|
|
205
|
+
|
|
206
|
+
### Colors
|
|
207
|
+
|
|
208
|
+
Edit `_config.yml` to change theme colors:
|
|
209
|
+
|
|
210
|
+
```yaml
|
|
211
|
+
color_scheme: light # or dark, or custom
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
### Search
|
|
215
|
+
|
|
216
|
+
Search is enabled by default:
|
|
217
|
+
|
|
218
|
+
```yaml
|
|
219
|
+
search_enabled: true
|
|
220
|
+
search:
|
|
221
|
+
heading_level: 3
|
|
222
|
+
previews: 3
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
### Navigation
|
|
226
|
+
|
|
227
|
+
Control navigation behavior:
|
|
228
|
+
|
|
229
|
+
```yaml
|
|
230
|
+
nav_sort: case_insensitive
|
|
231
|
+
nav_fold: true
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
## Troubleshooting
|
|
235
|
+
|
|
236
|
+
### Jekyll Build Errors
|
|
237
|
+
|
|
238
|
+
**Problem:** `Liquid Exception: No converter found`
|
|
239
|
+
|
|
240
|
+
**Solution:** Ensure `jekyll-asciidoc` is installed:
|
|
241
|
+
```sh
|
|
242
|
+
gem install jekyll-asciidoc
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
**Problem:** `Dependency Error: Unknown tag 'include'`
|
|
246
|
+
|
|
247
|
+
**Solution:** Use correct AsciiDoc include syntax:
|
|
248
|
+
```adoc
|
|
249
|
+
\include::path/to/file.adoc[]
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
### Theme Issues
|
|
253
|
+
|
|
254
|
+
**Problem:** Theme not loading
|
|
255
|
+
|
|
256
|
+
**Solution:** Check `_config.yml` has:
|
|
257
|
+
```yaml
|
|
258
|
+
theme: just-the-docs
|
|
259
|
+
remote_theme: just-the-docs/just-the-docs
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
### AsciiDoc Not Rendering
|
|
263
|
+
|
|
264
|
+
**Problem:** `.adoc` files showing as plain text
|
|
265
|
+
|
|
266
|
+
**Solution:** Ensure `asciidoc` plugin is configured:
|
|
267
|
+
```yaml
|
|
268
|
+
asciidoc: {}
|
|
269
|
+
asciidoctor:
|
|
270
|
+
attributes:
|
|
271
|
+
- idprefix=_
|
|
272
|
+
- source-highlighter=rouge
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
## Documentation Metrics
|
|
276
|
+
|
|
277
|
+
Current status:
|
|
278
|
+
|
|
279
|
+
- **Parent Topics**: 10/10 complete (100%)
|
|
280
|
+
- **Child Topics**: 3/44 created (7%)
|
|
281
|
+
- **Code Examples**: 50+ examples
|
|
282
|
+
- **Cross-References**: 200+ internal links
|
|
283
|
+
- **Total Pages**: 13+ pages
|
|
284
|
+
|
|
285
|
+
## Next Steps
|
|
286
|
+
|
|
287
|
+
Priority child topics to create:
|
|
288
|
+
|
|
289
|
+
1. **Getting Started** (1 remaining):
|
|
290
|
+
- `common-workflows.adoc`
|
|
291
|
+
|
|
292
|
+
2. **API Reference** (9 topics):
|
|
293
|
+
- `postsvg-module.adoc`
|
|
294
|
+
- `converter.adoc`
|
|
295
|
+
- `interpreter.adoc`
|
|
296
|
+
- `execution-context.adoc`
|
|
297
|
+
- `graphics-state.adoc`
|
|
298
|
+
- `svg-generator.adoc`
|
|
299
|
+
- `path-builder.adoc`
|
|
300
|
+
- `matrix.adoc`
|
|
301
|
+
- `colors.adoc`
|
|
302
|
+
|
|
303
|
+
3. **CLI Reference** (5 topics):
|
|
304
|
+
- `convert-command.adoc`
|
|
305
|
+
- `batch-command.adoc`
|
|
306
|
+
- `check-command.adoc`
|
|
307
|
+
- `version-command.adoc`
|
|
308
|
+
- `cli-options.adoc`
|
|
309
|
+
|
|
310
|
+
See `DOCUMENTATION_PLAN.md` for complete roadmap.
|
|
311
|
+
|
|
312
|
+
## Resources
|
|
313
|
+
|
|
314
|
+
- [Just the Docs Theme](https://just-the-docs.com/)
|
|
315
|
+
- [Jekyll Documentation](https://jekyllrb.com/docs/)
|
|
316
|
+
- [AsciiDoc Syntax](https://docs.asciidoctor.org/asciidoc/latest/)
|
|
317
|
+
- [GitHub Pages](https://docs.github.com/en/pages)
|
|
318
|
+
|
|
319
|
+
## License
|
|
320
|
+
|
|
321
|
+
This documentation is part of the Postsvg project and is licensed under the BSD 2-Clause License.
|
|
322
|
+
|
|
323
|
+
## Support
|
|
324
|
+
|
|
325
|
+
For documentation issues:
|
|
326
|
+
- [GitHub Issues](https://github.com/metanorma/postsvg/issues)
|
|
327
|
+
- [Contributing Guide](contributing.adoc)
|
data/docs/_config.yml
ADDED
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# Jekyll configuration for Postsvg documentation
|
|
2
|
+
# Uses Just the Docs theme - https://just-the-docs.com/
|
|
3
|
+
|
|
4
|
+
# Site settings
|
|
5
|
+
title: Postsvg Documentation
|
|
6
|
+
description: Pure Ruby PostScript to SVG converter with comprehensive validation and optimization
|
|
7
|
+
url: https://metanorma.github.io
|
|
8
|
+
baseurl: /postsvg
|
|
9
|
+
|
|
10
|
+
# Theme
|
|
11
|
+
theme: just-the-docs
|
|
12
|
+
remote_theme: just-the-docs/just-the-docs
|
|
13
|
+
|
|
14
|
+
# AsciiDoc support
|
|
15
|
+
asciidoc: {}
|
|
16
|
+
asciidoctor:
|
|
17
|
+
attributes:
|
|
18
|
+
- idprefix=_
|
|
19
|
+
- source-highlighter=rouge
|
|
20
|
+
- icons=font
|
|
21
|
+
- experimental=''
|
|
22
|
+
- sectanchors=''
|
|
23
|
+
- toc=left
|
|
24
|
+
|
|
25
|
+
# Build settings
|
|
26
|
+
plugins:
|
|
27
|
+
- jekyll-asciidoc
|
|
28
|
+
- jekyll-seo-tag
|
|
29
|
+
|
|
30
|
+
# Just the Docs theme configuration
|
|
31
|
+
search_enabled: true
|
|
32
|
+
search:
|
|
33
|
+
heading_level: 3
|
|
34
|
+
previews: 3
|
|
35
|
+
preview_words_before: 5
|
|
36
|
+
preview_words_after: 10
|
|
37
|
+
tokenizer_separator: /[\s/]+/
|
|
38
|
+
|
|
39
|
+
# Navigation
|
|
40
|
+
nav_sort: case_insensitive
|
|
41
|
+
nav_fold: true
|
|
42
|
+
|
|
43
|
+
# Footer content
|
|
44
|
+
footer_content: 'Copyright © Ribose. Licensed under the <a href="https://opensource.org/licenses/BSD-2-Clause">BSD 2-Clause License</a>.'
|
|
45
|
+
|
|
46
|
+
# Color scheme - use light mode
|
|
47
|
+
color_scheme: light
|
|
48
|
+
|
|
49
|
+
# Logo
|
|
50
|
+
logo: false
|
|
51
|
+
|
|
52
|
+
# Aux links for the upper right navigation
|
|
53
|
+
aux_links:
|
|
54
|
+
"Postsvg on GitHub":
|
|
55
|
+
- "https://github.com/metanorma/postsvg"
|
|
56
|
+
"Report Issue":
|
|
57
|
+
- "https://github.com/metanorma/postsvg/issues"
|
|
58
|
+
"RubyGems":
|
|
59
|
+
- "https://rubygems.org/gems/postsvg"
|
|
60
|
+
|
|
61
|
+
# Aux links configuration
|
|
62
|
+
aux_links_new_tab: true
|
|
63
|
+
|
|
64
|
+
# Heading anchors
|
|
65
|
+
heading_anchors: true
|
|
66
|
+
|
|
67
|
+
# Back to top link
|
|
68
|
+
back_to_top: true
|
|
69
|
+
back_to_top_text: "Back to top"
|
|
70
|
+
|
|
71
|
+
# Collection defaults
|
|
72
|
+
defaults:
|
|
73
|
+
- scope:
|
|
74
|
+
path: ""
|
|
75
|
+
type: "pages"
|
|
76
|
+
values:
|
|
77
|
+
layout: "default"
|
|
78
|
+
nav_exclude: false
|
|
79
|
+
|
|
80
|
+
# Only process AsciiDoc files
|
|
81
|
+
include:
|
|
82
|
+
- "*.adoc"
|
|
83
|
+
|
|
84
|
+
# Exclude everything else
|
|
85
|
+
exclude:
|
|
86
|
+
- Gemfile
|
|
87
|
+
- Gemfile.lock
|
|
88
|
+
- node_modules
|
|
89
|
+
- vendor
|
|
90
|
+
- README.md
|
|
91
|
+
- .sass-cache
|
|
92
|
+
- .jekyll-cache
|
|
93
|
+
- .jekyll-metadata
|
|
94
|
+
|
|
95
|
+
# Set permalink structure
|
|
96
|
+
permalink: pretty
|
|
97
|
+
|
|
98
|
+
# Note: When running from docs/ directory, do not set source
|
|
99
|
+
# When running from project root, use: source: docs
|