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.
Files changed (201) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +105 -0
  3. data/CLAUDE.md +173 -0
  4. data/Gemfile +2 -3
  5. data/README.adoc +456 -179
  6. data/Rakefile +100 -0
  7. data/TODO.roadmap/00-architecture.md +139 -0
  8. data/TODO.roadmap/01-autoload-migration.md +39 -0
  9. data/TODO.roadmap/02-isolate-dormant-code.md +51 -0
  10. data/TODO.roadmap/03-domain-model.md +66 -0
  11. data/TODO.roadmap/04-lexer.md +40 -0
  12. data/TODO.roadmap/05-parser.md +43 -0
  13. data/TODO.roadmap/06-graphics-state.md +45 -0
  14. data/TODO.roadmap/07-matrix-and-color.md +37 -0
  15. data/TODO.roadmap/08-svg-builder.md +51 -0
  16. data/TODO.roadmap/09-renderer.md +52 -0
  17. data/TODO.roadmap/10-visitor.md +58 -0
  18. data/TODO.roadmap/11-operator-coverage.md +103 -0
  19. data/TODO.roadmap/12-svg-domain.md +62 -0
  20. data/TODO.roadmap/13-translation-handlers.md +69 -0
  21. data/TODO.roadmap/14-ps-serializer.md +49 -0
  22. data/TODO.roadmap/15-cli-and-public-api.md +47 -0
  23. data/TODO.roadmap/16-specs.md +84 -0
  24. data/TODO.roadmap/17-docs-sync.md +47 -0
  25. data/TODO.roadmap/18-performance-and-determinism.md +47 -0
  26. data/TODO.roadmap/19-error-model.md +45 -0
  27. data/TODO.roadmap/20-font-and-text.md +46 -0
  28. data/TODO.roadmap/21-images.md +45 -0
  29. data/TODO.roadmap/22-forms-and-resources.md +25 -0
  30. data/TODO.roadmap/23-level2-level3.md +52 -0
  31. data/TODO.roadmap/24-ci-and-release.md +42 -0
  32. data/TODO.roadmap/README.md +77 -0
  33. data/docs/.gitignore +29 -0
  34. data/docs/CHANGELOG.md +114 -0
  35. data/docs/COMPLETE_DOCUMENTATION_STATUS.md +376 -0
  36. data/docs/DEPLOYMENT.md +456 -0
  37. data/docs/DEPLOYMENT_INSTRUCTIONS.md +229 -0
  38. data/docs/DOCUMENTATION_PLAN.md +425 -0
  39. data/docs/FINAL_SUMMARY.md +657 -0
  40. data/docs/Gemfile +15 -0
  41. data/docs/README.md +327 -0
  42. data/docs/_config.yml +99 -0
  43. data/docs/advanced-topics.adoc +370 -0
  44. data/docs/api-reference/colors.adoc +705 -0
  45. data/docs/api-reference/converter.adoc +699 -0
  46. data/docs/api-reference/execution-context.adoc +1210 -0
  47. data/docs/api-reference/graphics-state.adoc +1070 -0
  48. data/docs/api-reference/interpreter.adoc +810 -0
  49. data/docs/api-reference/matrix.adoc +1179 -0
  50. data/docs/api-reference/path-builder.adoc +1284 -0
  51. data/docs/api-reference/postsvg-module.adoc +388 -0
  52. data/docs/api-reference/svg-generator.adoc +891 -0
  53. data/docs/api-reference/tokenizer.adoc +925 -0
  54. data/docs/api-reference.adoc +221 -0
  55. data/docs/architecture/command-registry.adoc +1191 -0
  56. data/docs/architecture/conversion-pipeline.adoc +746 -0
  57. data/docs/architecture/design-decisions.adoc +999 -0
  58. data/docs/architecture/generator-stage.adoc +1115 -0
  59. data/docs/architecture/graphics-state-model.adoc +1089 -0
  60. data/docs/architecture/interpreter-stage.adoc +1125 -0
  61. data/docs/architecture/parser-stage.adoc +1051 -0
  62. data/docs/architecture.adoc +354 -0
  63. data/docs/cli-reference/batch-command.adoc +616 -0
  64. data/docs/cli-reference/check-command.adoc +677 -0
  65. data/docs/cli-reference/cli-options.adoc +802 -0
  66. data/docs/cli-reference/convert-command.adoc +462 -0
  67. data/docs/cli-reference/version-command.adoc +296 -0
  68. data/docs/cli-reference.adoc +317 -0
  69. data/docs/concepts/conversion-pipeline.adoc +903 -0
  70. data/docs/concepts/coordinate-systems.adoc +836 -0
  71. data/docs/concepts/graphics-state.adoc +861 -0
  72. data/docs/concepts/path-operations.adoc +1076 -0
  73. data/docs/concepts/postscript-language.adoc +859 -0
  74. data/docs/concepts/svg-generation.adoc +937 -0
  75. data/docs/concepts.adoc +198 -0
  76. data/docs/contributing.adoc +443 -0
  77. data/docs/development.adoc +420 -0
  78. data/docs/faq.adoc +493 -0
  79. data/docs/getting-started/basic-usage.adoc +538 -0
  80. data/docs/getting-started/common-workflows.adoc +577 -0
  81. data/docs/getting-started/first-conversion.adoc +492 -0
  82. data/docs/getting-started/installation.adoc +534 -0
  83. data/docs/getting-started.adoc +94 -0
  84. data/docs/index.adoc +248 -0
  85. data/docs/optimization.adoc +196 -0
  86. data/docs/ps2svg_compatibility.adoc +149 -0
  87. data/docs/quick-reference.adoc +453 -0
  88. data/docs/sitemap.adoc +337 -0
  89. data/docs/troubleshooting.adoc +486 -0
  90. data/docs/validation.adoc +772 -0
  91. data/exe/postsvg +1 -0
  92. data/lib/postsvg/cli.rb +104 -57
  93. data/lib/postsvg/color.rb +132 -0
  94. data/lib/postsvg/errors.rb +68 -3
  95. data/lib/postsvg/format_number.rb +22 -0
  96. data/lib/postsvg/graphics_context.rb +80 -0
  97. data/lib/postsvg/graphics_stack.rb +43 -0
  98. data/lib/postsvg/model/literals/array.rb +41 -0
  99. data/lib/postsvg/model/literals/dictionary.rb +34 -0
  100. data/lib/postsvg/model/literals/hex.rb +37 -0
  101. data/lib/postsvg/model/literals/name.rb +40 -0
  102. data/lib/postsvg/model/literals/number.rb +36 -0
  103. data/lib/postsvg/model/literals/procedure.rb +41 -0
  104. data/lib/postsvg/model/literals/string.rb +30 -0
  105. data/lib/postsvg/model/literals.rb +19 -0
  106. data/lib/postsvg/model/operator.rb +58 -0
  107. data/lib/postsvg/model/operators/arithmetic.rb +264 -0
  108. data/lib/postsvg/model/operators/boolean.rb +182 -0
  109. data/lib/postsvg/model/operators/color.rb +74 -0
  110. data/lib/postsvg/model/operators/container.rb +186 -0
  111. data/lib/postsvg/model/operators/control_flow.rb +119 -0
  112. data/lib/postsvg/model/operators/device.rb +21 -0
  113. data/lib/postsvg/model/operators/dictionary.rb +118 -0
  114. data/lib/postsvg/model/operators/font.rb +121 -0
  115. data/lib/postsvg/model/operators/graphics_state.rb +84 -0
  116. data/lib/postsvg/model/operators/painting.rb +29 -0
  117. data/lib/postsvg/model/operators/path.rb +169 -0
  118. data/lib/postsvg/model/operators/stack.rb +72 -0
  119. data/lib/postsvg/model/operators/transformations.rb +103 -0
  120. data/lib/postsvg/model/operators.rb +89 -0
  121. data/lib/postsvg/model/program.rb +68 -0
  122. data/lib/postsvg/model/token.rb +43 -0
  123. data/lib/postsvg/model.rb +17 -0
  124. data/lib/postsvg/options.rb +29 -0
  125. data/lib/postsvg/renderer.rb +85 -0
  126. data/lib/postsvg/serializer.rb +325 -0
  127. data/lib/postsvg/source/ast_builder.rb +308 -0
  128. data/lib/postsvg/source/lexer.rb +322 -0
  129. data/lib/postsvg/source/operand_stack.rb +55 -0
  130. data/lib/postsvg/source.rb +21 -0
  131. data/lib/postsvg/svg/attribute_parser.rb +45 -0
  132. data/lib/postsvg/svg/clip_path_registry.rb +44 -0
  133. data/lib/postsvg/svg/document.rb +22 -0
  134. data/lib/postsvg/svg/element.rb +84 -0
  135. data/lib/postsvg/svg/elements/circle.rb +36 -0
  136. data/lib/postsvg/svg/elements/clip_path.rb +26 -0
  137. data/lib/postsvg/svg/elements/defs.rb +24 -0
  138. data/lib/postsvg/svg/elements/ellipse.rb +38 -0
  139. data/lib/postsvg/svg/elements/group.rb +37 -0
  140. data/lib/postsvg/svg/elements/image.rb +35 -0
  141. data/lib/postsvg/svg/elements/line.rb +36 -0
  142. data/lib/postsvg/svg/elements/path.rb +32 -0
  143. data/lib/postsvg/svg/elements/polygon.rb +12 -0
  144. data/lib/postsvg/svg/elements/polyline.rb +32 -0
  145. data/lib/postsvg/svg/elements/rect.rb +44 -0
  146. data/lib/postsvg/svg/elements/svg.rb +39 -0
  147. data/lib/postsvg/svg/elements/text.rb +42 -0
  148. data/lib/postsvg/svg/elements.rb +31 -0
  149. data/lib/postsvg/svg/paint.rb +34 -0
  150. data/lib/postsvg/svg/parser.rb +39 -0
  151. data/lib/postsvg/svg/path_data/command.rb +27 -0
  152. data/lib/postsvg/svg/path_data/parser.rb +82 -0
  153. data/lib/postsvg/svg/path_data.rb +17 -0
  154. data/lib/postsvg/svg/stroke.rb +31 -0
  155. data/lib/postsvg/svg/transform_list.rb +59 -0
  156. data/lib/postsvg/svg.rb +22 -0
  157. data/lib/postsvg/svg_builder.rb +249 -0
  158. data/lib/postsvg/translation/arc_converter.rb +86 -0
  159. data/lib/postsvg/translation/bounding_box.rb +59 -0
  160. data/lib/postsvg/translation/context.rb +34 -0
  161. data/lib/postsvg/translation/handler_registry.rb +38 -0
  162. data/lib/postsvg/translation/handlers/circle_handler.rb +28 -0
  163. data/lib/postsvg/translation/handlers/clip_path_handler.rb +13 -0
  164. data/lib/postsvg/translation/handlers/defs_handler.rb +15 -0
  165. data/lib/postsvg/translation/handlers/ellipse_handler.rb +31 -0
  166. data/lib/postsvg/translation/handlers/group_handler.rb +21 -0
  167. data/lib/postsvg/translation/handlers/image_handler.rb +20 -0
  168. data/lib/postsvg/translation/handlers/line_handler.rb +23 -0
  169. data/lib/postsvg/translation/handlers/open_handler.rb +18 -0
  170. data/lib/postsvg/translation/handlers/path_handler.rb +356 -0
  171. data/lib/postsvg/translation/handlers/polygon_handler.rb +33 -0
  172. data/lib/postsvg/translation/handlers/polyline_handler.rb +31 -0
  173. data/lib/postsvg/translation/handlers/rect_handler.rb +27 -0
  174. data/lib/postsvg/translation/handlers/shared.rb +110 -0
  175. data/lib/postsvg/translation/handlers/svg_handler.rb +25 -0
  176. data/lib/postsvg/translation/handlers/text_handler.rb +56 -0
  177. data/lib/postsvg/translation/handlers.rb +25 -0
  178. data/lib/postsvg/translation/ps_renderer.rb +105 -0
  179. data/lib/postsvg/translation/record_emitter.rb +35 -0
  180. data/lib/postsvg/translation.rb +17 -0
  181. data/lib/postsvg/version.rb +1 -1
  182. data/lib/postsvg/visitors/ps_visitor/arithmetic.rb +125 -0
  183. data/lib/postsvg/visitors/ps_visitor/boolean.rb +105 -0
  184. data/lib/postsvg/visitors/ps_visitor/color.rb +53 -0
  185. data/lib/postsvg/visitors/ps_visitor/common.rb +66 -0
  186. data/lib/postsvg/visitors/ps_visitor/container.rb +164 -0
  187. data/lib/postsvg/visitors/ps_visitor/control_flow.rb +110 -0
  188. data/lib/postsvg/visitors/ps_visitor/device.rb +20 -0
  189. data/lib/postsvg/visitors/ps_visitor/dictionary.rb +89 -0
  190. data/lib/postsvg/visitors/ps_visitor/font.rb +93 -0
  191. data/lib/postsvg/visitors/ps_visitor/graphics_state.rb +55 -0
  192. data/lib/postsvg/visitors/ps_visitor/painting.rb +90 -0
  193. data/lib/postsvg/visitors/ps_visitor/path.rb +112 -0
  194. data/lib/postsvg/visitors/ps_visitor/stack.rb +47 -0
  195. data/lib/postsvg/visitors/ps_visitor/transformations.rb +101 -0
  196. data/lib/postsvg/visitors/ps_visitor.rb +208 -0
  197. data/lib/postsvg/visitors.rb +9 -0
  198. data/lib/postsvg.rb +93 -59
  199. data/lychee.toml +86 -0
  200. metadata +216 -11
  201. 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 &copy; 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