docyard 0.8.0 → 1.0.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 (189) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +67 -1
  3. data/README.md +8 -253
  4. data/exe/docyard +6 -0
  5. data/lib/docyard/build/asset_bundler.rb +2 -2
  6. data/lib/docyard/build/file_copier.rb +12 -5
  7. data/lib/docyard/build/llms_txt_generator.rb +103 -0
  8. data/lib/docyard/build/sitemap_generator.rb +1 -1
  9. data/lib/docyard/build/static_generator.rb +115 -79
  10. data/lib/docyard/builder.rb +6 -2
  11. data/lib/docyard/cli.rb +14 -4
  12. data/lib/docyard/components/aliases.rb +12 -0
  13. data/lib/docyard/components/processors/abbreviation_processor.rb +72 -0
  14. data/lib/docyard/components/processors/accordion_processor.rb +81 -0
  15. data/lib/docyard/components/processors/badge_processor.rb +72 -0
  16. data/lib/docyard/components/processors/callout_processor.rb +9 -3
  17. data/lib/docyard/components/processors/cards_processor.rb +100 -0
  18. data/lib/docyard/components/processors/code_block_extended_fence_postprocessor.rb +24 -0
  19. data/lib/docyard/components/processors/code_block_extended_fence_preprocessor.rb +44 -0
  20. data/lib/docyard/components/processors/code_block_options_preprocessor.rb +34 -3
  21. data/lib/docyard/components/processors/code_block_processor.rb +11 -24
  22. data/lib/docyard/components/processors/code_group_processor.rb +182 -0
  23. data/lib/docyard/components/processors/code_snippet_import_preprocessor.rb +7 -1
  24. data/lib/docyard/components/processors/custom_anchor_processor.rb +42 -0
  25. data/lib/docyard/components/processors/file_tree_processor.rb +150 -0
  26. data/lib/docyard/components/processors/icon_processor.rb +8 -2
  27. data/lib/docyard/components/processors/image_caption_processor.rb +96 -0
  28. data/lib/docyard/components/processors/include_processor.rb +86 -0
  29. data/lib/docyard/components/processors/steps_processor.rb +89 -0
  30. data/lib/docyard/components/processors/tabs_processor.rb +9 -1
  31. data/lib/docyard/components/processors/tooltip_processor.rb +57 -0
  32. data/lib/docyard/components/processors/video_embed_processor.rb +207 -0
  33. data/lib/docyard/components/support/code_block/feature_extractor.rb +3 -1
  34. data/lib/docyard/components/support/code_block/icon_detector.rb +5 -12
  35. data/lib/docyard/components/support/code_block/line_number_resolver.rb +30 -0
  36. data/lib/docyard/components/support/code_detector.rb +2 -12
  37. data/lib/docyard/components/support/code_group/html_builder.rb +118 -0
  38. data/lib/docyard/components/support/markdown_code_block_helper.rb +56 -0
  39. data/lib/docyard/components/support/tabs/icon_detector.rb +6 -2
  40. data/lib/docyard/components/support/tabs/parser.rb +6 -23
  41. data/lib/docyard/config/analytics_resolver.rb +24 -0
  42. data/lib/docyard/config/branding_resolver.rb +84 -58
  43. data/lib/docyard/config/key_validator.rb +30 -0
  44. data/lib/docyard/config/logo_detector.rb +39 -0
  45. data/lib/docyard/config/schema.rb +39 -0
  46. data/lib/docyard/config/section.rb +21 -0
  47. data/lib/docyard/config/validation_helpers.rb +83 -0
  48. data/lib/docyard/config/validator.rb +45 -144
  49. data/lib/docyard/config/validators/navigation.rb +43 -0
  50. data/lib/docyard/config/validators/section.rb +114 -0
  51. data/lib/docyard/config.rb +45 -96
  52. data/lib/docyard/constants.rb +59 -0
  53. data/lib/docyard/{utils/errors.rb → errors.rb} +6 -0
  54. data/lib/docyard/initializer.rb +100 -49
  55. data/lib/docyard/navigation/page_navigation_builder.rb +65 -0
  56. data/lib/docyard/navigation/sidebar/auto_builder.rb +107 -0
  57. data/lib/docyard/navigation/sidebar/cache.rb +96 -0
  58. data/lib/docyard/navigation/sidebar/config_builder.rb +179 -0
  59. data/lib/docyard/navigation/sidebar/distributed_builder.rb +145 -0
  60. data/lib/docyard/navigation/sidebar/item.rb +6 -1
  61. data/lib/docyard/navigation/sidebar/local_config_loader.rb +69 -3
  62. data/lib/docyard/navigation/sidebar/renderer.rb +18 -3
  63. data/lib/docyard/navigation/sidebar_builder.rb +43 -81
  64. data/lib/docyard/rendering/branding_variables.rb +65 -0
  65. data/lib/docyard/rendering/icon_helpers.rb +14 -1
  66. data/lib/docyard/rendering/icons/devicons.rb +63 -0
  67. data/lib/docyard/rendering/icons.rb +26 -27
  68. data/lib/docyard/rendering/markdown.rb +20 -15
  69. data/lib/docyard/rendering/og_helpers.rb +36 -0
  70. data/lib/docyard/rendering/renderer.rb +87 -58
  71. data/lib/docyard/rendering/template_resolver.rb +14 -0
  72. data/lib/docyard/routing/fallback_resolver.rb +3 -3
  73. data/lib/docyard/search/build_indexer.rb +2 -2
  74. data/lib/docyard/search/dev_indexer.rb +36 -28
  75. data/lib/docyard/search/pagefind_support.rb +1 -1
  76. data/lib/docyard/server/asset_handler.rb +40 -15
  77. data/lib/docyard/server/dev_server.rb +90 -55
  78. data/lib/docyard/server/file_watcher.rb +68 -18
  79. data/lib/docyard/server/pagefind_handler.rb +1 -1
  80. data/lib/docyard/server/preview_server.rb +29 -33
  81. data/lib/docyard/server/rack_application.rb +38 -70
  82. data/lib/docyard/server/router.rb +11 -7
  83. data/lib/docyard/server/sse_server.rb +157 -0
  84. data/lib/docyard/server/static_file_app.rb +42 -0
  85. data/lib/docyard/templates/assets/css/components/abbreviation.css +86 -0
  86. data/lib/docyard/templates/assets/css/components/accordion.css +138 -0
  87. data/lib/docyard/templates/assets/css/components/badges.css +47 -0
  88. data/lib/docyard/templates/assets/css/components/banner.css +233 -0
  89. data/lib/docyard/templates/assets/css/components/breadcrumbs.css +2 -1
  90. data/lib/docyard/templates/assets/css/components/callout.css +26 -6
  91. data/lib/docyard/templates/assets/css/components/cards.css +100 -0
  92. data/lib/docyard/templates/assets/css/components/code-block.css +14 -2
  93. data/lib/docyard/templates/assets/css/components/code-group.css +294 -0
  94. data/lib/docyard/templates/assets/css/components/feedback.css +126 -0
  95. data/lib/docyard/templates/assets/css/components/figure.css +22 -0
  96. data/lib/docyard/templates/assets/css/components/file-tree.css +125 -0
  97. data/lib/docyard/templates/assets/css/components/heading-anchor.css +21 -13
  98. data/lib/docyard/templates/assets/css/components/icon.css +5 -0
  99. data/lib/docyard/templates/assets/css/components/lightbox.css +65 -0
  100. data/lib/docyard/templates/assets/css/components/nav-menu.css +20 -4
  101. data/lib/docyard/templates/assets/css/components/navigation.css +32 -3
  102. data/lib/docyard/templates/assets/css/components/page-actions.css +131 -0
  103. data/lib/docyard/templates/assets/css/components/prev-next.css +20 -22
  104. data/lib/docyard/templates/assets/css/components/search.css +6 -10
  105. data/lib/docyard/templates/assets/css/components/steps.css +122 -0
  106. data/lib/docyard/templates/assets/css/components/tab-bar.css +7 -4
  107. data/lib/docyard/templates/assets/css/components/table-of-contents.css +57 -11
  108. data/lib/docyard/templates/assets/css/components/tabs.css +13 -5
  109. data/lib/docyard/templates/assets/css/components/theme-toggle.css +3 -1
  110. data/lib/docyard/templates/assets/css/components/tooltip.css +113 -0
  111. data/lib/docyard/templates/assets/css/components/video.css +41 -0
  112. data/lib/docyard/templates/assets/css/landing.css +82 -13
  113. data/lib/docyard/templates/assets/css/layout.css +17 -0
  114. data/lib/docyard/templates/assets/css/markdown.css +25 -3
  115. data/lib/docyard/templates/assets/css/variables.css +13 -1
  116. data/lib/docyard/templates/assets/js/components/abbreviation.js +85 -0
  117. data/lib/docyard/templates/assets/js/components/banner.js +81 -0
  118. data/lib/docyard/templates/assets/js/components/code-group.js +286 -0
  119. data/lib/docyard/templates/assets/js/components/copy-page.js +115 -0
  120. data/lib/docyard/templates/assets/js/components/feedback.js +66 -0
  121. data/lib/docyard/templates/assets/js/components/file-tree.js +39 -0
  122. data/lib/docyard/templates/assets/js/components/lightbox.js +72 -0
  123. data/lib/docyard/templates/assets/js/components/navigation.js +3 -3
  124. data/lib/docyard/templates/assets/js/components/search.js +3 -3
  125. data/lib/docyard/templates/assets/js/components/table-of-contents.js +12 -6
  126. data/lib/docyard/templates/assets/js/components/tabs.js +45 -22
  127. data/lib/docyard/templates/assets/js/components/tooltip.js +118 -0
  128. data/lib/docyard/templates/assets/js/hot-reload.js +44 -0
  129. data/lib/docyard/templates/errors/404.html.erb +114 -5
  130. data/lib/docyard/templates/errors/500.html.erb +173 -10
  131. data/lib/docyard/templates/init/_sidebar.yml +36 -0
  132. data/lib/docyard/templates/init/docyard.yml +36 -0
  133. data/lib/docyard/templates/init/pages/components.md +146 -0
  134. data/lib/docyard/templates/init/pages/getting-started.md +94 -0
  135. data/lib/docyard/templates/init/pages/index.md +22 -0
  136. data/lib/docyard/templates/layouts/default.html.erb +11 -0
  137. data/lib/docyard/templates/layouts/splash.html.erb +15 -1
  138. data/lib/docyard/templates/partials/_accordion.html.erb +9 -0
  139. data/lib/docyard/templates/partials/_analytics.html.erb +24 -0
  140. data/lib/docyard/templates/partials/_banner.html.erb +27 -0
  141. data/lib/docyard/templates/partials/_card.html.erb +23 -0
  142. data/lib/docyard/templates/partials/_code_block.html.erb +1 -1
  143. data/lib/docyard/templates/partials/_feedback.html.erb +14 -0
  144. data/lib/docyard/templates/partials/_footer.html.erb +1 -1
  145. data/lib/docyard/templates/partials/_head.html.erb +79 -4
  146. data/lib/docyard/templates/partials/_icon_library.html.erb +8 -0
  147. data/lib/docyard/templates/partials/_nav_group.html.erb +6 -0
  148. data/lib/docyard/templates/partials/_nav_leaf.html.erb +3 -0
  149. data/lib/docyard/templates/partials/_page_actions.html.erb +21 -0
  150. data/lib/docyard/templates/partials/_scripts.html.erb +6 -3
  151. data/lib/docyard/templates/partials/_step.html.erb +14 -0
  152. data/lib/docyard/templates/partials/_tabs.html.erb +4 -1
  153. data/lib/docyard/utils/git_info.rb +157 -0
  154. data/lib/docyard/utils/hash_utils.rb +31 -0
  155. data/lib/docyard/utils/html_helpers.rb +8 -0
  156. data/lib/docyard/utils/logging.rb +44 -3
  157. data/lib/docyard/utils/path_resolver.rb +0 -10
  158. data/lib/docyard/utils/path_utils.rb +73 -0
  159. data/lib/docyard/version.rb +1 -1
  160. data/lib/docyard.rb +2 -2
  161. metadata +114 -47
  162. data/.github/ISSUE_TEMPLATE/bug_report.md +0 -31
  163. data/.github/ISSUE_TEMPLATE/feature_request.md +0 -19
  164. data/.github/pull_request_template.md +0 -14
  165. data/.github/workflows/ci.yml +0 -49
  166. data/.rubocop.yml +0 -42
  167. data/CODE_OF_CONDUCT.md +0 -132
  168. data/CONTRIBUTING.md +0 -55
  169. data/LICENSE.vscode-icons +0 -42
  170. data/Rakefile +0 -8
  171. data/lib/docyard/config/constants.rb +0 -31
  172. data/lib/docyard/navigation/sidebar/children_discoverer.rb +0 -51
  173. data/lib/docyard/navigation/sidebar/config_parser.rb +0 -208
  174. data/lib/docyard/navigation/sidebar/file_resolver.rb +0 -78
  175. data/lib/docyard/navigation/sidebar/file_system_scanner.rb +0 -78
  176. data/lib/docyard/navigation/sidebar/metadata_extractor.rb +0 -69
  177. data/lib/docyard/navigation/sidebar/metadata_reader.rb +0 -47
  178. data/lib/docyard/navigation/sidebar/path_prefixer.rb +0 -34
  179. data/lib/docyard/navigation/sidebar/sorter.rb +0 -21
  180. data/lib/docyard/navigation/sidebar/title_extractor.rb +0 -25
  181. data/lib/docyard/navigation/sidebar/tree_builder.rb +0 -139
  182. data/lib/docyard/rendering/icons/LICENSE.phosphor +0 -21
  183. data/lib/docyard/rendering/icons/file_types.rb +0 -79
  184. data/lib/docyard/rendering/icons/phosphor.rb +0 -90
  185. data/lib/docyard/rendering/language_mapping.rb +0 -52
  186. data/lib/docyard/templates/assets/js/reload.js +0 -98
  187. data/lib/docyard/templates/partials/_icon.html.erb +0 -1
  188. data/lib/docyard/templates/partials/_icon_file_extension.html.erb +0 -1
  189. data/sig/docyard.rbs +0 -4
