add script to generate new blog posts
This commit is contained in:
parent
6e7419a2b5
commit
11858548a5
|
@ -19,9 +19,15 @@ $ zola serve
|
|||
|
||||
Send changes to https://git.clan.lol/clan/clan-homepage
|
||||
|
||||
|
||||
## To update the website
|
||||
|
||||
```
|
||||
$ nix run .#deploy
|
||||
```
|
||||
|
||||
|
||||
## Create a new post
|
||||
|
||||
```
|
||||
$ nix run .#new-post "September Changelog"
|
||||
```
|
||||
|
|
41
flake-parts/new-post.nix
Normal file
41
flake-parts/new-post.nix
Normal file
|
@ -0,0 +1,41 @@
|
|||
{
|
||||
perSystem = {
|
||||
lib,
|
||||
pkgs,
|
||||
self',
|
||||
...
|
||||
}: {
|
||||
apps.new-post.program = builtins.toString (pkgs.writeShellScript "new-post.sh" ''
|
||||
export PATH="${lib.makeBinPath [
|
||||
pkgs.coreutils pkgs.gitMinimal
|
||||
]}"
|
||||
if [ -z "$1" ]; then
|
||||
echo "Usage: new-post.sh <title>"
|
||||
exit 1
|
||||
fi
|
||||
title=$(echo "$1" | tr '[:upper:]' '[:lower:]' | tr ' ' '-')
|
||||
root=$(git rev-parse --show-toplevel)
|
||||
fname="$root/content/blog/$(date +%Y-%m-%d)-$title.md"
|
||||
if [ -f "$fname" ]; then
|
||||
echo "File already exists: $fname"
|
||||
exit 1
|
||||
fi
|
||||
cat <<EOF > "$fname"
|
||||
+++
|
||||
title = "$1"
|
||||
date = "$(date --iso-8601=seconds)"
|
||||
draft = true
|
||||
template = "blog/page.html"
|
||||
[taxonomies]
|
||||
authors = [] # TODO
|
||||
[extra]
|
||||
lead = "Some lead"
|
||||
+++
|
||||
|
||||
Some text
|
||||
EOF
|
||||
echo "Created $fname"
|
||||
git add "$fname"
|
||||
'');
|
||||
};
|
||||
}
|
Loading…
Reference in New Issue
Block a user