FHEM Forum

FHEM - Entwicklung => FHEM Development => Thema gestartet von: Dr. Boris Neubert am 20 November 2016, 11:56:26

Titel: Nebeneffekt in der Commandref-Anzeige vom FHEMWEB
Beitrag von: Dr. Boris Neubert am 20 November 2016, 11:56:26
Hallo,

wenn ich die Commandref zu RSS aufrufe, ist der HTML-Code darin zerschossen.

In 02_RSS.pm steht in der pod-Sektion dieses:

    <li>textboxf &lt;x&gt; &lt;y&gt; &lt;boxwidth&gt; &lt;bgcolor&gt; &lt;text&gt;<br>Same as before but
    the textbox will be filled with the given background color &lt;bgcolor&gt; before drawing the text.
    &lt;bgcolor&gt; can be used with <code>{ <a href="#perl">&lt;perl special&gt;</a> }</code> to evalute <a href="#rss_rgb">RGB</a> value.</li><br>


FHEMWEB liefert dazu folgendes aus:

<li>textboxf &lt;x&gt; &lt;y&gt; &lt;boxwidth&gt; &lt;bgcolor&gt; &lt;text&gt;<br>Same as before but
    the textbox will be filled with the given background color &lt;bgcolor&gt; before drawing the text.
    &lt;bgcolor&gt; can be used with <code>{ <a href="#rss_rgb">RGB</a> value.</code></li><code><br>


Es wird der Teil "#perl">&lt;perl special&gt;</a> }</code> to evalute <a href= herausgeschnitten.

Möglicherweise ist mein HTML fehlerhaft oder löst eine unerwünschte Ersetzung aus. Ist mir aufgefallen, als ich den Tippi korrieren wollte.

Viele Grüße
Boris

Titel: Antw:Nebeneffekt in der Commandref-Anzeige vom FHEMWEB
Beitrag von: rudolfkoenig am 20 November 2016, 14:38:03
Ich habe diesen Abschnitt auf http://fhem.de/commandref.html#RSS, mit aktualisierten Code auf file:///.../fhem/docs/commandref.html und in der DetailAnsicht eines RSS Geraetes mit "Device specific help" angeschaut: ueberall ist
Zitat...can be used with { <perl special> } to evalute RGB value.
zu sehen. Habe jeweils nach textboxf gesucht. Suche ich falsch?
Titel: Antw:Nebeneffekt in der Commandref-Anzeige vom FHEMWEB
Beitrag von: Dr. Boris Neubert am 20 November 2016, 15:20:57
Hallo,

habe FHEM aktualisiert. Dann http://meinfhemserver.example.com:8083/fhem/docs/commandref.html#RSS (http://meinfhemserver.example.com:8083/fhem/docs/commandref.html#RSS) aufgerufen. Ich sehe das Bild in der Anlage. Es fehlt ein Stück Text.

Es liegt nicht am stylesheetPrefix - ohne genauso. Auch nicht am Browser - selbes Ergebnis mit Konqueror. Die Anzeige auf fhem.de ist OK. Fazit: es ist meine Installation. Aber was?

Ich nutze die modulare Commandref.

Viele Grüße
Boris
Titel: Antw:Nebeneffekt in der Commandref-Anzeige vom FHEMWEB
Beitrag von: Markus Bloch am 20 November 2016, 15:48:35
Hallo Boris,

ich habe dasselbe Phänomen. Ich nutze ebenfalls die modulare commandref. Wenn man direkt in FHEM via help RSS die commandref zu RSS anzeigt ist alles korrekt und wird richtig dargestellt. Nur in der modularen commandref wird der betroffene Teil weggeschnitten. Ich vermute daher, dass die Ursache in fhemdoc_modular.js zu suchen ist. Dort werden einige Änderungen an der HTML Struktur durchgeführt, bevor sie im Browser angezeigt werden.

Ich bin gerade am schauen, ob ich die Ursache finde.

Gruß
Markus
Titel: Antw:Nebeneffekt in der Commandref-Anzeige vom FHEMWEB
Beitrag von: Markus Bloch am 20 November 2016, 16:23:21
Fehler gefunden. Hier der entsprechende Patch:

Index: www/pgm2/fhemdoc_modular.js
===================================================================
--- www/pgm2/fhemdoc_modular.js (revision 12609)
+++ www/pgm2/fhemdoc_modular.js (working copy)
@@ -67,7 +67,7 @@
     ret = ret.replace(/Keine deutsche Hilfe gefunden!<br\/>/,'');
     ret = '<div id="FD_'+mname+'">'+ret+'</div>';
     ret = ret.replace(/target="_blank"/g, '');  // revert help URL rewrite
-    ret = ret.replace(/href=".*commandref.*.html#/g, 'href="#');
+    ret = ret.replace(/href=".*?commandref.*?.html#/g, 'href="#');

     if(fd_loadedHash[mname])
       $("div#FD_"+mname).remove();


Gruß
Markus

PS: evtl. könnte man auch mit [^'"]* arbeiten um nicht aus dem href-Attribut herauszulaufen.
Titel: Antw:Nebeneffekt in der Commandref-Anzeige vom FHEMWEB
Beitrag von: rudolfkoenig am 20 November 2016, 19:25:01
Danke Markus, habe dein Patch eingecheckt.