From f6efa946c20bdd5c9fee3eb22aca9c752c47fd8e Mon Sep 17 00:00:00 2001 From: Flyounet Date: Fri, 20 Nov 2015 11:13:42 +0100 Subject: [PATCH 1/2] Baker now creates a Draft dir and generate post for drafted post. --- baker | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/baker b/baker index bf1f5a3..a3e07e2 100755 --- a/baker +++ b/baker @@ -10,6 +10,9 @@ readonly POST_DIR=post # OUTPUT_DIR stores all compiled html readonly OUTPUT_DIR=out +# DRAFT_DIR stores all compiled html +readonly DRAFT_DIR=draft + # LAYOUT_DIR stores all layout markdown files readonly LAYOUT_DIR=layout @@ -279,11 +282,15 @@ usage() { case "$1" in bake) + rm -rf "$DRAFT_DIR" + mkdir -p "$DRAFT_DIR" rm -rf "$OUTPUT_DIR" mkdir -p "$OUTPUT_DIR" [[ -d "$POST_DIR" ]] || usage [[ -d "$PUBLIC_DIR" ]] && cp -r "$PUBLIC_DIR"/. "$OUTPUT_DIR" + [[ -d "$PUBLIC_DIR" ]] && cp -r "$PUBLIC_DIR"/. "$DRAFT_DIR" + touch "$DRAFT_DIR/index.html" readarray -t posts < <(find "$POST_DIR" -name '*.md' | sort -r) @@ -291,7 +298,9 @@ bake) time for post in "${posts[@]}"; do id="$(basename "$post" .md)" # skip drafts - [[ "$(header draft < "$post")" == false ]] || continue + if [ "$(header draft < "$post")" != false ]; then + render_file "$post" > "$DRAFT_DIR/$id.html"; continue; + fi echo "$id" render_file "$post" > "$OUTPUT_DIR/$id.html" & From 6e973bf6b3884ba1ff337a2dff5774479720c6c3 Mon Sep 17 00:00:00 2001 From: Flyounet Date: Fri, 20 Nov 2015 11:18:40 +0100 Subject: [PATCH 2/2] =?UTF-8?q?For=20people=20like=20me=20(who's=20speakin?= =?UTF-8?q?g=20french),=20accent=20are=20important.=20Previously=20the=20s?= =?UTF-8?q?lug=20function=20didn't=20handled=20accent=20:=20echo=20'Baker?= =?UTF-8?q?=20est=20tr=C3=A8s=20bien'=20|=20tr=20-cs=20'[:alnum:]\n'=20-?= =?UTF-8?q?=20|=20tr=20'[:upper:]'=20'[:lower:]'=20|=20sed=20's|^-*||;s|-*?= =?UTF-8?q?$||'=20baker-est-tr-s-bien?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Now it handles them : echo 'Baker est très bien' | iconv -f utf8 -t ascii//TRANSLIT | tr -cs '[:alnum:]\n' - | tr '[:upper:]' '[:lower:]' | sed 's|^-*||;s|-*$||' baker-est-tres-bien --- baker | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/baker b/baker index a3e07e2..e520935 100755 --- a/baker +++ b/baker @@ -59,7 +59,7 @@ body() { # slug creates a friendly URL like 'hello-world' slug() { - tr -cs '[:alnum:]\n' - | tr '[:upper:]' '[:lower:]' | sed 's|^-*||;s|-*$||' + iconv -f utf8 -t ascii//TRANSLIT | tr -cs '[:alnum:]\n' - | tr '[:upper:]' '[:lower:]' | sed 's|^-*||;s|-*$||' } #