Footnotes

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

Moderator: Tata

svasti
Posts: 1649
Joined: Wed Dec 17, 2008 5:08 pm

Re: Footnotes

Post by svasti » Sat Mar 07, 2015 5:13 pm

Es ist das ckeditor plugin placeholder, welches [[ ]] nutzt. Tja, die einfachste Lösung wäre, für die Fußnoten ein anderes Zeichen zu nutzen? Vorschläge?
  1. (( ))
  2. [( )}
  3. %% %%
  4. ^^ ^^

Holger
Site Admin
Posts: 3188
Joined: Mon May 19, 2008 7:10 pm
Location: Hessen, Germany
Contact:

Re: Footnotes

Post by Holger » Sat Mar 07, 2015 5:25 pm

svasti wrote:Es ist das ckeditor plugin placeholder, welches [[ ]] nutzt. Tja, die einfachste Lösung wäre, für die Fußnoten ein anderes Zeichen zu nutzen? Vorschläge?
  1. (( ))
  2. [( )}
  3. %% %%
  4. ^^ ^^
Bug oder Feature ;)

Richtig, es liegt am Placeholder-Plugin, was wohl fälschlicherweise mit in mein CKeditor-Paket kam (es gibt jedenfalls keinen Button dafür) :? .
Das Plugin könnte man einfach entfernen, oder es als Feature sehen, denn die Fußnoten werden dann im Text hervor gehoben und man kann sie per Doppelklick bearbeiten.

svasti
Posts: 1649
Joined: Wed Dec 17, 2008 5:08 pm

Re: Footnotes

Post by svasti » Sat Mar 07, 2015 5:57 pm

Ohne irgendwelche Aktivierung im init scheint das aber nicht zu gehen. Habe nicht rausbekommen, was man dafür ins init schreiben muss.
extraPlugins : 'placeholder', hat nicht funktioniert, ebensowenig wie ['Placeholder'] in der toolbar. :?:

Holger
Site Admin
Posts: 3188
Joined: Mon May 19, 2008 7:10 pm
Location: Hessen, Germany
Contact:

Re: Footnotes

Post by Holger » Sat Mar 07, 2015 6:11 pm

Mit meinem (veralteten) CKeditor aus der Plugin-Version 2.1 geht es (bei mir zumindest). Allerdings noch nicht als echtes Widget (drag&drop zum Beispiel geht erst in neueren Versionen des CK).
Du hast ja den Editor selber aktualisiert. Hast Du das Plugin überhaupt installiert?

svasti
Posts: 1649
Joined: Wed Dec 17, 2008 5:08 pm

Re: Footnotes

Post by svasti » Sat Mar 07, 2015 8:07 pm

Habe noch mal ckeditor4cmsimpleXH_2.1 unverändert eingebaut und das mit dem Doppelklick funktioniert hier bei mir nicht. Aber Anklicken und anschließend Rechtsklick erzeugt ein Feld: [P} Platzhalter bearbeiten, bzw [P] Edit Placeholder.
Allerdings ist das bei längeren Fußnoten viel zu kurz, z.B. für die Angabe eines Buch mit allem was dazu gehört. Man kann die Placeholder-Eingabe allerdings in die Breite ziehen.
Ich habe jetzt mal das CKeditor Plugin Placeholder gelöscht. Resultat: Nach wie vor kann man die Fußnoten nicht editieren, nur erscheint jetzt beim Rechtsklick nicht mehr das Fenster für die Eingabe. Dies ist also die ungünstigste Variante.

Hm, das spricht bisher für Änderung der Klammern. Ich habe mal mit ^^ ^^ experimentiert, und das gefällt mir ganz gut. Deutlich sichtbarer als [[ ]], besser auf der deutschen Tastatur erreichbar, und erinnert irgendwie an Pfeil nach oben.

cmb
Posts: 13274
Joined: Tue Jun 21, 2011 11:04 am
Location: Mü-Sa, RLP, DE
Contact:

Re: Footnotes

Post by cmb » Sun Mar 08, 2015 9:14 pm

svasti wrote:Hm, das spricht bisher für Änderung der Klammern. Ich habe mal mit ^^ ^^ experimentiert, und das gefällt mir ganz gut. Deutlich sichtbarer als [[ ]], besser auf der deutschen Tastatur erreichbar, und erinnert irgendwie an Pfeil nach oben.
Wenn öffnende und schließende Klammer unterschiedlich sind, kann man (User wie auch PHP-Parser) leichter erkennen, wo die Fußnote anfängt, und wo sie endet. Da der Digraph nicht unbedingt aus den selben Zeichen bestehen muss, gäbe es sicher viele Möglichkeiten, z.B. <^ ^>, ^{ }^, etc.
Christoph M. Becker – Plugins for CMSimple_XH

