jekyll-theme-simplex 0.9.3 → 0.9.7
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 +4 -4
- data/README.md +81 -1
- data/_includes/head.html +1 -0
- data/_includes/header.html +8 -6
- data/_includes/scripts.html +1 -0
- data/_layouts/page.html +3 -1
- data/_layouts/post.html +56 -3
- data/_sass/_feed.scss +25 -4
- data/_sass/_footer.scss +3 -0
- data/_sass/_global.scss +96 -6
- data/_sass/_header.scss +23 -11
- data/_sass/_page.scss +21 -0
- data/_sass/_post.scss +126 -0
- data/_sass/_variables.scss +220 -16
- data/assets/img/icons/arrow_left.svg +1 -0
- data/assets/img/icons/arrow_right.svg +1 -0
- data/assets/img/icons/brush.svg +47 -0
- data/assets/img/icons/chip.svg +111 -0
- data/assets/img/icons/code.svg +1 -0
- data/assets/img/icons/cog.svg +1 -0
- data/assets/img/icons/cpp.svg +77 -0
- data/assets/img/icons/download.svg +1 -0
- data/assets/img/icons/server.svg +135 -0
- data/assets/img/icons/web.svg +63 -0
- data/assets/js/lity.min.css +3 -0
- data/assets/js/lity.min.js +5 -0
- data/assets/style.scss +2 -0
- metadata +15 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 93c3ac147d6c55f9bbd60f5d62033ec93987b9e4818fba0636a90f78ba69f43d
|
4
|
+
data.tar.gz: 72fb35482a61d9124761acab1997469d4633b295ef692bd420295b73783757ce
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 624cb1f9efa420a20f11e0041fa65c3283d2b5a6e2ee4c305b7bdc53035654bf722888fe720b10700fbae392d5a73e919503ed8c64444028a8906fb942579969
|
7
|
+
data.tar.gz: 28e21b6169306c480aec7964add307c7288703dc3f2a2045082f3ee12fa71b5dd0866867eb2c7b7860372ba4bc39fb0618bbb65560c260ee8b2fcc5025285c45
|
data/README.md
CHANGED
@@ -6,6 +6,23 @@
|
|
6
6
|
|
7
7
|
A *simple* yet neat blogging theme. Developed for the [golas blog](https://golas.blog/) project.
|
8
8
|
|
9
|
+
|
10
|
+
## 👓 Preview
|
11
|
+

|
12
|
+
|
13
|
+
## 💎 Features
|
14
|
+
### Responsive
|
15
|
+

|
16
|
+
|
17
|
+
### Dark mode
|
18
|
+

|
19
|
+
|
20
|
+
### Buttons
|
21
|
+

|
22
|
+
|
23
|
+
### Lity Lightbox
|
24
|
+
Supports images, videos, iFrames and more. See below for syntax.
|
25
|
+
|
9
26
|
## ℹ Installation
|
10
27
|
|
11
28
|
Add this line to your Jekyll site's `Gemfile`:
|
@@ -110,6 +127,51 @@ author: andy #Author's nick.
|
|
110
127
|
Your markdown content here.
|
111
128
|
```
|
112
129
|
|
130
|
+
### ⚡ Syntax highlighting
|
131
|
+
The theme uses Pygments CSS created by [@richleland](https://github.com/richleland). If you want to modify the highlighting styles, just download different CSS or create your own - see [Jekyll docs](https://jekyllrb.com/docs/liquid/tags/#stylesheets-for-syntax-highlighting).
|
132
|
+
|
133
|
+
Note - `@media` is used to manage different styles for light and dark web browser mode. See `_variables.scss` file for details.
|
134
|
+
|
135
|
+
### 📷 Inserting pictures
|
136
|
+
Classic Markdown syntax is supported. However, to be able to use the lightbox feature, you have to use HTML syntax. Minimal example:
|
137
|
+
```html
|
138
|
+
<a href="/assets/example.jpg" data-lity>
|
139
|
+
<img src="/assets/example_thumbnail.jpg"/>
|
140
|
+
</a>
|
141
|
+
```
|
142
|
+
|
143
|
+
To provide image description use this syntax:
|
144
|
+
```html
|
145
|
+
<div class="sx-picture">
|
146
|
+
<a href="/assets/example.jpg" data-lity>
|
147
|
+
<img src="/assets/example_thumbnail.jpg"/>
|
148
|
+
</a>
|
149
|
+
<span class="sx-subtitle">My picture description.</span>
|
150
|
+
</div>
|
151
|
+
```
|
152
|
+
|
153
|
+
**Do not forget the `data-lity` attribute.**
|
154
|
+
|
155
|
+
#### ↔ Centering
|
156
|
+
To center pictures, put the code inside a `div` with `sx-center` class like this:
|
157
|
+
```html
|
158
|
+
<div markdown=1 class="sx-center">
|
159
|
+

|
160
|
+
</div>
|
161
|
+
```
|
162
|
+
|
163
|
+
### 🔘 Buttons
|
164
|
+
Buttons can be inserted with the following syntax. Just replace `theme` with `red`, `green`, `blue`, `orange`, `purple` or `brown`, specify the target link in `href` attribute and the icon in `src` attribute.
|
165
|
+
```html
|
166
|
+
<div class='sx-button'>
|
167
|
+
<a href='https://your.link.here.example.com/' class='sx-button__content theme'>
|
168
|
+
<img src='/assets/img/icons/example_icon.svg'/>#{text}
|
169
|
+
</a>
|
170
|
+
</div>
|
171
|
+
```
|
172
|
+
|
173
|
+
Markdown attribute can be omitted if you don't use markdown inside the block (e.g. by using the lightbox syntax).
|
174
|
+
|
113
175
|
### ℹ Notes
|
114
176
|
[1] Hue can be either one of the predefined colors or any of the CSS `color` attribute supported values (hex, rgb...).
|
115
177
|
|
@@ -134,7 +196,18 @@ You can use following predefined colors:
|
|
134
196
|
--c-themeHuePurple: #9F00CE;
|
135
197
|
--c-themeHueBrown: #230007;
|
136
198
|
```
|
137
|
-
|
199
|
+
These colors are CSS variables, usage: `var(--var-name)`
|
200
|
+
|
201
|
+
## Add-ons
|
202
|
+
Add-ons are distributed as Jekyll plugins. Just download any desired `.rb` file from the repository `_plugin` folder and put it in your `_plugin` folder.
|
203
|
+
|
204
|
+
### Buttons (button.rb)
|
205
|
+
Adds a tag to simplify insertion of buttons:
|
206
|
+
```
|
207
|
+
{% button red|https://www.example.com/|/assets/img/icons/cog.svg %}
|
208
|
+
Download binary
|
209
|
+
{% endbutton %}
|
210
|
+
```
|
138
211
|
|
139
212
|
## 🤝 Contributing
|
140
213
|
|
@@ -149,6 +222,13 @@ Your theme is setup just like a normal Jekyll site! To test your theme, run `bun
|
|
149
222
|
When your theme is released, only the files in `_layouts`, `_includes`, `_sass` and `assets` tracked with Git will be bundled.
|
150
223
|
To add a custom directory to your theme-gem, please edit the regexp in `jekyll-theme-simplex.gemspec` accordingly.
|
151
224
|
|
225
|
+
## Credits
|
226
|
+
Includes icons by [uxwing](https://uxwing.com/).
|
227
|
+
|
228
|
+
The lightbox feature is provided by [Lity](https://github.com/jsor/lity) licensed under the [MIT License](https://opensource.org/licenses/MIT).
|
229
|
+
|
230
|
+
Uses [jQuery](https://github.com/jquery/jquery) JavaScript plugin licensed under the [MIT License](https://opensource.org/licenses/MIT).
|
231
|
+
|
152
232
|
## ⚖ License
|
153
233
|
© Ondrej Golasowski. The theme is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
154
234
|
|
data/_includes/head.html
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
<link rel="stylesheet" href="{{ site.url }}/assets/fonts/fonts.css"/>
|
2
2
|
<link rel="stylesheet" href="{{ site.url }}/assets/style.css"/>
|
3
|
+
<link rel="stylesheet" href="{{ site.url }}/assets/js/lity.min.css"/>
|
3
4
|
|
4
5
|
<meta charset="UTF-8">
|
5
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
data/_includes/header.html
CHANGED
@@ -1,11 +1,13 @@
|
|
1
1
|
<header class="header">
|
2
2
|
<section class="logo">
|
3
|
-
{
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
3
|
+
<a href="{{ site.url }}/" class="logo__link">
|
4
|
+
{% if site.logo_img != nil %}
|
5
|
+
<h1 style="display: none;">golasblog</h1>
|
6
|
+
<img class="logo__link__img" src={{site.logo_img}}/>
|
7
|
+
{% else %}
|
8
|
+
<h1>golasblog</h1>
|
9
|
+
{% endif %}
|
10
|
+
</a>
|
9
11
|
</section>
|
10
12
|
<button id="menuToggle">
|
11
13
|
<div></div>
|
data/_includes/scripts.html
CHANGED
data/_layouts/page.html
CHANGED
data/_layouts/post.html
CHANGED
@@ -2,6 +2,59 @@
|
|
2
2
|
layout: default
|
3
3
|
---
|
4
4
|
|
5
|
-
<
|
6
|
-
|
7
|
-
|
5
|
+
<article class="post">
|
6
|
+
|
7
|
+
<div class="post__title">
|
8
|
+
<h1 class="post__title__text">{{ page.title }}</h1>
|
9
|
+
</div>
|
10
|
+
<div class="post__meta">
|
11
|
+
<div class="post__meta__category">
|
12
|
+
{% for category in page.category %}
|
13
|
+
<p class="post__meta__category__title" style="background: {{ site.category | where: "category", category | map: "hue"}}">{{ category }}</p>
|
14
|
+
{% else %}
|
15
|
+
<p class="post__meta__category__title">No category</p>
|
16
|
+
{% endfor %}
|
17
|
+
</div>
|
18
|
+
<p class="post__meta__divider">·</p>
|
19
|
+
<div class="post__meta__date">
|
20
|
+
{{ page.date | date: '%B %d, %Y' }}
|
21
|
+
</div>
|
22
|
+
{% if page.author != nil %}
|
23
|
+
{% assign author = site.authors | where: "nick", page.author | first %}
|
24
|
+
<p class="post__meta__divider">·</p>
|
25
|
+
<div class="post__meta__author">
|
26
|
+
<p>by </p>
|
27
|
+
<img class="post__meta__author__photo" src="{{ site.url }}/{{ author.photo_dir }}"/>
|
28
|
+
<p>{{ author.full_name }}</p>
|
29
|
+
</div>
|
30
|
+
{% endif %}
|
31
|
+
</div>
|
32
|
+
|
33
|
+
{% if page.prevPart != nil or page.nextPart != nil %}
|
34
|
+
<div class="post__navigator">
|
35
|
+
<div
|
36
|
+
class="post__navigator__buttons"
|
37
|
+
{% if page.prevPart == nil %}
|
38
|
+
style="justify-content: flex-end;"
|
39
|
+
{% endif %}
|
40
|
+
>
|
41
|
+
{% if page.prevPart != nil %}
|
42
|
+
<a href="{% link {{ page.prevPart }} %}">
|
43
|
+
<img class="arrow-left" src="{{ site.url }}/assets/img/icons/arrow_left.svg"/>
|
44
|
+
Previous
|
45
|
+
</a>
|
46
|
+
{% endif %}
|
47
|
+
{% if page.nextPart != nil %}
|
48
|
+
<a href="{% link {{ page.nextPart }} %}">
|
49
|
+
Next
|
50
|
+
<img class="arrow-right" src="{{ site.url }}/assets/img/icons/arrow_right.svg"/>
|
51
|
+
</a>
|
52
|
+
{% endif %}
|
53
|
+
</div>
|
54
|
+
</div>
|
55
|
+
{% endif %}
|
56
|
+
|
57
|
+
<div class="post__content">
|
58
|
+
{{ content }}
|
59
|
+
</div>
|
60
|
+
</article>
|
data/_sass/_feed.scss
CHANGED
@@ -20,12 +20,19 @@
|
|
20
20
|
flex-direction: column;
|
21
21
|
};
|
22
22
|
|
23
|
+
color: var(--c-feed-title);
|
24
|
+
|
23
25
|
text-align: center;
|
24
26
|
padding: 0 2rem;
|
27
|
+
margin-bottom: 2rem;
|
25
28
|
min-width: 80%;
|
26
29
|
|
27
30
|
h1{
|
28
31
|
margin: 1rem 0 0 0;
|
32
|
+
|
33
|
+
@include for-size('tablet'){
|
34
|
+
margin: 0;
|
35
|
+
}
|
29
36
|
}
|
30
37
|
}
|
31
38
|
|
@@ -42,12 +49,12 @@
|
|
42
49
|
height: 100%;
|
43
50
|
margin: 1rem 0;
|
44
51
|
padding: 1rem 2rem;
|
45
|
-
box-shadow: inset 0px 0px 14px -4px
|
52
|
+
box-shadow: inset 0px 0px 14px -4px var(--c-snippetShadow);
|
46
53
|
transition: $t-smooth;
|
47
54
|
|
48
55
|
&:hover{
|
49
56
|
transform: scale(.99);
|
50
|
-
box-shadow: inset 0px 0px 14px -4px
|
57
|
+
box-shadow: inset 0px 0px 14px -4px var(--c-snippetShadowHover);
|
51
58
|
}
|
52
59
|
}
|
53
60
|
|
@@ -74,10 +81,21 @@
|
|
74
81
|
@include flexbox;
|
75
82
|
|
76
83
|
&__title{
|
77
|
-
color:
|
78
|
-
background: var(--c-
|
84
|
+
color: var(--c-noCategoryText);
|
85
|
+
background: var(--c-noCategoryBackground);
|
79
86
|
padding: .2rem .5rem;
|
80
87
|
}
|
88
|
+
|
89
|
+
|
90
|
+
@include for-size('tablet'){
|
91
|
+
flex-direction: column;
|
92
|
+
|
93
|
+
p{
|
94
|
+
text-align: center;
|
95
|
+
width: 100%;
|
96
|
+
margin: 0;
|
97
|
+
}
|
98
|
+
}
|
81
99
|
}
|
82
100
|
|
83
101
|
&__date{
|
@@ -96,6 +114,7 @@
|
|
96
114
|
|
97
115
|
&__header{
|
98
116
|
margin: 1rem 0 0 0;
|
117
|
+
color: var(--c-articleHeading);
|
99
118
|
|
100
119
|
@include for-size('tablet'){
|
101
120
|
margin: 1rem 0 0 0;
|
@@ -105,12 +124,14 @@
|
|
105
124
|
|
106
125
|
&__text{
|
107
126
|
|
127
|
+
color: var(--c-snippetHeading);
|
108
128
|
margin: 1rem 0 0 0;
|
109
129
|
}
|
110
130
|
|
111
131
|
&__author{
|
112
132
|
|
113
133
|
margin: 1.5rem 0 0 0;
|
134
|
+
color: var(--c-snippetAuthor);
|
114
135
|
|
115
136
|
@include flexbox{
|
116
137
|
flex-direction: row;
|
data/_sass/_footer.scss
CHANGED
@@ -7,6 +7,8 @@
|
|
7
7
|
|
8
8
|
@include flexbox;
|
9
9
|
padding: 1rem 0 0 0;
|
10
|
+
margin-top: auto;
|
11
|
+
color: var(--c-footerText);
|
10
12
|
|
11
13
|
&__about{
|
12
14
|
|
@@ -35,6 +37,7 @@
|
|
35
37
|
height: 1.25rem;
|
36
38
|
margin: 0 .5rem;
|
37
39
|
transition: $t-smooth;
|
40
|
+
filter: var(--c-footerImageFilter);
|
38
41
|
|
39
42
|
&:hover{
|
40
43
|
transform: scale(1.05) rotate(-5deg);
|
data/_sass/_global.scss
CHANGED
@@ -25,12 +25,10 @@ body{
|
|
25
25
|
margin: 0;
|
26
26
|
min-height: 100vh;
|
27
27
|
|
28
|
-
display:
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
"main"
|
33
|
-
"footer";
|
28
|
+
display: flex;
|
29
|
+
flex-direction: column;
|
30
|
+
align-items: center;
|
31
|
+
justify-content: center;
|
34
32
|
}
|
35
33
|
|
36
34
|
h1,h2,h3,h4,h5,h5,h6{
|
@@ -65,3 +63,95 @@ a{
|
|
65
63
|
color: var(--c-linkActive);
|
66
64
|
}
|
67
65
|
}
|
66
|
+
|
67
|
+
table:not([class]){
|
68
|
+
border-collapse: collapse;
|
69
|
+
border-spacing: 0;
|
70
|
+
border: 1px solid var(--c-tableBorder);
|
71
|
+
|
72
|
+
th,td{
|
73
|
+
padding: .25rem;
|
74
|
+
border: 1px solid var(--c-tableBorder);
|
75
|
+
}
|
76
|
+
}
|
77
|
+
|
78
|
+
.highlight{
|
79
|
+
|
80
|
+
margin: 2rem 0;
|
81
|
+
transition: $t-smooth;
|
82
|
+
box-shadow: inset 0px 0px 14px -4px var(--c-codeShadow);
|
83
|
+
|
84
|
+
&:hover{
|
85
|
+
box-shadow: inset 0px 0px 14px -4px var(--c-codeShadowHover);
|
86
|
+
}
|
87
|
+
|
88
|
+
max-width: calc(100vw - 2rem);
|
89
|
+
overflow-x: auto;
|
90
|
+
|
91
|
+
pre{
|
92
|
+
margin: 0;
|
93
|
+
padding: 1rem;
|
94
|
+
}
|
95
|
+
}
|
96
|
+
|
97
|
+
.sx-center{
|
98
|
+
|
99
|
+
display: flex;
|
100
|
+
align-items: center;
|
101
|
+
justify-content: center;
|
102
|
+
}
|
103
|
+
|
104
|
+
.sx-button{
|
105
|
+
|
106
|
+
width: 100%;
|
107
|
+
margin: 1rem 0;
|
108
|
+
display: flex;
|
109
|
+
align-items: center;
|
110
|
+
justify-content: center;
|
111
|
+
|
112
|
+
&__content{
|
113
|
+
|
114
|
+
&:link, &:visited, &:hover, &:active{
|
115
|
+
color: var(--c-themePrimaryLight);
|
116
|
+
}
|
117
|
+
text-decoration: none;
|
118
|
+
width: fit-content;
|
119
|
+
padding: .5rem 1rem;
|
120
|
+
display: flex;
|
121
|
+
align-items: center;
|
122
|
+
justify-content: center;
|
123
|
+
transition: $t-smooth;
|
124
|
+
|
125
|
+
&.red{background-color: var(--c-themeHueRed);}
|
126
|
+
&.orange{background-color: var(--c-themeHueOrange);}
|
127
|
+
&.green{background-color: var(--c-themeHueGreen);}
|
128
|
+
&.blue{background-color: var(--c-themeHueBlue);}
|
129
|
+
&.purple{background-color: var(--c-themeHuePurple);}
|
130
|
+
&.brown{background-color: var(--c-themeHueBrown);}
|
131
|
+
|
132
|
+
img{
|
133
|
+
margin-right: 1rem;
|
134
|
+
height: 1rem;
|
135
|
+
filter: brightness(0) invert(1);
|
136
|
+
}
|
137
|
+
|
138
|
+
&:hover{
|
139
|
+
letter-spacing: .05rem;
|
140
|
+
}
|
141
|
+
}
|
142
|
+
}
|
143
|
+
|
144
|
+
.sx-subtitle{
|
145
|
+
font-style: italic;
|
146
|
+
color: var(--c-subtitle);
|
147
|
+
}
|
148
|
+
|
149
|
+
.sx-picture{
|
150
|
+
|
151
|
+
display: flex;
|
152
|
+
flex-direction: column;
|
153
|
+
align-items: center;
|
154
|
+
justify-content: center;
|
155
|
+
width: fit-content;
|
156
|
+
margin: 1.5rem 0;
|
157
|
+
}
|
data/_sass/_header.scss
CHANGED
@@ -13,11 +13,22 @@
|
|
13
13
|
|
14
14
|
.logo{
|
15
15
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
16
|
+
&__link{
|
17
|
+
|
18
|
+
text-decoration: none;
|
19
|
+
color: var(--c-themePrimaryDark);
|
20
|
+
transition: $t-smooth;
|
21
|
+
|
22
|
+
&:hover{
|
23
|
+
letter-spacing: .5rem;
|
24
|
+
}
|
25
|
+
h1{
|
26
|
+
margin: 0;
|
27
|
+
}
|
28
|
+
&__img{
|
29
|
+
filter: var(--c-headerImageFilter);
|
30
|
+
height: 2rem;
|
31
|
+
}
|
21
32
|
}
|
22
33
|
}
|
23
34
|
|
@@ -27,7 +38,7 @@
|
|
27
38
|
outline: none;
|
28
39
|
cursor: pointer;
|
29
40
|
|
30
|
-
margin: 2rem 0;
|
41
|
+
margin: 2rem 0 1rem 0;
|
31
42
|
padding: 0;
|
32
43
|
font-size: 1rem;
|
33
44
|
width: 3em;
|
@@ -93,7 +104,7 @@
|
|
93
104
|
|
94
105
|
img,p{
|
95
106
|
transition: $t-smooth;
|
96
|
-
filter:
|
107
|
+
filter: var(--c-menuItemsFilter);
|
97
108
|
}
|
98
109
|
|
99
110
|
img{
|
@@ -134,7 +145,7 @@
|
|
134
145
|
max-height: 0;
|
135
146
|
width: 250px;
|
136
147
|
overflow: hidden;
|
137
|
-
box-shadow: inset 0px 0px 14px -4px
|
148
|
+
box-shadow: inset 0px 0px 14px -4px var(--c-menuShadow);
|
138
149
|
transition: $t-smooth;
|
139
150
|
flex-direction: column;
|
140
151
|
|
@@ -159,7 +170,7 @@
|
|
159
170
|
|
160
171
|
img{
|
161
172
|
transform: scale(1.1);
|
162
|
-
filter:
|
173
|
+
filter: var(--c-menuItemsFilterHover);
|
163
174
|
|
164
175
|
@include for-size('tablet'){
|
165
176
|
transform: scale(1);
|
@@ -168,7 +179,7 @@
|
|
168
179
|
|
169
180
|
p{
|
170
181
|
letter-spacing: .1rem;
|
171
|
-
filter:
|
182
|
+
filter: var(--c-menuItemsFilterHover);
|
172
183
|
|
173
184
|
@include for-size('tablet'){
|
174
185
|
letter-spacing: .2rem;
|
@@ -263,11 +274,12 @@
|
|
263
274
|
}
|
264
275
|
|
265
276
|
@include for-size('tablet'){
|
266
|
-
box-shadow: inset 0px 0px 14px -4px
|
277
|
+
box-shadow: inset 0px 0px 14px -4px var(--c-menuShadow);
|
267
278
|
|
268
279
|
transition: $t-smooth;
|
269
280
|
max-height: 0;
|
270
281
|
overflow: hidden;
|
282
|
+
margin: 0;
|
271
283
|
&.open{
|
272
284
|
max-height: $s-m-menuMaxHeight;
|
273
285
|
}
|