Move to page bundles

This commit is contained in:
Gabriel Augendre 2023-05-12 15:55:13 +02:00
parent 451da2efd9
commit 52b910a61a
46 changed files with 148 additions and 112 deletions

3
.gitattributes vendored Normal file
View file

@ -0,0 +1,3 @@
*.jpg filter=lfs diff=lfs merge=lfs -text
*.jpeg filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text

View file

@ -2,37 +2,37 @@
title: "{{ replace .Name "-" " " | title }}"
date: {{ .Date }}
draft: true
# weight: 1
# aliases: ["/first"]
tags: []
author: "Gabriel Augendre"
# weight: 1
# aliases: ["/first"]
# author: "Gabriel Augendre"
# author: ["Me", "You"] # multiple authors
showToc: true
TocOpen: false
hidemeta: false
comments: false
description: "Desc Text."
canonicalURL: "https://canonical.url/to/page"
disableShare: false
disableHLJS: false
hideSummary: false
searchHidden: true
ShowReadingTime: true
ShowBreadCrumbs: true
ShowPostNavLinks: true
ShowWordCount: true
ShowRssButtonInSectionTermList: true
UseHugoToc: true
cover:
image: "<image path/url>" # image path/url
alt: "<alt text>" # alt text
caption: "<text>" # display caption under cover
relative: false # when using page bundles set this to true
hidden: true # only hide on current single page
editPost:
URL: "https://github.com/<path_to_repo>/content"
Text: "Suggest Changes" # edit text
appendFilePath: true # to append file path to Edit link
# showToc: true
# TocOpen: false
# hidemeta: false
# comments: false
# description: "Desc Text."
# canonicalURL: "https://canonical.url/to/page"
# disableShare: false
# disableHLJS: false
# hideSummary: false
# searchHidden: true
# ShowReadingTime: true
# ShowBreadCrumbs: true
# ShowPostNavLinks: true
# ShowWordCount: true
# ShowRssButtonInSectionTermList: true
# UseHugoToc: true
# cover:
# image: "<image path/url>" # image path/url
# alt: "<alt text>" # alt text
# caption: "<text>" # display caption under cover
# relative: false # when using page bundles set this to true
# hidden: true # only hide on current single page
# editPost:
# URL: "https://github.com/<path_to_repo>/content"
# Text: "Suggest Changes" # edit text
# appendFilePath: true # to append file path to Edit link
---

View file

@ -18,27 +18,28 @@ params:
env: production # to enable google analytics, opengraph, twitter-cards and schema.
title: "Gab's Notes"
description: "My take on tech-related subjects (but not only)."
keywords: [blog, tech, golang, python, self-hosting]
keywords: [blog, tech, docker, golang, python, self-hosting]
author: "Gabriel Augendre"
# author: ["Me", "You"] # multiple authors
images: ["<link or path of image for opengraph, twitter-cards>"]
#images: ["<link or path of image for opengraph, twitter-cards>"]
DateFormat: "2006-01-02"
defaultTheme: auto # dark, light
disableThemeToggle: false
ShowReadingTime: true
ShowShareButtons: true
ShowPostNavLinks: true
ShowShareButtons: false
ShowPostNavLinks: false
ShowBreadCrumbs: true
ShowCodeCopyButtons: true
ShowWordCount: true
ShowRssButtonInSectionTermList: true
UseHugoToc: true
disableSpecial1stPost: false
disableScrollToTop: false
disableScrollToTop: true
comments: false
hidemeta: false
hideSummary: false
hideFooter: true
showtoc: false
tocopen: false
@ -56,31 +57,21 @@ params:
icon: /apple-touch-icon.png
iconHeight: 35
# profile-mode
profileMode:
enabled: false # needs to be explicitly set
title: ExampleSite
subtitle: "This is subtitle"
imageUrl: "<img location>"
imageWidth: 120
imageHeight: 120
imageTitle: my image
buttons:
- name: Posts
url: posts
- name: Tags
url: tags
# home-info mode
homeInfoParams:
Title: "Hi there \U0001F44B"
Content: Welcome to my blog
Title: "Gabs Notes"
Content: |-
My take on tech related subjects (but not only)
socialIcons:
- name: stackoverflow
url: "https://stackoverflow.com/users/2758732/gabriel"
- name: email
url: "mailto:ga-blog@augendre.info"
- name: github
url: "https://github.com/Crocmagnon"
- name: cv
url: "https://cv-gabriel.augendre.info"
- name: stackoverflow
url: "https://stackoverflow.com/users/2758732/gabriel"
- name: mastodon
url: "https://fosstodon.org/@Crocmagnon"
@ -106,10 +97,18 @@ params:
keys: ["title", "permalink", "summary", "content"]
menu:
main:
- identifier: about
name: about
url: /about/
weight: 10
- identifier: tags
name: tags
url: /tags/
weight: 20
- identifier: search
name: search
url: /search/
weight: 30
# Read: https://github.com/adityatelange/hugo-PaperMod/wiki/FAQs#using-hugos-syntax-highlighter-chroma
pygmentsUseClasses: true
markup:
@ -121,4 +120,9 @@ markup:
# lineNos: true
# style: monokai
outputs:
home:
- HTML
- RSS
- JSON

