Koodilistaus:Fingeroi
Ulkoasu
<metadesc content="Bash-komentojono, joka muotoilee annetut tiedot HTML-riviksi ja RSS-merkinnäksi." />
Lataa tiedostona: [{{#file: fingeroi}} fingeroi]
Tämä Bash-komentojono kyselee sarjakuvastripin tiedot ja muotoilee ne sitten HTML-riviksi ja RSS-virtaan sopivaksi merkinnäksi (item).
{{#fileanchor: fingeroi}}
#!/bin/bash
# Fingeroi to 9.7.2009 16:41:07 +0300
#
# Changes since ma 25.5.2009 09:20:35 +0300
# - FIX: missing double quotes around HTML attribute values
#
# Changes since ma 25.5.2009 08:53:09 +0300
# - date prompt instructions now separate from prompt
# - better support for various input formats (dot-ending, zero-padded)
# - input year < 100 now interpreted as 2000 + input year
#
# Changes since ma 25.5.2009 08:48:38 +0300
# - prompt formatting (on two lines now instead of a single long one)
#
# Changes since ma 25.5.2009 08:48:00 +0300
# - changelog
while [ "$URL" == "" ]; do
echo -n "Anna stripin osoite: "
read URL
done
while [ "$TITLE" == "" ]; do
echo -n "Anna stripille keksimäsi lyhyt nimitys linkkitekstiä varten: "
read TITLE
done
echo -e "\nSeuraavaksi kysellään stripin julkaisupäivämäärä. Tässä hieman ohjeita:"
echo -e "\t* Anna kaikki vastaukset, siis myös kuukausi, numerona. "
echo -e "\t* Tyhjä arvo (eli pelkän rivinvaihdon antaminen) vastauksena on sama "
echo -e "\t kuin meneillään olevaa päivää vastaavan arvon antaminen. Kunkin "
echo -e "\t kysymyksen oletusarvot näkyvät kehotteen yhteydessä [hakasulkeissa]."
echo -e ""
DEFAULT=`date +%-d`
echo -n "Anna stripin julkaisupäivä (monesko päivä kuukaudesta) [$DEFAULT]: "
read D
if [ "$D" == "" ]; then
D=$DEFAULT
fi
D=${D##0}
D=${D%.}
DH=$D
if [ "$D" -lt 10 ]; then
DH=" $D"
fi
DEFAULT=`date +%-m`
echo -n "Anna stripin julkaisukuukausi [$DEFAULT]: "
read M
if [ "$M" == "" ]; then
M=$DEFAULT
fi
M=${M##0}
M=${M%.}
if [ "$M" -lt 10 ]; then
DH=" $DH"
fi
DEFAULT=`date +%-Y`
echo -n "Anna stripin julkaisuvuosi [$DEFAULT]: "
read Y
if [ "$Y" == "" ]; then
Y=$DEFAULT
fi
Y=${Y##0}
if [ "$Y" -lt "100" ]; then
if [ "$Y" -lt "10" ]; then
Y="200$Y"
else
Y="20$Y"
fi
fi
echo -e "\nAnnetuista tiedoista muotoiltu HTML:"
echo -e "---------------8<-------------------\n"
echo -e "\t<li><a href=\"$URL\"><span class=\"pvm\">$DH.$M.$Y:</span> $TITLE</a></li>"
echo -e "\n---------------8<-------------------"
echo -e "\nAnnetuista tiedoista muotoiltu RSS-merkintä:"
echo -e "---------------8<-------------------\n"
echo -e " <item>"
echo -e " <title>$D.$M.$Y: $TITLE</title>"
echo -e " <link>$URL</link>"
echo -e " <pubDate>`date -R`</pubDate>"
echo -e " <dc:creator>Jani</dc:creator>"
echo -e " <guid>$URL</guid>"
echo -e " <description><![CDATA[<a href=\"$URL\">$D.$M.$Y: $TITLE</a>]]></description>"
echo -e " <content:encoded><![CDATA[<a href=\"$URL\">$D.$M.$Y: $TITLE</a>]]></content:encoded>"
echo -e " </item>"
echo -e "\n---------------8<-------------------"