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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a3cac9e8df49ff462e3c029bbcd0abfd2cc22ff994e5248c38a3844a4c6514aa
4
- data.tar.gz: c6fda47b2058d38c0235c07354bd694cfe14ff9159659075f0f68d002200d2a0
3
+ metadata.gz: 93c3ac147d6c55f9bbd60f5d62033ec93987b9e4818fba0636a90f78ba69f43d
4
+ data.tar.gz: 72fb35482a61d9124761acab1997469d4633b295ef692bd420295b73783757ce
5
5
  SHA512:
6
- metadata.gz: c65ac0e803c19c3f285ae0482f0f6b5ecc5e2a4257c1054f8f6a7e7059d64e7a7e86ff87980ce136cb7300b66cf5c18960ee6f6e5cac765caf4dbbcf92723c67
7
- data.tar.gz: 3002eb374d61022b160f319f359865d331b7d691b0aba91689b5ba61640ca885a9c0083d3e2f22bf14f11a928b92bf9ef3b079b84faa5b46b18327c53aa9b553
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
+ ![Preview](preview.gif)
12
+
13
+ ## 💎 Features
14
+ ### Responsive
15
+ ![Responsivity preview](previewResponsive.gif)
16
+
17
+ ### Dark mode
18
+ ![Dark mode preview](previewDark.gif)
19
+
20
+ ### Buttons
21
+ ![Buttons preview](previewButtons.png)
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
+ ![My picture](/assets/example.jpg)
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
- This colors are CSS variables, usage: `var(--var-name)`
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
 
@@ -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">
@@ -1,11 +1,13 @@
1
1
  <header class="header">
2
2
  <section class="logo">
3
- {% if site.logo_img != nil %}
4
- <h1 style="display: none;">golasblog</h1>
5
- <img class="logo__img" src={{site.logo_img}}/>
6
- {% else %}
7
- <h1>golasblog</h1>
8
- {% endif %}
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>
@@ -1,2 +1,3 @@
1
1
  <script src="{{ site.url }}/assets/js/jquery.slim.min.js"></script>
2
+ <script src="{{ site.url }}/assets/js/lity.min.js"></script>
2
3
  <script src="{{ site.url }}/assets/js/tools.js"></script>
@@ -2,4 +2,6 @@
2
2
  layout: default
3
3
  ---
4
4
 
5
- {{ content }}
5
+ <main class="page">
6
+ {{ content }}
7
+ </main>
@@ -2,6 +2,59 @@
2
2
  layout: default
3
3
  ---
4
4
 
5
- <section class="post">
6
- {{ content }}
7
- </section>
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>
@@ -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 rgba(0, 0, 0, 0);
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 rgba(0,0,0,0.5);
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: white;
78
- background: var(--c-themePrimaryDark);
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;
@@ -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);
@@ -25,12 +25,10 @@ body{
25
25
  margin: 0;
26
26
  min-height: 100vh;
27
27
 
28
- display: grid;
29
- gap: 0 100px;
30
- grid-template-areas:
31
- "header"
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
+ }
@@ -13,11 +13,22 @@
13
13
 
14
14
  .logo{
15
15
 
16
- h1{
17
- margin: 0;
18
- }
19
- &__img{
20
- height: 2rem;
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: brightness(0);
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 rgba(0,0,0,0.5);
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: none;
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: none;
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 rgba(0,0,0,0.5);
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
  }