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.
Files changed (135) 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-tree.svg +9 -0
  17. data/_includes/img/bullet-web.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 +152 -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 +84 -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/img/wikibonsai-way.png +0 -0
  126. data/assets/js/entry.js +130 -0
  127. data/assets/js/graph.js +64 -0
  128. data/assets/js/scripts.js +64 -0
  129. data/assets/js/search.js +165 -0
  130. data/assets/js/site-nav.js +132 -0
  131. data/assets/js/theme-colors.js +57 -0
  132. data/assets/js/vendor/lunr.js +3475 -0
  133. data/assets/js/vendor/lunr.min.js +6 -0
  134. data/assets/js/visited-nav.js +65 -0
  135. metadata +139 -5
@@ -0,0 +1,96 @@
1
+ ---
2
+ layout: base
3
+ ---
4
+
5
+ <div id="home" class="home">
6
+
7
+ <section class="lead">
8
+ <div class="lead__img">
9
+ <img id="home-logo" class="lead__img--size">
10
+ </div>
11
+ {% assign root = site.entries | find_exp: "item", "item.path == site.bonsai.entries.root_path" %}
12
+ <div class="lead__title hp-title">
13
+ <h1 class="p-name"><a class="wiki-link" href="{{ root.url | relative_url }}">{{ page.title }}</a></h4>
14
+ </div>
15
+ <div class="lead__content markdown hp-content">
16
+ {{ content }}
17
+ </div>
18
+ </section>
19
+
20
+ <div class="home__content">
21
+
22
+ {% if site.bonsai.home.notable.enabled %}
23
+ <section class="featured">
24
+ <div class="featured__header">
25
+ <h4>Notable</h4>
26
+ </div>
27
+ <div class="featured__content">
28
+ <ul>
29
+ {% for notable in site.bonsai.home.notable.docs %}
30
+ {% assign doc = site.documents | find_exp: "item", "item.path contains notable" %}
31
+ <li>
32
+ <div class="item">
33
+ <div class="item__status">
34
+ {% include btn_state.html states=doc.status %}
35
+ </div>
36
+ <div class="item__text">
37
+ <span>
38
+ <a class="wiki-link" href="{{ doc.url | relative_url }}"> {{ doc.title }}</a>
39
+ </span>
40
+ <time class="text--date dt-updated">
41
+ {{ doc.updated | date: '%s' | slice: 0, 10 | date: site.bonsai.date_format }}
42
+ </time>
43
+ </div>
44
+ </div>
45
+ </li>
46
+ {% endfor %}
47
+ </ul>
48
+ {% assign about_page = site.pages | where: "name", "about.md" %}
49
+ <!-- using '.first' to test if any results were found -->
50
+ {% if about_page.first %}
51
+ <p class="featured__footer">For more, see <a class="wiki-link" href="{{ '/about/' | relative_url }}">about {{ site.data.emoji.about }}</a></p>
52
+ {% endif %}
53
+ </div>
54
+ </section>
55
+ {% endif %}
56
+
57
+ {% if site.bonsai.home.recent.enabled %}
58
+ <section class="featured__section">
59
+ <div class="featured__header">
60
+ <h4>Recent</h4>
61
+ </div>
62
+ <div class="featured__content">
63
+ <ul>
64
+ {% assign recent_docs = site.documents | sort: 'updated' | reverse %}
65
+ {% for doc in recent_docs limit: site.bonsai.home.recent.cap %}
66
+ <li>
67
+ <div class="item">
68
+ <div class="item__status">
69
+ {% include btn_state.html states=doc.status %}
70
+ </div>
71
+ <div class="item__text">
72
+ <span>
73
+ <a class="wiki-link" href="{{ doc.url | relative_url }}"> {{ doc.title }}</a>
74
+ </span>
75
+ <time class="text--date dt-updated">
76
+ {{ doc.updated | date: '%s' | slice: 0, 10 | date: site.bonsai.date_format }}
77
+ </time>
78
+ </div>
79
+ </div>
80
+ </li>
81
+ {% endfor %}
82
+ </ul>
83
+ {% assign recent_page = site.pages | where: "name", "recent.md" %}
84
+ <!-- using '.first' to test if any results were found -->
85
+ {% if recent_page.first %}
86
+ <p class="featured__footer">
87
+ For more updates, check the <a class="wiki-link" href="{{ '/recent/' | relative_url }}">weather {{ site.data.emoji.recent }}</a>
88
+ </p>
89
+ {% endif %}
90
+ </div>
91
+ </section>
92
+ {% endif %}
93
+
94
+ </div>
95
+
96
+ </div>
data/_layouts/map.html ADDED
@@ -0,0 +1,17 @@
1
+ ---
2
+ layout: base
3
+ ---
4
+ <div id="map" class="map">
5
+
6
+ <div class="hp-title">
7
+ <h1 class="p-name">{{ site.data.emoji.bonsai }} {{ page.title }}</h1>
8
+ </div>
9
+
10
+ <div class="hp-content e-content p-name">
11
+ {{ content }}
12
+
13
+ {% assign child_nodes = page.nodes | where_exp: "node", "node.ancestors.size == 0"%}
14
+ {% include branch.html children=child_nodes %}
15
+ </div>
16
+
17
+ </div>
@@ -0,0 +1,37 @@
1
+ ---
2
+ layout: base
3
+ ---
4
+
5
+ <article id="post"
6
+ class="post h-entry"
7
+ role="article"
8
+ itemscope
9
+ itemtype="http://schema.org/BlogPosting"
10
+ aria-labelledby="{{ page.title | slugify }}-title">
11
+
12
+ <div class="post__title hp-title">
13
+ <h1 class="p-name">{{ page.title }}</h1>
14
+ </div>
15
+
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
+ {% assign tags_attrs = page.attributes | link_type: "tags" %}
28
+ {% include tags.html tags_attrs=tags_attrs tag_fm=page.tags %}
29
+ </div>
30
+ </div>
31
+ </section>
32
+
33
+ <div class="post__content markdown hp-content e-content p-name">
34
+ {{ content }}
35
+ </div>
36
+
37
+ </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,66 @@
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
+ <!-- note: slicing off milliseconds -->
33
+ <!-- {% assign ctime = doc.created | date: '%s' | slice: 0, 10 %} -->
34
+ {% assign ptime = doc.date | date: '%s' | slice: 0, 10 %}
35
+ {% assign mtime = doc.updated | date: '%s' | slice: 0, 10 %}
36
+ {% assign sec_diff = mtime | minus: ptime %}
37
+ {% assign is_same_day = sec_diff | divided_by: 3600 | divided_by: 24 %}
38
+ <li>
39
+ <div class="item">
40
+ <div class="bullet-scene">
41
+ <span class="bullet-scene__change-type">
42
+ {% if is_same_day == 0 %}
43
+ {{ site.data.emoji.published }}
44
+ {% else %}
45
+ {{ site.data.emoji.updated }}
46
+ {% endif %}
47
+ </span>
48
+ <span class="bullet-scene__status">
49
+ {% include btn_state.html states=doc.status %}
50
+ </span>
51
+ </div>
52
+ <div class="item__text">
53
+ <span class="item__text--big">
54
+ <a class="wiki-link" href="{{ doc.url | relative_url }}">{{ doc.title }}</a>
55
+ </span>
56
+ <time class="text--date dt-updated">
57
+ {{ doc.updated | slice: 0, 10 | date: site.bonsai.date_format }}
58
+ </time>
59
+ </div>
60
+ </div>
61
+ </li>
62
+ {% endfor %}
63
+ </ul>
64
+ </section>
65
+
66
+ </div>
@@ -0,0 +1,70 @@
1
+ ---
2
+ layout: base
3
+ ---
4
+
5
+ {% assign states = site.states %}
6
+ {% assign index_state_title = "Plant Tags Page" %}
7
+
8
+ <div id="state" class="state">
9
+
10
+ <nav class="state__nav">
11
+ <ul>
12
+ {% for state in states %}
13
+ <li class="{% if page.url == state.url %}active{% endif %}">
14
+ <a class="stat-tag" href="{{ state.url | relative_url }}">
15
+ {{ state.emoji }}
16
+ </a>
17
+ </li>
18
+ {% endfor %}
19
+ </ul>
20
+ </nav>
21
+
22
+ <div class="state__content">
23
+
24
+ <section>
25
+ <div class="hp-title">
26
+ <h1 class="p-name">{{ page.emoji }} {{ page.title }}</h1>
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 -->
44
+ {% else %}
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
+
70
+ </div>
@@ -0,0 +1,7 @@
1
+ ---
2
+ layout: vendor/compress
3
+ ---
4
+
5
+ {% assign content_ = content | replace: '<table', '<div class="table-wrapper"><table' %}
6
+ {% assign content_ = content_ | replace: '</table>', '</table></div>' %}
7
+ {{ content_ }}
@@ -0,0 +1,10 @@
1
+ ---
2
+ # Jekyll layout that compresses HTML
3
+ # v3.1.0
4
+ # http://jch.penibelst.de/
5
+ # © 2014–2015 Anatol Broder
6
+ # MIT License
7
+ ---
8
+
9
+ {% capture _LINE_FEED %}
10
+ {% endcapture %}{% if site.compress_html.ignore.envs contains jekyll.environment or site.compress_html.ignore.envs == "all" %}{{ content }}{% else %}{% capture _content %}{{ content }}{% endcapture %}{% assign _profile = site.compress_html.profile %}{% if site.compress_html.endings == "all" %}{% assign _endings = "html head body li dt dd optgroup option colgroup caption thead tbody tfoot tr td th" | split: " " %}{% else %}{% assign _endings = site.compress_html.endings %}{% endif %}{% for _element in _endings %}{% capture _end %}</{{ _element }}>{% endcapture %}{% assign _content = _content | remove: _end %}{% endfor %}{% if _profile and _endings %}{% assign _profile_endings = _content | size | plus: 1 %}{% endif %}{% for _element in site.compress_html.startings %}{% capture _start %}<{{ _element }}>{% endcapture %}{% assign _content = _content | remove: _start %}{% endfor %}{% if _profile and site.compress_html.startings %}{% assign _profile_startings = _content | size | plus: 1 %}{% endif %}{% if site.compress_html.comments == "all" %}{% assign _comments = "<!-- -->" | split: " " %}{% else %}{% assign _comments = site.compress_html.comments %}{% endif %}{% if _comments.size == 2 %}{% capture _comment_befores %}.{{ _content }}{% endcapture %}{% assign _comment_befores = _comment_befores | split: _comments.first %}{% for _comment_before in _comment_befores %}{% if forloop.first %}{% continue %}{% endif %}{% capture _comment_outside %}{% if _carry %}{{ _comments.first }}{% endif %}{{ _comment_before }}{% endcapture %}{% capture _comment %}{% unless _carry %}{{ _comments.first }}{% endunless %}{{ _comment_outside | split: _comments.last | first }}{% if _comment_outside contains _comments.last %}{{ _comments.last }}{% assign _carry = false %}{% else %}{% assign _carry = true %}{% endif %}{% endcapture %}{% assign _content = _content | remove_first: _comment %}{% endfor %}{% if _profile %}{% assign _profile_comments = _content | size | plus: 1 %}{% endif %}{% endif %}{% assign _pre_befores = _content | split: "<pre" %}{% assign _content = "" %}{% for _pre_before in _pre_befores %}{% assign _pres = _pre_before | split: "</pre>" %}{% assign _pres_after = "" %}{% if _pres.size != 0 %}{% if site.compress_html.blanklines %}{% assign _lines = _pres.last | split: _LINE_FEED %}{% capture _pres_after %}{% for _line in _lines %}{% assign _trimmed = _line | split: " " | join: " " %}{% if _trimmed != empty or forloop.last %}{% unless forloop.first %}{{ _LINE_FEED }}{% endunless %}{{ _line }}{% endif %}{% endfor %}{% endcapture %}{% else %}{% assign _pres_after = _pres.last | split: " " | join: " " %}{% endif %}{% endif %}{% capture _content %}{{ _content }}{% if _pre_before contains "</pre>" %}<pre{{ _pres.first }}</pre>{% endif %}{% unless _pre_before contains "</pre>" and _pres.size == 1 %}{{ _pres_after }}{% endunless %}{% endcapture %}{% endfor %}{% if _profile %}{% assign _profile_collapse = _content | size | plus: 1 %}{% endif %}{% if site.compress_html.clippings == "all" %}{% assign _clippings = "html head title base link meta style body article section nav aside h1 h2 h3 h4 h5 h6 hgroup header footer address p hr blockquote ol ul li dl dt dd figure figcaption main div table caption colgroup col tbody thead tfoot tr td th" | split: " " %}{% else %}{% assign _clippings = site.compress_html.clippings %}{% endif %}{% for _element in _clippings %}{% assign _edges = " <e;<e; </e>;</e>;</e> ;</e>" | replace: "e", _element | split: ";" %}{% assign _content = _content | replace: _edges[0], _edges[1] | replace: _edges[2], _edges[3] | replace: _edges[4], _edges[5] %}{% endfor %}{% if _profile and _clippings %}{% assign _profile_clippings = _content | size | plus: 1 %}{% endif %}{{ _content }}{% if _profile %} <table id="compress_html_profile_{{ site.time | date: "%Y%m%d" }}" class="compress_html_profile"> <thead> <tr> <td>Step <td>Bytes <tbody> <tr> <td>raw <td>{{ content | size }}{% if _profile_endings %} <tr> <td>endings <td>{{ _profile_endings }}{% endif %}{% if _profile_startings %} <tr> <td>startings <td>{{ _profile_startings }}{% endif %}{% if _profile_comments %} <tr> <td>comments <td>{{ _profile_comments }}{% endif %}{% if _profile_collapse %} <tr> <td>collapse <td>{{ _profile_collapse }}{% endif %}{% if _profile_clippings %} <tr> <td>clippings <td>{{ _profile_clippings }}{% endif %} </table>{% endif %}{% endif %}
@@ -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
+ }
@@ -0,0 +1,55 @@
1
+ // two column layout
2
+
3
+ .side-bar {
4
+ position: fixed;
5
+ z-index: $z-nav;
6
+ display: none;
7
+ height: 100vh;
8
+
9
+ @include mq(md) {
10
+ display: block;
11
+ width: $nav-width-md;
12
+ }
13
+
14
+ @include mq(lg) {
15
+ display: block;
16
+ width: $nav-width-lg;
17
+ }
18
+
19
+ &.nav-open {
20
+ display: block;
21
+ width: 100vw;
22
+ }
23
+ }
24
+
25
+ .main {
26
+ @include container;
27
+ display: flex;
28
+ flex-direction: column;
29
+ min-height: 100vh;
30
+
31
+ @include mq(md) {
32
+ margin-left: $nav-width-md;
33
+ }
34
+
35
+ @include mq(lg) {
36
+ margin-left: $nav-width-lg;
37
+ }
38
+
39
+ &__content {
40
+ flex: 1 0 auto;
41
+ }
42
+
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: 75%;
103
+ width: 75%;
104
+ }
105
+ }