2013. február 25., hétfő

Blogspot blog szerkesztése konzolból - 3 éves a blog

Három éve indítottam el ezt a blogot, 67 bejegyzés született (ez a 68-adik), az oldalmegjelenítések száma összesen 34157. Ezek az eredmények megfelelnek a várakozásaimnak, érthetőek az oldal funkcióját tekintve. Mivel ez egy rendhagyó poszt megmutatok néhány további statisztikát, majd pár dolgot az oldal készítésének “kulisszatitkairól”! :D

A bejegyzések döntő többsége, 63 Linux-os témájú, az első egy évben inkább Ubuntu-val foglalkoznak (24 darab), később elsősorban a Crunchbang Linux a cikkek (32 darab) anyaoprendszere, de természetesen más Linux-ot használók is hasznosíthatják a leírtakat. A blog indításakor, amikor még Ubuntu-t használtam látszik, hogy kevésbé ismertem még a Linux rendszert, később áttértem az advance-ebb felhasználóknak készült Crunchbang Linux-ra, a cikkek is legtöbbször egyre inkább valamilyen speciálisabb témáról szólnak.

Miután elkezdtem az egyetemet kicsit be is következett a megjósolt bejegyzés csökkenés, később mikor kezdtem összeszedni magam és több időm lett, megnőtt a megírt cikkek száma.

Az oldalmegjelenítések számáról egy összesített grafikon:

Látható, hogy az oldal látogatottsága körülbelül lineárisan növekszik. A legnépszerűbb 10 bejegyzés a következő:

Természetesen az inkább átlagfelhasználóknak szóló cikkek lettek a legnépszerűbbek, a mindenféle hibamegoldások, szkriptelések a tapasztaltabb felhasználóknak, azaz egy kisebb rétegnek szólnak. A céljaimnak megfelelően a látogatók szinte 100%-a Google-ről találnak ide, amikor valamire keresik a megoldást, ez rendben is van, mert a blog célja problémamegoldásban segítség nyújtása. Az érdekesebb, hogy a látogatók fele Windows-t használva téved ide, és csak a másik 50% használ valamilyen Unix leszármazottat:

Böngészők tekintetében szerintem nincsen semmi meglepő, a Firefox és a Chrome volt a szörfdeszka az esetek 70%-ában, a többi kb egyenletesen megoszlik, az IE 14% szinte fáj. :D

Következzen tehát néhány dolog a készítésről. A cikkek írásához egy ideje már a korábban említett Pandoc nyelvet, és UberWriter szerkesztőt használom. Az elkészült írást konvertálom HTML-be, majd, hogy a Blogspot HTML nézetébe beillesztve is szépen formázott maradjon a cikk, lefuttatok egy saját szkriptet, ami néhány finomhangolást végez még:

  • nem használt .css fájl include-jának törlése
  • sorkizárás beállítása a szövegre
  • linkek megnyitása új tabon
  • képek beillesztése konzolból

A képek feltöltéséhez, beillesztéséhez használom a googlecl (Google Command line tools) nevű Google Data API-ra épülő szkript gyűjteményt. Ha valaki szintén használni akarja ezt a kis toolt így telepítheti:

$ sudo easy_install googlecl

Ezután már használható az általam írt szkript:

