docyard 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 (91) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +3 -0
  3. data/CHANGELOG.md +41 -1
  4. data/LICENSE.vscode-icons +42 -0
  5. data/README.md +57 -8
  6. data/lib/docyard/asset_handler.rb +33 -0
  7. data/lib/docyard/components/base_processor.rb +24 -0
  8. data/lib/docyard/components/callout_processor.rb +121 -0
  9. data/lib/docyard/components/code_block_processor.rb +55 -0
  10. data/lib/docyard/components/code_detector.rb +59 -0
  11. data/lib/docyard/components/icon_detector.rb +57 -0
  12. data/lib/docyard/components/icon_processor.rb +51 -0
  13. data/lib/docyard/components/registry.rb +34 -0
  14. data/lib/docyard/components/tabs_parser.rb +60 -0
  15. data/lib/docyard/components/tabs_processor.rb +44 -0
  16. data/lib/docyard/config/validator.rb +171 -0
  17. data/lib/docyard/config.rb +133 -0
  18. data/lib/docyard/constants.rb +28 -0
  19. data/lib/docyard/errors.rb +54 -0
  20. data/lib/docyard/file_watcher.rb +2 -2
  21. data/lib/docyard/icons/LICENSE.phosphor +21 -0
  22. data/lib/docyard/icons/file_types.rb +92 -0
  23. data/lib/docyard/icons/phosphor.rb +63 -0
  24. data/lib/docyard/icons.rb +40 -0
  25. data/lib/docyard/initializer.rb +27 -2
  26. data/lib/docyard/language_mapping.rb +52 -0
  27. data/lib/docyard/logging.rb +43 -0
  28. data/lib/docyard/markdown.rb +14 -3
  29. data/lib/docyard/rack_application.rb +100 -13
  30. data/lib/docyard/renderer.rb +40 -5
  31. data/lib/docyard/router.rb +13 -8
  32. data/lib/docyard/routing/resolution_result.rb +31 -0
  33. data/lib/docyard/server.rb +5 -2
  34. data/lib/docyard/sidebar/file_system_scanner.rb +77 -0
  35. data/lib/docyard/sidebar/renderer.rb +110 -0
  36. data/lib/docyard/sidebar/title_extractor.rb +25 -0
  37. data/lib/docyard/sidebar/tree_builder.rb +59 -0
  38. data/lib/docyard/sidebar_builder.rb +58 -0
  39. data/lib/docyard/templates/assets/css/code.css +362 -0
  40. data/lib/docyard/templates/assets/css/components/callout.css +169 -0
  41. data/lib/docyard/templates/assets/css/components/code-block.css +196 -0
  42. data/lib/docyard/templates/assets/css/components/icon.css +16 -0
  43. data/lib/docyard/templates/assets/css/components/logo.css +44 -0
  44. data/lib/docyard/templates/assets/css/components/navigation.css +258 -0
  45. data/lib/docyard/templates/assets/css/components/tabs.css +298 -0
  46. data/lib/docyard/templates/assets/css/components/theme-toggle.css +61 -0
  47. data/lib/docyard/templates/assets/css/layout.css +283 -0
  48. data/lib/docyard/templates/assets/css/main.css +10 -4
  49. data/lib/docyard/templates/assets/css/markdown.css +200 -0
  50. data/lib/docyard/templates/assets/css/reset.css +63 -0
  51. data/lib/docyard/templates/assets/css/typography.css +97 -0
  52. data/lib/docyard/templates/assets/css/variables.css +205 -0
  53. data/lib/docyard/templates/assets/favicon.svg +16 -0
  54. data/lib/docyard/templates/assets/js/components/code-block.js +162 -0
  55. data/lib/docyard/templates/assets/js/components/tabs.js +338 -0
  56. data/lib/docyard/templates/assets/js/theme.js +209 -1
  57. data/lib/docyard/templates/assets/logo-dark.svg +4 -0
  58. data/lib/docyard/templates/assets/logo.svg +12 -0
  59. data/lib/docyard/templates/config/docyard.yml.erb +20 -0
  60. data/lib/docyard/templates/layouts/default.html.erb +69 -19
  61. data/lib/docyard/templates/markdown/components/callouts.md.erb +204 -0
  62. data/lib/docyard/templates/markdown/components/icons.md.erb +125 -0
  63. data/lib/docyard/templates/markdown/components/tabs.md.erb +686 -0
  64. data/lib/docyard/templates/markdown/configuration.md.erb +202 -0
  65. data/lib/docyard/templates/markdown/core-concepts/file-structure.md.erb +61 -0
  66. data/lib/docyard/templates/markdown/core-concepts/markdown.md.erb +90 -0
  67. data/lib/docyard/templates/markdown/getting-started/installation.md.erb +43 -0
  68. data/lib/docyard/templates/markdown/getting-started/introduction.md.erb +30 -0
  69. data/lib/docyard/templates/markdown/getting-started/quick-start.md.erb +56 -0
  70. data/lib/docyard/templates/markdown/index.md.erb +78 -14
  71. data/lib/docyard/templates/partials/_callout.html.erb +11 -0
  72. data/lib/docyard/templates/partials/_code_block.html.erb +6 -0
  73. data/lib/docyard/templates/partials/_icon.html.erb +1 -0
  74. data/lib/docyard/templates/partials/_icon_file_extension.html.erb +1 -0
  75. data/lib/docyard/templates/partials/_icons.html.erb +11 -0
  76. data/lib/docyard/templates/partials/_nav_group.html.erb +7 -0
  77. data/lib/docyard/templates/partials/_nav_item.html.erb +3 -0
  78. data/lib/docyard/templates/partials/_nav_leaf.html.erb +1 -0
  79. data/lib/docyard/templates/partials/_nav_list.html.erb +3 -0
  80. data/lib/docyard/templates/partials/_nav_section.html.erb +6 -0
  81. data/lib/docyard/templates/partials/_sidebar.html.erb +6 -0
  82. data/lib/docyard/templates/partials/_sidebar_footer.html.erb +11 -0
  83. data/lib/docyard/templates/partials/_tabs.html.erb +40 -0
  84. data/lib/docyard/templates/partials/_theme_toggle.html.erb +13 -0
  85. data/lib/docyard/utils/path_resolver.rb +30 -0
  86. data/lib/docyard/utils/text_formatter.rb +22 -0
  87. data/lib/docyard/version.rb +1 -1
  88. data/lib/docyard.rb +16 -4
  89. metadata +71 -3
  90. data/lib/docyard/templates/assets/css/syntax.css +0 -116
  91. data/lib/docyard/templates/markdown/getting-started.md.erb +0 -40
