diff options
| -rw-r--r-- | README.md | 33 | ||||
| -rw-r--r-- | config.toml | 15 | ||||
| -rw-r--r-- | sass/style.scss | 4 | ||||
| -rw-r--r-- | templates/base.html | 14 | ||||
| -rw-r--r-- | templates/categories/list.html | 16 | ||||
| -rw-r--r-- | templates/categories/single.html | 26 | ||||
| -rw-r--r-- | templates/contexts/list.html | 14 | ||||
| -rw-r--r-- | templates/contexts/single.html | 26 | ||||
| -rw-r--r-- | templates/index.html | 2 | ||||
| -rw-r--r-- | templates/page.html | 18 | ||||
| -rw-r--r-- | templates/tags/list.html | 14 | ||||
| -rw-r--r-- | templates/tags/single.html | 26 | ||||
| -rw-r--r-- | templates/taxonomy_list.html | 1 | ||||
| -rw-r--r-- | templates/taxonomy_single.html | 3 |
14 files changed, 205 insertions, 7 deletions
@@ -22,6 +22,19 @@ theme = "no-style-please" ## Options +### Default taxonomies + +Special templates for `tags`, `categories`, and `contexts` taxonomies are provided. However, generic templates exist for custom taxonomies. + +To use taxonomies, in a page metadata add + +```toml +[taxonomies] +tags = [ 'tag1', 'tag2' ] +categories = [ 'category A', 'B class' ] +genre = [ 'rock', 'alternative' ] # custom taxonomy +``` + ### Pages list in homepage To enable listing of pages in homepage add the following in `config.toml` @@ -31,6 +44,26 @@ To enable listing of pages in homepage add the following in `config.toml` list_pages = false ``` +### Header and footer nav links + +Also in the `extra` section in `config.toml` + +```toml +[extra] + +header_nav = [ + { name = "~home", url = "/" }, + { name = "#tags", url = "/tags" }, + { name = "+categories", url = "/categories" }, + { name = "@contexts", url = "/contexts" }, +] +footer_nav = [ + { name = "< previous", url = "#" }, + { name = "webring", url = "#" }, + { name = "next >", url = "#" }, +] +``` + ### Add TOC to pages In a page frontmatter, set `extra.add_toc` to `true` diff --git a/config.toml b/config.toml index 41c9b64..c112134 100644 --- a/config.toml +++ b/config.toml @@ -6,7 +6,9 @@ compile_sass = true generate_feed = true taxonomies = [ + { name = "tags" }, { name = "categories" }, + { name = "contexts" }, ] [markdown] @@ -14,4 +16,15 @@ highlight_code = true [extra] author = "Ahmed Alaa" -logo = "images/logo.png"
\ No newline at end of file +logo = "images/logo.png" +header_nav = [ + { name = "~home", url = "/" }, + { name = "#tags", url = "/tags" }, + { name = "+categories", url = "/categories" }, + { name = "@contexts", url = "/contexts" }, +] +footer_nav = [ + { name = "< previous", url = "#" }, + { name = "webring", url = "#" }, + { name = "next >", url = "#" }, +]
\ No newline at end of file diff --git a/sass/style.scss b/sass/style.scss index c1b9fc9..a4e6e49 100644 --- a/sass/style.scss +++ b/sass/style.scss @@ -102,4 +102,6 @@ img { p { display: inline; } -}
\ No newline at end of file +} + +nav, .taxonomies { text-align: center; }
\ No newline at end of file diff --git a/templates/base.html b/templates/base.html index e00a202..9e3965f 100644 --- a/templates/base.html +++ b/templates/base.html @@ -95,6 +95,13 @@ <body theme="auto"> <div class="w"> <header> + {% if config.extra.header_nav %} + <nav> + {% for nav_item in config.extra.header_nav %} + <a href="{{ nav_item.url | safe }}">{{ nav_item.name }}</a> + {% endfor %} + </nav> + {% endif %} {% block header %}{% if title %}<h1>{{ config.title }}</h1>{% endif %}{% endblock header %} </header> <main class="page-content" aria-label="Content"> @@ -102,6 +109,13 @@ </main> <footer> {% block footer %}{% endblock footer %} + {% if config.extra.footer_nav %} + <nav> + {% for nav_item in config.extra.footer_nav %} + <a href="{{ nav_item.url | safe }}">{{ nav_item.name }}</a> + {% endfor %} + </nav> + {% endif %} </footer> </div> </body> diff --git a/templates/categories/list.html b/templates/categories/list.html new file mode 100644 index 0000000..83b74fb --- /dev/null +++ b/templates/categories/list.html @@ -0,0 +1,16 @@ +{% extends "base.html" %} + +{% block header %} +<p><a href="{{ current_path }}..">..</a>{{ current_path }}</p> +<h1>{{ taxonomy.name }}</h1> +{% endblock header %} + +{% block content %} +<ul> +{% for term in terms %} + <li> + <a href="{{ term.permalink | safe }}">{{ term.name }}</a> [{{ term.pages | length }}] + </li> +{% endfor %} +</ul> +{% endblock content %}
\ No newline at end of file diff --git a/templates/categories/single.html b/templates/categories/single.html new file mode 100644 index 0000000..7a3ab44 --- /dev/null +++ b/templates/categories/single.html @@ -0,0 +1,26 @@ +{% extends "base.html" %} + +{% block header %} +<p><a href="{{ current_path }}">..</a>/{{ term.slug }}/</p> +<h1>{{ term.name }}</h1> +{% endblock header %} + +{% block content %} +{% if paginator %} +{% set pages = paginator.pages %} +{% else %} +{% set pages = term.pages %} +{% endif %} +<ul> +{% for page in pages %} + <li> + <a href="{{ page.permalink | safe }}">{% if page.date %}{{ page.date }} - {% endif %}{{ page.title }}</a> + <br /> + {{ page.description }} + </li> +{% endfor %} +</ul> +{% if paginator %} +<p>{% if paginator.previous %}<a href="{{ paginator.first }}"><< First</a> <a href="{{ paginator.previous }}">< Previous</a>{% endif %} [{{ paginator.current_index }}/{{ paginator.number_pagers }}] {% if paginator.next %}<a href="{{ paginator.next }}">Next ></a> <a href="{{ paginator.last }}">Last >></a>{% endif %}</p> +{% endif %} +{% endblock content %}
\ No newline at end of file diff --git a/templates/contexts/list.html b/templates/contexts/list.html new file mode 100644 index 0000000..c6a529b --- /dev/null +++ b/templates/contexts/list.html @@ -0,0 +1,14 @@ +{% extends "base.html" %} + +{% block header %} +<p><a href="{{ current_path }}..">..</a>{{ current_path }}</p> +<h1>{{ taxonomy.name }}</h1> +{% endblock header %} + +{% block content %} +<p> +{% for term in terms %} +<a href="{{ term.permalink | safe }}">@{{ term.name }}</a> +{% endfor %} +</p> +{% endblock content %}
\ No newline at end of file diff --git a/templates/contexts/single.html b/templates/contexts/single.html new file mode 100644 index 0000000..7a3ab44 --- /dev/null +++ b/templates/contexts/single.html @@ -0,0 +1,26 @@ +{% extends "base.html" %} + +{% block header %} +<p><a href="{{ current_path }}">..</a>/{{ term.slug }}/</p> +<h1>{{ term.name }}</h1> +{% endblock header %} + +{% block content %} +{% if paginator %} +{% set pages = paginator.pages %} +{% else %} +{% set pages = term.pages %} +{% endif %} +<ul> +{% for page in pages %} + <li> + <a href="{{ page.permalink | safe }}">{% if page.date %}{{ page.date }} - {% endif %}{{ page.title }}</a> + <br /> + {{ page.description }} + </li> +{% endfor %} +</ul> +{% if paginator %} +<p>{% if paginator.previous %}<a href="{{ paginator.first }}"><< First</a> <a href="{{ paginator.previous }}">< Previous</a>{% endif %} [{{ paginator.current_index }}/{{ paginator.number_pagers }}] {% if paginator.next %}<a href="{{ paginator.next }}">Next ></a> <a href="{{ paginator.last }}">Last >></a>{% endif %}</p> +{% endif %} +{% endblock content %}
\ No newline at end of file diff --git a/templates/index.html b/templates/index.html index 40487bc..dafb0e4 100644 --- a/templates/index.html +++ b/templates/index.html @@ -12,7 +12,7 @@ <ul> {% for page in pages %} <li> - <a href="{{ page.permalink | safe }}">{{ page.date }} - {{ page.title }}</a> + <a href="{{ page.permalink | safe }}">{% if page.date %}{{ page.date }} - {% endif %}{{ page.title }}</a> <br /> {{ page.description }} </li> diff --git a/templates/page.html b/templates/page.html index 1e395e3..aab169f 100644 --- a/templates/page.html +++ b/templates/page.html @@ -29,4 +29,20 @@ Table of contents {% endif %} {{ page.content | safe }} -{% endblock content %}
\ No newline at end of file +{% endblock content %} + +{% block footer %} +<p class="taxonomies"> +{% if page.taxonomies.tags %} +{% for tag in page.taxonomies.tags %} +<a href="/tags/{{ tag | slugify }}">#{{ tag }}</a> +{% endfor %} +{% for category in page.taxonomies.categories %} +<a href="/categories/{{ category | slugify }}">+{{ category }}</a> +{% endfor %} +{% for context in page.taxonomies.contexts %} +<a href="/contexts/{{ context | slugify }}">@{{ context }}</a> +{% endfor %} +{% endif %} +</p> +{% endblock footer %}
\ No newline at end of file diff --git a/templates/tags/list.html b/templates/tags/list.html new file mode 100644 index 0000000..11d1282 --- /dev/null +++ b/templates/tags/list.html @@ -0,0 +1,14 @@ +{% extends "base.html" %} + +{% block header %} +<p><a href="{{ current_path }}..">..</a>{{ current_path }}</p> +<h1>{{ taxonomy.name }}</h1> +{% endblock header %} + +{% block content %} +<p> +{% for term in terms %} +<a href="{{ term.permalink | safe }}">#{{ term.name }}</a>[{{ term.pages | length }}] +{% endfor %} +</p> +{% endblock content %}
\ No newline at end of file diff --git a/templates/tags/single.html b/templates/tags/single.html new file mode 100644 index 0000000..7a3ab44 --- /dev/null +++ b/templates/tags/single.html @@ -0,0 +1,26 @@ +{% extends "base.html" %} + +{% block header %} +<p><a href="{{ current_path }}">..</a>/{{ term.slug }}/</p> +<h1>{{ term.name }}</h1> +{% endblock header %} + +{% block content %} +{% if paginator %} +{% set pages = paginator.pages %} +{% else %} +{% set pages = term.pages %} +{% endif %} +<ul> +{% for page in pages %} + <li> + <a href="{{ page.permalink | safe }}">{% if page.date %}{{ page.date }} - {% endif %}{{ page.title }}</a> + <br /> + {{ page.description }} + </li> +{% endfor %} +</ul> +{% if paginator %} +<p>{% if paginator.previous %}<a href="{{ paginator.first }}"><< First</a> <a href="{{ paginator.previous }}">< Previous</a>{% endif %} [{{ paginator.current_index }}/{{ paginator.number_pagers }}] {% if paginator.next %}<a href="{{ paginator.next }}">Next ></a> <a href="{{ paginator.last }}">Last >></a>{% endif %}</p> +{% endif %} +{% endblock content %}
\ No newline at end of file diff --git a/templates/taxonomy_list.html b/templates/taxonomy_list.html index e27d135..37577ed 100644 --- a/templates/taxonomy_list.html +++ b/templates/taxonomy_list.html @@ -2,7 +2,6 @@ {% block header %} <p><a href="{{ current_path }}..">..</a>{{ current_path }}</p> - <h1>{{ taxonomy.name }}</h1> {% endblock header %} diff --git a/templates/taxonomy_single.html b/templates/taxonomy_single.html index 934cea5..7a3ab44 100644 --- a/templates/taxonomy_single.html +++ b/templates/taxonomy_single.html @@ -2,7 +2,6 @@ {% block header %} <p><a href="{{ current_path }}">..</a>/{{ term.slug }}/</p> - <h1>{{ term.name }}</h1> {% endblock header %} @@ -15,7 +14,7 @@ <ul> {% for page in pages %} <li> - <a href="{{ page.permalink | safe }}">{{ page.date }} - {{ page.title }}</a> + <a href="{{ page.permalink | safe }}">{% if page.date %}{{ page.date }} - {% endif %}{{ page.title }}</a> <br /> {{ page.description }} </li> |
