#!/usr/local/bin/perl # MÅNADSTABELL $mon2txt{"1"}="Januari"; $mon2txt{"2"}="Februari"; $mon2txt{"3"}="Mars"; $mon2txt{"4"}="April"; $mon2txt{"5"}="Maj"; $mon2txt{"6"}="Juni"; $mon2txt{"7"}="Juli"; $mon2txt{"8"}="Augusti"; $mon2txt{"9"}="September"; $mon2txt{"10"}="Oktober"; $mon2txt{"11"}="November"; $mon2txt{"12"}="December"; # KATEGORITABELL $kat2txt{LYS}=""; $kat2txt{LIU}="[LiU]"; $kat2txt{RYDNET}="[RydNet]"; $kat2txt{NET}="[Nätverk]"; $kat2txt{FTG}="[Företag]"; $kat2txt{MISC}="[Övrigt]"; # Fixa in hyperlänkssubrutinen do './links.perl'; # Fixa in tidsuppdelningssträngen do './timediv.perl'; # SUBRUTIN: UTMATNING AV EN POST sub emit { # Först ska vi se om det är dags att byta fil if ($y>$tyear) { ($fyear,$tyear)=split(/-/,$timediv[0]); shift @timediv; openitemfile(); } # Nu ska texten i $txt hackas om med avsende på bilder etc. $txt =~ s/\+IMG\+([^+]+)\+([^+]+)\+/\\2\<\/a\>/g; $txt =~ s/\.gif\.jpg/\.gif/g; # Kludge $txt =~ s/\+APA\+([^+]+)\+/\A.P.A. \1\<\/a\>/g; $txt =~ s/\+KGE\+([^+]+)\+/\K.G.E. \1\<\/a\>/g; $txt =~ s/\+SS\+([^+]+)\+/\SYSTAT nr \1\<\/a\>/g; $txt =~ s/\+LS\+([^+]+)\+/\Lystring nr \1\<\/a\>/g; # Lägg in allmänna hajperlänker fixlinks (); # Sedan kommer rubrikerna if ($y ne $nowyear) { $nowyear=$y; $nowmonth=""; print ITEMS "\n"; } if ($m ne "" && $m ne $nowmonth) { $nowmonth=$m; print ITEMS "\n"; } # Slutligen själva texten if ($d ne "") { print ITEMS "\n"; } elsif ($m ne "") { print ITEMS "\n"; } else { print ITEMS "\n"; } $txt=""; # Markera att vi har förbrukat denna } # SUBRUTIN: Öppna item-fil sub openitemfile { close ITEMS; open(ITEMS,">timeline-$fyear-$tyear.items")||die("opening items file"); } # INITIERING $nowyear=0; $nowmonth=0; # TIDSUPPDELNING @timediv=split(/;/,$timediv); ($fyear,$tyear)=split(/-/,$timediv[0]); shift @timediv; openitemfile(); # HUVUVLOOP while(<>) { if (/^\%.*/) { #Betrakta som kommentarer } elsif (/^\*\s+([0-9-]+)\s+([A-Z]+)/) { $indat=$1; $inkat=$2; # Om vi har någon post på gång: spy ut den först! emit() if ($txt ne ""); # Nu kan vi initiera den nya posten ($y,$m,$d)=split(/-/,$indat); $m=int($m) if $m ne ""; $d=int($d) if $d ne ""; $kat=$inkat; $txt=""; } elsif (/^\s*$/) { $txt.="

" if $txt ne ""; } else { $txt.=$_; } } # Om vi har någon post på gång: spy ut den innan vi slutar! emit() if ($txt ne "");