Menü aufrufen
Toggle preferences menu
Persönliches Menü aufrufen
Nicht angemeldet
Ihre IP-Adresse wird öffentlich sichtbar sein, wenn Sie Änderungen vornehmen.

Benutzer:Rene/SGHtml: Unterschied zwischen den Versionen

aus Stargate Wiki, dem deutschsprachigen Stargate-Lexikon
Probleme mit Backslash
Version 0.65 - slash Problem behoben, auch externe Links mit Zahlen ergeben neues Fenster
Zeile 1: Zeile 1:
Mediawiki Erweiterung um den HTML-Code vor der Auslieferung noch zu verändern.
Mediawiki-Erweiterung um den HTML-Code vor der Auslieferung durch den Server noch zu verändern.
 
Aktueller Stand Version 0.6 MediaWiki Version 1.12 / 0.25 MediaWiki Version 1.10


==Funktion==
==Funktion==
Zeile 8: Zeile 6:
*Alle Überschriften der Stufe 2 (==) erhalten am rechten Rand einen ~^ als Link auf den Seitenanfang.
*Alle Überschriften der Stufe 2 (==) erhalten am rechten Rand einen ~^ als Link auf den Seitenanfang.
*Bild [[Bild:Bearbeiten.png]] statt Text '''Bearbeiten''' um einen Abschnitt zu bearbeiten
*Bild [[Bild:Bearbeiten.png]] statt Text '''Bearbeiten''' um einen Abschnitt zu bearbeiten
*Werkzeug Spoiler aufdecken einbinden
*Werkzeug Spoiler aufdecken als Javascript-Button einbinden
*Zusätzliche Key-Wörter im Code
*Pfeile <&#126;, &#126;>,&#126;^ und &#126;V im Artikel durch Bilder (<~,~>,~^,~V) ersetzen.
:'''Hinweis:''' ''Die Erweiterung ersetzt die Pfeile auch im Bereich '''<nowiki><pre></nowiki>''' und '''<nowiki><nowiki></nowiki>'''. Die einzige Möglichkeit dies zu verhindern besteht darin statt dem Zeichen ~ im Text den Code &&#35;126; zu schreiben.''


==Probleme==
==Probleme==
Wer einen Fehler findet bitte hier melden Danke. -- {{Benutzer:Rene/sig}} 23:16, 16. Sep. 2007 (CEST)
Wer einen Fehler findet bitte hier melden Danke. -- {{Benutzer:Rene/sig}} 23:16, 16. Sep. 2007 (CEST)
===Backslash in im Text===
Die Erweiterung ersetzt teilweise das Zeichen « <nowiki>'</nowiki> » durch « <nowiki>\'</nowiki> »
===Pfeile auch in nowiki ersetzt===
In der neusten Version ersetzt die Erweiterung die Pfeile <&#126;, &#126;>,&#126;^ und &#126;V durch Bilder (<~,~>,~^,~V). Dabei werden die Zeichenfolgen auch im Bereich '''<nowiki><pre></nowiki>''' und '''<nowiki><nowiki></nowiki>''' ersetzt.
Die einzige Möglichkeit dies zu verhindern besteht darin statt dem Zeichen ~ im Text den Code &&#35;126; zu schreiben.


==Programmcode==
==Programmcode==
Dieser Code ist noch in der Entwicklung. Er ist bereits vorbereitet auf die MediaWiki Version 1.12.0rc1. Im aktuellen Wiki wird nur eine eingeschränkte Version benutzt.  
Aktuell läuft auf Stargate-Wiki der folgende Programmcode. Die Erweiterung benutzt den MediaWiki Hook '''OutputPageBeforeHTML'''.


<pre>
<pre>
Zeile 31: Zeile 22:
$wgExtensionCredits['other'][] = array(
$wgExtensionCredits['other'][] = array(
   'name' => 'SGHtml',
   'name' => 'SGHtml',
   'version' => '0.6',
   'version' => '0.65',
   'author' => '[http://www.stargate-wiki.de/index.php/User:Admin Rene Raule]',
   'author' => '[http://www.stargate-wiki.de/index.php/User:Admin Rene Raule]',
   'url' => 'http://www.stargate-wiki.de/index.php/Rene/SGHtml',
   'url' => 'http://www.stargate-wiki.de/index.php/Rene/SGHtml',
   'description' => 'MediaWiki Html veraendern um StargateWiki Besonderheiten einzuf&uuml;gen<br />1. Externe Seiten in eigenem Fenster<br />2. Bild als bearbeiten-Link<br />3. Link zum Seitenanfang<br />4. Spoiler aufdecken<br />5. Zus&auml;tzliche meta-Keywords'
   'description' => 'MediaWiki Html ver&auml;endern um Stargate-Wiki Besonderheiten einzuf&uuml;gen<br />1. Externe Seiten in eigenem Fenster<br />2. Bild als  
bearbeiten-Link<br />3. Link zum Seitenanfang<br />4. Spoiler aufdecken<br />5. Zus&auml;tzliche meta-Keywords'
);
);