metadata CHANGED
@@ -1,13 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: docyard
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sanif Himani
8
+ autorequire:
8
9
  bindir: exe
9
10
  cert_chain: []
10
- date: 1980-01-02 00:00:00.000000000 Z
11
+ date: 2026-01-22 00:00:00.000000000 Z
11
12
  dependencies:
12
13
  - !ruby/object:Gem::Dependency
13
14
  name: cssminify
@@ -79,6 +80,34 @@ dependencies:
79
80
  - - "~>"
80
81
  - !ruby/object:Gem::Version
81
82
  version: '1.6'
83
+ - !ruby/object:Gem::Dependency
84
+ name: parallel
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '1.26'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '1.26'
97
+ - !ruby/object:Gem::Dependency
98
+ name: puma
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '7.0'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '7.0'
82
111
  - !ruby/object:Gem::Dependency
83
112
  name: rack
84
113
  requirement: !ruby/object:Gem::Requirement
@@ -149,98 +178,98 @@ dependencies:
149
178
  - - "~>"
150
179
  - !ruby/object:Gem::Version
151
180
  version: '0.18'
152
- - !ruby/object:Gem::Dependency
153
- name: webrick
154
- requirement: !ruby/object:Gem::Requirement
155
- requirements:
156
- - - "~>"
157
- - !ruby/object:Gem::Version
158
- version: '1.0'
159
- type: :runtime
160
- prerelease: false
161
- version_requirements: !ruby/object:Gem::Requirement
162
- requirements:
163
- - - "~>"
164
- - !ruby/object:Gem::Version
165
- version: '1.0'
166
181
  description: Beautiful, zero-config documentation sites. Built with Ruby.
