jekyll-theme-endless 0.4.0 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 69ca0a202fdb3f05970cb2e99a6718220173c3383ab3649c3d4733d8d647ad8b
4
- data.tar.gz: aa05cd183d0ae7ef3767b3ada0e101b48b515ccad38b50502ac5af04215c5275
3
+ metadata.gz: d7ff2f4560ea04705b9b3e3449ccaf2546a744971d7858c8ab721258a0438ecc
4
+ data.tar.gz: 28c2b78e998e5c78a686ca828a9ec3be2e20802b45abad00b60deabc911390cb
5
5
  SHA512:
6
- metadata.gz: e4a4dc344fcfe38993cc1ba0f88bc9c4eac5883bbeadfeafa5c5fea182c426ce059f24a774b6ac5b8fc9e90eed7bb0dbc71a37d74a1f5a68f93bf750b0be457a
7
- data.tar.gz: 7137b1499ecf59cb76ad21ef4956838dbfa10ca45c2d64d278ee1976a92a62e982753fafb895f3a2905d7c3f12df34817f68f0813c661dfad48446af16df8d1d
6
+ metadata.gz: 37869a7cd4468fed50f4e1f7ee4e3b2ff5f886faff91993c46b82cd68ac52222d42fea95b1151bec34e343352aae269ead46f3c3b3e86f0b9b336d6f82817477
7
+ data.tar.gz: 9694fd6e67dfd02fea7ef9192ddcfa60edbc4c747b087e96ec3544c3ad9e6e2826e305f577ad435ea2280e103269b5376e4645b5d40ef7c7eedbe977e21eb5a5
@@ -3,6 +3,19 @@
3
3
  :page-menu_position: 300
4
4
 
5
5
 
6
+
7
+ `jekyll-theme-endless` is a theme for the static site generator https://jekyllrb.com/[Jekyll].
8
+ The theme is ready to be used with posts written in https://asciidoctor.org/[AsciiDoc] using the
9
+ https://github.com/asciidoctor/jekyll-asciidoc[Jekyll AsciiDoc plugin].
10
+ The syntax of source code is highlighted using https://github.com/rouge-ruby/rouge/wiki/List-of-supported-languages-and-lexers[Rouge].
11
+
12
+ The repository of this Jekyll theme is located at:
13
+ https://gitlab.com/jekyll-theme-endless/jekyll-theme-endless.gitlab.io.
14
+ An example page using this theme can be viewed at: https://jekyll-theme-endless.gitlab.io.
15
+ The gem is published on https://rubygems.org/gems/jekyll-theme-endless.
16
+
17
+
18
+
6
19
  == Quicktstart for testing
7
20
 
8
21
  * Clone the repository
@@ -54,9 +67,13 @@ Here I describe available layouts, includes, sass and/or assets here.
54
67
  === Layouts
55
68
 
56
69
  `_layouts/html.html`::
70
+
57
71
  HTML boilerplate code used for all layouts.
58
72
 
73
+
59
74
  `_layouts/default.html`::
75
+ +
76
+ --
60
77
  Default website structure (menue, tag cloud, ...) used for pages and posts.
61
78
 
62
79
  Contains a *navigation bar* with a configurable brand-label.
@@ -93,15 +110,19 @@ disclaimer: >- # this means to ignore newlines until the next entry
93
110
  Therefore, many things (e.g. the support of AsciiDoc) are based on personal requirements.
94
111
  You are welcome to use the theme (at your own risk) and contribute to the development.
95
112
  ----
113
+ --
96
114
 
97
115
 
98
116
  `_layouts/page.html`::
117
+ +
118
+ --
99
119
  Layout of page-content.
100
120
 
101
121
  Start a new page in *AsciiDoc* by adding a file ending with `.adoc`.
102
122
  Do not forget the `page-`-prefix when setting page variables.
103
123
  Jekyll-AsciiDoc has an https://github.com/asciidoctor/jekyll-asciidoc#specifying-a-layout[auto-detection mechanism for the layout].
104
124
  Thus, you typically do not have to set the layout to `page` or `post`.
125
+
105
126
  [source, AsciiDoc]
