6.3.2006

PRVNÍ PŘÍSPĚVEK DO WORDPRESSU

Filed under: Computers — nax @ 22:41

Konečně jsem se dostal k tomu, abych po umřenĂ­ počítače u sebe v předsĂ­ni přesunul svĹŻj blog na nějakĂ˝ stabilnějĹĄĂ­ počítač. S tĂ­m umřenĂ­m to bylo docela zajĂ­mavĂŠ. Vlastně uĹž jsem si uĹž delĹĄĂ­ dobu říkal, Ĺže ten disk uĹž je přeci jen asi tak 5 let starĂ˝ (ten server jsem stavěl někdy v prvĂĄku) a Ĺže uĹž asi brzo odejde do věčnĂ˝ch loviĹĄĹĽ. JenĹže znĂĄte to: “snad to vydrŞí aspoň aĹž budu mĂ­t po zkouĹĄkĂĄch”. No a co myslĂ­te? PřiĹĄel sem domu z Ăşplně poslednĂ­ zkouĹĄky toho zkouĹĄkovĂŠho a EvĂ­k mne přivĂ­tala oznĂĄmenĂ­ Ĺže nějak nejde netĂ­k.

Řekl jsem si: “a sakra!” a klepal se Ĺže sem prĂĄvě přiĹĄel o větĹĄinu semestrĂĄlek zimnĂ­ho semestru. NaĹĄtěstĂ­ jak se ukĂĄzalo neodeĹĄel disk, ale zdroj v tom kompu. Ono abych byl upřímnĂ˝ to byla uĹž od začátku pořádnĂĄ prasĂĄrna, protoĹže do case (jinak krĂĄsnĂŠho na prvnĂ­ pohled serverovĂŠho asi metr od země vysokĂŠho big big toweru) byl AT, ale jĂĄ do něj tehdy dal ATX zdroj a desku. Bylo to udělĂĄno tak, Ĺže v zĂĄdu jsem prostříhal a ohnul plech vadĂ­cĂ­ konektorĹŻm na desce a zdroj jsem vrazil nad harddisk a DVD mechaniku, takĹže větráček kterĂ˝ je normĂĄlně zezadu byl zepředu. No co vĂĄm budu povĂ­dat, prachu v tom počítači bylo vĹždycky dost a dost. A to ani nemluvĂ­m o tom, Ĺže ta deska tam drĹžela na dobrĂŠ slovo a Ĺže jsem pĹŻvodně takhle jednu desku ĹĄlusnul, kdyĹž se povytĂĄhla grafickĂĄ karta.

To sem se to ale zakecal – no prostě pointa je, Ĺže jsem nakonec docela rad, Ĺže jen přestal Şít zdroj protoĹže jsme mohli taky klidně vyhořet. Kromě toho, Ĺže ten stroj fungoval jako gateway pro domĂĄcĂ­ sĂ­ĹĽ na internet (a pomocĂ­ firewallu počítal traffic jednotlivĂ˝ch IP), disk byl sdĂ­len pomocĂ­ samby (docela dlouho i pomocĂ­ ntfs, ale poslednĂ­ho pĹŻl roku co pouŞívĂĄm notebook ztratilo ntfs smysl), grafickĂĄ karta a zvukovka byly připojeny na televizi, takĹže jsem to pouŞíval jako video na DivX filmečky a seriĂĄly, tak tam taky kromě toho vĹĄeho běžel mĹŻj malĂ˝ apache (tedy web), kde jsem měl prĂĄvě blog postavenĂ˝ na wordlog php engine (dnes uĹž ani jeho hompage nefunguje), coĹž se mi zdĂĄlo v době kdy jsem ho nasazoval jako systĂŠm hlavně svĂ˝m ascii artovĂ˝m designem vystihujĂ­cĂ­ mĹŻj světonĂĄzor a tak. On ten starĂ˝ server vlastně byl takovĂ˝ mĹŻj malĂ˝ linuxovĂ˝ lab, kde jsem se naučil spoustu věcĂ­ o administraci linuxu, kterĂĄ mi teď vydělĂĄvĂĄ v prĂĄci na chleba. BohuĹžel wordlog se od tĂŠ doby nijak nevyvĂ­jel, ale jĂĄ sem ani moc funkcĂ­ nepotřeboval. Dokonce jsem se v prvnĂ­ chvĂ­li pokouĹĄel rozběhnout ze zĂĄloh přímo ten starĂ˝ systĂŠm na svĂŠm novĂŠm kybernetickĂŠm domově. Je to server neziskovĂŠho sdruĹženĂ­ praha12.net, jehoĹž jsem členem (bezdrĂĄtovĂŠ sĂ­tě u nĂĄs v Modřanech). KlukĹŻm kterĂ˝ svolili k tomu hostovĂĄnĂ­ na tomhle aplikačnĂ­m serveru patří mĹŻj dĂ­k. Je to server na docela sluĹĄnĂŠ pĂĄteři a i kdyĹž jsem se z počátku obĂĄval, Ĺže bude moĹžnĂĄ problĂŠm, Ĺže tam nemĂĄm roota, tak se opak ukĂĄzal bĂ˝t pravdou.