167
182
  email:
168
183
  - sanifhimani92@gmail.com
169
- executables: []
184
+ executables:
185
+ - docyard
170
186
  extensions: []
171
187
  extra_rdoc_files: []
172
188
  files:
173
- - ".github/ISSUE_TEMPLATE/bug_report.md"
174
- - ".github/ISSUE_TEMPLATE/feature_request.md"
175
- - ".github/pull_request_template.md"
176
- - ".github/workflows/ci.yml"
177
- - ".rubocop.yml"
178
189
  - CHANGELOG.md
179
- - CODE_OF_CONDUCT.md
180
- - CONTRIBUTING.md
181
190
  - LICENSE.txt
182
- - LICENSE.vscode-icons
183
191
  - README.md
184
- - Rakefile
192
+ - exe/docyard
185
193
  - lib/docyard.rb
186
194
  - lib/docyard/build/asset_bundler.rb
187
195
  - lib/docyard/build/file_copier.rb
196
+ - lib/docyard/build/llms_txt_generator.rb
188
197
  - lib/docyard/build/sitemap_generator.rb
189
198
  - lib/docyard/build/static_generator.rb
190
199
  - lib/docyard/builder.rb
191
200
  - lib/docyard/cli.rb
192
201
  - lib/docyard/components/aliases.rb