Zeile 43: Zeile 35:
/* Externe Seiten in eigenem Fenster */
/* Externe Seiten in eigenem Fenster */
         'class="external text"' => 'class="external text" target="_blank"',
         'class="external text"' => 'class="external text" target="_blank"',
        'class="external autonumber"' => 'class="external autonumber" target="_blank"',
'&lt;~' => '<img src="/skins/common/images/16x16/blue_left.gif" alt="<-" />',
'&lt;~' => '<img src="/skins/common/images/16x16/blue_left.gif" alt="<-" />',
'~&gt;' => '<img src="/skins/common/images/16x16/blue_right.gif" alt="->" />',
'~&gt;' => '<img src="/skins/common/images/16x16/blue_right.gif" alt="->" />',
Zeile 58: Zeile 51:
     // Test ob H2 Ueberschrift, nur dann wird der Link an den Seitenanfang eingefuegt.
     // Test ob H2 Ueberschrift, nur dann wird der Link an den Seitenanfang eingefuegt.
     $ersatz = '"<h$1>".($1==2?"';
     $ersatz = '"<h$1>".($1==2?"';
     $ersatz .= '<a href=\"#top\" title=\"Seiten Anfang\" style=\"vertical-align: top; float: right;\"><img src=\"/skins/common/images/16x16/blue_up.gif\" alt=\"^\" /></a>';
     $ersatz .= '<a href=\"#top\" title=\"Seiten Anfang\" style=\"vertical-align: top; float: right;\"><img  
src=\"/skins/common/images/16x16/blue_up.gif\" alt=\"^\" /></a>';
     $ersatz .= '":"").';
     $ersatz .= '":"").';
     $ersatz .= '"<span class=\"mw-headline\">$4</span> <a href=\"$2\" title=\"$3\">';
     $ersatz .= '"<span class=\"mw-headline\">$4</span> <a href=\"$2\" title=\"$3\">';
     $ersatz .= '<img src=\"/skins/common/images/16x16/edit.png\" alt=\"[bearbeiten]\" style=\"vertical-align:top; margin-top:-3px;\" /></a>"';
     $ersatz .= '<img src=\"/skins/common/images/16x16/edit.png\" alt=\"[bearbeiten]\" style=\"vertical-align:top; margin-top:-3px;\" /></a>"';
      
      
     $text = preg_replace($suchen,$ersatz,$text);
     $text = stripslashes(preg_replace($suchen,$ersatz,$text));


     /* Spoiler aufdecken einbinden (geht nur im Text) */
     /* Spoiler aufdecken einbinden (geht nur im Text) */
Zeile 84: Zeile 78:
         </script>';
         </script>';


         $text = $jscript.'<span style="margin-top:-3em; float:right; background-color:#ffe0e0; border: solid 2px #ee9999; padding: 0px 4px;"><a href="#" onclick="cssClassChange(\'span\',\'spoiler\',\'spoilerOK\',\'Spoiler verdecken\',\'Spoiler aufdecken\',this)">Spoiler aufdecken</a></span>'.$text;
         $btext  = $jscript.'<button ';
$btext .= 'style="position:fixed; left: 155px; top: 0px; z-index:50;';
$btext .= ' border: solid 1px black;';
$btext .= ' background-image:url(/skins/common/images/slice_button.gif); background-repeat: repeat-x;';
$btext .= ' padding: 0x 4x; font-size:x-small;"';
$btext .= ' onclick="cssClassChange(\'span\',\'spoiler\',\'spoilerOK\',\'Spoiler verdecken\',\'Spoiler aufdecken\',this)"';
$btext .= ' type="button"';
$btext .= '>Spoiler aufdecken</button>';
$text = $btext.$text;
     }
     }
      
      
Zeile 94: Zeile 96:
     $out->mKeywords[] = 'Stargate Atlantis';
     $out->mKeywords[] = 'Stargate Atlantis';
     $out->mKeywords[] = 'Stargate Universe';
     $out->mKeywords[] = 'Stargate Universe';
     $out->mKeywords[] = 'Stargate Wikpedia';
     $out->mKeywords[] = 'Stargate Lexikon';
    $out->mKeywords[] = 'Stargate Wikipedia';
          
          
     return true;
     return true;