diff options
| author | Volpeon <git@volpeon.ink> | 2021-01-01 08:39:09 +0100 |
|---|---|---|
| committer | Volpeon <git@volpeon.ink> | 2021-01-01 08:39:09 +0100 |
| commit | f22af1bf6ec7d1a7cafbbc6f37b7791b4a56fef5 (patch) | |
| tree | ca6ee9cf61e93f11f2409ad832dbf20b3e814645 | |
| parent | Revert to old subpage find commands, include page content in feed (diff) | |
| download | volpeon.ink-f22af1bf6ec7d1a7cafbbc6f37b7791b4a56fef5.tar.gz volpeon.ink-f22af1bf6ec7d1a7cafbbc6f37b7791b4a56fef5.tar.bz2 volpeon.ink-f22af1bf6ec7d1a7cafbbc6f37b7791b4a56fef5.zip | |
Support drafts via _ prefix in filename
| -rw-r--r-- | content/blog/test2/_index.md (renamed from content/blog/test2/index.md) | 0 | ||||
| -rwxr-xr-x | scripts/build_content.sh | 42 |
2 files changed, 22 insertions, 20 deletions
diff --git a/content/blog/test2/index.md b/content/blog/test2/_index.md index 9d1ebd2..9d1ebd2 100644 --- a/content/blog/test2/index.md +++ b/content/blog/test2/_index.md | |||
diff --git a/scripts/build_content.sh b/scripts/build_content.sh index 4e1b396..fcabf9f 100755 --- a/scripts/build_content.sh +++ b/scripts/build_content.sh | |||
| @@ -85,20 +85,14 @@ get_subpages_meta() { | |||
| 85 | child_pages=() | 85 | child_pages=() |
| 86 | 86 | ||
| 87 | if [ -d "$basedir" ]; then | 87 | if [ -d "$basedir" ]; then |
| 88 | mapfile -d $'\0' child_pages_1 < <(find $basedir/ \ | 88 | mapfile -d $'\0' child_pages < <(find "$basedir" \ |
| 89 | -type f \ | ||
| 90 | -name "*.md" ! -name "index.md" \ | ||
| 91 | -maxdepth 1 \ | ||
| 92 | -print0) | ||
| 93 | |||
| 94 | mapfile -d $'\0' child_pages_2 < <(find $basedir/ \ | ||
| 95 | -type f \ | ||
| 96 | -name "index.md" \ | ||
| 97 | -mindepth 2 \ | ||
| 98 | -maxdepth 2 \ | 89 | -maxdepth 2 \ |
| 90 | -type f \ | ||
| 91 | -name "*.md" \ | ||
| 92 | ! -name "_*.md" \ | ||
| 93 | ! -wholename "${basedir}index.md" \ | ||
| 94 | \( -wholename "$basedir*/index.md" -o ! -wholename "$basedir*/*.md" \) \ | ||
| 99 | -print0) | 95 | -print0) |
| 100 | |||
| 101 | child_pages=("${child_pages_1[@]}" "${child_pages_2[@]}") | ||
| 102 | fi | 96 | fi |
| 103 | 97 | ||
| 104 | pages=$(echo "{}" | jq ". + { \ | 98 | pages=$(echo "{}" | jq ". + { \ |
| @@ -115,7 +109,6 @@ get_subpages_meta() { | |||
| 115 | #echo -e "\033[0;90m[////////]\033[0m - $file" | 109 | #echo -e "\033[0;90m[////////]\033[0m - $file" |
| 116 | 110 | ||
| 117 | metadata=$(get_metadata "$file") | 111 | metadata=$(get_metadata "$file") |
| 118 | content=$(get_content "$file") | ||
| 119 | 112 | ||
| 120 | section=$(get_section "$file") | 113 | section=$(get_section "$file") |
| 121 | 114 | ||
| @@ -145,9 +138,11 @@ get_subpages_meta() { | |||
| 145 | category_name="" | 138 | category_name="" |
| 146 | 139 | ||
| 147 | if [ "$section" != "" ] && [ "$category" != "" ]; then | 140 | if [ "$section" != "" ] && [ "$category" != "" ]; then |
| 148 | category_name=$(echo "$CATEGORIES" | jq -r .$section.$category) | 141 | category_name=$(echo "$CATEGORIES" | jq -r ".$section.$category") |
| 149 | fi | 142 | fi |
| 150 | 143 | ||
| 144 | content=$(get_content "$file") | ||
| 145 | |||
| 151 | metadata=$(echo "$metadata" | jq ". + { \ | 146 | metadata=$(echo "$metadata" | jq ". + { \ |
| 152 | content: \"$(echo "$content" | sed -z 's/\\/\\\\/g;s/\n/\\n/g;s/"/\"/g')\", \ | 147 | content: \"$(echo "$content" | sed -z 's/\\/\\\\/g;s/\n/\\n/g;s/"/\"/g')\", \ |
| 153 | date: { \ | 148 | date: { \ |
| @@ -202,13 +197,11 @@ handle () { | |||
| 202 | if [ "${1#*.}" = "md" ]; then | 197 | if [ "${1#*.}" = "md" ]; then |
| 203 | echo -e "\033[0;32m[COMPILE ]\033[0m $1 -> $target_file" | 198 | echo -e "\033[0;32m[COMPILE ]\033[0m $1 -> $target_file" |
| 204 | 199 | ||
| 205 | meta_file=$(mktemp) | ||
| 206 | |||
| 207 | echo -e "\033[0;90m[COMPILE ]\033[0m Getting metadata" | 200 | echo -e "\033[0;90m[COMPILE ]\033[0m Getting metadata" |
| 208 | 201 | ||
| 209 | included_metadata=$(get_metadata "$1") | 202 | included_metadata=$(get_metadata "$1") |
| 210 | 203 | ||
| 211 | create_feed=$(echo "$included_metadata" | jq -r ".create_feed") | 204 | create_feed=$(echo "$included_metadata" | jq -r .create_feed) |
| 212 | 205 | ||
| 213 | url_abs=$(get_url_abs "$1" "html") | 206 | url_abs=$(get_url_abs "$1" "html") |
| 214 | url_full="${SITE%/}$url_abs" | 207 | url_full="${SITE%/}$url_abs" |
| @@ -248,6 +241,8 @@ handle () { | |||
| 248 | }") | 241 | }") |
| 249 | fi | 242 | fi |
| 250 | 243 | ||
| 244 | meta_file=$(mktemp) | ||
| 245 | |||
| 251 | echo "$added_metadata" > "$meta_file" | 246 | echo "$added_metadata" > "$meta_file" |
| 252 | 247 | ||
| 253 | if [ "$create_feed" = "true" ]; then | 248 | if [ "$create_feed" = "true" ]; then |
| @@ -291,6 +286,7 @@ handle () { | |||
| 291 | if [ -z "$1" ]; then | 286 | if [ -z "$1" ]; then |
| 292 | find "$CONTENT_DIR" \ | 287 | find "$CONTENT_DIR" \ |
| 293 | -type f \ | 288 | -type f \ |
| 289 | ! -name "_*.md" \ | ||
| 294 | | while read file | 290 | | while read file |
| 295 | do | 291 | do |
| 296 | handle "$file" | 292 | handle "$file" |
| @@ -299,6 +295,7 @@ elif [ "$1" = "all_md" ]; then | |||
| 299 | find "$CONTENT_DIR" \ | 295 | find "$CONTENT_DIR" \ |
| 300 | -type f \ | 296 | -type f \ |
| 301 | -name "*.md" \ | 297 | -name "*.md" \ |
| 298 | ! -name "_*.md" \ | ||
| 302 | | while read file | 299 | | while read file |
| 303 | do | 300 | do |
| 304 | handle "$file" | 301 | handle "$file" |
| @@ -307,15 +304,20 @@ elif [ "$1" = "single" ]; then | |||
| 307 | if [ -z "$2" ]; then | 304 | if [ -z "$2" ]; then |
| 308 | echo -e "\033[0;31m[ERROR ]\033[0m \"single\" operation requires file argument" | 305 | echo -e "\033[0;31m[ERROR ]\033[0m \"single\" operation requires file argument" |
| 309 | else | 306 | else |
| 310 | handle "$2" | 307 | filename=$(basename "$2") |
| 308 | if [ "${filename:0:1}" != "_" ]; then | ||
| 309 | handle "$2" | ||
| 310 | fi | ||
| 311 | fi | 311 | fi |
| 312 | elif [ "$1" = "delete" ]; then | 312 | elif [ "$1" = "delete" ]; then |
| 313 | if [ -z "$2" ]; then | 313 | if [ -z "$2" ]; then |
| 314 | echo -e "\033[0;31m[ERROR ]\033[0m \"delete\" operation requires file argument" | 314 | echo -e "\033[0;31m[ERROR ]\033[0m \"delete\" operation requires file argument" |
| 315 | else | 315 | else |
| 316 | target_file=$(get_target_filename "$2") | 316 | target_file=$(get_target_filename "$2") |
| 317 | echo -e "\033[0;32m[DELETE ]\033[0m $2 -> $target_file" | 317 | if [ -f "$target_file" ] || [ -d "$target_file" ]; then |
| 318 | rm -rf $target_file | 318 | echo -e "\033[0;32m[DELETE ]\033[0m $2 -> $target_file" |
| 319 | rm -rf $target_file | ||
| 320 | fi | ||
| 319 | fi | 321 | fi |
| 320 | else | 322 | else |
| 321 | echo -e "\033[0;31m[ERROR ]\033[0m Unknown operation: \"$1\"" | 323 | echo -e "\033[0;31m[ERROR ]\033[0m Unknown operation: \"$1\"" |