JenĹže se mi tam ten starĂ˝ systĂŠm pro blogovĂĄnĂ­ rozběhnout nepodařilo. Ani nevĂ­m proč, ale pořád nějakĂŠ zĂĄhadnĂŠ hlĂĄĹĄky o include, kterĂ˝ch kdyĹž jsem se zbavil, tak sem zase dostal jinĂŠ zĂĄhadnĂŠ hlĂĄĹĄky. Po chvĂ­li jsem zjistil Ĺže při odstraňovĂĄnĂ­ hlĂĄĹĄek jsem v docela sluĹĄnĂŠm cyklu, neboli deadlocku a tak mne teprve napadlo, Ĺže bych se mohl podĂ­vat po nějakĂŠm jinĂŠm blogovacĂ­m systĂŠmu. Nejdřív jsem zkouĹĄel hledat na freshmeatu, ale nic zajĂ­mavĂŠho jsem nenaĹĄel. Pak jsem se podĂ­val co za systĂŠm pouŞívajĂ­ lidĂŠ, kterĂŠ mĂĄm v bookmarcĂ­ch a zjistil jsem Ĺže admin strĂĄnek linuxbiometrics.com (to souvisĂ­ s mojĂ­ diplomkou – někdy se o tom jeĹĄtě určitě vĂ­c rozepĂ­ĹĄu) Josiah pro svĹŻj blog pouŞívĂĄ nějakĂ˝ backend nazvanĂ˝ wordpress. BTW ten jeho blog nemĂĄ moc hezkĂ˝ design a moc jsem si od toho nesliboval, ale jak se ukĂĄzalo ten wordpress je opravdu vymakanĂ˝m kusem open softwaru. Podporuje na co si jen vzpomenete a na co si nevzpomenete tak to podporuje pomocĂ­ nějakĂŠho toho pluginu. Vzhled se dĂĄ měnit pomocĂ­ themes, kterĂ˝ch je docela dost. Dalo by se říct, Ĺže mĹŻĹžete měnit vzhled blogu podle nĂĄlady.

Přes prvnĂ­ hrubĂŠ prohledĂĄnĂ­ se mi nejvĂ­c zamlouval tenhle vzhled (a ten by barevně opravdu ĹĄel měnit podle toho jakou budu mĂ­t nĂĄladu ;)), ale pak jsem naĹĄel generĂĄtor vzhledu a napadlo mne, Ĺže by Ăşplně nejvĂ­c cool bylo, portovat vzhled starĂŠho blogovacĂ­ho engine na tenhle novĂ˝ systĂŠm. Vygeneroval jsem si tedy index v mĂ˝ch oblĂ­benĂ˝ch barvĂĄch pĹŻvodnĂ­ho sĂŠriovĂŠho terminĂĄlu (zelenĂĄ na černĂŠ – myslĂ­m Ĺže to asi nemusĂ­m zdĹŻrazňovat ;)) a zkusil jsem jestli by se to nĂĄhodou nepovedlo a hle – sentimentu bylo učiněno za dost – po pĂĄr hodinĂĄch hranĂ­ si s CSS styly jsem konečně dosĂĄhl uspokojivĂŠho vĂ˝sledku.

Vlastně drtivá většina z těch hodin padla na to, aby k mé plné spokojenosti fungovaly listingy zdrojáků, které docela často ve svém přeci jen poměrně odborném blogu potřebuji. Tohle bylo vlastně největší mínus na mém starém blogu, že něco podobného neuměl (tam jsem to řešil tím, že jsem text udělal prostě bold) ale copy&paste se z více řádků stejně udělat nedal, protože tam vadili asciiartové okraje. Potřeboval jsem tedy něco co by mi umožnilo do speciálního rámečku do textu dát kód, aby byl pokud možno se zvýrazněnou syntaxí a neškodilo by, kdyby se ještě řádky očíslovali, abych na ně případně mohl odkazovat v textu.

