diff --git a/meta/.overrides/about.md.zip/.meta b/meta/.overrides/about.md.zip/.meta index ca78be0..8897ea1 100644 --- a/meta/.overrides/about.md.zip/.meta +++ b/meta/.overrides/about.md.zip/.meta @@ -3,7 +3,7 @@ "Name": "about.md.zip", "Size": -1, "MimeType": "application/zip", - "ModTime": "2021-11-29T20:24:55.218Z", + "ModTime": "2021-11-29T21:52:52.504Z", "IsDir": false, "ID": "14F-QFbXLWuXm3ScC1nr4iEnRcwBLMBFLQfDWmDeLcKM" } diff --git a/meta/.overrides/about.md b/meta/.overrides/about.md.zip/index.md similarity index 77% rename from meta/.overrides/about.md rename to meta/.overrides/about.md.zip/index.md index 5d35968..d2e5974 100644 --- a/meta/.overrides/about.md +++ b/meta/.overrides/about.md.zip/index.md @@ -1 +1 @@ -

Welcome :)

\ No newline at end of file +

Welcome :)

\ No newline at end of file diff --git a/meta/.overrides/about.md.zip/about.md.html b/meta/.overrides/about.md/index.md similarity index 77% rename from meta/.overrides/about.md.zip/about.md.html rename to meta/.overrides/about.md/index.md index 5d35968..d2e5974 100644 --- a/meta/.overrides/about.md.zip/about.md.html +++ b/meta/.overrides/about.md/index.md @@ -1 +1 @@ -

Welcome :)

\ No newline at end of file +

Welcome :)

\ No newline at end of file diff --git a/meta/about.md b/meta/about.md index 5d35968..e69de29 100644 --- a/meta/about.md +++ b/meta/about.md @@ -1 +0,0 @@ -

Welcome :)

\ No newline at end of file diff --git a/posts.sh b/posts.sh index d04860e..343ee6c 100644 --- a/posts.sh +++ b/posts.sh @@ -66,33 +66,7 @@ posts() ( mkdir -p "$extracted_dir" 7z x -o"$extracted_dir" "$pulled_file" - cat "$extracted_dir"/*.html | html_only_body > "$index_html" - local tags=($(cat "$index_html" | html_to_plaintext | grep -o '#[a-zA-Z0-9]*' | grep '[a-zA-Z]' | sed 's/^#//' | sort -u)) - local tags_csv="$(first=false; for tag in "${tags[@]}"; do true; if $first; then echo -n ", "; fi; first=true; echo -n "$tag"; done)" - - printf ' - --- - title: "%s" - date: %s - draft: false - tags: [%s] - --- - ' \ - "$(basename "$pulled_file" | sed 's/.zip$//' | sed 's/"/\\"/g')" \ - "$u_date_iso" \ - "$tags_csv" \ - | sed 's/^[ ]*//' \ - | grep . \ - > "$index_md" - - cat "$index_html" >> "$index_md" - echo "" >> "$index_md" - rm "$index_html" "$extracted_dir"/*.html - - for ext in png jpg jpeg gif JPG; do find "$extracted_dir" -name "*.$ext"; done | while read -r line; do - convert "$line" -ordered-dither o8x8,8,8,4 "$line.2" - mv "$line.2" "$line" - done + extracted_zip_to_post "$(echo "$1" | jq -r .Name | sed 's/.zip$//')" "$extracted_dir" "$u_date_iso" } imported() { @@ -191,7 +165,7 @@ meta() { extracted_file="$(extracted "$1")" else mv "$extracted_file" "$(dirname "$extracted_file")"/index.md - mv "$extracted_dir" "$(extracted "$1")" + cp -r "$extracted_dir" "$(extracted "$1")" fi local extracted="$(extracted "$1")" case "${extracted##*.}" in @@ -218,18 +192,18 @@ meta() { cat "$override" | yq -j eval - | jq > "$override.json" cat "$default" | yq -j eval - | jq > "$default.json" jq -s '.[0] * .[1]' "$default.json" "$override.json" | yq -P eval - > ./meta/"$(basename "$override")" + rm "$override.json" "$default.json" } import() { local must="$(must "$1")" - if [ -f "$must" ]; then - rm "$must" + if [ -e "$must" ]; then + rm -rf "$must" fi merge "$1" - if [ -f "$must" ]; then + if [ -e "$must" ]; then return fi - log cp -r "${must%/*}/.overrides/${must##*/}" "$must" cp -r "${must%/*}/.overrides/${must##*/}" "$must" } @@ -303,6 +277,43 @@ html_only_body() { | sed 's/<\/body>.*/<\/body>/' } +extracted_zip_to_post() { + local title="$1" + local extracted_zip="$2" + local u_date_iso="$3" + + local index_md="$extracted_zip/index.md" + local index_html="$extracted_zip/.index.html" + + cat "$extracted_zip"/*.html | html_only_body > "$index_html" + local tags=($(cat "$index_html" | html_to_plaintext | grep -o '#[a-zA-Z0-9]*' | grep '[a-zA-Z]' | sed 's/^#//' | sort -u)) + local tags_csv="$(first=false; for tag in "${tags[@]}"; do true; if $first; then echo -n ", "; fi; first=true; echo -n "$tag"; done)" + + printf ' + --- + title: "%s" + date: %s + draft: false + tags: [%s] + --- + ' \ + "$(echo "$title" | sed 's/"/\\"/g')" \ + "$u_date_iso" \ + "$tags_csv" \ + | sed 's/^[ ]*//' \ + | grep . \ + > "$index_md" + + cat "$index_html" >> "$index_md" + echo "" >> "$index_md" + rm "$index_html" "$extracted_zip"/*.html + + for ext in png jpg jpeg gif JPG; do find "$extracted_zip" -name "*.$ext"; done | while read -r line; do + convert "$line" -ordered-dither o8x8,8,8,4 "$line.2" + mv "$line.2" "$line" + done +} + if [ "$0" == "$BASH_SOURCE" ]; then main "$@" fi