106
127
  ----
107
128
  = Page title
@@ -123,21 +144,27 @@ layout: page
123
144
 
124
145
  Content
125
146
  ----
147
+ --
126
148
 
127
149
  `_layouts/page-postlist.html`::
128
150
  Layout of page-content with a list of blog posts at the end.
129
151
 
152
+
130
153
  `_layouts/page-tag.html`::
131
154
  Layout of pages containing a list of those posts being tagged with a given tag.
132
155
  This file is required by the `generate-tagpages`-plugin.
133
156
 
157
+
134
158
  `_layouts/post.html`::
159
+ +
160
+ --
135
161
  Layout of blog-posts.
136
162
 
137
163
  Start a new post in *AsciiDoc* by adding a file ending with `.adoc` to the `_posts/`-folder.
138
164
  Do not forget the `page-`-prefix when setting page variables.
139
165
  Jekyll-AsciiDoc has an https://github.com/asciidoctor/jekyll-asciidoc#specifying-a-layout[auto-detection mechanism for the layout].
140
166
  Thus, you typically do not have to set the layout to `page` or `post`.
167
+
141
168
  [source, AsciiDoc]
142
169
  ----
143
170
  = Page title
@@ -160,12 +187,15 @@ title: Page title
160
187
 
161
188
  Content
162
189
  ----
190
+ --
163
191
 
164
192
 
165
193
 
166
194
  === Includes
167
195
 
168
196
  `_includes/function_list-pages.html`::
197
+ +
198
+ --
169
199
  Generates the code containing links to each page.
170
200
  The text of the link is the title of the page.
171
201
 