@@ -0,0 +1,40 @@
1
+ <div class="docyard-tabs" data-tabs="<%= @group_id %>">
2
+ <div class="docyard-tabs__list-wrapper">
3
+ <div role="tablist" aria-label="Code examples" class="docyard-tabs__list">
4
+ <% @tabs.each_with_index do |tab, index| %>
5
+ <button
6
+ role="tab"
7
+ aria-selected="<%= index == 0 ? 'true' : 'false' %>"
8
+ aria-controls="tabpanel-<%= @group_id %>-<%= index %>"
9
+ id="tab-<%= @group_id %>-<%= index %>"
10
+ class="docyard-tabs__tab"
11
+ tabindex="<%= index == 0 ? '0' : '-1' %>"
12
+ >
13
+ <% if tab[:icon] %>
14
+ <span class="docyard-tabs__icon">
15
+ <% if tab[:icon_source] == "file-extension" %>
16
+ <%= Docyard::Icons.render_file_extension(tab[:icon]) %>
17
+ <% elsif tab[:icon_source] == "phosphor" %>
18
+ <%= Docyard::Icons.render(tab[:icon]) %>
19
+ <% end %>
20
+ </span>
21
+ <% end %>
22
+ <%= tab[:name] %>
23
+ </button>
24
+ <% end %>
25
+ <div class="docyard-tabs__indicator" aria-hidden="true"></div>
26
+ </div>
27
+ </div>
28
+ <% @tabs.each_with_index do |tab, index| %>
29
+ <div
30
+ role="tabpanel"
31
+ id="tabpanel-<%= @group_id %>-<%= index %>"
32
+ aria-labelledby="tab-<%= @group_id %>-<%= index %>"
33
+ aria-hidden="<%= index == 0 ? 'false' : 'true' %>"
34
+ class="docyard-tabs__panel"
35
+ tabindex="0"
36
+ >
37
+ <%= tab[:content] %>
38
+ </div>
39
+ <% end %>
40
+ </div>
@@ -0,0 +1,13 @@
1
+ <button class="theme-toggle" aria-label="Toggle theme" title="Toggle theme">
2
+ <span class="theme-toggle-track">
3
+ <!-- Sun icon -->
4
+ <svg class="theme-toggle-icon theme-toggle-sun-icon" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 256 256" fill="currentColor">
5
+ <path d="M120,40V16a8,8,0,0,1,16,0V40a8,8,0,0,1-16,0Zm72,88a64,64,0,1,1-64-64A64.07,64.07,0,0,1,192,128Zm-16,0a48,48,0,1,0-48,48A48.05,48.05,0,0,0,176,128ZM58.34,69.66A8,8,0,0,0,69.66,58.34l-16-16A8,8,0,0,0,42.34,53.66Zm0,116.68-16,16a8,8,0,0,0,11.32,11.32l16-16a8,8,0,0,0-11.32-11.32ZM192,72a8,8,0,0,0,5.66-2.34l16-16a8,8,0,0,0-11.32-11.32l-16,16A8,8,0,0,0,192,72Zm5.66,114.34a8,8,0,0,0-11.32,11.32l16,16a8,8,0,0,0,11.32-11.32ZM48,128a8,8,0,0,0-8-8H16a8,8,0,0,0,0,16H40A8,8,0,0,0,48,128Zm80,80a8,8,0,0,0-8,8v24a8,8,0,0,0,16,0V216A8,8,0,0,0,128,208Zm112-88H216a8,8,0,0,0,0,16h24a8,8,0,0,0,0-16Z"></path>
6
+ </svg>
7
+ <!-- Moon stars icon -->
8
+ <svg class="theme-toggle-icon theme-toggle-moon-icon" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 256 256" fill="currentColor">
9
+ <path d="M240,96a8,8,0,0,1-8,8H216v16a8,8,0,0,1-16,0V104H184a8,8,0,0,1,0-16h16V72a8,8,0,0,1,16,0V88h16A8,8,0,0,1,240,96ZM144,56h8v8a8,8,0,0,0,16,0V56h8a8,8,0,0,0,0-16h-8V32a8,8,0,0,0-16,0v8h-8a8,8,0,0,0,0,16Zm72.77,97a8,8,0,0,1,1.43,8A96,96,0,1,1,95.07,37.8a8,8,0,0,1,10.6,9.06A88.07,88.07,0,0,0,209.14,150.33,8,8,0,0,1,216.77,153Zm-19.39,14.88c-1.79.09-3.59.14-5.38.14A104.11,104.11,0,0,1,88,64c0-1.79,0-3.59.14-5.38A80,80,0,1,0,197.38,167.86Z"></path>
10
+ </svg>
11
+ <span class="theme-toggle-thumb"></span>
12
+ </span>
13
+ </button>
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Docyard
4
+ module Utils
5
+ class PathResolver
6
+ def self.normalize(path)
7
+ return "/" if path.nil? || path.empty?
8
+
9
+ normalized = path.delete_suffix(".md")
10
+ .delete_suffix("/index")
11
+
12
+ normalized = "" if normalized == "index"
13
+
14
+ normalized = "/" if normalized.empty?
15
+ normalized = "/#{normalized}" unless normalized.start_with?("/")
16
+ normalized
17
+ end
18
+
19
+ def self.to_url(relative_path)
20
+ normalize(relative_path)
21
+ end
22
+
23
+ def self.ancestor?(parent_path, child_path)
24
+ return false if parent_path.nil?
25
+
26
+ child_path.start_with?(parent_path) && child_path != parent_path
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Docyard
4
+ module Utils
5
+ class TextFormatter
6
+ def self.titleize(string)
7
+ return "Home" if string == "index"
8
+
9
+ string.gsub(/[-_]/, " ")
10
+ .split
11
+ .map(&:capitalize)
12
+ .join(" ")
13
+ end
14
+
15
+ def self.slugify(string)
16
+ string.downcase
17
+ .gsub(/\s+/, "-")
18
+ .gsub(/[^a-z0-9-]/, "")
19
+ end
20
+ end
21
+ end
22
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Docyard
4
- VERSION = "0.1.0"
4
+ VERSION = "0.3.0"
5
5
  end
