jekyll-theme-endless 0.11.2 → 0.12.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.
@@ -1,13 +1,13 @@
1
1
  <div class="text-right">
2
2
 
3
- <time class="created" datetime="{{ include.created | date_to_xmlschema }}">
3
+ <time class="created" datetime="{{ include.created | date_to_xmlschema }}" itemprop="datePublished">
4
4
  <span class="sr-only sr-only-focusable">created:</span>
5
5
  <strong title="date of creation">{{ include.created | date: "%b %-d, %Y" }}</strong>
6
6
  </time>
7
7
 
8
8
  {% if include.edited != "" and include.edited %}
9
9
  /
10
- <time class="edited" datetime="{{ include.edited | date_to_xmlschema }}">
10
+ <time class="edited" datetime="{{ include.edited | date_to_xmlschema }}" itemprop="dateModified">
11
11
  <span class="sr-only sr-only-focusable">edited:</span>
12
12
  <strong title="date of last edit">{{ include.edited | date: "%b %-d, %Y" }}</strong>
13
13
  </time>
@@ -1,19 +1,50 @@
1
- <div class="row text-left">
2
- <div class="col">
3
- {% if page.next %}
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>
8
- {% endif %}
9
- </div>
1
+ <div class="row">
2
+
3
+ <div class="col text-left">
4
+ {% if page.next %}
5
+ <div class="btn-group" role="group">
6
+ <!-- Arrow Button (always visible) -->
7
+ <a href="{{ page.next.url | relative_url }}" class="btn btn-secondary">
8
+ <i class="fa fa-arrow-left"></i>
9
+ </a>
10
+
11
+ <!-- Text Button -->
12
+ <a href="{{ page.next.url | relative_url }}" class="btn btn-light border-secondary text-left">
13
+ <!-- Short text on small screens -->
14
+ <span class="d-inline d-md-none">Newer Posts</span>
15
+ <!-- Full title on larger screens -->
16
+ {% comment %}
17
+ 'title' is not escaped, as the value should already be escaped by AsciiDoc through asciidocify.
18
+ {% endcomment %}
19
+ <span class="d-none d-md-inline">{{ page.next.title }}</span>
20
+ </a>
21
+ </div>
22
+ {% endif %}
23
+ </div>
24
+
25
+
26
+
10
27
  <div class="col text-right">
11
- {% if page.previous %}
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>
16
- {% endif %}
17
- </div>
28
+ {% if page.previous %}
29
+ <div class="btn-group" role="group">
30
+ <!-- Text Button -->
31
+ <a href="{{ page.previous.url | relative_url }}" class="btn btn-light border-secondary text-right">
32
+ <!-- Short text on small screens -->
33
+ <span class="d-inline d-md-none">Older Posts</span>
34
+ <!-- Full title on larger screens -->
35
+ {% comment %}
36
+ 'title' is not escaped, as the value should already be escaped by AsciiDoc through asciidocify.
37
+ {% endcomment %}
38
+ <span class="d-none d-md-inline">{{ page.previous.title }}</span>
39
+ </a>
40
+
41
+ <!-- Arrow Button (always visible) -->
42
+ <a href="{{ page.previous.url | relative_url }}" class="btn btn-secondary">
43
+ <i class="fa fa-arrow-right"></i>
44
+ </a>
45
+ </div>
46
+ {% endif %}
47
+ </div>
48
+
18
49
  </div>
19
50
 
@@ -76,17 +76,47 @@ Assumption: Non of the tags occurs more than one million times.
76
76
  {% assign tagname = tag %}
77
77
 
78
78
  <a
79
- href = "/{{ site.tag_dir | default: 'tags' }}/{{ tag }}"
79
+ {% comment %}
80
+ Here 'tag' Is NOT escaped, since the plugin generates
81
+ files for tag-pages using filenames with the unescaped tag.
82
+ {% endcomment %}
83
+ {% assign tag_dir = site.tag_dir | default: 'tags' %}
84
+ href="{{ '/' | append: tag_dir | append: '/' | append: tag | relative_url }}"
80
85
  style = "font-size: {{ percent }}%"
81
86
 
82
87
  {% if site.data.tag-description[tag].short %}
