Footnotes

Third Party Plugins to CMSimple - how to install, use and create plugins

Moderator: Tata

wsim123
Posts: 63
Joined: Thu Feb 19, 2015 4:44 pm

Re: Footnotes

Post by wsim123 » Sat Mar 14, 2015 11:19 am

svasti wrote:Habe inzwischen den Code noch weiter optimiert, z.B. indem die Fußnotenausgabe eine <ol> wird, was bei längeren Fußnoten schöner ist.

Leider funktioniert es nicht so gut mit CKEditor, denn der denkt, dass [[ ]] einen geschützten Bereich umschließt, und automatisch <span class="cke_placeholder" data-cke-placeholder="1">[[ ]]</span> daraus macht, wodurch man dorthin nicht mehr mit dem Cursor kommt. :cry:
Ich habe trotzdem noch eine Frage : was bedeutet <sup> als Element.

Ich habe dazu auf Wikipedia https://www.mediawiki.org/wiki/Parser_extension_tags
gefunden. Vielleicht könnte man generell <h1...h6 durch <cm1 ... cm6 ersetzen - was für eine
nächste Version von Cmsimple wäre und auch ein <ref> - Element einführen.

wsim123
Posts: 63
Joined: Thu Feb 19, 2015 4:44 pm

Re: Footnotes

Post by wsim123 » Sat Mar 14, 2015 11:20 am


cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: Footnotes

Post by cmb » Sat Mar 14, 2015 12:11 pm

svasti wrote:Leider funktioniert das nicht mehr mit preg_match_all() and str_replace(), darum dauert es noch ein bisschen.
Man kann preg_match_all() als $flag Parameter PREG_OFFSET_CAPTURE mitgeben, was hier evtl. ganz hilfreich sein könnte. Statt str_replace() kann dann XH_spliceString() verwendet werden, wenn man von hinten nach vorne arbeitet. Das wird z.B. so in evaluate_plugin_call() gemacht.
svasti wrote:Das Ganze hat bei mir aber keine hohe Priorität, ich machs eher zur Entspannung, so wie andere Kreuzworträtsel lösen.
:geek: :)
wsim123 wrote:Ich habe trotzdem noch eine Frage : was bedeutet <sup> als Element.
svasti wrote:<sup> ist HTML für Hochgestellt.
wsim123 wrote:Ich habe dazu auf Wikipedia https://www.mediawiki.org/wiki/Parser_extension_tags
gefunden. Vielleicht könnte man generell <h1...h6 durch <cm1 ... cm6 ersetzen - was für eine
nächste Version von Cmsimple wäre und auch ein <ref> - Element einführen.
Grundsätzlich sind Wikimarkup und HTML-Eingabe zwei verschiedene Dinge. Elemente in HTML Notation, die bei der Ausgabe ersetzt werden sollen, können bei CMSimple einige Probleme verursachen, und machen den HTML-Quelltext nicht gerade übersichtlicher (was ist natives HTML, und was ist besonderes Markup). Daher würde ich eher eine andere Notation bevorzugen.

Konkret zu <h1>-<h6> ersetzen durch <cm1>-<cm6>: mir ist nicht wirklich klar, was das bringen bzw. wie es funktionieren soll. Klar, man könnte als Anwender nun <h1>-<h6> als seiteninterne Überschrift verwenden. Aber was passiert dann mit <cm1>-<cm6>? Wird es immer zu <h1>, dann hat man eventuell mehrere <h1> auf der Seite, was nicht unbedingt gut ist. Da würde ich dann eher die Variante bevorzugen, die svasti in einem SEO-Tutorial unter "The typical CMSimple_XH website" vorschlägt.

Und letztlich halte ich 5 oder gar 6 Heading-Levels ohnehin für reichlich viel für eine CMSimple-Site. Mit 5 Heading-Levels mit jeweils 5 Unterseiten käme man auf 3905 Seiten; das ist i.d.R. mehr, als CMSimple leisten kann.

Aber okay, solche Vorschläge tauchen immer wieder mal auf, und grundsätzlich habe ich auch nichts dagegen, das umzusetzen. Ich möchte das aber ungern zum Standard machen, und fände es daher gut, wenn wir den Zugriff auf den Inhalt abstrahieren. Dann könnten solche anderen Formate (auch ganz anderes Markup wäre denkbar) wohl durch Plugins/Zusatzmodule ermöglicht werden.
Christoph M. Becker – Plugins for CMSimple_XH

wsim123
Posts: 63
Joined: Thu Feb 19, 2015 4:44 pm