data/lib/docyard.rb CHANGED
@@ -1,14 +1,26 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ # Core modules
3
4
  require_relative "docyard/version"
4
- require_relative "docyard/cli"
5
- require_relative "docyard/initializer"
6
- require_relative "docyard/markdown"
5
+ require_relative "docyard/constants"
6
+ require_relative "docyard/errors"
7
+ require_relative "docyard/logging"
8
+
9
+ # Utilities
10
+ require_relative "docyard/utils/text_formatter"
11
+ require_relative "docyard/utils/path_resolver"
12
+
13
+ # Routing
14
+ require_relative "docyard/routing/resolution_result"
7
15
  require_relative "docyard/router"
16
+
17
+ # Application components
18
+ require_relative "docyard/markdown"
8
19
  require_relative "docyard/renderer"
9
20
  require_relative "docyard/asset_handler"
21
+ require_relative "docyard/initializer"
10
22
  require_relative "docyard/server"
23
+ require_relative "docyard/cli"
11
24
 
12
25
  module Docyard
13
- class Error < StandardError; end
14
26
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: docyard
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sanif Himani
@@ -137,27 +137,95 @@ files:
137
137
  - CODE_OF_CONDUCT.md
138
138
  - CONTRIBUTING.md
139
139
  - LICENSE.txt