83
- title = "{{ site.data.tag-description[tag].short }} Number of posts with the tag '{{ tagname }}': {{ number }}"
88
+ {% if site.tag_show_description_in_tagcloud %}
89
+ {% comment %}
90
+ 'tagname' is escaped, assuming it does not contain special characters
91
+ that were already escaped by AsciiDocify, or, if special characters are present,
92
+ the tags were set unescaped through the Jekyll front matter.
93
+ 'tag-description' is escaped, since it is set in a data-file.
94
+ {% endcomment %}
95
+ title = "{{ site.data.tag-description[tag].short | escape }} Number of posts with the tag '{{ tagname | escape }}': {{ number }}"
96
+ {% else %}
97
+ {% comment %}
98
+ 'tagname' is escaped, assuming it does not contain special characters
99
+ that were already escaped by AsciiDocify, or, if special characters are present,
100
+ the tags were set unescaped through the Jekyll front matter.
101
+ {% endcomment %}
102
+ title = "Number of posts with the tag '{{ tagname | escape }}': {{ number }}"
103
+ {% endif %}
84
104
  {% else %}
85
105
  class = "no-tag-description"
86
- title = "Number of posts with the tag '{{ tagname }}': {{ number }}"
106
+ {% comment %}
107
+ 'tagname' is escaped, assuming it does not contain special characters
108
+ that were already escaped by AsciiDocify, or, if special characters are present,
109
+ the tags were set unescaped through the Jekyll front matter.
110
+ {% endcomment %}
111
+ title = "Number of posts with the tag '{{ tagname | escape }}': {{ number }}"
87
112
  {% endif %}
88
113
 
89
- >{{ tagname }}</a>
114
+ {% comment %}
115
+ 'tagname' is escaped, assuming it does not contain special characters
116
+ that were already escaped by AsciiDocify, or, if special characters are present,
117
+ the tags were set unescaped through the Jekyll front matter.
118
+ {% endcomment %}
119
+ >{{ tagname |escape }}</a>
90
120
  </li>
91
121
 
92
122
  {% endfor %}
@@ -4,12 +4,20 @@ Requires an array of tags beeing provided via the parameter `tags`.
4
4
  {% endcomment %}
5
5
  {% assign asize = include.tags | size %}
6
6
  {% if asize > 0 %}
7
+ {% comment %}
8
+ Generate a comma-separated keyword list from page.tags for the schema.org annotation of the blog post.
9
+ {% endcomment %}
10
+ <meta itemprop="keywords" content="{{ page.tags | join: ', ' | escape }}" />
7
11
  <ul class="list-inline">
8
12
  {% for current_tag in include.tags %}
9
- <li class="list-inline-item"><a
13
+ <li class="list-inline-item mx-0 my-0"><a
10
14
  class="badge badge-pill badge-secondary"
11
- href="/{{ site.tag_dir | default: 'tags' }}/{{ current_tag }}"
12
- >{{ current_tag }}</a></li>
15
+ {% comment %}
16
+ Here 'tag' Is NOT escaped, since the plugin generates
17
+ files for tag-pages with filenames using the unescaped tag.
18
+ {% endcomment %}
19
+ href="{{ '/' | append: site.tag_dir | default: 'tags' | append: '/' | append: current_tag | relative_url }}"
20
+ >{{ current_tag | escape }}</a></li>
13
21
  {% endfor %}
14
22
  </ul>
15
23
  {% endif %}
@@ -33,14 +33,20 @@ layout: html
33
33
 
34
34
  <!-- Page title -->
35
35
  {% if site.title or site.subtitle %}
36
- <div class="jumbotron border-bottom bg-light py-4">
36
+ <div class="jumbotron bg-light py-4">
37
37
  <div class="container">
38
38
 
39
39
  {% if site.title %}
40
+ {% comment %}
41
+ 'site.title' is intentionally not escaped to allow formatting with HTML.
42
+ {% endcomment %}
40
43
  <div class="h1">{{ site.title }}</div>
41
44
  {% endif %}
42
45
 
43
46
  {% if site.subtitle %}
47
+ {% comment %}
48
+ 'site.subtitle' is intentionally not escaped to allow formatting with HTML.
49
+ {% endcomment %}
44
50
  <div class="h2">{{ site.subtitle }}</div>
45
51
  {% endif %}
46
52
 
@@ -50,6 +56,13 @@ layout: html
50
56
 
51
57
 
52
58
 
59
+ <!-- Add specific content above the content secion. -->
60
+ <div class="container">
61
+ {% include container_start-of-main.html %}
62
+ </div>
63
+
64
+
65
+
53
66
  <!-- Page content -->
54
67
  <main class="container pt-4" style="flex-grow: 1;" aria-label="Content">
55
68
 
@@ -60,13 +73,9 @@ layout: html
60
73
  </div>
61
74
 
