Compare commits

...

6 commits

15 changed files with 209 additions and 45 deletions

View file

@ -19,6 +19,7 @@ group :jekyll_plugins do
gem "jekyll-feed", "~> 0.12"
gem "jekyll-paginate-v2", "~> 3.0.0"
gem "classifier-reborn", "~> 2.2.0"
gem 'jekyll-sitemap'
end
# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem

View file

@ -38,6 +38,8 @@ GEM
jekyll (>= 3.0, < 5.0)
jekyll-sass-converter (2.1.0)
sassc (> 2.0.1, < 3.0)
jekyll-sitemap (1.4.0)
jekyll (>= 3.7, < 5.0)
jekyll-watch (2.2.1)
listen (~> 3.0)
kramdown (2.1.0)
@ -79,6 +81,7 @@ DEPENDENCIES
jekyll (~> 4.0.0)
jekyll-feed (~> 0.12)
jekyll-paginate-v2 (~> 3.0.0)
jekyll-sitemap
nokogiri (~> 1.10.9)
tzinfo (~> 1.2)
tzinfo-data

View file

@ -2,7 +2,11 @@ url: "" # the base hostname & protocol for your site, e.g. http://example.com
baseurl: "" # the subpath of your site, e.g. /blog
title: "Bune City Blog" # the name of your site, e.g. ACME Corp.
exclude: [old/]
plugins: [jekyll-feed, jekyll-paginate-v2, classifier-reborn]
plugins:
- jekyll-feed
- jekyll-paginate-v2
- classifier-reborn
- jekyll-sitemap
pagination:
enabled: true
@ -13,6 +17,25 @@ pagination:
sort_field: 'date'
sort_reverse: true
autopages:
enabled: true
categories:
layouts:
- pagination.html
title: "Category: :cat"
permalink: /categories/:cat
tags:
layouts:
- pagination_tags.html
title: "Posts tagged with :tag"
permalink: /tags/:tag
collections:
enabled: false
defaults:
- scope:
path: ""

3
_includes/footer.html Normal file
View file

@ -0,0 +1,3 @@
<footer>
Website content and design by <a href='https://lynnesbian.space'>Lynnesbian</a>. Post content licensed under CC-BY-SA 4.0. <a href='https://git.bune.city/lynnesbian/bune.city'>Website source</a>. <a href='/sitemap.xml'>Sitemap.</a>
</footer>

View file

@ -3,9 +3,10 @@
<img id='header-logo' src='/favicon.png' alt=''>
<h1><a href='/'>Bune City Blog</a></h1>
<nav>
<a href='/'>Categories</a>
<a href='/'>Tags</a>
<a href='/'>lynnesbian.space</a>
<a href='/categories.html'>Categories</a>
<a href='/tags.html'>Tags</a>
<a href="{{ site.url }}/feed.xml">RSS</a>
<a href='https://lynnesbian.space'>lynnesbian.space</a>
</nav>
</div>
</header>

View file

@ -7,6 +7,8 @@
<title>{{ page.title }} - {{ site.title }}</title>
<link rel="stylesheet" href="/assets/style.css">
<link rel='stylesheet' href='/assets/fonts/style.css'>
<link rel='stylesheet' href='/assets/syntax-highlighting.css'>
<link type="application/atom+xml" rel="alternate" href="{{ site.url }}/feed.xml" title="Bune City Blog">
<link href="https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600&display=swap" rel="stylesheet">
<!-- opengraph -->
@ -85,7 +87,11 @@
</head>
<body>
{{ content }}
<div id='thing-that-makes-the-footer-be-at-the-bottom-of-the-page'>
{% unless page.no_header %}{% include header.html %}{% endunless %}
{{ content }}
</div>
{% unless page.no_footer %}{% include footer.html %}{% endunless %}
</body>
</html>

35
_layouts/pagination.html Normal file
View file