27
content/about.md Normal file
View file

@ -0,0 +1,27 @@
---
title: About me
ShowReadingTime: false
ShowBreadCrumbs: false
ShowPostNavLinks: true
ShowWordCount: false
---
I'm Gabriel, a Go and Python software developer at [OVHcloud](https://www.ovhcloud.com/) (Lyon, France) and [FOSS](https://en.wikipedia.org/wiki/Free_and_open-source_software) enthusiast.
[![A picture of Gabriel Augendre](/attachments/39/processed/)](/attachments/40/original/)
[![His usual avatar for online profiles, the dwarf from a medieval fantasy audio story named "Le Donjon de Naheulbeuk" (French)](/attachments/41/processed/)](/attachments/41/original/)
{: .profile }
## Where to find me {#contact}
| Code | Contact |
|-----------------------------------------------|--------------------------------------------------------------------|
| [Gitea](https://git.augendre.info/gaugendre) | <a rel="me" href="https://fosstodon.org/@Crocmagnon">Mastodon</a> |
| [GitHub](https://github.com/Crocmagnon) | <a href="mailto:ga-contact@augendre.info">Email</a> |
| [GitLab](https://gitlab.com/gaugendre) | |
My resume is available as [a pdf](https://cv-gabriel.augendre.info) (in French) if you want to take a look.
## Analytics
This website uses GoatCounter, a privacy respecting analytics tool. They are [publicly available](https://gc.gabnotes.org).

View file

@ -2,6 +2,7 @@
title: "About me"
tags: ['Gabriel Augendre', 'blog', 'homepage']
date: 2020-05-12T11:29:02+00:00
aliases: ["/about-me"]
---
I'm Gabriel, a Go and Python software developer at [OVHcloud](https://www.ovhcloud.com/) (Lyon, France) and [FOSS](https://en.wikipedia.org/wiki/Free_and_open-source_software) enthusiast.

View file

@ -2,6 +2,7 @@
title: "Adding Time to my Blog's Statistics"
tags: ['analytics', 'blog', 'self-hosting']
date: 2020-06-15T16:27:27+00:00
aliases: ["/adding-time-to-my-blogs-statistics"]
---
[![Two Grafana graphs: one to view the raw view counts evolving, the other to display the difference between two data points](/attachments/9/processed/)](/attachments/9/original/)

View file

@ -2,6 +2,7 @@
title: "Automate bug findings with git"
tags: ['bisect', 'bugs', 'git']
date: 2021-12-22T22:08:07.191735+00:00
aliases: ["/automate-bug-findings-with-git"]
---
## 🔍 Git bisect

View file

@ -2,6 +2,7 @@
title: "Bitwarden and Password Managers"
tags: ['free software', 'passwords', 'passwords manager']
date: 2020-06-05T15:10:47+00:00
aliases: ["/bitwarden-and-password-managers"]
---
[TL;DR](https://en.wiktionary.org/wiki/tl;dr): I use a password manager and you should too. [Bitwarden](http://bitwarden.com/) is a Free Software alternative.

View file

@ -2,6 +2,7 @@
title: "Blog platform update - Quick note"
tags: ['blog', 'self-hosting']
date: 2020-08-17T15:45:55+00:00
aliases: ["/blog-platform-update-quick-note"]
---
I just moved from Writefreely to a custom made blog engine. Writefreely is great but I wanted more control over every bit of the template and style and I couldn't easily achieve what I wanted.

View file

@ -2,6 +2,7 @@
title: "Blog Statistics, Part 2"
tags: ['analytics', 'blog', 'self-hosting']
date: 2020-06-26T15:34:46+00:00
aliases: ["/blog-statistics-part-2"]
---
In a [recent post](/adding-time-to-my-blogs-statistics), I talked about how I tracked my posts views over time using Grafana and InfluxDB.

View file

@ -2,6 +2,7 @@
title: "Certificates chain correct order"
tags: ['Certificates', 'OpenSSL', 'Quick Note', 'TLS']
date: 2022-08-04T09:35:07.590872+00:00
aliases: ["/certificates-chain-correct-order"]
---
Making honor to the name of this blog, here's a very quick note for my future self.

View file

@ -2,6 +2,7 @@
title: "Chowning files can take a lot of space in a Docker image"
tags: ['Docker', 'ITSF', 'chown', 'history', 'layer', 'multi-stage builds']
date: 2021-03-02T16:21:06.172437+00:00
aliases: ["/chowning-files-dockerfile-can-take-lot-space"]
---
Today I learned that recursively changing the owner of a directory tree in a Dockerfile can result in some serious increase in image size.

View file

@ -2,6 +2,7 @@
title: "Cleantoots - Clean Your Toot History"
tags: ['cleanup', 'history', 'mastodon', 'toots']
date: 2020-05-25T17:08:28+00:00
aliases: ["/cleantoots-clean-your-toot-history"]
---
Since I consider my messages on social media to be valid at the moment they're posted, I like to have them deleted after some time. When I still used Twitter, I also used a CLI tool called [cleantweets](https://github.com/magnusnissel/cleantweets) that helped with this.

View file

@ -2,6 +2,7 @@
title: "CodinGame Spring Challenge 2020 - Pacman"
tags: ['challenge', 'codingame', 'programming']
date: 2020-05-21T19:13:49+00:00
aliases: ["/codingame-spring-challenge-2020-pacman"]
---
I participated in the [latest CodinGame challenge](https://www.codingame.com/multiplayer/bot-programming/spring-challenge-2020) and quickly got out of the beginner's league. In this article, I'll explain my approach.

View file

@ -2,6 +2,7 @@
title: "Create a CSR with SAN"
tags: ['Certificates', 'OpenSSL', 'Quick Note', 'TLS']
date: 2022-12-20T13:56:56.467033+00:00
aliases: ["/create-a-csr"]
---
Another quick note today: how to generate a CSR for a basic certificate supported by modern browsers (includes `Subject Alternative Name`).

View file

@ -2,6 +2,7 @@
title: "Designing and 3D Printing a Wall Mount for my ISP Modem"
tags: ['3D printing', 'CAD', 'FreeCAD', 'Freebox', 'wall mounting']
date: 2020-08-13T21:38:37+00:00
aliases: ["/designing-and-3d-printing-a-wall-mount-for-my-isp-modem"]
---
I recently moved to a new apartment and now I have a little closet which contains the electrical board. It's also where the optical fiber comes in and so it's where I put my ISP-provided modem.

View file

@ -2,6 +2,7 @@
title: "Docker images layers and cache"
tags: ['Docker', 'cache', 'layer']
date: 2020-12-28T07:55:41.393608+00:00
aliases: ["/docker-images-layers-and-cache"]
---
In this post, we'll walk through Docker image layers and the caching around them from the point of view of a Docker user. I'll assume you're already familiar with Dockerfiles and Docker concepts in general.

View file

@ -2,6 +2,7 @@
title: "Demo post"
tags: []
date: 2021-01-03T18:08:52.170212+00:00
aliases: ["/example-should-never-be-published"]
---
This is a paragraph and should look like it. It is probably left align, not justified. After all, we're on the web not in a book.

View file

@ -2,6 +2,7 @@
title: "Chat Sceptique (French YouTube Channel)"
tags: []
date: 2020-06-21T10:18:08.406375+00:00
aliases: ["/french-youtube-channel-recommendation"]
---
Today's very quick post is a recommendation to a french YouTube channel. It's called [Chat Sceptique](https://www.youtube.com/channel/UCOuIgj0CYCXCvjWywjDbauw) and features a statistician popularizing many different topics related to statistics.

View file

@ -1,57 +0,0 @@
---
title: "Hello Hugo"
date: 2023-05-12T10:14:52+02:00
draft: false
# weight: 1
# aliases: ["/first"]
tags: ["initial", "hello"]
author: "Gabriel Augendre"
# author: ["Me", "You"] # multiple authors
showToc: true
TocOpen: false
hidemeta: false
comments: false
description: "Desc Text."
canonicalURL: "https://canonical.url/to/page"
disableShare: false
disableHLJS: false
hideSummary: false
searchHidden: true
ShowReadingTime: true
ShowBreadCrumbs: true
ShowPostNavLinks: true
ShowWordCount: true
ShowRssButtonInSectionTermList: true
UseHugoToc: true
cover:
image: "<image path/url>" # image path/url
alt: "<alt text>" # alt text
caption: "<text>" # display caption under cover
relative: false # when using page bundles set this to true
hidden: true # only hide on current single page
appendFilePath: true # to append file path to Edit link
---
## Hello world
This is an introduction post using **hugo**, a SSG written in *golang*.
```python
def hello(name: str = "World") -> str:
return f"Hello, {name}"
if __name__ == "__main__":
print(hello("Gabriel"))
```
```go
package main
import "fmt"
func main() {
fmt.Println("Hello, world")
}
```

View file

@ -2,6 +2,7 @@
title: "How to subscribe"
tags: []
date: 2020-05-14T10:18:31+00:00
aliases: ["/how-to-subscribe"]
---
This blog offers an [RSS](https://en.wikipedia.org/wiki/RSS) feed.

View file

@ -2,6 +2,7 @@
title: "How to use pipx with pyenv"
tags: ['pipx', 'pyenv', 'python']
date: 2020-12-30T08:40:58.362871+00:00
aliases: ["/how-use-pipx-pyenv"]
---
## 👨🏻‍💻 TL;DR

View file

@ -2,6 +2,7 @@
title: "I Needed a Budget, With Four Rules"
tags: ['YNAB', 'budgeting', 'four rules', 'personal finances']
date: 2020-06-25T16:05:51+00:00
aliases: ["/i-needed-a-budget-with-four-rules"]
---
In January 2020, I discovered a budget app called You Need A Budget ([YNAB](https://youneedabudget.com/)). I've been using it since then and I'm very happy with it, here's why.

View file

@ -2,6 +2,7 @@
title: "I'm starting a blog"
tags: ['blog', 'introduction']
date: 2020-05-12T10:39:41.193174+00:00
aliases: ["/im-starting-a-blog"]
---
I came up across two posts recently that got me thinking:

View file

@ -2,6 +2,7 @@
title: "Lighten your Python image with Docker multi-stage builds"
tags: ['Docker', 'multi-stage builds', 'poetry', 'python']
date: 2021-01-02T10:37:29.021773+00:00
aliases: ["/lighten-your-python-image-docker-multi-stage-builds"]
---
In previous posts we talked about [poetry][poetry] and [Docker images layers][docker-cache] and I promised I would write about Docker multi-stage builds, so here we go!

View file

@ -2,6 +2,7 @@
title: "Migration complete"
tags: ['blog', 'self-hosting']
date: 2020-11-11T07:38:24.261889+00:00
aliases: ["/migration-complete"]
---
I just moved this blog to my self-hosted server at home. Hopefully nothing is broken but if you see something strange or missing, please [contact me](/about-me/)! 😃

View file

@ -2,6 +2,7 @@
title: "My Setup at Home (12/2021 update)"
tags: ['devices', 'self-hosting']
date: 2021-12-28T09:33:00.205309+00:00
aliases: ["/my-setup-at-home-12-2021-update"]
---
In this post, I'm presenting my updated setup at home. The [previous version](/my-setup-at-home/) was from May 2020.

View file

@ -2,6 +2,7 @@
title: "My Setup at Home"
tags: ['self-hosting']
date: 2020-05-13T11:32:31+00:00
aliases: ["/my-setup-at-home"]
---
This post will serve as an introduction to others that will follow. I will try to remember to update this publication to add a reference to the new ones but I can't promise I won't forget. Meanwhile, feel free to use the tags at the end to scroll through related articles.

View file

@ -2,6 +2,7 @@
title: "Optimize large Django migrations"
tags: ['Django', 'ITSF', 'python']
date: 2022-03-31T19:50:35.048724+00:00
aliases: ["/optimize-large-django-migrations"]
---
## 📖 Backstory
Today, while working on a project at [ITSF](https://itsf.io), I needed to add a new field to an existing model in a Django project. This field had to initially be computed from other values in the same model, so I couldn't use a constant default value for all the existing objects.

View file

@ -2,6 +2,7 @@
title: "Pi Hole"
tags: ['DNS', 'Raspberry Pi', 'self-hosting']
date: 2020-05-28T15:54:13+00:00
aliases: ["/pi-hole"]
---
!!! info "👴 Old post"
I don't use Pi Hole anymore but this post should still be relevant. I've switched to [AdGuard](https://adguard.com/en/welcome.html). There is an easy to install Home Assistant addon available and it allows me to easily configure local-only DNS entries.

View file

@ -2,6 +2,7 @@
title: "pip-tools for Python dependencies management"
tags: ['dependencies', 'pip-tools', 'python']
date: 2023-03-02T13:07:26.381756+00:00
aliases: ["/pip-tools-for-python-dependencies-management"]
---
## 📖 Story time

View file

@ -2,6 +2,7 @@
title: "Poetry for Python dependencies management"
tags: ['ITSF', 'dependencies', 'poetry', 'python']
date: 2020-12-30T20:44:05.549630+00:00
aliases: ["/poetry-python-dependencies-management"]
---
At [ITSF](https://itsf.io), teams using the same languages/frameworks regularly meet to share experience and decide on common guidelines. With the Python teams, we recently decided to change our dependencies management system to something more robust because we were not satisfied with `pip` alone.

View file

@ -2,6 +2,7 @@
title: "Raspberry Pi"
tags: ['Raspberry Pi', 'backup', 'monitoring', 'self-hosting']
date: 2020-05-16T14:43:38+00:00
aliases: ["/raspberry-pi"]
---
!!! info "👴 Old post"
This post has grown old and I now don't use my Raspberry Pi like this anymore.

View file

@ -2,6 +2,7 @@
title: "Reduce your page load time with htmx in less than an hour"
tags: ['Django', 'Javascript', 'frontend', 'programming', 'python']
date: 2022-09-26T11:49:45.812120+00:00
aliases: ["/reduce-your-page-load-time-with-htmx-in-less-than-an-hour"]
---
## Presentation
During DjangoCon EU 2022, a talk reminded me of [htmx](https://htmx.org/). As the authors put it:

View file

@ -2,6 +2,7 @@
title: "Releasing my works into the public domain"
tags: ['commons', 'free software', 'licensing']
date: 2022-01-02T15:40:02.921181+00:00
aliases: ["/releasing-my-works-into-the-public-domain"]
---
## Context

View file

@ -2,6 +2,7 @@
title: "Replacing my Synology NAS with a self-built server"
tags: ['FreeBSD', 'FreeNAS', 'NAS', 'TrueNAS', 'self-hosting', 'server']
date: 2020-11-11T12:31:38.826817+00:00
aliases: ["/replacing-my-synology-nas-with-a-self-built-server"]
---
!!! info "👴 Old post"
I don't use TrueNAS anymore but I still have this machine and I even upgraded the RAM to a more comfortable 56GB.

View file

@ -2,6 +2,7 @@
title: "Setup rtx with direnv for Python"
tags: ['development', 'python', 'shell', 'virtualenv']
date: 2023-02-28T23:58:39.540937+00:00
aliases: ["/setup-rtx-with-direnv-for-python"]
---
## 👨🏻‍💻 TL;DR

View file

@ -2,6 +2,7 @@
title: "Sourcehut"
tags: ['GitHub alternative', 'git', 'software forge']
date: 2020-07-01T20:26:41+00:00
aliases: ["/sourcehut"]
---
!!! Info "🧓🏻 Old post"
This post is quite old now. Since then, I've moved my git repositories to a self-hosted [gitea](https://gitea.io/) instance and I cancelled my subscription. I still stand behind this post though. Sourcehut is a solid git forge and keeps improving.

View file

@ -2,6 +2,7 @@
title: "Synology NAS: Stream & Backup"
tags: ['NAS', 'Plex', 'Raspberry Pi', 'Synology', 'backup', 'self-hosting', 'streaming', 'time machine']
date: 2020-05-14T05:46:00+00:00
aliases: ["/synology-nas-stream-and-backup"]
---
This is the third issue of my #100DaysToOffload

View file

@ -2,13 +2,13 @@
title: "To a new adventure!"
tags: ['Career', 'OVH', 'OVHcloud', 'Work']
date: 2023-03-24T11:01:05.142656+00:00
aliases: ["/to-a-new-adventure"]
---
After leaving ITSF in January, I spent February at Gatewatcher. The company is in Paris so the position was fully remote, with 2-3 days per month on site. Unfortunately and despite my hopes, it didn't work for me.
After a month of job hunting, I'm happy to report that I'll be joining [OVHcloud](https://ovhcloud.com) in April! They have offices in Lyon so the remoteness shouldn't be an issue, though the people I'll be teaming up with are distributed in France and Canada. I've been hired as a software developer & site reliability engineer. I'll be mostly developing in Go and Python.
![OVHcloud logo on a wall, slightly blurry](/attachments/45/processed/)
{: .illustration }
![OVHcloud logo on a wall, slightly blurry](ovh_wall.jpg)
During this month I met several other organizations. All of them had interesting projects to share and it was very rewarding to have the opportunity to discuss with them.

BIN
content/posts/to-a-new-adventure/ovh_wall.jpg (Stored with Git LFS) Normal file

Binary file not shown.

View file

@ -2,6 +2,7 @@
title: "Upgraded writefreely - Quick Note"
tags: []
date: 2020-05-15T17:27:49.451539+00:00
aliases: ["/upgraded-writefreely-quick-note"]
---
I upgraded [writefreely](https://github.com/writeas/writefreely) (the software that powers this blog) to get a fix making my #100DaysToOffload tags now clickable (they were previously not). So I'll stop adding the HundredDaysToOffload tag which was there as a temporary workaround.

View file

@ -2,6 +2,7 @@
title: "Using Your YubiKey With SSH and Achieving Multifactor Authentication"
tags: ['ssh', 'yubikey']
date: 2020-05-18T19:07:08+00:00
aliases: ["/using-your-yubikey-with-ssh-and-achieving-multifactor-authentication"]
---
In my [introductory article](/im-starting-a-blog), I teased about using SSH with a YubiKey. Here's the post that expands on the idea.

View file

@ -2,6 +2,7 @@
title: "YouTube on Apple TV"
tags: ['apple tv', 'homepod', 'rant', 'youtube']
date: 2020-05-15T11:22:59+00:00
aliases: ["/youtube-on-apple-tv"]
---
Today's post will mostly be me ranting about the YouTube app on Apple TV.<!--more--> See, I have a pretty typical Apple user setup for my TV (and as you'll maybe learn in future posts, it's not only for the TV). I have:

9
content/search.md Normal file
View file

@ -0,0 +1,9 @@
---
title: "Search" # in any language you want
layout: "search" # is necessary
# url: "/archive"
# description: "Description for Search"
summary: "search"
placeholder: "placeholder text in search input box"
---

View file

@ -0,0 +1,10 @@
<footer class="footer">
Thoughts written here are my own and don't reflect any of my past, present or future employer's position.<br>
Articles are released into the public domain through the <a href="https://creativecommons.org/publicdomain/zero/1.0/?ref=chooser-v1">CC0 1.0</a>. Code blocks are released into the public domain through <a href="https://git.augendre.info/gaugendre/blog/src/branch/master/LICENSE">The Unlicense</a>. I do appreciate being mentioned as the original author if you decide to reuse my works but the licenses don't enforce it.
<br>
<span>
Powered by
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &amp;
<a href="https://github.com/adityatelange/hugo-PaperMod/" rel="noopener" target="_blank">PaperMod</a>
</span>
</footer>