diff options
| author | Charles <sircharlesaze@gmail.com> | 2020-07-25 12:16:54 +0200 |
|---|---|---|
| committer | Charles <sircharlesaze@gmail.com> | 2020-07-25 12:16:54 +0200 |
| commit | f7a92ef51e97d796f1fc90849d179e502077ee59 (patch) | |
| tree | b05f0a54a71e0143d5a7be241b24726bc75dd99b /generate-blog | |
| parent | 860a213d88e292b972a31a56fc1f573aa3d75f19 (diff) | |
| download | cacharle.xyz-f7a92ef51e97d796f1fc90849d179e502077ee59.tar.gz cacharle.xyz-f7a92ef51e97d796f1fc90849d179e502077ee59.tar.bz2 cacharle.xyz-f7a92ef51e97d796f1fc90849d179e502077ee59.zip | |
Added blog articles generator (from markdown)
Diffstat (limited to 'generate-blog')
| -rwxr-xr-x | generate-blog | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/generate-blog b/generate-blog new file mode 100755 index 0000000..8694b74 --- /dev/null +++ b/generate-blog @@ -0,0 +1,29 @@ +#!/bin/sh + +# Put your articles in a blog_src directory +# Depends on pandoc for markdown to html convertion + +[ ! -d blog_src ] || [ -z $(ls blog_src) ] && exit 1 +mkdir -p blog + +cp -vf index.template.html index.html +rm -vf blog/* + +for article_path in blog_src/*.md +do + article_dst_path=$(echo "$article_path" | sed 's/blog_src/blog/' | sed 's/\.md/.html/') + + # Convert markdown article to html + tmp_file=$(mktemp) + pandoc -f markdown -t html < "$article_path" > "$tmp_file" + # Put the blog content in a wrapper template + sed "/<!--BLOG-->/ r $tmp_file" < blog.template.html > "$article_dst_path" + + # Add blog artcle link to the index.html + title=$(grep '^# .*$' -m 1 "$article_path" | cut -c 2-) + [ -z "$title" ] && echo "Article $article_path doesn't have a title" && title=$article_path + sed -i'' "/<!--BLOGINDEX-->/ a\ + <li><a href=\"$article_dst_path\">$title</a></li>" index.html + + echo "Generated article at $article_dst_path" +done |
