jekyll-theme-scaffold 0.1.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d89c1e753e4771a39e629f85cf09c306f68b0448811e8e0e7a04380e4d1c5a29
4
- data.tar.gz: f2640e65ffa96312f5857fe64dbb30651958d63aa0c1a9e13a2609d0e357adfb
3
+ metadata.gz: 37740f0fe84bf28ab142600fd0770de2dab3a4abbc057e28670a02f46ce8312d
4
+ data.tar.gz: 0f84ce579902bca7e8cd833297d5cfd4b70801d16ca42d56c8ff6b2f33c908ed
5
5
  SHA512:
6
- metadata.gz: 4736ece470225d567b1a3235301b1cce0ab2ef79fdcf8146bd42bf64c1faa2d22c94ad5f64d9292b62603b6b99b64eae216cdd6798c7f513db7e1b926350395a
7
- data.tar.gz: 2ff2ee1d464c110ca40eb2d1b61728e65058d9dcad2e9039fd164e58df1340ef7814d93d1a6660e5880035d65524d683b55499367026f61a903f91fe10c3a4ad
6
+ metadata.gz: 44941f8459c4853c0c366a5a022bde71ad268155213cb8f344ec1fcacba19288de8bdce44f4280082b9e155618e2ec82fc5f5c21fc95bc159cdc0daca3b503fb
7
+ data.tar.gz: b5f21a486faf17e5279d22d15710e8442115a8bf79f35782ece477731dc8dc39733505e46cf6d5b11cf1754910c44ecd03a887fd4c077b7f948725cc7d40a529
data/README.md CHANGED
@@ -1,6 +1,10 @@
1
1
  # Scaffold <!-- omit in toc -->
2
2
 
3
- Scaffold is a *one-column minimalist Jekyll theme for bloggers*.
3
+ <a href="https://jekyll-themes.com">
4
+ <img src="https://img.shields.io/badge/featured%20on-JekyllThemes-red.svg" height="20" alt="Jekyll Themes Shield" >
5
+ </a>
6
+
7
+ Scaffold is a *minimalist yet powerful Jekyll theme for bloggers*.
4
8
 
