Compare commits

...

2 commits

Author SHA1 Message Date
70d035c410
document raw 2024-12-26 19:39:37 +03:00
5736765e63
add raw toggle 2024-12-26 19:37:17 +03:00
2 changed files with 11 additions and 2 deletions

View file

@ -117,6 +117,7 @@ you MAY set these variables:
- `TAGS` (as an array!) - `TAGS` (as an array!)
- `DONT_CACHE` (to explicitly not cache the rendered blag) - `DONT_CACHE` (to explicitly not cache the rendered blag)
- `WRITTEN_AT` (if the filesystem/libc doesn't support it) - `WRITTEN_AT` (if the filesystem/libc doesn't support it)
- `RAW` (see [raw responses](#raw_responses))
you SHOULD NOT set `MODIFIED_AT` unless you have a valid reason. you SHOULD NOT set `MODIFIED_AT` unless you have a valid reason.
@ -129,6 +130,13 @@ safely use `jq` to parse it.
the rest is normal the rest is normal
### raw responses
if you set `RAW` to a non-empty value, bingus-blog will abort normal
function and instead respond with whatever your script outputted, setting
the Content-Type header to the value of `RAW`. this can be used to implement
APIs in blag (do not do this).
### cache invalidation ### cache invalidation
due to how blag works, the hash of the query params is stored alongside the due to how blag works, the hash of the query params is stored alongside the

5
blag
View file

@ -34,12 +34,13 @@ metadata() {
local tags=$(for tag in "${TAGS[@]}"; do printf '%s' "$tag" | jq -Rs .; done | jq -sr @json) local tags=$(for tag in "${TAGS[@]}"; do printf '%s' "$tag" | jq -Rs .; done | jq -sr @json)
local dont_cache=false local dont_cache=false
[[ "${DONT_CACHE:+x}" == 'x' ]] && dont_cache=true [[ "${DONT_CACHE:+x}" == 'x' ]] && dont_cache=true
local raw=$(_json_str_opt "$RAW")
printf '{"title":%s,"description":%s,"author":%s,"icon":%s,"icon_alt":%s,"color":%s,"created_at":%s,"modified_at":%s,"tags":%s,"dont_cache":%s}\n' \ printf '{"title":%s,"description":%s,"author":%s,"icon":%s,"icon_alt":%s,"color":%s,"created_at":%s,"modified_at":%s,"tags":%s,"dont_cache":%s,"raw":%s}\n' \
"$title" "$description" "$author" \ "$title" "$description" "$author" \
"$icon" "$icon_alt" "$color" \ "$icon" "$icon_alt" "$color" \
"$created_at" "$modified_at" \ "$created_at" "$modified_at" \
"$tags" "$dont_cache" "$tags" "$dont_cache" "$raw"
} }