Faulbaer's Schlafmulde :: technik :: blosxom fuer maedchenblogs
2005.03.17, 08:34

blosxom fuer maedchenblogs

jeder blogger, der mich persoenlich kennt, oder in meiner gegenwart etwas wie "vieleicht mache ich ein neues blog auf..." oder "ich will mal eine neue blogsoftware ausprobieren..." geaeussert hat, kennt meine einstellung zu blosxom [0] und anderen weblogs nur zu gut. die argumente fuer und wider blosxom habe ich bestimmt schon irgendwo fallenlassen aber das hindert mich nciht daran, es nochmals zu tun. vor allem habe ich nun erster hand erfahrung zur portierung aller artikel [1] von movable type 2.x nach blosxom 2.x.

=== pro blosxom ===
* blosxom ist schlank (mein blosxom.cgi hat 444 zeilen perl-code)
* blosxom geht ueberall (mac os x, linux, windows... you name it!)
* blosxom ist (sehr, sehr, sehr) einfach erweiterbar (durch plugins)
* blosxom ist verstaendlich und uebersichtlich
* blosxom ist voellig frei anpassbar und basiert auf plain ascii ;-)
* blosxom ist sehr einfach zu installieren, wenn man die anleitung gelesen hat (kurz)
* blosxom ist recht einfach zu befuellen: einfache textdatei genuegt, erste zeile ergibt die ueberschrift, rest den artikel - fertig.
* blosxom erzeigt direkt einen funktionierenden rss-feed. es ist sehr einfach, rss-feeds von themensammlungen zu machen, das url-format ist sehr plausibel.

=== kontra blosxom ===
* blosxom hat kein datenbankinterface
* blosxom ist erstmal ein haessliches entlein und bedarf einiger zuwendung, um dies zu aendern (man sollte sich mit hmtl und css beschaeftigt haben)
* blosxom kommt ohne wirklich brauchbare xmlrpc schnittstelle (es sind zwei einfache schnittstellen verfuegbar, doch finde ich die wenig ueberzeugend)
* das sortierverhalten fuer eintraege in blosxom ist zwar logisch, intuitiv und einpraegsam, aber voellig an der realitaet vorbei - es wird umgekehrt chronologisch nach dem letzten schreibzugriff sortiert, was juegnst korrigierte artikel in der liste nach oben bringt. es gibt natuerlich ein plugin, um das zu aendern - aber irgendwie macht das von anfang an keinen sinn.
* da blosxom nur mit files arbeitet und eigentlich nur pro forma einen passiven modus besitzt, kann ein hochfrequentiertes weblog schon zu einer derben last fuer den server werden
* man kan architekturbedingt jedem artikel nur eine kathegorie (category, thema)zuweisen. es gibt plugins, die das - reparieren - aber das ist ein mangel, den ich wirklich schmerzhaft finde ... da muesste was her ... hm ... vielleicht mach ich da mal was ...

=== was benoetige ich fuer blosxom? ===
* perl und einen cgi-faehigen webserver und eine maschine auf der das laeuft
* html- und css-erfahrung (es gibt natuerlich auch "flavours" zum herunterladen...)
* etwas geduld und ausdauer (einfachste architektur bedeutet nicht immer intuitivste bedienung)

=== wie funktioniert dieses blosxom ding? ===

blosxom ist ein relativ kleines perl-script, das im grunde genommen nur erwartet, dass man ihm seinen namen sagt und ein verzeichnis, in dem sein zeug liegt. der rest ist im grunde bereits passend vorkonfiguriert. megafaule muessen eigentlich nur eine zeile im script aendern, um ihr weblog an den start zu bringen. klar, dass das dann ziemlich mau aussieht, aber that's what faul is all aboun, isn't it?

bloasxom erwartet in einem verzeichnis "flavours" (das sind html-templates) und in einem anderen plugins. die plugins sind einfache scripte, die als ausgabe variablen bereitstellen, die in den templates abgefragt werden. hierbei geht blosxom nach dateiendungen vor.

