[pmwiki-users-de] Automatic wikitrails generation for RSS possible?
Michael Engelke
PmWiki at MEngelke.de
Di Mai 27 18:06:48 CDT 2008
Thomas Tempelmann schrieb:
>> Mit Boardmitteln kann man RecentChanges dazu nehmen:
>> Site.AllRecentChanges?action=rss
>> Leider ist die Ausgabe sehr spartanisch!
>>
> Nee, das reicht eben nicht, weil ich nicht aller Welt die Änderungen meiner
> gesamten Website mitteilen will, sondern nur die an bestimmten Seiten.
>
Nicht so schnell! Es gibt Site.AllRecentChanges und $Group.RecentChanges
und meinetwegen auch Site.AllRecentChangesPerAuthor.
Also könnte auch ein $Group.$Name-RecentChanges erstellen lassen:
Nehmen wir an, in der Gruppe "Main" soll NUR für die Seite "FooBar" eine
RecentChanges Seite erstellt werden:
Dann schreiben wir in der Config.php:
if(preg_match('/^(Main[\.|\/]FooBar)$/',$pagename))
$RecentChangesFmt['Main.FooBar-RecentChanges'] = '* $CurrentTime . .
. $[by] $AuthorLink: [=$ChangeSummary=]';
Und schon wird nur bei Änderungen von Main.FooBar ein neuer Eintrag in
Main.FooBar-RecentChanges erstellt.
Die könnte man dann per Main.FooBar-RecentChanges?action=rss als Feed
ausgeben lassen.
> Was ich brauche, ist ein RecentChanges nur für eine Seite. Geht das mit
> deiner Lösung?
>
Nicht direkt.
Würde ein einziger Eintrag reichen, dann könnte man die Erweiterung:
"FeedSkin" nehmen:
Im Artikel schreibt man ganz oben oder unten:
(:if equal {$Action} feedskin:)
(:div class=feed:)
* [[{$FullName}]]
(:divend:)
(:if:)
Anschließend hat man mit ?action=feedskin einen einzigen Eintrag im Feed!
Allerdings beführte ich, dass Dir das nicht reichen wird, Du möchtest
ein Kombination aus ?action=diff und ?action=rss
Die einzige Lösung, die ich jetzt aus dem Ärmel schütteln kann, wäre mit
einer Kombination aus FeedSkin und RebuildRC
(:if equal {$Action} feedskin:)
(:div class=feed:)
(:pagelist fmt=rebuildrc list=all name={$FullName} order=-time text="*
[[$Group.$Name|$Modified]]":)
(:divend:)
(:if:)
Allerdings sieht das Ergebnis mit ?action=feedskin nicht ganz so schön
aus, da alle älteren Wikiseiten mit den aktuellen Informationen
angezeigt werden. (FeedSkin ist nicht für Historie ausgelegt)
Wenn Dir die ersten beiden Lösungen nicht reichen, kannst Du dich
nochmal melden. Vielleicht kann man ?action=diff und ?action=rss
irgenwie kombinieren...
--
eMail: PmWiki at MEngelke.de ICQ: 267544462 Homepage: wiki.MEngelke.de