svasti
Posts: 1649
Joined: Wed Dec 17, 2008 5:08 pm

Re: Footnotes

Post by svasti » Mon Mar 09, 2015 11:47 am

cmb wrote:gäbe es sicher viele Möglichkeiten, z.B. <^ ^>, ^{ }^,
< wird von den Editoren zu < gemacht und fällt damit weg. Und um ^{ }^ einzutippen braucht man auf der deutschen Tastatur fast schon einen Fingersatz wie beim Klavierspielen. Also für mich lieber was einfacheres.
cmb wrote:Wenn öffnende und schließende Klammer unterschiedlich sind, kann man (User wie auch PHP-Parser) leichter erkennen, wo die Fußnote anfängt, und wo sie endet.
Auch der PHP-Parser? Würde mich wundern, wenn es da Geschwindigkeitsunterschiede gäbe, da doch ' und " keine Unterschied beim Öffnen und Schließen machen.

cmb
Posts: 13274
Joined: Tue Jun 21, 2011 11:04 am
Location: Mü-Sa, RLP, DE
Contact:

Re: Footnotes

Post by cmb » Mon Mar 09, 2015 12:22 pm

svasti wrote:
cmb wrote:gäbe es sicher viele Möglichkeiten, z.B. <^ ^>, ^{ }^,
< wird von den Editoren zu < gemacht und fällt damit weg. Und um ^{ }^ einzutippen braucht man auf der deutschen Tastatur fast schon einen Fingersatz wie beim Klavierspielen. Also für mich lieber was einfacheres.
Du hast natürlich recht. Es kann ja auch ([...]) oder wie auch immer sein.
svasti wrote:
cmb wrote:Wenn öffnende und schließende Klammer unterschiedlich sind, kann man (User wie auch PHP-Parser) leichter erkennen, wo die Fußnote anfängt, und wo sie endet.
Auch der PHP-Parser? Würde mich wundern, wenn es da Geschwindigkeitsunterschiede gäbe, da doch ' und " keine Unterschied beim Öffnen und Schließen machen.
Es geht mir nicht um Geschwindigkeitsunterschiede, sondern um eine bessere Behandlung von Fehlern. Nimm z.B. mal folgendes:

Code: Select all

Lorem ipsum dolor sit amet, consetetur^^Fußnote1 sadipscing elitr, sed diam nonumy eirmod tempor^^Fußnote2^^ invidunt ut labore et dolore magna aliquyam
Hier wurde die schließende "Klammer" bei Fußnote1 vergessen. Der Fußnotenparser würde dann vermutlich "Fußnote1 ... tempor" als erste Fußnote parsen, und Fußnote2 nicht erkennen. Wären die Klammern unterschiedlich, dann könnte Fußnote2 korrekt geparst werden, und Fußnote1 eben nicht, aber da liegt ja auch der Fehler.
Christoph M. Becker – Plugins for CMSimple_XH

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

Re: Footnotes

Post by wsim123 » Fri Mar 13, 2015 1:09 pm

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

svasti
Posts: 1649
Joined: Wed Dec 17, 2008 5:08 pm

Re: Footnotes

Post by svasti » Fri Mar 13, 2015 3:43 pm

wsim123 wrote:Dies ist programmiertechnisch gesehen ein undokumentierter Code. Was bedeutet zB <sup> usw.
Simmt, ist ja noch im Ideenstadium. Haber gerade nicht so viel Zeit, darum ist's noch nicht fertig...
<sup> ist HTML für Hochgestellt.

Stand der Dinge:
Experimentiere momentan mit ^(Fußnotentext)^ und einer Funktionalität wie bei Wikipedia, d.h. Mehrfachreferenzen zur selben Fußnote werden z.B. in Fußnote 3 angezeigt als:

3. ^ a b Fußnotentext
a und b (natürlich hochgestellt) sind dann die Backlinks.

Leider funktioniert das nicht mehr mit preg_match_all() and str_replace(), darum dauert es noch ein bisschen. Vielleicht wird auch ein Plugin daraus, in dem man vorher eine Literaturliste eingeben kann und die Referenzen dann im Text im Harvard-Stil machen kann, also z.B. Text Text [Mickey & Mouse 1920, S. 3] Text Text...

Das Ganze hat bei mir aber keine hohe Priorität, ich machs eher zur Entspannung, so wie andere Kreuzworträtsel lösen.

Post Reply