7
0
mirror of https://github.com/marado/RNID.git synced 2024-12-22 03:54:21 +00:00
rnid/scripts/38-siac.sh
Hugo Peixoto 935c82a9eb Troca verificacoes img[alt=""]
Imagens com alt text vazio não são por si incumprimentos. Podem indicar
imagens decorativas. No entanto, links cujo texto é apenas uma imagem
com alt text vazio.

Para implementar isto foi preciso dar algumas voltas, mas deixei
comentários no código a explicar o que se passa.

Closes: #65
2020-08-18 20:16:38 +01:00

36 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
# This would be easier if hxremove 7.9 would have been released already.
# What we're looking for is <a> without text or with images only whose alt text
# is empty.
#
# We wouldn't need the while/hxselect mess if we could do hxremove img[alt=""],
# but this segfaults in 7.8.
#
# What I'm doing here is:
# - cleaning up newlines
# - fetching every link
# - appending the alt text of any images in <a> bodies
# - remove the images from <a> bodies
# - if what's left has any text, it should be ok
if curl -L https://www.siac.vet |
hxclean |
tr '\n' ' ' |
hxselect -c -s '\n' 'a[href="https://siac.vet"]' |
while IFS= read line; do
echo "$line $(echo "$line" | hxselect -c 'img::attr(alt)')";
done |
hxremove 'img' |
grep "^\s*$" > /dev/null; then
echo "siac: Incumprimento mantém-se, a actualizar o README (faça um git diff, valide, e commit!)";
while IFS='' read -r line || [[ -n "$line" ]]; do
test "$(echo "$line"|grep -v -c "siac")" -eq "1" \
&& echo "$line" \
|| (h=$(echo "$line"|cut -d\| -f1-4); t=$(echo "$line"|cut -d\| -f6-); echo "$h| $(date +%Y/%m/%d) |$t");
done < README.md > new
mv new README.md
else
echo "siac: incumprimento pode já não existir (1)";
fi