kiko-minus 0.4.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5d051d73e3324cb2f031803d1e97894598d0281ddff1188b8cade31185f657d3
4
- data.tar.gz: 00226ca32288c8aa5afc6902c516f3e63796197748aed56f3ae02a35614cc105
3
+ metadata.gz: 460b1f62ed380f22627eb27e01997730907be89434cf5a0ab3983c60182cd9bf
4
+ data.tar.gz: 22a0592b73ae723ad99d26c0336f956dedc481182d2832058c3c63a8dec6688b
5
5
  SHA512:
6
- metadata.gz: c128e7b70a0381b01374366f0474dd2e5a31f54e9160f6afccb97dc6da7be7adf3871c0862797d3e4a2fc6f68fe62e5dbc45470dac926607a3e6c4878bcac1ed
7
- data.tar.gz: '0268ffe7c251ab837ba0a96ecce035e35357872c118aba6884d7bd4210835524c46a0e1e2f674d2eed794f4d19159b932b1674472a1052ef2bc91d28727787f2'
6
+ metadata.gz: 716ed9e73968ea3bbbc5f32b91a43a76611522299d9c20c6ac9bac87f16cbf15a53c703fbcbdcfb95c2dba6279fcf01c235ad2107127eaa4b1047aad29cc171b
7
+ data.tar.gz: d4e677d37833ca44e3d41d37d6b96e52f06f3bbe6fde3ed4933c3060896c5b21c67a9a812b782d9da98dcd575a6e969c82950e34891bdeac464542a2838fdde6
data/README.md CHANGED
@@ -1,25 +1,26 @@
1
1
  # kiko-minus
2
2
 