62
75
  <div class="col-lg-4 pb-5">
63
- <aside>
64
- <h3>Blog Navigation</h3>
65
-
66
- <!-- Tag-cloud -->
67
- {% include function_tag-cloud.html %}
68
-
69
- </aside>
76
+ {% include aside_navigation.html %}
77
+ {% include aside_info.html %}
78
+ {% include aside_more.html %}
70
79
  </div>
71
80
 
72
81
  </div>
@@ -75,8 +84,15 @@ layout: html
75
84
 
76
85
 
77
86
 
87
+ <!-- Add specific content below the content secion. -->
88
+ <div class="container">
89
+ {% include container_end-of-main.html %}
90
+ </div>
91
+
92
+
93
+
78
94
  <!-- Footer -->
79
- <footer class="footer border-top bg-light">
95
+ <footer class="footer bg-light">
80
96
  <div class="container">
81
97
 
82
98
  <div class="row">
@@ -84,14 +100,16 @@ layout: html
84
100
  <div class="col-lg-3 col-md-4 text-left py-3">
85
101
  <address>
86
102
  <div class="h4">Contact me:</div>
103
+
87
104
  {% include content_footer-usernames.html %}
105
+
88
106
  </address>
89
107
  </div>
90
108
 
91
109
  <div class="col-lg-6 col-md-5 text-left py-3">
92
110
  {% if site.disclaimer %}
93
111
  <h4>Disclaimer:</h4>
94
- {{ site.disclaimer }}
112
+ {{ site.disclaimer | escape }}
95
113
  {% endif %}
96
114
  </div>
97
115
 
@@ -99,12 +117,12 @@ layout: html
99
117
  <h4>Note:</h4>
100
118
  {% if site.copydate and site.author %}
101
119
  <p>
102
- &copy; {{ site.copydate }} by <em>{{ site.author }}</em>
120
+ &copy; {{ site.copydate | escape }} by <em>{{ site.author | escape }}</em>
103
121
  </p>
104
122
  {% endif %}
105
- <p>
106
- Powered by <a href="https://jekyll-theme-endless.gitlab.io/">jekyll-theme-endless</a>.
107
- </p>
123
+
124
+ {% include content_footer-powered-by.html %}
125
+
108
126
  </div>
109
127
 
110
128
  </div>
data/_layouts/html.html CHANGED
@@ -7,25 +7,51 @@
7
7
  <head>
8
8
  <meta charset="utf-8">
9
9
  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
10
+
11
+ {% if page.summary and page.summary != '' %}
12
+ <meta name="description" content="{{ page.summary | strip_html | normalize_whitespace | truncate: 160 }}">
13
+ {% endif %}
14
+ {% if site.author %}
15
+ <meta name="author" content="{{ site.author | escape_once }}">
16
+ {% endif %}
17
+ {% if page.tags %}
18
+ <meta name="keywords" lang="en" content="{{ page.tags | join: ', ' | escape }}">
19
+ {% endif %}
20
+
10
21
  <title>
22
+ {% comment %}
23
+ 'title' is not escaped, as the value should already be escaped by AsciiDoc through asciidocify.
24
+ HTML commands are removed because they have no effect in the title and
25
+ would otherwise be displayed as the commands themselves.
26
+ {% endcomment %}
11
27
  {{ page.title | default: page.menu_label | strip_html }}
12
28
  </title>
13
29
 
30
+ {% if site.use-cdn == true or site.use-cdn == nil %}
31
+ <!-- Load from CDN -->
14
32
  <!-- Font-awesome CSS: https://www.bootstrapcdn.com/fontawesome/ -->
15
33
  <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous">
16
34
  <!-- Bootstrap CSS -->
17
35
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/css/bootstrap.min.css" integrity="sha256-93wNFzm2GO3EoByj9rKZCwGjAJAwr0nujPaOgwUt8ZQ=" crossorigin="anonymous">
36
+ {% else %}
37
+ <!-- Load local versions -->
38
+ {% endif %}
18
39
 
19
40
  <!-- Theme CSS -->
20
- <link rel="stylesheet" href="/assets/css/main.css">
41
+ <link rel="stylesheet" href="{{ '/assets/css/main.css' | relative_url }}">
21
42
 
22
43
  </head>
23
44
  <body>
24
45
 
25
46
  {{ content }}
26
47
 
48
+ {% if site.use-cdn == true or site.use-cdn == nil %}
49
+ <!-- Load from CDN -->
27
50
  <script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.min.js" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
