jekyll-oedipus-theme 0.5.0 → 2.0.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e3e6768b444b549237c61dd99532bb1f0133a47140ee4ed6a85d163f12a28e79
4
- data.tar.gz: ce47ca3de6e0a676a71d6185a91a4c7da4fb6e7d7ea9d54d35b1a13f7d5cf5b1
3
+ metadata.gz: 12db10baf5d8f3eed5cc0b1ccf431c7a0004ed8db1e7f911aec671dbf4a5a4ae
4
+ data.tar.gz: 8c48d7a8de4872596b6e90aba8002e6eb3306e7a062f394ab50ad7a41b6b3b93
5
5
  SHA512:
6
- metadata.gz: 2e3ff13c887718b872d218d452a7becc7337ade2e8a85ca71abb7f43afadf44405ba5ade01b5b4a99acf438caa88d033b48f4b0bad61ebe2483025c19b88931f
7
- data.tar.gz: '0159cb53f76c71f68e47802cb707b320796664f7aa5dd1fce10f211b3901d1f5f66b6ecd6a73046092e96c95d8d369623d9720748fce7adb9f4e4fa589f3e736'
6
+ metadata.gz: 376bbf1209b1baab87bd74423c4a8702c895b56b19c530a1639e432d92847643f022f51796a37bbd44f66d5b89d842646170b5b48d3eb0e9a1ad9a08c789d5fa
7
+ data.tar.gz: 0eafc5ad5370c9f052d38c27658c81768c12b0eb7636144039300fe239a212078848aa567e0678e3816a15ba70b555bd4e10978111605d23b6ae285b41793d3d
data/README.md CHANGED
@@ -4,6 +4,10 @@ Build a motherfucking website with Jekyll (patricide optional).
4
4
 