5
9
  According to [Merriam-Webster](https://www.merriam-webster.com/), a *scaffold* is
6
10
 
@@ -12,7 +16,8 @@ Scaffold is empirical. Standing on it, you -- the blogger -- can build a great b
12
16
 
13
17
  *Check the [live demo](https://sziv2p.github.io/jekyll-theme-scaffold/).*
14
18
 
15
- ![Screenshot](screenshot.png)
19
+ ![Screenshot Light](screenshot-light.png)
20
+ ![Screenshot Dark](screenshot-dark.png)
16
21
 
17
22
  ## Features (Not a Complete List) <!-- omit in toc -->
18
23
 
@@ -22,6 +27,7 @@ Scaffold is empirical. Standing on it, you -- the blogger -- can build a great b
22
27
  - [Font Awesome](https://fontawesome.com/)
23
28
  - Archive implemented by pure Liquid
24
29
  - Pagination, via [`jekyll-paginate`](https://rubygems.org/gems/jekyll-paginate)
30
+ - TOC, via [`jekyll-toc`](https://github.com/allejo/jekyll-toc)
25
31
  - [Jekyll Feed](https://github.com/jekyll/jekyll-feed/)
26
32
  - [Jekyll SEO Tag](https://github.com/jekyll/jekyll-seo-tag/)
27
33
  - [Jekyll Sitemap](https://github.com/jekyll/jekyll-sitemap/)
@@ -107,6 +113,7 @@ If you want to use this theme on GitHub Pages, you can do that via `jekyll-remot
107
113
  | `author` | String or Array | --- | The author name(s) of the post |
108
114
  | `math` | Boolean | `false` | Does enable MathJax on this page |
109
115
  | `comments` | Boolean | `true` | Does enable the Disqus comment system |
116
+ | `toc` | Boolean | `false` | Does enable the TOC |
110
117
 
111
118
  ### Homepage
112
119
 
@@ -15,7 +15,7 @@
15
15
  {%- endif -%}
16
16
  </small>
17
17
  <br>
18
- <small>Powered by <a href="https://jekyllrb.com/" target="_blank">Jekyll</a> & <a href="https://github.com/sziv2p/jekyll-theme-pure" target="_blank">Pure</a></small>
18
+ <small>Powered by <a href="https://jekyllrb.com/" target="_blank">Jekyll</a> & <a href="https://github.com/sziv2p/jekyll-theme-scaffold" target="_blank">Scaffold</a></small>
19
19
  </div>
20
20
  {% if site.data.social %}
21
21
  <div class="footer-column">
@@ -0,0 +1,4 @@
1
+ <div class="toc-div">
2
+ <h3 class="toc-title">Table of Contents</h3>
3
+ {% include toc.html html=content class="toc" h_min=2 skip_no_ids=true %}
4
+ </div>
@@ -0,0 +1,182 @@
1
+ {% capture tocWorkspace %}
2
+ {% comment %}
3
+ Copyright (c) 2017 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.1.0
28
+ https://github.com/allejo/jekyll-toc
29
+
30
+ "...like all things liquid - where there's a will, and ~36 hours to spare, there's usually a/some way" ~jaybe
31
+
32
+ Usage:
33
+ {% include toc.html html=content sanitize=true class="inline_toc" id="my_toc" h_min=2 h_max=3 %}
34
+
35
+ Parameters:
36
+ * html (string) - the HTML of compiled markdown generated by kramdown in Jekyll
37
+
38
+ Optional Parameters:
39
+ * sanitize (bool) : false - when set to true, the headers will be stripped of any HTML in the TOC
40
+ * class (string) : '' - a CSS class assigned to the TOC
41
+ * id (string) : '' - an ID to assigned to the TOC
42
+ * h_min (int) : 1 - the minimum TOC header level to use; any header lower than this value will be ignored
43
+ * h_max (int) : 6 - the maximum TOC header level to use; any header greater than this value will be ignored
44
+ * ordered (bool) : false - when set to true, an ordered list will be outputted instead of an unordered list
45
+ * item_class (string) : '' - add custom class(es) for each list item; has support for '%level%' placeholder, which is the current heading level
46
+ * submenu_class (string) : '' - add custom class(es) for each child group of headings; has support for '%level%' placeholder which is the current "submenu" heading level
47
+ * base_url (string) : '' - add a base url to the TOC links for when your TOC is on another page than the actual content
48
+ * anchor_class (string) : '' - add custom class(es) for each anchor element
49
+ * skip_no_ids (bool) : false - skip headers that do not have an `id` attribute
50
+
51
+ Output:
52
+ An ordered or unordered list representing the table of contents of a markdown block. This snippet will only
53
+ generate the table of contents and will NOT output the markdown given to it
54
+ {% endcomment %}
55
+
56
+ {% capture newline %}
57
+ {% endcapture %}
58
+ {% assign newline = newline | rstrip %} <!-- Remove the extra spacing but preserve the newline -->
59
+
60
+ {% capture deprecation_warnings %}{% endcapture %}
61
+
62
+ {% if include.baseurl %}
63
+ {% capture deprecation_warnings %}{{ deprecation_warnings }}<!-- jekyll-toc :: "baseurl" has been deprecated, use "base_url" instead -->{{ newline }}{% endcapture %}
64
+ {% endif %}
65
+
66
+ {% if include.skipNoIDs %}
67
+ {% capture deprecation_warnings %}{{ deprecation_warnings }}<!-- jekyll-toc :: "skipNoIDs" has been deprecated, use "skip_no_ids" instead -->{{ newline }}{% endcapture %}
68
+ {% endif %}
69
+
70
+ {% capture jekyll_toc %}{% endcapture %}
71
+ {% assign orderedList = include.ordered | default: false %}
72
+ {% assign baseURL = include.base_url | default: include.baseurl | default: '' %}
73
+ {% assign skipNoIDs = include.skip_no_ids | default: include.skipNoIDs | default: false %}
74
+ {% assign minHeader = include.h_min | default: 1 %}
75
+ {% assign maxHeader = include.h_max | default: 6 %}
76
+ {% assign nodes = include.html | strip | split: '<h' %}
77
+
78
+ {% assign firstHeader = true %}
79
+ {% assign currLevel = 0 %}
80
+ {% assign lastLevel = 0 %}
81
+
82
+ {% capture listModifier %}{% if orderedList %}ol{% else %}ul{% endif %}{% endcapture %}
83
+
84
+ {% for node in nodes %}
85
+ {% if node == "" %}
86
+ {% continue %}
87
+ {% endif %}
88
+
89
+ {% assign currLevel = node | replace: '"', '' | slice: 0, 1 | times: 1 %}
90
+
91
+ {% if currLevel < minHeader or currLevel > maxHeader %}
92
+ {% continue %}
93
+ {% endif %}
94
+
95
+ {% assign _workspace = node | split: '</h' %}
96
+
97
+ {% assign _idWorkspace = _workspace[0] | split: 'id="' %}
98
+ {% assign _idWorkspace = _idWorkspace[1] | split: '"' %}
99
+ {% assign htmlID = _idWorkspace[0] %}
100
+
101
+ {% assign _classWorkspace = _workspace[0] | split: 'class="' %}
102
+ {% assign _classWorkspace = _classWorkspace[1] | split: '"' %}
103
+ {% assign htmlClass = _classWorkspace[0] %}
104
+
105
+ {% if htmlClass contains "no_toc" %}
106
+ {% continue %}
107
+ {% endif %}
108
+
109
+ {% if firstHeader %}
110
+ {% assign minHeader = currLevel %}
111
+ {% endif %}
112
+
113
+ {% capture _hAttrToStrip %}{{ _workspace[0] | split: '>' | first }}>{% endcapture %}
114
+ {% assign header = _workspace[0] | replace: _hAttrToStrip, '' %}
115
+
116
+ {% if include.item_class and include.item_class != blank %}
117
+ {% capture listItemClass %} class="{{ include.item_class | replace: '%level%', currLevel | split: '.' | join: ' ' }}"{% endcapture %}
118
+ {% endif %}
119
+
120
+ {% if include.submenu_class and include.submenu_class != blank %}
121
+ {% assign subMenuLevel = currLevel | minus: 1 %}
122
+ {% capture subMenuClass %} class="{{ include.submenu_class | replace: '%level%', subMenuLevel | split: '.' | join: ' ' }}"{% endcapture %}
123
+ {% endif %}
124
+
125
+ {% capture anchorBody %}{% if include.sanitize %}{{ header | strip_html }}{% else %}{{ header }}{% endif %}{% endcapture %}
126
+
127
+ {% if htmlID %}
128
+ {% capture anchorAttributes %} href="{% if baseURL %}{{ baseURL }}{% endif %}#{{ htmlID }}"{% endcapture %}
129
+
130
+ {% if include.anchor_class %}
131
+ {% capture anchorAttributes %}{{ anchorAttributes }} class="{{ include.anchor_class | split: '.' | join: ' ' }}"{% endcapture %}
132
+ {% endif %}
133
+
134
+ {% capture listItem %}<a{{ anchorAttributes }}>{{ anchorBody }}</a>{% endcapture %}
135
+ {% elsif skipNoIDs == true %}
136
+ {% continue %}
137
+ {% else %}
138
+ {% capture listItem %}{{ anchorBody }}{% endcapture %}
139
+ {% endif %}
140
+
141
+ {% if currLevel > lastLevel %}
142
+ {% capture jekyll_toc %}{{ jekyll_toc }}<{{ listModifier }}{{ subMenuClass }}>{% endcapture %}
143
+ {% elsif currLevel < lastLevel %}
144
+ {% assign repeatCount = lastLevel | minus: currLevel %}
145
+
146
+ {% for i in (1..repeatCount) %}
147
+ {% capture jekyll_toc %}{{ jekyll_toc }}</li></{{ listModifier }}>{% endcapture %}
148
+ {% endfor %}
149
+
150
+ {% capture jekyll_toc %}{{ jekyll_toc }}</li>{% endcapture %}
151
+ {% else %}
152
+ {% capture jekyll_toc %}{{ jekyll_toc }}</li>{% endcapture %}
153
+ {% endif %}
154
+
155
+ {% capture jekyll_toc %}{{ jekyll_toc }}<li{{ listItemClass }}>{{ listItem }}{% endcapture %}
156
+
157
+ {% assign lastLevel = currLevel %}
158
+ {% assign firstHeader = false %}
159
+ {% endfor %}
160
+
161
+ {% assign repeatCount = minHeader | minus: 1 %}
162
+ {% assign repeatCount = lastLevel | minus: repeatCount %}
163
+ {% for i in (1..repeatCount) %}
164
+ {% capture jekyll_toc %}{{ jekyll_toc }}</li></{{ listModifier }}>{% endcapture %}
165
+ {% endfor %}
166
+
167
+ {% if jekyll_toc != '' %}
168
+ {% assign rootAttributes = '' %}
169
+ {% if include.class and include.class != blank %}
170
+ {% capture rootAttributes %} class="{{ include.class | split: '.' | join: ' ' }}"{% endcapture %}
171
+ {% endif %}
172
+
173
+ {% if include.id and include.id != blank %}
174
+ {% capture rootAttributes %}{{ rootAttributes }} id="{{ include.id }}"{% endcapture %}
175
+ {% endif %}
176
+
177
+ {% if rootAttributes %}
178
+ {% assign nodes = jekyll_toc | split: '>' %}
179
+ {% capture jekyll_toc %}<{{ listModifier }}{{ rootAttributes }}>{{ nodes | shift | join: '>' }}>{% endcapture %}
180
+ {% endif %}
181
+ {% endif %}
182
+ {% endcapture %}{% assign tocWorkspace = '' %}{{ deprecation_warnings }}{{ jekyll_toc }}
@@ -3,11 +3,18 @@
3
3
  {% include head.html %}
4
4
  <body>
5
5
  <div class="container">
6
- {% include header.html %}
6
+ <aside class="sidebar-left">
7
+ {% include header.html %}
8
+ </aside>
7
9
  <main>
8
10
  {{ content }}
11
+ {% include footer.html %}
9
12
  </main>
10
- {% include footer.html %}
13
+ <aside class="sidebar-right">
14
+ {%- if page.toc -%}
15
+ {% include toc-div.html %}
16
+ {%- endif -%}
17
+ </aside>
11
18
  </div>
12
19
 
13
20
  {% if page.math %}
@@ -4,7 +4,6 @@ layout: default
4
4
 
5
5
  {{ content }}
6
6
 
7
- <div class="separator">posts</div>
8
7
  <div class="posts">
9
8
  {%- if paginator -%}
10
9
  {%- assign posts = paginator.posts -%}
@@ -56,10 +56,8 @@ layout: default
56
56
  <ul class="related-posts">
57
57
  {% for post in site.related_posts limit:3 %}
58
58
  <li>
59
- <a href="{{ post.url | relative_url }}">
60
- {{ post.title }}
61
- <small><time datetime="{{ post.date | date_to_xmlschema }}">{{ post.date | date_to_string }}</time></small>
62
- </a>
59
+ <a href="{{ post.url | relative_url }}">{{ post.title }}</a>
60
+ <small><time datetime="{{ post.date | date_to_xmlschema }}">{{ post.date | date_to_string }}</time></small>
63
61
  </li>
64
62
  {% endfor %}
65
63
  </ul>
@@ -20,6 +20,11 @@
20
20
  text-decoration: none;
21
21
  border-bottom: 1px solid;
22
22
  margin-bottom: var(--spacer);
23
+
24
+ &:hover,
25
+ &:focus {
26
+ color: var(--link-color);
27
+ }
23
28
  }
24
29
  }
25
30
 
@@ -17,7 +17,6 @@ a {
17
17
  // `:focus` is linked to `:hover` for basic accessibility
18
18
  &:hover,
19
19
  &:focus {
20
- color: var(--link-hover-color);
21
20
  text-decoration: underline;
22
21
  }
23
22
  }
@@ -28,7 +27,7 @@ figure {
28
27
  img {
29
28
  display: block;
30
29
  max-width: 100%;
31
- margin-top: var(--spacer) 0;
30
+ margin: var(--spacer) 0;
32
31
  border-radius: var(--border-radius);
33
32
  }
34
33
 
@@ -77,6 +76,10 @@ blockquote {
77
76
  p:last-child {
78
77
  margin-bottom: 0;
79
78
  }
79
+
80
+ a {
81
+ color: var(--link-color-light);
82
+ }
80
83
  }
81
84
 
82
85
  code,
@@ -86,7 +89,7 @@ pre {
86
89
 
87
90
  code {
88
91
  padding: .1em .25em;
89
- background-color: var(--border-color);
92
+ background-color: var(--code-bg);
90
93
  border-radius: var(--border-radius);
91
94
  }
92
95
 
@@ -13,6 +13,11 @@
13
13
  }
14
14
  .social-icon {
15
15
  color: inherit;
16
+
17
+ &:hover,
18
+ &:focus {
19
+ color: var(--link-color);
20
+ }
16
21
  }
17
22
 
18
23
  @media (min-width: $md-screen) {
@@ -40,8 +40,47 @@
40
40
 
41
41
  &:hover,
42
42
  &:focus {
43
- color: var(--link-hover-color);
43
+ color: var(--link-color);
44
44
  text-decoration: none;
45
45
  }
46
46
  }
47
47
  }
48
+
49
+ @media screen and (min-width: $lg-screen) {
50
+ .masthead {
51
+ text-align: center;
52
+ margin: 0;
53
+ padding: 0;
54
+ position: relative;
55
+ top: 50%;
56
+ transform: translateY(-50%);
57
+ }
58
+
59
+ .masthead-title {
60
+ display: block;
61
+ font-size: 200%;
62
+ }
63
+
64
+ .masthead-tagline {
65
+ display: block;
66
+ font-size: 100%;
67
+ }
68
+
69
+ .nav {
70
+ margin-top: var(--spacer-2);
71
+ }
72
+ .nav-item {
73
+ display: block;
74
+ margin-right: 0;
75
+ margin-bottom: var(--spacer);
76
+ font-size: 120%;
77
+
78
+ &:before {
79
+ content: none;
80
+ }
81
+
82
+ a {
83
+ border-bottom: 2px solid var(--body-color);
84
+ }
85
+ }
86
+ }
@@ -1,24 +1,6 @@
1
- .separator {
2
- display: flex;
3
- align-items: center;
4
- text-align: center;
5
- text-transform: uppercase;
6
- font-size: 80%;
7
- color: var(--border-color);
8
- margin: var(--spacer-2) 0;
1
+ .posts {
2
+ margin-top: var(--spacer-2);
9
3
  }
10
- .separator::before, .separator::after {
11
- content: '';
12
- flex: 1;
13
- border-bottom: 1px solid var(--border-color);
14
- }
15
- .separator::before {
16
- margin-right: .25em;
17
- }
18
- .separator::after {
19
- margin-left: .25em;
20
- }
21
-
22
4
  .post-card {
23
5
  margin-bottom: var(--spacer);
24
6
  padding: 1em;
@@ -27,6 +9,12 @@
27
9
 
28
10
  a {
29
11
  color: inherit;
12
+
13
+ &:hover,
14
+ &:focus {
15
+ color: var(--link-color);
16
+ text-decoration: none;
17
+ }
30
18
  }
31
19
 
32
20
  .post-title {
@@ -3,3 +3,47 @@
3
3
  margin: 0 auto;
4
4
  padding: 0 var(--spacer);
5
5
  }
6
+
7
+ .sidebar-right {
8
+ display: none;
9
+ }
10
+
11
+ @media screen and (min-width: $lg-screen) {
12
+ .container {
13
+ max-width: 100%;
14
+ margin: 0;
15
+ padding: 0;
16
+ display: flex;
17
+ }
18
+
19
+ main {
20
+ flex: 1;
21
+ max-width: 60%;
22
+ margin-left: 22.5%;
23
+ padding: 0 var(--spacer-2);
24
+ }
25
+
26
+ .sidebar-left {
27
+ position: fixed;
28
+ top: 0;
29
+ width: 22.5%;
30
+ height: 100vh;
31
+ padding: var(--spacer);
32
+ background-color: var(--code-bg);
33
+ }
34
+ }
35
+
36
+ @media screen and (min-width: $xl-screen) {
37
+ main {
38
+ max-width: 55%;
39
+ }
40
+
41
+ .sidebar-right {
42
+ display: block;
43
+ position: fixed;
44
+ top: 0;
45
+ width: 22.5%;
46
+ margin-left: 77.5%;
47
+ padding: var(--spacer);
48
+ }
49
+ }
@@ -1,10 +1,12 @@
1
1
  @import "variables";
2
+ @import "predefined";
2
3
  @import "base";
3
4
  @import "layout";
4
5
  @import "header";
5
6
  @import "footer";
6
7
  @import "post";
7
8
  @import "code";
9
+ @import "toc";
8
10
  @import "home";
9
11
  @import "pagination";
10
12
  @import "archive";
@@ -63,7 +63,7 @@
63
63
  &:hover,
64
64
  &:focus {
65
65
  color: var(--body-bg);
66
- background-color: var(--link-hover-color);
66
+ background-color: var(--link-color);
67
67
  }
68
68
  }
69
69
  }
@@ -91,11 +91,16 @@
91
91
  margin: 0;
92
92
  list-style: none;
93
93
 
94
- a {
95
- text-decoration: none;
96
-
97
- small {
98
- color: var(--body-color-light);
99
- }
94
+ small {
95
+ color: var(--body-color-light);
100
96
  }
101
97
  }
98
+
99
+ .task-list {
100
+ list-style: none;
101
+ padding-inline-start: 1em;
102
+ }
103
+ .task-list-item-checkbox {
104
+ margin: 0 .25em .25em -1em;
105
+ vertical-align: middle;
106
+ }
@@ -0,0 +1,39 @@
1
+ // Alignment
2
+
3
+ .align-right {
4
+ margin-bottom: 1rem;
5
+ margin-left: 1rem;
6
+ float: right;
7
+ }
8
+
9
+ .align-left {
10
+ margin-right: 1rem;
11
+ margin-bottom: 1rem;
12
+ float: left;
13
+ }
14
+
15
+ .align-center {
16
+ display: block;
17
+ margin-right: auto;
18
+ margin-left: auto;
19
+ }
20
+
21
+ figcaption.align-right {
22
+ text-align: right;
23
+ }
24
+
25
+ figcaption.align-left {
26
+ text-align: left;
27
+ }
28
+
29
+ figcaption.align-center {
30
+ text-align: center;
31
+ }
32
+
33
+ // Message
34
+
35
+ .message {
36
+ text-align: center;
37
+ font-size: 120%;
38
+ font-weight: bold;
39
+ }
@@ -0,0 +1,25 @@
1
+ .toc-div {
2
+ padding-top: var(--spacer);
3
+ }
4
+
5
+ .toc-title {
6
+ margin: 0;
7
+ }
8
+
9
+ .toc,
10
+ .toc ul {
11
+ list-style: none;
12
+ padding: 0;
13
+ margin: 0;
14
+ margin-inline-start: 1em;
15
+
16
+ li {
17
+ margin-top: var(--spacer);
18
+ margin-bottom: var(--spacer);
19
+ }
20
+ }
21
+
22
+ .toc {
23
+ max-height: 80vh;
24
+ overflow-y: scroll;
25
+ }
@@ -20,37 +20,33 @@ $xl-screen: 80rem;
20
20
  /* Colors
21
21
  * ─────────────────────────────────── */
22
22
 
23
- --body-color: var(--oc-gray-8);
24
- --body-color-light: var(--oc-gray-6);
25
23
  --body-bg: var(--oc-white);
26
-
27
- --heading-color: var(--oc-black);
28
-
29
24
  --code-bg: var(--oc-gray-1);
30
25
 
31
- --link-color: var(--oc-blue-6);
32
- --link-hover-color: var(--oc-blue-8);
26
+ --border-color: rgb(var(--oc-gray-5-rgb), .6);
27
+ --body-color-light: var(--oc-gray-6);
28
+ --body-color: var(--oc-gray-8);
29
+ --heading-color: var(--oc-black);
33
30
 
34
- --border-color: rgb(var(--oc-gray-5-rgb), .5);
31
+ --link-color-light: var(--oc-blue-6);
32
+ --link-color: var(--oc-blue-8);
35
33
 
36
34
  --mark-color: var(--oc-yellow-8);
37
35
  }
38
36
 
39
37
  @media (prefers-color-scheme: dark) {
40
38
  :root {
41
- --body-color: var(--oc-gray-2);
42
- --body-color-light: var(--oc-gray-5);
43
39
  --body-bg: var(--oc-gray-9);
40
+ --code-bg: var(--oc-gray-8);
44
41
 
42
+ --border-color: rgb(var(--oc-gray-7-rgb), .8);
43
+ --body-color-light: var(--oc-gray-6);
44
+ --body-color: var(--oc-gray-4);
45
45
  --heading-color: var(--oc-white);
46
46
 
47
- --code-bg: var(--oc-gray-6);
48
-
49
- --link-color: var(--oc-cyan-5);
50
- --link-hover-color: var(--oc-cyan-2);
51
-
52
- --border-color: rgb(var(--oc-gray-7-rgb), .9);
47
+ --link-color-light: var(--oc-cyan-6);
48
+ --link-color: var(--oc-cyan-4);
53
49
 
54
- --mark-color: var(--oc-yellow-2);
50
+ --mark-color: var(--oc-yellow-4);
55
51
  }
56
52
  }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-theme-scaffold
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Songzi Vong
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-11-02 00:00:00.000000000 Z
11
+ date: 2020-12-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -127,6 +127,8 @@ files:
127
127
  - _includes/head.html
128
128
  - _includes/header.html
129
129
  - _includes/mathjax.html
130
+ - _includes/toc-div.html
131
+ - _includes/toc.html
130
132
  - _layouts/archive.html
131
133
  - _layouts/default.html
132
134
  - _layouts/home.html
@@ -144,6 +146,8 @@ files:
144
146
  - _sass/scaffold/_main.scss
145
147
  - _sass/scaffold/_pagination.scss
146
148
  - _sass/scaffold/_post.scss
149
+ - _sass/scaffold/_predefined.scss
150
+ - _sass/scaffold/_toc.scss
147
151
  - _sass/scaffold/_variables.scss
148
152
  - assets/css/scaffold/normalize.css
149
153
  - assets/css/scaffold/open-color.css