jekyll-bonsai 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (191) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +676 -0
  3. data/README.md +2 -6
  4. data/_config.yml +173 -76
  5. data/_data/emoji.yml +45 -0
  6. data/_data/themes.yml +145 -0
  7. data/_includes/anchor-headings.html +5 -1
  8. data/_includes/btn_state.html +14 -0
  9. data/_includes/connect.html +11 -9
  10. data/_includes/cookie-consent.html +79 -0
  11. data/_includes/dates.html +22 -0
  12. data/_includes/hp-tooltip.html +106 -0
  13. data/_includes/img/bullet-net-web.svg +1 -1
  14. data/_includes/img/bullet-tree.svg +1 -1
  15. data/_includes/img/pencil-filter.svg +17 -0
  16. data/_includes/share.html +10 -8
  17. data/_includes/site-nav.html +83 -37
  18. data/_includes/themes.scss.liquid +80 -0
  19. data/_includes/toc.html +187 -0
  20. data/_layouts/404.html +10 -0
  21. data/_layouts/about.html +14 -0
  22. data/_layouts/archive.html +77 -0
  23. data/_layouts/base.html +68 -0
  24. data/_layouts/book.html +49 -0
  25. data/_layouts/entry.html +221 -93
  26. data/_layouts/home.html +96 -0
  27. data/_layouts/post.html +40 -22
  28. data/_layouts/privacy.html +15 -0
  29. data/_layouts/recent.html +65 -0
  30. data/_layouts/state.html +54 -43
  31. data/_sass/base/_code.scss +133 -0
  32. data/_sass/base/_layout.scss +30 -29
  33. data/_sass/base/_link.scss +105 -0
  34. data/_sass/base/_main.scss +19 -126
  35. data/_sass/base/_markdown.scss +281 -0
  36. data/_sass/base/_typography.scss +81 -67
  37. data/_sass/base/code_themes/_gruvbox.scss +92 -0
  38. data/_sass/base/code_themes/_monokai.scss +217 -0
  39. data/_sass/base/code_themes/_solarized.scss +84 -0
  40. data/_sass/components/_btn.scss +95 -0
  41. data/_sass/components/_infobox.scss +48 -0
  42. data/_sass/components/_item.scss +28 -0
  43. data/_sass/components/_search.scss +61 -0
  44. data/_sass/components/_tag_pills.scss +24 -0
  45. data/_sass/components/_visited.scss +42 -0
  46. data/_sass/includes/_anchor_headings.scss +36 -0
  47. data/_sass/includes/_connect.scss +8 -0
  48. data/_sass/includes/_cookie_consent.scss +46 -0
  49. data/_sass/includes/_dates.scss +6 -0
  50. data/_sass/includes/_hp_tooltip.scss +41 -0
  51. data/_sass/includes/_share.scss +10 -0
  52. data/_sass/includes/_site_nav.scss +26 -150
  53. data/_sass/includes/_svg.scss +89 -0
  54. data/_sass/includes/_toc.scss +38 -0
  55. data/_sass/layouts/_404.scss +3 -0
  56. data/_sass/layouts/_about.scss +3 -0
  57. data/_sass/layouts/_archive.scss +26 -0
  58. data/_sass/layouts/_book.scss +17 -0
  59. data/_sass/layouts/_entry.scss +140 -0
  60. data/_sass/layouts/_home.scss +75 -0
  61. data/_sass/layouts/_post.scss +17 -0
  62. data/_sass/layouts/_privacy.scss +3 -0
  63. data/_sass/layouts/_recent.scss +77 -0
  64. data/_sass/layouts/_state.scss +98 -0
  65. data/_sass/main.scss +72 -0
  66. data/_sass/{support → util}/_functions.scss +0 -0
  67. data/_sass/{support → util}/_variables.scss +21 -87
  68. data/_sass/{support → util}/mixins/_buttons.scss +0 -0
  69. data/_sass/util/mixins/_layout.scss +81 -0
  70. data/_sass/{support → util}/mixins/_typography.scss +0 -0
  71. data/assets/css/styles.scss +29 -6
  72. data/assets/img/bonsai-star.png +0 -0
  73. data/assets/img/bonsai-star.svg +1 -0
  74. data/assets/img/nav-base-star.svg +1 -0
  75. data/assets/img/nav-bonsai-star.svg +1 -0
  76. data/assets/js/entry.js +33 -5
  77. data/assets/js/graph.js +21 -509
  78. data/assets/js/scripts.js +41 -57
  79. data/assets/js/search.js +164 -0
  80. data/assets/js/site-nav.js +99 -99
  81. data/assets/js/theme-colors.js +23 -37
  82. data/assets/js/vendor/lunr.js +3475 -0
  83. data/assets/js/vendor/lunr.min.js +6 -0
  84. data/assets/js/visited-nav.js +65 -0
  85. metadata +143 -150
  86. data/_entries/digital-garden.bonsai.md +0 -36
  87. data/_entries/digital-garden.field-logs.md +0 -10
  88. data/_entries/digital-garden.fork.md +0 -10
  89. data/_entries/digital-garden.md +0 -17
  90. data/_entries/digital-garden.path.md +0 -11
  91. data/_entries/digital-garden.plants.md +0 -12
  92. data/_entries/digital-garden.pollinate.md +0 -10
  93. data/_entries/digital-garden.steps.md +0 -10
  94. data/_entries/digital-garden.stream.md +0 -12
  95. data/_entries/digital-garden.sweep.md +0 -12
  96. data/_entries/digital-garden.weather.md +0 -12
  97. data/_entries/features.md +0 -10
  98. data/_entries/features.notes.hover-preview.md +0 -10
  99. data/_entries/features.notes.md +0 -12
  100. data/_entries/features.notes.note-body.md +0 -12
  101. data/_entries/features.notes.note-body.share.md +0 -10
  102. data/_entries/features.notes.note-body.sidenotes.md +0 -52
  103. data/_entries/features.notes.note-foot.links.md +0 -10
  104. data/_entries/features.notes.note-foot.md +0 -11
  105. data/_entries/features.notes.note-foot.posts.md +0 -10
  106. data/_entries/features.notes.note-foot.webmentions.md +0 -10
  107. data/_entries/features.notes.note-head.md +0 -10
  108. data/_entries/features.pages.field-blogs.md +0 -10
  109. data/_entries/features.pages.md +0 -12
  110. data/_entries/features.pages.recent.md +0 -10
  111. data/_entries/features.pages.status-tags.md +0 -10
  112. data/_entries/features.site-nav.graph.links.md +0 -10
  113. data/_entries/features.site-nav.graph.links.namespacing.md +0 -14
  114. data/_entries/features.site-nav.graph.links.wikilinks.md +0 -25
  115. data/_entries/features.site-nav.graph.md +0 -12
  116. data/_entries/features.site-nav.graph.nodes.current-note.md +0 -10
  117. data/_entries/features.site-nav.graph.nodes.md +0 -12
  118. data/_entries/features.site-nav.graph.nodes.mia.missing-note.md +0 -20
  119. data/_entries/features.site-nav.graph.nodes.visited-status.md +0 -10
  120. data/_entries/features.site-nav.graph.toggle-graph.md +0 -13
  121. data/_entries/features.site-nav.graph.type.md +0 -16
  122. data/_entries/features.site-nav.graph.type.net-web.md +0 -10
  123. data/_entries/features.site-nav.graph.type.tree.md +0 -12
  124. data/_entries/features.site-nav.md +0 -10
  125. data/_entries/features.site-nav.visited.md +0 -14
  126. data/_entries/features.tags.md +0 -13
  127. data/_entries/features.themes.dark.md +0 -12
  128. data/_entries/features.themes.light.md +0 -10
  129. data/_entries/features.themes.md +0 -12
  130. data/_entries/features.visited.delete-data.md +0 -10
  131. data/_entries/features.visited.md +0 -12
  132. data/_entries/features.visitor-preferences.md +0 -27
  133. data/_entries/feedback.md +0 -10
  134. data/_entries/people.creator.md +0 -12
  135. data/_entries/people.md +0 -13
  136. data/_entries/people.visitors.md +0 -12
  137. data/_entries/plugins.jekyll-wikilinks.md +0 -10
  138. data/_entries/plugins.md +0 -10
  139. data/_entries/root.md +0 -26
  140. data/_includes/entry-attrs.html +0 -27
  141. data/_includes/head.html +0 -23
  142. data/_includes/hover-preview.html +0 -84
  143. data/_includes/metrics.html +0 -10
  144. data/_includes/styles.scss.liquid +0 -3
  145. data/_layouts/default.html +0 -39
  146. data/_pages/about.md +0 -7
  147. data/_pages/posts.html +0 -19
  148. data/_pages/recent.html +0 -48
  149. data/_plugins/doc_filters.rb +0 -44
  150. data/_plugins/prep_entry.rb +0 -43
  151. data/_plugins/sidenote.rb +0 -123
  152. data/_plugins/tags.rb +0 -52
  153. data/_sass/base/base.scss +0 -3
  154. data/_sass/color/dark.scss +0 -58
  155. data/_sass/color/light.scss +0 -58
  156. data/_sass/includes/_btn.scss +0 -106
  157. data/_sass/includes/_graph.scss +0 -69
  158. data/_sass/includes/_nav.scss +0 -89
  159. data/_sass/includes/_tooltip.scss +0 -29
  160. data/_sass/includes/includes.scss +0 -9
  161. data/_sass/markdown/_code.scss +0 -340
  162. data/_sass/markdown/_content.scss +0 -400
  163. data/_sass/markdown/_tables.scss +0 -60
  164. data/_sass/markdown/markdown.scss +0 -7
  165. data/_sass/modules.scss +0 -14
  166. data/_sass/pages/_index.scss +0 -72
  167. data/_sass/pages/_posts.scss +0 -17
  168. data/_sass/pages/_recent.scss +0 -26
  169. data/_sass/pages/_state.scss +0 -72
  170. data/_sass/pages/pages.scss +0 -4
  171. data/_sass/support/mixins/_layout.scss +0 -56
  172. data/_sass/support/mixins/mixins.scss +0 -3
  173. data/_sass/support/support.scss +0 -3
  174. data/_states/bamboo.md +0 -8
  175. data/_states/berry.md +0 -8
  176. data/_states/bloom.md +0 -8
  177. data/_states/bud.md +0 -6
  178. data/_states/fruit.md +0 -8
  179. data/_states/melon.md +0 -8
  180. data/_states/pot-bamboo.md +0 -8
  181. data/_states/seed.md +0 -8
  182. data/_states/sprout.md +0 -8
  183. data/_states/tags.md +0 -8
  184. data/_states/tea.md +0 -8
  185. data/assets/css/styles-dark.scss +0 -3
  186. data/assets/css/styles-light.scss +0 -3
  187. data/assets/img/nav-dot-dark.svg +0 -1
  188. data/assets/img/nav-dot-light.svg +0 -1
  189. data/assets/img/nav-wiki-links-dark.svg +0 -1
  190. data/assets/img/nav-wiki-links-light.svg +0 -1
  191. data/index.html +0 -82