NaĹĄel jsem tenhle zĂĄznam v blogu na tohle tĂŠma – pravda, sice v němčině, ale odkazy byly celkem jasnĂŠ a hlavně ty code listingy vypadali přesně jak jsem potřeboval. Jak mĹŻĹžete tady v tom člĂĄnku vidět nĂ­Ĺže, nakonec se povedlo, ale chtělo to docela dost rĹŻznĂŠho pokuso-omylněnĂ­. U jakĂŠho style.css jsem nakonec skončil se mĹŻĹžete podĂ­vat sami a jen doplnĂ­m, Ĺže do samotnĂŠho pluginu jsem nakonec přidal to na třetĂ­m řádku v listingu:

      function replace_with_geshi($matches){
          ...
          $geshi->set_overall_class('geshicode');
          ...
          return $geshi->parse_code();
      }

Ještě k tomu chci poznamenat, že ta alternující barva každého sudého řádku je v tom style.css tady:

.geshicode li.li2 {
        background-color:#eeeeee;
}

Na to že jsem se CSS v životě nezabýval to je docela slušný výkon, co říkáte? No hold když se nepochválím sám, tak to za mne nikdo neudělá.

Jinak tenhle blogovacĂ­ systĂŠm umĂ­ sĂĄm od sebe dalĹĄĂ­ věc co mĹŻj starĂ˝ neuměl – a totiĹž generovat RSS feed. Konečně se mĹŻĹžu zaregistrovat do nějakĂ˝ch rss agregĂĄtorĹŻ a třeba i tĂ­m zĂ­skĂĄm nějakĂŠ čtenáře (ono pořád psĂĄt jen a jen pro sebe občas přestane bavit a moĹžnĂĄ to je dĹŻvod proč sem poslednĂ­ dobou moc do blogu nepsal – na druhou stranu uĹž mi to zaznamenĂĄvĂĄnĂ­ věcĂ­ občas chybělo, kdyĹž jsem v prĂĄci něco řeĹĄil a věděl jsem Ĺže uĹž jsem to jednou někdy řeĹĄil a byl jsem lĂ­nĂ˝ si to do blogu zapsat).

S tím RSS feedem souvisí i to, že umí tzv. podcasting což je poslední rok na internetu docela móda. Myslím že to začal Appel se svým iPodem. V podstatě jde o to, že do RSS feedu publikujete třeba mp3 a kdo si nastaví v klientské aplikaci, že má o váš kanál zájem, tak tomu se pak při každé nové mp3 tato hned stáhne do jeho přehrávače. Napadlo mne, že bych takhle mohl publikovat na svém blogu audiosklizně, které dělám pro roota a nebo rovnou některé méně psavé záznamy prostě jen namluvit na svůj iRiver.

Jediné co sem si tu zatím nerozeběhl je kontrola pravopisu (líbilo by se mi něco jako má Gmail).

Ještě si tu poznamenán skript který z mysqldumpnutého souboru s sql zálohou wordlog databáze udělal příkazy pro vložení do tabulek wordpressu.

#!/usr/bin/perl -w

while ($line = <>) {
        $line =~ s/wordlog_journal VALUES \(0*([1-9][0-9]*),(200[453])([01][0-9])([0123][0-9])([012][0-9])([0-9][0-9])([0-9][0-9]),'([A-ZĚŠČŘŽÝÁÍÉ:.()_]* *[^\\]*)\\r\\n\\r\\n/wp_posts VALUES ($1,1,'$2-$3-$4 $5:$6:$7','$2-$3-$4 $5:$6:$7','/g;
        $title = $8;
        $datum = "$2-$3-$4 $5:$6:$7";
        # nasledujici radek doladit
        $line =~ s/,'','','nax'\);/,'$title',0,'','publish','open','open','','$title','','','$datum','$datum','',0,'',0,'','',0);/g;
        $line =~ s/\\[BOLD\\]//g;
        $line =~ s/\\[\/BOLD\\]/< \/strong>/g;
        $line =~ s/\\[LINK=\\\\"([^"]*)"\\]//g;
        $line =~ s/\\[\\/LINK\\]/< \\/a>/g;
        print $line;
}


Jen komentáře a podobné drobnůstky okolo jsem už neměl náladu importovat.

Pokud máte stará data v nějakém častějším konkurenčním systému, tak asi šest jich zvádá naimportovat wordpress sám.

No uvidĂ­me, uvidĂ­me. Jen pro ty co dočetli aĹž sem prozradĂ­m, Ĺže v do příštĂ­ho Terabajtu na rĂĄdiu Akropolis mĂĄme pozvanĂŠho člověka z českĂŠ komunity gentoo. A teď uĹž musĂ­m jĂ­t vĂĄĹžně do hajan, protoĹže zĂ­tra mne čekĂĄ maraton přednĂĄĹĄek a cvičenĂ­ od 9:15-19:30 🙁

Comments are closed.

Powered by WordPress