jekyll-oedipus-theme 0.3.0 → 1.0.2
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/README.md +106 -3
- data/_config.yml +32 -4
- data/_includes/article-footer.html +9 -0
- data/_includes/article-header.html +4 -0
- data/_includes/copyright.html +6 -0
- data/_includes/footer.html +3 -3
- data/_includes/header.html +1 -2
- data/_includes/home-footer.html +3 -3
- data/_includes/home-header.html +3 -2
- data/_includes/license.html +12 -0
- data/_includes/made-with.html +3 -0
- data/_includes/masthead.html +6 -0
- data/_includes/navbar.html +2 -0
- data/_includes/navlist.html +2 -0
- data/_includes/posts-table.html +2 -2
- data/_includes/recent-posts-list.html +1 -1
- data/_includes/recent-posts-table.html +3 -3
- data/_includes/skip.html +3 -0
- data/_layouts/base.html +3 -1
- data/_layouts/default.html +0 -2
- data/_layouts/home.html +0 -2
- data/_layouts/page.html +1 -0
- data/_layouts/post.html +2 -13
- data/_sass/dark.scss +34 -2
- data/_sass/main.scss +109 -15
- data/_sass/paper.scss +66 -0
- data/_sass/skip.scss +16 -0
- data/_sass/variables.scss +14 -0
- data/assets/print.scss +13 -0
- data/assets/style.scss +78 -0
- metadata +13 -4
- data/assets/favicon.ico +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b1d4c18acd8002eb209db8019127d9ad6c265b12aabea1d32309b53895327e88
|
4
|
+
data.tar.gz: d8a7d658503835929e3f7f922ecaa8486b87afa6e28cb3e2a2866b2893d46409
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 51371ada1b6668b91dc46fd5922bac9e85561336f0e9d235960a92e606339e18cd84260dde75234d69eda9991824c6b416d00eacb9cd913b72d96508a8c973ad
|
7
|
+
data.tar.gz: 196ac8ffc9e746be0e4f27da71363d1ce84610155f970582a8d7b5a56f05e1b7575f147549b03cb4cbb9a901d23c25c207ed7db6c8c9aae5380736df81332196
|
data/README.md
CHANGED
@@ -4,6 +4,10 @@ Build a motherfucking website with Jekyll (patricide optional).
|
|
4
4
|
|
5
5
|
[](https://badge.fury.io/rb/jekyll-oedipus-theme)
|
6
6
|
|
7
|
+
## Screenshot
|
8
|
+
|
9
|
+

|
10
|
+
|
7
11
|
## Installation
|
8
12
|
|
9
13
|
Add this line to your Jekyll site's `Gemfile`:
|
@@ -28,15 +32,114 @@ Or install it yourself as:
|
|
28
32
|
|
29
33
|
## Usage
|
30
34
|
|
31
|
-
|
35
|
+
**Oedipus** can be customized to a great extent in [`_config.yml`](https://github.com/matthewgraybosch/jekyll-oedipus-theme/blob/main/_config.yml), but if you want to [override any part of the theme](https://jekyllrb.com/docs/themes/), you'll want a list of what's included.
|
36
|
+
|
37
|
+
### _config.yml
|
38
|
+
|
39
|
+
All options for this theme are contained under the "site.oedipus" root. Therefore, the "rights" option listed below is actually "site.oedipus.rights".
|
40
|
+
|
41
|
+
- **rights**: a string that goes into the copyright line in the page footer
|
42
|
+
- **license.text.name**: a string identifying the license for your site's text
|
43
|
+
- **license.text.url**: the URL of the license for your site's text
|
44
|
+
- **license.code.name**: a string identifying the license for your site's code
|
45
|
+
- **license.code.url**: the URL of the license for your site's code
|
46
|
+
- **made-with**: a string indicating how the site was made.
|
47
|
+
|
48
|
+
The stylesheet for Oedipus is also configurable, and all style options are contained under "site.oedipus.style". The default colors were selected from [Color Safe](http://colorsafe.co/) for accessibility. The dark theme takes each of these variables and applies the [Sass `invert()`](https://sass-lang.com/documentation/modules/color) function to them.
|
49
|
+
|
50
|
+
- **bg-color**: set background color
|
51
|
+
- **fg-color**: set text color
|
52
|
+
- **link-color**: set default link color
|
53
|
+
- **link-hover-color**: change a link to this color on mouseover
|
54
|
+
- **link-active-color**: change a link to this color when clicked
|
55
|
+
- **link-visited-color**: change visited links to this color
|
56
|
+
- **border-thickness**: set the thickness for borders
|
57
|
+
- **hr-border-thickness**: set thickness for <hr> elements. Set this to half your intended value.
|
58
|
+
- **html-font-size**: allows use of [rem units](https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Values_and_units) for consistent scaling. Defaults to "medium".
|
59
|
+
- **body-margin**: control distance between text and screen edges
|
60
|
+
- **content-font-size**: Sets font-size for most text.
|
61
|
+
- **content-font-family**: Sets the font-family for most text. Use this to define a custom font stack.
|
62
|
+
- **content-line-height**: Sets separation between lines of text.
|
63
|
+
- **preformatted-font-size**: Sets font-size for preformatted-text and code.
|
64
|
+
- **preformatted-font-family**: Sets the font-family for most preformatted-text and code. Use this to define a custom font stack.
|
65
|
+
- **content-width**: Sets the content width in <main> and <article>
|
66
|
+
- **content-centered**: When true, Oedipus will horizontally center content.
|
67
|
+
- **compact-header**: When true, Oedipus will place the site title and description inside the masthead's <h1>.
|
68
|
+
- **home-header-icon** When true, any page assigned the "home" layout will show `/assets/favicon.svg` as part of the masthead.
|
69
|
+
|
70
|
+
### Layouts
|
71
|
+
|
72
|
+
* **base.html**: a wrapper layout that sets language and encoding, sets up a skip navigation link, and links to favicons, stylesheets, and feeds. Also provides a target for `jekyll-seo-tag`.
|
73
|
+
* **default.html**: this wraps around **page.html** and **post.html** to provide headers, footers, and navigation.
|
74
|
+
* **home.html**: for your site's home page. It provides custom headers and footers in case you don't want nav bars on your landing page.
|
75
|
+
* **page.html**: for pages and other non-blog material. It wraps content inside a <main> element.
|
76
|
+
* **post.html**: for blog posts. It wraps content inside an <article> element and provides a footer for subscription and contact info.
|
77
|
+
|
78
|
+
### Includes
|
79
|
+
|
80
|
+
* **masthead.html**: displays the site's title and description.
|
81
|
+
* **skip.html**: implements a [skip navigation](https://webaim.org/techniques/skipnav/) link.
|
82
|
+
* **navbar.html**: implements a navigation bar. It accepts "id", "label", and "source" arguments. Source is a data source accessible via `site.data`.
|
83
|
+
* **navlist.html**: implements an unordered navigation list and takes the same arguments as navbar.html.
|
84
|
+
* **header.html**: the default header for most pages and posts. Includes a navigation bar.
|
85
|
+
* **article-header.html**: a sub-header for posts that contains the post title and summary
|
86
|
+
* **home-header.html**: a header for the home page, sans nav bar.
|
87
|
+
* **footer.html**: the default footer for most pages and posts. Includes a navigation bar.
|
88
|
+
* **article-footer.html**: a sub-footer for posts that contains feed and contact links in lieu of a comments section
|
89
|
+
* **home-footer.html**: a footer for the home page, sans nav bar.
|
90
|
+
* **posts-list.html**: lists all posts as a set of <article> blocks.
|
91
|
+
* **recent-posts-list.html**: lists the *n* most recent posts, where the "limit" argument = *n*.
|
92
|
+
* **posts-table.html**: lists all posts in a table
|
93
|
+
* **recent-posts-table.html**: lists the *n* most recent posts in a table, where the "limit" argument = *n*.
|
94
|
+
* **copyright.html**: shows copyright info. used in footers.
|
95
|
+
* **license.html**: shows license links for text and code. used in footers.
|
96
|
+
* **made-with.html**: can be used to credit tools or represent a location. used in footers.
|
97
|
+
|
98
|
+
### Sass
|
99
|
+
|
100
|
+
Oedipus' stylesheets are built with Sass, which is included with Jekyll.
|
101
|
+
|
102
|
+
- **assets/style.scss**: wrapper file for the main stylesheet. It contains logic to override Sass variables with custom values from `_config.yml`.
|
103
|
+
- **assets/print.scss**: wrapper file for the print stylesheet
|
104
|
+
- **_sass/variables.scss**: contains variables with default values
|
105
|
+
- **_sass/main.scss**: contains style definitions for the screen
|
106
|
+
- **_sass/skip.scss**: implements Sass to hide the [skip navigation](https://webaim.org/techniques/skipnav/) link until tabbed into
|
107
|
+
- **_sass/dark.scss**: provides dark mode support.
|
108
|
+
|
109
|
+
### Data
|
110
|
+
|
111
|
+
Oedipus comes with two _data files: `header-nav.yml` and `footer-nav.yml`, which I use to build nav bars. They both contain entries in the following format:
|
112
|
+
|
113
|
+
```
|
114
|
+
- name: home
|
115
|
+
url: /
|
116
|
+
desc: front page
|
117
|
+
```
|
118
|
+
|
119
|
+
### Assets
|
120
|
+
|
121
|
+
The only asset Oedipus provides, in addition to the stylesheets, is [favicon.svg](https://raw.githubusercontent.com/matthewgraybosch/jekyll-oedipus-theme/main/assets/favicon.svg). You can and should generate your own. I recommend using [Formito's generator](https://formito.com/tools/favicon). You can also use [favicon.io](https://favicon.io/), but you'll want to modify **base.html** and **home-header.html** since this site doesn't generate SVG.
|
32
122
|
|
33
123
|
## Contributing
|
34
124
|
|
35
|
-
I built this theme for my own use. If you find this theme useful, you are welcome to it. If you wish to customize it, by all means fork it.
|
125
|
+
I built this theme for my own use. If you find this theme useful, you are welcome to it. If you wish to customize it, by all means fork it. I will fix bugs and consider pull requests at my own discretion.
|
126
|
+
|
127
|
+
### Code of Conduct
|
128
|
+
|
129
|
+
This is not a professional project, and I am not interested in collaborating with others here. I am most certainly *not* interested in fostering "community", let alone providing an "open and welcoming environment". Nevertheless, I suppose a rudimentary and informal code of conduct is necessary.
|
36
130
|
|
37
|
-
|
131
|
+
1. If you mess with me, you're banned.
|
132
|
+
2. If you mess with other contributors on this project, you're fucking with me.
|
133
|
+
3. When in doubt, refer to rule 1.
|
134
|
+
|
135
|
+
(with apologies to Matthew Woodring Stover)
|
38
136
|
|
39
137
|
## License
|
40
138
|
|
41
139
|
The theme is available as open source under the terms of the [GNU GPL-3.0](https://opensource.org/licenses/GPL-3.0).
|
42
140
|
|
141
|
+
### Commercial/Corporate/Government Use
|
142
|
+
|
143
|
+
I cannot prevent commercial use of this theme, but under no circumstance will I provide free technical support for commercial, corporate, or government projects. Issues and pull requests from people using Oedipus in a commercial, corporate, or government project will be summarily dismissed.
|
144
|
+
|
145
|
+
Note: I regard inclusion of this theme on a curated site supported by advertising as commercial use. Don't do it and then expect me to provide support to your visitors.
|
data/_config.yml
CHANGED
@@ -9,9 +9,6 @@ github_username: matthewgraybosch
|
|
9
9
|
lang: en
|
10
10
|
encoding: utf-8
|
11
11
|
locale: en_US
|
12
|
-
rights: most rights reserved
|
13
|
-
license: "text: CC BY-NC-SA 4.0 / code: GNU GPLv3"
|
14
|
-
madeWith: "♥ in Pennsylvania"
|
15
12
|
|
16
13
|
# Build settings
|
17
14
|
theme: jekyll-oedipus-theme
|
@@ -24,4 +21,35 @@ plugins:
|
|
24
21
|
sass:
|
25
22
|
style: compressed
|
26
23
|
|
27
|
-
permalink: /blog/:year/:month/:day/:title/
|
24
|
+
permalink: /blog/:year/:month/:day/:title/
|
25
|
+
|
26
|
+
oedipus:
|
27
|
+
rights: most rights reserved
|
28
|
+
license:
|
29
|
+
text:
|
30
|
+
name: "CC BY-NC-SA 4.0"
|
31
|
+
url: "https://creativecommons.org/licenses/by-nc-sa/4.0/"
|
32
|
+
code:
|
33
|
+
name: "GNU GPL-3.0"
|
34
|
+
url: "https://opensource.org/licenses/GPL-3.0/"
|
35
|
+
made-with: "♥ in Pennsylvania"
|
36
|
+
style:
|
37
|
+
bg-color: "#FFFFFF"
|
38
|
+
fg-color: "#000000"
|
39
|
+
link-color: "#0000B5"
|
40
|
+
link-hover-color: "#3A539B"
|
41
|
+
link-active-color: "#20603C"
|
42
|
+
link-visited-color: "#550000"
|
43
|
+
border-thickness: 2px
|
44
|
+
hr-border-thickness: 1px
|
45
|
+
html-font-size: medium
|
46
|
+
body-margin: 1rem
|
47
|
+
content-font-size: 1rem
|
48
|
+
content-line-height: 1.62
|
49
|
+
content-font-family: sans-serif
|
50
|
+
preformatted-font-size: 1rem
|
51
|
+
preformatted-font-family: monospace
|
52
|
+
content-width: 40rem
|
53
|
+
content-centered: true
|
54
|
+
compact-header: false
|
55
|
+
home-header-icon: true
|
@@ -0,0 +1,9 @@
|
|
1
|
+
<footer>
|
2
|
+
<p>
|
3
|
+
Thanks for reading.<br />
|
4
|
+
The best way to subscribe is with a feed reader:
|
5
|
+
<a href="/feed.xml" title="subscribe to the Atom feed">Atom</a>
|
6
|
+
<a href="/feed.json" title="subscribe to the JSON feed">JSON</a><br />
|
7
|
+
Questions or comments? Email <a href="mailto:{{ site.email }}" title="please allow up to 7 days for a reply">{{ site.email }}</a>.
|
8
|
+
</p>
|
9
|
+
</footer>
|
data/_includes/footer.html
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
<footer>
|
2
2
|
<p>
|
3
|
-
|
4
|
-
{
|
5
|
-
made
|
3
|
+
{% include copyright.html %}
|
4
|
+
{% include license.html %}
|
5
|
+
{% include made-with.html %}
|
6
6
|
</p>
|
7
7
|
{% include navbar.html id="footer-nav" label="bottom navigation" source=site.data.footer-nav %}
|
8
8
|
</footer>
|
data/_includes/header.html
CHANGED
data/_includes/home-footer.html
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
<footer>
|
2
2
|
<p>
|
3
|
-
|
4
|
-
{
|
5
|
-
made
|
3
|
+
{% include copyright.html %}
|
4
|
+
{% include license.html %}
|
5
|
+
{% include made-with.html %}
|
6
6
|
</p>
|
7
7
|
</footer>
|
data/_includes/home-header.html
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
<header>
|
2
|
+
{% if site.oedipus.style.home-header-icon %}
|
2
3
|
<img src="/assets/favicon.svg"
|
3
4
|
height="128"
|
4
5
|
width="128"
|
5
6
|
alt="favicon for the Oedipus theme for Jekyll website">
|
6
|
-
|
7
|
-
|
7
|
+
{% endif %}
|
8
|
+
{% include masthead.html %}
|
8
9
|
</header>
|
@@ -0,0 +1,12 @@
|
|
1
|
+
{% if site.oedipus.license.text %}
|
2
|
+
text: <a href="{{ site.oedipus.license.text.url }}">{{ site.oedipus.license.text.name }}</a>
|
3
|
+
{% endif %}
|
4
|
+
{% if site.oedipus.license.text and site.oedipus.license.code %}
|
5
|
+
/
|
6
|
+
{% endif %}
|
7
|
+
{% if site.oedipus.license.code %}
|
8
|
+
code: <a href="{{ site.oedipus.license.code.url }}">{{ site.oedipus.license.code.name }}</a>
|
9
|
+
{% endif %}
|
10
|
+
{% if site.oedipus.license.text or site.oedipus.license.code %}
|
11
|
+
<br />
|
12
|
+
{% endif %}
|
data/_includes/navbar.html
CHANGED
data/_includes/navlist.html
CHANGED
data/_includes/posts-table.html
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
<table>
|
2
2
|
<thead>
|
3
3
|
<tr>
|
4
|
-
<th>Date</th>
|
5
4
|
<th>Title</th>
|
5
|
+
<th>Date</th>
|
6
6
|
</tr>
|
7
7
|
</thead>
|
8
8
|
<tbody>
|
9
9
|
{% for post in site.posts %}
|
10
10
|
<tr>
|
11
|
-
<td>{{ post.date | date: "%Y-%m-%d" }}</td>
|
12
11
|
<td><a href="{{ post.url }}">{{ post.title }}</a></td>
|
12
|
+
<td>{{ post.date | date: "%Y-%m-%d" }}</td>
|
13
13
|
</tr>
|
14
14
|
{% endfor %}
|
15
15
|
</tbody>
|
@@ -1,15 +1,15 @@
|
|
1
1
|
<table>
|
2
2
|
<thead>
|
3
3
|
<tr>
|
4
|
-
<th>Date</th>
|
5
4
|
<th>Title</th>
|
5
|
+
<th>Date</th>
|
6
6
|
</tr>
|
7
7
|
</thead>
|
8
8
|
<tbody>
|
9
|
-
{% for post in site.posts | limit:
|
9
|
+
{% for post in site.posts | limit: include.limit %}
|
10
10
|
<tr>
|
11
|
-
<td>{{ post.date | date: "%Y-%m-%d" }}</td>
|
12
11
|
<td><a href="{{ post.url }}">{{ post.title }}</a></td>
|
12
|
+
<td>{{ post.date | date: "%Y-%m-%d" }}</td>
|
13
13
|
</tr>
|
14
14
|
{% endfor %}
|
15
15
|
</tbody>
|
data/_includes/skip.html
ADDED
data/_layouts/base.html
CHANGED
@@ -4,13 +4,15 @@
|
|
4
4
|
<meta charset="{{ site.encoding }}">
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
6
6
|
<link rel="icon" type="image/svg+xml" href="/assets/favicon.svg" />
|
7
|
-
<link rel="icon"
|
7
|
+
<link rel="icon" href="data:,">
|
8
8
|
<link rel="stylesheet" type="text/css" href="/assets/style.css" />
|
9
9
|
<link rel="alternate" type="application/atom+xml" href="/feed.xml" title="{{ site.title }} Atom Feed">
|
10
10
|
<link rel="alternate" type="text/json" href="/feed.json" title="{{ site.title }} JSON Feed">
|
11
11
|
{% seo %}
|
12
12
|
</head>
|
13
13
|
<body>
|
14
|
+
{% include skip.html %}
|
14
15
|
{{ content }}
|
16
|
+
<link rel="stylesheet" type="text/css" href="/assets/print.css" />
|
15
17
|
</body>
|
16
18
|
</html>
|
data/_layouts/default.html
CHANGED
data/_layouts/home.html
CHANGED
data/_layouts/page.html
CHANGED
data/_layouts/post.html
CHANGED
@@ -3,20 +3,9 @@ layout: default
|
|
3
3
|
---
|
4
4
|
|
5
5
|
<article id="content">
|
6
|
-
|
7
|
-
<h1>{{ page.title }}</h1>
|
8
|
-
<p><em>{{ page.description }}</em></p>
|
9
|
-
</header>
|
6
|
+
{% include article-header.html %}
|
10
7
|
<section>
|
11
8
|
{{ content }}
|
12
9
|
</section>
|
13
|
-
|
14
|
-
<footer>
|
15
|
-
<p>
|
16
|
-
Thanks for reading.<br />
|
17
|
-
The best way to subscribe is with a feed reader:
|
18
|
-
<a href="/feed.xml" title="subscribe to the Atom feed">Atom</a>
|
19
|
-
<a href="/feed.json" title="subscribe to the JSON feed">JSON</a><br />
|
20
|
-
Questions or comments? Email <a href="mailto:{{ site.email }}" title="please allow up to 7 days for a reply">{{ site.email }}</a>.</p>
|
21
|
-
</footer>
|
10
|
+
{% include article-footer.html %}
|
22
11
|
</article>
|
data/_sass/dark.scss
CHANGED
@@ -7,6 +7,14 @@
|
|
7
7
|
background: invert($bg-color);
|
8
8
|
color: invert($fg-color);
|
9
9
|
|
10
|
+
header {
|
11
|
+
border-bottom: $border-thickness solid invert($fg-color);
|
12
|
+
}
|
13
|
+
|
14
|
+
footer {
|
15
|
+
border-top: $border-thickness solid invert($fg-color);
|
16
|
+
}
|
17
|
+
|
10
18
|
a {
|
11
19
|
color: invert($link-color);
|
12
20
|
}
|
@@ -27,13 +35,17 @@
|
|
27
35
|
border-left: $border-thickness solid invert($fg-color);
|
28
36
|
}
|
29
37
|
|
38
|
+
figure {
|
39
|
+
border: $border-thickness solid invert($fg-color);
|
40
|
+
}
|
41
|
+
|
30
42
|
hr {
|
31
43
|
border: $hr-border-thickness solid invert($fg-color);
|
32
44
|
}
|
33
45
|
|
34
46
|
article {
|
35
|
-
|
36
|
-
border: $hr-border-thickness dashed invert($fg-color);
|
47
|
+
footer {
|
48
|
+
border-top: $hr-border-thickness dashed invert($fg-color);
|
37
49
|
}
|
38
50
|
}
|
39
51
|
|
@@ -43,6 +55,26 @@
|
|
43
55
|
border: $border-thickness solid invert($fg-color);
|
44
56
|
}
|
45
57
|
}
|
58
|
+
|
59
|
+
nav {
|
60
|
+
p {
|
61
|
+
a {
|
62
|
+
border: $border-thickness solid invert($link-color);
|
63
|
+
}
|
64
|
+
|
65
|
+
a:hover {
|
66
|
+
border: $border-thickness solid invert($link-hover-color);
|
67
|
+
}
|
68
|
+
|
69
|
+
a:active {
|
70
|
+
border: $border-thickness solid invert($link-active-color);
|
71
|
+
}
|
72
|
+
|
73
|
+
a:visited {
|
74
|
+
border: $border-thickness solid invert($link-visited-color);
|
75
|
+
}
|
76
|
+
}
|
77
|
+
}
|
46
78
|
}
|
47
79
|
}
|
48
80
|
}
|
data/_sass/main.scss
CHANGED
@@ -1,16 +1,23 @@
|
|
1
1
|
html {
|
2
|
-
font-size:
|
2
|
+
font-size: $html-font-size;
|
3
3
|
background-color: $bg-color;
|
4
4
|
color: $fg-color;
|
5
5
|
|
6
6
|
body {
|
7
7
|
background-color: $bg-color;
|
8
8
|
color: $fg-color;
|
9
|
-
margin:
|
10
|
-
font:
|
9
|
+
margin: $body-margin;
|
10
|
+
font-size: $content-font-size;
|
11
|
+
font-family: $content-font-family;
|
12
|
+
line-height: $content-line-height;
|
11
13
|
|
12
14
|
a {
|
13
15
|
color: $link-color;
|
16
|
+
text-underline-offset: $underline-offset;
|
17
|
+
}
|
18
|
+
|
19
|
+
abbr {
|
20
|
+
text-underline-offset: $underline-offset;
|
14
21
|
}
|
15
22
|
|
16
23
|
a:hover {
|
@@ -30,34 +37,64 @@ html {
|
|
30
37
|
}
|
31
38
|
|
32
39
|
header, footer, nav {
|
33
|
-
text-align:
|
40
|
+
text-align: $content-alignment;
|
34
41
|
|
35
42
|
h1 {
|
43
|
+
font-size: $content-font-size;
|
36
44
|
margin-bottom: 1rem;
|
45
|
+
|
46
|
+
em {
|
47
|
+
margin-left: .5rem;
|
48
|
+
font-weight: normal;
|
49
|
+
}
|
37
50
|
}
|
38
51
|
}
|
39
52
|
|
40
53
|
header {
|
41
54
|
margin-bottom: 2rem;
|
55
|
+
padding-bottom: 1rem;
|
56
|
+
border-bottom: $border-thickness solid $fg-color;
|
42
57
|
}
|
43
58
|
|
44
59
|
footer {
|
45
60
|
margin-top: 2rem;
|
61
|
+
padding-top: 1rem;
|
62
|
+
border-top: $border-thickness solid $fg-color;
|
46
63
|
}
|
47
64
|
|
48
65
|
nav {
|
66
|
+
margin-top: 1.5rem;
|
49
67
|
p {
|
50
68
|
a {
|
51
|
-
margin-
|
52
|
-
|
69
|
+
margin-right: 1rem;
|
70
|
+
border: $border-thickness solid $link-color;
|
71
|
+
border-radius: .5rem;
|
72
|
+
padding: .5rem;
|
73
|
+
text-decoration: none;
|
74
|
+
}
|
75
|
+
|
76
|
+
a:last-child {
|
77
|
+
margin-right: 0;
|
78
|
+
}
|
79
|
+
|
80
|
+
a:hover {
|
81
|
+
border: $border-thickness solid $link-hover-color;
|
82
|
+
}
|
83
|
+
|
84
|
+
a:active {
|
85
|
+
border: $border-thickness solid $link-active-color;
|
86
|
+
}
|
87
|
+
|
88
|
+
a:visited {
|
89
|
+
border: $border-thickness solid $link-visited-color;
|
53
90
|
}
|
54
91
|
}
|
55
92
|
}
|
56
93
|
|
57
94
|
main {
|
58
|
-
margin:
|
59
|
-
max-width:
|
60
|
-
padding:
|
95
|
+
margin: $content-margin;
|
96
|
+
max-width: $content-width;
|
97
|
+
padding: $content-padding;
|
61
98
|
|
62
99
|
article {
|
63
100
|
margin-left: 2rem;
|
@@ -69,9 +106,9 @@ html {
|
|
69
106
|
}
|
70
107
|
|
71
108
|
article {
|
72
|
-
margin:
|
73
|
-
max-width:
|
74
|
-
padding:
|
109
|
+
margin: $content-margin;
|
110
|
+
max-width: $content-width;
|
111
|
+
padding: $content-padding;
|
75
112
|
|
76
113
|
header, footer {
|
77
114
|
text-align: left;
|
@@ -79,15 +116,40 @@ html {
|
|
79
116
|
}
|
80
117
|
|
81
118
|
section {
|
82
|
-
|
119
|
+
margin: 2rem auto;
|
120
|
+
}
|
121
|
+
|
122
|
+
header {
|
123
|
+
margin-bottom: 1rem;
|
124
|
+
padding-bottom: 0;
|
125
|
+
border: none;
|
126
|
+
}
|
127
|
+
|
128
|
+
footer {
|
129
|
+
border-top: $hr-border-thickness dashed $fg-color;
|
130
|
+
}
|
131
|
+
}
|
132
|
+
|
133
|
+
main, article {
|
134
|
+
h1 {
|
135
|
+
font-size: $content-font-size * 2;
|
136
|
+
}
|
137
|
+
|
138
|
+
h2 {
|
139
|
+
font-size: $content-font-size * 1.6;
|
140
|
+
}
|
141
|
+
|
142
|
+
h3 {
|
143
|
+
font-size: $content-font-size * 1.2;
|
83
144
|
}
|
84
145
|
|
85
|
-
|
86
|
-
|
146
|
+
h4, h5, h6 {
|
147
|
+
font-size: $content-font-size * 1.1;
|
87
148
|
}
|
88
149
|
}
|
89
150
|
|
90
151
|
blockquote {
|
152
|
+
font-size: $blockquote-font-size;
|
91
153
|
margin: 2rem 4rem;
|
92
154
|
padding: 0 1rem;
|
93
155
|
border-left: $border-thickness solid $fg-color;
|
@@ -98,6 +160,33 @@ html {
|
|
98
160
|
}
|
99
161
|
}
|
100
162
|
|
163
|
+
figure {
|
164
|
+
font-size: $blockquote-font-size;
|
165
|
+
margin: 2rem 4rem;
|
166
|
+
padding: 1rem;
|
167
|
+
border: $border-thickness solid $fg-color;
|
168
|
+
|
169
|
+
img {
|
170
|
+
width: 100%;
|
171
|
+
}
|
172
|
+
|
173
|
+
figcaption {
|
174
|
+
font-style: normal;
|
175
|
+
font-weight: bold;
|
176
|
+
}
|
177
|
+
}
|
178
|
+
|
179
|
+
dl {
|
180
|
+
dt {
|
181
|
+
font-size: 1.1rem;
|
182
|
+
font-weight: bold;
|
183
|
+
}
|
184
|
+
|
185
|
+
dd {
|
186
|
+
margin-bottom: 1.1rem;
|
187
|
+
}
|
188
|
+
}
|
189
|
+
|
101
190
|
hr {
|
102
191
|
border: $hr-border-thickness solid $fg-color;
|
103
192
|
}
|
@@ -112,5 +201,10 @@ html {
|
|
112
201
|
text-align: left;
|
113
202
|
}
|
114
203
|
}
|
204
|
+
|
205
|
+
pre, code {
|
206
|
+
font-size: $preformatted-font-size;
|
207
|
+
font-family: $preformatted-font-family;
|
208
|
+
}
|
115
209
|
}
|
116
210
|
}
|
data/_sass/paper.scss
ADDED
@@ -0,0 +1,66 @@
|
|
1
|
+
@media print {
|
2
|
+
html, body {
|
3
|
+
font: 12pt/1.3 serif !important;
|
4
|
+
background: $bg-color !important;
|
5
|
+
color: $fg-color !important;
|
6
|
+
}
|
7
|
+
|
8
|
+
body {
|
9
|
+
header {
|
10
|
+
display: none;
|
11
|
+
}
|
12
|
+
|
13
|
+
footer {
|
14
|
+
nav {
|
15
|
+
display: none;
|
16
|
+
}
|
17
|
+
}
|
18
|
+
|
19
|
+
a, a:hover, a:active, a:visited {
|
20
|
+
color: $fg-color !important;
|
21
|
+
}
|
22
|
+
}
|
23
|
+
|
24
|
+
|
25
|
+
main, article {
|
26
|
+
width: 100%;
|
27
|
+
max-width: 100%;
|
28
|
+
margin: 0;
|
29
|
+
float: none;
|
30
|
+
}
|
31
|
+
|
32
|
+
h1 {
|
33
|
+
font-size: 2rem;
|
34
|
+
}
|
35
|
+
|
36
|
+
h2, h3, h4 {
|
37
|
+
font-size: 1.2rem;
|
38
|
+
margin-top: 2rem;
|
39
|
+
}
|
40
|
+
|
41
|
+
a {
|
42
|
+
page-break-inside: avoid
|
43
|
+
}
|
44
|
+
|
45
|
+
blockquote {
|
46
|
+
page-break-inside: avoid;
|
47
|
+
}
|
48
|
+
|
49
|
+
h1, h2, h3, h4, h5, h6 {
|
50
|
+
page-break-after: avoid;
|
51
|
+
page-break-inside: avoid
|
52
|
+
}
|
53
|
+
|
54
|
+
img {
|
55
|
+
page-break-inside: avoid;
|
56
|
+
page-break-after: avoid;
|
57
|
+
}
|
58
|
+
|
59
|
+
table, pre {
|
60
|
+
page-break-inside: avoid
|
61
|
+
}
|
62
|
+
|
63
|
+
ul, ol, dl {
|
64
|
+
page-break-before: avoid
|
65
|
+
}
|
66
|
+
}
|
data/_sass/skip.scss
ADDED
data/_sass/variables.scss
CHANGED
@@ -6,3 +6,17 @@ $link-active-color: #20603C;
|
|
6
6
|
$link-visited-color: #550000;
|
7
7
|
$border-thickness: 2px;
|
8
8
|
$hr-border-thickness: 1px;
|
9
|
+
$html-font-size: medium;
|
10
|
+
$body-margin: 2rem;
|
11
|
+
$content-font-size: 1rem;
|
12
|
+
$content-line-height: 1.62;
|
13
|
+
$content-font-family: sans-serif;
|
14
|
+
$preformatted-font-size: 1rem;
|
15
|
+
$preformatted-font-family: monospace;
|
16
|
+
$content-width: 40rem;
|
17
|
+
$content-alignment: center;
|
18
|
+
$content-margin: 2rem auto;
|
19
|
+
$content-padding: 0 .62rem;
|
20
|
+
$blockquote-font-size: 1.1rem;
|
21
|
+
$figure-font-size: 1.1rem;
|
22
|
+
$underline-offset: 5px;
|
data/assets/print.scss
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
---
|
2
|
+
---
|
3
|
+
|
4
|
+
@import "variables";
|
5
|
+
|
6
|
+
// now that our variables are defined, let's override them from the config.
|
7
|
+
|
8
|
+
{% if site.oedipus.style.content-width %}
|
9
|
+
$content-width: {{ site.oedipus.style.content-width }};
|
10
|
+
{% endif %}
|
11
|
+
|
12
|
+
|
13
|
+
@import "paper";
|
data/assets/style.scss
CHANGED
@@ -2,5 +2,83 @@
|
|
2
2
|
---
|
3
3
|
|
4
4
|
@import "variables";
|
5
|
+
|
6
|
+
// now that our variables are defined, let's override them from the config.
|
7
|
+
|
8
|
+
{% if site.oedipus.style.bg-color %}
|
9
|
+
$bg-color: {{ site.oedipus.style.bg-color }};
|
10
|
+
{% endif %}
|
11
|
+
|
12
|
+
{% if site.oedipus.style.fg-color %}
|
13
|
+
$fg-color: {{ site.oedipus.style.fg-color }};
|
14
|
+
{% endif %}
|
15
|
+
|
16
|
+
{% if site.oedipus.style.link-color %}
|
17
|
+
$link-color: {{ site.oedipus.style.link-color }};
|
18
|
+
{% endif %}
|
19
|
+
|
20
|
+
{% if site.oedipus.style.link-hover-color %}
|
21
|
+
$link-hover-color: {{ site.oedipus.style.link-hover-color }};
|
22
|
+
{% endif %}
|
23
|
+
|
24
|
+
{% if site.oedipus.style.link-active-color %}
|
25
|
+
$link-active-color: {{ site.oedipus.style.link-active-color }};
|
26
|
+
{% endif %}
|
27
|
+
|
28
|
+
{% if site.oedipus.style.link-visited-color %}
|
29
|
+
$link-visited-color: {{ site.oedipus.style.link-visited-color }};
|
30
|
+
{% endif %}
|
31
|
+
|
32
|
+
{% if site.oedipus.style.border-thickness %}
|
33
|
+
$border-thickness: {{ site.oedipus.style.border-thickness }};
|
34
|
+
{% endif %}
|
35
|
+
|
36
|
+
{% if site.oedipus.style.hr-border-thickness %}
|
37
|
+
$hr-border-thickness: {{ site.oedipus.style.hr-border-thickness }};
|
38
|
+
{% endif %}
|
39
|
+
|
40
|
+
{% if site.oedipus.style.body-margin %}
|
41
|
+
$body-margin: {{ site.oedipus.style.body-margin }};
|
42
|
+
{% endif %}
|
43
|
+
|
44
|
+
{% if site.oedipus.style.html-font-size %}
|
45
|
+
$html-font-size: {{ site.oedipus.style.html-font-size }};
|
46
|
+
{% endif %}
|
47
|
+
|
48
|
+
{% if site.oedipus.style.content-font-size %}
|
49
|
+
$content-font-size: {{ site.oedipus.style.content-font-size }};
|
50
|
+
{% endif %}
|
51
|
+
|
52
|
+
{% if site.oedipus.style.content-font-family %}
|
53
|
+
$content-font-family: {{ site.oedipus.style.content-font-family }};
|
54
|
+
{% endif %}
|
55
|
+
|
56
|
+
{% if site.oedipus.style.content-line-height %}
|
57
|
+
$content-line-height: {{ site.oedipus.style.content-line-height }};
|
58
|
+
{% endif %}
|
59
|
+
|
60
|
+
{% if site.oedipus.style.preformatted-font-size %}
|
61
|
+
$preformatted-font-size: {{ site.oedipus.style.preformatted-font-size }};
|
62
|
+
{% endif %}
|
63
|
+
|
64
|
+
{% if site.oedipus.style.preformatted-font-family %}
|
65
|
+
$preformatted-font-family: {{ site.oedipus.style.preformatted-font-family }};
|
66
|
+
{% endif %}
|
67
|
+
|
68
|
+
{% if site.oedipus.style.content-width %}
|
69
|
+
$content-width: {{ site.oedipus.style.content-width }};
|
70
|
+
{% endif %}
|
71
|
+
|
72
|
+
{% if site.oedipus.style.content-centered %}
|
73
|
+
$content-alignment: center;
|
74
|
+
$content-margin: 2rem auto;
|
75
|
+
$content-padding: 0 .62rem;
|
76
|
+
{% else %}
|
77
|
+
$content-alignment: left;
|
78
|
+
$content-margin: 0;
|
79
|
+
$content-padding: auto;
|
80
|
+
{% endif %}
|
81
|
+
|
5
82
|
@import "main";
|
83
|
+
@import "skip";
|
6
84
|
@import "dark";
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll-oedipus-theme
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matthew Graybosch
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-06
|
11
|
+
date: 2021-07-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jekyll
|
@@ -102,16 +102,23 @@ files:
|
|
102
102
|
- LICENSE.txt
|
103
103
|
- README.md
|
104
104
|
- _config.yml
|
105
|
+
- _includes/article-footer.html
|
106
|
+
- _includes/article-header.html
|
107
|
+
- _includes/copyright.html
|
105
108
|
- _includes/footer.html
|
106
109
|
- _includes/header.html
|
107
110
|
- _includes/home-footer.html
|
108
111
|
- _includes/home-header.html
|
112
|
+
- _includes/license.html
|
113
|
+
- _includes/made-with.html
|
114
|
+
- _includes/masthead.html
|
109
115
|
- _includes/navbar.html
|
110
116
|
- _includes/navlist.html
|
111
117
|
- _includes/posts-list.html
|
112
118
|
- _includes/posts-table.html
|
113
119
|
- _includes/recent-posts-list.html
|
114
120
|
- _includes/recent-posts-table.html
|
121
|
+
- _includes/skip.html
|
115
122
|
- _layouts/base.html
|
116
123
|
- _layouts/default.html
|
117
124
|
- _layouts/home.html
|
@@ -119,9 +126,11 @@ files:
|
|
119
126
|
- _layouts/post.html
|
120
127
|
- _sass/dark.scss
|
121
128
|
- _sass/main.scss
|
129
|
+
- _sass/paper.scss
|
130
|
+
- _sass/skip.scss
|
122
131
|
- _sass/variables.scss
|
123
|
-
- assets/favicon.ico
|
124
132
|
- assets/favicon.svg
|
133
|
+
- assets/print.scss
|
125
134
|
- assets/style.scss
|
126
135
|
homepage: https://github.com/matthewgraybosch/jekyll-oedipus-theme
|
127
136
|
licenses:
|
@@ -135,7 +144,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
135
144
|
requirements:
|
136
145
|
- - ">="
|
137
146
|
- !ruby/object:Gem::Version
|
138
|
-
version: '
|
147
|
+
version: '2.7'
|
139
148
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
140
149
|
requirements:
|
141
150
|
- - ">="
|
data/assets/favicon.ico
DELETED
Binary file
|