data/_layouts/post.html CHANGED
@@ -1,29 +1,47 @@
1
1
  ---
2
- layout: default
2
+ layout: base
3
3
  ---
4
4
 
5
- <div id="post">
5
+ <article id="post"
6
+ class="post h-entry"
7
+ role="article"
8
+ itemscope
9
+ itemtype="http://schema.org/BlogPosting"
10
+ aria-labelledby="{{ title | slug }}-title">
6
11
 
7
- <h1>{{ page.title }}</h1>
8
- <p class="small-descr">
9
- {% assign stat_tags = page.tags | stat_tags %}
10
- {% for stat_tag in stat_tags %}
11
- <a class="stat-tag" href="{{ stat_tag.url | relative_url }}">{{ stat_tag.emoji }}</a>
12
- {% endfor %}
13
- <span>Last Tended: {{ page.updated | date: "%Y-%m-%d" }}</span>
14
- </p>
12
+ <div class="post__title hp-title">
13
+ <h1 class="p-name">{{ page.title }}</h1>
14
+ </div>
15
15
 
16
- {{ content }}
16
+ <section class="post__infobox">
17
+ <div class="infobox">
18
+ {% include toc.html html=content wrap_class="toc" class="toc__list" item_class="toc__list-item" anchor_class="toc__anchor" %}
19
+ {% include dates.html updated=page.updated date=page.date %}
20
+ <div class="infobox__bar">
21
+ {% include btn_state.html states=page.status %}
22
+ {% if site.social.share.enabled %}
23
+ {% include share.html %}
24
+ {% endif %}
25
+ </div>
26
+ <div class="infobox__sem-tags p-category">
27
+ {% for sem_tag in page.tags %}
28
+ {% assign sem_tag_file = sem_tag | append: ".md" %}
29
+ {% assign entry = site.entries | find_exp: "item", "item.path contains sem_tag_file" %}
30
+ <button class="tag-pill {% if entry %}{% else %}disabled{% endif %}">
31
+ {% if entry %}
32
+ {% include btn_state.html states=entry.status %}
33
+ <a class="sem-tag" href="{{ entry.url | relative_url }}">{{ entry.title }}</a>
34
+ {% else %}
35
+ <span class="text--small">{{ site.data.emoji.missing }} {{ sem_tag }}</span>
36
+ {% endif %}
37
+ </button>
38
+ {% endfor %}
39
+ </div>
40
+ </div>
41
+ </section>
17
42
 
