This commit is contained in:
2023-11-01 21:02:09 +01:00
parent ef15a6ec8f
commit 6d3b873928
15 changed files with 253 additions and 43 deletions

View File

@ -1,6 +1,8 @@
base_url = "https://stevenlr.com"
title = "Steven Le Rouzic"
description = "Programming, graphics, and more"
compile_sass = true
build_search_index = true
build_search_index = false
generate_feed = true
feed_filename = "rss.xml"
taxonomies = [

View File

@ -3,4 +3,5 @@ title = "Blog"
sort_by = "date"
template = "blog.html"
page_template = "blog-article.html"
paginate_by = 5
+++

2
deploy.sh Executable file
View File

@ -0,0 +1,2 @@
rsync -avzr --delete -e "ssh -i ~/.ssh/stevenlr.com.pem -o StrictHostKeyChecking=no -p 22" public/ ubuntu@stevenlr.com:/var/www/html

View File

@ -61,6 +61,12 @@
border-radius: 8px;
}
@media (prefers-color-scheme: dark) {
pre {
border: 1px solid var(--color-outline-variant);
}
}
ul {
list-style: square;
}

View File

@ -27,6 +27,11 @@ hr {
color: var(--color-on-background);
font-size: 32px;
font-family: "PT Serif Caption", serif;
a {
color: inherit;
text-decoration: none;
}
}
.info {
@ -61,3 +66,71 @@ hr {
}
}
.pagination {
display: flex;
flex-direction: row;
gap: 16px;
font-size: 18px;
font-family: "PT Serif Caption", serif;
margin: 32px 0px;
a {
display: block;
color: var(--color-primary);
text-decoration: none;
&:hover {
opacity: 80%;
}
}
}
#footer {
border-top: 1px solid var(--color-outline-variant);
padding: 16px 0px;
margin-top: 24px;
}
#header {
margin-bottom: 24px;
padding: 20px 0px;
border-bottom: 1px solid var(--color-outline-variant);
display: flex;
flex-direction: row;
align-items: center;
.title_desc {
display: flex;
flex-direction: column;
gap: 8px;
.title a {
text-decoration: none;
color: var(--color-on-background);
font-size: 28px;
}
.description {
color: var(--color-on-surface-variant);
font-size: 16px;
}
}
.navigation {
display: flex;
flex-direction: row;
a {
display: block;
text-decoration: none;
color: var(--color-on-background);
padding: 8px 16px;
border-radius: 9999px;
&:hover {
background-color: var(--color-primary-container);
color: var(--color-on-primary-container);
}
}
}
}

13
templates/404.html Normal file
View File

@ -0,0 +1,13 @@
{% extends "base.html" %}
{% block title %}
{{ config.title }}
{% endblock %}
{% block content %}
<div class="article-header">
<h1>Page not found</h1>
</div>
{% endblock %}

View File

@ -2,15 +2,33 @@
<html>
<head>
<meta charset="utf-8" />
<title>Steven Le Rouzic</title>
<title>{% block title %}{% endblock %}</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=PT+Serif&family=PT+Serif+Caption&family=Roboto+Mono&display=swap" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="{{ get_url(path="theme.css") }}" />
<script src="https://unpkg.com/htmx.org@1.9.6"></script>
<link rel="alternate" type="application/rss+xml" title="RSS" href="{{ get_url(path="rss.xml", trailing_slash=false) }}">
</head>
<body hx-boost="true">
<div id="header">
<div class="title_desc">
<p class="title"><a href="{{ get_url(path="@/_index.md") }}">{{ config.title }}</a></p>
<p class="description">{{ config.description }}</p>
</div>
<div style="flex-grow: 1;"></div>
<div class="navigation">
<a href="{{ get_url(path="@/blog/_index.md") }}">Blog</a>
{% set tags = get_taxonomy(kind="tags") %}
<a href="{{ tags.permalink | safe }}" class="secondary">Tags</a>
<a href="https://twitter.com/steven_lr">Twitter</a>
<a href="https://github.com/stevenlr">Github</a>
</div>
</div>
{% block content %}{% endblock %}
<div id="footer" class="typography">
<p>&copy; Copyright {{ now() | date(format="%Y") }}, Steven Le Rouzic</p>
</div>
</body>
</html>

View File

@ -1,5 +1,9 @@
{% extends "base.html" %}
{% block title %}
{{ page.title }} - {{ config.title }}
{% endblock %}
{% block content %}
<div class="article-header">

View File

