Ubuntu Suomen keskustelualueet
Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: aapo - 16.06.08 - klo:11.11
-
Tässä pieni bash--skripti, joka generoida index.html:n kansion sisällöstä: (jos http-serverisi ei tee sitä lennosta itse). Huomioi pelkät html-tiedostot. Jos ajaa kahdesti peräkkäin, niin myös index.html:ään tulee linkki.
echo "<html><body>" > index.html
for i in $( ls *.html ); do
echo -n "<a href=\"" >> index.html
echo -n $i >> index.html
echo -n "\">" >> index.html
echo -n $i >> index.html
echo -n "</a>" >> index.html
echo "<br>" >> index.html
done
echo "</body></html>" >> index.html
-
Nykyinen skriptisi linkittää index.html:n jo ensimmäisellä ajolla eikä vasta toisella. Jos halutaan että tiedostoon index.html ei linkata lainkaan niin se onnistuu lisäämällä for-silmukan alkuun alla oleva rivi.
[ "$i" = "index.html" ] && continue
Generoitu html ei nykyisellään ole validia.
-
Joo tosiaan, kiitos huomiosta.
Ehkä helpommalla pääsee kun pistää
for i in $( ls *.html | grep -v "index.html" ); do
Mitäs jää validista puuttumaan? Meinaatko meta juttuja, vai onko siinä joku ihan virhe?
-
Mitäs jää validista puuttumaan? Meinaatko meta juttuja, vai onko siinä joku ihan virhe?
No ainakin dokumenttityyppi ja header-osio. En muista kuuluiko header-osioon vielä joitakin pakollisia tagejakin.
W3C:n validaattorilla nuo kuitenkin selviävät joko lähettämällä (http://validator.w3.org/#validate_by_upload) generoitu tiedosto tai kopioimalla (http://validator.w3.org/#validate_by_input) generoidun tiedoston sisältö. Siitä sitten iteroimaan virheilmoitusten avulla kunnes tuotettu lopputulos on validia :)
-
En muista kuuluiko header-osioon vielä joitakin pakollisia tagejakin.
Käsittääkseni vain <title>...</title>.
-
Nyt menee validaattorilta läpi. Kiitos kommenteista. Tässä tulee kokonainen skripti, joka on minusta jopa ihan hyödyllinen.
Pointtina on siis tehdä lähdekoodin online-selaaminen mahdollisimman helpoksi.
Bazaarista hakee aina uusimman version, tekee c-tiedostoista html:ää (ehkä headereistakin voisi tehdä) ja generoi indexin.
Lopputuloksen voi nähdä osoitteessa: http://lauta.dyndns.org/aaplot_src/index.html
(itse tuosta projektista aloitan kohta erillisen viestiketjun)
rm *.c
rm *.html
cd aaplot
bzr merge
cp *.c ../
cd ..
source-highlight *.c
echo '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">' >>index.html
echo "<html>" >> index.html
echo "<title>aaplot higlighted sources</title>" >> index.html
echo "<body>" >> index.html
echo "<h1>Highlighted sources of project aaplot</h1>" >> index.html
echo '<a href="http://code.google.com/p/aaplot">Project Home: Manuals/API/etc</a><hr>' >>index.html
for i in $( ls *.html | grep -v "index.html"); do
echo -n "<a href=\"" >> index.html
echo -n $i >> index.html
echo -n "\">" >> index.html
echo -n $i >> index.html
echo -n "</a>" >> index.html
echo "<br>" >> index.html
done
echo "<hr>" >> index.html
echo '<p> <a href="http://validator.w3.org/check?uri=referer"><img' >>index.html
echo ' src="http://www.w3.org/Icons/valid-html32"' >>index.html
echo ' height="31" width="88"></a></p>' >>index.html
echo "</body></html>" >> index.html
-
Pitkät yhtenäiset pätkät olisi ehkä parempi tulostaa here-documents ominaisuuden avulla.
cat <<EOF >index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<title>aaplot higlighted sources</title>
<body>
<h1>Highlighted sources of project aaplot</h1>
<a href="http://code.google.com/p/aaplot">Project Home: Manuals/API/etc</a><hr>
EOF
Mielestäni muuten tuhoat skriptisi alussa lähdekooditiedostot turhaan.
-
Tässä pieni bash--skripti, joka generoida index.html:n kansion sisällöstä: (jos http-serverisi ei tee sitä lennosta itse). Huomioi pelkät html-tiedostot. Jos ajaa kahdesti peräkkäin, niin myös index.html:ään tulee linkki.
Pieni on kaunista.
Itse tein hieman laajemman kokonaisuuden kyllästyttyäni Apachen hieman aneemiseen dokumenttisivustoon. Tein Perl scriptin, joka generoi kuva- ja dokumenttiarkistoa lennosta. Materiaali viedään serverille samballa ja scripti generoi tarvittavat parametritiedostot lennossa. Hakemistoihin, tiedostoihin ja kuviin voi liittää selitetekstit. Ohjelma näyttää thumbsit ja exifit.
Paketti koostuu kahdesta tiedostosta: siemenenä oleva werkkosivu index.shtml, sekä yksi perl-scripti, jota kutsutaan 'rekursiivisesti' (hipsuissa, koska kyseessä ei ole oikea rekursio.)
Mukana on alkeellinen salasanasuojaus, jottei kuvatekstejä pääse muokkaamaan kuin halutuilta koneilta.
http://ptm2.cc.utu.fi/~ptmusta/kuvat/
Olisin ilahtunut, jos joku olisi kiinnostunut asiasta sen verran, että tekisi tästä vielä fiksumman version yleiseen jakeluun. Itselle riitti, että sain omat valokuva-arkistomme järjestykseen molemmissa servereissämme.