Compare commits

...

11 Commits

9 changed files with 89 additions and 29 deletions

1
.gitignore vendored
View File

@ -1,5 +1,4 @@
output output
__pycache__ __pycache__
*.pid *.pid
plugins
cache cache

8
.gitmodules vendored
View File

@ -1,3 +1,9 @@
[submodule "themes/clean-blog"] [submodule "themes/clean-blog"]
path = themes/clean-blog path = themes/clean-blog
url = ssh://gitea@git.epheme.re:2222/fmouhart/pelican-clean-blog.git url = https://git.epheme.re/fmouhart/pelican-clean-blog.git
[submodule "plugins/autopages"]
path = plugins/autopages
url = https://git.epheme.re/fmouhart/pelican-autopages.git
[submodule "plugins/i18n_subsites"]
path = plugins/i18n_subsites
url = https://git.epheme.re/fmouhart/pelican-i18n_subsites.git

View File

@ -12,7 +12,10 @@ publish:
clean: clean:
uv run invoke clean uv run invoke clean
init: %.mo: %.po
msgfmt "$^" -o "$@"
init: themes/clean-blog/translations/fr/LC_MESSAGES/messages.mo
uv sync uv sync
.PHONY: clean build publish dev init .PHONY: clean build publish dev init

View File

@ -2,7 +2,7 @@
Title: wget/curl Title: wget/curl
Date: 2022-07-25 13:45 CEST Date: 2022-07-25 13:45 CEST
Author: Fabrice Author: Fabrice
Category: cheat sheets Category: antisèches
Tags: wget, curl, cli Tags: wget, curl, cli
Slug: wget-curl Slug: wget-curl
Header_Cover: ../images/covers/speedboat.jpg Header_Cover: ../images/covers/speedboat.jpg

View File