18
- <p>
19
- {% assign sem_tags = page.tags | sem_tags %}
20
- {% for sem_tag in sem_tags %}
21
- <a class="sem-tag" href="{{ sem_tag.url | relative_url }}">{{ sem_tag.tag }}</a>
22
- {% endfor %}
23
- </p>
43
+ <div class="post__content markdown hp-content e-content p-name">
44
+ {{ content }}
45
+ </div>
24
46
 
25
- {% if site.social.enabled %}
26
- {% include share.html %}
27
- {% endif %}
28
-
29
- </div>
47
+ </article>
@@ -0,0 +1,15 @@
1
+ ---
2
+ layout: base
3
+ ---
4
+
5
+ <div id="privacy" class="privacy">
6
+
7
+ <div class="hp-title">
8
+ <h1 class="p-name">{{ site.data.emoji.privacy }} {{ page.title }}</h1>
9
+ </div>
10
+
11
+ <div class="hp-content markdown e-content p-name">
12
+ {{ content }}
13
+ </div>
14
+
15
+ </div>
@@ -0,0 +1,65 @@
1
+ ---
2
+ layout: base
3
+ ---
4
+ <div id="recent" class="recent">
5
+
6
+ <section class="recent__leader">
7
+ <div class="hp-title">
8
+ <h1 class="p-name">{{ site.data.emoji.recent }} {{ page.title }}</h1>
9
+ </div>
10
+ <div class="leader">
11
+ <div class="leader__content markdown hp-content e-content p-name">
12
+ {{ content }}
13
+ </div>
14
+ <aside class="key">
15
+ <span class="key__title">Key</span>
16
+ <div class="key__content">
17
+ <p class="text--small"><em>{{ site.data.emoji.created }} Planted (Created) (Inactive)</em></p>
18
+ <p>{{ site.data.emoji.published }} Transplanted (Published)</p>
19
+ <p>{{ site.data.emoji.updated }} Last Tended (Updated)</p>
20
+ <p class="text--small"><em>{{ site.data.emoji.deleted }} Uprooted (Deleted) (Inactive)</em></p>
21
+ </div>
22
+ </aside>
23
+ </div>
24
+ </section>
25
+
26
+ <section class="recent__content">
27
+ <ul>
28
+ {% assign recent_docs = site.documents | sort: 'updated' | reverse %}
29
+ {% for doc in recent_docs limit: site.bonsai.recent.cap %}
30
+ <!-- determine if doc's recent status -->
31
+ <!-- from: https://stackoverflow.com/questions/37340705/shopify-liquid-find-number-of-days-between-two-dates -->
32
+ <!-- {% assign ctime = doc.created | date: '%s' %} -->
33
+ {% assign ptime = doc.date | date: '%s' %}
34
+ {% assign mtime = doc.updated | date: '%s' %}
35
+ {% assign sec_diff = mtime | minus: ptime %}
36
+ {% assign is_same_day = sec_diff | divided_by: 3600 | divided_by: 24 %}
37
+ <li>
38
+ <div class="item">
39
+ <div class="bullet-scene">
40
+ <span class="bullet-scene__change-type">
41
+ {% if is_same_day == 0 %}
42
+ {{ site.data.emoji.published }}
43
+ {% else %}
44
+ {{ site.data.emoji.updated }}
45
+ {% endif %}
46
+ </span>
47
+ <span class="bullet-scene__status">
48
+ {% include btn_state.html states=doc.status %}
49
+ </span>
50
+ </div>
51
+ <div class="item__text">
52
+ <span class="item__text--big">
53
+ <a class="wiki-link" href="{{ doc.url | relative_url }}">{{ doc.title }}</a>
54
+ </span>
55
+ <time class="text--date dt-updated">
56
+ {{ doc.updated | slice: 0, 10 | date: site.bonsai.date_format }}
57
+ </time>
58
+ </div>
59
+ </div>
60
+ </li>
61
+ {% endfor %}
62
+ </ul>
63
+ </section>
64
+
65
+ </div>
data/_layouts/state.html CHANGED
@@ -1,59 +1,70 @@
1
1
  ---