28
51
  <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/js/bootstrap.bundle.min.js" integrity="sha256-jXCJJT3KKcnNjZ3rfsabCj1EX4j2omR4xxm+H5CtywE=" crossorigin="anonymous"></script>
52
+ {% else %}
53
+ <!-- Load local versions -->
54
+ {% endif %}
29
55
 
30
56
  {% include container_end-of-document.html %}
31
57
 
@@ -1,23 +1,31 @@
1
1
  ---
2
- layout: default
2
+ layout: page
3
3
  menu_position: -10
4
4
  ---
5
5
  {% comment %}
6
6
  page.tag and page.title are set by the plugin `generate-taglist`.
7
7
  {% endcomment %}
8
- {% if page.title %}
9
- <h1>{{ page.title }}</h1>
10
- {% endif %}
11
8
 
12
9
  {% if site.data.tag-description[page.tag].short %}
13
- <p>
14
- In this blog, the tag <dfn>{{page.tag}}</dfn> is used with the meaning
15
- "<em>{{ site.data.tag-description[page.tag].short }}</em>".
16
- </p>
10
+ <p>
11
+ {% comment %}
12
+ 'tag' is escaped, assuming it does not contain special characters
13
+ that were already escaped by AsciiDocify, or, if special characters are present,
14
+ the tags were set unescaped through the Jekyll front matter.
15
+ 'tag-description' is escaped, since it is set in a data-file.
16
+ {% endcomment %}
17
+ In this blog, the tag <dfn>{{ page.tag | escape }}</dfn> is used with the meaning
18
+ "<em>{{ site.data.tag-description[page.tag].short | escape }}</em>".
19
+ </p>
17
20
  {% endif %}
18
21
 
19
22
  <p>
20
- Number of posts tagged with "<em>{{ page.tag }}</em>": <strong>{{ site.tags[ page.tag ] | size }}</strong>
23
+ {% comment %}
24
+ 'tag' is escaped, assuming it does not contain special characters
25
+ that were already escaped by AsciiDocify, or, if special characters are present,
26
+ the tags were set unescaped through the Jekyll front matter.
27
+ {% endcomment %}
28
+ Number of posts tagged with "<em>{{ page.tag | escape }}</em>": <strong>{{ site.tags[ page.tag ] | size }}</strong>
21
29
  </p>
22
30
 
23
31
  {% assign tag_posts = site.tags[page.tag] %}
data/_layouts/page.html CHANGED
@@ -1,12 +1,25 @@
1
1
  ---
2
2
  layout: default
3
3
  ---
4
+ <section>
5
+
4
6
  {% comment %}
5
7
  In Markdown pages, page.title is not filled.
6
8
  Either set `title` in the frontmater, or use a `# Heading` on the page.
7
9
  {% endcomment %}
8
10
  {% if page.title %}
9
- <h1>{{ page.title }}</h1>
11
+ {% comment %}
12
+ 'title' is not escaped, as the value should already be escaped by AsciiDoc through asciidocify.
13
+ {% endcomment %}
14
+ <h1>{{ page.title }}</h1>
10
15
  {% endif %}
11
16
 
17
+ <!-- Add specific content at the start of each page. -->
18
+ {% include container_start-of-page.html %}
19
+
12
20
  {{ content }}
21
+
22
+ <!-- Add specific content at the end of each page. -->
23
+ {% include container_end-of-page.html %}
24
+
25
+ </section>
data/_layouts/post.html CHANGED
@@ -1,24 +1,36 @@
1
1
  ---
2
2
  layout: default
3
3
  ---
4
- <article>
4
+ <article itemscope itemtype="http://schema.org/BlogPosting">
5
5
  <header>
6
6
 
7
- {% comment %}Show link to previous/next post.{% endcomment %}
8
- {% include function_show-prev-next-navigation.html %}
7
+ <div class="post-navigation-top">
8
+ {% comment %}Show link to previous/next post.{% endcomment %}
9
+ {% include function_show-prev-next-navigation.html %}
10
+ </div>
9
11
 
10
- {% comment %}Show dates of the post.{% endcomment %}
12
+ {% comment %}
13
+ Assign the edited date with fallback logic.
14
+ "page.lastedit" was the value used between version 0.4.0 und 0.12.0.
15
+ {% endcomment %}
16
+ {% assign edited_date = page.last_modified_at | default: page.lastedit | default: "" %}
17
+ {% comment %}
18
+ Show dates of the post.
19
+ {% endcomment %}
11
20
  {% include function_show-dates.html
12
21
  created = page.date
13
- edited = page.lastedit
22
+ edited = edited_date
14
23
  %}