140
+ - LICENSE.vscode-icons
140
141
  - README.md
141
142
  - Rakefile
142
143
  - lib/docyard.rb
143
144
  - lib/docyard/asset_handler.rb
144
145
  - lib/docyard/cli.rb
146
+ - lib/docyard/components/base_processor.rb
147
+ - lib/docyard/components/callout_processor.rb
148
+ - lib/docyard/components/code_block_processor.rb
149
+ - lib/docyard/components/code_detector.rb
150
+ - lib/docyard/components/icon_detector.rb
151
+ - lib/docyard/components/icon_processor.rb
152
+ - lib/docyard/components/registry.rb
153
+ - lib/docyard/components/tabs_parser.rb
154
+ - lib/docyard/components/tabs_processor.rb
155
+ - lib/docyard/config.rb
156
+ - lib/docyard/config/validator.rb
157
+ - lib/docyard/constants.rb
158
+ - lib/docyard/errors.rb
145
159
  - lib/docyard/file_watcher.rb
160
+ - lib/docyard/icons.rb
161
+ - lib/docyard/icons/LICENSE.phosphor
162
+ - lib/docyard/icons/file_types.rb
163
+ - lib/docyard/icons/phosphor.rb
146
164
  - lib/docyard/initializer.rb
165
+ - lib/docyard/language_mapping.rb
166
+ - lib/docyard/logging.rb
147
167
  - lib/docyard/markdown.rb
148
168
  - lib/docyard/rack_application.rb
149
169
  - lib/docyard/renderer.rb
150
170
  - lib/docyard/router.rb
171
+ - lib/docyard/routing/resolution_result.rb
151
172
  - lib/docyard/server.rb
173
+ - lib/docyard/sidebar/file_system_scanner.rb
174
+ - lib/docyard/sidebar/renderer.rb
175
+ - lib/docyard/sidebar/title_extractor.rb
176
+ - lib/docyard/sidebar/tree_builder.rb
177
+ - lib/docyard/sidebar_builder.rb
178
+ - lib/docyard/templates/assets/css/code.css
179
+ - lib/docyard/templates/assets/css/components/callout.css
180
+ - lib/docyard/templates/assets/css/components/code-block.css
181
+ - lib/docyard/templates/assets/css/components/icon.css
182
+ - lib/docyard/templates/assets/css/components/logo.css
183
+ - lib/docyard/templates/assets/css/components/navigation.css
184
+ - lib/docyard/templates/assets/css/components/tabs.css
185
+ - lib/docyard/templates/assets/css/components/theme-toggle.css
186
+ - lib/docyard/templates/assets/css/layout.css
152
187
  - lib/docyard/templates/assets/css/main.css