5
5
  [![Gem Version](https://badge.fury.io/rb/jekyll-oedipus-theme.svg)](https://badge.fury.io/rb/jekyll-oedipus-theme)
6
6
 
7
+ ## Screenshot
8
+
9
+ ![Oedipus rendered on a Thinkpad T60 in Firefox ESR](https://raw.githubusercontent.com/matthewgraybosch/jekyll-oedipus-theme/main/screenshot.png)
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
- TODO: Write usage instructions here. Describe your available layouts, includes, sass and/or assets.
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. However, I will not accept pull requests unless they suit my tastes. Any support I provide is at my own discretion.
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
- The code of conduct is simple: **don't annoy me**.
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,12 +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-name: "CC BY-NC-SA 4.0"
14
- license-text-url: "https://creativecommons.org/licenses/by-nc-sa/4.0/"
15
- license-code-name: "GNU GPL-3.0"
16
- license-code-url: "https://opensource.org/licenses/GPL-3.0/"
17
- madeWith: "♥ in Pennsylvania"
18
12
 
19
13
  # Build settings
20
14
  theme: jekyll-oedipus-theme
@@ -25,6 +19,37 @@ plugins:
25
19
  - jekyll-seo-tag
26
20
 
27
21
  sass:
28
- style: expanded
22
+ style: compressed
29
23
 
30
- 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>
@@ -0,0 +1,4 @@
1
+ <header>
2
+ <h1>{{ page.title }}</h1>
3
+ <p><em>{{ page.description }}</em></p>
4
+ </header>
@@ -0,0 +1,6 @@
1
+ {% if site.oedipus.rights %}
2
+ &copy; {{ site.time | date: "%Y" }} {{ site.author }}, {{ site.oedipus.rights }}
3
+ {% else %}
4
+ &copy; {{ site.time | date: "%Y" }} {{ site.author }}
5
+ {% endif %}
6
+ <br />
@@ -1,8 +1,8 @@
1
1
  <footer>
2
2
  <p>
3
- &copy; {{ site.time | date: "%Y" }} {{ site.author }}, {{ site.rights }}<br />
3
+ {% include copyright.html %}
4
4
  {% include license.html %}
5
- made with {{ site.madeWith }}
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>
@@ -1,5 +1,4 @@
1
1
  <header>
2
- <h1>{{ site.title }}</h1>
3
- <p>{{ site.description }}</p>
2
+ {% include masthead.html %}
4
3
  {% include navbar.html id="header-nav" label="main navigation" source=site.data.header-nav %}
5
4
  </header>
@@ -1,7 +1,7 @@
1
1
  <footer>
2
2
  <p>
3
- &copy; {{ site.time | date: "%Y" }} {{ site.author }}, {{ site.rights }}<br />
3
+ {% include copyright.html %}
4
4
  {% include license.html %}
5
- made with {{ site.madeWith }}
5
+ {% include made-with.html %}
6
6
  </p>
7
7
  </footer>
@@ -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
- <h1>{{ site.title }}</h1>
7
- <p>{{ site.description }}</p>
7
+ {% endif %}
8
+ {% include masthead.html %}
8
9
  </header>
@@ -1,3 +1,12 @@
1
- text: <a href="{{ site.license-text-url }}">{{ site.license-text-name }}</a>
2
- / code: <a href="{{ site.license-code-url }}">{{ site.license-code-name }}</a>
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 %}
3
11
  <br />
12
+ {% endif %}
@@ -0,0 +1,3 @@
1
+ {% if site.oedipus.made-with %}
2
+ made with {{ site.oedipus.made-with }}
3
+ {% endif %}
@@ -0,0 +1,6 @@
1
+ {% if site.oedipus.style.compact-header %}
2
+ <h1>{{ site.title }}<em>{{ site.description }}</em></h1>
3
+ {% else %}
4
+ <h1>{{ site.title }}</h1>
5
+ <p>{{ site.description }}</p>
6
+ {% endif %}
@@ -1,3 +1,4 @@
1
+ {% if include.source %}
1
2
  <nav id="{{ include.id }}" aria-label=" {{include.label }}">
2
3
  <p>
3
4
  {% for item in include.source %}
@@ -5,3 +6,4 @@
5
6
  {% endfor %}
6
7
  </p>
7
8
  </nav>
9
+ {% endif %}
@@ -1,3 +1,4 @@
1
+ {% if include.source %}
1
2
  <nav id="{{ include.id }}" aria-label=" {{include.label }}">
2
3
  <ul>
3
4
  {% for item in include.source %}
@@ -7,3 +8,4 @@
7
8
  {% endfor %}
8
9
  </ul>
9
10
  </nav>
11
+ {% endif %}
@@ -1,7 +1,9 @@
1
- {% for post in site.posts %}
2
- <article>
3
- <h3><a href="{{ post.url }}">{{ post.title }}</a></h3>
4
- <p><em>{{ post.description }}</em></p>
5
- <p>posted on {{ post.date | date: "%Y-%m-%d" }}</p>
6
- </article>
7
- {% endfor %}
1
+ <dl>
2
+ {% for post in site.posts %}
3
+ <dt>
4
+ [{{ post.date | date: "%Y-%m-%d" }}]
5
+ <a href="{{ post.url }}">{{ post.title }}</a>
6
+ </dt>
7
+ <dd>{{ post.description }}</dd>
8
+ {% endfor %}
9
+ </dl>
@@ -1,7 +1,9 @@
1
- {% for post in site.posts | limit: include.limit %}
2
- <article>
3
- <h3><a href="{{ post.url }}">{{ post.title }}</a></h3>
4
- <p><em>{{ post.description }}</em></p>
5
- <p>posted on {{ post.date | date: "%Y-%m-%d" }}</p>
6
- </article>
7
- {% endfor %}
1
+ <dl>
2
+ {% for post in site.posts | limit: include.limit %}
3
+ <dt>
4
+ [{{ post.date | date: "%Y-%m-%d" }}]
5
+ <a href="{{ post.url }}">{{ post.title }}</a>
6
+ </dt>
7
+ <dd>{{ post.description }}</dd>
8
+ {% endfor %}
9
+ </dl>
data/_layouts/base.html CHANGED
@@ -4,7 +4,7 @@
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" type="image/ico" href="/assets/favicon.ico" />
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">
data/_layouts/post.html CHANGED
@@ -3,19 +3,9 @@ layout: default
3
3
  ---
4
4
 
5
5
  <article id="content">
6
- <header>
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
- <footer>
14
- <p>
15
- Thanks for reading.<br />
16
- The best way to subscribe is with a feed reader:
17
- <a href="/feed.xml" title="subscribe to the Atom feed">Atom</a>
18
- <a href="/feed.json" title="subscribe to the JSON feed">JSON</a><br />
19
- Questions or comments? Email <a href="mailto:{{ site.email }}" title="please allow up to 7 days for a reply">{{ site.email }}</a>.</p>
20
- </footer>
10
+ {% include article-footer.html %}
21
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
- hr {
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
 
data/_sass/main.scss CHANGED
@@ -1,17 +1,23 @@
1
1
  html {
2
- font-size: medium;
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: 1rem;
10
- font: 1rem/1.62 sans-serif;
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;
14
- text-underline-offset: $border-thickness * 1.5;
16
+ text-underline-offset: $underline-offset;
17
+ }
18
+
19
+ abbr {
20
+ text-underline-offset: $underline-offset;
15
21
  }
16
22
 
17
23
  a:hover {
@@ -31,10 +37,16 @@ html {
31
37
  }
32
38
 
33
39
  header, footer, nav {
34
- text-align: center;
40
+ text-align: $content-alignment;
35
41
 
36
42
  h1 {
43
+ font-size: $content-font-size;
37
44
  margin-bottom: 1rem;
45
+
46
+ em {
47
+ margin-left: .5rem;
48
+ font-weight: normal;
49
+ }
38
50
  }
39
51
  }
40
52
 
@@ -54,14 +66,17 @@ html {
54
66
  margin-top: 1.5rem;
55
67
  p {
56
68
  a {
57
- margin-left: .5rem;
58
- margin-right: .5rem;
69
+ margin-right: 1rem;
59
70
  border: $border-thickness solid $link-color;
60
71
  border-radius: .5rem;
61
72
  padding: .5rem;
62
73
  text-decoration: none;
63
74
  }
64
75
 
76
+ a:last-child {
77
+ margin-right: 0;
78
+ }
79
+
65
80
  a:hover {
66
81
  border: $border-thickness solid $link-hover-color;
67
82
  }
@@ -77,9 +92,9 @@ html {
77
92
  }
78
93
 
79
94
  main {
80
- margin: 2rem auto;
95
+ margin: $content-margin;
81
96
  max-width: $content-width;
82
- padding: 0 .62rem;
97
+ padding: $content-padding;
83
98
 
84
99
  article {
85
100
  margin-left: 2rem;
@@ -91,9 +106,9 @@ html {
91
106
  }
92
107
 
93
108
  article {
94
- margin: 2rem auto;
109
+ margin: $content-margin;
95
110
  max-width: $content-width;
96
- padding: 0 .62rem;
111
+ padding: $content-padding;
97
112
 
98
113
  header, footer {
99
114
  text-align: left;
@@ -101,7 +116,7 @@ html {
101
116
  }
102
117
 
103
118
  section {
104
- margin: 2rem auto;
119
+ margin: 2rem auto;
105
120
  }
106
121
 
107
122
  header {
@@ -114,9 +129,27 @@ html {
114
129
  border-top: $hr-border-thickness dashed $fg-color;
115
130
  }
116
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;
144
+ }
145
+
146
+ h4, h5, h6 {
147
+ font-size: $content-font-size * 1.1;
148
+ }
149
+ }
117
150
 
118
151
  blockquote {
119
- font-size: 1.2rem;
152
+ font-size: $blockquote-font-size;
120
153
  margin: 2rem 4rem;
121
154
  padding: 0 1rem;
122
155
  border-left: $border-thickness solid $fg-color;
@@ -127,6 +160,22 @@ html {
127
160
  }
128
161
  }
129
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
+
130
179
  dl {
131
180
  dt {
132
181
  font-size: 1.1rem;
@@ -152,5 +201,10 @@ html {
152
201
  text-align: left;
153
202
  }
154
203
  }
204
+
205
+ pre, code {
206
+ font-size: $preformatted-font-size;
207
+ font-family: $preformatted-font-family;
208
+ }
155
209
  }
156
210
  }
data/_sass/variables.scss CHANGED
@@ -6,4 +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;
9
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 CHANGED
@@ -2,4 +2,12 @@
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.content-width %}
9
+ $content-width: {{ site.oedipus.style.content-width }};
10
+ {% endif %}
11
+
12
+
5
13
  @import "paper";
data/assets/style.scss CHANGED
@@ -2,6 +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";
6
83
  @import "skip";
7
84
  @import "dark";
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-oedipus-theme
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthew Graybosch
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-06-28 00:00:00.000000000 Z
11
+ date: 2021-08-18 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: webrick
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.7'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.7'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: jekyll
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -92,7 +106,7 @@ dependencies:
92
106
  - - ">="
93
107
  - !ruby/object:Gem::Version
94
108
  version: 2.7.1
95
- description:
109
+ description:
96
110
  email:
97
111
  - contact@matthewgraybosch.com
98
112
  executables: []
@@ -102,11 +116,16 @@ files:
102
116
  - LICENSE.txt
103
117
  - README.md
104
118
  - _config.yml
119
+ - _includes/article-footer.html
120
+ - _includes/article-header.html
121
+ - _includes/copyright.html
105
122
  - _includes/footer.html
106
123
  - _includes/header.html
107
124
  - _includes/home-footer.html
108
125
  - _includes/home-header.html
109
126
  - _includes/license.html
127
+ - _includes/made-with.html
128
+ - _includes/masthead.html
110
129
  - _includes/navbar.html
111
130
  - _includes/navlist.html
112
131
  - _includes/posts-list.html
@@ -124,7 +143,6 @@ files:
124
143
  - _sass/paper.scss
125
144
  - _sass/skip.scss
126
145
  - _sass/variables.scss
127
- - assets/favicon.ico
128
146
  - assets/favicon.svg
129
147
  - assets/print.scss
130
148
  - assets/style.scss
@@ -132,7 +150,7 @@ homepage: https://github.com/matthewgraybosch/jekyll-oedipus-theme
132
150
  licenses:
133
151
  - GPL-3.0
134
152
  metadata: {}
135
- post_install_message:
153
+ post_install_message:
136
154
  rdoc_options: []
137
155
  require_paths:
138
156
  - lib
@@ -140,15 +158,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
140
158
  requirements:
141
159
  - - ">="
142
160
  - !ruby/object:Gem::Version
143
- version: '2.7'
161
+ version: '3.0'
144
162
  required_rubygems_version: !ruby/object:Gem::Requirement
145
163
  requirements:
146
164
  - - ">="
147
165
  - !ruby/object:Gem::Version
148
166
  version: '0'
149
167
  requirements: []
150
- rubygems_version: 3.2.5
151
- signing_key:
168
+ rubygems_version: 3.2.22
169
+ signing_key:
152
170
  specification_version: 4
153
171
  summary: Build a motherfucking website with Jekyll (patricide optional)
154
172
  test_files: []
data/assets/favicon.ico DELETED
Binary file