15
24
 
16
25
  {% comment %}
17
- In Markdown posts, page.title defaults to parts of the filename.
18
- Thus, do not use `# Heading` in Blog posts, otherwise two H1-heading will appear.
26
+ In Markdown posts, page.title defaults to parts of the filename.
27
+ Thus, do not use `# Heading` in Blog posts, otherwise two H1-heading will appear.
19
28
  {% endcomment %}
20
29
  {% if page.title %}
21
- <h1>{{ page.title }}</h1>
30
+ {% comment %}
31
+ 'title' is not escaped, as the value should already be escaped by AsciiDoc through asciidocify.
32
+ {% endcomment %}
33
+ <h1 itemprop="headline">{{ page.title }}</h1>
22
34
  {% endif %}
23
35
 
24
36
  {% comment %}Show tags of the post.{% endcomment %}
@@ -28,12 +40,20 @@ layout: default
28
40
 
29
41
  </header>
30
42
 
31
- <div>
43
+ <!-- Add specific content at the start of each post. -->
44
+ {% include container_start-of-post.html %}
45
+
46
+ <div class="post-content" itemprop="articleBody">
32
47
  {{ content }}
33
48
  </div>
34
49
 
35
- {% comment %}Show link to previous/next post.{% endcomment %}
36
- {% include function_show-prev-next-navigation.html %}
50
+ <div class="post-navigation-bottom">
51
+ {% comment %}Show link to previous/next post.{% endcomment %}
52
+ {% include function_show-prev-next-navigation.html %}
53
+ </div>
54
+
55
+ <!-- Add specific content at the end of each post. -->
56
+ {% include container_end-of-post.html %}
37
57
 
38
58
  </article>
39
59
 
@@ -1,7 +1,6 @@
1
1
  ---
2
- layout: default
2
+ layout: page
3
3
  ---
4
- <h1>{{ page.title }}</h1>
5
4
 
6
5
  {{ content }}
7
6
 
@@ -42,7 +41,26 @@ layout: default
42
41
  {% endfor %}
43
42
 
44
43
 
45
- <h3>Overview</h3>
44
+
45
+ <h3>Versions</h3>
46
+ <ul>
47
+ <li>Built with <a href ="https://jekyllrb.com">Jekyll</a> {{ jekyll.version }}.</li>
48
+ {% comment %}
49
+
50
+ https://jekyllrb.com/docs/variables/#theme-variables
51
+
52
+ <li>Theme version: {{ theme.version }}</li>
53
+
54
+ theme.version does not seem to be available
55
+
56
+ <li>Theme version: {{ theme.version | inspect }}</li>
57
+
58
+ {% endcomment %}
59
+ </ul>
60
+
61
+
62
+
63
+ <h3>Content statistics</h3>
46
64
 
47
65
  {% comment %}
48
66
  Bei Änderungen auch den entsprechenden Blog-Eintrag vom 28.10.2020 anpassen!
@@ -81,6 +99,7 @@ Bei Änderungen auch den entsprechenden Blog-Eintrag vom 28.10.2020 anpassen!
81
99
  {% endif %}
82
100
 
83
101
 
102
+
84
103
  {% assign number_twd = tags_without_description | size %}
85
104
  {% if number_twd > 0 %}
86
105
  <h3>Tags without description</h3>
data/_sass/adoc-code.scss CHANGED
@@ -25,4 +25,30 @@
25
25
  display: none;
26
26
  }
27
27
 
28
+ /*
29
+ * Ensure that code annotation symbols are not selected along with the code.
30
+ */
31
+ i.conum, i.conum + b {
32
+ user-select: none;
33
+ }
34
+
35
+ i.conum + b {
36
+ display: none; // Hides the <b> element
37
+ }
38
+
39
+ i.conum::after {
40
+ content: attr(data-value); // Displays the value of data-value in the <i> element
41
+ font-weight: bold; // Optional: for bold styling if desired
42
+
43
+ display: inline-block; // Enables circular styling
44
+ background-color: #f0f0f0; // Light gray background
45
+ border: 1px solid #555; // Thin dark gray border
46
+ border-radius: 50%; // Rounds the element into a circle
47
+ padding: 2px 6px; // Adjusts spacing for a circular shape
48
+ text-align: center; // Centers the text in the circle
49
+ line-height: 1; // Ensures the character is vertically centered
50
+ margin: 0 .5em;
51
+ }
52
+
53
+
28
54
 