153
- - lib/docyard/templates/assets/css/syntax.css
188
+ - lib/docyard/templates/assets/css/markdown.css
189
+ - lib/docyard/templates/assets/css/reset.css
190
+ - lib/docyard/templates/assets/css/typography.css
191
+ - lib/docyard/templates/assets/css/variables.css
192
+ - lib/docyard/templates/assets/favicon.svg
193
+ - lib/docyard/templates/assets/js/components/code-block.js
194
+ - lib/docyard/templates/assets/js/components/tabs.js
154
195
  - lib/docyard/templates/assets/js/reload.js
155
196
  - lib/docyard/templates/assets/js/theme.js
197
+ - lib/docyard/templates/assets/logo-dark.svg
198
+ - lib/docyard/templates/assets/logo.svg
199
+ - lib/docyard/templates/config/docyard.yml.erb
156
200
  - lib/docyard/templates/errors/404.html.erb
157
201
  - lib/docyard/templates/errors/500.html.erb
158
202
  - lib/docyard/templates/layouts/default.html.erb
159
- - lib/docyard/templates/markdown/getting-started.md.erb
203
+ - lib/docyard/templates/markdown/components/callouts.md.erb
204
+ - lib/docyard/templates/markdown/components/icons.md.erb
205
+ - lib/docyard/templates/markdown/components/tabs.md.erb
206
+ - lib/docyard/templates/markdown/configuration.md.erb
207
+ - lib/docyard/templates/markdown/core-concepts/file-structure.md.erb
208
+ - lib/docyard/templates/markdown/core-concepts/markdown.md.erb
209
+ - lib/docyard/templates/markdown/getting-started/installation.md.erb
210
+ - lib/docyard/templates/markdown/getting-started/introduction.md.erb
211
+ - lib/docyard/templates/markdown/getting-started/quick-start.md.erb
160
212
  - lib/docyard/templates/markdown/index.md.erb
213
+ - lib/docyard/templates/partials/_callout.html.erb
214
+ - lib/docyard/templates/partials/_code_block.html.erb
215
+ - lib/docyard/templates/partials/_icon.html.erb
216
+ - lib/docyard/templates/partials/_icon_file_extension.html.erb
217
+ - lib/docyard/templates/partials/_icons.html.erb
218
+ - lib/docyard/templates/partials/_nav_group.html.erb
219
+ - lib/docyard/templates/partials/_nav_item.html.erb
220
+ - lib/docyard/templates/partials/_nav_leaf.html.erb
221
+ - lib/docyard/templates/partials/_nav_list.html.erb
222
+ - lib/docyard/templates/partials/_nav_section.html.erb
223
+ - lib/docyard/templates/partials/_sidebar.html.erb
224
+ - lib/docyard/templates/partials/_sidebar_footer.html.erb
225
+ - lib/docyard/templates/partials/_tabs.html.erb
226
+ - lib/docyard/templates/partials/_theme_toggle.html.erb
227
+ - lib/docyard/utils/path_resolver.rb
228
+ - lib/docyard/utils/text_formatter.rb
161
229
  - lib/docyard/version.rb
162
230
  - sig/docyard.rbs
163
231
  homepage: https://github.com/sanifhimani/docyard
