[hyphenation] Automatische Silbentrennung
Hallo!
Ich hab wieder ein wenig gebastelt. Ich wollte gern auf meiner Seite Blocksatz verwenden, und Blocksatz ohne Silbentrennung ist für den ..., ähm, ziemlich sinnlos.
Ich hab ein nettes Javascript, gefunden, dass automatisch Trennvorschläge einfügt: Silbentrennung in HTML. Da gibt es wilde Diskussionen im Internet, ob das eine gute Idee ist, ob die Trennvorschläge am Server oder am Client eingefügt werden sollen. Das muss jeder für sich entscheiden, ich mag die Idee so ganz gern.
Lange Rede, kurzer Sinn, ich hab das ganze in eine kleine Extension gepackt, das das Script im Frontend lädt, und im Backend kann die Silbentrennung ein wenig beeinflusst werden, im "Startpunkt einer Webside".
Das ist erst meine zweite Extension und nichts tolles. Deswegen wieder nur hier veröffentlicht.
Leider kann ich es hier nicht anhängen, die Datei ist zu groß, deswegen der Downloadlink: >aktueller Link unten<
Tschüss
Marcus (aka Tiggr)
Liste der Anhänge anzeigen (Anzahl: 2)
Hiho!
Ich häng mal einen Screenshot an, wie ich es bei mir eingestellt habe. Und im Header wird bei mir folgendes von der Extension eingefügt:
HTML-Code:
<script type="text/javascript" src="plugins/Hyphenator/Hyphenator.js"></script>
<script type="text/javascript" src="plugins/Hyphenator/patterns/de.js"></script>
<script type="text/javascript">
Hyphenator.config({minwordlength : 5});
if (Browser.Engine != 'trident' || Browser.Engine.version < 5) { Hyphenator.run(); }
</script>
Wobei ich glaube, in der oben verlinkten Version wird die if-Abfrage nicht eingefügt. Ich hatte aber Probleme im IE6 (na klar), wenn da das Script lief, sind die Inhalte verschwunden. Sch... IE6. Und da ich nicht so fit in CSS und Browserbugs bin, hab ich halt gesagt, User vom IE6 müsen leiden, und ohne Silbentrennung auskommen. Da es meine eigene Seite ist, darf ich sowas frei entscheiden! ;)
Ich hab mal schnell die Moduldateien, mit denen ich bei mir arbeite, also nicht den Teil unter Plugins, hier mit angehängt!
Tschüss
Marcus (aka Tiggr)
Noch ein paar kleine Vorschläge
Hallo Tiggr,
vielen Dank für Deine Mühe. Habe die Extension eingebaut und es funktioniert einwandfrei.
Für die Code-Validierung wäre es hilfreich den Scriptcode noch auszukommentieren:
Also statt:
Code:
<script type="text/javascript">
Hyphenator.config({minwordlength : 6});
if (Browser.Engine != 'trident' || Browser.Engine.version < 5) { Hyphenator.run(); }
</script>
wäre
Code:
<script type="text/javascript">
<!--
Hyphenator.config({minwordlength : 6});
if (Browser.Engine != 'trident' || Browser.Engine.version < 5) { Hyphenator.run(); }
// -->
</script>
eventuell hilfreich.
Generell finde ich die Performance der Silbentrennung speziell im IE unbefriedigend. Zumindest bei meinem ersten Test. Hast Du die Hinweise zur Optimierung (speziell auch merg+pack) einmal ausprobiert?
Hier noch die Hinweise:
Zitat:
How fast is Hyphenator?
There is no answer to this question despite of: “it depends on a lot of parameteres”. For most tasks Hyphenator is fast enough, but speed is cool and there are things you can do to make Hyphenator faster and thus even cooler ;-)
Execution speed
I'm permanently tweaking the code for execution speed. If there's a millisecond to save, I want to save it! Nevertheless there are differences in execution speed depending on the browser you use. In general a more recent version is faster.
What an webauthor can do: The depth of the DOM-Tree has a big impact on the speed of Hyphenator. It takes a quite bit of time to hyphenate a document with <body class="hyphenate"> and highly nested code (layout tables, lots of divs in divs in divs...). But its quite fast to just hyphenate all p-Elements.
Conclusion: Write clean standard-conform code and set class="hyphenate" to the leaves instead to the roots or branches.
Loading speed
The script itself isn't that big (commented Hyphenator.js: ca. 44KB). But the pattern files take some time to load (69KB for the german patterns, 24 KB for english).
By merging the script and the patterns in one file and by packing the resulting script with a Javascript-packer we can optimize loading speed (one file = one http request).
What an webauthor can do:
•Use merge+pack.html: There's a customizing service bundled in the download package (called merge+pack.html) since version 2.2.0. Open this file in your browser via http (not via file: !) and follow the instructions.
•Serve the files zipped: Depending on your server you may serve the files zipped. Current browsers can easily deal with zipped packages. Zipping typically saves +/- 50%.
•Cache: Make sure that the script file is correctly cached in the browser.
Würde mich interessieren was dabei herauskommt.
Nochmals vielen Dank - ich finde auch, dass es sich als offizielle Extension lohnen würde.
Grüße
paule
Achtung: Update führt zu "weißer" Seite
Hallo,
ich habe folgendes Problem (aber auch den Workaround):
- Update von 1.2.0 auf 1.3.0
- Komplette Website ohne Inhalt ("alles weiß")!
Lösung:
- browserdetection installieren
Ursache:
Im Update wird scheinbar die Abhängigkeitsprüfung nicht vorgenommen.
Bei zwei von mir betreuten Domains war anschließend Ende. Ich brauchte bisher die Erweiterung browserdetection nicht.
Gruß
Markus
Fehlermeldung hatte ich mir anzeigen lassen...
Zitat:
Zitat von
xchs
...eine ggf. dann ausgegebene Fehlermeldung hier posten.
Mit dieser Idee bin ich dem Problem ja auf die Schliche gekommmen. Da ich das Problem bei unserer Firmenwebseite hatte, kann ich das aktuell nicht mehr nachstellen - mein Chef grillt mich sonst...:-)
Ich habe aber privat das bei einer zweiten Installation nachgestellt. Dort versuche ich es noch einmal zu reproduzieren und poste dann einen Screenshot hier.
Gruß
Markus
Worttrennung auch in der Navigation & für einzelene Wörter Trennung deaktivieren
Hallo Forum,
kann man die hyphenation auch für die Navigation aktivieren und gibts es eine Möglichkeit bestimmte Wörter nicht zu trennen?
Besten Dank
.christoph
Einsatz unter Contao 3.x?
Hallo,
ich weiß zwar, dass die Erweiterung nur bis 2.11.11 freigegeben ist, aber hat das jemand vielleicht doch schon unter 3.x zum Laufen gebracht? - Ich habe das mal probiert (auch autoload-Datei erstellt), aber es passiert nicht wirklich etwas - bspw. werden die beiden js-Dateien nicht eingebunden. Aber auch wenn man die händisch über das Seitenlayout einbindet, wird nix getrennt.
Ich wäre dankbar für Erfahrungsberichte.
Grüße
Dr. Jo
Funktioniert nicht auf Android Smartphones
Was Desktop-Browser angeht, war ich immer sehr zufrieden mit der Erweiterung - tut es einwandfrei. Für meine Layouts ist Blocksatz mit aut. Silbentrennung ein sehr wichtiges Feature.
Dummerweise wird dieses Javascript von allen Browsern auf Android-Smartphones ignoriert, als würde es garnicht geladen. Leider fand ich bislang auch noch keine Javascriptkonsole für Android und kann´s deshalb garnicht debuggen.
Kennt jemand eine Lösung oder wenigstens die Ursache dieses Problems?
PS: Die CSS-Eigenschaft "hyphens" wird bislang ebenfalls von noch keinem Android-Browser unterstützt, daher keine Alternative.