jekyll-theme-morph 0.0.1
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 +7 -0
- data/LICENSE +21 -0
- data/README.md +189 -0
- data/_includes/bread-bar.html +9 -0
- data/_includes/catalogue.html +26 -0
- data/_includes/footer.html +7 -0
- data/_includes/head.html +37 -0
- data/_includes/header.html +45 -0
- data/_includes/paginator.html +27 -0
- data/_includes/post-info.html +31 -0
- data/_includes/simple-post-info.html +14 -0
- data/_includes/trending-article-item.html +25 -0
- data/_layouts/classify.html +55 -0
- data/_layouts/default.html +16 -0
- data/_layouts/home.html +82 -0
- data/_layouts/page.html +8 -0
- data/_layouts/post.html +84 -0
- data/_layouts/search.html +36 -0
- data/_sass/classify.scss +58 -0
- data/_sass/home.scss +67 -0
- data/_sass/morph.scss +7 -0
- data/_sass/morph/_base.scss +62 -0
- data/_sass/morph/_colors.scss +42 -0
- data/_sass/morph/_functions.scss +57 -0
- data/_sass/morph/_utilities.scss +196 -0
- data/_sass/morph/_variables.scss +50 -0
- data/_sass/morph/components/_catalogue.scss +68 -0
- data/_sass/morph/components/_footer.sass +9 -0
- data/_sass/morph/components/_header.scss +80 -0
- data/_sass/morph/components/_highlight.scss +66 -0
- data/_sass/morph/components/_nano-compo.scss +23 -0
- data/_sass/morph/components/_paginator.scss +19 -0
- data/_sass/morph/components/_post-info.scss +30 -0
- data/_sass/morph/themes/obsidian.scss +86 -0
- data/_sass/morph/themes/silver.scss +79 -0
- data/_sass/post.scss +194 -0
- data/_sass/search.scss +68 -0
- data/assets/javascript/post.js +52 -0
- data/assets/javascript/search.js +51 -0
- data/assets/style/classify.scss +4 -0
- data/assets/style/home.scss +4 -0
- data/assets/style/main.scss +4 -0
- data/assets/style/post.scss +5 -0
- data/assets/style/search.scss +4 -0
- metadata +156 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 824f1bfbd6e6a88dc64144e411aa9aa0fb711e097be9edb9f472e70f1f97afc6
|
4
|
+
data.tar.gz: a716a2a636568725f4b46d0587eff6e4d208a6c2f4926392f73944baaa6f7cf8
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: bf19731c4c0dee3c529087158014d15a75028f3a76c14b5373fac2729d2709e37a9d5b8c401dbea14bca99d0d4823b5fa68d4926870da0f5d29bb7ebfb6345d6
|
7
|
+
data.tar.gz: 1610002e66d44a6f3d8f101ab52825a3e866f16743cd7d4fab43b0335ae328bc07d477481018a2e4be03ea0d1c6bbd37c94382e8eae2a1a3aef11cfc33a85346
|
data/LICENSE
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
MIT License
|
2
|
+
|
3
|
+
Copyright (c) 2021 Alex
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
13
|
+
copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
21
|
+
SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,189 @@
|
|
1
|
+
# Morph
|
2
|
+
|
3
|
+
Morph is a simple Jekyll theme for writers.
|
4
|
+
|
5
|
+
[Demo](http://alex-1900.github.io/jekyll-theme-morph/)
|
6
|
+
|
7
|
+
## Installation
|
8
|
+
Install with github page:
|
9
|
+
|
10
|
+
### GitHub Pages
|
11
|
+
1. Add these 2 lines in to your `Gemfile`:
|
12
|
+
|
13
|
+
```ruby
|
14
|
+
gem "jekyll-remote-theme"
|
15
|
+
gem "jekyll-paginate"
|
16
|
+
```
|
17
|
+
|
18
|
+
2. Install the newly added gems:
|
19
|
+
|
20
|
+
```bash
|
21
|
+
$ bundle
|
22
|
+
```
|
23
|
+
|
24
|
+
3. In `_config.yml` add these lines:
|
25
|
+
|
26
|
+
```yaml
|
27
|
+
remote_theme: alex-1900/jekyll-theme-morph
|
28
|
+
|
29
|
+
permalink: /:year/:month/:day/:title.markdown
|
30
|
+
paginate: 5
|
31
|
+
|
32
|
+
plugins:
|
33
|
+
- jekyll-paginate
|
34
|
+
- jekyll-remote-theme
|
35
|
+
```
|
36
|
+
|
37
|
+
Remove any other `theme:` or `remote_theme:` lines.
|
38
|
+
|
39
|
+
4. Rename `index.md` to `index.html`. Without this, the `jekyll-paginate` gem will not work.
|
40
|
+
|
41
|
+
## Layouts
|
42
|
+
|
43
|
+
### Pinned articles
|
44
|
+
Add the `sticky` and `sticky_subtitle`(optional) field to post file, and you can find the article at pinned area.
|
45
|
+
```yml
|
46
|
+
---
|
47
|
+
sticky: true
|
48
|
+
sticky_subtitle: some words
|
49
|
+
---
|
50
|
+
```
|
51
|
+
|
52
|
+
### Add tags and categories page
|
53
|
+
1. create new pages `tags.html` and `categories.html` and add these lines to heads:
|
54
|
+
```html
|
55
|
+
---
|
56
|
+
layout: classify
|
57
|
+
source: tags
|
58
|
+
---
|
59
|
+
```
|
60
|
+
|
61
|
+
```text
|
62
|
+
---
|
63
|
+
layout: classify
|
64
|
+
source: categories
|
65
|
+
---
|
66
|
+
```
|
67
|
+
|
68
|
+
2. add these lines to your `_config.yml`:
|
69
|
+
```yml
|
70
|
+
morph:
|
71
|
+
pages:
|
72
|
+
- name: tags
|
73
|
+
path: /tags
|
74
|
+
- name: categories
|
75
|
+
path: /categories
|
76
|
+
```
|
77
|
+
|
78
|
+
and can see the `tags` and `categories` buttons now.
|
79
|
+
|
80
|
+
### Enable tags and categories sidebar
|
81
|
+
add these lines to your `_config.yml` in `morph` field:
|
82
|
+
```yml
|
83
|
+
morph:
|
84
|
+
include:
|
85
|
+
home_categories_bar:
|
86
|
+
title: Top Categories
|
87
|
+
path: /categories
|
88
|
+
home_tags_bar:
|
89
|
+
title: Top Tags
|
90
|
+
path: /tags
|
91
|
+
```
|
92
|
+
certainly, you can change the `titles` and `paths`
|
93
|
+
|
94
|
+
### Add searching page
|
95
|
+
1. create `search.json` at project root, and add these lines:
|
96
|
+
```text
|
97
|
+
---
|
98
|
+
layout: none
|
99
|
+
permalink: /search.json
|
100
|
+
---
|
101
|
+
[
|
102
|
+
{% for post in site.posts %}
|
103
|
+
{
|
104
|
+
"title" : {{ post.title | escape | jsonify }},
|
105
|
+
"category" : {{ post.category | jsonify }},
|
106
|
+
"tags" : "{{ post.tags | join: ', ' }}",
|
107
|
+
"url" : "{{ site.baseurl }}{{ post.url }}",
|
108
|
+
"date" : "{{ post.date }}",
|
109
|
+
"content" : {{ post.content | strip_html | strip_newlines | remove_chars | jsonify }}
|
110
|
+
} {% unless forloop.last %},{% endunless %}
|
111
|
+
{% endfor %}
|
112
|
+
]
|
113
|
+
```
|
114
|
+
|
115
|
+
2. create a new file `search.html`, and add these lines to head:
|
116
|
+
```html
|
117
|
+
---
|
118
|
+
layout: search
|
119
|
+
---
|
120
|
+
```
|
121
|
+
|
122
|
+
3. add change your `_config.yml` add a new page to `morph.pages`:
|
123
|
+
```yml
|
124
|
+
morph:
|
125
|
+
pages:
|
126
|
+
- name: tags
|
127
|
+
path: /tags
|
128
|
+
- name: categories
|
129
|
+
path: /categories
|
130
|
+
- name: search
|
131
|
+
path: /search
|
132
|
+
```
|
133
|
+
|
134
|
+
## Change the skin
|
135
|
+
There are two skins: `silver` (default) and `obsidian`, you can switching between multiple skins by `_config.yml`:
|
136
|
+
```yml
|
137
|
+
morph:
|
138
|
+
skin: obsidian
|
139
|
+
```
|
140
|
+
and rebuild or restart the dev server
|
141
|
+
|
142
|
+
## Multiple language
|
143
|
+
1. Create directory and file `__data/language/[lang].yml`(the `[lang]` is abbreviation of your language)
|
144
|
+
|
145
|
+
2. replace contents with another language, the following are the default values.
|
146
|
+
|
147
|
+
```yml
|
148
|
+
t:
|
149
|
+
posts: posts
|
150
|
+
tags_low: tags
|
151
|
+
tags_up: Tags
|
152
|
+
categories_low: categories
|
153
|
+
categories_up: Categories
|
154
|
+
about_low: about
|
155
|
+
about_up: About
|
156
|
+
search_low: search
|
157
|
+
search_up: Search
|
158
|
+
catalogue: Catalogue
|
159
|
+
home: Home
|
160
|
+
page: Page
|
161
|
+
post_up: Post
|
162
|
+
search_placeholder: input key words here...
|
163
|
+
update_time: Update time
|
164
|
+
pinned_articles: Pinned Articles
|
165
|
+
top_tags: Top Tags
|
166
|
+
top_categories: Top Categories
|
167
|
+
show_more: show more
|
168
|
+
catalogue_empty: Catalogue is empty
|
169
|
+
```
|
170
|
+
|
171
|
+
3 add your the `lang` item to your page files
|
172
|
+
```html
|
173
|
+
---
|
174
|
+
lang: [lang]
|
175
|
+
---
|
176
|
+
```
|
177
|
+
|
178
|
+
(the `[lang]` is abbreviation of your language)
|
179
|
+
|
180
|
+
- for posts page, you can change the defaults scope:
|
181
|
+
```yml
|
182
|
+
defaults:
|
183
|
+
- scope:
|
184
|
+
type: "posts"
|
185
|
+
values:
|
186
|
+
lang: [lang] # the `[lang]` is abbreviation of your language
|
187
|
+
```
|
188
|
+
|
189
|
+
and rebuild or restart the dev server
|
@@ -0,0 +1,9 @@
|
|
1
|
+
{% assign t = site.data.language[page.lang].t %}
|
2
|
+
<div class="component bread fw-bold user-select-none">
|
3
|
+
<span class="bg-primary"><a class="link-light" href="{{ '/' | site.baseurl }}">{{ t.home | default: 'Home' }}</a></span>
|
4
|
+
{% assign paths = include.paths | split: " " %}
|
5
|
+
{% for path in paths %}
|
6
|
+
<i class="fas fa-angle-right color-secondary"></i>
|
7
|
+
<span class="bg-primary color-secondary-light">{{ path }}</span>
|
8
|
+
{% endfor %}
|
9
|
+
</div>
|
@@ -0,0 +1,26 @@
|
|
1
|
+
{% assign t = site.data.language[page.lang].t %}
|
2
|
+
<div class="full-mask" id="full-mask-catalogue">
|
3
|
+
<div class="component catalogue m-auto">
|
4
|
+
<header class="header">
|
5
|
+
<h3 class="header-text text-center color-secondary bg-primary">{{ t.catalogue | default: 'Catalogue' }}</h3>
|
6
|
+
</header>
|
7
|
+
<ul class="body bg-base w-100" id="{{ include.list_id }}">
|
8
|
+
<!-- document structure list -->
|
9
|
+
<li class="text-center color-secondary">{{ t.catalogue_empty | default: 'Catalogue is empty' }}</li>
|
10
|
+
</ul>
|
11
|
+
</div>
|
12
|
+
</div>
|
13
|
+
<script>
|
14
|
+
(function () {
|
15
|
+
"use struct"
|
16
|
+
var fullMask = document.getElementById('full-mask-catalogue')
|
17
|
+
|
18
|
+
fullMask.onclick = function () {
|
19
|
+
fullMask.style.display = 'none'
|
20
|
+
}
|
21
|
+
|
22
|
+
window.comShowCatalogue = function () {
|
23
|
+
fullMask.style.display = 'block'
|
24
|
+
}
|
25
|
+
})()
|
26
|
+
</script>
|
@@ -0,0 +1,7 @@
|
|
1
|
+
<footer class="footer">
|
2
|
+
<div class="content m-auto color-secondary-light text-center">
|
3
|
+
© <time datetime="{{ site.time }}">{{ site.time | date: '%Y' }}</time>
|
4
|
+
{{ site.domain }}, all rights reserved {{ site.github_username }}
|
5
|
+
. Made with Jekyll using the <a target="_blank" href="https://github.com/alex-1900/jekyll-theme-morph">Morph</a> theme.
|
6
|
+
</div>
|
7
|
+
</footer>
|
data/_includes/head.html
ADDED
@@ -0,0 +1,37 @@
|
|
1
|
+
<meta charset="UTF-8">
|
2
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
3
|
+
|
4
|
+
{% seo %}
|
5
|
+
|
6
|
+
<!-- CSS -->
|
7
|
+
<link rel="stylesheet" href="{{ "/assets/style/main.css" | relative_url }}">
|
8
|
+
|
9
|
+
<!-- Favicon -->
|
10
|
+
<link rel="icon" type="image/png" sizes="32x32" href="{{ "/assets/favicon-32x32.png" | relative_url }}">
|
11
|
+
<link rel="icon" type="image/png" sizes="16x16" href="{{ "/assets/favicon-16x16.png" | relative_url }}">
|
12
|
+
<link rel="apple-touch-icon" sizes="180x180" href="{{ "/assets/apple-touch-icon.png" | relative_url }}">
|
13
|
+
<link href="https://cdn.bootcdn.net/ajax/libs/font-awesome/5.15.3/css/all.min.css" rel="stylesheet">
|
14
|
+
|
15
|
+
<!-- for layouts -->
|
16
|
+
{% if page.layout == 'post' %}
|
17
|
+
<link rel="stylesheet" href="{{ "/assets/style/post.css" | relative_url }}">
|
18
|
+
<script src="{{ "/assets/javascript/post.js" | relative_url }}"></script>
|
19
|
+
{% endif %}
|
20
|
+
|
21
|
+
<!-- for pages -->
|
22
|
+
{% if page.layout == 'search' %}
|
23
|
+
<link rel="stylesheet" href="{{ "/assets/style/search.css" | relative_url }}">
|
24
|
+
<script src="https://cdnjs.cloudflare.com/ajax/libs/simple-jekyll-search/1.9.2/simple-jekyll-search.min.js"></script>
|
25
|
+
<script src="{{ "/assets/javascript/search.js" | relative_url }}"></script>
|
26
|
+
{% endif %}
|
27
|
+
|
28
|
+
{% if page.layout == 'home' %}
|
29
|
+
<link rel="stylesheet" href="{{ "/assets/style/home.css" | relative_url }}">
|
30
|
+
{% endif %}
|
31
|
+
|
32
|
+
{% if page.layout == 'classify' %}
|
33
|
+
<link rel="stylesheet" href="{{ "/assets/style/classify.css" | relative_url }}">
|
34
|
+
{% endif %}
|
35
|
+
|
36
|
+
<!-- RSS -->
|
37
|
+
{% feed_meta %}
|
@@ -0,0 +1,45 @@
|
|
1
|
+
{% assign t = site.data.language[page.lang].t %}
|
2
|
+
<nav class="header w-100 bg-primary d-flex flex-column">
|
3
|
+
<div class="border-bottom" style="height: 65%;">
|
4
|
+
<div class="m-auto content h-100 d-flex">
|
5
|
+
<div class="logo user-select-none flex-none d-flex flex-column justify-content-center">
|
6
|
+
<a class="fw-bold" href="{{ '/' | prepend: site.baseurl }}">
|
7
|
+
{{ site.title }}
|
8
|
+
</a>
|
9
|
+
</div>
|
10
|
+
<div class="search-box flex-auto d-flex flex-column justify-content-center d-sm-none">
|
11
|
+
<form action="{{ '/search' | prepend: site.baseurl }}" id="header-search-form" class="search">
|
12
|
+
<label class="search-wrap d-flex flex-none">
|
13
|
+
<input name="words" class="search-input flex-grow-1" id="header-search-input" type="text" />
|
14
|
+
<button class="search-button cursor-pointer bg-base" type="submit">
|
15
|
+
<i class="fas fa-arrow-right"></i>
|
16
|
+
</button>
|
17
|
+
</label>
|
18
|
+
</form>
|
19
|
+
</div>
|
20
|
+
</div>
|
21
|
+
</div>
|
22
|
+
<div class="nav-bar bg-primary">
|
23
|
+
<div class="m-auto content">
|
24
|
+
<div>
|
25
|
+
<ul class="white-space-nowrap">
|
26
|
+
<li class="d-inline-block active"><a href="{{ '/' | prepend: site.baseurl }}">{{ t.posts | default: 'posts' }}</a></li>
|
27
|
+
{% for _page in site.morph.pages %}
|
28
|
+
<li class="d-inline-block"><a href="{{ _page.path | prepend: site.baseurl }}">{{ _page.name }}</a></li>
|
29
|
+
{% endfor %}
|
30
|
+
<li class="d-inline-block"><a href="{{ '/about' | prepend: site.baseurl }}">{{ t.about_low | default: 'about' }}</a></li>
|
31
|
+
</ul>
|
32
|
+
</div>
|
33
|
+
</div>
|
34
|
+
</div>
|
35
|
+
</nav>
|
36
|
+
|
37
|
+
<script>
|
38
|
+
var headerSearchForm = document.getElementById('header-search-form')
|
39
|
+
var headerSearchInput = document.getElementById('header-search-input')
|
40
|
+
headerSearchForm.onsubmit = function (event) {
|
41
|
+
event.preventDefault()
|
42
|
+
var words = headerSearchInput.value
|
43
|
+
window.location.href = headerSearchForm.action + '?words=' + encodeURIComponent(words)
|
44
|
+
}
|
45
|
+
</script>
|
@@ -0,0 +1,27 @@
|
|
1
|
+
<div>
|
2
|
+
{% if paginator.total_pages > 1 %}
|
3
|
+
<div class="pagination">
|
4
|
+
{% if paginator.previous_page %}
|
5
|
+
<a href="{{ paginator.previous_page_path | relative_url }}"><i class="fas fa-angle-left"></i></a>
|
6
|
+
{% else %}
|
7
|
+
<span><i class="fas fa-angle-left"></i></span>
|
8
|
+
{% endif %}
|
9
|
+
|
10
|
+
{% for page in (1..paginator.total_pages) %}
|
11
|
+
{% if page == paginator.page %}
|
12
|
+
<em>{{ page }}</em>
|
13
|
+
{% elsif page == 1 %}
|
14
|
+
<a href="{{ '/' | relative_url }}">{{ page }}</a>
|
15
|
+
{% else %}
|
16
|
+
<a href="{{ site.paginate_path | relative_url | replace: ':num', page }}">{{ page }}</a>
|
17
|
+
{% endif %}
|
18
|
+
{% endfor %}
|
19
|
+
|
20
|
+
{% if paginator.next_page %}
|
21
|
+
<a href="{{ paginator.next_page_path | relative_url }}"><i class="fas fa-angle-right"></i></a>
|
22
|
+
{% else %}
|
23
|
+
<span><i class="fas fa-angle-right"></i></span>
|
24
|
+
{% endif %}
|
25
|
+
</div>
|
26
|
+
{% endif %}
|
27
|
+
</div>
|
@@ -0,0 +1,31 @@
|
|
1
|
+
<div class="post-info">
|
2
|
+
<h3 class="fw-normal"><a class="color-link" href="{{ post.url | prepend: site.baseurl }}">{{ post.title }}</a></h3>
|
3
|
+
<div class="d-flex">
|
4
|
+
<span class="w-100 text-start">
|
5
|
+
<time datetime="{{ post.date }}" class="d-inline-block fw-light color-secondary-light">
|
6
|
+
<i class="far fa-calendar-alt color-rang1"></i> {{ post.date | date: "%b %d, %y" }}
|
7
|
+
</time>
|
8
|
+
|
9
|
+
<time datetime="{{ post.date }}" class="d-inline-block fw-light color-secondary-light">
|
10
|
+
<i class="far fa-clock color-rang2"></i> {{ post.date | date: "%H:%M" }}
|
11
|
+
</time>
|
12
|
+
</span>
|
13
|
+
<span class="w-100 text-end">
|
14
|
+
{% if include.sticky == 'true' %}
|
15
|
+
<i class="fas fa-thumbtack color-gray-400"></i>
|
16
|
+
{% endif %}
|
17
|
+
</span>
|
18
|
+
</div>
|
19
|
+
<p class="color-secondary">
|
20
|
+
{% if post.excerpt_separator %}
|
21
|
+
{{ post.excerpt | strip_html }}
|
22
|
+
{% else %}
|
23
|
+
{{ post.content | strip_html | truncate: 200 }}
|
24
|
+
{% endif %}
|
25
|
+
</p>
|
26
|
+
<div class="categories">
|
27
|
+
{% for tag in post.tags %}
|
28
|
+
<a class="flat" href="{{ '/tags' | site.baseurl }}#{{ tag }}">{{ tag }}</a>
|
29
|
+
{% endfor %}
|
30
|
+
</div>
|
31
|
+
</div>
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<div class="simple-post-info">
|
2
|
+
<h3 class="fw-normal"><a class="color-link-dark" href="{{ post.url | prepend: site.baseurl }}">{{ post.title }}</a></h3>
|
3
|
+
<div class="d-flex">
|
4
|
+
<span class="info w-100 text-start">
|
5
|
+
<time datetime="{{ post.date }}" class="d-inline-block fw-light color-secondary-light">
|
6
|
+
<i class="far fa-calendar-alt color-rang1"></i> {{ post.date | date: "%b %d, %y" }}
|
7
|
+
</time>
|
8
|
+
|
9
|
+
<time datetime="{{ post.date }}" class="d-inline-block fw-light color-secondary-light">
|
10
|
+
{{ post.date | date: "%H:%M" }}
|
11
|
+
</time>
|
12
|
+
</span>
|
13
|
+
</div>
|
14
|
+
</div>
|
@@ -0,0 +1,25 @@
|
|
1
|
+
{% assign t = site.data.language[page.lang].t %}
|
2
|
+
<li class="d-flex hover-primary" style="padding: .5rem 0">
|
3
|
+
<div class="flex-none color-secondary" style="padding: 0 .4rem">
|
4
|
+
{{ include.index }}.
|
5
|
+
</div>
|
6
|
+
<div class="d-flex flex-column w-100">
|
7
|
+
<div><a class="hover-color-reversal" style="line-height: 1.4rem;" href="{{ post.url | prepend: site.baseurl }}">{{ post.title }}</a></div>
|
8
|
+
<p class="color-secondary-light" style="padding-top: .2rem;">
|
9
|
+
{% if post.sticky_subtitle %}
|
10
|
+
{{ post.sticky_subtitle }}
|
11
|
+
{% else %}
|
12
|
+
{{ post.date | date: "%b %d, %Y %H:%M" }}
|
13
|
+
{% endif %}
|
14
|
+
</p>
|
15
|
+
</div>
|
16
|
+
<div class="flex-none d-flex flex-column justify-content-center" style="padding: 0 4px;">
|
17
|
+
<a
|
18
|
+
class="d-inline-block color-secondary-light hover-border"
|
19
|
+
style="padding: .4rem 1rem; margin-right: 1rem"
|
20
|
+
href="{{ post.url | prepend: site.baseurl }}"
|
21
|
+
>
|
22
|
+
{{ t.detail_up | default: 'info' }}
|
23
|
+
</a>
|
24
|
+
</div>
|
25
|
+
</li>
|