data/_sass/posts.scss CHANGED
@@ -14,3 +14,15 @@ time {
14
14
  }
15
15
  }
16
16
  }
17
+
18
+ div.post-navigation-top {
19
+ border-bottom: 3px dotted #dee2e6;
20
+ padding-bottom: 1em;
21
+ margin-bottom: 1em;
22
+ }
23
+
24
+ div.post-navigation-bottom {
25
+ border-top: 3px dotted #dee2e6;
26
+ padding-top: 1em;
27
+ margin-top: 5em;
28
+ }
@@ -6,8 +6,10 @@
6
6
  @at-root pre#{&} {
7
7
  -moz-tab-size: 2;
8
8
  tab-size: 2;
9
- background-color: #f8f8f8;
9
+ background-color: white;
10
10
  padding: .5em 1em;
11
+ border: 1px solid #ccc;
12
+ border-radius: 4px;
11
13
  }
12
14
  .hll { background-color: #ffffcc }
13
15
  .c { color: #080; font-style: italic } /* Comment */
data/_sass/structure.scss CHANGED
@@ -1,8 +1,46 @@
1
1
  /*
2
2
  * Styles of structuring elements.
3
3
  */
4
- h2 {
5
- padding-top: 1em;
4
+ article, section {
5
+ h2, h3 {
6
+ padding-top: 1.5em;
7
+ }
6
8
  }
7
9
 
10
+ /*
11
+ * Main elements (boxes for content):
12
+ * * <section> for pages
13
+ * * <article> for posts
14
+ * * <aside> for blog navigation
15
+ */
16
+ aside, article, section {
17
+ color: #111;
18
+ padding: 1.3em;
19
+ margin-bottom: 3em;
20
+ border-radius: 10px;
21
+
22
+ background-color: #f8f9fa;
23
+ border: 1px solid #dee2e6;
24
+ box-shadow: 5px 5px 2px #6b6b6b82;
25
+
26
+ h3 {
27
+ margin-top: 0;
28
+ }
29
+ h4 {
30
+ margin-top: 1.5em;
31
+ margin-bottom: 0.25em;
32
+ ~ ul {
33
+ padding-left: 1.5em;
34
+ }
35
+ }
36
+ }
37
+
38
+
39
+ footer {
40
+ border-top: 4px solid #dee2e6;
41
+ padding: .5em 0 2em 0;
42
+ }
43
+ div.jumbotron {
44
+ border-bottom: 4px solid #dee2e6;
45
+ }
8
46
 
data/assets/css/main.scss CHANGED
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  # The frontmatter ensures that Jekyll reads the file and transforms it to CSS.
3
+ # See https://jekyllrb.com/docs/themes/#assets
3
4
  # Only main files contain this front matter, not partials that are placed in _scss.
4
5
  ---
5
6
 
@@ -24,6 +24,9 @@
24
24
  # See also: https://jekyllrb.com/docs/plugins/
25
25
  # See also: https://jekyllrb.com/docs/plugins/generators/
26
26
 
27
+ # Required to escape strings
28
+ require 'cgi'
29
+
27
30
  module Jekyll
28
31
 
29
32
  module Endless
@@ -69,12 +72,15 @@ module Jekyll
69
72
  @name = 'index.html'
70
73
 
71
74
  self.process(@name)
75
+ #puts "[DEBUG] Generating file in folder: #{dir}"
72
76
  self.read_yaml(File.join(base, '_layouts'), 'page-tag.html')
73
77
 
74
78
  # The prefix for the generated title is set via `tag_title_prefix` in `_config.yml` and defaults to `Tag: `
75
79
  tag_title_prefix = site.config['tag_title_prefix'] || 'Tag: '
76
80
  # Generates the title for the tag page and makes it available in the layout file as `page.title`
77
- self.data['title'] = "#{tag_title_prefix}#{tag}"
81
+ # Since AsciiDoc escapes the title, the plugin must also escape the content of the title (otherwise the tag would be unescaped).
82
+ self.data['title'] = CGI.escapeHTML("#{tag_title_prefix}#{tag}")
83
+ #puts "[DEBUG] Generating title for tag page: #{self.data['title']}"
78
84
  # Makes `page.tag` available in the layout file
79
85
  self.data['tag'] = tag
80
86
 
@@ -1,5 +1,5 @@
1
1
  module Jekyll
2
2
  module Endless
3
- VERSION = '0.11.2'
3
+ VERSION = '0.12.0'
4
4
  end
5
5
  end