pokpok
This commit is contained in:
@ -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 = [
|
||||
|
@ -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
2
deploy.sh
Executable 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
|
||||
|
@ -61,6 +61,12 @@
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
pre {
|
||||
border: 1px solid var(--color-outline-variant);
|
||||
}
|
||||
}
|
||||
|
||||
ul {
|
||||
list-style: square;
|
||||
}
|
||||
|
@ -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
13
templates/404.html
Normal 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 %}
|
@ -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>© Copyright {{ now() | date(format="%Y") }}, Steven Le Rouzic</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
@ -1,17 +1,21 @@
|
||||
{% extends "base.html" %}
|
||||
|
||||
{% block title %}
|
||||
{{ page.title }} - {{ config.title }}
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div class="article-header">
|
||||
<h1>{{ page.title }}</h1>
|
||||
<div class="info">
|
||||
<h1>{{ page.title }}</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>
|
||||
|
||||
<div class="typography">
|
||||
|
@ -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 }}">« First page</a>
|
||||
{% if paginator.previous %}
|
||||
<a href="{{ paginator.previous }}">‹ Previous page</a>
|
||||
{% endif %}
|
||||
<div style="flex-grow: 1;"></div>
|
||||
{% if paginator.next %}
|
||||
<a class="right" href="{{ paginator.next }}">› Next page</a>
|
||||
{% endif %}
|
||||
<a class="right" href="{{ paginator.last }}">Last page »</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 }}">« First page</a>
|
||||
{% if paginator.previous %}
|
||||
<a href="{{ paginator.previous }}">‹ Previous page</a>
|
||||
{% endif %}
|
||||
<div style="flex-grow: 1;"></div>
|
||||
{% if paginator.next %}
|
||||
<a class="right" href="{{ paginator.next }}">› Next page</a>
|
||||
{% endif %}
|
||||
<a class="right" href="{{ paginator.last }}">Last page »</a>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
|
@ -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 %}
|
||||
|
||||
|
@ -1,9 +1,14 @@
|
||||
{% extends "base.html" %}
|
||||
|
||||
{% block title %}
|
||||
{{ page.title }} - {{ config.title }}
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<h1>{{ page.title }}</h1>
|
||||
|
||||
{{ page.content | safe }}
|
||||
<div class="typography">
|
||||
<h1>{{ page.title }}</h1>
|
||||
{{ page.content | safe }}
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
|
21
templates/tags/list.html
Normal file
21
templates/tags/list.html
Normal 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 %}
|
20
templates/tags/single.html
Normal file
20
templates/tags/single.html
Normal 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 %}
|
@ -1,7 +0,0 @@
|
||||
{% extends "base.html" %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<h1>{{ taxonomy.name }}: multiple</h1>
|
||||
|
||||
{% endblock %}
|
@ -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 %}
|
Reference in New Issue
Block a user