2
- layout: default
2
+ layout: base
3
3
  ---
4
+
4
5
  {% assign states = site.states %}
5
6
  {% assign index_state_title = "Plant Tags Page" %}
6
7
 
7
- <div id="states" class="states-page">
8
- <nav class="states-nav">
9
- <ul class="states-nav-list">
8
+ <div id="state" class="state">
9
+
10
+ <nav class="state__nav">
11
+ <ul>
10
12
  {% for state in states %}
11
- <li class="states-list-item {% if page.url == state.url %}active{% endif %}">
12
- <a href="{{ state.url | relative_url }}" class="stat-tag">
13
+ <li class="{% if page.url == state.url %}active{% endif %}">
14
+ <a class="stat-tag" href="{{ state.url | relative_url }}">
13
15
  {{ state.emoji }}
14
16
  </a>
15
17
  </li>
16
18
  {% endfor %}
17
19
  </ul>
18
20
  </nav>
21
+
22
+ <div class="state__content">
19
23
 
20
- <!-- all states -->
21
- {% if page.title == index_state_title %}
22
- <h1>🔖 Plant Tags In This Garden</h1>
23
- {{ content }}
24
- <p class="small-descr">
25
- Descriptions only reflect the spirit of this garden.
26
- Click <a href="{{ page.emojipedia }}">here</a> for the official emoji description.
27
- </p>
28
- {% for state in states %}
29
- {% if state.title != index_state_title %}
30
- <h2>{{ state.emoji }} <a href="{{ state.url | relative_url }}" class="wiki-link">{{ state.title }}</a></h2>
31
- <p>{{ state.content | markdownify }}</p>
32
- {% endif %}
33
- {% endfor %}
34
- <!-- individual states -->
35
- {% else %}
36
- <!-- page == tag (from tag-nav) -->
37
- {% assign entries_w_stat = site.entries | where: 'tags', page.emoji %}
38
- <h1>{{ page.emoji }} {{ page.title }}</h1>
39
- {{ content }}
40
- <p class="small-descr">
41
- Descriptions only reflect the spirit of this garden.
42
- Click <a href="{{ page.emojipedia }}">here</a> for the official emoji description.
43
- </p>
44
-
45
- {% if entries_w_stat.size == 0 %}
46
- <div class="no-results">
47
- There are currently no {{ page.emoji }}s.
24
+ <section>
25
+ <div class="hp-title">
26
+ <h1 class="p-name">{{ page.emoji }} {{ page.title }}</h1>
48
27
  </div>