193
202
  - lib/docyard/components/base_processor.rb
203
+ - lib/docyard/components/processors/abbreviation_processor.rb
204
+ - lib/docyard/components/processors/accordion_processor.rb
205
+ - lib/docyard/components/processors/badge_processor.rb
194
206
  - lib/docyard/components/processors/callout_processor.rb
207
+ - lib/docyard/components/processors/cards_processor.rb
195
208
  - lib/docyard/components/processors/code_block_diff_preprocessor.rb
209
+ - lib/docyard/components/processors/code_block_extended_fence_postprocessor.rb
210
+ - lib/docyard/components/processors/code_block_extended_fence_preprocessor.rb
196
211
  - lib/docyard/components/processors/code_block_focus_preprocessor.rb
197
212
  - lib/docyard/components/processors/code_block_options_preprocessor.rb
198
213
  - lib/docyard/components/processors/code_block_processor.rb
214
+ - lib/docyard/components/processors/code_group_processor.rb
199
215
  - lib/docyard/components/processors/code_snippet_import_preprocessor.rb
216
+ - lib/docyard/components/processors/custom_anchor_processor.rb
217
+ - lib/docyard/components/processors/file_tree_processor.rb
200
218
  - lib/docyard/components/processors/heading_anchor_processor.rb
201
219
  - lib/docyard/components/processors/icon_processor.rb
220
+ - lib/docyard/components/processors/image_caption_processor.rb
221
+ - lib/docyard/components/processors/include_processor.rb
222
+ - lib/docyard/components/processors/steps_processor.rb
202
223
  - lib/docyard/components/processors/table_of_contents_processor.rb
203
224
  - lib/docyard/components/processors/table_wrapper_processor.rb
204
225
  - lib/docyard/components/processors/tabs_processor.rb
226
+ - lib/docyard/components/processors/tooltip_processor.rb
227
+ - lib/docyard/components/processors/video_embed_processor.rb
205
228
  - lib/docyard/components/registry.rb
206
229
  - lib/docyard/components/support/code_block/feature_extractor.rb
207
230
  - lib/docyard/components/support/code_block/icon_detector.rb
231
+ - lib/docyard/components/support/code_block/line_number_resolver.rb
208
232
  - lib/docyard/components/support/code_block/line_parser.rb
209
233
  - lib/docyard/components/support/code_block/line_wrapper.rb
210
234
  - lib/docyard/components/support/code_block/patterns.rb
211
235
  - lib/docyard/components/support/code_detector.rb
236
+ - lib/docyard/components/support/code_group/html_builder.rb
237
+ - lib/docyard/components/support/markdown_code_block_helper.rb
212
238
  - lib/docyard/components/support/tabs/icon_detector.rb
213
239
  - lib/docyard/components/support/tabs/parser.rb
214
240
  - lib/docyard/components/support/tabs/range_finder.rb
215
241
  - lib/docyard/config.rb
242
+ - lib/docyard/config/analytics_resolver.rb
216
243
  - lib/docyard/config/branding_resolver.rb
217
- - lib/docyard/config/constants.rb
244
+ - lib/docyard/config/key_validator.rb
245
+ - lib/docyard/config/logo_detector.rb
246
+ - lib/docyard/config/schema.rb
247
+ - lib/docyard/config/section.rb
248
+ - lib/docyard/config/validation_helpers.rb
218
249
  - lib/docyard/config/validator.rb
250
+ - lib/docyard/config/validators/navigation.rb
251
+ - lib/docyard/config/validators/section.rb
252
+ - lib/docyard/constants.rb
253
+ - lib/docyard/errors.rb
219
254
  - lib/docyard/initializer.rb
220
255
  - lib/docyard/navigation/breadcrumb_builder.rb
256
+ - lib/docyard/navigation/page_navigation_builder.rb
221
257
  - lib/docyard/navigation/prev_next_builder.rb
222
- - lib/docyard/navigation/sidebar/children_discoverer.rb
223
- - lib/docyard/navigation/sidebar/config_parser.rb
224
- - lib/docyard/navigation/sidebar/file_resolver.rb
225
- - lib/docyard/navigation/sidebar/file_system_scanner.rb
258
+ - lib/docyard/navigation/sidebar/auto_builder.rb
259
+ - lib/docyard/navigation/sidebar/cache.rb
260
+ - lib/docyard/navigation/sidebar/config_builder.rb
261
+ - lib/docyard/navigation/sidebar/distributed_builder.rb
226
262
  - lib/docyard/navigation/sidebar/item.rb
227
263
  - lib/docyard/navigation/sidebar/local_config_loader.rb
