jscom_ice 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +17 -1
  3. data/_includes/carousel.html +15 -0
  4. data/_includes/contact-me-form.html +64 -0
  5. data/_includes/embed-audio.html +4 -0
  6. data/_includes/footer.html +11 -0
  7. data/_includes/header.html +165 -0
  8. data/_includes/john_landing.html +9 -0
  9. data/_includes/navbar.html +47 -0
  10. data/_includes/post_navigation.html +20 -0
  11. data/_includes/posts.html +33 -0
  12. data/_includes/scripts.html +16 -0
  13. data/_includes/tags.html +22 -0
  14. data/_includes/yearly_content.html +19 -0
  15. data/_layouts/default.html +38 -0
  16. data/_layouts/home.html +13 -0
  17. data/_layouts/lore.html +19 -0
  18. data/_layouts/page.html +15 -0
  19. data/_layouts/post.html +48 -0
  20. data/_sass/base/_base.scss +164 -0
  21. data/_sass/component/_all-components.scss +11 -0
  22. data/_sass/component/_author.scss +37 -0
  23. data/_sass/component/_carousel.scss +17 -0
  24. data/_sass/component/_code.scss +25 -0
  25. data/_sass/component/_codeblock.scss +32 -0
  26. data/_sass/component/_contact.scss +9 -0
  27. data/_sass/component/_form.scss +42 -0
  28. data/_sass/component/_highlight.scss +164 -0
  29. data/_sass/component/_navbar.scss +77 -0
  30. data/_sass/component/_post-navigation.scss +40 -0
  31. data/_sass/component/_posts.scss +36 -0
  32. data/_sass/component/_table.scss +19 -0
  33. data/_sass/layout/_footer.scss +20 -0
  34. data/_sass/layout/_layout.scss +104 -0
  35. data/_sass/main.scss +68 -0
  36. data/_sass/pages/_home.scss +5 -0
  37. data/_sass/pages/_page.scss +20 -0
  38. data/_sass/pages/_post.scss +57 -0
  39. data/assets/css/bootstrap.css.map +1 -0
  40. data/assets/css/bootstrap.min.css +6 -0
  41. data/assets/css/style.scss +4 -0
  42. data/assets/js/bootstrap.js +3894 -0
  43. data/assets/js/bootstrap.js.map +1 -0
  44. data/assets/js/bootstrap.min.js +7 -0
  45. data/assets/js/bootstrap.min.js.map +1 -0
  46. data/assets/js/jquery-3.7.0.min.js +2 -0
  47. data/assets/js/popper.min.js +6 -0
  48. metadata +47 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 425c30a81e6cecf8d4b51d8c5fcee33eeace881a419d41c8560296afd1910329
4
- data.tar.gz: 3cb1ca9d82a1a83397e8a47bec4ee611e0da624242dcfce91ba5b10cb798c459
3
+ metadata.gz: d4e9f9214e09092b7a94a193b13bde713f0fc48d7b8643badfcd535330c91d7c
4
+ data.tar.gz: a6eba41280d49bf1901052ae3fef27216f1ab6862b3b872221c52be69a2a727b
5
5
  SHA512:
6
- metadata.gz: 3550e54a530e1f045b8e080d8f956b05b726f03e22bfb227655b07ef3d73bb43baabe39c2d2c19472e649dee62d8c87a459d35d5a9342c1894f06542acf2aa38
7
- data.tar.gz: f352266a8c0a768917f89c2b156be610f42eaf258006880b1d419b80ac68ec996edce7539ac97677aa40e0ed7adca7ad9eeee5980b8dc97beaec676cdfe75db8
6
+ metadata.gz: dd4b36109e0758c3c56562c64935931e8cac11dd9fa97b5655307f735f32702e69f85e607312cd23e69e158d5ce826759dbf1a4755c66bff6f1687d814a60780
7
+ data.tar.gz: feaf2f875112cc7745daa7ac505e5c31eb69bc06ab3f73d188c6e67cc34e5dfb79f750d0902bf5ef3be38e054418496ee0bc6c6ba163b5371a2081c4aa14fb22
data/README.md CHANGED
@@ -1,2 +1,18 @@
1
1
  # jscom-ice