3
- kiko-minus is a minimalistic Jekyll theme based on [kiko-plus](https://github.com/aweekj/Kiko-plus)
3
+ [![Gem Version](https://badge.fury.io/rb/kiko-minus.svg)](https://badge.fury.io/rb/kiko-minus)
4
4
 
5
- While the design and styles are largely inherited from the original theme, kiko-minus comes with many additional features including an emphasis on privacy and speed, automatically compressed images, gzip compression, and SEO optimization.
5
+ kiko-minus is a minimalistic Jekyll theme based on [kiko-plus](https://github.com/aweekj/Kiko-plus).
6
+
7
+ While the design and styles are largely inherited from the original theme, kiko-minus strips away heavy dependencies like Google Analytics and Disqus in favor of lightweight alternatives. It comes with many additional features with an emphasis on privacy and speed, including automatically compressed images, gzip compression, and SEO optimization.
8
+
9
+ ![Screenshot](screenshot.png)
6
10
 
7
11
  ## Features
8
12
  - Ready for use with GitLab or GitHub pages
9
13
  - Syntax highlighting
10
14
  - Automatic image compression
11
- - Brotli, Zopfli, and Gzip compression
15
+ - Zopfli compression (gzip)
12
16
  - Fully responsive
13
- - Automatic pagination
14
17
  - Automatic sitemap generation
15
- - Automatic page generation based on tags & collections (in progress)
16
- - Structured data (in progress)
17
- - SEO support (in progress)
18
- - LaTeX support (in progress)
19
- - Comments with ISSO (in progress)
20
- - Analytics with Fathom (in progress)
21
- - No third party requests or cookies (unless using Fathom or ISSO)
22
- - Automatic RSS feed (in progress)
18
+ - Filtered pagination based on tags & collections
19
+ - Private comments with [ISSO](https://posativ.org/isso/)
20
+ - Analytics with [Fathom](https://usefathom.com/)
21
+ - Automatic Atom feed
22
+ - No JavaScript, third party requests, or cookies (unless using Fathom or ISSO)
23
+ - Structured data support (TODO)
23
24
 
24
25
  ## Installation
25
26
 
@@ -29,11 +30,7 @@ Add this line to your Jekyll site's `Gemfile`:
29
30
  gem "kiko-minus"
30
31
  ```
31
32
 
32
- And add this line to your Jekyll site's `_config.yml`:
33
-
34
- ```yaml
35
- theme: kiko-minus
36
- ```
33
+ Copy this [configuration](https://github.com/ask616/kiko-minus/blob/master/_config.yml) to your site's `_config.yml`.
37
34
 
38
35
  And then execute:
39
36
 
@@ -43,13 +40,80 @@ Or install it yourself as:
43
40
 
44
41
  $ gem install kiko-minus
45
42
 
43
+ ## Contents
44
+ kiko-minus has an assortment of components to minimize additional needed configuration, so that all you need to do is add your posts to `_posts/` and be ready to go.
45
+
46
+ ### `_layouts/`
47
+ * `default.html` defines the basic structure of every page, including SEO tags, stylesheet imports, and favicons.
48
+ * `home.html` is used for the index page, and includes a navigation bar and the paginated list of all posts.
49
+ * `page.html` is used for individual pages i.e. an About or Contact page.
50
+ * `post.html` is for your blog posts, and can include a comment section if ISSO is enabled.
51
+ * `filtered-home.html` is meant to be used for filtered post lists i.e. pages listing all posts belonging to a category or tag. The sample [wikipedia](https://github.com/ask616/kiko-minus/blob/master/categories/wikipedia.md) page is an example use case to show all posts that are Wikipedia articles.
52
+ * `archive.html` shows a condensed view of many posts and their publishing dates.
53
+
54
+ ### `_includes/`
55
+ * `footer.html` is put at the bottom of every page to show copyright information.
56
+ * `post-list.html` renders out a list of posts as defined by pagination.
57
+ * `isso.html` contains the ISSO script tag and is included if comments are enabled. The tag also includes many of the configurable options as defined [here](https://posativ.org/isso/docs/configuration/client/).
58
+ * `fathom.html` contains the tracker code and is included if analytics are enabled. The tag requires the address of your server and the site ID as provided by your Fathom instance.
59
+
60
+ ### `_sass/`
61
+ `kiko-minus.scss` defines the main variables to be used in the rest of the styles, as well as a couple mixins to help make the site responsive. It also imports the rest of the partials.
62
+
63
+ Inside `kiko-minus/`:
64
+ * `_colors.scss` is copied from [Open color](https://yeun.github.io/open-color/) and defines a broad palette for easy use.
65
+ * `_layout.scss` defines the overall structure of the site.
66
+ * `_normalize.scss` is copied from [Normalize.css](https://necolas.github.io/normalize.css/) and is used to render the site consistently across all browsers.
67
+ * `_syntax-highlighting.scss` defines how code is highlighted.
68
+ * `_typography.scss` defines the look and feel of the elements on the site.
69
+
70
+ ### `assets/`
71
+ * `css/` contains a single `style.scss` file that imports the rest of the base kiko-minus styles. This is also where custom stylesheets can go, as explained [below](https://github.com/ask616/kiko-minus#custom-stylesheets).
72
+ * `img/` is where your images will go for use throughout the site. You can add subfolders here as is done in this sample to better organize. Be warned that the photos here will be optimized *in place*, and that the originals will be copied over to `assets/img_archive` (or as otherwise defined in your config), which isn't included in your website's build.
73
+
74
+ ### Misc
75
+ * `.image-optim-cache` is used by the image optimization [plugin](https://github.com/ask616/jekyll-image-optim) to keep track of what files have already been optimized. *Do not delete this!*
76
+ * `categories/` and `tags/` can be used to define category or tag filtered pages.
77
+ * `pages/` can be used for individual pages.
78
+ * `index.md` is the home page for your site.
79
+
46
80
  ## Usage
47
81
 
48
- TODO: Write usage instructions here. Describe your available layouts, includes, sass and/or assets.
82
+ ### Custom Stylesheets
83
+ To add your own stylesheet, uncomment the `css` entry in `_config.yml`, and add the location of the stylesheet as its `src`.
84
+
85
+ ### ISSO Integration
86
+ To enable comments on your posts, set `isso.enabled` to `true` in your `_config.yml`, and add the location of the embed script as hosted by your ISSO server to `isso.script_src`. The other options can be deleted if you want the defaults as defined on ISSO's [website](https://posativ.org/isso/docs/configuration/client/).
87
+
88
+ ### Fathom Integration
89
+ To enable analytics throughout the site, set `fathom.enabled` to `true` in your `_config.yml`, and add the location of the tracker script (i.e. https://yoursite.tld/analytics/tracker.js) to `fathom.script_src` and your site ID to `fathom.site_id`.
90
+
91
+ If you don't know the location of the script and site ID, you can look at the tracking code provided on your Fathom dashboard:
92
+
93
+ ```
94
+ ...
95
+ m.parentNode.insertBefore(o,m)
96
+ })(document, window, '//mysite.dev/analytics/tracker.js', 'fathom');
97
+ fathom('set', 'siteId', 'ABCDE');
98
+ fathom('trackPageview');
99
+ ...
100
+
101
+ ```
102
+
103
+ In this case, the script is hosted at https://mysite.dev/analytics/tracker.js, and its site ID is ABCDE.
104
+
105
+ ### Category and Tag Pages
106
+ The plugin [jekyll-paginate-v2](https://github.com/sverrirs/jekyll-paginate-v2/) lets us paginate on categories and tags (and much more!). The directions for enabling pagination can be found in their [docs](https://github.com/sverrirs/jekyll-paginate-v2/blob/master/README-GENERATOR.md#paginate-categories-tags-locales), and an example is provided here with [wikipedia articles](https://github.com/ask616/kiko-minus/blob/master/categories/wikipedia.md) page. It is _highly_ recommended that you use the `filtered-home` layout for these pages.
107
+
108
+ ### Favicons
109
+ kiko-minus supports including a 16x16 and 32x32 px favicon for your site. Place them in the `assets/img/logos/` directory with the names `favicon-16x16.png` and `favicon-32x32.png`, respectively, and they'll automatically be loaded.
110
+
111
+ ### SEO Setup
112
+ This theme uses `jekyll-seo-tag` to help provide metadata to improve your SEO scores. You can supply information to the `_config.yml` as defined [here](https://github.com/jekyll/jekyll-seo-tag/blob/master/docs/usage.md) (many of the options are already added to the config you copy over from this theme).
49
113
 
50
114
  ## Contributing
51
115
 
52
- Bug reports and pull requests are welcome on GitLab at https://gitlab.com/areebk/kiko-minus/issues. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
116
+ Bug reports and pull requests are welcome on GitHub at https://github.com/ask616/kiko-minus/issues. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
53
117
 
54
118
  ## Development
55
119
 
@@ -57,7 +121,7 @@ To set up your environment to develop this theme, run `bundle install`.
57
121
 
58
122
  Your theme is setup just like a normal Jekyll site! To test your theme, run `bundle exec jekyll serve` and open your browser at `http://localhost:4000`. This starts a Jekyll server using your theme. Add pages, documents, data, etc. like normal to test your theme's contents. As you make modifications to your theme and to your content, your site will regenerate and you should see the changes in the browser after a refresh, just like normal.
59
123
 
60
- When your theme is released, only the files in `_layouts`, `_includes`, `_sass` and `assets` tracked with Git will be bundled.
124
+ When your theme is released, only the files in `_layouts`, `_includes`, `_sass` and `assets/css` tracked with Git will be bundled.
61
125
  To add a custom directory to your theme-gem, please edit the regexp in `kiko-minus.gemspec` accordingly.
62
126
 
63
127
  ## License
data/_includes/isso.html CHANGED
@@ -1,6 +1,6 @@
1
1
 
2
2
  <script data-isso="{{ site.isso.prefix }}"
3
- src="{{ site.isso.script_source }}"
3
+ src="{{ site.isso.script_src }}"
4
4
 
5
5
  {% if site.isso.css %}
6
6
  data-isso-css="{{ site.isso.css }}"
@@ -0,0 +1,39 @@
1
+ {% for post in paginator.posts %}
2
+ <div class="post-list-item">
3
+ {% if post.link %}
4
+ <a href="{{ post.link }}">
5
+ {% else %}
6
+ <a href="{{ post.url | prepend: site.baseurl }}">
7
+ {% endif %}
8
+ <div class="post-list-item-date">
9
+ <time>{{ post.date | date_to_string }}</time>
10
+ </div>
11
+ <div class="post-list-item-title">
12
+ {{ post.title }}
13
+ </div>
14
+ {% if post.description %}
15
+ <div class="post-list-item-desc">
16
+ {{ post.description }}
17
+ </div>
18
+ {% endif %}
19
+ </a>
20
+ </div>
21
+ {% endfor %}
22
+
23
+ <div class="post-list-pagination">
24
+ <span class="post-list-pagination-previous">
25
+ {% if paginator.previous_page %}
26
+ <a href="{{ paginator.previous_page_path | prepend: site.baseurl }}" class="previous">
27
+ &#60; previous
28
+ </a>
29
+ {% endif %}
30
+ </span>
31
+
32
+ <span class="post-list-pagination-next">
33
+ {% if paginator.next_page %}
34
+ <a href="{{ paginator.next_page_path | prepend: site.baseurl }}" class="next">
35
+ next &#62;
36
+ </a>
37
+ {% endif %}
38
+ </span>
39
+ </div>
@@ -0,0 +1,33 @@
1
+ ---
2
+ layout: page
3
+ title: Archive
4
+ pagination:
5
+ enabled: true
6
+ per_page: 1000
7
+ ---
8
+
9
+ <div class="archive">
10
+ <div class="archive-list">
11
+ {% if site.posts.size == 0 %}
12
+ <h2>No posts found</h2>
13
+ {% else %}
14
+
15
+ {% for post in paginator.posts %}
16
+ <div class="archive-list-item">
17
+ {% if post.link %}
18
+ <a href="{{ post.link }}">
19
+ {% else %}
20
+ <a href="{{ post.url | prepend: site.baseurl }}">
21
+ {% endif %}
22
+ <span class="archive-list-item-title">
23
+ {{ post.title }}
24
+ </span>
25
+ <span class="archive-list-item-date">
26
+ <time>| {{ post.date | date_to_string }}</time>
27
+ </span>
28
+ </a>
29
+ </div>
30
+ {% endfor %}
31
+ {% endif %}
32
+ </div>
33
+ </div>
@@ -5,7 +5,11 @@
5
5
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1">
7
7
  {%- seo -%}
8
+ {% feed_meta %}
8
9
  <link rel="stylesheet" href="{{ "/assets/css/style.css" | relative_url }}">
10
+ {% if site.css %}
11
+ <link rel="stylesheet" href="{{ site.css.src | relative_url }}">
12
+ {% endif %}
9
13
  <link rel="icon" type="image/png" sizes="32x32" href="{{ "/assets/img/logos/favicon-32x32.png" | relative_url }}">
10
14
  <link rel="icon" type="image/png" sizes="16x16" href="{{ "/assets/img/logos/favicon-16x16.png" | relative_url }}">
11
15
  </head>
@@ -0,0 +1,21 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <header>
6
+ <div class="header-small">
7
+ <a href="{{ site.url }}{{ site.baseurl }}">{{ site.title | escape }}</a>
8
+ </div>
9
+
10
+ <div class="page-title">{{ page.title | escape }}</div>
11
+ </header>
12
+
13
+ <div class="post-list">
14
+ {% if site.posts.size == 0 %}
15
+ <h2>No posts found</h2>
16
+ {% else %}
17
+
18
+ {%- include post-list.html -%}
19
+
20
+ {% endif %}
21
+ </div>
data/_layouts/home.html CHANGED
@@ -19,44 +19,7 @@ layout: default
19
19
  <h2>No posts found</h2>
20
20
  {% else %}
21
21
 
22
- {% for post in paginator.posts %}
23
- <div class="post-list-item">
24
- {% if post.link %}
25
- <a href="{{ post.link }}">
26
- {% else %}
27
- <a href="{{ post.url | prepend: site.baseurl }}">
28
- {% endif %}
29
- <div class="post-list-item-date">
30
- <time>{{ post.date | date_to_string }}</time>
31
- </div>
32
- <div class="post-list-item-title">
33
- {{ post.title }}
34
- </div>
35
- {% if post.description %}
36
- <div class="post-list-item-desc">
37
- {{ post.description }}
38
- </div>
39
- {% endif %}
40
- </a>
41
- </div>
42
- {% endfor %}
43
-
44
- <div class="post-list-pagination">
45
- <span class="post-list-pagination-previous">
46
- {% if paginator.previous_page %}
47
- <a href="{{ paginator.previous_page_path | prepend: site.baseurl }}" class="previous">
48
- &#60; previous
49
- </a>
50
- {% endif %}
51
- </span>
22
+ {%- include post-list.html -%}
52
23
 
53
- <span class="post-list-pagination-next">
54
- {% if paginator.next_page %}
55
- <a href="{{ paginator.next_page_path | prepend: site.baseurl }}" class="next">
56
- next &#62;
57
- </a>
58
- {% endif %}
59
- </span>
60
- </div>
61
24
  {% endif %}
62
25
  </div>
data/_layouts/post.html CHANGED
@@ -18,6 +18,17 @@ layout: default
18
18
  <div class="page-content">
19
19
  {{ content }}
20
20
 
21
+ {% if page.tags.size > 0 %}
22
+ <div class="page-tags">
23
+ Tagged as
24
+ {% for tag in page.tags %}
25
+ <span class="page-tags-item">
26
+ {{ tag }}{% unless forloop.last %}, {% endunless %}
27
+ </span>
28
+ {% endfor %}
29
+ </div>
30
+ {% endif %}
31
+
21
32
  {% if site.isso.enabled %}
22
33
  <div class="comments-content">
23
34
  <section id="isso-thread"></section>
@@ -89,6 +89,12 @@
89
89
  margin-bottom: .5rem;
90
90
  @include relative-font-size(0.7);
91
91
  }
92
+
93
+ &-tags {
94
+ margin-top: 1.5rem;
95
+ @include relative-font-size(0.8);
96
+ color: lighten($base-font-color, 10%);
97
+ }
92
98
  }
93
99
 
94
100
 
@@ -130,7 +136,6 @@
130
136
  }
131
137
 
132
138
  &-pagination {
133
- margin-top: 4rem;
134
139
  padding-top: 2rem;
135
140
  padding-bottom: 2rem;
136
141
  text-transform: lowercase;
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kiko-minus
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Areeb Khan
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-04-25 00:00:00.000000000 Z
11
+ date: 2019-04-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '2.6'
41
+ - !ruby/object:Gem::Dependency
42
+ name: jekyll-feed
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '0.12'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '0.12'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: jekyll-paginate-v2
43
57
  requirement: !ruby/object:Gem::Requirement
@@ -120,7 +134,10 @@ files:
120
134
  - _includes/fathom.html
121
135
  - _includes/footer.html
122
136
  - _includes/isso.html
137
+ - _includes/post-list.html
138
+ - _layouts/archive.html
123
139
  - _layouts/default.html
140
+ - _layouts/filtered-home.html
124
141
  - _layouts/home.html
125
142
  - _layouts/page.html
126
143
  - _layouts/post.html
@@ -131,15 +148,7 @@ files:
131
148
  - _sass/kiko-minus/_syntax-highlighting.scss
132
149
  - _sass/kiko-minus/_typography.scss
133
150
  - assets/css/style.scss
134
- - assets/img/black-holes/simulation.jpg
135
- - assets/img/logos/favicon-16x16.png
136
- - assets/img/logos/favicon-32x32.png
137
- - assets/img/style-test/golden-gate.jpg
138
- - assets/img_archive/favicon-16x16-2019-04-15-13-59-44-e9bf4e2f46cb5b94135c82ed11a7303c.png
139
- - assets/img_archive/favicon-32x32-2019-04-15-13-59-45-220710db31b5b79ecc3276beeb369e06.png
140
- - assets/img_archive/golden-gate-2019-04-15-23-14-57-9990487bd295197df7ce75e0c324bf0f.jpg
141
- - assets/img_archive/simulation-2019-04-15-23-05-22-f2c96ad2f54c8f230dc65870b3d0cbf1.jpg
142
- homepage: https://gitlab.com/areebk/kiko-minus
151
+ homepage: https://github.com/ask616/kiko-minus
143
152
  licenses:
144
153
  - MIT
145
154
  metadata:
@@ -162,5 +171,5 @@ requirements: []
162
171
  rubygems_version: 3.0.3
163
172
  signing_key:
164
173
  specification_version: 4
165
- summary: Stripped down version of Kiko Plus
174
+ summary: A minimalistic, lightweight Jekyll theme based on Kiko Plus
166
175
  test_files: []
Binary file
Binary file
Binary file
Binary file