jekyll-akademos 0.1.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.
Files changed (49) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +674 -0
  3. data/README.md +5 -0
  4. data/_includes/akademos.scss +38 -0
  5. data/_includes/footer.html +7 -0
  6. data/_includes/head.html +13 -0
  7. data/_includes/header.html +21 -0
  8. data/_includes/navigation.html +9 -0
  9. data/_includes/nextprev.html +12 -0
  10. data/_layouts/default.html +19 -0
  11. data/_layouts/index.html +28 -0
  12. data/_layouts/page.html +22 -0
  13. data/_layouts/post.html +30 -0
  14. data/_sass/_accessibility.scss +38 -0
  15. data/_sass/_base.scss +152 -0
  16. data/_sass/_container.scss +24 -0
  17. data/_sass/_footer.scss +32 -0
  18. data/_sass/_footnotes.scss +9 -0
  19. data/_sass/_header.scss +84 -0
  20. data/_sass/_index.scss +55 -0
  21. data/_sass/_links.scss +48 -0
  22. data/_sass/_nextprev.scss +48 -0
  23. data/_sass/_normalize.scss +461 -0
  24. data/_sass/_post.scss +22 -0
  25. data/_sass/_syntax.scss +71 -0
  26. data/_sass/_typography.scss +39 -0
  27. data/_sass/_variables.scss +206 -0
  28. data/_sass/themes/_alto.scss +58 -0
  29. data/_sass/themes/_archaic.scss +56 -0
  30. data/_sass/themes/_bionis.scss +58 -0
  31. data/_sass/themes/_blau.scss +58 -0
  32. data/_sass/themes/_caprice.scss +56 -0
  33. data/_sass/themes/_cyprium.scss +58 -0
  34. data/_sass/themes/_ficus.scss +58 -0
  35. data/_sass/themes/_flowerbed.scss +58 -0
  36. data/_sass/themes/_magus.scss +58 -0
  37. data/_sass/themes/_nefelio.scss +58 -0
  38. data/_sass/themes/_neptune.scss +58 -0
  39. data/_sass/themes/_ocarina.scss +58 -0
  40. data/_sass/themes/_oliveira.scss +58 -0
  41. data/_sass/themes/_orionis.scss +58 -0
  42. data/_sass/themes/_overgrowth.scss +58 -0
  43. data/_sass/themes/_playa.scss +58 -0
  44. data/_sass/themes/_sonho.scss +99 -0
  45. data/_sass/themes/_symbiosis.scss +58 -0
  46. data/_sass/themes/_vin.scss +58 -0
  47. data/assets/_data/akademos.yml +2 -0
  48. data/assets/_data/themes.yml +40 -0
  49. metadata +133 -0
