jekyll-theme-paperwiki 0.1.11 → 0.1.13
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +7 -12
- data/_includes/global_head.html +1 -12
- data/_layouts/launchpad.html +1 -1
- data/_layouts/wiki.html +2 -2
- data/_layouts/work.html +6 -2
- data/_sass/partials/_base.scss +85 -51
- data/_sass/partials/_collections.scss +10 -0
- data/_sass/partials/_entries.scss +15 -4
- data/_sass/partials/_global.scss +3 -0
- data/_sass/partials/_launchpad.scss +18 -18
- data/_sass/partials/_search.scss +9 -0
- data/_sass/style.scss +1 -0
- data/_sass/variables/_colors.scss +21 -11
- data/_sass/variables/_media-queries.scss +17 -0
- data/assets/css/{css.scss → style.scss} +0 -0
- metadata +4 -9
- data/_plugins/blockquote.rb +0 -28
- data/_plugins/gloss.rb +0 -22
- data/_plugins/interlinear.rb +0 -37
- data/_plugins/ipa.rb +0 -23
- data/_plugins/lang.rb +0 -28
- data/_plugins/sidenote.rb +0 -24
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 47367a1e3d05fd21d3f595ac8f769eab89ba883581dd7174fa24a612582c57cf
|
4
|
+
data.tar.gz: 452162813f6493e558b3a174ca647300b2d85aa8d6cc9ce10b70100b00e02e17
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 41e0102c2ffa48a154cf1d8f8e4d76e4e551fbb977863c98dee7322154c71a66c8636759f24803bdbdbca83d03b6f1ccff44bc53582fb1dc2b125df5af0afe1b
|
7
|
+
data.tar.gz: 28bb50323061eee75a081d732f6d8ab0e6b740567131939988a0c474871381bdbcab1cf9733d16c77c9f95b78e8690fe9f8b52d685a475a25820b13bd8bc9145
|
data/README.md
CHANGED
@@ -2,11 +2,13 @@
|
|
2
2
|
|
3
3
|
For storing your worldbuilding notes! The intent of this theme is to get all the code out of the way and to allow you to write Markdown articles; the best way to do that is to install the theme as a gem. However, if you want to tinker with the code, just download this repository.
|
4
4
|
|
5
|
-
For the easiest starting point, I have uploaded a sample site that you can download with everything preconfigured, so if you're unfamiliar with Jekyll you can bypass all the setup and get right to it. See that repo for instructions.
|
5
|
+
For the easiest starting point, I have uploaded a [sample site](https://github.com/pomeloshark/paperwiki-example) that you can download with everything preconfigured, so if you're unfamiliar with Jekyll you can bypass all the setup and get right to it. See that repo for instructions.
|
6
6
|
|
7
7
|
I've tried to adhere to accessible and easy to read design principles while retaining the look and layout of a classic wiki that we're all familiar with - I've aped some elements of Wikipedia's organizational system and layout while trying to make it as clean and user friendly as possible.
|
8
8
|
|
9
|
-
This theme is not mobile friendly, as I personally do absolutely no work on mobile and thus my development skills are lacking. There is also no dark mode or other alternate colour scheme, but please feel free to fork this project and add whatever functionality
|
9
|
+
This theme is not mobile friendly, as I personally do absolutely no work on mobile and thus my development skills are lacking. I stuck in a couple CSS breakpoints, so it'll be mostly legible on a medium-sized tablet, but don't expect great results on a phone. There is also no dark mode or other alternate colour scheme, but please feel free to fork this project and add whatever functionality you're looking for.
|
10
|
+
|
11
|
+
This theme is not really intended for blogging, but you could add in the functionality easily enough by creating a `_posts` collection and setting a default post layout in the config file, as there is a dedicated `post` layout, as well as a `blog.md` which will list all of your blog posts on one page. If you have no need for it you can delete this file.
|
10
12
|
|
11
13
|
|
12
14
|
|
@@ -53,7 +55,7 @@ This will give you a very bare bones Jekyll site, with an index page, a folder f
|
|
53
55
|
To use this theme, open your Jekyll site's `Gemfile`, delete the line that says `gem "minima"` and replace it with this line:
|
54
56
|
|
55
57
|
```ruby
|
56
|
-
gem "jekyll-theme-paperwiki", "~>
|
58
|
+
gem "jekyll-theme-paperwiki", "~> [version]"
|
57
59
|
```
|
58
60
|
|
59
61
|
And add this line to your Jekyll site's `_config.yml`:
|
@@ -117,7 +119,7 @@ collections:
|
|
117
119
|
permalink: /:collection/:name
|
118
120
|
```
|
119
121
|
|
120
|
-
`/:collection/:name` means the url to each wiki entry will be `wiki/
|
122
|
+
`/:collection/:name` means the url to each wiki entry will be `wiki/article-title` without the article file extension.
|
121
123
|
|
122
124
|
However, if you would like to have additional collections akin to the Wikimedia Foundation's other projects - such as Wikisource, Wikispecies, or Wiktionary - then you can specify them in the same format as above, also under the `collections` key:
|
123
125
|
|
@@ -151,13 +153,6 @@ This will add links to each different collection on your homepage, and allow you
|
|
151
153
|
|
152
154
|
|
153
155
|
|
154
|
-
## Development
|
155
|
-
|
156
|
-
When your theme is released, only the files in `_layouts`, `_includes`, `_sass` and `assets` tracked with Git will be bundled.
|
157
|
-
To add a custom directory to your theme-gem, please edit the regexp in `jekyll-theme-paperwiki.gemspec` accordingly.
|
158
|
-
|
159
|
-
|
160
|
-
|
161
156
|
## License
|
162
157
|
|
163
158
|
The theme is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
@@ -168,4 +163,4 @@ The theme is available as open source under the terms of the [MIT License](https
|
|
168
163
|
|
169
164
|
This theme uses the fonts [Inter](https://rsms.me/inter/), [Libertinus Serif](https://github.com/alerque/libertinus), and [Liberation Mono](https://fontlibrary.org/en/font/liberation-mono), all of which are released under the SIL Open Font License; and the icon font [RemixIcon](https://remixicon.com/), which is available under the Apache License 2.0. The [example favicon](https://www.flaticon.com/free-icon/toucan_3002355) is by Freepik at Flaticon.
|
170
165
|
|
171
|
-
The search function uses [Lunr.js](https://lunrjs.com/).
|
166
|
+
The search function uses [Lunr.js](https://lunrjs.com/). Random page functionality is from [Jekyll Random Redirect](https://github.com/jekylltools/jekyll-random-redirect).
|
data/_includes/global_head.html
CHANGED
@@ -12,20 +12,9 @@
|
|
12
12
|
|
13
13
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
14
14
|
|
15
|
-
<link rel="stylesheet" href="/assets/css/
|
15
|
+
<link rel="stylesheet" href="/assets/css/style.css">
|
16
16
|
<link rel="stylesheet" href="/assets/fonts/RemixIcon/remixicon.css">
|
17
17
|
|
18
18
|
<link rel="icon" type="image/png" sizes="512x512" href="/assets/images/favicon.png">
|
19
19
|
|
20
|
-
<!-------
|
21
|
-
<script src="http://files.keyes.ie/things/baseliner/baseliner-latest.min.js">
|
22
|
-
</script>
|
23
|
-
|
24
|
-
<script>
|
25
|
-
window.onload = function() {
|
26
|
-
baseliner = new Baseliner(28);
|
27
|
-
}
|
28
|
-
</script>
|
29
|
-
-------->
|
30
|
-
|
31
20
|
</head>
|
data/_layouts/launchpad.html
CHANGED
@@ -13,7 +13,7 @@
|
|
13
13
|
<label for="input__text">What do you want to know?</label><br>
|
14
14
|
<input id="input__text" name="q" class="launchpad-searchbar" required type="search" placeholder="Search">
|
15
15
|
|
16
|
-
<
|
16
|
+
<button type="submit" class="launchpad-search_submit">Go!</button>
|
17
17
|
|
18
18
|
</form>
|
19
19
|
|
data/_layouts/wiki.html
CHANGED
data/_layouts/work.html
CHANGED
@@ -2,12 +2,16 @@
|
|
2
2
|
layout: entry
|
3
3
|
---
|
4
4
|
|
5
|
-
<article class="entry
|
5
|
+
<article class="entry entry_work">
|
6
6
|
|
7
7
|
<h1>
|
8
8
|
{{ page.title }}
|
9
9
|
</h1>
|
10
10
|
|
11
|
-
{
|
11
|
+
{% if page.format==verse %}
|
12
|
+
<section class="entry_work-verse">{{ content }}</section>
|
13
|
+
{% else %}
|
14
|
+
{{ content }}
|
15
|
+
{% endif %}
|
12
16
|
|
13
17
|
</article>
|
data/_sass/partials/_base.scss
CHANGED
@@ -3,10 +3,18 @@
|
|
3
3
|
# styling universal to all pages
|
4
4
|
\*------------------------------------*/
|
5
5
|
|
6
|
-
|
6
|
+
html {
|
7
7
|
/* Correct box-sizing in IE. */
|
8
8
|
box-sizing: border-box;
|
9
|
+
}
|
10
|
+
|
11
|
+
*,
|
12
|
+
*::before,
|
13
|
+
*::after {
|
14
|
+
box-sizing: inherit;
|
15
|
+
}
|
9
16
|
|
17
|
+
* {
|
10
18
|
/* Hard reset on spacing, for the insane. */
|
11
19
|
margin: 0;
|
12
20
|
padding: 0;
|
@@ -16,8 +24,6 @@
|
|
16
24
|
}
|
17
25
|
|
18
26
|
body {
|
19
|
-
width: 85%;
|
20
|
-
|
21
27
|
display: grid;
|
22
28
|
grid-template-columns: repeat(12, 1fr);
|
23
29
|
|
@@ -25,7 +31,22 @@ body {
|
|
25
31
|
|
26
32
|
background-color: $color-body_background;
|
27
33
|
font-family: $fontfamily-body;
|
28
|
-
|
34
|
+
@include for-phone-only {
|
35
|
+
width: 100%;
|
36
|
+
font-size: 85%;
|
37
|
+
}
|
38
|
+
@include for-tablet-portrait-up {
|
39
|
+
width: 100%;
|
40
|
+
font-size: 85%;
|
41
|
+
}
|
42
|
+
@include for-tablet-landscape-up {
|
43
|
+
width: 90%;
|
44
|
+
font-size: 90%;
|
45
|
+
}
|
46
|
+
@include for-desktop-up {
|
47
|
+
width: 85%;
|
48
|
+
font-size: $fontsize-body;
|
49
|
+
}
|
29
50
|
}
|
30
51
|
|
31
52
|
main {
|
@@ -74,10 +95,16 @@ a:active {
|
|
74
95
|
|
75
96
|
a:hover {
|
76
97
|
color: $color-link_hover;
|
98
|
+
transition: $transition;
|
77
99
|
}
|
78
100
|
|
79
|
-
a
|
80
|
-
|
101
|
+
a.active,
|
102
|
+
a:focus {
|
103
|
+
border: 0;
|
104
|
+
border-radius: 0.05em;
|
105
|
+
outline: 3px solid $color-link_focus;
|
106
|
+
outline-offset: 0.2em;
|
107
|
+
transition: $transition;
|
81
108
|
}
|
82
109
|
|
83
110
|
p {
|
@@ -94,30 +121,20 @@ abbr {
|
|
94
121
|
cursor: help;
|
95
122
|
}
|
96
123
|
|
97
|
-
img {
|
98
|
-
border: 0;
|
99
|
-
}
|
100
|
-
|
101
|
-
figcaption {
|
102
|
-
font-size: $fontsize-small;
|
103
|
-
text-align: center;
|
104
|
-
}
|
105
|
-
|
106
124
|
dl,
|
107
125
|
ol,
|
108
126
|
ul {
|
109
127
|
margin-bottom: 1.75em;
|
110
128
|
}
|
111
129
|
|
112
|
-
|
113
|
-
|
114
|
-
|
130
|
+
ul ul,
|
131
|
+
ol ol {
|
132
|
+
margin-left: 2em;
|
133
|
+
margin-bottom: 0;
|
115
134
|
}
|
116
135
|
|
117
136
|
ul ul {
|
118
|
-
|
119
|
-
margin-left: 2em;
|
120
|
-
margin-bottom: 0;
|
137
|
+
list-style-type: circle;
|
121
138
|
}
|
122
139
|
|
123
140
|
ol,
|
@@ -141,6 +158,37 @@ dd {
|
|
141
158
|
|
142
159
|
|
143
160
|
|
161
|
+
img {
|
162
|
+
border: 0;
|
163
|
+
}
|
164
|
+
|
165
|
+
figure {}
|
166
|
+
|
167
|
+
figcaption {
|
168
|
+
font-size: $fontsize-small;
|
169
|
+
text-align: center;
|
170
|
+
}
|
171
|
+
|
172
|
+
blockquote {
|
173
|
+
margin-left: 3em;
|
174
|
+
margin-right: 3em;
|
175
|
+
margin-bottom: 1.75em;
|
176
|
+
padding: 1.75em;
|
177
|
+
|
178
|
+
background-color: $color-blockquote_background;
|
179
|
+
border-left: 0.5em solid $color-blockquote_border;
|
180
|
+
|
181
|
+
figcaption {
|
182
|
+
text-align: right;
|
183
|
+
}
|
184
|
+
|
185
|
+
figcaption cite {
|
186
|
+
display: inline;
|
187
|
+
}
|
188
|
+
}
|
189
|
+
|
190
|
+
|
191
|
+
|
144
192
|
table {
|
145
193
|
margin: auto;
|
146
194
|
margin-bottom: 1.75em;
|
@@ -185,8 +233,6 @@ caption {
|
|
185
233
|
|
186
234
|
|
187
235
|
|
188
|
-
|
189
|
-
|
190
236
|
hr {
|
191
237
|
margin: 2*1.75em 6em 2*1.68em;
|
192
238
|
|
@@ -194,28 +240,6 @@ hr {
|
|
194
240
|
border-color: $color-hr;
|
195
241
|
}
|
196
242
|
|
197
|
-
blockquote {
|
198
|
-
margin-left: 3em;
|
199
|
-
margin-right: 3em;
|
200
|
-
margin-bottom: 1.75em;
|
201
|
-
padding: 1.75em;
|
202
|
-
|
203
|
-
background-color: $color-blockquote_background;
|
204
|
-
border-left: 0.5em solid $color-blockquote_border;
|
205
|
-
|
206
|
-
figcaption {
|
207
|
-
text-align: right;
|
208
|
-
}
|
209
|
-
|
210
|
-
figcaption cite {
|
211
|
-
display: inline;
|
212
|
-
}
|
213
|
-
}
|
214
|
-
|
215
|
-
ul ul {
|
216
|
-
list-style-type: circle;
|
217
|
-
}
|
218
|
-
|
219
243
|
code,
|
220
244
|
pre,
|
221
245
|
kbd,
|
@@ -275,19 +299,29 @@ pre {
|
|
275
299
|
input[type="search"] {
|
276
300
|
background-color: $color-searchbar_background;
|
277
301
|
border: 1px solid $color-searchbar_border;
|
278
|
-
appearance: none;
|
279
|
-
outline: none;
|
280
|
-
|
281
302
|
transition: $transition;
|
282
303
|
|
283
304
|
&:hover {
|
284
305
|
border: 1px solid $color-searchbar_border_hover;
|
285
306
|
box-shadow: 0 0 6px $color-searchbar_shadow_hover;
|
286
|
-
transition: $transition;
|
287
307
|
}
|
288
308
|
&:focus {
|
289
|
-
border
|
309
|
+
border: 1px solid $color-searchbar_border_focus;
|
310
|
+
outline: 1px solid $color-searchbar_border_focus;
|
290
311
|
box-shadow: 0 0 6px $color-searchbar_shadow_focus;
|
291
|
-
|
312
|
+
}
|
313
|
+
}
|
314
|
+
|
315
|
+
button {
|
316
|
+
background-color: $color-button_background;
|
317
|
+
border: 1px solid transparent;
|
318
|
+
transition: $transition;
|
319
|
+
|
320
|
+
&:hover {
|
321
|
+
box-shadow: 0 0 7px $color-button_shadow_hover;
|
322
|
+
}
|
323
|
+
&:focus {
|
324
|
+
box-shadow: 0 0 7px $color-button_shadow_focus;
|
325
|
+
outline: 1px solid $color-button_outline-focus;
|
292
326
|
}
|
293
327
|
}
|
@@ -150,6 +150,16 @@
|
|
150
150
|
color: $color-body_text;
|
151
151
|
}
|
152
152
|
|
153
|
+
.collections-portal_card:active,
|
154
|
+
.collections-portal_card:focus {
|
155
|
+
outline: 1px solid $color-portal_card_focus;
|
156
|
+
outline-offset: 0;
|
157
|
+
border: 1px solid transparent;
|
158
|
+
border-radius: 1.5em;
|
159
|
+
box-shadow: 0 0 7px $color-portal_card_focus;
|
160
|
+
transition: $transition;
|
161
|
+
}
|
162
|
+
|
153
163
|
|
154
164
|
|
155
165
|
.collections-wrapper {
|
@@ -12,7 +12,8 @@
|
|
12
12
|
border-right: 1px solid $color-article_border;
|
13
13
|
}
|
14
14
|
|
15
|
-
.
|
15
|
+
.entry_wiki,
|
16
|
+
.entry_work {
|
16
17
|
grid-column: span 7 / auto;
|
17
18
|
|
18
19
|
h1 {
|
@@ -21,8 +22,7 @@
|
|
21
22
|
}
|
22
23
|
}
|
23
24
|
|
24
|
-
.
|
25
|
-
.entry-grammar {
|
25
|
+
.entry_grammar {
|
26
26
|
grid-column: span 10 / auto;
|
27
27
|
}
|
28
28
|
|
@@ -32,7 +32,7 @@
|
|
32
32
|
.entry-index {
|
33
33
|
position: -webkit-sticky; /* Safari */
|
34
34
|
position: sticky;
|
35
|
-
top:
|
35
|
+
top: 5.1458rem;
|
36
36
|
align-self: start;
|
37
37
|
|
38
38
|
grid-column: span 2 / auto;
|
@@ -218,3 +218,14 @@ a.footnote::after {
|
|
218
218
|
margin-right: -24vw; /* sets the distance away from the body text */
|
219
219
|
font-size: $fontsize-small;
|
220
220
|
}
|
221
|
+
|
222
|
+
|
223
|
+
|
224
|
+
.entry_work-verse {
|
225
|
+
p {
|
226
|
+
margin-bottom: 0;
|
227
|
+
}
|
228
|
+
p:last-child {
|
229
|
+
margin-bottom: 1.75em;
|
230
|
+
}
|
231
|
+
}
|
data/_sass/partials/_global.scss
CHANGED
@@ -43,25 +43,10 @@
|
|
43
43
|
|
44
44
|
.launchpad-search_submit {
|
45
45
|
padding: 12px 20px;
|
46
|
-
appearance: none;
|
47
|
-
outline: none;
|
48
46
|
|
49
|
-
background: $color-launchpad_search_submit;
|
50
|
-
border: 0;
|
51
47
|
border-radius: 1rem;
|
52
48
|
|
53
49
|
font-size: $fontsize-body;
|
54
|
-
|
55
|
-
transition: $transition;
|
56
|
-
|
57
|
-
&:hover {
|
58
|
-
box-shadow: 0 0 7px $color-launchpad_search_submit_hover;
|
59
|
-
transition: $transition;
|
60
|
-
}
|
61
|
-
&:focus {
|
62
|
-
box-shadow: 0 0 7px $color-launchpad_search_submit_focus;
|
63
|
-
transition: $transition;
|
64
|
-
}
|
65
50
|
}
|
66
51
|
|
67
52
|
.launchpad-projects {
|
@@ -83,7 +68,7 @@
|
|
83
68
|
|
84
69
|
padding: 36px 28px 28px;
|
85
70
|
|
86
|
-
border-radius: 1.
|
71
|
+
border-radius: 1.5em;
|
87
72
|
border: 1px solid $color-project_card_border;
|
88
73
|
|
89
74
|
text-decoration: none;
|
@@ -101,7 +86,7 @@
|
|
101
86
|
.project-icon {
|
102
87
|
padding: 1rem;
|
103
88
|
|
104
|
-
border-radius:
|
89
|
+
border-radius: 3em;
|
105
90
|
background-color: $color-project_card_icon;
|
106
91
|
|
107
92
|
color: #ffffff;
|
@@ -135,6 +120,16 @@
|
|
135
120
|
color: $color-body_text;
|
136
121
|
}
|
137
122
|
|
123
|
+
.launchpad-card:active,
|
124
|
+
.launchpad-card:focus {
|
125
|
+
outline: 1px solid $color-project_card_focus;
|
126
|
+
outline-offset: 0;
|
127
|
+
border: 1px solid transparent;
|
128
|
+
border-radius: 1.5em;
|
129
|
+
box-shadow: 0 0 7px $color-project_card_focus;
|
130
|
+
transition: $transition;
|
131
|
+
}
|
132
|
+
|
138
133
|
|
139
134
|
|
140
135
|
/*------------------------------------*\
|
@@ -154,10 +149,15 @@
|
|
154
149
|
transition: $transition;
|
155
150
|
|
156
151
|
.project-icon {
|
157
|
-
background-color: $color-
|
152
|
+
background-color: $color-wiki_icon_background;
|
158
153
|
|
159
154
|
color: $color-project_card_icon;
|
160
155
|
|
161
156
|
transition: $transition;
|
162
157
|
}
|
163
158
|
}
|
159
|
+
|
160
|
+
.launchpad-card_wiki:active,
|
161
|
+
.launchpad-card_wiki:focus {
|
162
|
+
outline: 1px solid $color-wiki_card_focus;
|
163
|
+
}
|
data/_sass/partials/_search.scss
CHANGED
data/_sass/style.scss
CHANGED
@@ -5,10 +5,10 @@
|
|
5
5
|
// neutrals
|
6
6
|
$color-paper_light: #fdfcfc; // off white
|
7
7
|
$color-paper_dark: #fbf9f8;
|
8
|
-
$color-linen: #f6f2ef;
|
8
|
+
$color-linen: #f6f2ef;
|
9
9
|
$color-shortbread: #f9f6f4;//#f8f4f2;
|
10
10
|
$color-shortbread_dark: #f3efec;
|
11
|
-
$color-ink: #4b4a46; // dark umber
|
11
|
+
$color-ink: #4b4a46; // dark umber; // #292924 wcag a pass
|
12
12
|
$color-ink_warm: #504b38;
|
13
13
|
$color-ink_faded: #828077;
|
14
14
|
|
@@ -21,9 +21,10 @@ $color-peach: #f7dcd3;
|
|
21
21
|
$color-mango: #f6bf5d;
|
22
22
|
|
23
23
|
// links
|
24
|
-
$color-blue_light: #4083ae;
|
24
|
+
$color-blue_light: #4083ae; // #3B79A0 wcag a pass
|
25
25
|
$color-blue_dark: #356d90;
|
26
26
|
$color-purple: #61609d;
|
27
|
+
$color-blue_pale: #c6dffc;
|
27
28
|
|
28
29
|
/*------------------------------------*\
|
29
30
|
# COLOUR SCHEME values
|
@@ -41,23 +42,31 @@ $color-link: $color-blue_light;
|
|
41
42
|
$color-link_hover: $color-blue_dark;
|
42
43
|
$color-link_active: $color-purple;
|
43
44
|
$color-link_visited: $color-purple;
|
45
|
+
$color-link_focus: $color-blue_pale;
|
44
46
|
|
45
47
|
// General searchbar colours.
|
46
48
|
$color-searchbar_background: $color-paper_light;
|
47
49
|
$color-searchbar_border: $color-shortbread_dark;
|
48
50
|
$color-searchbar_border_hover: $color-linen;
|
49
|
-
$color-searchbar_border_focus: $color-
|
51
|
+
$color-searchbar_border_focus: $color-melon;
|
50
52
|
$color-searchbar_shadow_hover: $color-peach;
|
51
|
-
$color-searchbar_shadow_focus: $color-
|
53
|
+
$color-searchbar_shadow_focus: $color-melon;
|
52
54
|
|
55
|
+
// General button colours.
|
56
|
+
$color-button_background: $color-peach;
|
57
|
+
$color-button_shadow_hover: $color-melon;
|
58
|
+
$color-button_shadow_focus: $color-melon;
|
59
|
+
$color-button_outline-focus: $color-melon;
|
60
|
+
|
61
|
+
// Miscellaneous
|
53
62
|
$color-code_background: $color-pistachio;
|
54
63
|
$color-code_text: $color-ink_warm;
|
55
64
|
$color-hr: $color-linen;
|
56
65
|
|
57
66
|
$color-kbd_background: $color-paper_light;
|
58
|
-
$color-kbd_border: $color-
|
59
|
-
$color-kbd_box_shadow: $color-
|
60
|
-
$color-kbd_hover: $color-
|
67
|
+
$color-kbd_border: $color-shortbread_dark;
|
68
|
+
$color-kbd_box_shadow: $color-shortbread_dark;
|
69
|
+
$color-kbd_hover: $color-shortbread_dark;
|
61
70
|
|
62
71
|
$color-blockquote_background: $color-paper_dark;
|
63
72
|
$color-blockquote_border: $color-shortbread;
|
@@ -75,18 +84,18 @@ $color-global_nav_underline: $color-mango;
|
|
75
84
|
// Colours that apply to the index page or launchpad.
|
76
85
|
$color-launchpad_search: $color-linen;
|
77
86
|
$color-launchpad_search_border: $color-shortbread_dark;
|
78
|
-
$color-launchpad_search_submit: $color-melon;
|
79
|
-
$color-launchpad_search_submit_hover: $color-melon;
|
80
|
-
$color-launchpad_search_submit_focus: $color-melon;
|
81
87
|
|
82
88
|
$color-project_card_icon: $color-kiwi;
|
83
89
|
$color-project_card_border: $color-linen;
|
84
90
|
$color-project_card_hover_shadow: $color-linen;
|
85
91
|
$color-project_card_icon_hover: $color-limeade;
|
92
|
+
$color-project_card_focus: $color-limeade;
|
86
93
|
|
87
94
|
$color-wiki_card_background: $color-limeade;
|
95
|
+
$color-wiki_icon_background: $color-paper_light;
|
88
96
|
$color-wiki_card_border: $color-limeade;
|
89
97
|
$color-wiki_card_hover_shadow: $color-limeade;
|
98
|
+
$color-wiki_card_focus: $color-kiwi;
|
90
99
|
|
91
100
|
// Colours that apply only to collections pages.
|
92
101
|
$color-collections_sidebar: $color-paper_dark;
|
@@ -96,6 +105,7 @@ $color-collections_header_border: $color-shortbread;
|
|
96
105
|
|
97
106
|
$color-portal_card_border: $color-linen;
|
98
107
|
$color-portal_card_icon_hover: $color-kiwi;
|
108
|
+
$color-portal_card_focus: $color-limeade;
|
99
109
|
|
100
110
|
// Colours that apply only to entry pages.
|
101
111
|
$color-article_border: $color-linen;
|
@@ -0,0 +1,17 @@
|
|
1
|
+
// Taken directly from https://www.freecodecamp.org/news/the-100-correct-way-to-do-css-breakpoints-88d6a5ba1862/
|
2
|
+
|
3
|
+
@mixin for-phone-only {
|
4
|
+
@media (max-width: 599px) { @content; }
|
5
|
+
}
|
6
|
+
|
7
|
+
@mixin for-tablet-portrait-up {
|
8
|
+
@media (min-width: 600px) and (max-width: 899px) { @content; }
|
9
|
+
}
|
10
|
+
|
11
|
+
@mixin for-tablet-landscape-up {
|
12
|
+
@media (min-width: 900px) { @content; }
|
13
|
+
}
|
14
|
+
|
15
|
+
@mixin for-desktop-up {
|
16
|
+
@media (min-width: 1200px) { @content; }
|
17
|
+
}
|
File without changes
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll-theme-paperwiki
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.13
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- pomeloshark
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-01-
|
11
|
+
date: 2023-01-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jekyll
|
@@ -55,12 +55,6 @@ files:
|
|
55
55
|
- _layouts/search_global.html
|
56
56
|
- _layouts/wiki.html
|
57
57
|
- _layouts/work.html
|
58
|
-
- _plugins/blockquote.rb
|
59
|
-
- _plugins/gloss.rb
|
60
|
-
- _plugins/interlinear.rb
|
61
|
-
- _plugins/ipa.rb
|
62
|
-
- _plugins/lang.rb
|
63
|
-
- _plugins/sidenote.rb
|
64
58
|
- _sass/partials/_base.scss
|
65
59
|
- _sass/partials/_blog.scss
|
66
60
|
- _sass/partials/_collections.scss
|
@@ -74,9 +68,10 @@ files:
|
|
74
68
|
- _sass/style.scss
|
75
69
|
- _sass/variables/_colors.scss
|
76
70
|
- _sass/variables/_fonts.scss
|
71
|
+
- _sass/variables/_media-queries.scss
|
77
72
|
- _sass/variables/_misc.scss
|
78
73
|
- assets/.DS_Store
|
79
|
-
- assets/css/
|
74
|
+
- assets/css/style.scss
|
80
75
|
- assets/fonts/Inter/.DS_Store
|
81
76
|
- assets/fonts/Inter/Inter-Bold.otf
|
82
77
|
- assets/fonts/Inter/Inter-Bold.woff
|
data/_plugins/blockquote.rb
DELETED
@@ -1,28 +0,0 @@
|
|
1
|
-
# usage: {% blockquote text[0] text[1] text[2]%}
|
2
|
-
# usage: {% blockquote text[0] text[1] text[2]%}
|
3
|
-
# text[0]: the text of the blockquote
|
4
|
-
# text[1]: the author of the blockquote
|
5
|
-
# text[2]: the source of the blockquote
|
6
|
-
|
7
|
-
module Jekyll
|
8
|
-
module Tags
|
9
|
-
class RenderBlockquoteTag < Liquid::Tag
|
10
|
-
|
11
|
-
require "shellwords"
|
12
|
-
|
13
|
-
# initialize is called when we encounter the {% blockquote %} Liquid tag; 'blockquote' is the tag name and anything immediately after it is passed in via the second argument
|
14
|
-
def initialize(tag_name, text, tokens)
|
15
|
-
super
|
16
|
-
@text = text.shellsplit
|
17
|
-
end
|
18
|
-
|
19
|
-
def render(context)
|
20
|
-
"<figure><blockquote>#{@text[0]}<figcaption>#{@text[1]}, <cite>#{@text[2]}</cite></figcaption></blockquote></figure>"
|
21
|
-
end
|
22
|
-
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
# The register_tag method takes two arguments: the user-facing name of the tag [blockquote], and the class that implements it [RenderBlockquoteTag].
|
28
|
-
Liquid::Template.register_tag("blockquote", Jekyll::Tags::RenderBlockquoteTag)
|
data/_plugins/gloss.rb
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
module Jekyll
|
2
|
-
module InterlinearGlossFilter # Liquid just uses the method name as the filter name; there's no extra level of name-mapping like there is with tags and blocks
|
3
|
-
|
4
|
-
def gloss(input) # will be available as the "gloss" filter
|
5
|
-
@text = input
|
6
|
-
puts "<table><tbody><tr>"
|
7
|
-
|
8
|
-
lexemes = @text.split(" ")
|
9
|
-
lexemes.each do |word|
|
10
|
-
puts "<td class=\"gloss_item\">#{word}</td>"
|
11
|
-
end
|
12
|
-
|
13
|
-
puts "</tr></tbody><table>"
|
14
|
-
|
15
|
-
# morphemic_analysis
|
16
|
-
# morphemic_gloss
|
17
|
-
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
Liquid::Template.register_filter(Jekyll::InterlinearGlossFilter)
|
data/_plugins/interlinear.rb
DELETED
@@ -1,37 +0,0 @@
|
|
1
|
-
# usage:
|
2
|
-
# {% interlinear %}
|
3
|
-
# sentence in object lang
|
4
|
-
# sentence in object lang broken down into morphemes
|
5
|
-
# interlinear gloss of morphemes
|
6
|
-
# translation into target lang
|
7
|
-
# {% endinterlinear %}
|
8
|
-
|
9
|
-
module Jekyll
|
10
|
-
module Tags
|
11
|
-
class InterlinearGlossTag < Liquid::Block
|
12
|
-
|
13
|
-
require "shellwords"
|
14
|
-
|
15
|
-
# initialize is called when we encounter the {% interlinear %} Liquid tag; 'interlinear' is the tag name and anything immediately after it is passed in via the second argument
|
16
|
-
def initialize(tag_name, text, tokens)
|
17
|
-
super
|
18
|
-
@text = text.shellsplit # splits the input string into individual words
|
19
|
-
# @wordcount = @text[0].length # counts the number of words in the string
|
20
|
-
|
21
|
-
# object_lang, morphemic_analysis, morphemic_gloss, target_lang
|
22
|
-
end
|
23
|
-
|
24
|
-
def render(context)
|
25
|
-
"<table class=\"interlinear-gloss\">
|
26
|
-
<tbody>
|
27
|
-
<tr>
|
28
|
-
<td colspan=\"#{@wordcount}\">#{@text[0]}</td>
|
29
|
-
</tr>" + "<tr><td>#{@text[1]}</td></tr><tr><td>#{@text[2]}</td></tr><tr><td>#{@text[3]}</td></tr></tbody></table>"
|
30
|
-
end
|
31
|
-
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
35
|
-
|
36
|
-
# The register_tag method takes two arguments: the user-facing name of the tag [interlinear], and the class that implements it [InterlinearGlossTag].
|
37
|
-
Liquid::Template.register_tag("interlinear", Jekyll::Tags::InterlinearGlossTag)
|
data/_plugins/ipa.rb
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
# usage: {% ipa /phonemic text/%}
|
2
|
-
# usage: {% ipa [phonetic text]%}
|
3
|
-
|
4
|
-
module Jekyll
|
5
|
-
module Tags
|
6
|
-
class RenderPhoneticTag < Liquid::Tag
|
7
|
-
|
8
|
-
# initialize is called when we encounter the {% ipa %} Liquid tag; 'ipa' is the tag name and anything immediately after it is passed in via the second argument
|
9
|
-
def initialize(tag_name, text, tokens)
|
10
|
-
super
|
11
|
-
@text = text
|
12
|
-
end
|
13
|
-
|
14
|
-
def render(context)
|
15
|
-
"<abbr class=\"gloss\" title=\"International Phonetic Alphabet\">IPA</abbr>: <span class=\"ipa\">#{@text}</span>"
|
16
|
-
end
|
17
|
-
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
# The register_tag method takes two arguments: the user-facing name of the tag [ipa], and the class that implements it [RenderPhoneticTag].
|
23
|
-
Liquid::Template.register_tag("ipa", Jekyll::Tags::RenderPhoneticTag)
|
data/_plugins/lang.rb
DELETED
@@ -1,28 +0,0 @@
|
|
1
|
-
# usage: {% lang text[0] text[1] text[2]%}
|
2
|
-
# usage: {% lang ko 바이 괕 모 iced jelly dish%}
|
3
|
-
# text[0] = language code
|
4
|
-
# text[1] = the text, in latin script or not
|
5
|
-
# text[2] = the translation into english
|
6
|
-
|
7
|
-
module Jekyll
|
8
|
-
module Tags
|
9
|
-
class DefineLanguageTag < Liquid::Tag
|
10
|
-
|
11
|
-
require "shellwords"
|
12
|
-
|
13
|
-
# initialize is called when we encounter the {% lang %} Liquid tag; 'lang' is the tag name and anything immediately after it is passed in via the second argument
|
14
|
-
def initialize(tag_name, text, tokens)
|
15
|
-
super
|
16
|
-
@text = text.shellsplit
|
17
|
-
end
|
18
|
-
|
19
|
-
def render(context)
|
20
|
-
"<abbr class=\"gloss\" title=\"#{@text[0]}\">#{@text[0]}</abbr>: <strong>#{@text[1]}</strong> <em>#{@text[2]}</em>"
|
21
|
-
end
|
22
|
-
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
# The register_tag method takes two arguments: the user-facing name of the tag [lang], and the class that implements it [DefineLanguageTag].
|
28
|
-
Liquid::Template.register_tag('lang', Jekyll::Tags::DefineLanguageTag)
|
data/_plugins/sidenote.rb
DELETED
@@ -1,24 +0,0 @@
|
|
1
|
-
# usage: {% sidenote %}
|
2
|
-
|
3
|
-
module Jekyll
|
4
|
-
module Tags
|
5
|
-
class RenderSideNoteTag < Liquid::Tag
|
6
|
-
|
7
|
-
require "shellwords"
|
8
|
-
|
9
|
-
# initialize is called when we encounter the {% sidenote %} Liquid tag; 'sidenote' is the tag name and anything immediately after it is passed in via the second argument
|
10
|
-
def initialize(tag_name, text, tokens)
|
11
|
-
super
|
12
|
-
@text = text.shellsplit
|
13
|
-
end
|
14
|
-
|
15
|
-
def render(context)
|
16
|
-
"<label for='#{@text[0]}' class='margin-toggle sidenote-number'></label><input type='checkbox' id='#{@text[0]}' class='margin-toggle'/><span class='sidenote'>#{@text[1]} </span>"
|
17
|
-
end
|
18
|
-
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
# The register_tag method takes two arguments: the user-facing name of the tag [sidenote], and the class that implements it [RenderSideNoteTag].
|
24
|
-
Liquid::Template.register_tag("sidenote", Jekyll::Tags::RenderSideNoteTag)
|