Compare commits
3 Commits
e0a3b66fa9
...
v1.0.3
| Author | SHA1 | Date | |
|---|---|---|---|
| 64d08a0de3 | |||
| dd18bc3367 | |||
| f89661c1a5 |
@@ -13,4 +13,4 @@ jobs:
|
|||||||
- name: Install Shellcheck
|
- name: Install Shellcheck
|
||||||
run: sudo apt-get update && sudo apt-get install -y shellcheck
|
run: sudo apt-get update && sudo apt-get install -y shellcheck
|
||||||
- name: Run Shellcheck
|
- name: Run Shellcheck
|
||||||
run: shellcheck kewt.sh markdown.sh tools/build-standalone.sh || true
|
run: shellcheck -s sh kewt.sh markdown.sh tools/build-standalone.sh || true
|
||||||
|
|||||||
@@ -100,7 +100,6 @@ favicon = ""
|
|||||||
|
|
||||||
## Credits
|
## Credits
|
||||||
|
|
||||||
- Markdown to html conversion based on [markdown.bash](https://github.com/chadbraunduin/markdown.bash) by [chadbraunduin](https://github.com/chadbraunduin)
|
|
||||||
- Default css style and html template based on _[kew](https://github.com/uint23/kew)_ by [uint23](https://github.com/uint23)
|
- Default css style and html template based on _[kew](https://github.com/uint23/kew)_ by [uint23](https://github.com/uint23)
|
||||||
|
|
||||||
>[!WARNING]
|
>[!WARNING]
|
||||||
|
|||||||
41
kewt.sh
41
kewt.sh
@@ -6,11 +6,12 @@ die() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
usage() {
|
usage() {
|
||||||
|
invoked_as=$(basename "${KEWT_INVOKED_AS:-$0}")
|
||||||
cat <<EOF
|
cat <<EOF
|
||||||
Usage: $0 [--from <src>] [--to <out>]
|
Usage: $invoked_as [--from <src>] [--to <out>]
|
||||||
$0 [src] [out]
|
$invoked_as [src] [out]
|
||||||
$0 --new [title]
|
$invoked_as --new [title]
|
||||||
$0 --help
|
$invoked_as --help
|
||||||
|
|
||||||
Options:
|
Options:
|
||||||
--help Show this help message.
|
--help Show this help message.
|
||||||
@@ -23,6 +24,9 @@ EOF
|
|||||||
script_dir=$(CDPATH="" cd -- "$(dirname -- "$0")" && pwd)
|
script_dir=$(CDPATH="" cd -- "$(dirname -- "$0")" && pwd)
|
||||||
awk_dir="$script_dir/awk"
|
awk_dir="$script_dir/awk"
|
||||||
|
|
||||||
|
KEWT_TMPDIR=$(mktemp -d "/tmp/kewt_run.XXXXXX")
|
||||||
|
trap 'rm -rf "$KEWT_TMPDIR"' EXIT HUP INT TERM
|
||||||
|
|
||||||
ensure_root_defaults() {
|
ensure_root_defaults() {
|
||||||
if [ ! -f "./site.conf" ]; then
|
if [ ! -f "./site.conf" ]; then
|
||||||
cat > "./site.conf" <<'EOF'
|
cat > "./site.conf" <<'EOF'
|
||||||
@@ -151,7 +155,14 @@ ensure_root_defaults
|
|||||||
src="${src%/}"
|
src="${src%/}"
|
||||||
out="${out%/}"
|
out="${out%/}"
|
||||||
|
|
||||||
[ -d "$src" ] || die "Source directory '$src' does not exist."
|
if [ ! -d "$src" ]; then
|
||||||
|
if [ "$src" = "site" ]; then
|
||||||
|
usage
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
die "Source directory '$src' does not exist."
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
IGNORE_ARGS="-name '.kewtignore' -o -path '$src/.*'"
|
IGNORE_ARGS="-name '.kewtignore' -o -path '$src/.*'"
|
||||||
|
|
||||||
@@ -174,14 +185,14 @@ if [ -f "$src/.kewtignore" ]; then
|
|||||||
done < "$src/.kewtignore"
|
done < "$src/.kewtignore"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
find "$src" -name .kewtignore > "/tmp/kewt_ignore_$$"
|
find "$src" -name .kewtignore > "$KEWT_TMPDIR/kewt_ignore"
|
||||||
while read -r ki; do
|
while read -r ki; do
|
||||||
d="${ki%/.kewtignore}"
|
d="${ki%/.kewtignore}"
|
||||||
if [ "$d" != "$src" ] && [ "$d" != "." ]; then
|
if [ "$d" != "$src" ] && [ "$d" != "." ]; then
|
||||||
IGNORE_ARGS="$IGNORE_ARGS -o -path '$d' -o -path '$d/*'"
|
IGNORE_ARGS="$IGNORE_ARGS -o -path '$d' -o -path '$d/*'"
|
||||||
fi
|
fi
|
||||||
done < "/tmp/kewt_ignore_$$"
|
done < "$KEWT_TMPDIR/kewt_ignore"
|
||||||
rm -f "/tmp/kewt_ignore_$$"
|
rm -f "$KEWT_TMPDIR/kewt_ignore"
|
||||||
|
|
||||||
HIDE_ARGS="-name '.kewtignore' -o -name '.kewthide' -o -name '.kewtpreserve' -o -path '$src/.*'"
|
HIDE_ARGS="-name '.kewtignore' -o -name '.kewthide' -o -name '.kewtpreserve' -o -path '$src/.*'"
|
||||||
|
|
||||||
@@ -204,14 +215,14 @@ if [ -f "$src/.kewthide" ]; then
|
|||||||
done < "$src/.kewthide"
|
done < "$src/.kewthide"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
find "$src" -name .kewthide > "/tmp/kewt_hide_$$"
|
find "$src" -name .kewthide > "$KEWT_TMPDIR/kewt_hide"
|
||||||
while read -r kh; do
|
while read -r kh; do
|
||||||
d="${kh%/.kewthide}"
|
d="${kh%/.kewthide}"
|
||||||
if [ "$d" != "$src" ] && [ "$d" != "." ]; then
|
if [ "$d" != "$src" ] && [ "$d" != "." ]; then
|
||||||
HIDE_ARGS="$HIDE_ARGS -o -path '$d' -o -path '$d/*'"
|
HIDE_ARGS="$HIDE_ARGS -o -path '$d' -o -path '$d/*'"
|
||||||
fi
|
fi
|
||||||
done < "/tmp/kewt_hide_$$"
|
done < "$KEWT_TMPDIR/kewt_hide"
|
||||||
rm -f "/tmp/kewt_hide_$$"
|
rm -f "$KEWT_TMPDIR/kewt_hide"
|
||||||
|
|
||||||
PRESERVE_ARGS="-false"
|
PRESERVE_ARGS="-false"
|
||||||
|
|
||||||
@@ -234,14 +245,14 @@ if [ -f "$src/.kewtpreserve" ]; then
|
|||||||
done < "$src/.kewtpreserve"
|
done < "$src/.kewtpreserve"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
find "$src" -name .kewtpreserve > "/tmp/kewt_preserve_$$"
|
find "$src" -name .kewtpreserve > "$KEWT_TMPDIR/kewt_preserve"
|
||||||
while read -r kp; do
|
while read -r kp; do
|
||||||
d="${kp%/.kewtpreserve}"
|
d="${kp%/.kewtpreserve}"
|
||||||
if [ "$d" != "$src" ] && [ "$d" != "." ]; then
|
if [ "$d" != "$src" ] && [ "$d" != "." ]; then
|
||||||
PRESERVE_ARGS="$PRESERVE_ARGS -o -path '$d' -o -path '$d/*'"
|
PRESERVE_ARGS="$PRESERVE_ARGS -o -path '$d' -o -path '$d/*'"
|
||||||
fi
|
fi
|
||||||
done < "/tmp/kewt_preserve_$$"
|
done < "$KEWT_TMPDIR/kewt_preserve"
|
||||||
rm -f "/tmp/kewt_preserve_$$"
|
rm -f "$KEWT_TMPDIR/kewt_preserve"
|
||||||
|
|
||||||
generate_nav() {
|
generate_nav() {
|
||||||
dinfo=$(eval "find \"$1\" \( $IGNORE_ARGS -o $HIDE_ARGS -o $PRESERVE_ARGS \) -prune -o -print" | sort | awk -v src="$1" -f "$awk_dir/collect_dir_info.awk")
|
dinfo=$(eval "find \"$1\" \( $IGNORE_ARGS -o $HIDE_ARGS -o $PRESERVE_ARGS \) -prune -o -print" | sort | awk -v src="$1" -f "$awk_dir/collect_dir_info.awk")
|
||||||
@@ -488,7 +499,7 @@ eval "find \"$src\" \( $IGNORE_ARGS \) -prune -o -type d -print" | sort | while
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
temp_index="/tmp/kewt_index_$$.md"
|
temp_index="$KEWT_TMPDIR/index.md"
|
||||||
display_dir="${rel_dir#.}"
|
display_dir="${rel_dir#.}"
|
||||||
[ -z "$display_dir" ] && display_dir="/"
|
[ -z "$display_dir" ] && display_dir="/"
|
||||||
echo "# Index of $display_dir" > "$temp_index"
|
echo "# Index of $display_dir" > "$temp_index"
|
||||||
|
|||||||
@@ -100,7 +100,6 @@ favicon = ""
|
|||||||
|
|
||||||
## Credits
|
## Credits
|
||||||
|
|
||||||
- Markdown to html conversion based on [markdown.bash](https://github.com/chadbraunduin/markdown.bash) by [chadbraunduin](https://github.com/chadbraunduin)
|
|
||||||
- Default css style and html template based on _[kew](https://github.com/uint23/kew)_ by [uint23](https://github.com/uint23)
|
- Default css style and html template based on _[kew](https://github.com/uint23/kew)_ by [uint23](https://github.com/uint23)
|
||||||
|
|
||||||
>![WARNING]
|
>![WARNING]
|
||||||
|
|||||||
3
tools/build-standalone.sh
Normal file → Executable file
3
tools/build-standalone.sh
Normal file → Executable file
@@ -20,7 +20,8 @@ trap 'rm -rf "$tmpdir"' EXIT HUP INT TERM
|
|||||||
sed '1,/^#==PAYLOAD==$/d' "$0" | tar -xz -C "$tmpdir"
|
sed '1,/^#==PAYLOAD==$/d' "$0" | tar -xz -C "$tmpdir"
|
||||||
|
|
||||||
# Pass control to the extracted script
|
# Pass control to the extracted script
|
||||||
exec "$tmpdir/kewt.sh" "$@"
|
KEWT_INVOKED_AS="$0" "$tmpdir/kewt.sh" "$@"
|
||||||
|
exit $?
|
||||||
|
|
||||||
#==PAYLOAD==
|
#==PAYLOAD==
|
||||||
EOF
|
EOF
|
||||||
|
|||||||
Reference in New Issue
Block a user