228
- - lib/docyard/navigation/sidebar/metadata_extractor.rb
229
- - lib/docyard/navigation/sidebar/metadata_reader.rb
230
- - lib/docyard/navigation/sidebar/path_prefixer.rb
231
264
  - lib/docyard/navigation/sidebar/renderer.rb
232
- - lib/docyard/navigation/sidebar/sorter.rb
233
- - lib/docyard/navigation/sidebar/title_extractor.rb
234
- - lib/docyard/navigation/sidebar/tree_builder.rb
235
265
  - lib/docyard/navigation/sidebar/tree_filter.rb
236
266
  - lib/docyard/navigation/sidebar_builder.rb
267
+ - lib/docyard/rendering/branding_variables.rb
237
268
  - lib/docyard/rendering/icon_helpers.rb
238
269
  - lib/docyard/rendering/icons.rb
239
- - lib/docyard/rendering/icons/LICENSE.phosphor
240
- - lib/docyard/rendering/icons/file_types.rb
241
- - lib/docyard/rendering/icons/phosphor.rb
242
- - lib/docyard/rendering/language_mapping.rb
270
+ - lib/docyard/rendering/icons/devicons.rb
243
271
  - lib/docyard/rendering/markdown.rb
272
+ - lib/docyard/rendering/og_helpers.rb
244
273
  - lib/docyard/rendering/renderer.rb
245
274
  - lib/docyard/rendering/template_resolver.rb
246
275
  - lib/docyard/routing/fallback_resolver.rb
@@ -255,21 +284,37 @@ files:
255
284
  - lib/docyard/server/rack_application.rb
256
285
  - lib/docyard/server/resolution_result.rb
257
286
  - lib/docyard/server/router.rb
287
+ - lib/docyard/server/sse_server.rb
288
+ - lib/docyard/server/static_file_app.rb
258
289
  - lib/docyard/templates/assets/css/code.css
290
+ - lib/docyard/templates/assets/css/components/abbreviation.css
291
+ - lib/docyard/templates/assets/css/components/accordion.css
292
+ - lib/docyard/templates/assets/css/components/badges.css
293
+ - lib/docyard/templates/assets/css/components/banner.css
259
294
  - lib/docyard/templates/assets/css/components/breadcrumbs.css
260
295
  - lib/docyard/templates/assets/css/components/callout.css
296
+ - lib/docyard/templates/assets/css/components/cards.css
261
297
  - lib/docyard/templates/assets/css/components/code-block.css
298
+ - lib/docyard/templates/assets/css/components/code-group.css
299
+ - lib/docyard/templates/assets/css/components/feedback.css
300
+ - lib/docyard/templates/assets/css/components/figure.css
301
+ - lib/docyard/templates/assets/css/components/file-tree.css
262
302
  - lib/docyard/templates/assets/css/components/heading-anchor.css
263
303
  - lib/docyard/templates/assets/css/components/icon.css
304
+ - lib/docyard/templates/assets/css/components/lightbox.css
264
305
  - lib/docyard/templates/assets/css/components/logo.css
265
306
  - lib/docyard/templates/assets/css/components/nav-menu.css
266
307
  - lib/docyard/templates/assets/css/components/navigation.css
308
+ - lib/docyard/templates/assets/css/components/page-actions.css
267
309
  - lib/docyard/templates/assets/css/components/prev-next.css
268
310
  - lib/docyard/templates/assets/css/components/search.css
311
+ - lib/docyard/templates/assets/css/components/steps.css
269
312
  - lib/docyard/templates/assets/css/components/tab-bar.css
270
313
  - lib/docyard/templates/assets/css/components/table-of-contents.css
271
314
  - lib/docyard/templates/assets/css/components/tabs.css
272
315
  - lib/docyard/templates/assets/css/components/theme-toggle.css
316
+ - lib/docyard/templates/assets/css/components/tooltip.css
317
+ - lib/docyard/templates/assets/css/components/video.css
273
318
  - lib/docyard/templates/assets/css/landing.css
274
319
  - lib/docyard/templates/assets/css/layout.css
275
320
  - lib/docyard/templates/assets/css/main.css
@@ -279,35 +324,52 @@ files:
279
324
  - lib/docyard/templates/assets/css/variables.css
280
325
  - lib/docyard/templates/assets/favicon.svg
281
326
  - lib/docyard/templates/assets/fonts/Inter-Variable.ttf
327
+ - lib/docyard/templates/assets/js/components/abbreviation.js
328
+ - lib/docyard/templates/assets/js/components/banner.js
282
329
  - lib/docyard/templates/assets/js/components/code-block.js
330
+ - lib/docyard/templates/assets/js/components/code-group.js
331
+ - lib/docyard/templates/assets/js/components/copy-page.js
332
+ - lib/docyard/templates/assets/js/components/feedback.js
333
+ - lib/docyard/templates/assets/js/components/file-tree.js
283
334
  - lib/docyard/templates/assets/js/components/heading-anchor.js
335
+ - lib/docyard/templates/assets/js/components/lightbox.js
284
336
  - lib/docyard/templates/assets/js/components/navigation.js
285
337
  - lib/docyard/templates/assets/js/components/search.js
286
338
  - lib/docyard/templates/assets/js/components/sidebar-toggle.js
287
339
  - lib/docyard/templates/assets/js/components/tab-navigation.js
288
340
  - lib/docyard/templates/assets/js/components/table-of-contents.js
289
341
  - lib/docyard/templates/assets/js/components/tabs.js
290
- - lib/docyard/templates/assets/js/reload.js
342
+ - lib/docyard/templates/assets/js/components/tooltip.js
343
+ - lib/docyard/templates/assets/js/hot-reload.js
291
344
  - lib/docyard/templates/assets/js/theme.js
