type-on-strap 2.4.11 → 2.4.13
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.
- checksums.yaml +4 -4
- data/LICENSE +1 -1
- data/README.md +81 -46
- data/_data/language.yml +1 -0
- data/_includes/blog/post_footer.liquid +14 -3
- data/_includes/blog/post_info.liquid +20 -9
- data/_includes/default/head.liquid +2 -2
- data/_includes/social/cusdis.liquid +3 -3
- data/_includes/social/disqus.liquid +2 -2
- data/_includes/social/giscus.liquid +17 -0
- data/_includes/social/utterances.liquid +4 -4
- data/_layouts/default.html +1 -1
- data/_layouts/post.liquid +1 -1
- data/_layouts/search.liquid +1 -1
- data/_sass/external/_katex.scss +1 -1
- data/_sass/external/katex/katex.scss +1153 -1336
- data/_sass/includes/_navbar.scss +2 -3
- data/_sass/layouts/_posts.scss +29 -5
- data/assets/js/vendor/imagesloaded.pkgd.min.js +6 -6
- data/assets/js/vendor/katex.auto-render.min.js +1 -1
- data/assets/js/vendor/katex.min.js +1 -1
- data/assets/js/vendor/mermaid.min.js +896 -399
- data/assets/js/vendor/simple-jekyll-search.min.js +4 -3
- metadata +4 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2420c122c17be2f45cf263d4e7339bd1bb193f985446014de4d8aab3f23bd8be
|
|
4
|
+
data.tar.gz: 26de41669add59557ccfed11db3a3b0ef67ff18d348132c3f703d06fd31f6ff3
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f3b2c6aca18ecf499017e741cf309ec687f971b1a93668d6ecd9caebe038fcd1707d240d2d351c12466982480c05bfaf75830862c78451a9b5760902f5d4fc5f
|
|
7
|
+
data.tar.gz: c26e9a0672a93316ec4b305fe567ba9769ad40a15eb78eb2cc3899817676aabd7dc88a97584fe1cd2e034498dcf61106d2ba51420678c65983784e9492e61c8b
|
data/LICENSE
CHANGED
data/README.md
CHANGED
|
@@ -14,7 +14,7 @@ Based on Rohan Chandra [type-theme](https://github.com/rohanchandra/type-theme)
|
|
|
14
14
|
* Multi comments 💬 options
|
|
15
15
|
* Tags compatibility 🏷
|
|
16
16
|
* Handle _Bootstrap_'ed pages: [Get Bootstrap](http://getbootstrap.com/)
|
|
17
|
-
* 🔎 Search feature: [Simple-Jekyll-Search](https://github.com/
|
|
17
|
+
* 🔎 Search feature: [Simple-Jekyll-Search](https://github.com/sylhare/Simple-Jekyll-Search)
|
|
18
18
|
* Math Rendering : [KateX](https://github.com/Khan/KaTeX)
|
|
19
19
|
* Diagram Rendering: [Mermaid-js](https://github.com/mermaid-js/mermaid)
|
|
20
20
|
* 🖋 Nice fonts: [Font Awesome](https://fontawesome.com/), [Source Sans Pro](https://fonts.google.com/specimen/Source+Sans+Pro), [Pacifico](https://fonts.google.com/specimen/Pacifico?selection.family=Pacifico)
|
|
@@ -27,13 +27,7 @@ Based on Rohan Chandra [type-theme](https://github.com/rohanchandra/type-theme)
|
|
|
27
27
|
|
|
28
28
|
## Usage
|
|
29
29
|
|
|
30
|
-
### As a
|
|
31
|
-
|
|
32
|
-
Check out this tutorial: [Use as Ruby Gem](#use-as-ruby-gem-)
|
|
33
|
-
|
|
34
|
-
[](https://gitpod.io/#/https://github.com/sylhare/Type-On-Strap)
|
|
35
|
-
|
|
36
|
-
### As a github page 📋
|
|
30
|
+
### As a GitHub page 📋
|
|
37
31
|
|
|
38
32
|
1. Fork and clone the [Type on Strap repo](https://github.com/sylhare/Type-On-Strap): `git clone https://github.com/Sylhare/Type-on-Strap.git`
|
|
39
33
|
2. Install [Jekyll](https://jekyllrb.com/docs/installation/): `gem install jekyll`, check [#1](https://github.com/Sylhare/Type-on-Strap/issues/1) if you have a problem.
|
|
@@ -42,6 +36,12 @@ Check out this tutorial: [Use as Ruby Gem](#use-as-ruby-gem-)
|
|
|
42
36
|
- GitHub Page: [update `_config.yml`](#site-configuration)
|
|
43
37
|
5. Run the Jekyll server: `bundle exec jekyll serve`
|
|
44
38
|
|
|
39
|
+
### As a ruby gem 💎
|
|
40
|
+
|
|
41
|
+
Check out this tutorial: [Use as Ruby Gem](#use-as-ruby-gem-)
|
|
42
|
+
|
|
43
|
+
[](https://gitpod.io/#/https://github.com/sylhare/Type-On-Strap)
|
|
44
|
+
|
|
45
45
|
## Structure
|
|
46
46
|
|
|
47
47
|
Here are the main files of the template
|
|
@@ -68,6 +68,7 @@ Here are the main files of the template
|
|
|
68
68
|
├── _config.yml # sample configuration
|
|
69
69
|
├── _data
|
|
70
70
|
| ├── authors.yml # Update the post authors configurations
|
|
71
|
+
| ├── comments.yml # Comments configuration (Disqus, Cusdis, Utterances, Giscus)
|
|
71
72
|
| ├── language.yml # Localization configuration
|
|
72
73
|
| ├── biblio.yml # To create a reference bibliography
|
|
73
74
|
| ├── social.yml # Social configurations to share posts (RSS, shares, ...)
|
|
@@ -77,7 +78,7 @@ Here are the main files of the template
|
|
|
77
78
|
|
|
78
79
|
## Configure Type on Strap 🛠
|
|
79
80
|
|
|
80
|
-
Open `_config.yml` in a text editor to change most of the blog's settings.
|
|
81
|
+
Open [`_config.yml`](_config.yml) in a text editor to change most of the blog's settings.
|
|
81
82
|
|
|
82
83
|
If a variable in this document is marked as "optional", disable the feature by removing all text from the variable.
|
|
83
84
|
|
|
@@ -85,7 +86,7 @@ If a variable in this document is marked as "optional", disable the feature by r
|
|
|
85
86
|
|
|
86
87
|
#### Base url
|
|
87
88
|
|
|
88
|
-
Configure Jekyll as your own blog or with a "baseurl" in `_config.yml
|
|
89
|
+
Configure Jekyll as your own blog or with a "baseurl" in [`_config.yml`](_config.yml):
|
|
89
90
|
|
|
90
91
|
Jekyll website *without* a "baseurl" (such as a **GitHub Pages website** with your username as the repository name):
|
|
91
92
|
|
|
@@ -103,7 +104,7 @@ url: "https://username.github.io"
|
|
|
103
104
|
|
|
104
105
|
#### Jekyll blog configuration
|
|
105
106
|
|
|
106
|
-
And here is the basic information you will need in your `_config.yml` for it to work properly:
|
|
107
|
+
And here is the basic information you will need in your [`_config.yml`](_config.yml) for it to work properly:
|
|
107
108
|
|
|
108
109
|
```yaml
|
|
109
110
|
# BLOG CONFIGURATION
|
|
@@ -120,7 +121,7 @@ To configure the blog part and default plugins. Those plugins are validated by G
|
|
|
120
121
|
_Meta variables_ hold basic information about your Jekyll site, which will be used throughout the site
|
|
121
122
|
and as _meta properties_ that are used for search engines, browsers, and the site's RSS feed.
|
|
122
123
|
|
|
123
|
-
Change these variables in `_config.yml
|
|
124
|
+
Change these variables in [`_config.yml`](_config.yml):
|
|
124
125
|
|
|
125
126
|
```yml
|
|
126
127
|
title: My Jekyll Blog # Name of website
|
|
@@ -131,14 +132,14 @@ color_theme: auto # color theme auto, dark or light
|
|
|
131
132
|
```
|
|
132
133
|
|
|
133
134
|
You can also customize the seo tags default option following the jekyll-seo-tag plugin [documentation](http://jekyll.github.io/jekyll-seo-tag/advanced-usage/).
|
|
134
|
-
The color theme can be set to dark or light (customize it in _variables.
|
|
135
|
+
The color theme can be set to dark or light (customize it in [`_variables.scss`](_sass/base/_variables.scss)).
|
|
135
136
|
Using _auto_ you'll have a tiny icon in the navbar allowing the use to manually switch from dark to light theme.
|
|
136
137
|
|
|
137
138
|
### Theme customization 🎨
|
|
138
139
|
|
|
139
140
|
#### Footer and Header text
|
|
140
141
|
|
|
141
|
-
Customize your site header/footer with these variables in `_config.yml
|
|
142
|
+
Customize your site header/footer with these variables in [`_config.yml`](_config.yml):
|
|
142
143
|
|
|
143
144
|
```yml
|
|
144
145
|
header_text: Welcome to my Jekyll blog
|
|
@@ -163,16 +164,17 @@ with suffix `-small` (620x320) and `-medium` (1240x640) to display on smaller sc
|
|
|
163
164
|
#### Localisation string
|
|
164
165
|
|
|
165
166
|
Localization string is a way to quickly change the template language for text like *Next Post* or *Follow on*, ...
|
|
166
|
-
You can find all the properties in `_data/language.yml
|
|
167
|
+
You can find all the properties in [`_data/language.yml`](_data/language.yml).
|
|
167
168
|
|
|
168
|
-
By default, it is in English, but you can
|
|
169
|
+
By default, it is in English, but you can add your own language.
|
|
169
170
|
|
|
170
|
-
Here you also can set the date format, e.g., set `str_date_format: '%B %-d, %Y'` for "January, 13, 2024",
|
|
171
|
+
Here you also can set the date format, e.g., set `str_date_format: '%B %-d, %Y'` for "January, 13, 2024",
|
|
172
|
+
`str_date_format: '%Y-%m-%d'` for 2024-01-13, or `str_date_format: '%d.%m.%Y'` for 13.01.2024.
|
|
171
173
|
|
|
172
174
|
### Google Analytics
|
|
173
175
|
|
|
174
176
|
To enable Google Analytics (GA4), add your [Measurement ID](https://support.google.com/analytics/answer/12270356?hl=en&sjid=1593376271608310401-NA)
|
|
175
|
-
to `_config.yml` like so:
|
|
177
|
+
to [`_config.yml`](_config.yml) like so:
|
|
176
178
|
|
|
177
179
|
```yml
|
|
178
180
|
google_analytics: G-XXXXXXXXXX
|
|
@@ -182,12 +184,15 @@ It will use the [Google Tag Manager](https://support.google.com/analytics/answer
|
|
|
182
184
|
|
|
183
185
|
### Comments 💬
|
|
184
186
|
|
|
187
|
+
Type-on-Strap supports multiple comment systems.
|
|
188
|
+
Use [`_data/comments.yml`](_data/comments.yml) for all comment configurations
|
|
189
|
+
|
|
185
190
|
#### Disqus
|
|
186
191
|
|
|
187
192
|
If you have a [Disqus](https://disqus.com/) account, you can show a comments section below each post.
|
|
188
193
|
|
|
189
194
|
To enable Disqus comments, add your [Disqus shortname](https://help.disqus.com/customer/portal/articles/466208)
|
|
190
|
-
to your project's `
|
|
195
|
+
to your project's [`_data/comments.yml`](_data/comments.yml) file:
|
|
191
196
|
|
|
192
197
|
```yml
|
|
193
198
|
comments:
|
|
@@ -199,7 +204,7 @@ comments:
|
|
|
199
204
|
[Cusdis](https://cusdis.com/) is an open-source alternative to Disqus.
|
|
200
205
|
You can read more about it in the [documentation](https://cusdis.com/doc#/)
|
|
201
206
|
|
|
202
|
-
To enable it, set your Cusdis name in `
|
|
207
|
+
To enable it, set your Cusdis name in [`_data/comments.yml`](_data/comments.yml):
|
|
203
208
|
|
|
204
209
|
```yaml
|
|
205
210
|
comments:
|
|
@@ -212,7 +217,7 @@ comments:
|
|
|
212
217
|
It stores the comments as GitHub issues on a repository for each page.
|
|
213
218
|
|
|
214
219
|
Install the utterance [app](https://github.com/apps/utterances) to your repo.
|
|
215
|
-
After installing, add your info in the `
|
|
220
|
+
After installing, add your info in the [`_data/comments.yml`](_data/comments.yml):
|
|
216
221
|
|
|
217
222
|
```yaml
|
|
218
223
|
comments:
|
|
@@ -223,16 +228,41 @@ comments:
|
|
|
223
228
|
label: # OPTIONAL: Adds an issue label in the issue
|
|
224
229
|
```
|
|
225
230
|
|
|
231
|
+
#### Giscus
|
|
232
|
+
|
|
233
|
+
[Giscus](https://giscus.app/) is another open source alternative linked to one's GitHub account.
|
|
234
|
+
It stores the comments as GitHub discussions on a repository for each page.
|
|
235
|
+
|
|
236
|
+
Install the giscus [app](https://github.com/apps/giscus) to your repo.
|
|
237
|
+
After installing, add your info in the [`_data/comments.yml`](_data/comments.yml):
|
|
238
|
+
|
|
239
|
+
```yaml
|
|
240
|
+
comments:
|
|
241
|
+
giscus: # Enable by filling below information. For more info, go to https://giscus.app
|
|
242
|
+
repo: # Your public comments repository (e.g. owner/repo)
|
|
243
|
+
repo-id: # Your repo id, go to https://giscus.app to check it
|
|
244
|
+
category: # Category to search discussions. When removed, discussions will be searched in all categories
|
|
245
|
+
category-id: # Your category id, go to https://giscus.app to check it
|
|
246
|
+
mapping: # Discussion mapping
|
|
247
|
+
term: # OPTIONAL: some mappings require specific term, go to https://giscus.app to check it
|
|
248
|
+
strict: 1 # OPTIONAL: Avoid mismatches on similar titles
|
|
249
|
+
reactions-enabled: 0 # OPTIONAL: Disable reactions
|
|
250
|
+
emit-metadata: 1 # OPTIONAL: Emit discussion metadata
|
|
251
|
+
input-position: top # OPTIONAL: Place the comment box above the comments
|
|
252
|
+
theme: # OPTIONAL: Take the `color_theme` by default, or set a custom one like dark_dimmed
|
|
253
|
+
lang: # OPTIONAL: Choose the language. "en" is used by default
|
|
254
|
+
```
|
|
255
|
+
|
|
226
256
|
### Math typesetting with KateX
|
|
227
257
|
|
|
228
|
-
When KateX is set in `_config.yml
|
|
258
|
+
When KateX is set in [`_config.yml`](_config.yml):
|
|
229
259
|
|
|
230
260
|
```yml
|
|
231
261
|
katex: true # to enable it
|
|
232
262
|
```
|
|
233
263
|
|
|
234
264
|
You can then wrap math expressions with `$$` signs in your posts and make sure you have set the `katex` variable
|
|
235
|
-
in `_config.yml` to `true` for math typesetting.
|
|
265
|
+
in [`_config.yml`](_config.yml) to `true` for math typesetting.
|
|
236
266
|
|
|
237
267
|
For inline math typesetting, type your math expression on the *same line* as your content. For example:
|
|
238
268
|
|
|
@@ -252,7 +282,7 @@ You can find a cheat sheet of the compatible LaTex symbols [online](https://arto
|
|
|
252
282
|
|
|
253
283
|
### Diagrams with Mermaid
|
|
254
284
|
|
|
255
|
-
Enable the [mermaid-js](https://github.com/mermaid-js/mermaid) diagram rendering by setting mermaid to true in the `_config.yml
|
|
285
|
+
Enable the [mermaid-js](https://github.com/mermaid-js/mermaid) diagram rendering by setting mermaid to true in the [`_config.yml`](_config.yml).
|
|
256
286
|
This will load and init the [mermaid.min.js](https://mermaid-js.github.io/mermaid/getting-started/n00b-gettingStarted.html#4-calling-mermaid-from-a-relative-link).
|
|
257
287
|
|
|
258
288
|
```yml
|
|
@@ -271,11 +301,11 @@ sequenceDiagram
|
|
|
271
301
|
|
|
272
302
|
### Social icons
|
|
273
303
|
|
|
274
|
-
In `_data/social.yml` you can customize the social icons that will be displayed in the post to share your post.
|
|
304
|
+
In [`_data/social.yml`](_data/social.yml) you can customize the social icons that will be displayed in the post to share your post.
|
|
275
305
|
You can also enable RSS.
|
|
276
306
|
The site icons come from [Font Awesome](https://fontawesome.com/).
|
|
277
307
|
|
|
278
|
-
In `_data/icons.yml` you can set the footer icon that will appear at the bottom of the page.
|
|
308
|
+
In [`_data/icons.yml`](_data/icons.yml) you can set the footer icon that will appear at the bottom of the page.
|
|
279
309
|
They will redirect the user on your profile on to other platforms like Twitter, GitHub and so many more!
|
|
280
310
|
|
|
281
311
|
### Cookie consent
|
|
@@ -292,10 +322,11 @@ They will on click redirect you to the logo's platform to share the article.
|
|
|
292
322
|
#### Footer
|
|
293
323
|
|
|
294
324
|
Display icons in the footer.
|
|
295
|
-
All icon variables should be your username enclosed in quotes (e.g. "username") in `_data/icons.yml
|
|
325
|
+
All icon variables should be your username enclosed in quotes (e.g. "username") in [`_data/icons.yml`](_data/icons.yml).
|
|
296
326
|
|
|
297
327
|
You can update the RSS settings in `_data/social` to change the default feed path (generated by [jekyll-feel](https://github.com/jekyll/jekyll-feed)).
|
|
298
|
-
To enable the share icons at the bottom of each article
|
|
328
|
+
To enable the share icons at the bottom of each article,
|
|
329
|
+
set to true the one you'd like under `share` in the [`_data/social.yml`](_data/social.yml) file.
|
|
299
330
|
|
|
300
331
|
### Personalize your Blog Posts 📝
|
|
301
332
|
|
|
@@ -318,7 +349,7 @@ title: Hello World # Title of the page
|
|
|
318
349
|
hide_title: true # [Opt] Hide the title when displaying the post, but shown in lists of posts
|
|
319
350
|
feature-img: "assets/img/sample.png" # [Opt] Add a feature-image to the post
|
|
320
351
|
thumbnail: "assets/img/thumbnails/sample-th.png" # [Opt] Add a thumbnail image on blog view
|
|
321
|
-
color: rgb(80,140,22) # [Opt] Add the specified
|
|
352
|
+
color: rgb(80,140,22) # [Opt] Add the specified color as feature image and links in post
|
|
322
353
|
position: 1 # [Opt] Set position on the menu navigation bar
|
|
323
354
|
tags: [sample, markdown, html] # [Opt] Add tags to the page
|
|
324
355
|
---
|
|
@@ -327,7 +358,7 @@ tags: [sample, markdown, html] # [Opt] Add tags to the page
|
|
|
327
358
|
With `thumbnail`, you can add a smaller image than the `feature-img`.
|
|
328
359
|
If you don't have a thumbnail, you can still use the same image as the feature one. Or use the gulp task to create it.
|
|
329
360
|
|
|
330
|
-
If you don't use a feature image, but `color`, the transparent background is set comes from `lineart.png
|
|
361
|
+
If you don't use a feature image, but `color`, the transparent background is set comes from [`lineart.png`](assets/img/lineart.png).
|
|
331
362
|
You can edit it in the config file (`_config.yml > color_image`). If you want another one, put it in `/assets/img` as well.
|
|
332
363
|
|
|
333
364
|
For position, if not set on all pages, it will be by alphabetical order without `position` then by `position` order.
|
|
@@ -339,7 +370,7 @@ It will respect the page and theme layout, mind the padding on the sides.
|
|
|
339
370
|
|
|
340
371
|
#### Post excerpt
|
|
341
372
|
|
|
342
|
-
The [excerpt](https://jekyllrb.com/docs/posts/#post-excerpts)
|
|
373
|
+
The [excerpt](https://jekyllrb.com/docs/posts/#post-excerpts) is the head of the article rendered in the blog page.
|
|
343
374
|
The length of the excerpt has a default of around `250` characters or can be manually set in the post using:
|
|
344
375
|
|
|
345
376
|
in `conflig.yml`:
|
|
@@ -369,8 +400,12 @@ The html is stripped out of the excerpt, so it only displays text.
|
|
|
369
400
|
|
|
370
401
|
To easily add align images side by side in your article using the `aligner.html` include:
|
|
371
402
|
|
|
372
|
-
```
|
|
373
|
-
{% include aligner.html
|
|
403
|
+
```liquid
|
|
404
|
+
{% include aligner.html
|
|
405
|
+
images="path/to/img1.png,path/to/img2.png,path/to/img3.png"
|
|
406
|
+
column=3
|
|
407
|
+
caption="some description"
|
|
408
|
+
%}
|
|
374
409
|
```
|
|
375
410
|
|
|
376
411
|
Use it in any markdown file. There are two fields in the _include_ you need to look into:
|
|
@@ -393,7 +428,7 @@ of your favourite highlight color scheme on this format.
|
|
|
393
428
|
All feature pages besides the "home" one are stored in the `page` folder,
|
|
394
429
|
they will appear in the navigation bar unless you set `Hide: true` in the front matter.
|
|
395
430
|
|
|
396
|
-
Here are the documentation for the other feature pages that can be added through `_config.yml
|
|
431
|
+
Here are the documentation for the other feature pages that can be added through [`_config.yml`](_config.yml).
|
|
397
432
|
|
|
398
433
|
Non-standard features are documented below.
|
|
399
434
|
|
|
@@ -404,13 +439,13 @@ Unless you are making a custom layout you won't need it.
|
|
|
404
439
|
|
|
405
440
|
### Layout: Home 🏡
|
|
406
441
|
|
|
407
|
-
This page is used as the home page of the template (in the `index.html`). It displays the list of articles in `_posts`.
|
|
442
|
+
This page is used as the home page of the template (in the [`index.html`](index.html)). It displays the list of articles in `_posts`.
|
|
408
443
|
You can use this layout in another page (adding a title to it will make it appear in the navigation bar).
|
|
409
444
|
|
|
410
445
|
The recommended width and height for the home picture is width:`2484px;` and height:`1280px`
|
|
411
446
|
which are the dimensions of the actual picture for it to be rolling down as you scroll the page.
|
|
412
447
|
|
|
413
|
-
If your posts are not displaying ensure that you have added the line `paginate: 5` to `_config.yml
|
|
448
|
+
If your posts are not displaying ensure that you have added the line `paginate: 5` to [`_config.yml`](_config.yml).
|
|
414
449
|
|
|
415
450
|
### Layout: Page 📄
|
|
416
451
|
|
|
@@ -436,7 +471,7 @@ The hide only hides your page from the navigation bar, it is, however, still gen
|
|
|
436
471
|
|
|
437
472
|
Portfolio is a feature page that will take all the markdown/html files in the `_portfolio` folder to create a 3-columns image portfolio matrix.
|
|
438
473
|
|
|
439
|
-
To use the portfolio, simply create a `portfolio.md` with this information inside:
|
|
474
|
+
To use the portfolio, simply create a [`portfolio.md`](pages/portfolio.md) with this information inside:
|
|
440
475
|
|
|
441
476
|
```yml
|
|
442
477
|
|
|
@@ -469,7 +504,7 @@ date: 2019-07-25 # Not mandatory, however needs to be in date format t
|
|
|
469
504
|
|
|
470
505
|
#### Portfolio in gem
|
|
471
506
|
|
|
472
|
-
Make sure your `_config.yml` contains the following if you are using the theme as a gem:
|
|
507
|
+
Make sure your [`_config.yml`](_config.yml) contains the following if you are using the theme as a gem:
|
|
473
508
|
|
|
474
509
|
```yml
|
|
475
510
|
# PORTFOLIO
|
|
@@ -501,8 +536,8 @@ gallery: "assets/img/pexels"
|
|
|
501
536
|
|
|
502
537
|
### Feature: Search 🔍
|
|
503
538
|
|
|
504
|
-
The search feature is based on [Simple-Jekyll-search](https://github.com/
|
|
505
|
-
there is a `search.liquid` file that will create a list of all the site posts, pages and portfolios.
|
|
539
|
+
The search feature is based on [Simple-Jekyll-search](https://github.com/sylhare/Simple-Jekyll-Search)
|
|
540
|
+
there is a [`search.liquid`](_layouts/search.liquid) file that will create a list of all the site posts, pages and portfolios.
|
|
506
541
|
Then there's a script displaying the formatted results in the _search page_.
|
|
507
542
|
|
|
508
543
|
To exclude contents from the search add the `exclude: true` option in the markdown header.
|
|
@@ -546,7 +581,7 @@ The Tag page can be hidden with the `hide` option. You can remove the icon by re
|
|
|
546
581
|
|
|
547
582
|
Jekyll works with [liquid](https://shopify.github.io/liquid/) tags usually represented by:
|
|
548
583
|
|
|
549
|
-
```
|
|
584
|
+
```liquid
|
|
550
585
|
{{ liquid.tag | filter }}
|
|
551
586
|
```
|
|
552
587
|
|
|
@@ -606,11 +641,11 @@ You can use Type-on-strap as a [gem](https://rubygems.org/gems/type-on-strap).
|
|
|
606
641
|
Using the [Ruby Gem Method](https://sylhare.github.io/2021/03/25/Run-type-on-strap-jekyll-theme-locally.html).
|
|
607
642
|
Add this line to your Jekyll site's Gemfile (or create one):
|
|
608
643
|
|
|
609
|
-
```
|
|
644
|
+
```shell
|
|
610
645
|
gem "type-on-strap"
|
|
611
646
|
```
|
|
612
647
|
|
|
613
|
-
Add this line to your Jekyll site's `_config.yml` file:
|
|
648
|
+
Add this line to your Jekyll site's [`_config.yml`](_config.yml) file:
|
|
614
649
|
|
|
615
650
|
```yml
|
|
616
651
|
theme: type-on-strap
|
|
@@ -618,19 +653,19 @@ theme: type-on-strap
|
|
|
618
653
|
|
|
619
654
|
Then run Bundler to install the theme gem and dependencies:
|
|
620
655
|
|
|
621
|
-
```
|
|
656
|
+
```shell
|
|
622
657
|
bundle install
|
|
623
658
|
```
|
|
624
659
|
|
|
625
660
|
Then you can start adding content like:
|
|
626
|
-
- Add a `index.html` file
|
|
661
|
+
- Add a [`index.html`](index.html) file
|
|
627
662
|
- Add the feature page you want. (ex: as it is already in `pages`)
|
|
628
663
|
- Add posts in `_posts` and `_portfolio` to be displayed
|
|
629
664
|
|
|
630
665
|
### Remote Theme
|
|
631
666
|
|
|
632
667
|
Now you can use any theme gem with GitHub pages with [29/11/2017 GitHub Pages Broadcast](https://github.com/blog/2464-use-any-theme-with-github-pages).
|
|
633
|
-
For that remove all `theme:` attributes from `_config.yml` and add instead:
|
|
668
|
+
For that remove all `theme:` attributes from [`_config.yml`](_config.yml) and add instead:
|
|
634
669
|
|
|
635
670
|
```yml
|
|
636
671
|
remote_theme: sylhare/Type-on-Strap
|
data/_data/language.yml
CHANGED
|
@@ -18,6 +18,7 @@ str_months: [January, February, March, April, May, June, July, August, September
|
|
|
18
18
|
str_dark: 'Dark'
|
|
19
19
|
str_light: 'Light'
|
|
20
20
|
str_date_format: '%B %-d, %Y'
|
|
21
|
+
str_last_modified: 'Last modified on'
|
|
21
22
|
|
|
22
23
|
# Localization settings
|
|
23
24
|
cusdis_lang: # zh-cn, es, tr, pt-BR
|
|
@@ -39,18 +39,29 @@
|
|
|
39
39
|
{% include blog/post_nav.liquid %}
|
|
40
40
|
{% endif %}
|
|
41
41
|
|
|
42
|
+
<!-- Giscus -->
|
|
43
|
+
{% if site.data.comments.giscus.repo and site.data.comments.giscus.repo-id and site.data.comments.giscus.category-id and site.data.comments.giscus.mapping %}
|
|
44
|
+
{% include social/giscus.liquid %}
|
|
45
|
+
{% endif %}
|
|
46
|
+
|
|
42
47
|
<!--Utterances-->
|
|
43
|
-
{% if site.comments.utterances.repo and site.comments.utterances.issue-term %}
|
|
48
|
+
{% if site.data.comments.utterances.repo and site.data.comments.utterances.issue-term %}
|
|
49
|
+
{% include social/utterances.liquid %}
|
|
50
|
+
{% elsif site.comments.utterances.repo and site.comments.utterances.issue-term %}
|
|
44
51
|
{% include social/utterances.liquid %}
|
|
45
52
|
{% endif %}
|
|
46
53
|
|
|
47
54
|
<!-- Cusdis -->
|
|
48
|
-
{% if site.comments.
|
|
55
|
+
{% if site.data.comments.cusdis.app_id %}
|
|
56
|
+
{% include social/cusdis.liquid %}
|
|
57
|
+
{% elsif site.comments.cusdis_app_id or site.cusdis_app_id %}
|
|
49
58
|
{% include social/cusdis.liquid %}
|
|
50
59
|
{% endif %}
|
|
51
60
|
|
|
52
61
|
<!-- Disqus -->
|
|
53
|
-
{% if site.comments.
|
|
62
|
+
{% if site.data.comments.disqus.shortname %}
|
|
63
|
+
{% include social/disqus.liquid %}
|
|
64
|
+
{% elsif site.comments.disqus_shortname or site.theme_settings.disqus_shortname or site.disqus_shortname %}
|
|
54
65
|
{% include social/disqus.liquid %}
|
|
55
66
|
{% endif %}
|
|
56
67
|
{% endcapture %}
|
|
@@ -2,14 +2,25 @@
|
|
|
2
2
|
{% assign date = include.date | default: "today" | date: site.data.language.str_date_format | default: '%B %-d, %Y' %}
|
|
3
3
|
|
|
4
4
|
<div class="post-info">
|
|
5
|
-
|
|
6
|
-
{% if author
|
|
7
|
-
<
|
|
5
|
+
<div class="post-meta">
|
|
6
|
+
{% if author %}
|
|
7
|
+
<div class="author-info">
|
|
8
|
+
{%- if author.url -%}<a href="{{ author.url | relative_url }}" target="_blank" rel="noopener">{%- endif -%}
|
|
9
|
+
{% if author.avatar %}
|
|
10
|
+
<img alt="Author's avatar" src="{{ author.avatar | relative_url }}" loading="lazy">
|
|
11
|
+
{% endif %}
|
|
12
|
+
<p class="meta">
|
|
13
|
+
{% if author.name %}{{ author.name }}{% endif %}
|
|
14
|
+
</p>
|
|
15
|
+
{%- if author.url -%}</a>{%- endif -%}
|
|
16
|
+
</div>
|
|
17
|
+
<span class="meta-separator">-</span>
|
|
8
18
|
{% endif %}
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
19
|
+
{% assign date_month = date | date: "%m" | minus: 1 %}
|
|
20
|
+
<p class="meta">{{ site.data.language.str_months[date_month] | default: date | date: "%B" }} {{ date | date: "%d, %Y" }}</p>
|
|
21
|
+
</div>
|
|
22
|
+
{% if include.last_modified %}
|
|
23
|
+
{% assign last_modified_month = include.last_modified | date: "%m" | minus: 1 %}
|
|
24
|
+
<p class="last-modified">{{ site.data.language.str_last_modified | default: "Last modified on" }} {{ site.data.language.str_months[last_modified_month] | default: include.last_modified | date: "%B" }} {{ include.last_modified | date: "%d, %Y" }}</p>
|
|
25
|
+
{% endif %}
|
|
15
26
|
</div>
|
|
@@ -35,13 +35,13 @@
|
|
|
35
35
|
<script defer src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
|
|
36
36
|
{% endif %}
|
|
37
37
|
|
|
38
|
-
<!-- KaTeX 0.16.
|
|
38
|
+
<!-- KaTeX 0.16.25 -->
|
|
39
39
|
{% if site.katex or site.theme_settings.katex %}
|
|
40
40
|
<script defer src="{{ '/assets/js/vendor/katex.min.js' | relative_url }}"></script>
|
|
41
41
|
<script defer src="{{ '/assets/js/vendor/katex.auto-render.min.js' | relative_url }}" onload="renderMathInElement(document.body);"></script>
|
|
42
42
|
{% endif %}
|
|
43
43
|
|
|
44
|
-
<!-- Mermaid 11.
|
|
44
|
+
<!-- Mermaid 11.12.0 -->
|
|
45
45
|
{% if site.mermaid %}
|
|
46
46
|
<script defer src="{{ '/assets/js/vendor/mermaid.min.js' | relative_url }}"></script>
|
|
47
47
|
{% endif %}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
<div class="comments" id="cusdis_thread"
|
|
2
2
|
data-host="https://cusdis.com"
|
|
3
|
-
data-app-id="{% if site.comments.cusdis_app_id %}{{ site.comments.cusdis_app_id }}{% else %}{{ site.cusdis_app_id }}{% endif %}"
|
|
3
|
+
data-app-id="{% if site.data.comments.cusdis.app_id %}{{ site.data.comments.cusdis.app_id }}{% elsif site.comments.cusdis_app_id %}{{ site.comments.cusdis_app_id }}{% else %}{{ site.cusdis_app_id }}{% endif %}"
|
|
4
4
|
data-page-id="{{ page.relative_path }}"
|
|
5
5
|
data-page-url="{{ page.url | absolute_url }}"
|
|
6
6
|
data-page-title="{{ page.title }}"
|
|
7
7
|
data-theme="{{ site.color_theme }}"
|
|
8
8
|
></div>
|
|
9
9
|
|
|
10
|
-
{% if site.data.language.cusdis_lang %}
|
|
11
|
-
<script defer src="https://cusdis.com/js/widget/lang/{{ site.data.language.cusdis_lang }}.js"></script>
|
|
10
|
+
{% if site.data.comments.cusdis.lang or site.data.language.cusdis_lang %}
|
|
11
|
+
<script defer src="https://cusdis.com/js/widget/lang/{% if site.data.comments.cusdis.lang %}{{ site.data.comments.cusdis.lang }}{% else %}{{ site.data.language.cusdis_lang }}{% endif %}.js"></script>
|
|
12
12
|
{% endif %}
|
|
13
13
|
<script defer src="https://cusdis.com/js/cusdis.es.js"></script>
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
<div class="comments">
|
|
2
2
|
<div id="disqus_thread"></div>
|
|
3
3
|
<script type="text/javascript">
|
|
4
|
-
var disqus_shortname = '{{ site.comments.disqus_shortname }}' || '{{ site.disqus_shortname }}';
|
|
4
|
+
var disqus_shortname = '{{ site.data.comments.disqus.shortname }}' || '{{ site.comments.disqus_shortname }}' || '{{ site.disqus_shortname }}';
|
|
5
5
|
(function() {
|
|
6
6
|
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
|
|
7
7
|
dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
|
|
8
8
|
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
|
|
9
9
|
})();
|
|
10
10
|
</script>
|
|
11
|
-
<noscript>{{ site.data.language.str_javascript_required_disqus | default: Please enable JavaScript to view comments." }}</noscript>
|
|
11
|
+
<noscript>{{ site.data.language.str_javascript_required_disqus | default: "Please enable JavaScript to view comments." }}</noscript>
|
|
12
12
|
</div>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<script src="https://giscus.app/client.js"
|
|
2
|
+
data-repo="{{ site.data.comments.giscus.repo }}"
|
|
3
|
+
data-repo-id="{{ site.data.comments.giscus.repo-id }}"
|
|
4
|
+
{% if site.data.comments.giscus.category %}data-category="{{ site.data.comments.giscus.category }}"{% endif %}
|
|
5
|
+
data-category-id="{{ site.data.comments.giscus.category-id }}"
|
|
6
|
+
data-mapping="{{ site.data.comments.giscus.mapping }}"
|
|
7
|
+
{% if site.data.comments.giscus.term %}data-term="{{ site.data.comments.giscus.term }}"{% endif %}
|
|
8
|
+
data-strict="{% if site.data.comments.giscus.strict %}{{ site.data.comments.giscus.strict }}{% else %}0{% endif %}"
|
|
9
|
+
data-reactions-enabled="{% if site.data.comments.giscus.reactions-enabled %}{{ site.data.comments.giscus.reactions-enabled }}{% else %}1{% endif %}"
|
|
10
|
+
data-emit-metadata="{% if site.data.comments.giscus.emit-metadata %}{{ site.data.comments.giscus.emit-metadata }}{% else %}0{% endif %}"
|
|
11
|
+
data-input-position="{% if site.data.comments.giscus.input-position %}{{ site.data.comments.giscus.input-position }}{% else %}bottom{% endif %}"
|
|
12
|
+
data-theme="{% if site.data.comments.giscus.theme %}{{ site.data.comments.giscus.theme }}{% elsif site.color_theme == 'dark' %}dark{% else %}light{% endif %}"
|
|
13
|
+
data-lang="{% if site.data.comments.giscus.lang %}{{ site.data.comments.giscus.lang }}{% else %}en{% endif %}"
|
|
14
|
+
{% if site.data.comments.giscus.loading %}data-loading="{{ site.data.comments.giscus.loading }}"{% endif %}
|
|
15
|
+
crossorigin="anonymous"
|
|
16
|
+
async>
|
|
17
|
+
</script>
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
<script src="https://utteranc.es/client.js"
|
|
2
|
-
repo='{{ site.comments.utterances.repo }}'
|
|
3
|
-
issue-term="{{ site.comments.utterances.issue-term}}"
|
|
4
|
-
theme="{% if site.comments.utterances.theme %}{{ site.comments.utterances.theme }}{% elsif site.color_theme == 'dark' %}github-dark{% else %}github-light{% endif %}"
|
|
5
|
-
{% if site.comments.utterances.label %}label="{{ site.comments.utterances.label }}"{% endif %}
|
|
2
|
+
repo='{% if site.data.comments.utterances.repo %}{{ site.data.comments.utterances.repo }}{% else %}{{ site.comments.utterances.repo }}{% endif %}'
|
|
3
|
+
issue-term="{% if site.data.comments.utterances.issue-term %}{{ site.data.comments.utterances.issue-term }}{% else %}{{ site.comments.utterances.issue-term }}{% endif %}"
|
|
4
|
+
theme="{% if site.data.comments.utterances.theme %}{{ site.data.comments.utterances.theme }}{% elsif site.comments.utterances.theme %}{{ site.comments.utterances.theme }}{% elsif site.color_theme == 'dark' %}github-dark{% else %}github-light{% endif %}"
|
|
5
|
+
{% if site.data.comments.utterances.label or site.comments.utterances.label %}label="{% if site.data.comments.utterances.label %}{{ site.data.comments.utterances.label }}{% else %}{{ site.comments.utterances.label }}{% endif %}"{% endif %}
|
|
6
6
|
crossorigin="anonymous"
|
|
7
7
|
async>
|
|
8
8
|
</script>
|
data/_layouts/default.html
CHANGED
data/_layouts/post.liquid
CHANGED
|
@@ -8,7 +8,7 @@ layout: default
|
|
|
8
8
|
<div class="feature-image-padding"></div>
|
|
9
9
|
{% else %}
|
|
10
10
|
<h1 id="{{ page.title | cgi_escape }}" class="title">{{ page.title }}</h1>
|
|
11
|
-
{% include blog/post_info.liquid author=page.author date=page.date %}
|
|
11
|
+
{% include blog/post_info.liquid author=page.author date=page.date last_modified=page.last_modified %}
|
|
12
12
|
{% endif %}
|
|
13
13
|
</div>
|
|
14
14
|
</header>
|
data/_layouts/search.liquid
CHANGED
|
@@ -17,7 +17,7 @@ layout: page
|
|
|
17
17
|
searchResultTemplate: '<div class="search-title"><a href="{url}"><h3> {title}</h3></a><div class="meta">{date} <div class="right"><i class="fas fa-tag"></i> {tags}</div></div><p>{excerpt}</p></div><hr> ',
|
|
18
18
|
noResultsText: '{{ site.data.language.str_no_result_found | default: "No result found" }}',
|
|
19
19
|
limit: 10,
|
|
20
|
-
|
|
20
|
+
strategy: 'wildcard',
|
|
21
21
|
exclude: []
|
|
22
22
|
})
|
|
23
23
|
</script>
|
data/_sass/external/_katex.scss
CHANGED