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 /scripts | |
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
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/build_content.sh | 42 |
1 files changed, 22 insertions, 20 deletions
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\"" |