jekyll-wikibonsai 0.0.8 → 0.0.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (136) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +5 -0
  3. data/README.md +57 -0
  4. data/_config.yml +269 -0
  5. data/_data/emoji.yml +46 -0
  6. data/_data/themes.yml +145 -0
  7. data/_includes/anchor-headings.html +156 -0
  8. data/_includes/branch.html +18 -0
  9. data/_includes/btn_state.html +14 -0
  10. data/_includes/connect.html +46 -0
  11. data/_includes/cookie-consent.html +79 -0
  12. data/_includes/dates.html +22 -0
  13. data/_includes/hp-tooltip.html +106 -0
  14. data/_includes/img/bullet-ancestor.svg +5 -0
  15. data/_includes/img/bullet-branch.svg +7 -0
  16. data/_includes/img/bullet-net-web.svg +9 -0
  17. data/_includes/img/bullet-tree.svg +9 -0
  18. data/_includes/img/pencil-filter.svg +17 -0
  19. data/_includes/share.html +47 -0
  20. data/_includes/site-nav.html +100 -0
  21. data/_includes/tags.html +49 -0
  22. data/_includes/themes.scss.liquid +80 -0
  23. data/_includes/toc.html +187 -0
  24. data/_layouts/404.html +10 -0
  25. data/_layouts/about.html +14 -0
  26. data/_layouts/archive.html +77 -0
  27. data/_layouts/base.html +68 -0
  28. data/_layouts/book.html +40 -0
  29. data/_layouts/entry.html +269 -0
  30. data/_layouts/home.html +96 -0
  31. data/_layouts/map.html +17 -0
  32. data/_layouts/post.html +37 -0
  33. data/_layouts/privacy.html +15 -0
  34. data/_layouts/recent.html +66 -0
  35. data/_layouts/state.html +70 -0
  36. data/_layouts/table-wrappers.html +7 -0
  37. data/_layouts/vendor/compress.html +10 -0
  38. data/_sass/base/_code.scss +133 -0
  39. data/_sass/base/_layout.scss +55 -0
  40. data/_sass/base/_link.scss +105 -0
  41. data/_sass/base/_main.scss +96 -0
  42. data/_sass/base/_markdown.scss +281 -0
  43. data/_sass/base/_typography.scss +89 -0
  44. data/_sass/base/code_themes/_gruvbox.scss +92 -0
  45. data/_sass/base/code_themes/_monokai.scss +217 -0
  46. data/_sass/base/code_themes/_solarized.scss +84 -0
  47. data/_sass/components/_btn.scss +95 -0
  48. data/_sass/components/_infobox.scss +48 -0
  49. data/_sass/components/_item.scss +28 -0
  50. data/_sass/components/_search.scss +61 -0
  51. data/_sass/components/_tag_pills.scss +24 -0
  52. data/_sass/components/_visited.scss +42 -0
  53. data/_sass/includes/_anchor_headings.scss +36 -0
  54. data/_sass/includes/_connect.scss +8 -0
  55. data/_sass/includes/_cookie_consent.scss +46 -0
  56. data/_sass/includes/_dates.scss +6 -0
  57. data/_sass/includes/_hp_tooltip.scss +41 -0
  58. data/_sass/includes/_share.scss +10 -0
  59. data/_sass/includes/_site_nav.scss +97 -0
  60. data/_sass/includes/_svg.scss +89 -0
  61. data/_sass/includes/_toc.scss +38 -0
  62. data/_sass/layouts/_404.scss +3 -0
  63. data/_sass/layouts/_about.scss +3 -0
  64. data/_sass/layouts/_archive.scss +26 -0
  65. data/_sass/layouts/_book.scss +17 -0
  66. data/_sass/layouts/_entry.scss +156 -0
  67. data/_sass/layouts/_home.scss +75 -0
  68. data/_sass/layouts/_map.scss +3 -0
  69. data/_sass/layouts/_post.scss +17 -0
  70. data/_sass/layouts/_privacy.scss +3 -0
  71. data/_sass/layouts/_recent.scss +77 -0
  72. data/_sass/layouts/_state.scss +98 -0
  73. data/_sass/main.scss +73 -0
  74. data/_sass/util/_functions.scss +9 -0
  75. data/_sass/util/_variables.scss +113 -0
  76. data/_sass/util/mixins/_buttons.scss +27 -0
  77. data/_sass/util/mixins/_layout.scss +81 -0
  78. data/_sass/util/mixins/_typography.scss +84 -0
  79. data/_sass/vendor/normalize.scss/README.md +7 -0
  80. data/_sass/vendor/normalize.scss/normalize.scss +349 -0
  81. data/assets/css/styles.scss +31 -0
  82. data/assets/font/Cutive_Mono/CutiveMono-Regular.ttf +0 -0
  83. data/assets/font/Cutive_Mono/OFL.txt +93 -0
  84. data/assets/font/Old_Standard_TT/OFL.txt +93 -0
  85. data/assets/font/Old_Standard_TT/OldStandardTT-Bold.ttf +0 -0
  86. data/assets/font/Old_Standard_TT/OldStandardTT-Italic.ttf +0 -0
  87. data/assets/font/Old_Standard_TT/OldStandardTT-Regular.ttf +0 -0
  88. data/assets/font/exo2/Exo2-Italic-VariableFont_wght.ttf +0 -0
  89. data/assets/font/exo2/Exo2-VariableFont_wght.ttf +0 -0
  90. data/assets/font/exo2/OFL.txt +93 -0
  91. data/assets/font/exo2/README.txt +81 -0
  92. data/assets/font/exo2/static/Exo2-Black.ttf +0 -0
  93. data/assets/font/exo2/static/Exo2-BlackItalic.ttf +0 -0
  94. data/assets/font/exo2/static/Exo2-Bold.ttf +0 -0
  95. data/assets/font/exo2/static/Exo2-BoldItalic.ttf +0 -0
  96. data/assets/font/exo2/static/Exo2-ExtraBold.ttf +0 -0
  97. data/assets/font/exo2/static/Exo2-ExtraBoldItalic.ttf +0 -0
  98. data/assets/font/exo2/static/Exo2-ExtraLight.ttf +0 -0
  99. data/assets/font/exo2/static/Exo2-ExtraLightItalic.ttf +0 -0
  100. data/assets/font/exo2/static/Exo2-Italic.ttf +0 -0
  101. data/assets/font/exo2/static/Exo2-Light.ttf +0 -0
  102. data/assets/font/exo2/static/Exo2-LightItalic.ttf +0 -0
  103. data/assets/font/exo2/static/Exo2-Medium.ttf +0 -0
  104. data/assets/font/exo2/static/Exo2-MediumItalic.ttf +0 -0
  105. data/assets/font/exo2/static/Exo2-Regular.ttf +0 -0
  106. data/assets/font/exo2/static/Exo2-SemiBold.ttf +0 -0
  107. data/assets/font/exo2/static/Exo2-SemiBoldItalic.ttf +0 -0
  108. data/assets/font/exo2/static/Exo2-Thin.ttf +0 -0
  109. data/assets/font/exo2/static/Exo2-ThinItalic.ttf +0 -0
  110. data/assets/img/bonsai-dark.png +0 -0
  111. data/assets/img/bonsai-dark.svg +106 -0
  112. data/assets/img/bonsai-light.png +0 -0
  113. data/assets/img/bonsai-light.svg +81 -0
  114. data/assets/img/bonsai-star.png +0 -0
  115. data/assets/img/bonsai-star.svg +1 -0
  116. data/assets/img/books/the-ancient-art-of-bonsai.png +0 -0
  117. data/assets/img/favicon-dark.png +0 -0
  118. data/assets/img/favicon-light.png +0 -0
  119. data/assets/img/nav-base-dark.svg +1 -0
  120. data/assets/img/nav-base-light.svg +1 -0
  121. data/assets/img/nav-base-star.svg +1 -0
  122. data/assets/img/nav-bonsai-dark.svg +1 -0
  123. data/assets/img/nav-bonsai-light.svg +1 -0
  124. data/assets/img/nav-bonsai-star.svg +1 -0
  125. data/assets/js/entry.js +130 -0
  126. data/assets/js/graph.js +64 -0
  127. data/assets/js/scripts.js +64 -0
  128. data/assets/js/search.js +165 -0
  129. data/assets/js/site-nav.js +132 -0
  130. data/assets/js/theme-colors.js +57 -0
  131. data/assets/js/vendor/lunr.js +3475 -0
  132. data/assets/js/vendor/lunr.min.js +6 -0
  133. data/assets/js/visited-nav.js +65 -0
  134. metadata +289 -4
  135. data/lib/jekyll-wikibonsai/version.rb +0 -9
  136. data/lib/jekyll-wikibonsai.rb +0 -10
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ecb210c22daccc7a87ab4987b6950e91526c30ffb65e63734ee5a2f85e43a6d3
4
- data.tar.gz: ac2e39e2ab7158491d214ed97b53181c5e4c603f21b5e877de8526797d664feb
3
+ metadata.gz: 90c881cf232fe50b8e592d9fd9f74104c6b3c7f90540e725f54e19f61d570f7c
4
+ data.tar.gz: 9c78a6e97b97ab11875fe42ab13fd04a12a79f374c4abbe9b3949d82347e01be
5
5
  SHA512:
6
- metadata.gz: a4ee1648ff4df953dc914bc619858a41d9fc756731fcd1c38a46a1b8b5b328c49f1092b1c91b162e524f6d79f7664283c268f6ad26703b9d668aeff983c42f52
7
- data.tar.gz: d663bc284104ea49f0f74fae4f955537f4b55871b6ef4bfd1b99d80791a21fd7c2379b191ea7beb695dc81538756ef7fa93a80bf0a88adbfb6ba7ef605fd2ad3
6
+ metadata.gz: d09849b7d9be1d4512994957888a7086c8e64b59864191cf773af3433889b69e7b893d55868c2066c74c5d7d748a1ba6245b57601b56bc92f28e440b856148cd
7
+ data.tar.gz: d38d69b4bda3d9ed082c9881400c07d4e6c9fdd0aa02d0496cce49af6da78b0939be440d64657a0bc2e42c0904bea978077a3065173029a38a5157881bb8a8c6
data/CHANGELOG.md ADDED
@@ -0,0 +1,5 @@
1
+ ## [0.0.8] - 2023-09-25
2
+
3
+ - `jekyll-bonsai` -> `jekyll-wikibonsai`.
4
+ - `jekyll-namespaces` -> `jekyll-semtree`.
5
+
data/README.md ADDED
@@ -0,0 +1,57 @@
1
+ # Jekyll-WikiBonsai
2
+
3
+ [![A WikiBonsai Project](https://img.shields.io/badge/%F0%9F%8E%8B-A%20WikiBonsai%20Project-brightgreen)](https://github.com/wikibonsai/wikibonsai)
4
+ [![Ruby Gem](https://img.shields.io/gem/v/jekyll-wikibonsai)](https://rubygems.org/gems/jekyll-wikibonsai)
5
+
6
+ <img src="https://github.com/wikibonsai/jekyll-wikibonsai/blob/main/assets/img/bonsai-light.svg" width="300" height="300"/>
7
+
8
+ 💐 Display your [🎋 WikiBonsai](https://github.com/wikibonsai/wikibonsai) digital garden for others.
9
+
10
+ - Does not currently support CAML primitives (just wikiattrs).
11
+
12
+ ## Features
13
+
14
+ - [[[Wikirefs]]](https://jekyll-wikibonsai.netlify.app/entry/d1634ef36a/) support.
15
+ - [A semantic tree](https://jekyll-wikibonsai.netlify.app/entry/fa6aa0c597/) support.
16
+ - [Graphs](https://jekyll-wikibonsai.netlify.app/entry/5f44796eaf/)
17
+
18
+ ## Setup
19
+
20
+ There are multiple ways to utilize this template...
21
+
22
+ [⚙️ Setup](https://jekyll-wikibonsai.netlify.app/post/0b9db15818/)
23
+
24
+ ### Use
25
+
26
+ For those interested in getting straight to writing:
27
+
28
+ [📝 Write](https://jekyll-wikibonsai.netlify.app/post/827a3e6d12/)
29
+
30
+ ### Template
31
+
32
+ For those that want to write and tinker with the template itself:
33
+
34
+ [🔍 Tinker](https://jekyll-wikibonsai.netlify.app/post/e7e22a4da8/)
35
+
36
+ ### Code
37
+
38
+ For those that just want to know how the template works and want to borrow ideas for their own:
39
+
40
+ [🛠 Code](https://jekyll-wikibonsai.netlify.app/post/2902cedfa6/)
41
+
42
+ ## Plugins
43
+
44
+ This template depends on the following jekyll plugins:
45
+
46
+ - WikiBonsai:
47
+ - [jekyll-wikirefs](https://github.com/wikibonsai/jekyll-wikirefs)
48
+ - [jekyll-semtree](https://github.com/wikibonsai/jekyll-semtree)
49
+ - [jekyll-graph](https://github.com/wikibonsai/jekyll-graph)
50
+ - Jekyll:
51
+ - [jekyll-feed](https://github.com/jekyll/jekyll-feed)
52
+ - [jekyll-seo-tag](https://github.com/jekyll/jekyll-seo-tag)
53
+ - [jekyll-sitemap](https://github.com/jekyll/jekyll-sitemap)
54
+ - ashmaroli:
55
+ - [jekyll-data](https://github.com/ashmaroli/jekyll-data)
56
+ - manunamz:
57
+ - [jekyll-id](https://github.com/manunamz/jekyll-id)
data/_config.yml ADDED
@@ -0,0 +1,269 @@
1
+ title: jekyll-wikibonsai
2
+ description: A jekyll theme for semantically inclined digital gardeners.
3
+ author: manunamz
4
+ baseurl: ''
5
+ # url: 'https://jekyll-wikibonsai.netlify.app'
6
+
7
+ include:
8
+ - "_pages"
9
+ exclude:
10
+ - "*.gemspec"
11
+ - "*.gem"
12
+ - "Gemfile"
13
+ - "Gemfile.lock"
14
+ - "Rakefile"
15
+ - "README.md"
16
+ - "CHANGELOG"
17
+ - "LICENSE"
18
+
19
+ # how to organize md files:
20
+ # 1. collections_dir: "docs"
21
+ # from: https://jekyllrb.com/docs/collections/
22
+ # 2. also worth double checking...
23
+ # from: https://github.com/eritbh/jekyll-glob
24
+ collections:
25
+ books:
26
+ output: true
27
+ entries:
28
+ output: true
29
+ index:
30
+ output: true
31
+ states:
32
+ output: true
33
+ order:
34
+ - tags.md
35
+ - sprout.md
36
+ - bud.md
37
+ - bamboo.md
38
+ - bloom.md
39
+ - berry.md
40
+ - fruit.md
41
+ - melon.md
42
+ - seed.md
43
+ - tea.md
44
+ - pot-bamboo.md
45
+
46
+ # frontmatter
47
+ # ('type' is explicitly set for search exclusion to work)
48
+ defaults:
49
+ -
50
+ scope:
51
+ type: "pages"
52
+ values:
53
+ type: "pages"
54
+ -
55
+ scope:
56
+ # path: "_posts/**/*.md"
57
+ type: "posts"
58
+ values:
59
+ type: "posts"
60
+ layout: "post"
61
+ permalink: "/post/:id/"
62
+ -
63
+ scope:
64
+ # path: "_books/**/*.md"
65
+ type: "books"
66
+ values:
67
+ type: "books"
68
+ layout: "book"
69
+ permalink: "/book/:id/"
70
+ -
71
+ scope:
72
+ # path: "_entries/**/*.md"
73
+ type: "entries"
74
+ values:
75
+ type: "entries"
76
+ layout: "entry"
77
+ permalink: "/entry/:id/"
78
+ -
79
+ scope:
80
+ # path: "_index/**/*.md"
81
+ type: "index"
82
+ values:
83
+ type: "index"
84
+ # layout: "index"
85
+ # permalink: "/index/:id/"
86
+ -
87
+ scope:
88
+ # path: "_states/**/*.md"
89
+ type: "states"
90
+ values:
91
+ type: "states"
92
+ layout: "state"
93
+ permalink: "/stat/:id/"
94
+
95
+ sass:
96
+ sass_dir: _sass
97
+ style: :compressed
98
+
99
+ enable_mathjax: true
100
+ kramdown:
101
+ syntax_highlighter: rouge
102
+ math_engine: mathjax
103
+
104
+ compress_html:
105
+ clippings: all
106
+ comments: all
107
+ endings: all
108
+ startings: []
109
+ blank_lines: false
110
+ profile: false
111
+
112
+ #
113
+ # plugins
114
+ #
115
+
116
+ # Google Analytics (ip is anonymized by default)
117
+ # ga_tracking: UA-190413040-4
118
+
119
+ # seo
120
+ # tagline: ""
121
+ # description: ""
122
+ # twitter:
123
+ # card: summary
124
+ # username: manunamz
125
+ # author:
126
+ # twitter: manunamz
127
+
128
+ #
129
+ # plugins
130
+ #
131
+
132
+ ids:
133
+ # from: https://github.com/radeno/nanoid.rb#options
134
+ format:
135
+ alpha: '1234567890abcdef'
136
+ size: 10
137
+ semtree:
138
+ # enabled: true
139
+ # root: 'i.bonsai'
140
+ # doctype: 'index'
141
+ virtual_trunk: true
142
+ # exclude:
143
+ # - "books"
144
+ # - "pages"
145
+ # - "posts"
146
+ # - "states"
147
+ wikirefs:
148
+ # enabled: true
149
+ exclude:
150
+ - "states"
151
+ css:
152
+ exclude:
153
+ # markdown
154
+ - "footnote"
155
+ - "reversefootnote"
156
+ # local-theme-related
157
+ - "site-nav-btn"
158
+ - "sem-tag"
159
+ - "stat-tag"
160
+ # includes
161
+ - "anchor-heading"
162
+ - "toc-list-item-anchor"
163
+ graph:
164
+ # enabled: true
165
+ # path:
166
+ # assets: "/assets"
167
+ # scripts: "/assets/js"
168
+ exclude:
169
+ - "books"
170
+ - "index"
171
+ - "pages"
172
+ - "posts"
173
+ - "states"
174
+ tree:
175
+ # enabled: true
176
+ dag_lvl_dist: 100
177
+ force:
178
+ charge: -100
179
+ strength_x: 0.3
180
+ x_val: 0.9
181
+ strength_y: 0.1
182
+ y_val: 0.9
183
+ net_web:
184
+ # enabled: true
185
+ # exclude:
186
+ # links: true
187
+ force:
188
+ charge: -300
189
+ strength_x: 0.3
190
+ x_val: 0.75
191
+ strength_y: 0.1
192
+ y_val: 0.9
193
+
194
+ #
195
+ # includes
196
+ #
197
+
198
+ social:
199
+ connect:
200
+ enabled: true
201
+ url:
202
+ # facebook:
203
+ github: https://github.com/wikibonsai/jekyll-wikibonsai/
204
+ # linkedin:
205
+ # pinterest:
206
+ # rss:
207
+ # twitter:
208
+ share:
209
+ enabled: true
210
+ type:
211
+ - 'email'
212
+ # - 'facebook'
213
+ - 'linkedin'
214
+ # - 'pinterest'
215
+ - 'twitter'
216
+
217
+ #
218
+ # bonsai template configs
219
+ #
220
+
221
+ bonsai:
222
+ debug: false
223
+ default_theme: "light"
224
+ date_format: "%Y-%m-%d"
225
+ svg:
226
+ filter: false
227
+ # smaller: false
228
+ # site-nav
229
+ nav:
230
+ type: "graph" # may be 'visited' (steps) or 'graph' (bonsai)
231
+ graph:
232
+ type: "tree" # may be 'tree' or 'net-web'
233
+ search:
234
+ enabled: true
235
+ exclude: []
236
+ visited:
237
+ enabled: true
238
+ # pages
239
+ home:
240
+ notable:
241
+ enabled: true
242
+ docs:
243
+ - bonsai.md
244
+ - wiki-blog.md
245
+ - feature.md
246
+ - 2021-11-18-setup.md
247
+ - 2021-05-11-origin-myth.md
248
+ recent:
249
+ enabled: true
250
+ cap: 5
251
+ archive:
252
+ section:
253
+ posts: "🫐 🥭 🍈 Fruits"
254
+ books: "🌰 🍵 🎍 Germs"
255
+ entries: "🌱 🌿 🎋 🌸 Foliage"
256
+ # map:
257
+ recent:
258
+ cap: 10
259
+ # documents
260
+ states:
261
+ root_path: "_states/tags.md"
262
+ entries:
263
+ root_path: "_entries/jekyll-wikibonsai.md"
264
+ toggles: # may be 'open' or 'closed'
265
+ breadcrumb: "open"
266
+ attr_box: "open"
267
+ foot_links: "open"
268
+ foot_tagged: "open"
269
+ backlinks: true
data/_data/emoji.yml ADDED
@@ -0,0 +1,46 @@
1
+ #
2
+ # the following are emoji buttons
3
+ # -- there needs to be something here for buttons to work
4
+ #
5
+ # cookie-consent
6
+ approve: 👍
7
+ consider: 🧐
8
+ disapprove: 👎
9
+ # nav-bar
10
+ colors: 🌈
11
+ ## graph
12
+ net-web: 🕸
13
+ tree: 🌳
14
+ ## site-nav
15
+ delete: 🧹
16
+ graph: 🪴
17
+ search: 🔍
18
+ site_nav: 🧭
19
+ visited: 🥾
20
+ ## pages
21
+ about: 🪧
22
+ archive: ⛲️
23
+ bonsai: 🎋
24
+ home: 🏕
25
+ pages: 🗺
26
+ privacy: 🛖
27
+ recent: 🌦
28
+ stat_tags: 🔖
29
+ # entry-only
30
+ breadcrumbs: 🛤
31
+ links: 🚏
32
+ tags: 🧺
33
+ #
34
+ # the following are informational emojis
35
+ # -- these are safe to set to "" (empty strings)
36
+ #
37
+ # social
38
+ connect: 🌊
39
+ share: 🐝 # this is also the emoji for anchor-headings
40
+ # changes
41
+ created: 🌩
42
+ published: 🌤
43
+ updated: 🌧
44
+ deleted: 🌨
45
+ # 404
46
+ missing: 🍂
data/_data/themes.yml ADDED
@@ -0,0 +1,145 @@
1
+ -
2
+ id: light
3
+ emoji: ☀️
4
+ src:
5
+ favicon: "/assets/img/favicon-light.png"
6
+ logo: "/assets/img/bonsai-light.svg"
7
+ nav_burger:
8
+ base: "/assets/img/nav-base-light.svg"
9
+ bonsai: "/assets/img/nav-bonsai-light.svg"
10
+ colors:
11
+ selection: "#E6E09E"
12
+ background: "#E4f3EA"
13
+ text: "#5c5962"
14
+ text_grey: "#27262b"
15
+ accent_dark: "#b8d9b8"
16
+ # accent_dark: "#335C33"
17
+ accent_light: "#C7E6D3"
18
+ shadow: "#000"
19
+ link:
20
+ web:
21
+ underline: "#e1e8e3"
22
+ valid: "#264caf"
23
+ wiki:
24
+ underline: "#ede5dd"
25
+ valid: "#009c7b"
26
+ invalid: "#959396"
27
+ svg:
28
+ pencil:
29
+ default: "#5c5962"
30
+ blue: "#0047aa"
31
+ green: "#31AF31"
32
+ red: "#eb3023"
33
+ yellow: "#dfb600"
34
+ graph:
35
+ node:
36
+ stroke: "#00000000"
37
+ current: "#F0C61F"
38
+ missing: "#8C6239"
39
+ tagged: "#a87f32"
40
+ unvisited: "#9cbe9c"
41
+ visited:
42
+ color: "#31AF31"
43
+ glow: "#00000000"
44
+ link:
45
+ color: "#8C6239"
46
+ particles:
47
+ color: "#5c5962"
48
+ text:
49
+ color: "#5c5962"
50
+ -
51
+ id: dark
52
+ emoji: 🌘
53
+ src:
54
+ favicon: "/assets/img/favicon-dark.png"
55
+ logo: "/assets/img/bonsai-dark.svg"
56
+ nav_burger:
57
+ base: "/assets/img/nav-base-dark.svg"
58
+ bonsai: "/assets/img/nav-bonsai-dark.svg"
59
+ colors:
60
+ selection: "#ad9b4b"
61
+ background: "#27262b"
62
+ text: "#e1e8e3"
63
+ text_grey: "#f5f6fa"
64
+ accent_dark: "#1E1C21"
65
+ accent_light: "#44434d"
66
+ shadow: "#fff"
67
+ link:
68
+ web:
69
+ underline: "#44434d"
70
+ valid: "#89B8D8"
71
+ wiki:
72
+ underline: "#44434d"
73
+ valid: "#A0E4A0"
74
+ invalid: "#959396"
75
+ svg:
76
+ pencil:
77
+ default: "#e1e8e3"
78
+ blue: "#0047aa"
79
+ green: "#31AF31"
80
+ red: "#eb3023"
81
+ yellow: "#dfb600"
82
+ graph:
83
+ node:
84
+ stroke: "#44434d"
85
+ current: "#F0C61F"
86
+ missing: "#00000000"
87
+ tagged: "#a87f32"
88
+ unvisited: "#3e5c50"
89
+ visited:
90
+ color: "#31AF31"
91
+ glow: "#31AF31"
92
+ link:
93
+ color: "#44434d"
94
+ particles:
95
+ color: "#959396"
96
+ text:
97
+ color: "#e6e1e8"
98
+ -
99
+ id: star
100
+ emoji: ✨
101
+ src:
102
+ favicon: "/assets/img/favicon-dark.png"
103
+ logo: "/assets/img/bonsai-star.svg"
104
+ nav_burger:
105
+ base: "/assets/img/nav-base-star.svg"
106
+ bonsai: "/assets/img/nav-bonsai-star.svg"
107
+ colors:
108
+ selection: "#f5ec8eA6"
109
+ background: "#1b2733"
110
+ text: "#e1e8e3"
111
+ text_grey: "#f5f6fa"
112
+ accent_dark: "#151E28"
113
+ accent_light: "#254756"
114
+ shadow: "#fff"
115
+ link:
116
+ web:
117
+ underline: "#44434d"
118
+ valid: "#3D87B8"
119
+ wiki:
120
+ underline: "#44434d"
121
+ valid: "#F3EEBB"
122
+ invalid: "#959396"
123
+ svg:
124
+ pencil:
125
+ default: "#e1e8e3"
126
+ blue: "#0047aa"
127
+ green: "#31AF31"
128
+ red: "#eb3023"
129
+ yellow: "#dfb600"
130
+ graph:
131
+ node:
132
+ stroke: "#00000000"
133
+ current: "#F0C61F"
134
+ missing: "#586069"
135
+ tagged: "#0096FF"
136
+ unvisited: "#2A3D50"
137
+ visited:
138
+ color: "#F3F0CF"
139
+ glow: "#ffffff"
140
+ link:
141
+ color: "#254756"
142
+ particles:
143
+ color: "#F3F0CF"
144
+ text:
145
+ color: "#e6e1e8"
@@ -0,0 +1,156 @@
1
+ {% capture headingsWorkspace %}
2
+ {% comment %}
3
+ Copyright (c) 2018 Vladimir "allejo" Jimenez
4
+
5
+ Permission is hereby granted, free of charge, to any person
6
+ obtaining a copy of this software and associated documentation
7
+ files (the "Software"), to deal in the Software without
8
+ restriction, including without limitation the rights to use,
9
+ copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ copies of the Software, and to permit persons to whom the
11
+ Software is furnished to do so, subject to the following
12
+ conditions:
13
+
14
+ The above copyright notice and this permission notice shall be
15
+ included in all copies or substantial portions of the Software.
16
+
17
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
18
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
19
+ OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
20
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
21
+ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
22
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
23
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
24
+ OTHER DEALINGS IN THE SOFTWARE.
25
+ {% endcomment %}
26
+ {% comment %}
27
+ Version 1.0.9
28
+ https://github.com/allejo/jekyll-anchor-headings
29
+
30
+ "Be the pull request you wish to see in the world." ~Ben Balter
31
+
32
+ Usage:
33
+ {% include anchor_headings.html html=content anchorBody="#" %}
34
+
35
+ Parameters:
36
+ * html (string) - the HTML of compiled markdown generated by kramdown in Jekyll
37
+
38
+ Optional Parameters:
39
+ * beforeHeading (bool) : false - Set to true if the anchor should be placed _before_ the heading's content
40
+ * headerAttrs (string) : '' - Any custom HTML attributes that will be added to the heading tag; you may NOT use `id`;
41
+ the `%heading%` and `%html_id%` placeholders are available
42
+ * anchorAttrs (string) : '' - Any custom HTML attributes that will be added to the `<a>` tag; you may NOT use `href`, `class` or `title`;
43
+ the `%heading%` and `%html_id%` placeholders are available
44
+ * anchorBody (string) : '' - The content that will be placed inside the anchor; the `%heading%` placeholder is available
45
+ * anchorClass (string) : '' - The class(es) that will be used for each anchor. Separate multiple classes with a space
46
+ * anchorTitle (string) : '' - The `title` attribute that will be used for anchors
47
+ * h_min (int) : 1 - The minimum header level to build an anchor for; any header lower than this value will be ignored
48
+ * h_max (int) : 6 - The maximum header level to build an anchor for; any header greater than this value will be ignored
49
+ * bodyPrefix (string) : '' - Anything that should be inserted inside of the heading tag _before_ its anchor and content
50
+ * bodySuffix (string) : '' - Anything that should be inserted inside of the heading tag _after_ its anchor and content
51
+
52
+ Output:
53
+ The original HTML with the addition of anchors inside of all of the h1-h6 headings.
54
+ {% endcomment %}
55
+
56
+ {% assign minHeader = include.h_min | default: 1 %}
57
+ {% assign maxHeader = include.h_max | default: 6 %}
58
+ {% assign beforeHeading = include.beforeHeading %}
59
+ {% assign nodes = include.html | split: '<h' %}
60
+
61
+ {% capture edited_headings %}{% endcapture %}
62
+
63
+ {% for _node in nodes %}
64
+ {% capture node %}{{ _node | strip }}{% endcapture %}
65
+
66
+ {% if node == "" %}
67
+ {% continue %}
68
+ {% endif %}
69
+
70
+ {% assign nextChar = node | replace: '"', '' | strip | slice: 0, 1 %}
71
+ {% assign headerLevel = nextChar | times: 1 %}
72
+
73
+ <!-- If the level is cast to 0, it means it's not a h1-h6 tag, so let's see if we need to fix it -->
74
+ {% if headerLevel == 0 %}
75
+ <!-- Split up the node based on closing angle brackets and get the first one. -->
76
+ {% assign firstChunk = node | split: '>' | first %}
77
+
78
+ <!-- If the first chunk does NOT contain a '<', that means we've broken another HTML tag that starts with 'h' -->
79
+ {% unless firstChunk contains '<' %}
80
+ {% capture node %}<h{{ node }}{% endcapture %}
81
+ {% endunless %}
82
+
83
+ {% capture edited_headings %}{{ edited_headings }}{{ node }}{% endcapture %}
84
+ {% continue %}
85
+ {% endif %}
86
+
87
+ {% capture _closingTag %}</h{{ headerLevel }}>{% endcapture %}
88
+ {% assign _workspace = node | split: _closingTag %}
89
+ {% assign _idWorkspace = _workspace[0] | split: 'id="' %}
90
+ {% assign _idWorkspace = _idWorkspace[1] | split: '"' %}
91
+ {% assign html_id = _idWorkspace[0] %}
92
+
93
+ {% capture _hAttrToStrip %}{{ _workspace[0] | split: '>' | first }}>{% endcapture %}
94
+ {% assign header = _workspace[0] | replace: _hAttrToStrip, '' %}
95
+
96
+ <!-- Build the anchor to inject for our heading -->
97
+ {% capture anchor %}{% endcapture %}
98
+
99
+ {% if html_id and headerLevel >= minHeader and headerLevel <= maxHeader %}
100
+ {% assign escaped_header = header | strip_html %}
101
+
102
+ {% if include.headerAttrs %}
103
+ {% capture _hAttrToStrip %}{{ _hAttrToStrip | split: '>' | first }} {{ include.headerAttrs | replace: '%heading%', escaped_header | replace: '%html_id%', html_id }}>{% endcapture %}
104
+ {% endif %}
105
+
106
+ {% capture anchor %}href="#{{ html_id }}"{% endcapture %}
107
+
108
+ {% if include.anchorClass %}
109
+ {% capture anchor %}{{ anchor }} class="{{ include.anchorClass }}"{% endcapture %}
110
+ {% endif %}
111
+
112
+ {% if include.anchorTitle %}
113
+ {% capture anchor %}{{ anchor }} title="{{ include.anchorTitle | replace: '%heading%', escaped_header }}"{% endcapture %}
114
+ {% endif %}
115
+
116
+ {% if include.anchorAttrs %}
117
+ {% capture anchor %}{{ anchor }} {{ include.anchorAttrs | replace: '%heading%', escaped_header | replace: '%html_id%', html_id }}{% endcapture %}
118
+ {% endif %}
119
+
120
+ {% if site.data.emoji.share %}
121
+ {% capture anchor %}<a {{ anchor }}><i class='anchor-tag'>{{ site.data.emoji.share }}</i></a>{% endcapture %}
122
+ {% else %}
123
+ {% capture anchor %}<a {{ anchor }}>{{ include.anchorBody | replace: '%heading%', escaped_header | default: '' }}</a>{% endcapture %}
124
+ {% endif %}
125
+
126
+ <!-- In order to prevent adding extra space after a heading, we'll let the 'anchor' value contain it -->
127
+ {% if beforeHeading %}
128
+ {% capture anchor %}{{ anchor }} {% endcapture %}
129
+ {% else %}
130
+ {% capture anchor %} {{ anchor }}{% endcapture %}
131
+ {% endif %}
132
+ {% endif %}
133
+
134
+ {% capture new_heading %}
135
+ <h{{ _hAttrToStrip }}
136
+ {{ include.bodyPrefix }}
137
+ {% if beforeHeading %}
138
+ {{ anchor }}{{ header }}
139
+ {% else %}
140
+ {{ header }}{{ anchor }}
141
+ {% endif %}
142
+ {{ include.bodySuffix }}
143
+ </h{{ headerLevel }}>
144
+ {% endcapture %}
145
+
146
+ <!--
147
+ If we have content after the `</hX>` tag, then we'll want to append that here so we don't lost any content.
148
+ -->
149
+ {% assign chunkCount = _workspace | size %}
150
+ {% if chunkCount > 1 %}
151
+ {% capture new_heading %}{{ new_heading }}{{ _workspace | last }}{% endcapture %}
152
+ {% endif %}
153
+
154
+ {% capture edited_headings %}{{ edited_headings }}{{ new_heading }}{% endcapture %}
155
+ {% endfor %}
156
+ {% endcapture %}{% assign headingsWorkspace = '' %}{{ edited_headings | strip }}