@ -1,11 +1,52 @@
{% extends "base.html" %}
{% block title %}
Blog - {{ config.title }}
{% endblock %}
{% block content %}
<ul>
{% for page in section.pages %}
<li><a href="{{ page.permalink | safe }}">{{ page.title }}</a> - {{ page.date | date(format="%B %-d, %Y") }}</li>
<div class="pagination">
<a href="{{ paginator.first }}">&laquo; First page</a>
{% if paginator.previous %}
<a href="{{ paginator.previous }}">&lsaquo; Previous page</a>
{% endif %}
<div style="flex-grow: 1;"></div>
{% if paginator.next %}
<a class="right" href="{{ paginator.next }}">&rsaquo; Next page</a>
{% endif %}
<a class="right" href="{{ paginator.last }}">Last page &raquo;</a>
</div>
{% for page in paginator.pages %}
<div class="article-header">
<h1><a href="{{ page.permalink | safe }}">{{ page.title }}</a></h1>
<div class="info">
<p class="date">{{ page.date | date(format="%B %-d, %Y") }}</p>
<p class="tags">
{% for tag in page.taxonomies["tags"] %}
<a href="{{ get_taxonomy_url(kind="tags", name=tag) }}">#{{ tag }}</a>
{%- endfor %}
</p>
</div>
</div>
<div class="typography">
{{ page.summary | safe }}
<p><a href="">Read more…</a></p>
</div>
{% if not loop.last %}<hr />{% endif %}
{% endfor %}
</ul>
<div class="pagination">
<a href="{{ paginator.first }}">&laquo; First page</a>
{% if paginator.previous %}
<a href="{{ paginator.previous }}">&lsaquo; Previous page</a>
{% endif %}
<div style="flex-grow: 1;"></div>
{% if paginator.next %}
<a class="right" href="{{ paginator.next }}">&rsaquo; Next page</a>
{% endif %}
<a class="right" href="{{ paginator.last }}">Last page &raquo;</a>
</div>
{% endblock %}

View File

@ -1,14 +1,38 @@
{% extends "base.html" %}
{% block title %}
{{ config.title }}
{% endblock %}
{% block content %}
<div class="pagination">
<a href="{{ get_url(path="@/blog/_index.md") }}">Go to blog</a>
</div>
{% set blog_section = get_section(path="blog/_index.md") %}
<ul>
{% for post in blog_section.pages | slice(end=3) %}
<li><a href="{{ post.permalink | safe }}">{{ post.title }}</a> - {{ post.date | date(format="%B %-d, %Y") }}</li>
<div class="typography">{{ post.summary | safe }}</div>
{% for page in blog_section.pages | slice(end=5) %}
<div class="article-header">
<h1><a href="{{ page.permalink | safe }}">{{ page.title }}</a></h1>
<div class="info">
<p class="date">{{ page.date | date(format="%B %-d, %Y") }}</p>
<p class="tags">
{% for tag in page.taxonomies["tags"] %}
<a href="{{ get_taxonomy_url(kind="tags", name=tag) }}">#{{ tag }}</a>
{%- endfor %}
</p>
</div>
</div>
<div class="typography">
{{ page.summary | safe }}
<p><a href="">Read more…</a></p>
</div>
{% if not loop.last %}<hr />{% endif %}
{% endfor %}
</ul>
<div class="pagination">
<a href="">Go to blog</a>
</div>
{% endblock %}

View File

@ -1,9 +1,14 @@
{% extends "base.html" %}
{% block title %}
{{ page.title }} - {{ config.title }}
{% endblock %}
{% block content %}
<div class="typography">
<h1>{{ page.title }}</h1>
{{ page.content | safe }}
</div>
{% endblock %}

21
templates/tags/list.html Normal file
View File

@ -0,0 +1,21 @@
{% extends "base.html" %}
{% block title %}
Tags - {{ config.title }}
{% endblock %}
{% block content %}
<div class="article-header">
<h1>Tags</h1>
</div>
<div class="typography">
<ul>
{% for term in terms %}
<li><a href="{{ term.permalink | safe }}">{{ term.name }}</a> ({{ term.page_count }})</li>
{% endfor %}
</ul>
</div>
{% endblock %}

View File

@ -0,0 +1,20 @@
{% extends "base.html" %}
{% block title %}
{{ term.name }} - {{ config.title }}
{% endblock %}
{% block content %}
<div class="article-header">
<h1>{{ term.name }}</h1>
</div>
<div class="typography">
<ul>
{% for page in term.pages %}
<li><a href="{{ page.permalink | safe }}">{{ page.title }}</a> - {{ page.date | date(format="%B %-d, %Y") }}</li>
{% endfor %}
</ul>
</div>
{% endblock %}

View File

@ -1,7 +0,0 @@
{% extends "base.html" %}
{% block content %}
<h1>{{ taxonomy.name }}: multiple</h1>
{% endblock %}

View File

@ -1,13 +0,0 @@
{% extends "base.html" %}
{% block content %}
<h1>{{ taxonomy.name }}: {{ term.name }}</h1>
<ul>
{% for page in term.pages %}
<li><a href="{{ page.permalink | safe }}">{{ page.title }}</a> - {{ page.date | date(format="%B %-d, %Y") }}</li>
{% endfor %}
</ul>
{% endblock %}