28
+ <div class="markdown hp-content e-content p-name">
29
+ {{ content }}
30
+ </div>
31
+ </section>
32
+
33
+ <!-- display all states on root state -->
34
+ {% if page.path == site.bonsai.states.root_path %}
35
+ <section class="has-web-links">
36
+ {% for state in states %}
37
+ {% if state.path != site.bonsai.states.root_path %}
38
+ <h4>{{ state.emoji }} {{ state.title }}</h4>
39
+ {{ state.content | markdownify }}
40
+ {% endif %}
41
+ {% endfor %}
42
+ </section>
43
+ <!-- display entries with that state as its status -->
49
44
  {% else %}
50
- <ul class="states-list">
51
- {% for entry in entries_w_stat %}
52
- <li class="states-list-item">
53
- {{ page.emoji }} <a href="{{ entry.url | relative_url }}" class="wiki-link">{{ entry.title }}</a>
54
- </li>
55
- {% endfor %}
56
- </ul>
57
- {% endif %}
58
- {% endif %}
45
+ <section>
46
+ <!-- page == tag (from tag-nav) -->
47
+ {% assign docs_w_stat = site.documents | where: 'status', page.emoji %}
48
+ {% if docs_w_stat.size == 0 and page.path != site.bonsai.states.root_path %}
49
+ <div class="state__list-wrap--empty">
50
+ <span>There are currently no {{ page.emoji }}s.</span>
51
+ </div>
52
+ {% else %}
53
+ <ul class="state__list-wrap">
54
+ {% for entry in docs_w_stat %}
55
+ <li>
56
+ {{ page.emoji }} <a class="wiki-link" href="{{ entry.url | relative_url }}">{{ entry.title }}</a>
57
+ </li>
58
+ {% endfor %}
59
+ </ul>
60
+ {% endif %}
61
+ </section>
62
+ {% endif %}
63
+
64
+ </div>
65
+
66
+ <footer class="state__footer text--small">
67
+ Descriptions only reflect the spirit of this garden. Check out the official description: <a class="web-link" href="{{ page.emojipedia }}"> here </a>.
68
+ </footer>
69
+
59
70
  </div>
