From ee9ea17367518b4589ee988526d17dc09686e4eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anton=20Luka=20=C5=A0ijanec?= Date: Wed, 22 Nov 2023 00:13:58 +0100 Subject: skovikanje --- prog/skovikanje/generiraj.sh | 15 +++ prog/skovikanje/header.html | 5 + prog/skovikanje/index.html | 26 +++++ prog/skovikanje/komentar.php | 129 ++++++++++++++++++++++ prog/skovikanje/komentar.sh | 113 +++++++++++++++++++ prog/skovikanje/komentarji/AnJicLws | 2 + prog/skovikanje/komentarji/D1B+ra+8 | 16 +++ prog/skovikanje/komentarji/kjsXwJwK | 3 + prog/skovikanje/komentarji/ogGlgfcH | 2 + prog/skovikanje/komentarji/smYGeT5A | 3 + prog/skovikanje/komentarji/tHMD--st | 8 ++ prog/skovikanje/komentarji/u9XDzZvP | 2 + prog/skovikanje/komentarji/uXkECHXA | 3 + prog/skovikanje/komentarji/xDAUknvS | 3 + prog/skovikanje/makefile | 7 ++ prog/skovikanje/objave/test | 11 ++ prog/skovikanje/run.sh | 7 ++ prog/skovikanje/skovik/test.html | 213 ++++++++++++++++++++++++++++++++++++ 18 files changed, 568 insertions(+) create mode 100755 prog/skovikanje/generiraj.sh create mode 100644 prog/skovikanje/header.html create mode 100644 prog/skovikanje/index.html create mode 100644 prog/skovikanje/komentar.php create mode 100755 prog/skovikanje/komentar.sh create mode 100644 prog/skovikanje/komentarji/AnJicLws create mode 100644 prog/skovikanje/komentarji/D1B+ra+8 create mode 100644 prog/skovikanje/komentarji/kjsXwJwK create mode 100644 prog/skovikanje/komentarji/ogGlgfcH create mode 100644 prog/skovikanje/komentarji/smYGeT5A create mode 100644 prog/skovikanje/komentarji/tHMD--st create mode 100644 prog/skovikanje/komentarji/u9XDzZvP create mode 100644 prog/skovikanje/komentarji/uXkECHXA create mode 100644 prog/skovikanje/komentarji/xDAUknvS create mode 100644 prog/skovikanje/makefile create mode 100644 prog/skovikanje/objave/test create mode 100755 prog/skovikanje/run.sh create mode 100644 prog/skovikanje/skovik/test.html diff --git a/prog/skovikanje/generiraj.sh b/prog/skovikanje/generiraj.sh new file mode 100755 index 0000000..d8f00ac --- /dev/null +++ b/prog/skovikanje/generiraj.sh @@ -0,0 +1,15 @@ +#!/bin/bash +set -xeuo pipefail +start=$(($(date +%s%N)/1000000)) +cat header.html +echo "🦉 skovikanje :: blog nesmiselnih stvari" +echo "

🦉 skovikanje :: blog nesmiselnih stvari

" +echo "

nazaj na varno (na mojo spletno stran)

" +echo "

Tu so objave, ki se mi ne zdijo vredne objave na prvi strani. Za njihovo kvaliteto ne odgovarjam, je pa moč pod vsako objavo puščati komentarje.

" +for file in `ls --reverse --sort=time --time=birth objave` +do + echo "
" + ./komentar.sh objava html $file 0 + cat header.html <(./komentar.sh objava html $file 1) > skovik/$file.html +done +echo "
ta stran, vključno z vsemi podstranmi s skoviki, je bila generirana dne `date` na `hostname` v $(($(date +%s%N)/1000000-$start)) ms." diff --git a/prog/skovikanje/header.html b/prog/skovikanje/header.html new file mode 100644 index 0000000..1c409da --- /dev/null +++ b/prog/skovikanje/header.html @@ -0,0 +1,5 @@ + diff --git a/prog/skovikanje/index.html b/prog/skovikanje/index.html new file mode 100644 index 0000000..e92bb82 --- /dev/null +++ b/prog/skovikanje/index.html @@ -0,0 +1,26 @@ + +🦉 skovikanje :: blog nesmiselnih stvari +

🦉 skovikanje :: blog nesmiselnih stvari

+

nazaj na varno (na mojo spletno stran)

+