292
345
  - lib/docyard/templates/assets/logo-dark.svg
293
346
  - lib/docyard/templates/assets/logo.svg
294
347
  - lib/docyard/templates/config/docyard.yml.erb
295
348
  - lib/docyard/templates/errors/404.html.erb
296
349
  - lib/docyard/templates/errors/500.html.erb
350
+ - lib/docyard/templates/init/_sidebar.yml
351
+ - lib/docyard/templates/init/docyard.yml
352
+ - lib/docyard/templates/init/pages/components.md
353
+ - lib/docyard/templates/init/pages/getting-started.md
354
+ - lib/docyard/templates/init/pages/index.md
297
355
  - lib/docyard/templates/layouts/default.html.erb
298
356
  - lib/docyard/templates/layouts/splash.html.erb
357
+ - lib/docyard/templates/partials/_accordion.html.erb
358
+ - lib/docyard/templates/partials/_analytics.html.erb
359
+ - lib/docyard/templates/partials/_banner.html.erb
299
360
  - lib/docyard/templates/partials/_breadcrumbs.html.erb
300
361
  - lib/docyard/templates/partials/_callout.html.erb
362
+ - lib/docyard/templates/partials/_card.html.erb
301
363
  - lib/docyard/templates/partials/_code_block.html.erb
302
364
  - lib/docyard/templates/partials/_doc_footer.html.erb
303
365
  - lib/docyard/templates/partials/_features.html.erb
366
+ - lib/docyard/templates/partials/_feedback.html.erb
304
367
  - lib/docyard/templates/partials/_footer.html.erb
305
368
  - lib/docyard/templates/partials/_head.html.erb
306
369
  - lib/docyard/templates/partials/_header.html.erb
307
370
  - lib/docyard/templates/partials/_heading_anchor.html.erb
308
371
  - lib/docyard/templates/partials/_hero.html.erb
309
- - lib/docyard/templates/partials/_icon.html.erb
310
- - lib/docyard/templates/partials/_icon_file_extension.html.erb
372
+ - lib/docyard/templates/partials/_icon_library.html.erb
311
373
  - lib/docyard/templates/partials/_nav_group.html.erb
312
374
  - lib/docyard/templates/partials/_nav_item.html.erb
313
375
  - lib/docyard/templates/partials/_nav_leaf.html.erb
@@ -315,25 +377,28 @@ files:
315
377
  - lib/docyard/templates/partials/_nav_menu.html.erb
316
378
  - lib/docyard/templates/partials/_nav_nested_section.html.erb
317
379
  - lib/docyard/templates/partials/_nav_section.html.erb
380
+ - lib/docyard/templates/partials/_page_actions.html.erb
318
381
  - lib/docyard/templates/partials/_prev_next.html.erb
319
382
  - lib/docyard/templates/partials/_scripts.html.erb
320
383
  - lib/docyard/templates/partials/_search_modal.html.erb
321
384
  - lib/docyard/templates/partials/_search_trigger.html.erb
322
385
  - lib/docyard/templates/partials/_sidebar.html.erb
323
386
  - lib/docyard/templates/partials/_sidebar_footer.html.erb
387
+ - lib/docyard/templates/partials/_step.html.erb
324
388
  - lib/docyard/templates/partials/_tab_bar.html.erb
325
389
  - lib/docyard/templates/partials/_table_of_contents.html.erb
326
390
  - lib/docyard/templates/partials/_table_of_contents_toggle.html.erb
327
391
  - lib/docyard/templates/partials/_tabs.html.erb
328
392
  - lib/docyard/templates/partials/_theme_toggle.html.erb
329
- - lib/docyard/utils/errors.rb
393
+ - lib/docyard/utils/git_info.rb
394
+ - lib/docyard/utils/hash_utils.rb
330
395
  - lib/docyard/utils/html_helpers.rb
331
396
  - lib/docyard/utils/logging.rb
332
397
  - lib/docyard/utils/path_resolver.rb
398
+ - lib/docyard/utils/path_utils.rb
333
399
  - lib/docyard/utils/text_formatter.rb
334
400
  - lib/docyard/utils/url_helpers.rb
335
401
  - lib/docyard/version.rb
336
- - sig/docyard.rbs
337
402
  homepage: https://github.com/sanifhimani/docyard
338
403
  licenses:
339
404
  - MIT
@@ -342,6 +407,7 @@ metadata:
342
407
  homepage_uri: https://github.com/sanifhimani/docyard
343
408
  source_code_uri: https://github.com/sanifhimani/docyard
344
409
  rubygems_mfa_required: 'true'
410
+ post_install_message:
345
411
  rdoc_options: []
346
412
  require_paths:
347
413
  - lib
@@ -356,7 +422,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
356
422
  - !ruby/object:Gem::Version
357
423
  version: '0'
358
424
  requirements: []
359
- rubygems_version: 3.7.2
425
+ rubygems_version: 3.5.22
426
+ signing_key:
360
427
  specification_version: 4
361
428
  summary: Documentation generator for Ruby
362
429
  test_files: []