@ -0,0 +1,35 @@
---
layout: default
---
<h1 id='logo'>{{ site.title }}</h1>
{%- if page.autopages %}
<div id='subheading'>Posts {{ page.pagination_type | default: "in category" }} "{{ page.autopages.display_name }}"</div>
{% endif -%}
<main>
<div id='posts'>
{% for post in paginator.posts %}
<div class='post'>
<h2><a href='{{ post.url }}'>{{ post.title }}</a></h2>
<div id='post-info'>
<i class='material-icons'>access_time</i> <time datetime="{{ post.date | date_to_xmlschema }}">{{ post.date | date_to_string: "ordinal" }}</time>
<i class='material-icons'>group_work</i>
{{ " " }}{%- for category in post.categories -%}
<a href='/categories/{{ category | downcase }}'>{{ category }}</a>
{%- unless category == post.categories.last %}, {% endunless %}
{%- endfor %} <br>
</div>
<div class='post-excerpt'>
<p>{{ post.summary | default: post.excerpt }}</p>
</div>
</div>
{% endfor %}
{%- if paginator.total_pages > 1 %}
<div id='pagination'>
<a {%- if paginator.previous_page %} href='{{ paginator.previous_page_path | absolute_url }}' rel='prev' {%- endif %}>Newer</a>
Page {{ paginator.page }} of {{ paginator.total_pages }}
<a {%- if paginator.next_page %} href='{{ paginator.next_page_path | absolute_url }}' rel='next' {%- endif %}>Older</a>
</div>
{%- endif %}
</div>
</main>

View file

@ -0,0 +1,4 @@
---
layout: pagination
pagination_type: with tag
---

View file

@ -1,7 +1,7 @@
---
layout: default
---
{% include header.html %}
<script data-isso="//isso.bune.city/" src="//isso.bune.city/js/embed.min.js"></script>
<h1 id='post-title'>{{ page.title }}</h1>
<main>
<article id='post-content'>
@ -9,14 +9,16 @@ layout: default
<i class='material-icons'>access_time</i> Published {{ page.date | date_to_long_string: "ordinal" }} <br>
<i class='material-icons'>group_work</i> Categories:
{{ " " }}{%- for category in page.categories -%}
<a href='/categories/{{ category }}'>{{ category }}</a>
<a href='/categories/{{ category | downcase }}'>{{ category }}</a>
{%- unless category == page.categories.last %}, {% endunless %}
{%- endfor %} <br>
{%- if page.tags.size > 0 -%}
<i class='material-icons'>label</i> Tags:
{{ " " }}{%- for tag in page.tags -%}
<a href='/tags/{{ category }}'>{{ tag }}</a>
<a href='/tags/{{ tag | downcase }}' rel='tag'>{{ tag }}</a>
{%- unless tag == page.tags.last %}, {% endunless %}
{%- endfor %}
{%- endif %}
</section>
<section id='post-body'>
{{ content }}
@ -43,12 +45,13 @@ layout: default
{%- unless summary %}
{%- assign summary = page.excerpt | summarise | truncate: 150 %}
{%- endunless %}
<a class='post-share mastodon' target='_blank' href='/mastodon-share.html#Bune City Blog - {{ page.title }}%0A%0A{{ summary }}%0A{{ page.url | absolute_url }}%0A%23BuneCityBlog'></a>
{%- assign summary = summary | escape %}
<a class='post-share mastodon' target='_blank' href='/mastodon-share.html#Bune City Blog - {{ page.title }}%0A%0A{{ summary }}%0A%0A{{ page.url | absolute_url }} %23BuneCityBlog'></a>
<a class='post-share email' target='_blank' href="mailto:?subject={{ page.title }} - Bune City Blog&amp;body=An interesting article I read on the Bune City Blog: {{ summary }} Read more: {{ page.url }}"></a>
</section>
<section id='post-comments'>
<h2 id='comments'>Leave a comment</h2>
coming soon uwu
<div id='isso-thread'></div>
</section>
</article>
</main>

View file

@ -20,7 +20,7 @@ The fix
Create a file called `xdg-mime` in `/usr/local/bin` by running `sudo nano /usr/local/bin/xdg-mime`. Paste this in the file:
``` {.wp-block-code}
```bash
#!/usr/bin/sh
if [[ "$@" == *"x-scheme-handler/discord"* ]] || [[ "$@" == *"x-scheme-handler/spotify"* ]]; then
/usr/bin/true

View file

@ -19,7 +19,7 @@ The code
If you'd like to run this on your own instance, here's the CSS:
``` {.wp-block-code}
```css
.media-gallery__preview--hidden {
display: block;
}

View file