Tu so objave, ki se mi ne zdijo vredne objave na prvi strani. Za njihovo kvaliteto ne odgovarjam, je pa moč pod vsako objavo puščati komentarje.

+
+ + +

Testni skovik

+

spisal 2023-11-20 +| nazadnje spremenil 2023-11-21 +

+
+Kar berete, je prvi testni skovik na mojem skromnem portalu za skovike. Tu je še nekaj besedila. +
+Še ena vrstica +
+Odstavek. +
+
+

Klikni sem za ogled celotnega besedila, komentiranje in branje komentarjev (6).

+
ta stran, vključno z vsemi podstranmi s skoviki, je bila generirana dne sre 22 nov 2023 00:13:16 CET na b v 1219 ms. diff --git a/prog/skovikanje/komentar.php b/prog/skovikanje/komentar.php new file mode 100644 index 0000000..c6939ed --- /dev/null +++ b/prog/skovikanje/komentar.php @@ -0,0 +1,129 @@ +vrnitev nazaj"); + } + if (strtolower($_POST["antispam"]) != "a") + die("napaka! v polje za onemogočanje dostopa robotom bi morali vnesti črko a. vrnitev nazaj"); + if (str_contains($_POST["avtor"], "\t") || str_contains($_POST["avtor"], "\n")) + die("napaka! polje z imenom avtorja ne bi smelo vsebovati niti tabulatorja niti presledka. vrnitev nazaj"); + $d = $na . "\t" . $_POST["avtor"] . "\t" . (!empty($_POST["geslo"]) ? password_hash($_POST["geslo"], PASSWORD_DEFAULT) : "") . "\n" . trim($_POST["besedilo"]) . "\n"; + if (file_put_contents("komentarji/" . ($koga ? $koga : str_replace("/", "-", base64_encode(random_bytes(6)))), $d)) { + echo "komentar oddan! "; + if (!empty($_REQUEST["ref"])) + echo "vrnitev nazaj na diskusijo"; + $_SESSION["besedilo"] = ""; + if ($_POST["besedilo"] == "" && $koga) { + echo "\n------------- KOMENTAR IZBRISAN! --------------"; + unlink("komentarji/$koga"); + die(); + } + if (!empty($koga)) + $obstojey = file_get_contents("komentarji/" . $koga); + else + die(); + } else + die("napaka! shranjevanje ni uspelo. pišite na anton@šijanec.eu. vrnitev nazaj"); +} +$avtor = @$_SESSION["avtor"] ? htmlspecialchars($_SESSION["avtor"]) : ""; +$besedilo = @$_SESSION["besedilo"] ? htmlspecialchars($_SESSION["besedilo"]) : ""; +$geslo = @$_SESSION["geslo"] ? htmlspecialchars($_SESSION["geslo"]) : (empty($na) ? "" : trim(`pwgen 8 1`)); +if ($koga) { + if (empty($_POST["geslo"])) { +?> +
> + +" name=geslo id=geslo /> + +
+vrnitev nazaj"); + $avtor = explode("\t", explode("\n", $obstojey)[0])[1]; + $geslo = $_POST["geslo"]; + $besedilo = implode("\n", array_slice(explode("\n", $obstojey), 1)); +} +?> + +

+ +: +
+ + +
+ +
> + + +
+ +
+
> + + +
+
+ +" /> + +
+ /> + +
diff --git a/prog/skovikanje/komentar.sh b/prog/skovikanje/komentar.sh new file mode 100755 index 0000000..a007822 --- /dev/null +++ b/prog/skovikanje/komentar.sh @@ -0,0 +1,113 @@ +#!/bin/bash +set -xeuo pipefail +function besedilo () { # + seznam=1 + echo "
" + tail -n+2 $2 | while read -r l + do + navadno=1 + if grep ^!http <<<"$l" > /dev/null && grep -v \' <<<"$l" > /dev/null + then + echo "" + navadno=0 + fi + seznam=$(($seznam-1)) + if grep '^*' <<<"$l" > /dev/null + then + [ $seznam -eq 0 ] && echo "
    " + seznam=2 + navadno=0 + fi + zelena=0 + if grep '^>' <<<"$l" > /dev/null + then + echo "" + zelena=1 + fi + [ $seznam -eq 1 ] && echo "