data/README.md ADDED
@@ -0,0 +1,5 @@
1
+ # Akademos Jekyll theme
2
+
3
+ For the installation guide, see: https://protesilaos.gitlab.io/jekyll-akademos/guide/
4
+
5
+ The live demo: https://protesilaos.gitlab.io/jekyll-akademos/
@@ -0,0 +1,38 @@
1
+ /*
2
+ *
3
+ * Akademos - Minimalist theme for writers and coders
4
+ * @author Protesilaos Stavrou <public@protesilaos.com> (https://protesilaos.com/)
5
+ * @license GPLv3
6
+ *
7
+ */
8
+
9
+ @import
10
+ "normalize",
11
+ "variables"
12
+ ;
13
+
14
+ {% assign themes = site.data.themes %}
15
+ {% assign styles = site.data.akademos.theme %}
16
+
17
+ {% for theme in themes %}
18
+
19
+ {% if styles contains theme.url or styles contains theme.name %}
20
+ @import "{{ theme.url | prepend: 'themes/' }}";
21
+ {% endif %}
22
+
23
+ {% endfor %}
24
+
25
+ @import
26
+ "base",
27
+ "links",
28
+ "accessibility",
29
+ "header",
30
+ "container",
31
+ "index",
32
+ "post",
33
+ "typography",
34
+ "nextprev",
35
+ "syntax",
36
+ "footnotes",
37
+ "footer"
38
+ ;
@@ -0,0 +1,7 @@
1
+ <footer class="footer">
2
+
3
+ <div class="footer-inner">
4
+ (c) {{ site.time | date: '%Y' }} {{ site.title }}.
5
+ </div>
6
+
7
+ </footer>
@@ -0,0 +1,13 @@
1
+ <head>
2
+ <meta charset="utf-8">
3
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
4
+ <meta name="viewport" content="width=device-width, initial-scale=1">
5
+
6
+ <!-- CSS -->
7
+ <style type="text/css">
8
+ {% capture akademos %}
9
+ {% include akademos.scss %}
10
+ {% endcapture %}
11
+ {{ akademos | scssify }}
12
+ </style>
13
+ </head>
@@ -0,0 +1,21 @@
1
+ <header class="header">
2
+ <div class="header-inner">
3
+
4
+ <a class="skip-link screen-reader-text" href="#content">
5
+ Skip to content
6
+ </a>
7
+
8
+ <div class="header-header">
9
+ <div class="header-logo">
10
+ <a href="{{ site.url }}">
11
+ {{ site.title }}
12
+ </a>
13
+ </div>
14
+
15
+ <nav class="header-navigation" aria-label="Main menu">
16
+ {% include navigation.html %}
17
+ </nav>
18
+ </div>
19
+
20
+ </div>
21
+ </header>
@@ -0,0 +1,9 @@
1
+ {% assign links = site.data.menu %}
2
+
3
+ <ul>
4
+ {% for link in links %}
5
+ <li>
6
+ <a href="{{ link.url }}">{{ link.name }}</a>
7
+ </li>
8
+ {% endfor %}
9
+ </ul>
@@ -0,0 +1,12 @@
1
+ <div class="nextprev clearfix">
2
+ {% if page.next.url %}
3
+ <div class="nextprev-item">
4
+ <span class="nextprev-tag">Next:</span><a class="next" href="{{ page.next.url | relative_url }}">{{ page.next.title }}</a>
5
+ </div>
6
+ {% endif %}
7
+ {% if page.previous.url %}
8
+ <div class="nextprev-item">
9
+ <span class="nextprev-tag">Previous:</span><a class="prev" href="{{ page.previous.url | relative_url }}">{{ page.previous.title }}</a>
10
+ </div>
11
+ {% endif %}
12
+ </div>
@@ -0,0 +1,19 @@
1
+ <!DOCTYPE html>
2
+ <html lang="{{ page.lang | default: site.lang | default: "en" }}">
3
+
4
+ {% include head.html %}
5
+
6
+ <body>
7
+
8
+ {% include header.html %}
9
+
10
+ <main id="content" aria-label="Content">
11
+ <div>
12
+ {{ content }}
13
+ </div>
14
+ </main>
15
+
16
+ {% include footer.html %}
17
+
18
+ </body>
19
+ </html>
@@ -0,0 +1,28 @@
1
+ <!DOCTYPE html>
2
+ <html lang="{{ page.lang | default: site.lang | default: "en" }}">
3
+
4
+ {% include head.html %}
5
+
6
+ <body>
7
+
8
+ {% include header.html %}
9
+
10
+ <main id="content" aria-label="Content">
11
+
12
+ <div class="post-header">
13
+
14
+ <div class="post-header-inner">
15
+ <h1>{{ page.title }}</h1>
16
+ </div>
17
+
18
+ </div>
19
+
20
+ <div class="container">
21
+ {{ content }}
22
+ </div>
23
+ </main>
24
+
25
+ {% include footer.html %}
26
+
27
+ </body>
28
+ </html>
@@ -0,0 +1,22 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+ <div class="post-header">
5
+
6
+ <div class="post-header-inner">
7
+
8
+ <h1>{{ page.title }}</h1>
9
+
10
+ {% assign subtitle = site.data.akademos.subtitle | where: "subtitle", "true" %}
11
+
12
+ {% if subtitle and page.subtitle %}
13
+ <p>{{ page.subtitle }}</p>
14
+ {% endif %}
15
+
16
+ </div>
17
+
18
+ </div>
19
+
20
+ <article class="post-content">
21
+ {{ content }}
22
+ </article>
@@ -0,0 +1,30 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+ <div class="post-header">
5
+
6
+ <div class="post-header-inner">
7
+
8
+ <h1>{{ page.title }}</h1>
9
+
10
+ {% assign subtitle = site.data.akademos.subtitle | where: "subtitle", "true" %}
11
+
12
+ {% if subtitle and page.subtitle %}
13
+ <p>{{ page.subtitle }}</p>
14
+ {% endif %}
15
+
16
+ {% if site.date_format %}
17
+ <time>{{ page.date | date: site.date_format }}</time>
18
+ {% else %}
19
+ <time>{{ page.date | date: '%Y-%m-%d' }}</time>
20
+ {% endif %}
21
+
22
+ </div>
23
+
24
+ </div>
25
+
26
+ <article class="post-content">
27
+ {{ content }}
28
+ </article>
29
+
30
+ {% include nextprev.html %}
@@ -0,0 +1,38 @@
1
+ .screen-reader-text {
2
+ clip: rect(1px, 1px, 1px, 1px);
3
+ height: 1px;
4
+ overflow: hidden;
5
+ position: absolute !important;
6
+ width: 1px;
7
+ word-wrap: normal !important;
8
+ }
9
+
10
+ .skip-link {
11
+ background: $primary3;
12
+ color: $dbg;
13
+ display: block;
14
+ font-family: sans-serif;
15
+ font-size: $msize;
16
+ left: -9999em;
17
+ outline: none;
18
+ padding: $sone ($sone * 2);
19
+ text-decoration: none;
20
+ text-transform: none;
21
+ top: -9999em;
22
+ @include shadow;
23
+
24
+ &:hover {
25
+ background: $secondary1;
26
+ color: $dbg;
27
+ }
28
+
29
+ &:focus {
30
+ color: $dbg;
31
+ clip: auto;
32
+ height: auto;
33
+ left: $sone;
34
+ top: $sone;
35
+ width: auto;
36
+ z-index: 100000;
37
+ }
38
+ }
data/_sass/_base.scss ADDED
@@ -0,0 +1,152 @@
1
+ body {
2
+ font-family: $font1;
3
+ font-size: $base-font-size;
4
+ line-height: $line-height;
5
+ color: $text1;
6
+ background-color: $bg;
7
+ word-wrap: break-word;
8
+ margin: 0;
9
+
10
+ @include tablet {
11
+ font-size: $base-font-size + 1;
12
+ }
13
+
14
+ @include desktop {
15
+ font-size: $base-font-size + 2;
16
+ }
17
+ }
18
+
19
+ h1,
20
+ h2,
21
+ h3,
22
+ h4,
23
+ h5,
24
+ h6 {
25
+ font-family: $font2;
26
+ font-weight: 700;
27
+ margin-bottom: $vrythm / 2;
28
+ padding: 0;
29
+ }
30
+
31
+ h1,
32
+ h2 {
33
+ color: $subheading;
34
+ line-height: $heading-line-height;
35
+ }
36
+
37
+ h3,
38
+ h4,
39
+ h5,
40
+ h6 {
41
+ color: $section-heading;
42
+ }
43
+
44
+ h1,
45
+ .h1 {
46
+ font-size: $xlsize;
47
+
48
+ @include tablet {
49
+ font-size: $xxlsize;
50
+ }
51
+ }
52
+
53
+ h2,
54
+ .h2 {
55
+ font-size: $lsize;
56
+
57
+ @include tablet {
58
+ font-size: $xlsize;
59
+ }
60
+ }
61
+
62
+ h3,
63
+ .h3 {
64
+ font-size: $msize;
65
+
66
+ @include tablet {
67
+ font-size: $lsize;
68
+ }
69
+ }
70
+
71
+ h4,
72
+ .h4 {
73
+ font-size: $msize;
74
+ }
75
+
76
+ h5,
77
+ .h5 {
78
+ font-size: $ssize;
79
+ }
80
+
81
+ h6,
82
+ .h6 {
83
+ font-size: $xssize;
84
+ }
85
+
86
+ p {
87
+ margin: 0 0 $vrythm;
88
+ padding: 0;
89
+ }
90
+
91
+ b,
92
+ strong {
93
+ font-weight: 700;
94
+ }
95
+
96
+ i,
97
+ em {
98
+ font-style: italic;
99
+ }
100
+
101
+ blockquote {
102
+ margin: 0;
103
+ padding: 0;
104
+ border-left: thick solid $dark2;
105
+
106
+ p {
107
+ font-style: italic;
108
+ padding-left: $vrythm;
109
+ }
110
+ }
111
+
112
+ ul,
113
+ ol {
114
+ margin: 0 0 $vrythm;
115
+ padding: 0 0 0 $sone;
116
+ }
117
+
118
+ pre,
119
+ code,
120
+ samp {
121
+ font-family: $mono;
122
+ font-size: $ssize;
123
+ }
124
+
125
+ pre {
126
+ overflow-x: auto;
127
+ white-space: pre;
128
+ word-break: inherit;
129
+ word-wrap: inherit;
130
+ margin: $vrythm 0;
131
+ }
132
+
133
+ figure {
134
+ margin: 0;
135
+ padding: 0;
136
+ }
137
+
138
+ img {
139
+ max-width: 100%;
140
+ height: auto;
141
+ border: 0;
142
+ }
143
+
144
+ small {
145
+ font-size: $xssize;
146
+ }
147
+
148
+ time {
149
+ color: $text2;
150
+ display: block;
151
+ @extend p;
152
+ }
@@ -0,0 +1,24 @@
1
+ .clearfix {
2
+ @extend %clearfix;
3
+ }
4
+
5
+ body {
6
+ display: flex;
7
+ min-height: 100vh;
8
+ flex-direction: column;
9
+ }
10
+
11
+ main {
12
+ flex: 1 0 auto;
13
+ }
14
+
15
+ .container {
16
+ display: block;
17
+ margin: 0 auto;
18
+ padding: $vrythm $sone;
19
+ max-width: $measure;
20
+
21
+ @include desktop {
22
+ padding-top: $vrythm * 2;
23
+ }
24
+ }
@@ -0,0 +1,32 @@
1
+ .footer {
2
+ font-family: $fontui;
3
+ font-size: $ssize;
4
+ color: $dt1;
5
+ background: $dbg;
6
+ @extend %clearfix;
7
+ }
8
+
9
+ .footer-inner {
10
+ display: -webkit-flex;
11
+ -webkit-flex-wrap: wrap;
12
+ display: flex;
13
+ flex-wrap: wrap;
14
+ -webkit-flex-direction: column;
15
+ flex-direction: column;
16
+ align-items: flex-start;
17
+ height: auto;
18
+ padding: $sone;
19
+ margin: 0 auto;
20
+ max-width: $measure;
21
+
22
+ @include tablet {
23
+ -webkit-flex-direction: row;
24
+ flex-direction: row;
25
+ justify-content: flex-start;
26
+ }
27
+
28
+ @include desktop {
29
+ padding: $vrythm 0;
30
+ max-width: $measure-xl;
31
+ }
32
+ }
@@ -0,0 +1,9 @@
1
+ .footnotes {
2
+ background: darken($bg, 3%);
3
+ padding: $vrythm 0;
4
+
5
+ @include tablet {
6
+ @include bigblock;
7
+ @include shadow;
8
+ }
9
+ }
@@ -0,0 +1,84 @@
1
+ .header {
2
+ background: $dbg;
3
+ color: $dt1;
4
+ @extend %clearfix;
5
+ }
6
+
7
+ .header-inner {
8
+ font-family: $fontui;
9
+ font-size: $msize;
10
+ text-align: left;
11
+ max-width: $measure;
12
+ margin: 0 auto;
13
+ padding: $sone;
14
+ @extend %clearfix;
15
+
16
+ @include tablet {
17
+ font-size: $lsize;
18
+ padding: $vrythm $sone;
19
+ }
20
+
21
+ @include desktop {
22
+ max-width: $measure-xl;
23
+ }
24
+
25
+ .header-logo {
26
+ font-weight: 700;
27
+ display: block;
28
+ padding: 0;
29
+ text-transform: none;
30
+
31
+ @include tablet {
32
+ float: left;
33
+ display: inline-block;
34
+ width: calc(100% * .3333);
35
+ }
36
+ }
37
+
38
+ .header-navigation {
39
+ width: auto;
40
+ height: $vrythm;
41
+ overflow-x: scroll;
42
+ overflow-y: hidden;
43
+ white-space: nowrap;
44
+ padding: $sone 0;
45
+
46
+ @include tablet {
47
+ float: left;
48
+ text-align: right;
49
+ display: inline-block;
50
+ width: calc(100% * .6666);
51
+ height: auto;
52
+ overflow-x: hidden;
53
+ white-space: normal;
54
+ padding: 0;
55
+ }
56
+
57
+ ul {
58
+ display: inline;
59
+ list-style-type: none;
60
+ margin: ($vrythm / 2) 0 0;
61
+ padding: 0;
62
+
63
+ @include tablet {
64
+ margin: 0;
65
+ }
66
+
67
+ li {
68
+ display: inline-block;
69
+ margin-right: $sone;
70
+ line-height: $sone * 2;
71
+
72
+ &:last-child {
73
+ margin-right: 0;
74
+ padding-right: $sone / 10;
75
+ }
76
+
77
+ @include tablet {
78
+ text-transform: none;
79
+ line-height: $vrythm;
80
+ }
81
+ }
82
+ }
83
+ }
84
+ }
data/_sass/_index.scss ADDED
@@ -0,0 +1,55 @@
1
+ .index {
2
+ ul {
3
+ list-style-type: none;
4
+ padding: 0;
5
+ margin: 0;
6
+
7
+ li {
8
+
9
+ display: -webkit-flex;
10
+ -webkit-flex-wrap: wrap;
11
+ display: flex;
12
+ flex-wrap: wrap;
13
+ -webkit-flex-direction: column;
14
+ flex-direction: column;
15
+ align-items: flex-start;
16
+ height: auto;
17
+
18
+
19
+ padding: $sone 0;
20
+
21
+ @include tablet {
22
+ -webkit-flex-direction: row;
23
+ flex-direction: row;
24
+ justify-content: space-between;
25
+ }
26
+
27
+ + li {
28
+ border-top: thin solid $dark2;
29
+ }
30
+
31
+ a {
32
+ width: 100%;
33
+ height: auto;
34
+ padding: 0;
35
+ margin: 0;
36
+
37
+ @include tablet {
38
+ width: calc(calc(100% / 6) * 5);
39
+ }
40
+ }
41
+
42
+ time {
43
+ width: 100%;
44
+ height: auto;
45
+ padding: 0;
46
+ margin: 0;
47
+
48
+ @include tablet {
49
+ width: calc(100% / 6);
50
+ text-align: right;
51
+ }
52
+ }
53
+ }
54
+ }
55
+ }
data/_sass/_links.scss ADDED
@@ -0,0 +1,48 @@
1
+ a {
2
+ color: $link;
3
+ text-decoration: none;
4
+
5
+ &:hover,
6
+ &:active {
7
+ color: $link-alt;
8
+ }
9
+
10
+ &:not(.skip-link):focus {
11
+ color: $tertiary1;
12
+ background: transparentize($tertiary1, 0.9);
13
+ outline: thin dashed $tertiary1;
14
+ }
15
+
16
+ .header &,
17
+ .footer & {
18
+ color: $link-alt;
19
+
20
+ &:hover,
21
+ &:active {
22
+ color: $link;
23
+ }
24
+ }
25
+
26
+ article & {
27
+ border-bottom: thin solid $link;
28
+
29
+ &:hover,
30
+ &:active {
31
+ border-bottom: thin solid $link-alt;
32
+ }
33
+
34
+ &[href^="#fn"] {
35
+ border-bottom: none;
36
+
37
+ &::before {
38
+ content: "[";
39
+ @extend %pseudomark;
40
+ }
41
+
42
+ &::after {
43
+ content: "]";
44
+ @extend %pseudomark;
45
+ }
46
+ }
47
+ }
48
+ }