das konfigurierte flavour (z.b. html, oder rss) wird im verzeichnis gesucht. man kann eine belibige auswahl aus den folgenden template-teilen verwenden: head, foot, story, date, content-type.

head.html wuerde dann als anfang einer blosxom-ausgabe verwendet und story fuer jeden artikel und date fuer jeden datumseintrag und foot zum schluss und wer mag, kann auch den inhaltstyp mittels content-type setzen.

so ist es einfach moeglich, voellig unterschiedliche seiten zu erstellen, je nach angehaengter endung eben.

die dokumentation der plugin bedarf manchmal etwas nervenstaerke - so ist es sicher nicht jedermanns sache, perlmodule nachzuinstallieren, die ein bestimmtes plugin voraussetzt, oder schwaechen aus plugins zu patchen. aber die einbindung gut programmierter plugins ist sehr einfach und erfordert keinen raketenwissenschaftler, um es zu tun.

einfach das plugin in ein verzeichnis werfen und eventuell dem dateinamen eine ziffernfolge voranstellen, um die reihenfolge der ausfuehrung zu beeinflussen.

hiernahc steht dem nutzer in der regel ein haufen ausgabe des plugins fuer die "flavours" zur verfuegung. so ist die ausgabe von comments zum beispiel ueber die variable $comments::coments zu erreichen.

es gibt plugins fuer alle moeglichen zwecke. kommentare, mail-to-weblog, sortierung, archiv-ansicht, rss- und atom-ausgabe, zugangsschutz, galerien ... (fast) alles, was man so braucht.

wenn man ein wenig geduld hat und eben durchhaltevermoegen, so bringt einem blosxom viel freude und ein cooles weblog.

=== wie installiere ich blosxom? ===
* blosxom herunterladen [2]
* blosxom im cgi-verzeichnis entpacken ...
* verzeichnis fuer die weblogeintraege erstellen
* blosxom.cgi konfigurieren (z.b. das angelegte verzeichnis angeben)
(optional)
* flavours herunterladen [3], entpacken, anpassen (nur html und css)
* plugins herunterladen [4], entpacken, anpassen ...
* ersten eintrag schreiben ... und einem blogger sagen, dass man ein weblog hat, dann wissen es bald alle ;-)

=== wie passe ich blosxom an? ===

blosxom wird mit einem ueblichen texteditor angepasst. vi, emacs, notepad.exe, textedit, subethaedit ... hier kann man nehmen, was einem beliebt.

da die plugins aus unterschiedlichen betriebssystemwelten stammen, muss man ein wenig auf die zeilenumbrueche achte und die ascii-dialekte beachten, aber ansonsten ist das alles ziemlich einfach.

=== sonst noch gute tipps und hinweise? ===

oh ja! ich rate dringend zum plugin sort_by_name [5] und in jenem zu einem winzigkleinen patch in zeile 27: vor "sort" noch ein "reverse" schreiben. sort_by_name macht, dass die artikel nach dateinamen geordent werden und "reverse" kehrt vor sort die reihenfolge der sortierung um. danach kann man die artikel einfach mit "jahr-monat-tag-stunde-minute-sekunde.txt" benennen und hat der juengste eintrag steht oben, wie man das gewohnt ist.

ausserdem sollten in der ersten zeile eines eintrags keine html-tags wie z.b. <br> verwendung finden, da diese ebenso unnoetig sind, wie sie aergelich werden, wenn aus ihnen ein rss-feed erzeugt wird - die tags tauchen dort naemlich sinnfrei wieder auf und das - erm - nervt. solche tags gehoeren ins template und da stoeren sie auch nicht.

=== wieso benutze ich plu&play-verwoehnter macnutzer eigentlich dieses anstrengende blosxom? ===

nun ja ... ich habe mit movable type begonnen und fand es direkt zu anfang total unuebersichtlich und schlampig programmiert. der code ist unuebersichtlich und relativ unmotiviert auf duntzende dateien verteilt. ich fand mich nicht wirklich zurecht und fand das teil irgendwie obszoen aufgeblaeht und teilweise viel zu umstaendlich. ausserdem finde ich die lizenz unertraeglich.

