Kwiki Diskussion

Darmstadt.pm | Mailingliste | Treffen, Veranstaltungen | Leute | Links | FAQ | ... Hilfe | Änderungen | Einstellung: | Impressum |
| Seite verändern

  1. Installation
  2. Fragen und Antworten
    1. Warum geht das hier /srv/www/cgi-bin/hp-kwiki aber oben geht es nicht
    2. Warum werden in diesem Wiki WikiWords auseinander geschrieben
    3. Bei mir funktionieren einige Formatierungen nicht:
    4. Gibt es irgendwo eine gute Dokumentation zu Kwiki
    5. Gibt es ein Inhaltsverzeichnis, auf dem alle Seiten angezeigt werden
    6. Wo kann man die Texte...ändern
    7. Wie kann man den KwikiUserNamen ausgeben
    8. Wie wird das Inhaltsverzeichnis oben automatisch erzeugt
    9. Wie und wo kann man die Einstellungsseite ändern
  3. Fragen (noch ohne Antworten)
    1. Wie muss ein Favicon beschaffen sein
  4. Tipps und Tricks v0.17 & v0.18
    1. Das Aussehen des Kwikis ändern
    2. Wie bekommt man eine Art von "Navigation" auf der linken Seite hin
    3. Links farblich hervorheben, wenn man mit der Maus drüber ist
  5. Tipps und Tricks v0.18
    1. Wie kann man die Navigation auf der Linken Seite farblich gegenüber dem Rest abheben

Nachdem ich (Christian Dühl) nach längeren Problemen mein Kwiki endlich zum Laufen gebracht habe, sehe ich nun eine Flut von Fragen auf mich zukommen. Ich dachte es ist eine gute Idee, hier eine Seite zur Diskussion über Kwiki-Interna zu eröffnen, in der man Tipps & Tricks und generelles Vorgehen besprechen kann.

Installation

Alias /hp-kwiki/ /srv/www/htdocs/hp-kwiki/
<Directory /srv/www/htdocs/hp-kwiki/>
 Order allow,deny
 Allow from all
 AllowOverride None
 Options ExecCGI
 AddHandler cgi-script .cgi .pl .perl
 DirectoryIndex ./index.cgi
</Directory>
DirectoryIndex ./index.cgi

Fragen und Antworten

Warum geht das hier /srv/www/cgi-bin/hp-kwiki aber oben geht es nicht?

in sub http_link:
  Alt: qr{(?<!\!)\[(.*?(?:https?|ftp|irc):\S.*?)\]}
  Neu: qr{(?<!\!)\[([^\]]*?(?:https?|ftp|irc):\S[^\]]*?)\]}

in sub inline:
  Alt: qr{(?<!\!)\[=(.*?)\]}
  Neu: qr{(?<!\!)\[=([^\]]*?\]?)\]} # Kann nun auch auf "]]" enden!

Warum werden in diesem Wiki Wiki Words auseinander geschrieben?

Bei mir funktionieren einige Formatierungen nicht:

sub durchgestrichen {
    my ($self, $text) = @_;
    $text =~ s#(?<![$WORD])-(\S.*?\S)-(?![$WORD])#<strike>$1</strike>#g;
    return $text;
}
sub hochgestellt {
    my ($self, $text) = @_;
    $text =~ s#(?[$WORD]$1</sup>#g;
    $text =~ s#\^(\S+)\^#<sup>$1</sup>#g;
    return $text;
}
sub tiefgestellt {
    my ($self, $text) = @_;
    $text =~ s#(?[$WORD]$1</sub>#g;
    $text =~ s#§(\S+)§#<sub>$1</sub>#g;
    return $text;
}
sub kleiner {
    my ($self, $text) = @_;
    $text =~ s#(?[$WORD]$1</small>#g;
    return $text;
}
sub groesser {
    my ($self, $text) = @_;
    $text =~ s#(?[$WORD]$1</big>#g;
    return $text;
}

Nun habe ich auch die "Grafik-als-Link" Funktion eingebaut (ebenfalls in Formatter.pm):

sub http_picture_link {
    my ($self, $text) = @_;
    $self->split_method($text,
        qr{(?<!\!)(\[\S+\.(?:gif|jpg|jpeg|ppm|png|bmp)\s+http\S+\])}i,
        'http_picture_link_format',
    );
}
sub http_picture_link_format {
    my ($self, $text, $a, $b) = @_;
    my ($bild, $link) = $text =~ /^\[(.+)\s+(.+)\]$/;
    return qq(<a href="$link">) . $self->img_format($bild) . '</a>';
}

Eingetragen wird die Funktion (http_picture_link) dann in process_order vor named_http_link.

Gibt es irgendwo eine gute Dokumentation zu Kwiki?

Gibt es ein Inhaltsverzeichnis, auf dem alle Seiten angezeigt werden?

sub is_a_redirect {
    my ($self, $text) = @_;
    $self->split_method($text,
        qr{(?<!\!)(?<!\s)(\[\&REDIRECT\s+\S+\])}i,
        'is_a_redirect_format',
    );
}

