jekyll-wikibonsai 0.0.9 → 0.0.11
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/README.md +57 -0
- data/_config.yml +269 -0
- data/_data/emoji.yml +46 -0
- data/_data/themes.yml +145 -0
- data/_includes/anchor-headings.html +156 -0
- data/_includes/branch.html +18 -0
- data/_includes/btn_state.html +14 -0
- data/_includes/connect.html +46 -0
- data/_includes/cookie-consent.html +79 -0
- data/_includes/dates.html +22 -0
- data/_includes/hp-tooltip.html +106 -0
- data/_includes/img/bullet-ancestor.svg +5 -0
- data/_includes/img/bullet-branch.svg +7 -0
- data/_includes/img/bullet-tree.svg +9 -0
- data/_includes/img/bullet-web.svg +9 -0
- data/_includes/img/pencil-filter.svg +17 -0
- data/_includes/share.html +47 -0
- data/_includes/site-nav.html +100 -0
- data/_includes/tags.html +49 -0
- data/_includes/themes.scss.liquid +80 -0
- data/_includes/toc.html +187 -0
- data/_layouts/404.html +10 -0
- data/_layouts/about.html +14 -0
- data/_layouts/archive.html +77 -0
- data/_layouts/base.html +68 -0
- data/_layouts/book.html +40 -0
- data/_layouts/entry.html +269 -0
- data/_layouts/home.html +96 -0
- data/_layouts/map.html +17 -0
- data/_layouts/post.html +37 -0
- data/_layouts/privacy.html +15 -0
- data/_layouts/recent.html +66 -0
- data/_layouts/state.html +70 -0
- data/_layouts/table-wrappers.html +7 -0
- data/_layouts/vendor/compress.html +10 -0
- data/_sass/base/_code.scss +133 -0
- data/_sass/base/_layout.scss +55 -0
- data/_sass/base/_link.scss +105 -0
- data/_sass/base/_main.scss +96 -0
- data/_sass/base/_markdown.scss +281 -0
- data/_sass/base/_typography.scss +89 -0
- data/_sass/base/code_themes/_gruvbox.scss +92 -0
- data/_sass/base/code_themes/_monokai.scss +217 -0
- data/_sass/base/code_themes/_solarized.scss +84 -0
- data/_sass/components/_btn.scss +95 -0
- data/_sass/components/_infobox.scss +48 -0
- data/_sass/components/_item.scss +28 -0
- data/_sass/components/_search.scss +61 -0
- data/_sass/components/_tag_pills.scss +24 -0
- data/_sass/components/_visited.scss +42 -0
- data/_sass/includes/_anchor_headings.scss +36 -0
- data/_sass/includes/_connect.scss +8 -0
- data/_sass/includes/_cookie_consent.scss +46 -0
- data/_sass/includes/_dates.scss +6 -0
- data/_sass/includes/_hp_tooltip.scss +41 -0
- data/_sass/includes/_share.scss +10 -0
- data/_sass/includes/_site_nav.scss +97 -0
- data/_sass/includes/_svg.scss +89 -0
- data/_sass/includes/_toc.scss +38 -0
- data/_sass/layouts/_404.scss +3 -0
- data/_sass/layouts/_about.scss +3 -0
- data/_sass/layouts/_archive.scss +26 -0
- data/_sass/layouts/_book.scss +17 -0
- data/_sass/layouts/_entry.scss +152 -0
- data/_sass/layouts/_home.scss +75 -0
- data/_sass/layouts/_map.scss +3 -0
- data/_sass/layouts/_post.scss +17 -0
- data/_sass/layouts/_privacy.scss +3 -0
- data/_sass/layouts/_recent.scss +77 -0
- data/_sass/layouts/_state.scss +98 -0
- data/_sass/main.scss +73 -0
- data/_sass/util/_functions.scss +9 -0
- data/_sass/util/_variables.scss +113 -0
- data/_sass/util/mixins/_buttons.scss +27 -0
- data/_sass/util/mixins/_layout.scss +84 -0
- data/_sass/util/mixins/_typography.scss +84 -0
- data/_sass/vendor/normalize.scss/README.md +7 -0
- data/_sass/vendor/normalize.scss/normalize.scss +349 -0
- data/assets/css/styles.scss +31 -0
- data/assets/font/Cutive_Mono/CutiveMono-Regular.ttf +0 -0
- data/assets/font/Cutive_Mono/OFL.txt +93 -0
- data/assets/font/Old_Standard_TT/OFL.txt +93 -0
- data/assets/font/Old_Standard_TT/OldStandardTT-Bold.ttf +0 -0
- data/assets/font/Old_Standard_TT/OldStandardTT-Italic.ttf +0 -0
- data/assets/font/Old_Standard_TT/OldStandardTT-Regular.ttf +0 -0
- data/assets/font/exo2/Exo2-Italic-VariableFont_wght.ttf +0 -0
- data/assets/font/exo2/Exo2-VariableFont_wght.ttf +0 -0
- data/assets/font/exo2/OFL.txt +93 -0
- data/assets/font/exo2/README.txt +81 -0
- data/assets/font/exo2/static/Exo2-Black.ttf +0 -0
- data/assets/font/exo2/static/Exo2-BlackItalic.ttf +0 -0
- data/assets/font/exo2/static/Exo2-Bold.ttf +0 -0
- data/assets/font/exo2/static/Exo2-BoldItalic.ttf +0 -0
- data/assets/font/exo2/static/Exo2-ExtraBold.ttf +0 -0
- data/assets/font/exo2/static/Exo2-ExtraBoldItalic.ttf +0 -0
- data/assets/font/exo2/static/Exo2-ExtraLight.ttf +0 -0
- data/assets/font/exo2/static/Exo2-ExtraLightItalic.ttf +0 -0
- data/assets/font/exo2/static/Exo2-Italic.ttf +0 -0
- data/assets/font/exo2/static/Exo2-Light.ttf +0 -0
- data/assets/font/exo2/static/Exo2-LightItalic.ttf +0 -0
- data/assets/font/exo2/static/Exo2-Medium.ttf +0 -0
- data/assets/font/exo2/static/Exo2-MediumItalic.ttf +0 -0
- data/assets/font/exo2/static/Exo2-Regular.ttf +0 -0
- data/assets/font/exo2/static/Exo2-SemiBold.ttf +0 -0
- data/assets/font/exo2/static/Exo2-SemiBoldItalic.ttf +0 -0
- data/assets/font/exo2/static/Exo2-Thin.ttf +0 -0
- data/assets/font/exo2/static/Exo2-ThinItalic.ttf +0 -0
- data/assets/img/bonsai-dark.png +0 -0
- data/assets/img/bonsai-dark.svg +106 -0
- data/assets/img/bonsai-light.png +0 -0
- data/assets/img/bonsai-light.svg +81 -0
- data/assets/img/bonsai-star.png +0 -0
- data/assets/img/bonsai-star.svg +1 -0
- data/assets/img/books/the-ancient-art-of-bonsai.png +0 -0
- data/assets/img/favicon-dark.png +0 -0
- data/assets/img/favicon-light.png +0 -0
- data/assets/img/nav-base-dark.svg +1 -0
- data/assets/img/nav-base-light.svg +1 -0
- data/assets/img/nav-base-star.svg +1 -0
- data/assets/img/nav-bonsai-dark.svg +1 -0
- data/assets/img/nav-bonsai-light.svg +1 -0
- data/assets/img/nav-bonsai-star.svg +1 -0
- data/assets/img/wikibonsai-way.png +0 -0
- data/assets/js/entry.js +130 -0
- data/assets/js/graph.js +64 -0
- data/assets/js/scripts.js +64 -0
- data/assets/js/search.js +165 -0
- data/assets/js/site-nav.js +132 -0
- data/assets/js/theme-colors.js +57 -0
- data/assets/js/vendor/lunr.js +3475 -0
- data/assets/js/vendor/lunr.min.js +6 -0
- data/assets/js/visited-nav.js +65 -0
- metadata +139 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6faa61a7168834eea194802933cb4049c9d9c70db5d0b406cb0696593c71bde0
|
4
|
+
data.tar.gz: 66cc39dae42afca55d2ad8749e186e943e546a61b4d378b09ab43f2d47f4b616
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ca6cccfbbf5dbdf90daff89652346d9b07a2fd5cd179a2cbc129b642287f92d831f06b14817be247a2ee72ea8017b31e10ff1fc5abbb3e9242f1716f5fa3a1fc
|
7
|
+
data.tar.gz: 1936f0e3a057abb329786f7219ad7be9a66d424ca01af3c466329e1197d42c94c95c982f107f2b188aaf01bcbf8e3aeab138812fc672981043885e1da6880c13
|
data/CHANGELOG.md
ADDED
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
|
+
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
|
+
kind: "tree" # may be 'tree' or '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
|
+
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 }}
|