@@ -1,116 +0,0 @@
1
- .highlight table td { padding: 5px; }
2
- .highlight table pre { margin: 0; }
3
- .highlight, .highlight .w {
4
- color: #24292f;
5
- background-color: #f6f8fa;
6
- }
7
- .highlight .k, .highlight .kd, .highlight .kn, .highlight .kp, .highlight .kr, .highlight .kt, .highlight .kv {
8
- color: #cf222e;
9
- }
10
- .highlight .gr {
11
- color: #f6f8fa;
12
- }
13
- .highlight .gd {
14
- color: #82071e;
15
- background-color: #ffebe9;
16
- }
17
- .highlight .nb {
18
- color: #953800;
19
- }
20
- .highlight .nc {
21
- color: #953800;
22
- }
23
- .highlight .no {
24
- color: #953800;
25
- }
26
- .highlight .nn {
27
- color: #953800;
28
- }
29
- .highlight .sr {
30
- color: #116329;
31
- }
32
- .highlight .na {
33
- color: #116329;
34
- }
35
- .highlight .nt {
36
- color: #116329;
37
- }
38
- .highlight .gi {
39
- color: #116329;
40
- background-color: #dafbe1;
41
- }
42
- .highlight .ges {
43
- font-weight: bold;
44
- font-style: italic;
45
- }
46
- .highlight .kc {
47
- color: #0550ae;
48
- }
49
- .highlight .l, .highlight .ld, .highlight .m, .highlight .mb, .highlight .mf, .highlight .mh, .highlight .mi, .highlight .il, .highlight .mo, .highlight .mx {
50
- color: #0550ae;
51
- }
52
- .highlight .sb {
53
- color: #0550ae;
54
- }
55
- .highlight .bp {
56
- color: #0550ae;
57
- }
58
- .highlight .ne {
59
- color: #0550ae;
60
- }
61
- .highlight .nl {
62
- color: #0550ae;
63
- }
64
- .highlight .py {
65
- color: #0550ae;
66
- }
67
- .highlight .nv, .highlight .vc, .highlight .vg, .highlight .vi, .highlight .vm {
68
- color: #0550ae;
69
- }
70
- .highlight .o, .highlight .ow {
71
- color: #0550ae;
72
- }
73
- .highlight .gh {
74
- color: #0550ae;
75
- font-weight: bold;
76
- }
77
- .highlight .gu {
78
- color: #0550ae;
79
- font-weight: bold;
80
- }
81
- .highlight .s, .highlight .sa, .highlight .sc, .highlight .dl, .highlight .sd, .highlight .s2, .highlight .se, .highlight .sh, .highlight .sx, .highlight .s1, .highlight .ss {
82
- color: #0a3069;
83
- }
84
- .highlight .nd {
85
- color: #8250df;
86
- }
87
- .highlight .nf, .highlight .fm {
88
- color: #8250df;
89
- }
90
- .highlight .err {
91
- color: #f6f8fa;
92
- background-color: #82071e;
93
- }
94
- .highlight .c, .highlight .ch, .highlight .cd, .highlight .cm, .highlight .cp, .highlight .cpf, .highlight .c1, .highlight .cs {
95
- color: #6e7781;
96
- }
97
- .highlight .gl {
98
- color: #6e7781;
99
- }
100
- .highlight .gt {
101
- color: #6e7781;
102
- }
103
- .highlight .ni {
104
- color: #24292f;
105
- }
106
- .highlight .si {
107
- color: #24292f;
108
- }
109
- .highlight .ge {
110
- color: #24292f;
111
- font-style: italic;
112
- }
113
- .highlight .gs {
114
- color: #24292f;
115
- font-weight: bold;
116
- }
@@ -1,40 +0,0 @@
1
- ---
2
- title: Getting Started
3
- description: Learn how to use Docyard
4
- ---
5
-
6
- # Getting Started
7
-
8
- Welcome! This guide will help you get started with Docyard.
9
-
10
- ## Writing Documentation
11
-
12
- Just write markdown files in the `docs/` folder.
13
-
14
- ### Frontmatter
15
-
16
- Each markdown file can have YAML frontmatter:
17
-
18
- ```yaml
19
- ---
20
- title: Page Title
21
- description: Page description
22
- ---
23
-
24
- Markdown Syntax
25
-
26
- Docyard supports all standard markdown:
27
-
28
- - Bold text
29
- - Italic text
30
- - Code snippets
31
- - Links and images
32
- - Code blocks with syntax highlighting
33
-
34
- Next Steps
35
-
36
- - Add more markdown files to docs/
37
- - Organize files into folders
38
- - Customize your site with docyard.yml
39
-
40
- Happy documenting! 📚