@@ -0,0 +1,133 @@
1
+ //
2
+ // Code and syntax highlighting
3
+ //
4
+ // stylelint-disable selector-no-qualifying-type, declaration-block-semicolon-newline-after,declaration-block-single-line-max-declarations, selector-no-type, selector-max-type
5
+
6
+ // from: https://bnhr.xyz/2017/03/25/add-syntax-highlighting-to-your-jekyll-site-with-rouge.html
7
+ // @import './code_themes/gruvbox';
8
+ @import './code_themes/solarized';
9
+ // @import './code_themes/monokai';
10
+
11
+ code {
12
+ padding: $sp-1 $sp-1;
13
+ font-weight: 400;
14
+ border-radius: $border-radius;
15
+ background-color: var(--accent-dark-color);
16
+ }
17
+
18
+ // Avoid appearance of dark border around visited code links in Safari
19
+ a:visited code {
20
+ border-color: var(--accent-light-color);
21
+ }
22
+
23
+ // Content structure for highlighted code blocks using fences or Liquid
24
+ //
25
+ // ```[LANG]...```, no kramdown line_numbers:
26
+ // div.[language-LANG.]highlighter-rouge > div.highlight > pre.highlight > code
27
+ //
28
+ // ```[LANG]...```, kramdown line_numbers = true:
29
+ // div.[language-LANG.]highlighter-rouge > div.highlight > pre.highlight > code
30
+ // > div.table-wrapper > table.rouge-table > tbody > tr
31
+ // > td.rouge-gutter.gl > pre.lineno
32
+ // | td.rouge-code > pre
33
+ //
34
+ // {% highlight LANG %}...{% endhighlight %}:
35
+ // figure.highlight > pre > code.language-LANG
36
+ //
37
+ // {% highlight LANG linenos %}...{% endhighlight %}:
38
+ // figure.highlight > pre > code.language-LANG
39
+ // > div.table-wrapper > table.rouge-table > tbody > tr
40
+ // > td.gutter.gl > pre.lineno
41
+ // | td.code > pre
42
+ //
43
+ // fix_linenos removes the outermost pre when it encloses table.rouge-table
44
+ //
45
+ // See docs/index-test.md for some tests.
46
+ //
47
+ // No kramdown line_numbers: fences and Liquid highlighting look the same.
48
+ // Kramdown line_numbers = true: fences have a wider gutter than with Liquid?
49
+
50
+ // ```[LANG]...```
51
+ div.highlighter-rouge {
52
+ overflow-x: auto;
53
+ padding: $sp-3;
54
+ margin-top: $sp-3;
55
+ margin-bottom: $sp-3;
56
+ background-color: var(--accent-dark-color);
57
+ border-radius: $border-radius;
58
+ box-shadow: none;
59
+ -webkit-overflow-scrolling: touch;
60
+
61
+ div.highlight,
62
+ pre.highlight,
63
+ code {
64
+ padding: 0;
65
+ margin: 0;
66
+ border: 0;
67
+ }
68
+ }
69
+
70
+ // {% highlight LANG %}...{% endhighlight %},
71
+ // {% highlight LANG linenos %}...{% endhighlight %}:
72
+ figure.highlight {
73
+ padding: $sp-3;
74
+ margin-top: 0;
75
+ margin-bottom: $sp-3;
76
+ background-color: var(--accent-dark-color);
77
+ border-radius: $border-radius;
78
+ box-shadow: none;
79
+ -webkit-overflow-scrolling: touch;
80
+
81
+ pre,
82
+ code {
83
+ padding: 0;
84
+ margin: 0;
85
+ border: 0;
86
+ }
87
+ }
88
+
89
+ // ```[LANG]...```, kramdown line_numbers = true,
90
+ // {% highlight LANG linenos %}...{% endhighlight %}:
91
+ .highlight .table-wrapper {
92
+ padding: 0;
93
+ margin: 0;
94
+ border: 0;
95
+ box-shadow: none;
96
+
97
+ td,
98
+ pre {
99
+ @include fs-2;
100
+ min-width: 0;
101
+ padding: 0;
102
+ background-color: var(--accent-dark-color);
103
+ border: 0;
104
+ }
105
+
106
+ td.gl {
107
+ padding-right: $sp-3;
108
+ }
109
+
110
+ pre {
111
+ margin: 0;
112
+ line-height: 2;
113
+ }
114
+ }
115
+
116
+ .code-example {
117
+ padding: $sp-3;
118
+ margin-bottom: $sp-3;
119
+ overflow: auto;
120
+ border: 1px solid var(--accent-light-color);
121
+ border-radius: $border-radius;
122
+
123
+ + .highlighter-rouge,
124
+ + figure.highlight {
125
+ position: relative;
126
+ margin-top: -$sp-4;
127
+ border-right: 1px solid var(--accent-light-color);
128
+ border-bottom: 1px solid var(--accent-light-color);
129
+ border-left: 1px solid var(--accent-light-color);
130
+ border-top-left-radius: 0;
131
+ border-top-right-radius: 0;
132
+ }
133
+ }
@@ -1,54 +1,55 @@
1
- //
2
1
  // two column layout