Re: Footnotes

Post by wsim123 » Tue Mar 17, 2015 11:24 am

wsim123 wrote:
svasti wrote:
cmb wrote:I don't have the time to implement it. Feel free to use and improve the code
Yesterday night I tried and here comes the enlarged code which enables multiple references to the same footnote.
Normal footnote:
  • text text text [[footnote]] text text
If you want to refer to the same footnote again, just give a little name to the footnote:
  • text text text [[footnote||name]] text text
and use this name where you want to point to the same footnote:
  • text text text [[name]] text text

Code: Select all

function convertFootnotes()
{
    global $s, $c, $su;

    $name = array();
    $i = $s > -1 ? $s : 0;
    $count = preg_match_all(
        '/\[\[(.*)\]\]/U', $c[$i], $matches, PREG_SET_ORDER
    );
    if ($count) {
        $c[$i] .= '<div class="footnotes">';
        $j = 1;
        foreach ($matches as $match) {
            $text = explode('||',$match[1]);
            if(in_array($text[0],$name)) {
                $nr = array_search($text[0],$name);
                $c[$i] = str_replace(
                    $match[0],
                    '<sup><a href="#footnote' . $nr
                    . '">[' . $nr . ']</a></sup>',
                    $c[$i]
                );
            } else {
                $c[$i] = str_replace(
                    $match[0],
                    '<sup><a href="#footnote' . $j
                    . '">[' . $j . ']</a></sup>',
                    $c[$i]
                );
                $c[$i] .= '<div id="footnote' . $j . '">'
                    . $j . '. ' . $text[0] . '</div>';
                if(isset($text[1])) $name[$j] = $text[1];
                $j++;
            }
        }
        $c[$i] .= '</div>';
    }
}

if (!(XH_ADM && $edit)) {
    convertFootnotes();
}
 
Als Anfänger habe ich dazu eine Bemerkung : Dies ist programmiertechnisch gesehen ein undokumentierter Code. Was bedeutet zB <sup> usw. Vielleicht könnte jemand auskommentierten Code einfügen...Es muss nicht unbedingt ein Flussdiagramm sein

Wenn ich in einen großen(!) Text einen Ref-Anker einbaue und dann das erste mal anklicke, dauert es einige Sekunden bis Cmsimple das Textende findet. Beim zweiten Aufruf geht es schlagartig und auch die anderen Ref-Anker im Text finden danach bltzschnell das Textende. Im Mediawiki ist das nicht so (man kann aber auch nicht alles haben ) und es hängt auch nicht mit Bildern zusammen.

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: Footnotes

Post by cmb » Tue Mar 17, 2015 1:25 pm

wsim123 wrote:Wenn ich in einen großen(!) Text einen Ref-Anker einbaue und dann das erste mal anklicke, dauert es einige Sekunden bis Cmsimple das Textende findet. Beim zweiten Aufruf geht es schlagartig und auch die anderen Ref-Anker im Text finden danach bltzschnell das Textende. Im Mediawiki ist das nicht so (man kann aber auch nicht alles haben ) und es hängt auch nicht mit Bildern zusammen.
Spontan würde ich darauf tippen, dass das mit den Clean-URLs (bzw. einer weiteren Anpassung) zusammen hängen könnte. Wird denn beim ersten Mal die Seite neu geladen? Das wäre ja eigentlich bei Seiten internen Links nicht nötig.
Christoph M. Becker – Plugins for CMSimple_XH

wsim123
Posts: 63
Joined: Thu Feb 19, 2015 4:44 pm

Re: Footnotes

Post by wsim123 » Tue Mar 17, 2015 5:55 pm

cmb wrote:
wsim123 wrote:Wenn ich in einen großen(!) Text einen Ref-Anker einbaue und dann das erste mal anklicke, dauert es einige Sekunden bis Cmsimple das Textende findet. Beim zweiten Aufruf geht es schlagartig und auch die anderen Ref-Anker im Text finden danach bltzschnell das Textende. Im Mediawiki ist das nicht so (man kann aber auch nicht alles haben ) und es hängt auch nicht mit Bildern zusammen.
Spontan würde ich darauf tippen, dass das mit den Clean-URLs (bzw. einer weiteren Anpassung) zusammen hängen könnte. Wird denn beim ersten Mal die Seite neu geladen? Das wäre ja eigentlich bei Seiten internen Links nicht nötig.
Es sieht nicht so aus als ob die Seite neu geladen wird. Die Seite wurde ja einmal geladen. Sie bewegt sich mit Verzögerung nach unten(Ich nutze Maxim1.66 mit Re-Patch für 'short anchors' von Herrn Ch. Becker, der nur bei Maxim nötig ist - den könnte man ihm mitteilen - nur wer hat die Email). 1.66 läuft ja richtig stabil.

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: Footnotes