@@ -177,15 +207,21 @@ The order of the links can be determined with the help of the page variable `men
177
207
  Pages with higher numbers appear on the left side of the menu.
178
208
  Pages with a negative value for `menu_label` will be hidden from the menu.
179
209
  This can be useful for your 404 page, which should be generated by Jekyll, but not visible in the menu.
210
+ --
211
+
180
212
 
181
213
  `_includes/function_list-posts.html`::
182
214
  Generates the code containing links to each blog-post.
183
215
  The text of the link is the title of the post.
184
216
 
217
+
185
218
  `_includes/function_tag-cloud.html`::
186
219
  Generates a tag cloud.
187
220
 
221
+
188
222
  `_includes/content_footer-usernames.html`::
223
+ +
224
+ --
189
225
  Creates a list of contact options based on provided usernames and addresses.
190
226
  The entries are preceded with the icons of (e.g.) the social network and are linked to the corresponding profile.
191
227
 
@@ -199,12 +235,16 @@ username_github: XXXX
199
235
  username_xing: XXXX
200
236
  username_linkedin: XXXX
201
237
  ----
238
+ --
239
+
202
240
 
203
241
  `_includes/function_tag-list.html`::
204
242
  Generates a formatted list of tags.
205
243
  This is e.g. used to display the tags of a blog post.
206
244
 
207
245
  `_includes/function_show-dates.html`::
246
+ +
247
+ --
208
248
  Show the creation date and (if present) the date a blog post was last edited.
209
249
  The date of the last edit can be configured by setting a value for the page-variable `lastedit`.
210
250
 
@@ -214,6 +254,8 @@ In AsciiDoc this would be e.g.:
214
254
  ----
215
255
  :page-lastedit: 2020-10-29
216
256
  ----
257
+ --
258
+
217
259
 
218
260
  `_includes/function_show-prev-next-navigation.html`::
219
261
  Displays links to the previous and the next post of your blog.
@@ -222,8 +264,9 @@ Displays links to the previous and the next post of your blog.
222
264
 
223
265
  === Plugins
224
266
 
225
- `_plugins/generate-tagpages.rb`
226
-
267
+ `_plugins/generate-tagpages.rb`::
268
+ +
269
+ --
227
270
  Generates a page for each tag listed in `site.tags`.
228
271
  The files created are by default named `tags/<tagname>/index.html`.
229
272
  The content is generated using the layout file `_layouts/page-tag.html`
@@ -240,7 +283,7 @@ tag_dir: post-for-tag
240
283
  # default: `Tag: `
241
284
  tag_title_prefix: "Posts tagged with: "
242
285
  ----
243
-
286
+ --
244
287
 
245
288
 
246
289
  === Styles
@@ -23,6 +23,19 @@ url: "" # the base hostname & protocol for your site, e.g. http://example.com
23
23
 
24
24
 
25
25
 
26
+ # AsciiDoc settings
27
+ asciidoctor:
28
+ attributes:
29
+ # Highlighting source code using rouge
30
+ # https://github.com/asciidoctor/jekyll-asciidoc#stylesheet-for-code-highlighting
31
+ # https://github.com/asciidoctor/jekyll-asciidoc/issues/221#issuecomment-526857488
32
+ source-highlighter: rouge
33
+ # Activate font-based admonition icons
34
+ # https://github.com/asciidoctor/jekyll-asciidoc#font-based-admonition-and-inline-icons
35
+ icons: font
36
+
37
+
38
+
26
39
  # Theme specific settings
27
40
  # Find example data in _data.yml of the theme repository.
28
41
  # Run `bundle exec jekyll serve --config _config.yml,_data.yml`
@@ -1,12 +1,18 @@
1
1
  <div class="row text-left">
2
2
  <div class="col">
3
3
  {% if page.next %}
4
- <a href="{{ page.next.url }}">&laquo; {{page.next.title}}</a>
4
+ <a href="{{ page.next.url }}">
5
+ <i class="fa fa-arrow-left d-md-none"></i>
6
+ <span class="d-none d-md-inline">&laquo; {{page.next.title}}</span>
7
+ </a>
5
8
  {% endif %}
6
9
  </div>
7
10
  <div class="col text-right">
8
11
  {% if page.previous %}
9
- <a href="{{ page.previous.url }}">{{page.previous.title}} &raquo;</a>
12
+ <a href="{{ page.previous.url }}">
13
+ <span class="d-none d-md-inline">{{page.previous.title}} &raquo;</span>
14
+ <i class="fa fa-arrow-right d-md-none"></i>
15
+ </a>
10
16
  {% endif %}
11
17
  </div>
12
18
  </div>
@@ -64,8 +64,16 @@ Assumption: Non of the tags occurs more than one million times.
64
64
  {% endcomment %}
65
65
 
66
66
  {% assign number = site.tags[tag] | size %}
67
- {% assign percent = number | times: 1.0 | minus: min | times: sizeDifference | divided_by: steps | plus: 100 %}
68
- {% assign tagname = tag | replace:'-', ' ' %}
67
+ {% comment %}
68
+ Tags that only occur once, should be displayed smaller than 100% in the tag cloud.
69
+ {% endcomment %}
70
+ {% if number == 1 %}
71
+ {% assign percent = 65 %}
72
+ {% else %}
73
+ {% assign percent = number | times: 1.0 | minus: min | times: sizeDifference | divided_by: steps | plus: 100 %}
74
+ {% endif %}
75
+
76
+ {% assign tagname = tag %}
69
77
 
70
78
  <a
71
79
  href = "/{{ site.tag_dir | default: 'tags' }}/{{ tag }}"
@@ -9,6 +9,10 @@ page.tag and page.title are set by the plugin `generate-taglist`.
9
9
  <h1>{{ page.title }}</h1>
10
10
  {% endif %}
11
11
 
12
+ <p>
13
+ Number of posts tagged with "<em>{{ page.tag }}</em>": <strong>{{ site.tags[ page.tag ] | size }}</strong>
14
+ </p>
15
+
12
16
  <ul>
13
17
  {% for post in site.tags[ page.tag ] %}
14
18
 
@@ -0,0 +1,51 @@
1
+ div.admonitionblock {
2
+ border-radius: 5px;
3
+ box-shadow: 0 1px 4px #aaa;
4
+ background: #fff;
5
+ color: #111;
6
+ }
7
+ .admonitionblock table {
8
+ background-color: transparent;
9
+ width: 100%;
10
+ td {
11
+ padding: .75em .25em;
12
+ }
13
+ }
14
+ /* See:
15
+ * https://github.com/asciidoctor/jekyll-asciidoc#font-based-admonition-and-inline-icons
16
+ */
17
+ span.icon>.fa {
18
+ cursor: default;
19
+ }
20
+ .admonitionblock td.icon {
21
+ text-align: center;
22
+ width: 66px;
23
+
24
+ [class^="fa icon-"] {
25
+ font-size: 1.5em;
26
+ text-shadow: 1px 1px 2px rgba(0,0,0,.5);
27
+ cursor: default;
28
+ }
29
+ .icon-note:before {
30
+ content: "\f05a";
31
+ color: #19407c;
32
+ }
33
+ .icon-tip:before {
34
+ content: "\f0eb";
35
+ text-shadow: 1px 1px 2px rgba(155,155,0,.8);
36
+ color: #111;
37
+ }
38
+ .icon-warning:before {
39
+ content: "\f071";
40
+ color: #bf6900;
41
+ }
42
+ .icon-caution:before {
43
+ content: "\f06d";
44
+ color: #bf3400;
45
+ }
46
+ .icon-important:before {
47
+ content: "\f06a";
48
+ color: #bf0000;
49
+ }
50
+
51
+ }
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Images.
3
+ */
4
+ div.imageblock {
5
+ text-align: center;
6
+
7
+ img {
8
+ /* See also `img-fluid` class from Bootstrap. */
9
+ max-width: 100%;
10
+ height: auto;
11
+ background: #fff;
12
+ border: 1px solid #aaa;
13
+ padding: 10px 10px;
14
+ border-radius: 5px;
15
+ }
16
+ .title {
17
+ padding-top: .75rem;
18
+ padding-bottom: .75rem;
19
+ color: #6c757d;
20
+ }
21
+
22
+ }
23
+
@@ -0,0 +1,20 @@
1
+ dl{
2
+ dt {
3
+ margin-bottom: .3125em;
4
+ font-weight: bold;
5
+ }
6
+ dd {
7
+ margin-left: .5em;
8
+ padding-left: .5em;
9
+ margin-bottom: 1.25em;
10
+ border-left: 5px solid #dee2e6;
11
+ }
12
+ }
13
+
14
+ li {
15
+ p {
16
+ /* Reduce distance between list entries. */
17
+ margin-bottom: .25rem;
18
+ }
19
+ }
20
+
@@ -0,0 +1,48 @@
1
+ .quoteblock {
2
+ margin: 1em 1.5em;
3
+ font-style: italic;
4
+ color: rgba(0,0,0,.6);
5
+
6
+ & > .title {
7
+ margin-left: -1.5em;
8
+ margin-bottom: .75em;
9
+ font-weight: bold;
10
+ }
11
+
12
+ blockquote {
13
+ text-align: center;
14
+ background-color: #f8f8f8;
15
+
16
+ &::before, &::after {
17
+ font-size: 3em;
18
+ font-weight: bold;
19
+ line-height: .6em;
20
+ color: #721;
21
+ text-shadow: 0 1px 2px rgba(0,0,0,.1);
22
+ }
23
+ &::before {
24
+ content: "\201c";
25
+ float: left;
26
+ margin-left: -.6em;
27
+ }
28
+ &::after {
29
+ content: "\201d";
30
+ float: right;
31
+ margin-right: -.6em;
32
+ margin-top: -.6em;
33
+ }
34
+ }
35
+
36
+ .attribution {
37
+ margin-top: .5em;
38
+ margin-right: .5ex;
39
+ text-align: right;
40
+
41
+ cite {
42
+ display: block;
43
+ letter-spacing: -.025em;
44
+ font-size: .75em;
45
+ }
46
+ }
47
+
48
+ }
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Table blocks.
3
+ */
4
+ table.tableblock {
5
+
6
+ thead,
7
+ tfoot {
8
+ background: #e7e8e7;
9
+ font-weight: bold;
10
+ }
11
+
12
+ th.tableblock,
13
+ td.tableblock {
14
+ border: 0 solid #f00;
15
+ border: 0 solid #dedede;
16
+ padding: .5em .625em;
17
+ }
18
+
19
+ caption {
20
+ caption-side: top;
21
+ }
22
+
23
+ }
24
+
25
+ p.tableblock {
26
+ margin-bottom: 0;
27
+ }
28
+
29
+ table.grid-all {
30
+ th.tableblock,
31
+ td.tableblock {
32
+ border-width: 1px;
33
+ }
34
+ }
35
+
@@ -0,0 +1,14 @@
1
+ /*
2
+ * Applies to adminition blocks and table blocks
3
+ */
4
+ table {
5
+ background: #fff;
6
+ margin: .5em auto;
7
+ }
8
+
9
+ table tr.even,
10
+ table tr.alt,
11
+ table tr:nth-of-type(even) {
12
+ background: #f8f8f7;
13
+ }
14
+
@@ -0,0 +1,73 @@
1
+ /*
2
+ * Based on "Manni" from https://github.com/jwarby/jekyll-pygments-themes
3
+ */
4
+
5
+ .highlight {
6
+ @at-root pre#{&} {
7
+ -moz-tab-size: 2;
8
+ tab-size: 2;
9
+ background-color: #f8f8f8;
10
+ padding: .5em 1em;
11
+ }
12
+ .hll { background-color: #ffffcc }
13
+ .c { color: #080; font-style: italic } /* Comment */
14
+ .err { color: #AA0000; background-color: #FFAAAA } /* Error */
15
+ .k { color: #006699; font-weight: bold } /* Keyword */
16
+ .o { color: #555555 } /* Operator */
17
+ .cm { color: #080; font-style: italic } /* Comment.Multiline */
18
+ .cp { color: #08F } /* Comment.Preproc */
19
+ .c1 { color: #080; font-style: italic } /* Comment.Single */
20
+ .cs { color: #08F; font-weight: bold; font-style: italic } /* Comment.Special */
21
+ .gd { background-color: #FFCCCC; border: 1px solid #CC0000 } /* Generic.Deleted */
22
+ .ge { font-style: italic } /* Generic.Emph */
23
+ .gr { color: #FF0000 } /* Generic.Error */
24
+ .gh { color: #003300; font-weight: bold } /* Generic.Heading */
25
+ .gi { background-color: #CCFFCC; border: 1px solid #00CC00 } /* Generic.Inserted */
26
+ .go { color: #AAAAAA } /* Generic.Output */
27
+ .gp { color: #000099; font-weight: bold } /* Generic.Prompt */
28
+ .gs { font-weight: bold } /* Generic.Strong */
29
+ .gu { color: #003300; font-weight: bold } /* Generic.Subheading */
30
+ .gt { color: #99CC66 } /* Generic.Traceback */
31
+ .kc { color: #006699; font-weight: bold } /* Keyword.Constant */
32
+ .kd { color: #006699; font-weight: bold } /* Keyword.Declaration */
33
+ .kn { color: #006699; font-weight: bold } /* Keyword.Namespace */
34
+ .kp { color: #006699 } /* Keyword.Pseudo */
35
+ .kr { color: #006699; font-weight: bold } /* Keyword.Reserved */
36
+ .kt { color: #007788; font-weight: bold } /* Keyword.Type */
37
+ .m { color: #FF6600 } /* Literal.Number */
38
+ .s { color: #CC3300 } /* Literal.String */
39
+ .na { color: #330099 } /* Name.Attribute */
40
+ .nb { color: #336666 } /* Name.Builtin */
41
+ .nc { color: #00AA88; font-weight: bold } /* Name.Class */
42
+ .no { color: #336600 } /* Name.Constant */
43
+ .nd { color: #9999FF } /* Name.Decorator */
44
+ .ni { color: #999999; font-weight: bold } /* Name.Entity */
45
+ .ne { color: #CC0000; font-weight: bold } /* Name.Exception */
46
+ .nf { color: #CC00FF } /* Name.Function */
47
+ .nl { color: #9999FF } /* Name.Label */
48
+ .nn { color: #00CCFF; font-weight: bold } /* Name.Namespace */
49
+ .nt { color: #330099; font-weight: bold } /* Name.Tag */
50
+ .nv { color: #003333 } /* Name.Variable */
51
+ .ow { color: #000000; font-weight: bold } /* Operator.Word */
52
+ .w { color: #bbbbbb } /* Text.Whitespace */
53
+ .mf { color: #FF6600 } /* Literal.Number.Float */
54
+ .mh { color: #FF6600 } /* Literal.Number.Hex */
55
+ .mi { color: #FF6600 } /* Literal.Number.Integer */
56
+ .mo { color: #FF6600 } /* Literal.Number.Oct */
57
+ .sb { color: #CC3300 } /* Literal.String.Backtick */
58
+ .sc { color: #CC3300 } /* Literal.String.Char */
59
+ .sd { color: #CC3300; font-style: italic } /* Literal.String.Doc */
60
+ .s2 { color: #CC3300 } /* Literal.String.Double */
61
+ .se { color: #CC3300; font-weight: bold } /* Literal.String.Escape */
62
+ .sh { color: #CC3300 } /* Literal.String.Heredoc */
63
+ .si { color: #AA0000 } /* Literal.String.Interpol */
64
+ .sx { color: #CC3300 } /* Literal.String.Other */
65
+ .sr { color: #33AAAA } /* Literal.String.Regex */
66
+ .s1 { color: #CC3300 } /* Literal.String.Single */
67
+ .ss { color: #FFCC33 } /* Literal.String.Symbol */
68
+ .bp { color: #336666 } /* Name.Builtin.Pseudo */
69
+ .vc { color: #003333 } /* Name.Variable.Class */
70
+ .vg { color: #003333 } /* Name.Variable.Global */
71
+ .vi { color: #003333 } /* Name.Variable.Instance */
72
+ .il { color: #FF6600 } /* Literal.Number.Integer.Long */
73
+ }
@@ -0,0 +1,8 @@
1
+ /*
2
+ * Styles of structuring elements.
3
+ */
4
+ h2 {
5
+ padding-top: 1em;
6
+ }
7
+
8
+
@@ -6,6 +6,7 @@
6
6
 
7
7
  li {
8
8
  display: inline;
9
+ line-height: 1;
9
10
  }
10
11
  /* Every tag in the tag cloud should have a point as a separator. */
11
12
  li::after {
@@ -11,6 +11,22 @@
11
11
  @import "address";
12
12
  @import "tag-cloud";
13
13
  @import "posts";
14
+ @import "structure";
15
+
16
+ /*
17
+ * import styles for highlighting source code that was annotated using rouge.
18
+ */
19
+ @import "rouge-highlight";
20
+
21
+ /*
22
+ * import styles for AsciiDoc.
23
+ */
24
+ @import "adoc";
25
+ @import "adoc-admonition";
26
+ @import "adoc-tables";
27
+ @import "adoc-lists";
28
+ @import "adoc-quote";
29
+ @import "adoc-images";
14
30
 
15
31
  /*
16
32
  * import SCSS-Code contributed by the user of the theme.
@@ -1,5 +1,5 @@
1
1
  module Jekyll
2
2
  module Endless
3
- VERSION = '0.4.0'
3
+ VERSION = '0.7.0'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-theme-endless
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sven Boekhoff
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-10-29 00:00:00.000000000 Z
11
+ date: 2020-11-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -48,11 +48,20 @@ files:
48
48
  - _layouts/page.html
49
49
  - _layouts/post.html
50
50
  - _sass/address.scss
51
+ - _sass/adoc-admonition.scss
52
+ - _sass/adoc-images.scss
53
+ - _sass/adoc-lists.scss
54
+ - _sass/adoc-quote.scss
55
+ - _sass/adoc-tables.scss
56
+ - _sass/adoc.scss
51
57
  - _sass/background.scss
52
58
  - _sass/posts.scss
59
+ - _sass/rouge-highlight.scss
60
+ - _sass/structure.scss
53
61
  - _sass/tag-cloud.scss
54
62
  - _sass/user.scss
55
63
  - assets/css/main.scss
64
+ - assets/images/tree-3822149_640.jpg
56
65
  - lib/jekyll-theme-endless.rb
57
66
  - lib/jekyll-theme-endless/generate-tagpages.rb
58
67
  - lib/jekyll-theme-endless/version.rb