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ő:
- Samsung Galaxy 3 ROM: InDroid 2011.07.31., 2492 megtekintés
- Conky - A rendszermonitorozó fullos beállítása 2010.07.08., 1400 megtekintés
- Samsung Galaxy 3 (i5800) 0.00B internal storage 2011.01.07., 939 megtekintés
- Crunchbang szépítés 2011.06.09., 871 megtekintés
- Halott VGA feltámasztása 2010.08.02., 766 megtekintés
- USB pendrive csatolása/leválasztása Linuxon 2011.07.13., 697 megtekintés
- Grub2 helyreállítása Win7 install után 2010.09.18., 612 megtekintés
- Burg - Animált Grub 2010.06.28., 595 megtekintés
- Transmission magnet link 2012.03.02., 528 megtekintés
- VirtualBox integrációs szolgáltatások telepítése hiba 2012.05.08., 523 megtekintés
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 |
$ 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!