#!/bin/bash
# Milán Unicsovics, u.milan at gmail dot com
# usage: ./processPost.sh <postname>.html
# required: googlecl (http://code.google.com/p/googlecl/)
post=$1
imgdir=<RESOURCE DIRECTORY>
blogname="<BLOGNAME>"
# Check post and test its format
if [ -z $post ]; then
exit -1
fi
ext=$(echo $post | cut -d '.' -f2)
if [ $ext != 'html' ]; then
echo 'Error! No .html file!'
exit -1
else
if ! [ -w $post ]; then
echo 'Error! File is not writable!'
exit -1
fi
fi
# Delete unused .css file
if [ `grep -c 'file:////usr/share/uberwriter/media/uberwriter.css' $post` == 1 ]; then
echo "Deleting unused .css file..."
delLine=`grep -n 'file:////usr/share/uberwriter/media/uberwriter.css' $post | cut -d ':' -f1`
sed -i $delLine'd' $post
fi
# Add justify to post
justify='.post { text-align: justify; }'
if [ `grep -c "$justify" $post` == 0 ]; then
echo "Adding justify to post..."
addLine=`grep -n '<style type="text/css">' $post | cut -d ':' -f1`
if [ -z $addLine ]; then
addLine=`grep -n '</title>' $post | cut -d ':' -f1`
justify='<style type="text/css"> .post { text-align: justify; } </style>'
sed -i $addLine"a$justify" $post
else
sed -i $addLine"a$justify" $post
fi
fi
# Open links in new tab
if [ `grep -c 'a href=' $post` != 0 ]; then
echo "Adding target=\"_blank\" to urls..."
sed -i 's/a href=/a target="_blank" href=/' $post
fi
# Insert images
while read line; do
if [ `echo "$line" | grep -c "\.#.*#\."` == 1 ]; then
img=$(echo "$line" | grep -o "\.#.*#\." | cut -d '#' -f2)
if ! [ -r $imgdir/$img ]; then
echo "Error! $imgdir/$img not found!"
exit -1
fi
echo "Inserting $imgdir/$img..."
imgname=$(echo "$img" | cut -d "." -f1)
# Calculate size
imgwidth=$(convert $imgdir/$img -print "%w\n" /dev/null)
imgheight=$(convert $imgdir/$img -print "%h\n" /dev/null)
if [ $imgwidth -gt 400 ] && [ $imgheight -gt 400 ]; then
imgwidth=400
div=$(echo `convert $imgdir/$img -print "%w\n" /dev/null`/400 | bc -l)
imgheight=$(echo `convert $imgdir/$img -print "%h\n" /dev/null`/$div | bc -l)
imgheight=$(echo $imgheight | cut -d "." -f1)
fi
# Upload
if [ `google picasa list -n "$blogname" --fields url-direct --query $imgname | grep -c '.*'` == 0 ]; then
echo "Uploading $imgdir/$img..."
google picasa post -n "$blogname" $imgdir/$img
fi
# Get url
try=0
imgurl=''
while [ -z $imgurl ]; do
imgurl=$(google picasa list -n "$blogname" --fields url-direct | grep $imgname | head -n 1)
echo "Trying to fetch url of $img...$try"
sleep 1
try=$[$try+1]
done
imgurl_big=$(echo "$imgurl" | sed -e "s/\(.*\)\/\(.*\)/\1\/s1600\/\2/")
imgurl_small=$(echo "$imgurl" | sed -e "s/\(.*\)\/\(.*\)/\1\/s400\/\2/")
imgenv="<div class=\"separator\" style=\"clear: both; text-align: center;\"> \
<a href=\"$imgurl_big\" imageanchor=\"1\" style=\"margin-left: 1em; margin-right: 1em;\"> \
<img border=\"0\" height=\"$imgheight\" src=\"$imgurl_small\" width=\"$imgwidth\" /> \
</a> \
</div>"
# Escape imgenv
imgenv=$(echo $imgenv | sed -e 's/[]\/()$*.^|[]/\\&/g')
# Replace with urls
sed -i "s/\.#$img#\./$imgenv/" $post
echo "Image $imgdir/$img inserted!"
fi
done < $post
view raw processPost.sh hosted with ❤ by GitHub
$ gedit processPost.sh
# illesszük be a szkriptet, adjuk meg a blogname és imgdir változók értékeit, majd mentsük el a fájlt
$ chmod +x processPost.html
# így használhatjuk
$ ./processPost.sh postname.sh

További jó olvasgatást az oldalon!

Nincsenek megjegyzések:

Megjegyzés küldése