" + if [ $navadno -eq 1 ] + then + if [ $3 -eq 0 ] + then + tekst=`sed -e 's//' <<<"$tekst"` + fi + if [ $4 -gt 0 ] + then + for you in `grep -Eo ">>[A-Za-z0-9+-]{8}" <<<"$l"` + do + stil="border:1px solid green" + if [ $(($4%2)) -eq 0 ] + then + stil="border:1px solid red" + fi + koment=`komentar $1 $(cut -d\> -f3 <<<$you) $(($4-1))` + echo "
`head -n1 <<<$koment``tail -n+2 <<<$koment`
" + + done + fi + sed -e 's,\(http[s]*://[A-Za-z0-9._~:/?#@!$&()*+,;=-]*\),\1,g' <<<"$tekst" + echo "
" + fi + if [ $zelena -eq 1 ] + then + echo "" + fi + done + echo "
" +} +function komentar () { # tip id nesting-level + stat komentarji/$2 > /dev/null || { echo komentar ne $3 ne obstaja.; return; } + echo -n "$2 $(head -n1 komentarji/$2 | cut -f2 | cut -d@ -f1 | sed -e 's/ " + echo "dne `date --date @$(stat --format %W komentarji/$2)` uredi na" + besedilo $1 komentarji/$2 0 $3 +} +if [ $1 = komentar ] +then + komentar $2 $3 5 +fi +if [ $1 = objava ] +then + echo "" + if [ $4 -eq 1 ] + then + echo "`head -n1 objave/$3 | cut -f1`" + echo "

<<< nazaj

" + fi + echo "" + echo "

`head -n1 objave/$3 | cut -f1`

" + echo "

spisal `head -n1 objave/$3 | cut -f2`" + if [ ! `head -n1 objave/$3 | cut -f2` = `date --iso-8601 --date @$(stat --format %Y objave/$3)` ] + then + echo "| nazadnje spremenil `date --iso-8601 --date @$(stat --format %Y objave/$3)`" + fi + echo "

" + if [ $4 -eq 1 ] + then + besedilo $2 objave/$3 1 5 + echo "

komentarji

" + komentiraj="" + echo $komentiraj + for file in `ls --reverse --sort=time --time=birth komentarji` + do + + grep "^$3 " komentarji/$file > /dev/null && { echo "
"; komentar $1 $file 5; echo "
"; } + done + echo "
`curl --fail-with-body http://z.4a.si/skovikanje/komentar.php?action=//z.4a.si./skovikanje/komentar.php%3Fna=$3%26tip=objava%26ref=REPLACEME | sed s/REPLACEME/HTTP_REFERER/`
" + echo $komentiraj + echo "" + else + besedilo $2 <(head -n4 objave/$3) 1 5 + komentarjev=0 + for file in `ls --reverse --sort=time --time=birth komentarji` + do + grep "^$3 " komentarji/$file > /dev/null && komentarjev=$(($komentarjev+1)) + done + echo "

Klikni sem za ogled celotnega besedila, komentiranje in branje komentarjev ($komentarjev).

" + fi +fi diff --git a/prog/skovikanje/komentarji/AnJicLws b/prog/skovikanje/komentarji/AnJicLws new file mode 100644 index 0000000..3a778b9 --- /dev/null +++ b/prog/skovikanje/komentarji/AnJicLws @@ -0,0 +1,2 @@ +test anton@sijanec.eu $2y$10$AfTk9cvVIDW9IrrnuMwXv.cVmlmv.YNxEQYP9rcHYFXbi9ke0Ft7W +živjo, ne strinjam se diff --git a/prog/skovikanje/komentarji/D1B+ra+8 b/prog/skovikanje/komentarji/D1B+ra+8 new file mode 100644 index 0000000..01ac838 --- /dev/null +++ b/prog/skovikanje/komentarji/D1B+ra+8 @@ -0,0 +1,16 @@ +test anton@sijanec.eu $2y$10$1NcCaWB6Z4X4/Q8EZgdv7.pm.j9KPjJwmUJRgEvF2W785X16LhXnO +AnJicLwsogGlgfcH +>>AnJicLws +in druge besedi +>>ogGlgfcH +in druge besedi +>>u9XDzZvP +in druge besedi +bye +>lol +* seznam +* seznam +bye +kaj? +resno? +seveda. diff --git a/prog/skovikanje/komentarji/kjsXwJwK b/prog/skovikanje/komentarji/kjsXwJwK new file mode 100644 index 0000000..325899e --- /dev/null +++ b/prog/skovikanje/komentarji/kjsXwJwK @@ -0,0 +1,3 @@ +test anton@sijanec.eu $2y$10$4.Bd8gbW9idUSQ2gtvhVnek2YH3m.pa33Go5aGCZHoTwoG5y6SH3K +a ugnezdeno citiranje deluje? +>>D1B+ra+8 diff --git a/prog/skovikanje/komentarji/ogGlgfcH b/prog/skovikanje/komentarji/ogGlgfcH new file mode 100644 index 0000000..9854e21 --- /dev/null +++ b/prog/skovikanje/komentarji/ogGlgfcH @@ -0,0 +1,2 @@ +test anton@sijanec.eu $2y$10$xt0tJQPCHu14L0U2eMA17eZ3QV0RVqhNfy2STM.yvlZsJAI0IEfei +živjo, ne strinjam se diff --git a/prog/skovikanje/komentarji/smYGeT5A b/prog/skovikanje/komentarji/smYGeT5A new file mode 100644 index 0000000..eae113b --- /dev/null +++ b/prog/skovikanje/komentarji/smYGeT5A @@ -0,0 +1,3 @@ +test anton@sijanec.eu $2y$10$PXyKUy/JxbZE1t2vDPOCTO4DE8ywi8wJgev9APy2awVPP7mrNGwd6 +asd +urejen diff --git a/prog/skovikanje/komentarji/tHMD--st b/prog/skovikanje/komentarji/tHMD--st new file mode 100644 index 0000000..56ba201 --- /dev/null +++ b/prog/skovikanje/komentarji/tHMD--st @@ -0,0 +1,8 @@ + anton@sijanec.eu $2y$10$aDJq.y9VKP4DVN5RroK1Ge49L1Sv9dyuDOCnWjvjy0NmM2sMOikQa +To je prvi testni komentar. +Urejanje komentarja! +Še enkrat? +Prosim, več! +Resno? +ne dela. asdasd +ojča diff --git a/prog/skovikanje/komentarji/u9XDzZvP b/prog/skovikanje/komentarji/u9XDzZvP new file mode 100644 index 0000000..a556084 --- /dev/null +++ b/prog/skovikanje/komentarji/u9XDzZvP @@ -0,0 +1,2 @@ +test anton@sijanec.eu $2y$10$O04g6s5sroYww6CWq8dIpuQBwLWNkKb8cKrSW02zOnMnzWJxEAosq +živjo, ne strinjam se diff --git a/prog/skovikanje/komentarji/uXkECHXA b/prog/skovikanje/komentarji/uXkECHXA new file mode 100644 index 0000000..545be7a --- /dev/null +++ b/prog/skovikanje/komentarji/uXkECHXA @@ -0,0 +1,3 @@ + anton@sijanec.eu $2y$10$2yu9PByOKfkhyCOCgfMkNeKmnE6M0Ml8Abepaj1/CHCjpaSFbbXVO +ojla2 +urejen diff --git a/prog/skovikanje/komentarji/xDAUknvS b/prog/skovikanje/komentarji/xDAUknvS new file mode 100644 index 0000000..e0b2d6a --- /dev/null +++ b/prog/skovikanje/komentarji/xDAUknvS @@ -0,0 +1,3 @@ + anton@sijanec.eu $2y$10$QfoIcmO5n07B9AT2bNXr7ee9vdDGJShLoJijmMXbjcd4r.uZvee3a +ojla +urejanje diff --git a/prog/skovikanje/makefile b/prog/skovikanje/makefile new file mode 100644 index 0000000..037552e --- /dev/null +++ b/prog/skovikanje/makefile @@ -0,0 +1,7 @@ +default: fetchsrc + +fetchsrc: + rsync -av z@b:~/www/skovikanje/ . + + +.PHONY: default fetchsrc diff --git a/prog/skovikanje/objave/test b/prog/skovikanje/objave/test new file mode 100644 index 0000000..09661d5 --- /dev/null +++ b/prog/skovikanje/objave/test @@ -0,0 +1,11 @@ +Testni skovik 2023-11-20 +Kar berete, je prvi testni skovik na mojem skromnem portalu za skovike. Tu je še nekaj besedila. +Še ena vrstica +Odstavek. +!http://upload.4a.si/d/1.jpg + +To zgoraj je ena slika. +Tu spodaj pa je ena manjša aztec koda: +!http://upload.4a.si/d/32.png + +Za več informacij lahko odprete https://sl.wikipedia.org/wiki/Glavna_stran -- ali pa tudi ne diff --git a/prog/skovikanje/run.sh b/prog/skovikanje/run.sh new file mode 100755 index 0000000..120748d --- /dev/null +++ b/prog/skovikanje/run.sh @@ -0,0 +1,7 @@ +#!/bin/sh +while : +do +./generiraj.sh > index.html +inotifywait -re modify . +sleep .1 +done diff --git a/prog/skovikanje/skovik/test.html b/prog/skovikanje/skovik/test.html new file mode 100644 index 0000000..a9f8628 --- /dev/null +++ b/prog/skovikanje/skovik/test.html @@ -0,0 +1,213 @@ + + +Testni skovik +

<<< nazaj

+ +

Testni skovik

+

spisal 2023-11-20 +| nazadnje spremenil 2023-11-21 +

+
+Kar berete, je prvi testni skovik na mojem skromnem portalu za skovike. Tu je še nekaj besedila. +
+Še ena vrstica +
+Odstavek. +
+ + +
+To zgoraj je ena slika. +
+Tu spodaj pa je ena manjša aztec koda: +
+ + +
+Za več informacij lahko odprete https://sl.wikipedia.org/wiki/Glavna_stran -- ali pa tudi ne +
+
+

komentarji

+ +
+AnJicLws anton dne tor 21 nov 2023 22:42:16 CET uredi na +
+živjo, ne strinjam se +
+
+
+
+ogGlgfcH anton dne tor 21 nov 2023 22:45:19 CET uredi na +
+živjo, ne strinjam se +
+
+
+
+u9XDzZvP anton dne tor 21 nov 2023 22:45:28 CET uredi na +
+živjo, ne strinjam se +
+
+
+
+smYGeT5A anton dne tor 21 nov 2023 22:50:21 CET uredi na +
+asd +
+urejen +
+
+
+
+D1B+ra+8 anton dne tor 21 nov 2023 23:16:37 CET uredi na +
+AnJicLwsogGlgfcH +
+ +
AnJicLws anton dne tor 21 nov 2023 22:42:16 CET uredi na
+živjo, ne strinjam se +
+
+>>AnJicLws +
+
+in druge besedi +
+ +
ogGlgfcH anton dne tor 21 nov 2023 22:45:19 CET uredi na
+živjo, ne strinjam se +
+
+>>ogGlgfcH +
+
+in druge besedi +
+ +
u9XDzZvP anton dne tor 21 nov 2023 22:45:28 CET uredi na
+živjo, ne strinjam se +
+
+>>u9XDzZvP +
+
+in druge besedi +
+bye +
+ +>lol +
+
+ +bye +
+kaj? +
+resno? +
+seveda. +
+
+
+
+kjsXwJwK anton dne tor 21 nov 2023 23:50:25 CET uredi na +
+a ugnezdeno citiranje deluje? +
+ +
D1B+ra+8 anton dne tor 21 nov 2023 23:16:37 CET uredi na
+AnJicLwsogGlgfcH +
+ +
AnJicLws anton dne tor 21 nov 2023 22:42:16 CET uredi na
+živjo, ne strinjam se +
+
+>>AnJicLws +
+
+in druge besedi +
+ +
ogGlgfcH anton dne tor 21 nov 2023 22:45:19 CET uredi na
+živjo, ne strinjam se +
+
+>>ogGlgfcH +
+
+in druge besedi +
+ +
u9XDzZvP anton dne tor 21 nov 2023 22:45:28 CET uredi na
+živjo, ne strinjam se +
+
+>>u9XDzZvP +
+
+in druge besedi +
+bye +
+ +>lol +
+
+ +bye +
+kaj? +
+resno? +
+seveda. +
+
+>>D1B+ra+8 +
+
+
+
+
+ + +
+ +
+
+ + +
+
+ + + +
+ +
    +
  • na novi vrstici napišite !http://url/do/slike da vgradite sliko +
  • začni vrstico z *, da izdelaš seznam +
  • vrstice, ki se začno z >, bodo obarvane zeleno +
  • nizi <<xxxxxxxx bodo citirali komentarje +
  • povezave zaznam avtomatično +
+
+ + -- cgit v1.2.3