2
- Theme for johnsosoka.com
2
+
3
+ A Jekyll theme for (johnsosoka.com)[https://johnsosoka.com]
4
+
5
+ **NOTE:** This repository and theme are open source, but not meant for public consumption. If you would like to use this
6
+ theme, please fork the repository and make any changes you would like.
7
+
8
+ ## Usage
9
+
10
+ 1. Download the gem from github
11
+ 2. manually install the gem `$ gem install ./jscom-ice-0.0.1.gem`
12
+
13
+ ## Local Development
14
+
15
+ 1. Make changes to the theme
16
+ 2. build the gem `$ gem build jscom_ice_theme.gemspec`
17
+ 3. Install the gem `$ gem install ./jscom-ice-0.0.1.gem`
18
+ 4. Update the Gemfile to use the local gem
@@ -0,0 +1,15 @@
1
+ <div id="carouselExampleIndicators" class="carousel slide" data-ride="carousel">
2
+ <div class="carousel-inner">
3
+ {% for image in include.images %}
4
+ <div class="carousel-item {% if forloop.first %}active{% endif %}" data-interval="4000">
5
+ <img class="d-block w-100" src="{{ image }}" alt="Slide {{ forloop.index }}">
6
+ </div>
7
+ {% endfor %}
8
+ </div>
9
+ <a class="carousel-control-prev" href="#carouselExampleIndicators" role="button" data-slide="prev">
10
+ <span class="carousel-control-prev-icon" aria-hidden="true"></span>
11
+ </a>
12
+ <a class="carousel-control-next" href="#carouselExampleIndicators" role="button" data-slide="next">
13
+ <span class="carousel-control-next-icon" aria-hidden="true"></span>
14
+ </a>
15
+ </div>
@@ -0,0 +1,64 @@
1
+ <div class="container-fluid mt-5">
2
+ <form id="contactMeForm">
3
+ <!-- Alert on Success/Failure -->
4
+ <div id="notification" class="alert mt-3" role="alert" style="display: none;"></div>
5
+ <div class="form-group">
6
+ <input type="text" class="form-control" id="name" name="user_name" placeholder="Name">
7
+ </div>
8
+ <div class="form-group">
9
+ <input type="email" class="form-control" id="mail" name="user_email" placeholder="Email">
10
+ </div>
11
+ <div class="form-group">
12
+ <textarea class="form-control" id="msg" name="user_message" placeholder="Message"></textarea>
13
+ </div>
14
+ <button type="button" class="btn btn-primary btn-block" id="contact_submit">Send your message</button>
15
+ </form>
16
+ </div>
17
+
18
+ <!-- TODO - this isn't working when using the scripts.html include ... -->
19
+ <script src="/assets/js/jquery-3.7.0.min.js"></script>
20
+
21
+ <script>
22
+ function submitContact(payload) {
23
+ $.ajax({
24
+ url : "{{ site.contact.api.url }}",
25
+ type: "POST",
26
+ dataType: "json",
27
+ data: payload,
28
+ success: function(data){
29
+ console.log(data);
30
+ $('#notification').addClass('alert-success').text('Message Sent!').show();
31
+ clearForm();
32
+ },
33
+ error: function(){
34
+ console.log("Error in the request");
35
+ $('#notification').addClass('alert-danger').text('Something went wrong :(').show();
36
+ }
37
+ });
38
+ }
39
+
40
+ function clearForm() {
41
+ $('#name').val('');
42
+ $('#mail').val('');
43
+ $('#msg').val('');
44
+ }
45
+
46
+
47
+ function buildPayload() {
48
+ var contactMePayload = {
49
+ contact_name : $('#name').val(),
50
+ contact_email : $('#mail').val(),
51
+ contact_message : $('#msg').val()
52
+ };
53
+
54
+ return JSON.stringify(contactMePayload);
55
+ }
56
+
57
+ $('#contact_submit').click(function() {
58
+ var payload = buildPayload();
59
+ console.log(payload);
60
+ submitContact(payload);
61
+ });
62
+ </script>
63
+
64
+ <!-- TODO - this isn't working with my self hosted jquery?? -->
@@ -0,0 +1,4 @@
1
+ <audio controls>
2
+ <source src="{{ include.src }}" type="audio/mpeg">
3
+ Your browser does not support the audio element.
4
+ </audio>
@@ -0,0 +1,11 @@
1
+ <footer class="footer bg-transparent mt-auto py-3 text-light">
2
+ <div class="container text-center">
3
+ {% for link in site.data.footer_links %}
4
+ <a class="mb-1 mx-2 footer_item" href="{{ link.url }}">{{ link.title }}</a>
5
+ {% endfor %}
6
+ </div>
7
+ <small class="copyright-text">
8
+ John Sosoka<br>
9
+ &copy; {{site.site_est_year}} - {{ site.time | date: "%Y" }}
10
+ </small>
11
+ </footer>
@@ -0,0 +1,165 @@
1
+ <head prefix="og: http://ogp.me/ns#">
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.0" />
5
+ <meta name="mobile-web-app-capable" content="yes" />
6
+ <meta name="apple-mobile-web-app-capable" content="yes" />
7
+ <meta name="application-name" content="{{ site.title }}" />
8
+ <meta name="apple-mobile-web-app-status-bar-style" content="#fff" />
9
+ <meta name="apple-mobile-web-app-title" content="{{ site.title }}" />
10
+ <title>
11
+ {% if page.title %}{{ page.title | escape }} - {{ site.title }}{% else %}{{
12
+ site.title | escape }}{% endif %}
13
+ </title>
14
+ <link
15
+ rel="alternate"
16
+ href="{{
17
+ page.url | remove: 'index.html' | remove: '.html' | absolute_url
18
+ }}"
19
+ hreflang="{{ site.lang }}"
20
+ />
21
+ <link
22
+ rel="canonical"
23
+ href="{{
24
+ page.url | remove: 'index.html' | remove: '.html' | absolute_url
25
+ }}"
26
+ />
27
+ {% if paginator.previous_page %}
28
+ <link
29
+ rel="prev"
30
+ href="{{
31
+ paginator.previous_page_path
32
+ | remove: 'index.html'
33
+ | remove: '.html'
34
+ }}"
35
+ />
36
+ {% endif %} {% if paginator.next_page %}
37
+ <link
38
+ rel="next"
39
+ href="{{
40
+ paginator.next_page_path
41
+ | remove: 'index.html'
42
+ | remove: '.html'
43
+ }}"
44
+ />
45
+ {% endif %}
46
+ <meta
47
+ name="description"
48
+ content="{{
49
+ page.description
50
+ | default: site.description
51
+ | strip_html
52
+ | normalize_whitespace
53
+ | truncate: 200
54
+ | escape
55
+ }}"
56
+ />
57
+ <meta name="referrer" content="no-referrer-when-downgrade" />
58
+ <meta
59
+ property="og:site_name"
60
+ content="{% if page.title %}{{ page.title | escape }} | {{
61
+ site.author.name
62
+ }}{% else %}{{ site.title | escape }}{% endif %}"
63
+ />
64
+ <meta
65
+ property="og:title"
66
+ content="{% if page.title %}{{ page.title | escape }} | {{
67
+ site.author.name
68
+ }}{% else %}{{ site.title | escape }}{% endif %}"
69
+ />
70
+ {% if page.location %}
71
+ <meta property="og:type" content="article" />
72
+ <meta
73
+ property="article:publisher"
74
+ content="https://web.facebook.com/{{ site.author.facebook }}"
75
+ />
76
+ {% else %}
77
+ <meta property="og:type" content="website" />
78
+ {% endif %}
79
+ <meta
80
+ property="og:url"
81
+ content="{{
82
+ page.url | remove: 'index.html' | remove: '.html' | absolute_url
83
+ }}"
84
+ />
85
+ <meta
86
+ property="og:description"
87
+ content="{{
88
+ page.description
89
+ | default: site.description
90
+ | strip_html
91
+ | normalize_whitespace
92
+ | truncate: 200
93
+ | escape
94
+ }}"
95
+ />
96
+ {% if page.image %}
97
+ <meta property="og:image" content="{{ page.image | absolute_url }}" />
98
+ {% else %}
99
+ <meta property="og:image" content="{{ site.og_image | absolute_url }}" />
100
+ {% endif %}
101
+ <meta property="og:image:width" content="640" />
102
+ <meta property="og:image:height" content="640" />
103
+ <meta name="twitter:card" content="summary" />
104
+ <meta
105
+ name="twitter:title"
106
+ content="{% if page.title %}{{ page.title | escape }} | {{
107
+ site.author.twitter
108
+ }}{% else %}{{ site.title | escape }}{% endif %}"
109
+ />
110
+ <meta
111
+ name="twitter:url"
112
+ content="{{
113
+ page.url | remove: 'index.html' | remove: '.html' | absolute_url
114
+ }}"
115
+ />
116
+ <meta name="twitter:site" content="@{{ site.author.twitter }}" />
117
+ <meta name="twitter:creator" content="@{{ site.author.twitter }}" />
118
+ <meta
119
+ name="twitter:description"
120
+ content="{{
121
+ page.description
122
+ | default: site.description
123
+ | strip_html
124
+ | normalize_whitespace
125
+ | truncate: 200
126
+ | escape
127
+ }}"
128
+ />
129
+ {% if page.image %}
130
+ <meta name="twitter:image" content="{{ page.image | absolute_url }}" />
131
+ {% else %}
132
+ <meta name="twitter:image" content="{{ site.image | absolute_url }}" />
133
+ {% endif %} {% feed_meta %}
134
+ <link
135
+ rel="apple-touch-icon"
136
+ sizes="180x180"
137
+ href="https://media.johnsosoka.com/old/favicons/apple-touch-icon.png"
138
+ />
139
+ <link
140
+ rel="icon"
141
+ type="image/png"
142
+ sizes="32x32"
143
+ href="https://media.johnsosoka.com/assets/favicons/favicon-32x32.png"
144
+ />
145
+ <link
146
+ rel="icon"
147
+ type="image/png"
148
+ sizes="16x16"
149
+ href="https://media.johnsosoka.com/assets/favicons/favicon-16x16.png"
150
+ />
151
+ <link
152
+ rel="icon"
153
+ type="image/png"
154
+ sizes="16x16"
155
+ href="https://media.johnsosoka.com/old/favicons/safari-pinned-tab.png"
156
+ />
157
+ <meta name="apple-mobile-web-app-title" content="johnsosoka.com" />
158
+ <meta name="application-name" content="johnsosoka.com" />
159
+ <meta name="msapplication-TileColor" content="#da532c" />
160
+ <meta name="theme-color" content="#2c2c2c" />
161
+ <link rel="stylesheet" href="/assets/css/bootstrap.min.css" />
162
+ <link rel="stylesheet" href="/assets/css/style.css" />
163
+
164
+
165
+ </head>
@@ -0,0 +1,9 @@
1
+ <div class="john-landing">
2
+ <img
3
+ class="author-avatar"
4
+ src="{{ site.author.avatar }}"
5
+ alt="{{ site.author.username }}"
6
+ />
7
+ <h2 class="author-name">{{ site.author.name }}</h2>
8
+ <p class="author-bio">{{ site.author.bio }}</p>
9
+ </div>
@@ -0,0 +1,47 @@
1
+ <nav class="navbar navbar-expand-lg navbar-dark bg-transparent fixed-top">
2
+ <a class="navbar-brand" href="#"></a>
3
+ <button class="navbar-toggler"
4
+ type="button" data-toggle="collapse"
5
+ data-target="#navbarNav"
6
+ aria-controls="navbarNav"
7
+ aria-expanded="false"
8
+ aria-label="Toggle navigation">
9
+ <span class="navbar-toggler-icon"></span>
10
+ </button>
11
+ <div class="collapse navbar-collapse justify-content-end" id="navbarNav">
12
+ <ul class="navbar-nav">
13
+ {%- assign url = page.url -%}
14
+ {%- assign menus = site.data.menus -%}
15
+ {%- if menus %}
16
+ {%- for menu in menus -%}
17
+ {%- if menu.subitems -%}
18
+ <li class="nav-item dropdown">
19
+ <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
20
+ {{ menu.title }}
21
+ </a>
22
+ <div class="dropdown-menu" aria-labelledby="navbarDropdown">
23
+ {%- for subitem in menu.subitems -%}
24
+ <a class="dropdown-item" href="{{ subitem.url }}">{{ subitem.title }}</a>
25
+ {%- endfor -%}
26
+ </div>
27
+ </li>
28
+ {%- else -%}
29
+ <li class="nav-item {% if url == menu.url %}active{% endif %}">
30
+ <a class="nav-link" href="{{ menu.url }}">{{ menu.title }}</a>
31
+ </li>
32
+ {%- endif -%}
33
+ {%- endfor -%}
34
+ {%- endif -%}
35
+ <li class="nav-item">
36
+ <a class="nav-link" href="/feed.xml">
37
+ <svg xmlns="http://www.w3.org/2000/svg" width="17" height="17" viewBox="0 0 512 512" fill="#ED812E">
38
+ <title>RSS</title>
39
+ <path d="M108.56,342.78a60.34,60.34,0,1,0,60.56,60.44A60.63,60.63,0,0,0,108.56,342.78Z"/>
40
+ <path d="M48,186.67v86.55c52,0,101.94,15.39,138.67,52.11s52,86.56,52,138.67h86.66C325.33,312.44,199.67,186.67,48,186.67Z"/>
41
+ <path d="M48,48v86.56c185.25,0,329.22,144.08,329.22,329.44H464C464,234.66,277.67,48,48,48Z"/>
42
+ </svg>
43
+ </a>
44
+ </li>
45
+ </ul>
46
+ </div>
47
+ </nav>
@@ -0,0 +1,20 @@
1
+ <div class="post-navigation">
2
+ <div class="row">
3
+ <div class="col text-left">
4
+ {% if page.previous %}
5
+ <a class="post-nav-item post-nav-prev" href="{{ page.previous | relative_url }}">
6
+ <div class="nav-arrow">Previous</div>
7
+ <span class="post-title">{{ page.previous.title }}</span>
8
+ </a>
9
+ {% endif %}
10
+ </div>
11
+ <div class="col text-right">
12
+ {% if page.next %}
13
+ <a class="post-nav-item post-nav-next" href="{{ page.next | relative_url }}">
14
+ <div class="nav-arrow">Next</div>
15
+ <span class="post-title">{{ page.next.title }}</span>
16
+ </a>
17
+ {% endif %}
18
+ </div>
19
+ </div>
20
+ </div>
@@ -0,0 +1,33 @@
1
+ <!--
2
+ This include will display recent posts of a specified category & number..
3
+
4
+ Parameters:
5
+ - category: The category of the posts to display.
6
+ - post_display_limit: The maximum number of posts to display.
7
+ - post_collection_title: The title to display above the list of posts.
8
+
9
+ Example Usage:
10
+ {% raw %}
11
+ {% include posts.html category="blog" post_display_limit=5 post_collection_title="Recent Blog Posts" %}
12
+ {% endraw %}
13
+
14
+ The above example would display the 5 most recent posts from the 'blog' category, with the title 'Recent Blog Posts'
15
+ above the list.
16
+
17
+ -->
18
+
19
+ <div class="posts-wrapper">
20
+ <!-- <h3 class="posts-item-note" aria-label="Recent Posts">{{ include.post_collection_title }}</h3>-->
21
+ {%- for post in site.categories[include.category] limit: include.post_display_limit -%}
22
+ <article class="post-item row">
23
+ <div class="col-md-3">
24
+ <span class="post-item-date">{{ post.date | date: "%b %d, %Y" }}</span>
25
+ </div>
26
+ <div class="col-md-9">
27
+ <span class="post-item-title">
28
+ <a href="{{ post.url }}">{{ post.title | escape }}</a>
29
+ </span>
30
+ </div>
31
+ </article>
32
+ {%- endfor -%}
33
+ </div>
@@ -0,0 +1,16 @@
1
+ <!--
2
+
3
+ Scripts that are loaded throughout the website
4
+
5
+ -->
6
+
7
+ <script src="/assets/js/jquery-3.7.0.min.js" defer="defer"></script>
8
+
9
+ <script src="/assets/js/bootstrap.min.js" defer="defer"></script>
10
+
11
+ <script src="/assets/js/popper.min.js"></script>
12
+
13
+ <script src="/assets/js/bootstrap.js"></script>
14
+
15
+ <!-- TODO contact form page & move this to more local include? (it's only needed on 1 page)-->
16
+ <!--<script src="/assets/js/contact.js"></script>-->
@@ -0,0 +1,22 @@
1
+ <div class="archive-tags">
2
+ <a class="tag-item" href="#">all</a>
3
+ {%- for tag in site.tags -%}
4
+ {% capture name %}{{ tag | first }}{% endcapture %}
5
+ <a class="tag-item" href="#{{name}}">{{ name }}</a>
6
+ {%- endfor -%}
7
+ </div>
8
+
9
+ <!-- TODO Dates / Titles aren't aligned -->
10
+
11
+ {%- for tag in site.tags -%}
12
+ {%- capture name -%}{{ tag | first }}{%- endcapture -%}
13
+ <h2 id="{{ name }}">{{ name | upcase }}</h2>
14
+ {%- for post in site.tags[name] -%}
15
+ <article class="post-item" id="results-container">
16
+ <span class="post-item-date">{{ post.date | date: "%b %d, %Y" }}</span>
17
+ <h3 class="post-item-title">
18
+ <a href="{{ post.url }}">{{ post.title | escape }}</a>
19
+ </h3>
20
+ </article>
21
+ {%- endfor -%}
22
+ {%- endfor -%}
@@ -0,0 +1,19 @@
1
+ <div class="posts-wrapper">
2
+ {%- for post in site.posts -%}
3
+ {%- capture current_year -%}{{ post.date | date: "%Y" }}{%- endcapture -%}
4
+ {%- unless current_year == previous_year -%}
5
+ <h1 class="posts-item-note" aria-label="Posts from {{ current_year }}">{{ current_year }}</h1>
6
+ {%- assign previous_year = current_year -%}
7
+ {%- endunless -%}
8
+ <article class="post-item row">
9
+ <div class="col-md-3">
10
+ <span class="post-item-date">{{ post.date | date: "%b %d, %Y" }}</span>
11
+ </div>
12
+ <div class="col-md-9">
13
+ <span class="post-item-title">
14
+ <a href="{{ post.url }}">{{ post.title | escape }}</a>
15
+ </span>
16
+ </div>
17
+ </article>
18
+ {%- endfor -%}
19
+ </div>
@@ -0,0 +1,38 @@
1
+ ---
2
+ ---
3
+ <!DOCTYPE html>
4
+ <html lang="{{ page.lang | default: site.lang | default: en }}" class="wrapper-2">
5
+ <head>
6
+ <meta charset="UTF-8">
7
+ <title>{{ page.title }}</title>
8
+ </head>
9
+ {% include header.html %}
10
+ <body>
11
+ <!-- Shared/Common Styles -->
12
+ <div class="container">
13
+ <header class="header row justify-content-center">
14
+ <div class="col-lg-8">
15
+ <!-- Site Navigation -->
16
+ {% include navbar.html %}
17
+ </div>
18
+ </header>
19
+
20
+ <main class="body row justify-content-center flex-grow-1">
21
+ <div class="col-lg-8">
22
+ <!-- Page Content -->
23
+ {{ content }}
24
+ </div>
25
+ </main>
26
+
27
+ <footer class="footer row justify-content-center">
28
+ <div class="col-lg-8">
29
+ <!-- Footer content -->
30
+ {% include footer.html %}
31
+ </div>
32
+ </footer>
33
+ </div>
34
+
35
+ <!-- Shared/Common Scripts -->
36
+ {% include scripts.html %}
37
+ </body>
38
+ </html>
@@ -0,0 +1,13 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <div class="wrapper home">
6
+ <main class="page-content d-flex justify-content-center align-items-center" aria-label="Content">
7
+ <div class="text-left">
8
+ {% include john_landing.html %}
9
+ {{ content }}
10
+ </div>
11
+ </main>
12
+ </div>
13
+
@@ -0,0 +1,19 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <body class="notransition">
6
+ <div class="wrapper">
7
+ <header class="header">
8
+ <h1 class="header-title center" itemprop="headline">{{ page.title | escape }}.</h1>
9
+ </header>
10
+ <main class="page-content" aria-label="Content">
11
+ {{ content }}
12
+ <script>
13
+ document.write('<a href="' + document.referrer + '">{{ site.lore_go_back_text }}</a>');
14
+ </script>
15
+ </main>
16
+
17
+ </div>
18
+ </body>
19
+
@@ -0,0 +1,15 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <body class="notransition">
6
+
7
+ <div class="wrapper page">
8
+ <header class="header">
9
+ <h1 class="header-title center" itemprop="headline">{{ page.title | escape }}.</h1>
10
+ </header>
11
+ <main class="flex-grow-1 page-content" aria-label="Content">
12
+ {{ content }}
13
+ </main>
14
+ </div>
15
+ </body>
@@ -0,0 +1,48 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <body class="notransition">
6
+
7
+ <div class="wrapper post">
8
+ <header class="header">
9
+ {% if page.tags and page.tags != empty %}
10
+ <div class="tags">
11
+ {% assign tags = page.tags %}
12
+ <span itemprop="keywords">
13
+ {% for tag in tags %}
14
+ <a class="tag"
15
+ href="/tags/#{{tag | downcase | slugify}}">{{tag | upcase }}</a>{% unless forloop.last %},{% endunless %}
16
+ {% endfor %}
17
+ </span>
18
+ </div>
19
+ {% endif %}
20
+ <h1 class="header-title text-left display-12" itemprop="headline">{{ page.title | escape }}.</h1>
21
+ </header>
22
+
23
+ <div class="header-subtitle">
24
+ <div class="row">
25
+ <div class="col text-right">
26
+ <span itemprop="author" itemscope itemtype="https://schema.org/Person">
27
+ <span itemprop="name">{{ site.author.name }}</span>
28
+ </span>
29
+ </div>
30
+ </div>
31
+ <div class="row">
32
+ <div class="col text-right">
33
+ <span itemprop="publishDate" datetime="{{ page.date | date_to_xmlschema }}" itemprop="datePublished">
34
+ {{ page.date | date: "%b %d, %Y" }}
35
+ </span>
36
+ </div>
37
+ </div>
38
+ </div>
39
+
40
+ <main class="flex-grow-1 page-content" aria-label="Content">
41
+ {{ content }}
42
+ </main>
43
+
44
+
45
+ </div>
46
+ {% include post_navigation.html %}
47
+ </body>
48
+