Post by cmb » Tue Mar 17, 2015 11:16 pm

wsim123 wrote:Es sieht nicht so aus als ob die Seite neu geladen wird. Die Seite wurde ja einmal geladen. Sie bewegt sich mit Verzögerung nach unten
Eigenartig. Ich kann mir schwer vorstellen, dass allein das Scrollen eine merkliche Verzögerung haben sollte, aber ich schaue es mir morgen in einer entsprechenden Testumgebung mal an.
wsim123 wrote:Herrn Ch. Becker
Das bin übrigens ich. :)
wsim123 wrote:bei Maxim nötig ist - den könnte man ihm mitteilen - nur wer hat die Email
Im Zweifel sollte es eine persönliche Nachricht per Forum tun: http://cmsimpleforum.com/ucp.php?i=pm&folder=inbox.
Christoph M. Becker – Plugins for CMSimple_XH

wsim123
Posts: 63
Joined: Thu Feb 19, 2015 4:44 pm

Re: Footnotes

Post by wsim123 » Wed Mar 18, 2015 11:47 am

cmb wrote:
wsim123 wrote:Es sieht nicht so aus als ob die Seite neu geladen wird. Die Seite wurde ja einmal geladen. Sie bewegt sich mit Verzögerung nach unten
Eigenartig. Ich kann mir schwer vorstellen, dass allein das Scrollen eine merkliche Verzögerung haben sollte, aber ich schaue es mir morgen in einer entsprechenden Testumgebung mal an.
wsim123 wrote:Herrn Ch. Becker
Das bin übrigens ich. :)
wsim123 wrote:bei Maxim nötig ist - den könnte man ihm mitteilen - nur wer hat die Email
Im Zweifel sollte es eine persönliche Nachricht per Forum tun: http://cmsimpleforum.com/ucp.php?i=pm&folder=inbox.
Man solte beide Versionen abstimmen.---
Das verzögerte Scrollen ist auch bei normalen Ankern zb mit oben umrahmtem DIV mit Index so. Es hängt auch von der Netzanbindung ab(Tageszeit).

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: Footnotes

Post by cmb » Wed Mar 18, 2015 12:46 pm

wsim123 wrote:Man solte beide Versionen abstimmen.---
Ja. Das steht auch für CMSimple_XH 1.7 zur Diskussion.
wsim123 wrote:Das verzögerte Scrollen ist auch bei normalen Ankern zb mit oben umrahmtem DIV mit Index so. Es hängt auch von der Netzanbindung ab(Tageszeit).
Wenn die Verzögerung von der Netzanbindung ab hängt, dann ist ziemlich sicher ein Reload der Seite involviert.
Christoph M. Becker – Plugins for CMSimple_XH

wsim123
Posts: 63
Joined: Thu Feb 19, 2015 4:44 pm

Re: Footnotes

Post by wsim123 » Mon Apr 06, 2015 6:41 pm

cmb wrote:
wsim123 wrote:Man solte beide Versionen abstimmen.---
Ja. Das steht auch für CMSimple_XH 1.7 zur Diskussion.
wsim123 wrote:Das verzögerte Scrollen ist auch bei normalen Ankern zb mit oben umrahmtem DIV mit Index so. Es hängt auch von der Netzanbindung ab(Tageszeit).
Wenn die Verzögerung von der Netzanbindung ab hängt, dann ist ziemlich sicher ein Reload der Seite involviert.
...........................................................................................................
Ich habe ein kleines Problem bei meiner <ref> -Lösung (Ich finde kein anderes Forum)

Ich will darstellen <a href=/ebene1/datei.html#anx> Test1</a>
Nach PHP kann ich doch schreiben echo $str1 . " " . $str2;
(ich will aber auch addieren zwecks einer Restvariablen)

$st1="<a href=/";
$st2=".html#an";
$st3="<a name=anx></a>";
Wenn ich in ein Template im Seitenbar echo $su eintrage - ebene1/datei ---- ok

$st1 bleibt leer genauso wie $st3
wenn ich addiere $zeig="$st1 . Ssu . Sst2"; wird nichts angezeigt(auch nicht über userfuncs - Eintrag)
aber echo $su . $st2 geht überraschenderweise - hat es etwas mit "<a" zu tun ?
.... wer kennt sich aus .....

Post Reply