3
- //
4
2
 
5
3
  .side-bar {
6
- z-index: 1;
7
- display: flex;
8
- flex-wrap: wrap;
4
+ position: fixed;
5
+ z-index: $z-nav;
6
+ display: none;
7
+ height: 100vh;
9
8
 
10
9
  @include mq(md) {
10
+ display: block;
11
11
  width: $nav-width-md;
12
- flex-wrap: nowrap;
13
- position: fixed;
14
- height: 100%;
15
12
  }
16
13
 
17
14
  @include mq(lg) {
15
+ display: block;
18
16
  width: $nav-width-lg;
19
17
  }
18
+
19
+ &.nav-open {
20
+ display: block;
21
+ width: 100vw;
22
+ }
20
23
  }
21
24
 
22
25
  .main {
23
- height: 100%;
26
+ @include container;
27
+ display: flex;
28
+ flex-direction: column;
29
+ min-height: 100vh;
24
30
 
25
31
  @include mq(md) {
26
- max-width: $content-width;
27
32
  margin-left: $nav-width-md;
28
33
  }
29
34
 
30
35
  @include mq(lg) {
31
36
  margin-left: $nav-width-lg;
32
37
  }
33
- }
34
38
 
35
- .main-content-wrap {
36
- @include container;
37
-
38
- display: flex;
39
- flex-direction: column;
40
-
41
- padding-top: $gutter-spacing-sm;
42
- padding-bottom: $gutter-spacing-sm;
43
-
44
- min-height: 100vh;
45
-
46
- @include mq(md) {
47
- padding-top: $gutter-spacing;
48
- padding-bottom: $gutter-spacing;
39
+ &__content {
40
+ flex: 1 0 auto;
49
41
  }
50
- }
51
42
 
52
- .entry-body {
53
- padding: $sp-3;
54
- }
43
+ &__footer {
44
+ // 'sticky footer' from: https://css-tricks.com/couple-takes-sticky-footer/#there-is-flexbox
45
+ // ex = local
46
+ // footer = main__footer
47
+ // content = main__content
48
+ // body = main
49
+ // html, body = main (height is min-height)
50
+ flex-shrink: 0;
51
+ display: flex;
52
+
53
+ padding-top: $sp-10;
54
+ }
55
+ }
@@ -0,0 +1,105 @@
1
+ // link -- a tag -- styles
2
+
3
+ a {
4
+ text-decoration: none;
5
+ }
6
+
7
+ a.sem-tag {
8
+ @include fs-2;
9
+ color: var(--wiki-link-color);
10
+ }
11
+
12
+ a.stat-tag {
13
+ color: var(--body-text-color);
14
+ filter: drop-shadow(0 0 0.2mm $drop-shadow-green);
15
+ }
16
+
17
+ a.web-link {
18
+ color: var(--link-color);
19
+ text-decoration: none;
20
+ background-image: linear-gradient(
21
+ var(--link-underline-color) 0%,
22
+ var(--link-underline-color) 100%
23
+ );
24
+ background-repeat: repeat-x;
25
+ background-position: 0 100%;
26
+ background-size: 1px 1px;
27
+
28
+ &:hover {
29
+ background-image: linear-gradient(
30
+ var(--link-color) 0%,
31
+ var(--link-color) 100%
32
+ );
33
+ background-size: 1px 1px;
34
+ }
35
+ }
36
+
37
+ // wiki-link classes
38
+
39
+ .invalid-wiki-link {
40
+ color: var(--invalid-wiki-link-color);
41
+ cursor: help;
42
+ }
43
+
44
+ a.wiki-link {
45
+ color: var(--wiki-link-color);
46
+ text-decoration: none;
47
+ background-image: linear-gradient(
48
+ var(--wiki-link-underline-color) 0%,
49
+ var(--wiki-link-underline-color) 100%
50
+ );
51
+ background-repeat: repeat-x;
52
+ background-position: 0 100%;
53
+ background-size: 1px 1px;
54
+
55
+ &:hover {
56
+ background-image: linear-gradient(
57
+ var(--wiki-link-color) 0%,
58
+ var(--wiki-link-color) 100%
59
+ );
60
+ background-size: 1px 1px;
61
+ }
62
+ }
63
+
64
+ .embed-wrapper {
65
+ position: relative;
66
+ border: 1px solid var(--accent-light-color);
67
+ border-radius: 15px;
68
+ padding: $sp-3;
69
+
70
+ .embed-title {
71
+ @include fs-6;
72
+ padding-top: $sp-3;
73
+ padding-left: $sp-3;
74
+ }
75
+
76
+ .embed-content {
77
+ padding: $sp-3;
78
+ }
79
+
80
+ .embed-wiki-link {
81
+ position: absolute;
82
+ top: 1em;
83
+ right: 1em;
84
+
85
+ &::before {
86
+ content: "🥾";
87
+ }
88
+
89
+ &:hover {
90
+ filter: drop-shadow(0 0 0.8mm $drop-shadow-brown);
91
+ }
92
+ }
93
+ }
94
+
95
+ .embed-image-wrapper {
96
+ display: flex;
97
+ justify-content: center;
98
+ padding-top: $sp-2;
99
+ padding-bottom: $sp-2;
100
+
101
+ .embed-image {
102
+ height: 50%;
103
+ width: 50%;
104
+ }
105
+ }