jekyll-oceanic 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE +21 -0
- data/README.md +96 -0
- data/_config.yml +106 -0
- data/_includes/bloglist.html +68 -0
- data/_includes/footer.html +3 -0
- data/_includes/head.html +6 -0
- data/_includes/header.html +66 -0
- data/_includes/liquid/data +1 -0
- data/_layouts/archive.html +9 -0
- data/_layouts/autopage.html +10 -0
- data/_layouts/bloglist.html +17 -0
- data/_layouts/categories.html +35 -0
- data/_layouts/default.html +15 -0
- data/_layouts/home.html +31 -0
- data/_layouts/page.html +7 -0
- data/_layouts/post.html +11 -0
- data/_sass/code-skins/default.scss +73 -0
- data/_sass/skins/black.scss +38 -0
- data/_sass/skins/default.scss +132 -0
- data/_sass/theme.scss +474 -0
- data/assets/css/style.scss +38 -0
- data/assets/img/avatar.jpg +0 -0
- data/assets/img/favicon.png +0 -0
- data/assets/img/icons.svg +27 -0
- metadata +151 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: b7560ddef689732ed2d2981f02347dee48d3dfa33221c52156fad5d6a6f06ef5
|
4
|
+
data.tar.gz: f5950e59454449092f7a486cbc6ff93ccf83b98bb3dcc1fd29079024d8b8e0f4
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: b5e8034bcc70e76300734055224050a594796530e2104cbcf96b31d9714aa73698c938e11e8aabeb113584149e4ed38688fa3564f1f788d7a55dceefc3568ed0
|
7
|
+
data.tar.gz: c096fd8f9d30f1013099a16b3e3dfb33493c2081988593ed7418e3daa0081433ddaea122baa88537a164daeb5f24cb780f646584f02fe64dc48bfc7d7666acb3
|
data/LICENSE
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
MIT License
|
2
|
+
|
3
|
+
Copyright (c) 2020 Karl Nicoll
|
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,96 @@
|
|
1
|
+
# Oceanic - A Minimalist, Blue Theme For Jekyll
|
2
|
+
|
3
|
+
Oceanic is intended as a simple theme for Jekyll websites, with a main focus
|
4
|
+
on blogs.
|
5
|
+
|
6
|
+
## Features
|
7
|
+
|
8
|
+
* Bright and minimalist theme.
|
9
|
+
* Skinning options with custom SASS parameters to tweak colours, fonts and some
|
10
|
+
sizes.
|
11
|
+
* Code syntax highlighting through Rouge support. Syntax highlighting can also
|
12
|
+
be skinned with custom colours if preferred.
|
13
|
+
* Configuration is easy to customize to specify:
|
14
|
+
|
15
|
+
* Specify avatar image
|
16
|
+
* Social media links
|
17
|
+
* Theme skin
|
18
|
+
* Pagination options
|
19
|
+
* Category/Tag options
|
20
|
+
* and more...
|
21
|
+
|
22
|
+
## Screenshots
|
23
|
+
|
24
|
+
See [HERE](SCREENSHOTS.md)
|
25
|
+
|
26
|
+
## Usage
|
27
|
+
|
28
|
+
### Step 1: Installation
|
29
|
+
|
30
|
+
First, add this line to your Jekyll site's `Gemfile`:
|
31
|
+
|
32
|
+
```ruby
|
33
|
+
gem "jekyll-oceanic"
|
34
|
+
```
|
35
|
+
|
36
|
+
Next, add this line to your Jekyll site's `_config.yml`:
|
37
|
+
|
38
|
+
```yaml
|
39
|
+
theme: jekyll-oceanic
|
40
|
+
```
|
41
|
+
|
42
|
+
Finally, execute:
|
43
|
+
|
44
|
+
```shell
|
45
|
+
$ bundle config set path .bundle
|
46
|
+
$ bundle install
|
47
|
+
...
|
48
|
+
```
|
49
|
+
|
50
|
+
or install it system-wide with:
|
51
|
+
|
52
|
+
```shell
|
53
|
+
$ gem install jekyll-oceanic
|
54
|
+
...
|
55
|
+
```
|
56
|
+
|
57
|
+
### Step 2: Configuration
|
58
|
+
|
59
|
+
Once installed, the theme should run out of the box with no configuration
|
60
|
+
required. However, you will want to customize in order to set up your website
|
61
|
+
the way you want.
|
62
|
+
|
63
|
+
See [HERE](CONFIGURATION.md) for a rundown of the various configuration
|
64
|
+
options.
|
65
|
+
|
66
|
+
## Customization
|
67
|
+
|
68
|
+
The theme can be easily customized by creating *skins*. Skins are
|
69
|
+
[Sass](https://sass-lang.com/) files that define colors, fonts, and various
|
70
|
+
other style properties that can be adjusted.
|
71
|
+
|
72
|
+
See HERE for a brief introduction to skinning.
|
73
|
+
|
74
|
+
## Contributing
|
75
|
+
|
76
|
+
Bug reports and pull requests are welcome on GitHub at
|
77
|
+
https://github.com/karlnicoll/jekyll-oceanic. This project is intended to be a
|
78
|
+
safe, welcoming space for collaboration, and contributors are expected to
|
79
|
+
adhere to the [Contributor Covenant](http://contributor-covenant.org) code of
|
80
|
+
conduct.
|
81
|
+
|
82
|
+
## Development
|
83
|
+
|
84
|
+
To set up your environment to develop this theme, run `bundle install`.
|
85
|
+
|
86
|
+
Your theme is setup just like a normal Jekyll site! To test your theme, run
|
87
|
+
`bundle exec jekyll serve` and open your browser at `http://localhost:4000`.
|
88
|
+
This starts a Jekyll server using your theme. Add pages, documents, data, etc.
|
89
|
+
like normal to test your theme's contents. As you make modifications to your
|
90
|
+
theme and to your content, your site will regenerate and you should see the
|
91
|
+
changes in the browser after a refresh, just like normal.
|
92
|
+
|
93
|
+
## License
|
94
|
+
|
95
|
+
The theme is available as open source under the terms of the
|
96
|
+
[MIT License](https://opensource.org/licenses/MIT).
|
data/_config.yml
ADDED
@@ -0,0 +1,106 @@
|
|
1
|
+
# Theme. Always "jekyll-oceanic" if using this theme.
|
2
|
+
theme: jekyll-oceanic
|
3
|
+
|
4
|
+
# Your name (or the company name for a company site). This is displayed
|
5
|
+
# in the header.
|
6
|
+
author:
|
7
|
+
name: "Oceanic"
|
8
|
+
|
9
|
+
# A description of you, or of the site. This is displayed in the header.
|
10
|
+
description: A minimalist, blue, Jekyll theme.
|
11
|
+
|
12
|
+
# Show the first openings of posts when listing. Set to false to just
|
13
|
+
# display titles and dates.
|
14
|
+
show_excerpts: true
|
15
|
+
|
16
|
+
# Custom theme settings. Specify the specific skin or syntax
|
17
|
+
# highlighting here.
|
18
|
+
oceanic:
|
19
|
+
skin: default
|
20
|
+
code-skin: default
|
21
|
+
|
22
|
+
# If you wish to have a photo or logo in the header, specify the
|
23
|
+
# following values:
|
24
|
+
#
|
25
|
+
# * url - the url (or local path) of the image to use as the avatar
|
26
|
+
# (default: no avatar).
|
27
|
+
# * width - the width of the image (default: 100px).
|
28
|
+
# * height - the height of the image (default: 100px).
|
29
|
+
#
|
30
|
+
avatar:
|
31
|
+
url: "/assets/img/avatar.jpg"
|
32
|
+
width: "100px"
|
33
|
+
height: "100px"
|
34
|
+
|
35
|
+
# Social media links. If the link is specified, an icon is shown in the
|
36
|
+
# header as a link.
|
37
|
+
social:
|
38
|
+
facebook: https://www.facebook.com/jekyll.user
|
39
|
+
github: https://www.github.com/jekyll.user
|
40
|
+
linkedin: https://www.linkedin.com/in/jekylluser
|
41
|
+
stackoverflow: https://stackoverflow.com/users/00000/stack-user
|
42
|
+
steam: https://steamcommunity.com/id/jekylluser/
|
43
|
+
twitter: https://www.twitter.com/jekylluser
|
44
|
+
|
45
|
+
# If specified, sets the number of blog entries to display from the
|
46
|
+
# homepage. More blog entries can be found by navigating to a
|
47
|
+
# separate post list.
|
48
|
+
homepage_blog_entries: 5
|
49
|
+
|
50
|
+
# Pagination settings. The Oceanic template uses jekyll-paginate-v2 to
|
51
|
+
# allow pagination of posts.
|
52
|
+
pagination:
|
53
|
+
enabled: true
|
54
|
+
debug: false
|
55
|
+
collection: posts
|
56
|
+
per_page: 1
|
57
|
+
permalink: "/page:num/"
|
58
|
+
title: ':title'
|
59
|
+
limit: 0
|
60
|
+
sort_field: date
|
61
|
+
sort_reverse: true
|
62
|
+
category: posts
|
63
|
+
tag: ''
|
64
|
+
locale: ''
|
65
|
+
|
66
|
+
# The Oceanic template provides layout support for the jekyll-archives
|
67
|
+
# plugin. If you are using it, it can be configured here.
|
68
|
+
autopages:
|
69
|
+
enabled: true
|
70
|
+
|
71
|
+
categories:
|
72
|
+
enabled: true
|
73
|
+
layouts:
|
74
|
+
- 'autopage.html'
|
75
|
+
title: 'Posts in category :cat'
|
76
|
+
|
77
|
+
tags:
|
78
|
+
enabled: false
|
79
|
+
layouts:
|
80
|
+
- 'autopage.html'
|
81
|
+
|
82
|
+
collections:
|
83
|
+
enabled: false
|
84
|
+
|
85
|
+
# Specify the code highlighter. Oceanic is tested against the Rouge
|
86
|
+
# syntax highlighter.
|
87
|
+
highlighter: rouge
|
88
|
+
|
89
|
+
# The Oceanic template provides layout support for the jekyll-archives
|
90
|
+
# plugin. If you are using it, it can be configured here.
|
91
|
+
# jekyll-archives:
|
92
|
+
# enabled:
|
93
|
+
# - categories
|
94
|
+
# - tags
|
95
|
+
# layout: archive
|
96
|
+
# permalinks:
|
97
|
+
# year: '/:year/'
|
98
|
+
# month: '/:year/:month/'
|
99
|
+
# day: '/:year/:month/:day/'
|
100
|
+
# tag: '/tag/:name/'
|
101
|
+
# category: '/category/:name/'
|
102
|
+
|
103
|
+
plugins:
|
104
|
+
- jekyll-feed
|
105
|
+
- jekyll-paginate-v2
|
106
|
+
- jekyll-seo-tag
|
@@ -0,0 +1,68 @@
|
|
1
|
+
{%- if include.postlist.size > 0 and include.postlist.size -%}
|
2
|
+
{%- assign date_format = site.date_format | default: "%b %-d, %Y" -%}
|
3
|
+
<ol class="blog-entries">
|
4
|
+
{%- for post in include.postlist -%}
|
5
|
+
<li role="article">
|
6
|
+
<h3><a href="{{ post.url | relative_url }}">{{ post.title | escape }}</a></h3>
|
7
|
+
<aside>Published: {{ post.date | date: date_format }}</aside>
|
8
|
+
{{ post.excerpt }}
|
9
|
+
<a href="{{ post.url | relative_url }}">Continue reading...</a></h3>
|
10
|
+
</li>
|
11
|
+
{%- endfor -%}
|
12
|
+
</ol>
|
13
|
+
|
14
|
+
{% if include.paginator and include.paginator.total_pages > 1 %}
|
15
|
+
{%- if page.pagination.permalink -%}
|
16
|
+
{% assign page_permalink = page.pagination.permalink %}
|
17
|
+
{%- else -%}
|
18
|
+
{% assign page_permalink = site.pagination.permalink %}
|
19
|
+
{%- endif -%}
|
20
|
+
{%- comment -%}
|
21
|
+
#
|
22
|
+
# HACK: We need the paginator's base directory in order to provide
|
23
|
+
# page direct links. Unfortunately, there is no particularly easy
|
24
|
+
# way of working out the directory from the include.paginator. For example,
|
25
|
+
# `page.dir` could return '/blog/page2/' on the second paginator
|
26
|
+
# page, which is not the desired directory (we'd actually want
|
27
|
+
# '/blog/'). So generate here using a bit of a hack.
|
28
|
+
#
|
29
|
+
# * On the first page, generation from page.dir is valid.
|
30
|
+
# * On subsequent pages, work out the page-y portion of the URL and
|
31
|
+
# replace it.
|
32
|
+
#
|
33
|
+
{%- endcomment -%}
|
34
|
+
{%- if 1 == include.paginator.page -%}
|
35
|
+
{%- assign page_path_format = page.dir | append: page_permalink | replace: "//", "/" -%}
|
36
|
+
{%- else -%}
|
37
|
+
{%- assign current_page_subdirectory = page_permalink | replace: ':num', include.paginator.page -%}
|
38
|
+
{%- assign page_path_format = page.dir | remove_first: current_page_subdirectory | append: page_permalink -%}
|
39
|
+
{%- endif -%}
|
40
|
+
<ul class="pages">
|
41
|
+
{%- if include.paginator.previous_page -%}
|
42
|
+
<li><a title="Go to last page" href="{{ include.paginator.first_page_path | relative_url }}">«</a></li>
|
43
|
+
<li><a title="Go to previous page" href="{{ include.paginator.previous_page_path | relative_url }}">‹</a></li>
|
44
|
+
{%- else -%}
|
45
|
+
<li><span title="Go to previous page">«</span></li>
|
46
|
+
<li><span title="Go to first page">‹</span></li>
|
47
|
+
{%- endif -%}
|
48
|
+
{%- for page_number in (1..include.paginator.total_pages) -%}
|
49
|
+
{%- if page_number == include.paginator.page -%}
|
50
|
+
<li><a title="Refresh this page" href="{{ include.paginator.current_page_path }}">◉</a></li>
|
51
|
+
{%- elsif page_number == 1 -%}
|
52
|
+
<li><a title="Go to page 1" href="{{ include.paginator.first_page_path | relative_url }}">○</a></li>
|
53
|
+
{%- else -%}
|
54
|
+
<li><a title="Go to page {{page_number}}" href="{{ page_path_format | relative_url | replace: ':num', page_number }}">○</a></li>
|
55
|
+
{%- endif -%}
|
56
|
+
{%- endfor -%}
|
57
|
+
|
58
|
+
{%- if include.paginator.next_page -%}
|
59
|
+
<li><a title="Go to next page" href="{{ include.paginator.next_page_path | relative_url }}">›</a></li>
|
60
|
+
<li><a title="Go to last page" href="{{ include.paginator.last_page_path | relative_url }}">»</a></li>
|
61
|
+
{%- else -%}
|
62
|
+
<li><span title="Go to next page">›</span></li>
|
63
|
+
<li><span title="Go to last page">»</span></li>
|
64
|
+
{%- endif -%}
|
65
|
+
</ul>
|
66
|
+
{%- endif %}
|
67
|
+
|
68
|
+
{%- endif -%}
|
data/_includes/head.html
ADDED
@@ -0,0 +1,6 @@
|
|
1
|
+
<title>{{site.author.name}}{% if page.title and page.url != "/" and page.url != "/index.html" %} | {{page.title}}{% endif %}</title>
|
2
|
+
<link rel="stylesheet" href="{{ "/assets/css/style.css" | relative_url }}">
|
3
|
+
<link rel="shortcut icon" type="image/png" href="{{ "/assets/img/favicon.png" | relative_url }}">
|
4
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
5
|
+
<meta charset="UTF-8">
|
6
|
+
{% seo title=false %}
|
@@ -0,0 +1,66 @@
|
|
1
|
+
<header>
|
2
|
+
<div class="profile-area">
|
3
|
+
{% if site.oceanic.avatar-url != blank %}
|
4
|
+
<div class="avatar-wrap"><div class="avatar"></div></div>
|
5
|
+
{% endif %}
|
6
|
+
<div class="header-text-wrap">
|
7
|
+
<div class="header-text">
|
8
|
+
<h1>{{ site.author.name }}</h1>
|
9
|
+
<h2>{{ site.description }}</h2>
|
10
|
+
</div>
|
11
|
+
</div>
|
12
|
+
</div>
|
13
|
+
|
14
|
+
<input type="checkbox" id="oceanic-theme-display-nav" />
|
15
|
+
<label for="oceanic-theme-display-nav" style="width:100%;">
|
16
|
+
<svg viewBox="0 0 750 260">
|
17
|
+
<use xlink:href="{{ '/assets/img/icons.svg#menu' | relative_url }}"></use>
|
18
|
+
</svg>
|
19
|
+
</label>
|
20
|
+
|
21
|
+
<nav>
|
22
|
+
{%- assign pages = site.pages | where_exp: "item", "item.nav and item.nav.enabled and item.title and item.autogen == nil" | sort "title", "last" -%}
|
23
|
+
<ul>
|
24
|
+
{%- assign: index_page_url = "/" | relative_url -%}
|
25
|
+
<li{% if page.url == "/" %} class="current"{% endif %}><a href="{{ "/" | relative_url }}">Home</a></li>
|
26
|
+
{%- for my_page in pages -%}
|
27
|
+
{%- if my_page.title and "/" != my_page.url -%}
|
28
|
+
{%- if page.url == my_page.url -%}
|
29
|
+
<li class="current">
|
30
|
+
{%- elsif my_page.pagegroup -%}
|
31
|
+
{%- if page.pagegroup -%}
|
32
|
+
{%- if page.pagegroup == my_page.pagegroup -%}
|
33
|
+
<li class="current">
|
34
|
+
{%- else -%}
|
35
|
+
<li>
|
36
|
+
{%- endif -%}
|
37
|
+
{%- elsif layout.pagegroup -%}
|
38
|
+
{%- if layout.pagegroup == my_page.pagegroup -%}
|
39
|
+
<li class="current">
|
40
|
+
{% else %}
|
41
|
+
<li>
|
42
|
+
{% endif %}
|
43
|
+
{% else %}
|
44
|
+
<li>
|
45
|
+
{% endif %}
|
46
|
+
{% else %}
|
47
|
+
<li>
|
48
|
+
{% endif %}
|
49
|
+
<a href="{{ my_page.url | relative_url }}"> {{ my_page.title | escape }}</a>
|
50
|
+
</li>
|
51
|
+
{%- endif -%}
|
52
|
+
{%- endfor -%}
|
53
|
+
</ul>
|
54
|
+
</nav>
|
55
|
+
|
56
|
+
<div class="social-icons">
|
57
|
+
<ul>
|
58
|
+
{%- if site.oceanic.social.facebook -%}<li><a rel="me" href="{{ site.oceanic.social.facebook }}" title="{{ site.author.name | append: " at Facebook" }}"><svg viewBox="0 0 24 24"><use xlink:href="{{ '/assets/img/icons.svg#facebook' | relative_url }}"></use></svg></a></li>{%- endif -%}
|
59
|
+
{%- if site.oceanic.social.twitter -%}<li><a rel="me" href="{{ site.oceanic.social.twitter }}" title="{{ site.author.name | append: " at Twitter" }}"><svg viewBox="0 0 24 24"><use xlink:href="{{ '/assets/img/icons.svg#twitter' | relative_url }}"></use></svg></a></li>{%- endif -%}
|
60
|
+
{%- if site.oceanic.social.linkedin -%}<li><a rel="me" href="{{ site.oceanic.social.linkedin }}" title="{{ site.author.name | append: " at LinkedIn" }}"><svg viewBox="0 0 24 24"><use xlink:href="{{ '/assets/img/icons.svg#linkedin' | relative_url }}"></use></svg></a></li>{%- endif -%}
|
61
|
+
{%- if site.oceanic.social.stackoverflow -%}<li><a rel="me" href="{{ site.oceanic.social.stackoverflow }}" title="{{ site.author.name | append: " at StackOverflow" }}"><svg viewBox="0 0 24 24"><use xlink:href="{{ '/assets/img/icons.svg#stackoverflow' | relative_url }}"></use></svg></a></li>{%- endif -%}
|
62
|
+
{%- if site.oceanic.social.github -%}<li><a rel="me" href="{{ site.oceanic.social.github }}" title="{{ site.author.name | append: " at Github" }}"><svg viewBox="0 0 24 24"><use xlink:href="{{ '/assets/img/icons.svg#github' | relative_url }}"></use></svg></a></li>{%- endif -%}
|
63
|
+
{%- if site.oceanic.social.steam -%}<li><a rel="me" href="{{ site.oceanic.social.steam }}" title="{{ site.author.name | append: " at Steam" }}"><svg viewBox="0 0 24 24"><use xlink:href="{{ '/assets/img/icons.svg#steam' | relative_url }}"></use></svg></a></li>{%- endif -%}
|
64
|
+
</ul>
|
65
|
+
</div>
|
66
|
+
</header>
|
@@ -0,0 +1 @@
|
|
1
|
+
{% assign error_page = "/404.html" %}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
---
|
2
|
+
layout: default
|
3
|
+
---
|
4
|
+
|
5
|
+
<h1>{{page.title}}</h1>
|
6
|
+
|
7
|
+
{{ content }}
|
8
|
+
|
9
|
+
{% if page.pagination.enabled %}
|
10
|
+
{% assign posts = paginator.posts %}
|
11
|
+
{% assign my_paginator = paginator %}
|
12
|
+
{% else %}
|
13
|
+
{% assign posts = site.posts %}
|
14
|
+
{% assign my_paginator = nil %}
|
15
|
+
{% endif %}
|
16
|
+
|
17
|
+
{% include bloglist.html postlist=posts paginator=my_paginator %}
|
@@ -0,0 +1,35 @@
|
|
1
|
+
---
|
2
|
+
layout: default
|
3
|
+
---
|
4
|
+
|
5
|
+
<h1>{{page.title}}</h1>
|
6
|
+
|
7
|
+
{{content}}
|
8
|
+
|
9
|
+
{%- comment -%}
|
10
|
+
#
|
11
|
+
# The code below detects if jekyll-archives is being used, or if
|
12
|
+
# the "autopages" feature of jekyll-paginate-v2 is being used.
|
13
|
+
#
|
14
|
+
{%- endcomment -%}
|
15
|
+
{%- if site.jekyll-archives.enabled contains "categories" -%}
|
16
|
+
{%- assign permalink_stub = site.jekyll-archives.permalinks["category"] -%}
|
17
|
+
{%- assign cat_name_placeholder = ":name" -%}
|
18
|
+
{%- elsif site.autopages.enabled and site.autopages.categories -%}
|
19
|
+
{%- assign permalink_stub = site.autopages.categories.permalink | default: '/category/:cat/' -%}
|
20
|
+
{%- assign cat_name_placeholder = ":cat" -%}
|
21
|
+
{%- else -%}
|
22
|
+
<aside>Error: Unable to detect category index plugin.</aside>
|
23
|
+
{%- endif -%}
|
24
|
+
|
25
|
+
<h2>Available Categories:</h2>
|
26
|
+
|
27
|
+
<ul class="cat-tag-col-list">
|
28
|
+
{% for category in site.categories %}
|
29
|
+
<li>
|
30
|
+
<a href={{ permalink_stub | replace: cat_name_placeholder, category[0] | relative_url }}>
|
31
|
+
{{ category[0] }}
|
32
|
+
</a>
|
33
|
+
</li>
|
34
|
+
{% endfor %}
|
35
|
+
</ul>
|