diff options
-rw-r--r-- | Gemfile | 1 | ||||
-rw-r--r-- | _config.yml | 8 | ||||
-rw-r--r-- | _includes/header.html | 33 | ||||
-rw-r--r-- | _layouts/home.html | 38 | ||||
-rw-r--r-- | index.md | 2 |
5 files changed, 82 insertions, 0 deletions
@@ -13,4 +13,5 @@ gem "minima", "~> 2.0" group :jekyll_plugins do gem "jekyll-redirect-from", "~> 0.15.0" gem "jekyll-feed", "~> 0.6" + gem "jekyll-paginate-v2", "~> 2.0" end diff --git a/_config.yml b/_config.yml index dbc43b9..c0f2de8 100644 --- a/_config.yml +++ b/_config.yml @@ -20,6 +20,9 @@ timezone: Europe/Berlin # Build settings markdown: kramdown +# avoid deep nesting when using categories +permalink: /:year/:month/:title.html + theme: minima minima: @@ -30,3 +33,8 @@ mastodon: instance: vulpine.club #show_excerpts: true + +pagination: + enabled: false + per_page: 5 + title: ":title (Seite :num)" diff --git a/_includes/header.html b/_includes/header.html new file mode 100644 index 0000000..dc42cdd --- /dev/null +++ b/_includes/header.html @@ -0,0 +1,33 @@ +<header class="site-header" role="banner"> + + <div class="wrapper"> + <a class="site-title" rel="author" href="{{ "/" | relative_url }}">{{ site.title | escape }}</a> + + <nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger" /> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewBox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"/> + </svg> + </span> + </label> + + <div class="trigger"> + <!-- + my_page.autogen is populated by the pagination logic for all pages + that are automatically created by the gem. Check for non-existence to exclude pagination pages from site.pages iterators + --> + + <!-- add exclusion of /index to avoid having the link twice --> + + {% for my_page in site.pages %} + {% if my_page.title and my_page.autogen == nil and my_page.url != "/index.html" %} + <a class="page-link" href="{{ my_page.url | relative_url }}">{{ my_page.title | escape }}</a> + {% endif %} + {% endfor %} + + </div> + </nav> + </div> +</header> diff --git a/_layouts/home.html b/_layouts/home.html new file mode 100644 index 0000000..cb212bb --- /dev/null +++ b/_layouts/home.html @@ -0,0 +1,38 @@ +--- +layout: default +--- + +<div class="home"> + {%- if page.title -%} + <h1 class="page-heading">{{ page.title }}</h1> + {%- endif -%} + + {{ content }} + + {%- if site.posts.size > 0 -%} + <h2 class="post-list-heading">{{ page.list_title | default: "Posts" }}</h2> + <ul class="post-list"> + {% if paginator == nil %} + {% assign paginator = site %} + {% endif %} + + {%- for post in paginator.posts -%} + <li> + {%- assign date_format = site.minima.date_format | default: "%b %-d, %Y" -%} + <span class="post-meta">{{ post.date | date: date_format }}</span> + <h3> + <a class="post-link" href="{{ post.url | relative_url }}"> + {{ post.title | escape }} + </a> + </h3> + {%- if site.show_excerpts -%} + {{ post.excerpt }} + {%- endif -%} + </li> + {%- endfor -%} + </ul> + + <p class="rss-subscribe">subscribe <a href="{{ "/feed.xml" | relative_url }}">via RSS</a></p> + {%- endif -%} + +</div> @@ -4,4 +4,6 @@ layout: home list_title: Beiträge +pagination: + enabled: true --- |