jekyll-theme-schatten 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE.md +22 -0
- data/README.md +109 -0
- data/_includes/category-posts.html +5 -0
- data/_includes/footer.html +42 -0
- data/_includes/google-analytics.html +8 -0
- data/_includes/head.html +31 -0
- data/_includes/header.html +6 -0
- data/_includes/navbar.html +10 -0
- data/_includes/post-preview.html +20 -0
- data/_includes/recent-posts.html +3 -0
- data/_includes/related-posts.html +13 -0
- data/_includes/sharing-links.html +12 -0
- data/_includes/social-icons.html +11 -0
- data/_includes/tag-posts.html +6 -0
- data/_includes/year-posts.html +7 -0
- data/_layouts/archive.html +39 -0
- data/_layouts/category-archive.html +9 -0
- data/_layouts/default.html +15 -0
- data/_layouts/home.html +9 -0
- data/_layouts/page.html +10 -0
- data/_layouts/post.html +30 -0
- data/_layouts/tag-archive.html +9 -0
- data/_layouts/year-archive.html +9 -0
- data/_sass/_-sections-dir.scss +12 -0
- data/_sass/_archive.scss +5 -0
- data/_sass/_base.scss +122 -0
- data/_sass/_code.scss +66 -0
- data/_sass/_container.scss +25 -0
- data/_sass/_dark-mode.scss +432 -0
- data/_sass/_footer.scss +25 -0
- data/_sass/_header.scss +49 -0
- data/_sass/_light-mode.scss +430 -0
- data/_sass/_mobile.scss +127 -0
- data/_sass/_navbar.scss +14 -0
- data/_sass/_post.scss +88 -0
- data/_sass/_social-icons.scss +47 -0
- data/assets/css/main.scss +45 -0
- data/assets/img/preview.png +0 -0
- metadata +179 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 14865e03608825e8d372d90d9a383d62920e171d9ce4162e81e625264edcb4e7
|
4
|
+
data.tar.gz: 102dd085eb21c52ecef5cc26acae074da5b50d59f21951867caa8a93a210fa24
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 9e40ce99c00771a9c8d78eabe0d901dfe05c2a9cd5c4f30016d2b6c203a92c74932cf0ac6fd7dda474149dbdd3e2f615ea240fe463476fef5ea2f5292d7ca0af
|
7
|
+
data.tar.gz: 55e53951ffbe4f8092d8b9018eec4180de439aa04689a2ebe56e0f6b9c734c7f798f906fd28a44fc911ff1bce586fba9d7179c06a7b30676102646dd7f1e38f1
|
data/LICENSE.md
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
# The MIT License (MIT)
|
2
|
+
|
3
|
+
Copyright (c) 2021 Paul Le
|
4
|
+
Copyright (c) 2023 Fabian Stadler
|
5
|
+
|
6
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
7
|
+
of this software and associated documentation files (the "Software"), to deal
|
8
|
+
in the Software without restriction, including without limitation the rights
|
9
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
10
|
+
copies of the Software, and to permit persons to whom the Software is
|
11
|
+
furnished to do so, subject to the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be included in all
|
14
|
+
copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
17
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
18
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
19
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
20
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
21
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
22
|
+
SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,109 @@
|
|
1
|
+
# Schatten
|
2
|
+
|
3
|
+
Schatten is a modern Jekyll theme for blogs or personal websites. See the [demo](https://schatten-ioch6.ondigitalocean.app/) for a live example.
|
4
|
+
|
5
|
+
![A screenshot of the Shadow theme](/assets/img/preview.png)
|
6
|
+
|
7
|
+
## Attribution
|
8
|
+
|
9
|
+
This theme is based on [Len Paul's theme Lagrange](https://github.com/LeNPaul/Lagrange) published under the MIT License. In order to implement more features and add my own style, I developed this theme.
|
10
|
+
|
11
|
+
## Intention
|
12
|
+
|
13
|
+
Schatten's original goal is to offer the following features:
|
14
|
+
|
15
|
+
* SEO features
|
16
|
+
* SASS/SCSS support
|
17
|
+
* Responsive design
|
18
|
+
* Modern UI with e.g. dark mode
|
19
|
+
* Configurable code themes
|
20
|
+
|
21
|
+
## Requirements
|
22
|
+
|
23
|
+
* Jekyll 3.9.3 or higher
|
24
|
+
|
25
|
+
## Supported Platforms
|
26
|
+
|
27
|
+
* GitHub Pages (only partially, some plugins are not supported)
|
28
|
+
* DigitalOcean App Platform
|
29
|
+
* Netlify
|
30
|
+
* GitLab Pages
|
31
|
+
* Any static site hoster when building locally
|
32
|
+
|
33
|
+
## Installation
|
34
|
+
|
35
|
+
In order to run this theme, you need an environment with Ruby and Bundler installed. If you don't have Ruby installed, you can follow the instructions [here](https://www.ruby-lang.org/en/documentation/installation/). After you have Ruby installed, you can install Bundler with `gem install bundler`.
|
36
|
+
|
37
|
+
### Local Installation
|
38
|
+
|
39
|
+
To install and run this theme locally, clone this repository to your machine, `cd` into the directory, and run `bundle install` to install the necessary dependencies. Then, run `bundle exec jekyll serve` to start the Jekyll server. You should see the site locally at [http://localhost:4000](http://localhost:4000).
|
40
|
+
|
41
|
+
In order to server this page incrementally, you can run `bundle exec jekyll serve --incremental`. This will rebuild the site when a file is changed.
|
42
|
+
|
43
|
+
### Docker
|
44
|
+
|
45
|
+
You can also run this theme in a Docker container. Clone the repo a machine with Docker installed, `cd` into the docker directory, and run `docker compose up`. You should see the site locally at [http://localhost:4000](http://localhost:4000).
|
46
|
+
|
47
|
+
### Cloud Deployment
|
48
|
+
|
49
|
+
Note that this theme is not compatible with GitHub Pages as they have a very strict plugin policy. If you want to use this theme on GitHub Pages, you must not use the toc plugin in any of your posts/pages and the archives plugin won't work as well.
|
50
|
+
|
51
|
+
If you want to use this theme to its fullest, you must host your site on another platform, such as DigitalOcean, Netlify, or GitLab Pages. You can also host your blog on a cloud file storage service such as Amazon S3 or Azure Blob Storage.
|
52
|
+
|
53
|
+
#### DigitalOcean
|
54
|
+
|
55
|
+
If you want to host your site on DigitalOcean, you can use the [DigitalOcean App Platform](https://www.digitalocean.com/products/app-platform/). Simply create a new app, select your GitHub repository and chose to deploy as a static site. You can then configure the build command to be `bundle exec jekyll build -d public` and the publish directory to be autodiscovered. You can then deploy your site with a single click. Everytime you push to your repository, the site will be rebuilt and redeployed.
|
56
|
+
|
57
|
+
### Starting From Scratch
|
58
|
+
|
59
|
+
To completely start from scratch, simply delete all the files in the `_posts`, `assets/img`, and `menu` folder, and add your own content. You may also replace the `README.md` file with your own README. Everything in the `_data` folder and `_config.yml` file can be edited to suit your needs. You may also add/change the `favicon.ico` file to your own favicon.
|
60
|
+
|
61
|
+
## Configuration
|
62
|
+
|
63
|
+
### Site Variables
|
64
|
+
|
65
|
+
To change site build settings, edit the `_config.yml` file found in the root of your repository, which you can tweak however you like. More information on configuration settings and plugins can be found on [the Jekyll documentation site](https://jekyllrb.com/docs/configuration/). This is also where you will be able to customize the title, description, and the author/owner of your site.
|
66
|
+
|
67
|
+
In the `settings.yml` file found in the `_data` folder, you will be able to customize your site settings, such as setting Disqus comments, Google Analytics, what shows up in your menu, and social media information.
|
68
|
+
|
69
|
+
### Adding Menu Pages
|
70
|
+
|
71
|
+
The menu pages are found in the `menu` folder in the root directory, and can be added to your menu in the `settings.yml` file.
|
72
|
+
|
73
|
+
### Posts
|
74
|
+
|
75
|
+
You will find example posts in your `_posts` directory. Go ahead and edit any post and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run `jekyll serve`, which launches a web server and auto-regenerates your site when a file is updated.
|
76
|
+
|
77
|
+
To add new posts, simply add a file in the `_posts` directory that follows the convention of `YYYY-MM-DD-name-of-post.md` and includes the necessary front matter. Take a look at any sample post to get an idea about how it works.
|
78
|
+
|
79
|
+
### YAML Front Block Matter
|
80
|
+
|
81
|
+
The recommended YAML front block is:
|
82
|
+
|
83
|
+
```
|
84
|
+
---
|
85
|
+
layout:
|
86
|
+
title:
|
87
|
+
author:
|
88
|
+
categories:
|
89
|
+
tags: []
|
90
|
+
image:
|
91
|
+
image_title:
|
92
|
+
---
|
93
|
+
```
|
94
|
+
|
95
|
+
`layout` specifies which layout to use, `title` is the page or post title, `categories` can be used to better organize your posts, `tags` are used when generating related posts based on the topic of the post, and `image` specifies which images to use. `image_title` adds a subtitle to the image of the post.
|
96
|
+
|
97
|
+
## Jekyll
|
98
|
+
|
99
|
+
Check out the [Jekyll docs][jekyll-docs] for more info on how to get the most out of Jekyll. File all bugs/feature requests at [Jekyll's GitHub repo][jekyll-gh]. If you have questions, you can ask them on [Jekyll Talk][jekyll-talk].
|
100
|
+
|
101
|
+
[jekyll-docs]: http://jekyllrb.com/docs/home
|
102
|
+
[jekyll-gh]: https://github.com/jekyll/jekyll
|
103
|
+
[jekyll-talk]: https://talk.jekyllrb.com/
|
104
|
+
|
105
|
+
## Contributing/Feature Requests
|
106
|
+
|
107
|
+
If you would like to make a feature request or report a bug or typo in the documentation, submit a GitHub issue. To contribute, create a fork of this repo and make a pull request from a new feature branch to the official repo's main branch.
|
108
|
+
|
109
|
+
Bug fixing is always welcome, for feature requests please open an issue first to discuss what you would like to add. Since the goal of this theme is to be minimalistic, I do not intend to make it feature rich.
|
@@ -0,0 +1,42 @@
|
|
1
|
+
<footer class="footer">
|
2
|
+
<div class="footer-description">
|
3
|
+
<a href="{{ site.github.url }}/">{{ site.data.settings.page-title }} | {{ site.data.settings.page-subtitle }} by {{site.author }}</a>
|
4
|
+
<br>
|
5
|
+
{% if site.data.settings.copyright %}
|
6
|
+
© {{ site.data.settings.copyright }} {{ site.author }}
|
7
|
+
{% endif %}
|
8
|
+
<br>
|
9
|
+
{% if site.data.settings.license %}
|
10
|
+
All content<a href="{{ site.data.settings.license-link }}">{{ site.data.settings.license }}</a>
|
11
|
+
{% endif %}
|
12
|
+
</div>
|
13
|
+
<script>
|
14
|
+
// implement dark mode
|
15
|
+
let checkbox = document.getElementsByClassName("dark-mode-toggle")[0];
|
16
|
+
let body = document.body;
|
17
|
+
|
18
|
+
checkbox.addEventListener('click', function () {
|
19
|
+
if (localStorage.getItem('dark-mode') === 'true') {
|
20
|
+
localStorage.setItem('dark-mode', false);
|
21
|
+
body.classList.toggle('light-mode');
|
22
|
+
this.classList.toggle('fa-toggle-off');
|
23
|
+
this.classList.toggle('fa-toggle-on');
|
24
|
+
} else {
|
25
|
+
localStorage.setItem('dark-mode', true);
|
26
|
+
body.classList.toggle('light-mode');
|
27
|
+
this.classList.toggle('fa-toggle-off');
|
28
|
+
this.classList.toggle('fa-toggle-on');
|
29
|
+
}
|
30
|
+
body.classList.toggle('dark-mode');
|
31
|
+
});
|
32
|
+
if (localStorage.getItem('dark-mode') === 'true') {
|
33
|
+
body.classList.toggle('dark-mode');
|
34
|
+
checkbox.classList.toggle('fa-toggle-off');
|
35
|
+
checkbox.classList.toggle('fa-toggle-on');
|
36
|
+
} else {
|
37
|
+
body.classList.toggle('light-mode');
|
38
|
+
checkbox.classList.toggle('fa-toggle-off');
|
39
|
+
checkbox.classList.toggle('fa-toggle-on');
|
40
|
+
}
|
41
|
+
</script>
|
42
|
+
</footer>
|
@@ -0,0 +1,8 @@
|
|
1
|
+
<script>
|
2
|
+
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
3
|
+
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
4
|
+
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
5
|
+
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
6
|
+
ga('create', '{{ site.data.settings.google-ID }}', 'auto');
|
7
|
+
ga('send', 'pageview');
|
8
|
+
</script>
|
data/_includes/head.html
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
<head>
|
2
|
+
<title>
|
3
|
+
{% if page.title == "Home" %}
|
4
|
+
{{ site.data.settings.page-title }} | {{ site.data.settings.page-subtitle }}
|
5
|
+
{% else %}
|
6
|
+
{{ page.title }} | {{ site.data.settings.page-title }}
|
7
|
+
{% endif %}
|
8
|
+
</title>
|
9
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
10
|
+
<meta charset="utf-8">
|
11
|
+
<link rel="stylesheet" href="{{ site.github.url }}/assets/css/main.css">
|
12
|
+
<!-- Use Atom -->
|
13
|
+
{% feed_meta %}
|
14
|
+
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css">
|
15
|
+
<script type="text/javascript" async
|
16
|
+
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML">
|
17
|
+
MathJax.Hub.Config({
|
18
|
+
tex2jax: {
|
19
|
+
inlineMath: [['$', '$'], ['\\(', '\\)']]
|
20
|
+
}
|
21
|
+
});
|
22
|
+
</script>
|
23
|
+
<!-- Add fonts -->
|
24
|
+
<link rel="preconnect" href="https://fonts.googleapis.com">
|
25
|
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
26
|
+
<link href="https://fonts.googleapis.com/css2?family=Fira+Mono&family=Joan&family=Pathway+Extreme:opsz@8..144&display=swap" rel="stylesheet">
|
27
|
+
<!-- Google Analytics -->
|
28
|
+
{% include google-analytics.html %}
|
29
|
+
<!-- Use Jekyll SEO plugin -->
|
30
|
+
{% seo %}
|
31
|
+
</head>
|
@@ -0,0 +1,20 @@
|
|
1
|
+
<article class="post-preview">
|
2
|
+
<div class="post-preview-meta" {% if post.image %}{% else %}style="width:100%;"{% endif %}>
|
3
|
+
<h2>
|
4
|
+
<a href="{{ site.github.url }}{{ post.url }}">
|
5
|
+
{{ post.title }}
|
6
|
+
</a>
|
7
|
+
</h2>
|
8
|
+
<p class="post-date">
|
9
|
+
{{ post.date | date: "%B %-d, %Y" }} | {{ post.author }} | {{ post.content | number_of_words | divided_by: 200 | append: " min" }}
|
10
|
+
</p>
|
11
|
+
<p>
|
12
|
+
{{ post.excerpt | strip_html | truncatewords: 35 }}
|
13
|
+
</p>
|
14
|
+
</div>
|
15
|
+
{% if post.image %}
|
16
|
+
<div class="post-image-preview">
|
17
|
+
<a href="{{ site.github.url }}{{ post.url }}"><img src="{{ post.image }}" alt="{{ post.title }}"></a>
|
18
|
+
</div>
|
19
|
+
{% endif %}
|
20
|
+
</article>
|
@@ -0,0 +1,13 @@
|
|
1
|
+
<div class="related">
|
2
|
+
<h2>Related Posts</h2>
|
3
|
+
{% assign related_posts = site.posts | where:"categories", page.categories %}
|
4
|
+
{% if related_posts.size == 0 %}
|
5
|
+
{% assign related_posts = site.posts | where:"tags", page.tags %}
|
6
|
+
{% endif %}
|
7
|
+
{% if related_posts.size == 0 %}
|
8
|
+
{% assign related_posts = site.posts | sort: 'date' | reverse | limit: 3 %}
|
9
|
+
{% endif %}
|
10
|
+
{% for post in related_posts limit:3 %}
|
11
|
+
{% include post-preview.html %}
|
12
|
+
{% endfor %}
|
13
|
+
</div>
|
@@ -0,0 +1,12 @@
|
|
1
|
+
<div class="sharing">
|
2
|
+
<h2>Feel free to share this article</h2>
|
3
|
+
<div class="sharing-icons">
|
4
|
+
<a href="https://news.ycombinator.com/submitlink?u={{ site.url }}{{ page.url }}&t={{ page.title }}" target="_blank"><i class="fa-brands fa-hacker-news" aria-hidden="true"></i></a>
|
5
|
+
<a href="https://www.reddit.com/submit?url={{ site.url }}{{ page.url }}&title={{ page.title }}" target="_blank"><i class="fa-brands fa-reddit" aria-hidden="true"></i></a>
|
6
|
+
<a href="https://www.linkedin.com/sharing/share-offsite/?url={{ site.url }}{{ page.url }}" target="_blank"><i class="fa-brands fa-linkedin" aria-hidden="true"></i></a>
|
7
|
+
<a href="https://www.facebook.com/sharer/sharer.php?u={{ site.url }}{{ page.url }}" target="_blank"><i class="fa-brands fa-facebook" aria-hidden="true"></i></a>
|
8
|
+
<a href="https://mastodon.social/share?text={{ page.title }}&url={{ site.url }}{{ page.url }}" target="_blank"><i class="fa-brands fa-mastodon" aria-hidden="true"></i></a>
|
9
|
+
<a href="mailto:?subject={{ site.title }}&body={{ site.url }}{{ page.url }}" target="_blank"><i class="fa-solid fa-envelope" aria-hidden="true"></i></a>
|
10
|
+
<a href="https://twitter.com/intent/tweet?text={{ page.title }}&url={{ site.url }}{{ page.url }}" target="_blank"><i class="fa-brands fa-twitter" aria-hidden="true"></i></a>
|
11
|
+
</div>
|
12
|
+
</div>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<nav class="social-icons">
|
2
|
+
{% for item in site.data.settings.social %}
|
3
|
+
{% assign first_char = item.link | slice: 0 %}
|
4
|
+
{% if item.icon == 'mastodon' %}
|
5
|
+
<a class="icon" rel="me" href="{{ item.link }}" target="_blank"><i class="fa-brands fa-{{ item.icon }}" aria-hidden="true"></i></a>
|
6
|
+
{% else %}
|
7
|
+
<a class="icon" href="{{ item.link }}" target="_blank"><i class="fa-{{ item.icon-class }} fa-{{ item.icon }}" aria-hidden="true"></i></a>
|
8
|
+
{% endif %}
|
9
|
+
{% endfor %}
|
10
|
+
<i type="button" class="dark-mode-toggle fas fa-toggle-off"></i>
|
11
|
+
</nav>
|
@@ -0,0 +1,39 @@
|
|
1
|
+
---
|
2
|
+
layout: default
|
3
|
+
---
|
4
|
+
|
5
|
+
<h1>
|
6
|
+
{{ page.title }}
|
7
|
+
</h1>
|
8
|
+
|
9
|
+
<div class="archive">
|
10
|
+
<h2>Years</h2>
|
11
|
+
<ul>
|
12
|
+
{% assign years = '' %}
|
13
|
+
{% for post in site.posts %}
|
14
|
+
{% assign year = post.date | date: "%Y" %}
|
15
|
+
{% assign years_split = years | split: ' - ' %}
|
16
|
+
{% if years_split contains year %}
|
17
|
+
{% else %}
|
18
|
+
<li><a href="{{ site.github.url }}/{{ year }}">{{ year }}</a></li>
|
19
|
+
{% endif %}
|
20
|
+
{% assign years = years | append: ' - ' | append: year %}
|
21
|
+
{% endfor %}
|
22
|
+
</ul>
|
23
|
+
|
24
|
+
<h2>Categories</h2>
|
25
|
+
<ul>
|
26
|
+
{% assign categories = site.categories | sort %}
|
27
|
+
{% for category in categories %}
|
28
|
+
<li><a href="{{ site.github.url }}/categories/{{ category | first }}">{{ category | first }}</a></li>
|
29
|
+
{% endfor %}
|
30
|
+
</ul>
|
31
|
+
|
32
|
+
<h2>Tags</h2>
|
33
|
+
<ul>
|
34
|
+
{% assign tags = site.tags | sort %}
|
35
|
+
{% for tag in tags %}
|
36
|
+
<li><a href="{{ site.github.url }}/tags/{{ tag | first }}">{{ tag | first }}</a></li>
|
37
|
+
{% endfor %}
|
38
|
+
</ul>
|
39
|
+
</div>
|
@@ -0,0 +1,15 @@
|
|
1
|
+
<!doctype html>
|
2
|
+
<html>
|
3
|
+
{% include head.html %}
|
4
|
+
<body>
|
5
|
+
<div class="container">
|
6
|
+
{% include header.html %}
|
7
|
+
{% include social-icons.html %}
|
8
|
+
{% include navbar.html %}
|
9
|
+
<div class="content-container">
|
10
|
+
{{ content }}
|
11
|
+
</div>
|
12
|
+
{% include footer.html %}
|
13
|
+
</div>
|
14
|
+
</body>
|
15
|
+
</html>
|
data/_layouts/home.html
ADDED
data/_layouts/page.html
ADDED
data/_layouts/post.html
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
---
|
2
|
+
layout: default
|
3
|
+
---
|
4
|
+
|
5
|
+
<h1>
|
6
|
+
{{ page.title }}
|
7
|
+
</h1>
|
8
|
+
{% if page.image %}
|
9
|
+
{% if page.image contains 'http' %}
|
10
|
+
<img class="post-image" src="{{ page.image }}" alt="{{ page.image_description }}">
|
11
|
+
{% else %}
|
12
|
+
<img class="post-image" src="{{ site.github.url }}/{{ page.image }}" alt="{{ page.image_description }}">
|
13
|
+
{% endif %}
|
14
|
+
{% if page.image_title %}
|
15
|
+
<p class="post-image-subtitle">{{ page.image_title }}</p>
|
16
|
+
{% endif %}
|
17
|
+
{% endif %}
|
18
|
+
<article class="post-content">
|
19
|
+
{{ content }}
|
20
|
+
</article>
|
21
|
+
|
22
|
+
<p class="post-date">
|
23
|
+
Written on {{ page.date | date: "%B %-d, %Y" }} by {{ page.author }}.
|
24
|
+
</p>
|
25
|
+
|
26
|
+
{% include sharing-links.html %}
|
27
|
+
|
28
|
+
{% if site.hide_related_posts != true %}
|
29
|
+
{% include related-posts.html %}
|
30
|
+
{% endif %}
|
data/_sass/_archive.scss
ADDED
data/_sass/_base.scss
ADDED
@@ -0,0 +1,122 @@
|
|
1
|
+
/*
|
2
|
+
Base
|
3
|
+
*/
|
4
|
+
html {
|
5
|
+
height: 100%;
|
6
|
+
scroll-behavior: smooth;
|
7
|
+
}
|
8
|
+
|
9
|
+
body {
|
10
|
+
display: flow-root;
|
11
|
+
font-family: $serif-font-family;
|
12
|
+
line-height: 1.75rem;
|
13
|
+
top: 0;
|
14
|
+
margin: 0;
|
15
|
+
|
16
|
+
// fade in effect; removed because can be annoying
|
17
|
+
// animation: body 2s;
|
18
|
+
// -webkit-animation: body 2s;
|
19
|
+
// -moz-animation: body 2s;
|
20
|
+
// -o-animation: body 2s;
|
21
|
+
// -ms-animation: body 2s;
|
22
|
+
|
23
|
+
@keyframes body {
|
24
|
+
from {
|
25
|
+
opacity: 0;
|
26
|
+
}
|
27
|
+
to {
|
28
|
+
opacity: 1;
|
29
|
+
}
|
30
|
+
}
|
31
|
+
}
|
32
|
+
|
33
|
+
h1 {
|
34
|
+
font-size: 26px;
|
35
|
+
}
|
36
|
+
|
37
|
+
h2 {
|
38
|
+
font-size: 24px;
|
39
|
+
}
|
40
|
+
|
41
|
+
h3 {
|
42
|
+
font-size: 21px;
|
43
|
+
}
|
44
|
+
|
45
|
+
h4 {
|
46
|
+
font-size: 19px;
|
47
|
+
}
|
48
|
+
|
49
|
+
h5 {
|
50
|
+
font-size: 18px;
|
51
|
+
font-weight: 600;
|
52
|
+
}
|
53
|
+
|
54
|
+
h1 a {
|
55
|
+
text-decoration: none;
|
56
|
+
}
|
57
|
+
|
58
|
+
h1,
|
59
|
+
h2,
|
60
|
+
h3,
|
61
|
+
h4,
|
62
|
+
h5,
|
63
|
+
h6 {
|
64
|
+
font-family: $sans-serif-font-family;
|
65
|
+
}
|
66
|
+
|
67
|
+
p {
|
68
|
+
font-size: 16px;
|
69
|
+
margin-block-start: 0em;
|
70
|
+
margin-block-end: 0em;
|
71
|
+
margin-inline-start: 0px;
|
72
|
+
margin-inline-end: 0px;
|
73
|
+
text-align: justify;
|
74
|
+
}
|
75
|
+
|
76
|
+
a {
|
77
|
+
text-decoration: underline;
|
78
|
+
}
|
79
|
+
|
80
|
+
a:hover {
|
81
|
+
transition: 0.3s;
|
82
|
+
border-bottom: none;
|
83
|
+
}
|
84
|
+
|
85
|
+
img {
|
86
|
+
max-width: 100%;
|
87
|
+
height: auto;
|
88
|
+
border-radius: 5px;
|
89
|
+
}
|
90
|
+
|
91
|
+
blockquote {
|
92
|
+
margin: 10px 20px 10px;
|
93
|
+
padding: 0px 15px;
|
94
|
+
border-left: 0.25em solid;
|
95
|
+
line-height: 1.5;
|
96
|
+
}
|
97
|
+
|
98
|
+
hr {
|
99
|
+
border-top: 1px solid;
|
100
|
+
}
|
101
|
+
|
102
|
+
/*
|
103
|
+
Tables
|
104
|
+
*/
|
105
|
+
|
106
|
+
table {
|
107
|
+
border-collapse: collapse;
|
108
|
+
margin-bottom: 30px;
|
109
|
+
width: 100%;
|
110
|
+
}
|
111
|
+
|
112
|
+
table,
|
113
|
+
th,
|
114
|
+
td {
|
115
|
+
border: 1px solid black;
|
116
|
+
}
|
117
|
+
|
118
|
+
th,
|
119
|
+
td {
|
120
|
+
padding: 15px;
|
121
|
+
text-align: left;
|
122
|
+
}
|