bevor ich mir dann ein anderes megablog antat, oder antville [6] (hervorragendes multiuser weblog in serverside-javascript implementiert) ernsthaft verwenden wollte, oder php installierte, habe ich mir mal angesehen, was es im low-tech bereich zu benutzen gab.

hierbei bin ich ueber blosxom gestolpert und habe mich sofort verliebt :-) das einfache design und die lesbarkeit und die architektur ueberzeugten mich sofort. einzig meine vielen eintraege in movable type hielten mich von einem raschen umstieg ab - ausserdem hatte ich mich an ecto [7] gewoehnt und fuerchtete, ohne eine passende xmlrpc-schnittstelle nie wieder bloggen zu koennen.

aber es stellte sich heraus, dass flickr [8] prima dazu verwendbar ist, bilder ins weblog einzubinden und chronosync [9] total easy meine weblogeintraege auf powerbook und webserver via webdav synchronisiert. rsync, subversion oder cvs haetten es sicher auch getan.

letztlich habe ich sogar einen anderen jungblogger (mit wenig perlerfahrung und extrem frischen html- und csskentnissen) von blosxom begeistern koennen - welcome again, josh! [10] - dessen weblog wirklich sehr schick geworden ist.

=== zum abschluss: welche plugins verwende ich? ===
* sort_by_name, aendert die artikelsortierung auf umgekehrte sortierung nach dateinamen
* strip_unix_comments, blendet jede zeile aus, die mit "#" beginnt
* google_highlight, hebt google-suchbegriffe farbig hervor ... noch ungetestet
* blox, macht aus "\n\n" ein <p>-tag, wodurch ich mich nicht ums html-tagging kuemmern muss
* lcase, stellt alle blosxom-urls lower-case dar
* flavourdir, laesst das verzeichnis fuer die flavours frei waehlen
* category_tree, zeigt themen mit artikeln in einer baumstruktur an (siehe open rechts)
* moreentries, macht artikel zugaenglich, die auf der hauptseite nicht angezeigt werden (siehe oben rechts: << ... >>)
* bettertitle, macht eus dem titel eine navigationsleiste, in der man unter anderm wieder zur hauptseite zurueck kann, oder aucher auch einen index des gewaehltyen themas anzeigen lassen kann (siehe oben rechts)
* storytitle, setzt den seitentitel auf den titel des artikels, wenn nur ein artikel angezeigt wird
* flatarchives, erzeugt eine liste der eintrage der letzten monate (unter "themen, oben rechts)
* antispam, wandelt mailadressen in html-entitaeten, um harvester zu verwirren - das wird nicht lange funktionieren, schaetze ich ... :-(
* comments, macht kommentare zugaenglich und laesst kommentare zu artikeln abgeben ... derzeit leider noch ohne kommentarspamschutz ... da muss ich noch was hacken ...
* rss10, macht den standard rss-feed 0.xy zu einem validen und ansehnlichen 1.0er rss-feed
* find, macht das artikelarchiv durchsuchbar (siehe oben rechts)
* lastmodified, zeigt den zeitpunkt der letzten aenderung an ...
* wikiwordish, laesst mich sehr eingeschraenkt wikiworte zum editieren meiner artikel verwenden ... die bulletins erzeugt wikiwordish

=== links ===

0. [http://www.blosxom.com]
1. [http://revjim.net/item/9539/]
2. [http://www.blosxom.com/downloads.html]
3. [http://blosxom.ookee.com/blog/flavours/registry/listing.html]
4. [http://www.blosxom.com/plugins/]
5. [http://blosxom.ookee.com/blosxom/plugins/v2/sort_by_name-v20030406]
6. [http://project.antville.org/]
7. [http://ecto.kung-foo.tv/]
8. [http://flickr.com]
9. [http://www.econtechnologies.com/site/Pages/ChronoSync/chrono_overview.html]
10. [http://infoschnorrer.de]

Faulbaer (blosxom rulez!)

 
kommentar hinzufuegen