@ -1,7 +1,12 @@
body {
font-family: "Liberation Sans", "Nimbus Sans", "Arial", "Helvetica", sans-serif;
margin: 0;
margin-bottom: 20px;
display: flex;
flex-direction: column;
min-height: 100vh;
}
#thing-that-makes-the-footer-be-at-the-bottom-of-the-page {
flex: 1 1;
}
h1 {
@ -13,11 +18,24 @@ h1#logo {
font-family: "Playfair Display", serif;
}
header {
#subheading {
text-align: center;
font-family: serif;
font-size: 1.3em;
margin-top: -20px;
}
header, footer {
font-family: sans-serif;
background: #fafafa;
padding: 0 20px;
}
footer {
margin-top: 20px;
text-align: center;
padding: 10px 20px;
}
nav {
display: inline-block;
}

View file

@ -0,0 +1,95 @@
/* Dracula Theme v1.2.5
*
* https://github.com/zenorocha/dracula-theme
*
* Copyright 2016, All rights reserved
*
* Code licensed under the MIT license
* http://zenorocha.mit-license.org
*
* @author Rob G <wowmotty@gmail.com>
* @author Chris Bracco <chris@cbracco.me>
* @author Zeno Rocha <hi@zenorocha.com>
* modified slightly by lynnesbian (henlo)
* @author Lynnesbian <lynne@bune.city>
*/
.highlight pre { background: #282a36; color: #f8f8f2; overflow-x: auto; padding: 5px 10px; }
.highlight code { font-family: "Liberation Mono"; white-space: pre; line-height: 1.6em; font-size: 0.9rem; }
.highlight .hll { background-color: #f1fa8c }
.highlight .c { color: #6272a4 } /* Comment */
.highlight .err { color: #f8f8f2 } /* Error */
.highlight .g { color: #f8f8f2 } /* Generic */
.highlight .k { color: #ff79c6 } /* Keyword */
.highlight .l { color: #f8f8f2 } /* Literal */
.highlight .n { color: #f8f8f2 } /* Name */
.highlight .o { color: #ff79c6 } /* Operator */
.highlight .x { color: #f8f8f2 } /* Other */
.highlight .p { color: #f8f8f2 } /* Punctuation */
.highlight .ch { color: #6272a4 } /* Comment.Hashbang */
.highlight .cm { color: #6272a4 } /* Comment.Multiline */
.highlight .cp { color: #ff79c6 } /* Comment.Preproc */
.highlight .cpf { color: #6272a4 } /* Comment.PreprocFile */
.highlight .c1 { color: #6272a4 } /* Comment.Single */
.highlight .cs { color: #6272a4 } /* Comment.Special */
.highlight .gd { color: #8b080b } /* Generic.Deleted */
.highlight .ge { color: #f8f8f2; text-decoration: underline } /* Generic.Emph */
.highlight .gr { color: #f8f8f2 } /* Generic.Error */
.highlight .gh { color: #f8f8f2; font-weight: bold } /* Generic.Heading */
.highlight .gi { color: #f8f8f2; font-weight: bold } /* Generic.Inserted */
.highlight .go { color: #44475a } /* Generic.Output */
.highlight .gp { color: #f8f8f2 } /* Generic.Prompt */
.highlight .gs { color: #f8f8f2 } /* Generic.Strong */
.highlight .gu { color: #f8f8f2; font-weight: bold } /* Generic.Subheading */
.highlight .gt { color: #f8f8f2 } /* Generic.Traceback */
.highlight .kc { color: #ff79c6 } /* Keyword.Constant */
.highlight .kd { color: #8be9fd; font-style: italic } /* Keyword.Declaration */
.highlight .kn { color: #ff79c6 } /* Keyword.Namespace */
.highlight .kp { color: #ff79c6 } /* Keyword.Pseudo */
.highlight .kr { color: #ff79c6 } /* Keyword.Reserved */
.highlight .kt { color: #8be9fd } /* Keyword.Type */
.highlight .ld { color: #f8f8f2 } /* Literal.Date */
.highlight .m { color: #bd93f9 } /* Literal.Number */
.highlight .s { color: #f1fa8c } /* Literal.String */
.highlight .na { color: #50fa7b } /* Name.Attribute */
.highlight .nb { color: #8be9fd; font-style: italic } /* Name.Builtin */
.highlight .nc { color: #50fa7b } /* Name.Class */
.highlight .no { color: #f8f8f2 } /* Name.Constant */
.highlight .nd { color: #f8f8f2 } /* Name.Decorator */
.highlight .ni { color: #f8f8f2 } /* Name.Entity */
.highlight .ne { color: #f8f8f2 } /* Name.Exception */
.highlight .nf { color: #50fa7b } /* Name.Function */
.highlight .nl { color: #8be9fd; font-style: italic } /* Name.Label */
.highlight .nn { color: #f8f8f2 } /* Name.Namespace */
.highlight .nx { color: #f8f8f2 } /* Name.Other */
.highlight .py { color: #f8f8f2 } /* Name.Property */
.highlight .nt { color: #ff79c6 } /* Name.Tag */
.highlight .nv { color: #8be9fd; font-style: italic } /* Name.Variable */
.highlight .ow { color: #ff79c6 } /* Operator.Word */
.highlight .w { color: #f8f8f2 } /* Text.Whitespace */
.highlight .mb { color: #bd93f9 } /* Literal.Number.Bin */
.highlight .mf { color: #bd93f9 } /* Literal.Number.Float */
.highlight .mh { color: #bd93f9 } /* Literal.Number.Hex */
.highlight .mi { color: #bd93f9 } /* Literal.Number.Integer */
.highlight .mo { color: #bd93f9 } /* Literal.Number.Oct */
.highlight .sa { color: #f1fa8c } /* Literal.String.Affix */
.highlight .sb { color: #f1fa8c } /* Literal.String.Backtick */
.highlight .sc { color: #f1fa8c } /* Literal.String.Char */
.highlight .dl { color: #f1fa8c } /* Literal.String.Delimiter */
.highlight .sd { color: #f1fa8c } /* Literal.String.Doc */
.highlight .s2 { color: #f1fa8c } /* Literal.String.Double */
.highlight .se { color: #f1fa8c } /* Literal.String.Escape */
.highlight .sh { color: #f1fa8c } /* Literal.String.Heredoc */
.highlight .si { color: #f1fa8c } /* Literal.String.Interpol */
.highlight .sx { color: #f1fa8c } /* Literal.String.Other */
.highlight .sr { color: #f1fa8c } /* Literal.String.Regex */
.highlight .s1 { color: #f1fa8c } /* Literal.String.Single */
.highlight .ss { color: #f1fa8c } /* Literal.String.Symbol */
.highlight .bp { color: #f8f8f2; font-style: italic } /* Name.Builtin.Pseudo */
.highlight .fm { color: #50fa7b } /* Name.Function.Magic */
.highlight .vc { color: #8be9fd; font-style: italic } /* Name.Variable.Class */
.highlight .vg { color: #8be9fd; font-style: italic } /* Name.Variable.Global */
.highlight .vi { color: #8be9fd; font-style: italic } /* Name.Variable.Instance */
.highlight .vm { color: #8be9fd; font-style: italic } /* Name.Variable.Magic */
.highlight .il { color: #bd93f9 } /* Literal.Number.Integer.Long */

View file

@ -1,36 +1,6 @@
---
layout: default
layout: pagination
title: "bune.city - Home"
pagination:
enabled: true
---
{% include header.html %}
<h1 id='logo'>{{ site.title }}</h1>
<main>
<div id='posts'>
{% for post in paginator.posts %}
<div class='post'>
<h2><a href='{{ post.url }}'>{{ post.title }}</a></h2>
<div id='post-info'>
<i class='material-icons'>access_time</i> {{ post.date | date_to_string: "ordinal" }}
<i class='material-icons'>group_work</i>
{{ " " }}{%- for category in post.categories -%}
<a href='/categories/{{ category }}'>{{ category }}</a>
{%- unless category == post.categories.last %}, {% endunless %}
{%- endfor %} <br>
</div>
<div class='post-excerpt'>
<p>{{ post.summary | default: post.excerpt }}</p>
</div>
</div>
{% endfor %}
{%- if paginator.total_pages > 1 %}
<div id='pagination'>
<a {%- if paginator.previous_page %} href='{{ paginator.previous_page_path | absolute_url }}' {%- endif %}>Newer</a>
Page {{ paginator.page }} of {{ paginator.total_pages }}
<a {%- if paginator.next_page %} href='{{ paginator.next_page_path | absolute_url }}' {%- endif %}>Older</a>
</div>
{%- endif %}
</div>
</main>

View file

@ -1,6 +1,8 @@
---
title: Share Bune City Blog post on Mastodon
layout: default
no_header: true
no_footer: true
---
<script src='/assets/mastodon-share.js'></script>
<main>