@ -1,7 +1,7 @@
--- ---
Title: Setup Neovim with kickstart.nvim Title: Setup Neovim with kickstart.nvim
Date: 2023-12-25 17:15 Date: 2023-12-25 17:15
Modified: 2024-02-06 10:30 Modified: 2025-02-12 13:00
Lang: en Lang: en
Author: Fabrice Author: Fabrice
Category: software Category: software
@ -22,38 +22,38 @@ incrementally before it starts getting too big for me to find anything inside
it and not using even half of the plugins I installed. That goes without saying, it and not using even half of the plugins I installed. That goes without saying,
there were quite a bit on conflicting keymaps as well as I'm using there were quite a bit on conflicting keymaps as well as I'm using
[bépo](http://bepo.fr/) as my keyboard layout with [partial remaps [bépo](http://bepo.fr/) as my keyboard layout with [partial remaps
(fr)](https://cdn.bepo.fr/Vim-bepo-066.png). (fr)](https://cdn.bepo.fr/images/Vim-bepo-066.png).
Obviously, it slowly became quite a mess. To address this issue, I Obviously, it slowly became quite a mess. To address this issue, I decided to
decided to reorganise my `$HOME/.config/vim` directory using the [vim directory reorganise my `$HOME/.config/vim` directory using the [vim directory
structure](www.panozzaj.com/blog/2011/09/09/vim-directory-structure/) and did structure](https://www.panozzaj.com/blog/2011/09/09/vim-directory-structure/)
some cleanup at this point of time. I think it was also around this period that and did some cleanup at this point of time. I think it was also around this
I discovered that Vim8 added a native package manager that I started to use. period that I discovered that Vim8 added a native package manager that I started
Thus, at this point, I started organising my configuration with semantic files, to use. Thus, at this point, I started organising my configuration with semantic
such as `$VIMHOME/plugin/spelling.vim` to manage my spelling configuration for files, such as `$VIMHOME/plugin/spelling.vim` to manage my spelling
instance. This approach makes debugging easier, and also checking custom configuration for instance. This approach makes debugging easier, and also
keyboard shortcuts easier, as I just have to check checking custom keyboard shortcuts easier, as I just have to check
`$VIMHOME/plugin/omnicomplete.vim` for instance to know which shortcuts I set up `$VIMHOME/plugin/omnicomplete.vim` for instance to know which shortcuts I set up
when I'm still getting the habits of using them. when I'm still getting the habits of using them.
At some point of time, I moved to Neovim, and I simply moved my configuration At some point of time, I moved to Neovim, and simply moved my configuration from
from Vim to Neovim and continue on adding more and more plugins on top of each Vim to Neovim. All the while continuing adding more and more plugins on top of
other depending on my hype, especially because the world of Neovim plugins each other depending on my hype, especially because the world of Neovim plugins
opened up to me. Needless to say that less than half of these plugins were put opened up to me. Needless to say that less than half of these plugins were put
into good use. Which leads to my first configuration big cleanup. into good use. Which leads to my first configuration big cleanup.
Six months ago, I wiped my frankenconfig, and started back from scratch in Six months ago, I wiped my _frankenconfig_, and started back from scratch in
[lua](https://lua.org/about.html), with the same structural approach as [lua](https://lua.org/about.html), with the same structural approach as
previously, but now wondering if the plugin would be useful or not. Since my previously, but now wondering if the plugin would be useful or not. Since my
first time using Vim, there were some big changes in the vim ecosystem, first time using Vim, there were some big changes in the vim ecosystem,
especially in language management with especially in language management with
[tree-sitter](https://tree-sitter.github.io/tree-sitter/) and [tree-sitter](https://tree-sitter.github.io/tree-sitter/) and
[lsp](https://en.wikipedia.org/wiki/Language_Server_Protocol). These two bring [lsp](https://en.wikipedia.org/wiki/Language_Server_Protocol). These two bring
into the environment a unified way to manage languages without having to depend into the environment a unified way to manage languages without depending on
on language-specific plugins, henceforth I didn't need specific plugins to have language-specific plugins. Henceforth, I didn't need specific plugins to have
nice syntax coloration for obscure languages anymore, or get frustrated with nice syntax coloration for obscure languages anymore, or get frustrated with
[omnicomplete](https://vim.fandom.com/wiki/Omni_completion) which decided not to [omnicomplete](https://vim.fandom.com/wiki/Omni_completion) which decided not to
work for some languages… While it's not an absolute rule (for instance, I'm work only for some languages… While it's not an absolute rule (for instance, I'm
using [vimtex]({filename}./nvim-latex.md) for latex, which includes a more using [vimtex]({filename}./nvim-latex.md) for latex, which includes a more
accurate syntax coloring than tree-sitter). I also moved from the native vim way accurate syntax coloring than tree-sitter). I also moved from the native vim way
of managing plugins to use [`Lazy`](https://github.com/folke/lazy.nvim) as a of managing plugins to use [`Lazy`](https://github.com/folke/lazy.nvim) as a
@ -70,10 +70,10 @@ However, I was unhappy with some of my configurations, and if I managed to have
something functional, there were many details that annoy me that stemmed for something functional, there were many details that annoy me that stemmed for
some configuration I wrote some times ago and of course didn't document. This some configuration I wrote some times ago and of course didn't document. This
leads us to today, where I just decided to use leads us to today, where I just decided to use
[`kickstart.nvim`](https://github.com/nvim-lua/kickstart.nvim), which is a [`kickstart.nvim`](https://github.com/nvim-lua/kickstart.nvim). It is a well
well-documented vim starting configuration (it's not a distribution, it still documented vim starting configuration (it's not a distribution, it still
requires your input to obtain something that fits your needs), which was exactly requires your inputs to obtain something that fits your needs), which was
what I needed to start anew… but not fully from scratch. exactly what I needed to start anew… but not fully from scratch.
## The migration ## The migration

View File

@ -1,7 +1,7 @@
--- ---
Title: Typesetting with Typst Title: Typesetting with Typst
Date: 2024-10-19 18:00 Date: 2024-10-19 18:00
Modified: 2024-10-19 21:00 Modified: 2025-02-14 12:45
Lang: en Lang: en
Author: Fabrice Author: Fabrice
Category: software Category: software
@ -126,7 +126,7 @@ at the outset of the file.
```typst ```typst
#import "lettre.typ": * #import "lettre.typ": *
#show: doc => lettre( #show: doc => lettre.with(
de: [ de: [
Sender\ Sender\
Address Address
@ -144,7 +144,6 @@ at the outset of the file.
post: [ post: [
post-letter (e.g., post-scriptum) post-letter (e.g., post-scriptum)
], ],
doc
) )
``` ```

1
plugins/autopages Submodule

Submodule plugins/autopages added at 7ebe350704

1
plugins/i18n_subsites Submodule

Submodule plugins/i18n_subsites added at 5903058c97

View File

@ -1 +1,52 @@
This repository contains the sources necessary to build the blog at:
<https://blog.epheme.re> <https://blog.epheme.re>
# Dependencies
To use this repository as intended, you need, to build the blog, the following
software:
- `git`
- `make`
- `uv`
- `gettext`
To synchronise the blog remotely with its intended target, the synchronisation
is done using `rsync` over `ssh`.
# Install
To install a local copy to work on this blog, you also need other components,
such as the [theme](https://git.epheme.re/fmouhart/pelican-clean-blog) and
[some](https://git.epheme.re/fmouhart/pelican-autopages)
[plugins](https://git.epheme.re/fmouhart/pelican-clean-blog). Those are embedded
in the repository as a git submodule. You can thus simply run git clone with the
`--recurse-submodule` option:
```sh
git clone --recurse-submodule https://git.epheme.re/fmouhart/blog.git fmouhart-blog
```
This blog relies on [pelican](https://getpelican.com) as a static site
generator. To manage the different python dependencies of this project, we are
using [`uv`](https://github.com/astral-sh/uv) as a python project manager.
Moreover, translations are managed with python `gettext` which requires
compiling the translation file.
Those two steps are performed with the following command:
```sh
make init
```
# Development
When writing an article, you can run the blog with `livereload` enabled with the
command:
```sh
make dev
```
Itll span a local development server on port `8000`: <http://localhost:8000>