Some fixes
This commit is contained in:
parent
74631a55ad
commit
46e1bec053
44
dybr2fedi.sh
44
dybr2fedi.sh
|
@ -11,13 +11,14 @@ blog_id=1045 # liesliasau Dybr blog id
|
||||||
basedir=$(dirname $0)
|
basedir=$(dirname $0)
|
||||||
baseblogdir=$basedir/blog
|
baseblogdir=$basedir/blog
|
||||||
mkdir -p $baseblogdir
|
mkdir -p $baseblogdir
|
||||||
|
touch $baseblogdir/index.gmi
|
||||||
|
|
||||||
#[Dybr section]
|
#[Dybr section]
|
||||||
get_Lies_pages()
|
get_Lies_pages()
|
||||||
{
|
{
|
||||||
curl --compressed --get --url 'https://dybr.ru/v2/entries' \
|
curl --compressed --get --url 'https://dybr.ru/v2/entries' \
|
||||||
-H 'accept: application/json' \
|
-H 'accept: application/json' \
|
||||||
-H 'user-agent: Dybr2Fedi Bridge' \
|
-H 'user-agent: Dybr2Fedi,Dybr2Gemini,RSS Bridge' \
|
||||||
--data-urlencode "filters[blog-id]=$blog_id" \
|
--data-urlencode "filters[blog-id]=$blog_id" \
|
||||||
--data-urlencode 'filters[state]=published' \
|
--data-urlencode 'filters[state]=published' \
|
||||||
--data-urlencode 'include=profile,community' \
|
--data-urlencode 'include=profile,community' \
|
||||||
|
@ -30,26 +31,27 @@ get_Lies_pages > "$basedir"/response.json
|
||||||
|
|
||||||
for i in $(jj -l -i "$basedir"/response.json 'data.#.id'); do
|
for i in $(jj -l -i "$basedir"/response.json 'data.#.id'); do
|
||||||
raw_id=$(echo $i | tr -d '"')
|
raw_id=$(echo $i | tr -d '"')
|
||||||
if [ ! -f $baseblogdir/$i.gmi ]; then
|
if [ ! -f $baseblogdir/$raw_id.gmi ]; then
|
||||||
orig=$(echo $i | sed -e 's/"//g; s|^|https://dybr.ru/blog/liesliasau/|g')
|
orig=$(echo $i | sed -e 's/"//g; s|^|https://dybr.ru/blog/liesliasau/|g')
|
||||||
title=$(jj -i "$basedir"/response.json "data.#[id=$i].attributes.title")
|
title=$(jj -i "$basedir"/response.json "data.#[id=$i].attributes.title")
|
||||||
published=$(jq -r ".[] | .[] | select(.id==$i) | .attributes[\"created-at\"]" "$basedir"/response.json)
|
published=$(jq -r ".[] | .[] | select(.id==$i) | .attributes[\"created-at\"]" "$basedir"/response.json)
|
||||||
tags=$(jj -l -i "$basedir"/response.json "data.#[id=$i].attributes.tags" | sed -e 's/"//g' | tr '\n' ',')
|
tags=$(jj -l -i "$basedir"/response.json "data.#[id=$i].attributes.tags" | sed -e 's/"//g' | tr '\n' ',')
|
||||||
content=$(jj -i "$basedir"/response.json "data.#[id=$i].attributes.content")
|
content=$(jj -i "$basedir"/response.json "data.#[id=$i].attributes.content")
|
||||||
links_img=$(echo "$content" | pup 'img attr{src}' | sed 's|^|https://dybr.ru|g')
|
links_img=$(echo "$content" | pup 'img attr{src}' | sed 's|^|https://dybr.ru|g')
|
||||||
plain_content=$(echo "$content" | w3m -T text/html -cols 65535 -dump -o display_link_number=1 | sed -e 's|\[MORE=.*\]||g ; s|\[/MORE\]||g ; s|\[S:|~~|g ; s|:S\]|~~|g')
|
plain_content=$(echo "$content" | w3m -T text/html -cols 65535 -dump -o display_link_number=1 | sed -e 's|\[MORE=.*\]||g ; s|\[/MORE\]||g ; s|\[S:|~~|g ; s|:S\]|~~|g')
|
||||||
# Unpack inline images...
|
# Unpack inline images...
|
||||||
placeholders_img=$(echo "$plain_content" | grep -oP '\[\d{10}\]')
|
placeholders_img=$(echo "$plain_content" | grep -oP '\[\d{10}\]')
|
||||||
pseudo_index=$(echo "$links_img" | wc -l)
|
pseudo_index=$(echo "$links_img" | wc -l)
|
||||||
index=1
|
index=1
|
||||||
while [ $index -le $pseudo_index ]; do
|
while [ $index -le $pseudo_index ]; do
|
||||||
placeholder=$(echo "$placeholders_img" | sed $index!d | tr -d '[]')
|
placeholder=$(echo "$placeholders_img" | sed $index!d | tr -d '[]')
|
||||||
img=$(echo "$links_img" | sed $index!d)
|
img=$(echo "$links_img" | sed $index!d)
|
||||||
plain_content=$(echo "$plain_content" | sed "s|\[$placeholder\]|=> $img |g")
|
plain_content=$(echo "$plain_content" | sed "s|\[$placeholder\]|=> $img |g")
|
||||||
index=$(expr $index + 1)
|
index=$(expr $index + 1)
|
||||||
done
|
done
|
||||||
echo "# $title\n$plain_content\n\ntags: $tags\n=> $orig orig" > $baseblogdir/$raw_id.gmi
|
echo "# $title\n$plain_content\n\ntags: $tags\n=> $orig orig" > $baseblogdir/$raw_id.gmi
|
||||||
echo "=> $raw_id.gmi $title ($published)" >> $baseblogdir/index.gmi
|
touch -d "$published" $baseblogdir/$raw_id.gmi
|
||||||
|
echo "$raw_id.gmi $title ($published)" | cat - $baseblogdir/index.gmi > $basedir/tmp && mv tmp $baseblogdir/index.gmi
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
#
|
#
|
||||||
|
|
Loading…
Reference in New Issue