@@ -1,31 +0,0 @@
1
- ---
2
- name: Bug Report
3
- about: Report a bug
4
- title: ''
5
- labels: bug
6
- assignees: ''
7
- ---
8
-
9
- ## Description
10
-
11
- <!-- Clear description of the bug -->
12
-
13
- ## Steps to Reproduce
14
-
15
- 1.
16
- 2.
17
- 3.
18
-
19
- ## Expected Behavior
20
-
21
- <!-- What should happen -->
22
-
23
- ## Actual Behavior
24
-
25
- <!-- What actually happens -->
26
-
27
- ## Environment
28
-
29
- - Ruby version: <!-- `ruby -v` -->
30
- - Docyard version: <!-- `gem list docyard` -->
31
- - OS: <!-- macOS, Linux, etc. -->
@@ -1,19 +0,0 @@
1
- ---
2
- name: Feature Request
3
- about: Suggest a feature
4
- title: ''
5
- labels: enhancement
6
- assignees: ''
7
- ---
8
-
9
- ## Description
10
-
11
- <!-- What feature would you like? -->
12
-
13
- ## Use Case
14
-
15
- <!-- Why is this useful? When would you use it? -->
16
-
17
- ## Implementation Ideas
18
-
19
- <!-- Optional: How might this work? -->
@@ -1,14 +0,0 @@
1
- ## Description
2
-
3
- <!-- What does this PR do? -->
4
-
5
- ## Changes
6
-
7
- -
8
- -
9
-
10
- ## Checklist
11
-
12
- - [ ] Tests added/updated
13
- - [ ] CHANGELOG.md updated
14
- - [ ] README.md updated (if needed)
@@ -1,49 +0,0 @@
1
- name: CI
2
-
3
- on:
4
- push:
5
- branches: [main]
6
- pull_request:
7
- branches: [main]
8
-
9
- jobs:
10
- test:
11
- name: Ruby ${{ matrix.ruby }} - Test
12
- runs-on: ubuntu-latest
13
- strategy:
14
- fail-fast: false
15
- matrix:
16
- ruby: ['3.2', '3.3', '3.4', 'head']
17
- continue-on-error: ${{ matrix.ruby == 'head' }}
18
-
19
- steps:
20
- - name: Checkout code
21
- uses: actions/checkout@v4
22
-
23
- - name: Set up Ruby
24
- uses: ruby/setup-ruby@v1
25
- with:
26
- ruby-version: ${{ matrix.ruby }}
27
- bundler-cache: true
28
-
29
- - name: Run tests
30
- run: bundle exec rspec
31
- env:
32
- RUBYOPT: '-W0'
33
-
34
- lint:
35
- name: Rubocop
36
- runs-on: ubuntu-latest
37
-
38
- steps:
39
- - name: Checkout code
40
- uses: actions/checkout@v4
41
-
42
- - name: Set up Ruby
43
- uses: ruby/setup-ruby@v1
44
- with:
45
- ruby-version: '3.3'
46
- bundler-cache: true
47
-
48
- - name: Run rubocop
49
- run: bundle exec rubocop
data/.rubocop.yml DELETED
@@ -1,42 +0,0 @@
1
- plugins:
2
- - rubocop-rspec
3
- - rubocop-rake
4
-
5
- AllCops:
6
- NewCops: enable
7
- TargetRubyVersion: 3.2
8
- Exclude:
9
- - 'vendor/**/*'
10
- - 'spec/fixtures/**/*'
11
- - 'tmp/**/*'
12
-
13
- Metrics/BlockLength:
14
- Exclude:
15
- - 'spec/**/*'
16
- - '*.gemspec'
17
-
18
- RSpec/ExampleLength:
19
- Max: 15
20
-
21
- Metrics/ClassLength:
22
- Max: 150
23
-
24
- Metrics/MethodLength:
25
- Max: 16
26
-
27
- Metrics/ParameterLists:
28
- MaxOptionalParameters: 6
29
- CountKeywordArgs: false
30
-
31
- Style/Documentation:
32
- Enabled: false
33
-
34
- Layout/LineLength:
35
- Max: 120
36
-
37
- Style/StringLiterals:
38
- Enabled: true
39
- EnforcedStyle: double_quotes
40
-
41
- Layout/MultilineMethodCallIndentation:
42
- EnforcedStyle: indented
data/CODE_OF_CONDUCT.md DELETED
@@ -1,132 +0,0 @@
1
- # Contributor Covenant Code of Conduct
2
-
3
- ## Our Pledge
4
-
5
- We as members, contributors, and leaders pledge to make participation in our
6
- community a harassment-free experience for everyone, regardless of age, body
7
- size, visible or invisible disability, ethnicity, sex characteristics, gender
8
- identity and expression, level of experience, education, socio-economic status,
9
- nationality, personal appearance, race, caste, color, religion, or sexual
10
- identity and orientation.
11
-
12
- We pledge to act and interact in ways that contribute to an open, welcoming,
13
- diverse, inclusive, and healthy community.
14
-
15
- ## Our Standards
16
-
17
- Examples of behavior that contributes to a positive environment for our
18
- community include:
19
-
20
- * Demonstrating empathy and kindness toward other people
21
- * Being respectful of differing opinions, viewpoints, and experiences
22
- * Giving and gracefully accepting constructive feedback
23
- * Accepting responsibility and apologizing to those affected by our mistakes,
24
- and learning from the experience
25
- * Focusing on what is best not just for us as individuals, but for the overall
26
- community
27
-
28
- Examples of unacceptable behavior include:
29
-
30
- * The use of sexualized language or imagery, and sexual attention or advances of
31
- any kind
32
- * Trolling, insulting or derogatory comments, and personal or political attacks
33
- * Public or private harassment
34
- * Publishing others' private information, such as a physical or email address,
35
- without their explicit permission
36
- * Other conduct which could reasonably be considered inappropriate in a
37
- professional setting
38
-
39
- ## Enforcement Responsibilities
40
-
41
- Community leaders are responsible for clarifying and enforcing our standards of
42
- acceptable behavior and will take appropriate and fair corrective action in
43
- response to any behavior that they deem inappropriate, threatening, offensive,
44
- or harmful.
45
-
46
- Community leaders have the right and responsibility to remove, edit, or reject
47
- comments, commits, code, wiki edits, issues, and other contributions that are
48
- not aligned to this Code of Conduct, and will communicate reasons for moderation
49
- decisions when appropriate.
50
-
51
- ## Scope
52
-
53
- This Code of Conduct applies within all community spaces, and also applies when
54
- an individual is officially representing the community in public spaces.
55
- Examples of representing our community include using an official email address,
56
- posting via an official social media account, or acting as an appointed
57
- representative at an online or offline event.
58
-
59
- ## Enforcement
60
-
61
- Instances of abusive, harassing, or otherwise unacceptable behavior may be
62
- reported to the community leaders responsible for enforcement at
63
- [INSERT CONTACT METHOD].
64
- All complaints will be reviewed and investigated promptly and fairly.
65
-
66
- All community leaders are obligated to respect the privacy and security of the
67
- reporter of any incident.
68
-
69
- ## Enforcement Guidelines
70
-
71
- Community leaders will follow these Community Impact Guidelines in determining
72
- the consequences for any action they deem in violation of this Code of Conduct:
73
-
74
- ### 1. Correction
75
-
76
- **Community Impact**: Use of inappropriate language or other behavior deemed
77
- unprofessional or unwelcome in the community.
78
-
79
- **Consequence**: A private, written warning from community leaders, providing
80
- clarity around the nature of the violation and an explanation of why the
81
- behavior was inappropriate. A public apology may be requested.
82
-
83
- ### 2. Warning
84
-
85
- **Community Impact**: A violation through a single incident or series of
86
- actions.
87
-
88
- **Consequence**: A warning with consequences for continued behavior. No
89
- interaction with the people involved, including unsolicited interaction with
90
- those enforcing the Code of Conduct, for a specified period of time. This
91
- includes avoiding interactions in community spaces as well as external channels
92
- like social media. Violating these terms may lead to a temporary or permanent
93
- ban.
94
-
95
- ### 3. Temporary Ban
96
-
97
- **Community Impact**: A serious violation of community standards, including
98
- sustained inappropriate behavior.
99
-
100
- **Consequence**: A temporary ban from any sort of interaction or public
101
- communication with the community for a specified period of time. No public or
102
- private interaction with the people involved, including unsolicited interaction
103
- with those enforcing the Code of Conduct, is allowed during this period.
104
- Violating these terms may lead to a permanent ban.
105
-
106
- ### 4. Permanent Ban
107
-
108
- **Community Impact**: Demonstrating a pattern of violation of community
109
- standards, including sustained inappropriate behavior, harassment of an
110
- individual, or aggression toward or disparagement of classes of individuals.
111
-
112
- **Consequence**: A permanent ban from any sort of public interaction within the
113
- community.
114
-
115
- ## Attribution
116
-
117
- This Code of Conduct is adapted from the [Contributor Covenant][homepage],
118
- version 2.1, available at
119
- [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1].
120
-
121
- Community Impact Guidelines were inspired by
122
- [Mozilla's code of conduct enforcement ladder][Mozilla CoC].
123
-
124
- For answers to common questions about this code of conduct, see the FAQ at
125
- [https://www.contributor-covenant.org/faq][FAQ]. Translations are available at
126
- [https://www.contributor-covenant.org/translations][translations].
127
-
128
- [homepage]: https://www.contributor-covenant.org
129
- [v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
130
- [Mozilla CoC]: https://github.com/mozilla/diversity
131
- [FAQ]: https://www.contributor-covenant.org/faq
132
- [translations]: https://www.contributor-covenant.org/translations
data/CONTRIBUTING.md DELETED
@@ -1,55 +0,0 @@
1
- # Contributing
2
-
3
- Thanks for wanting to contribute to Docyard!
4
-
5
- ## Development Setup
6
-
7
- ```bash
8
- git clone https://github.com/YOUR_USERNAME/docyard.git
9
- cd docyard
10
- bundle install
11
-
12
- # Run tests
13
- bundle exec rspec
14
- bundle exec rubocop
15
-
16
- # Test locally
17
- ./bin/docyard init
18
- ./bin/docyard serve
19
- ```
20
-
21
- ## Pull Requests
22
-
23
- 1. Fork the repo and create a branch from `main`
24
- 2. Write tests for new features
25
- 3. Run `bundle exec rspec && bundle exec rubocop`
26
- 4. Update README/CHANGELOG if needed
27
- 5. Use conventional commits: `feat:`, `fix:`, `refactor:`, `docs:`, `test:`
28
-
29
- ## Architecture
30
-
31
- ```
32
- lib/docyard/
33
- cli.rb # CLI
34
- server.rb # Server lifecycle
35
- rack_application.rb # HTTP handling
36
- router.rb # URL → file mapping
37
- renderer.rb # Markdown → HTML
38
- markdown.rb # Parsing
39
- file_watcher.rb # Live reload
40
- asset_handler.rb # Static assets
41
- ```
42
-
43
- ## Code Style
44
-
45
- - Maintain >85% test coverage
46
- - Keep methods focused and readable
47
- - Add tests for new features
48
-
49
- ## Questions?
50
-
51
- Open an issue.
52
-
53
- ---
54
-
55
- Thanks for contributing! 🚀