sub is_a_redirect_format {
    my ($self, $text) = @_;
    my ($whereto) = $text =~ /^\[\&REDIRECT\s+(\S+)\]$/;
    $self->{redirect} = $whereto;
    return "<h1>HIER!!!</h1>";
    return qq(<a href="$whereto">klick</a>);
}

is_a_redirect wird dabei zuoberst in process_order eingetragen. Damit klappts nun auch mit dem Inhaltsverzeichnis! Es klappt dann nur, wenn vor dem Redirect-Ausdruck kein Leerzeichen steht. Das hat den Vorteil, dass man das Redirect vorzeigen kann (in der Dokumentation).

Wo kann man die Texte...ändern?

Wie kann man den Kwiki User Namen ausgeben?

Wie wird das Inhaltsverzeichnis oben automatisch erzeugt?

Ich sehe, dass dafür im Wiki-Code dieser Seite

[ &TOC ol link]

(ohne das Leerzeichen nach der öffnenden Klammer) eingetragen ist. Das bewirkt bei mir allerdings nichts, also vermute ich, dass man dafür einen weiteren Patch braucht?!

Wie und wo kann man die Einstellungsseite ändern?

Kann man die Einstellungsseite so ergänzen, dass man weitere Felder hinzufügt, so dass der User etwa zwischen bestimmten css-Sets wählen kann?

Fragen (noch ohne Antworten)

Wie muss ein Favicon beschaffen sein?

Ich habe inzwischen eines eingefügt bekommen, es muss wohl 16x16 Pixel groß sein und kann 256 Farben haben. Allerdings wird mein Favicon nur von einem einzigen Browser (Mozilla unter Linux) angezeigt, alle anderen zeigen es noch nicht an, deshalb vermute ich, dass damit noch irgendwas falsch ist.

Tipps und Tricks v0.17 & v0.18

Das Aussehen des Kwikis ändern

top_page:      StartSeite
changes_page:  Änderungen
preferences_page:  Einstellungen
slogan:        H+P internal Kwiki
title_prefix:  H+P Kwiki
stylesheet:    Kwiki.css
kwiki_image:   hp_logo.gif
display_header.html Kopf der normalen Ansicht
display_body.html Mittelteil der normalen Ansicht
display_footer.html Fußteil der normalen Ansicht
basic_footer.html Kommt (auch?) als Fuß beim Editieren zum Einsatz (v0.18)

Wie bekommt man eine Art von "Navigation" auf der linken Seite hin?

Ich habe dazu in der Datei display_header.html folgende Eintragungen am Ende von <div id="banner"> eingefügt:

<span>HP-Kwiki</span>
 
<div style="font-size:10pt">
<hr />
 
<a href="[% script %]?[% top_page %]" accesskey="1">[% loc_top_page %]</a>
<br />
<a href="[% script %]?[% changes_page %]">[% loc_changes_page %]</a>
<br />
<a href="[% script %]?action=prefs">[% loc_preferences_page %]</a>
 
<br /> <hr />
 
<a href="[% script %]?WikiBewohner">Wiki-Bewohner</a>
<br />
<a href="[% script %]?AktuelleProjekte">Aktuelle Projekte</a>
 
<br /> <hr />
 
<a href="[% script %]?KWikiFormatierungen">Formatierungen</a>
 
</div>

Links farblich hervorheben, wenn man mit der Maus drüber ist

a:hoover {
    text-decoration:underline;
    background:#DE8;
}
a:active {
    text-decoration:underline;
    background:#DE8;
}
#banner a:hoover {
    text-decoration:underline;
    background:#BC6;
}
#banner a:active {
    text-decoration:underline;
    background:#BC6;
}

Tipps und Tricks v0.18

Per Default ist der Editieren-Button ganz am Ende des linken Bereiches. Das ist insbesondere bei kurzen Seiten blöd, weil er sich dann nämlich mit den Einträgen auf der linken Seite überschneidet. Deshalb habe ich es so gemacht, dass er immer oben unter der Navigation platziert wird. Dazu habe ich den entsprechenden Eintrag in display_body.html auskommentiert und statt dessen in display_header.html (am Ende von <div id="banner">) eingefügt. Der Abschnitt, um den es geht, lautet:

[% IF is_editable %]
<hr />
<form class="edit">
<input type="submit" name="button-edit" value="{{EDIT}}">
[% ELSE %]
<form action="admin.cgi" class="admin">
<input type="submit" name="button-login" value="{{LOGIN}}">
[% END %]
<input type="hidden" name="action" value="edit">
<input type="hidden" name="page_id" value="[% page_id %]">
</form>

Wie kann man die Navigation auf der Linken Seite farblich gegenüber dem Rest abheben?

Ich habe dazu in css/Kwiki.css folgende Farbeintragungen für den Hintergrund vorgenommen: (Inzwischen habe ich css und Templates stark abgeändert, aber obiges ist ein guter Anfang. (Jetzt heißen die Bereiche aber teilweise anders.))

body #EF9
banner #CD7
content #EF9
blogbody #EF9