jekyll-bonsai 0.0.3 → 0.0.4

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 (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
+ }