MicroLighter

Diese beson­ders leich­te Version einen MicroLighters gefiel mir. Ich habe ChatGPT ein klei­nes Plug-In für WordPress erstel­len las­sen. Bisher habe ich kei­nen Code-Highlighter ein­ge­setzt. Mir gefällt das Ergebnis, so dass ich es gern vor­stel­len möchte. 

Zwei Beispiele.

<?php
add_action( 'wp_enqueue_scripts', 'meine_funktion' );
function meine_funktion() {
wp_enqueue_style( 'mein-style' );
}

body {
    background-color: #faf6f5;
    color: #292526;
    font-family: system-ui, sans-serif;
    font-size: 19px;
}

HS Code Highlighter 1.2.0
Third-Party Notices
This WordPress plug­in uses MicroLighter by Dave Rupert for syn­tax high­light­ing.
Project: https://​git​hub​.com/​d​a​v​a​t​r​o​n​5​0​0​0​/​m​i​c​r​o​l​i​g​h​ter
Version used by this plug­in: 2.1.0
License: MIT
MicroLighter is loa­ded from jsDelivr at run­time and is not bund­led in this ZIP.
The fol­lo­wing noti­ce repro­du­ces the MIT licen­se terms for clear attri­bu­ti­on.
MIT License
Copyright © Dave Rupert

third-par­ty/
└── microlighter/​
├── LICENSE
├── microlighter.min.js
├── grammars/​
└── …

Hier ein Ausschnitt aus mei­nem Dialog mit ChatGPT:

Damit wäre völ­lig trans­pa­rent, wel­cher Teil von Dave Rupert stammt und wel­cher Teil unse­re WordPress-Integration ist.

Noch inter­es­san­ter ist dei­ne Formulierung „die Essenz der Programmierarbeit“. Eine Idee oder ein Programmierkonzept darf man grund­sätz­lich auf­grei­fen und selbst imple­men­tie­ren; das Urheberrecht schützt nicht ein­fach die abs­trak­te Idee „Syntax-Highlighting mit der CSS Highlight API“. Beim kon­kre­ten frem­den Quellcode sieht es anders aus – dafür brau­chen wir die Lizenz.

Hier haben wir sie. Und ich möch­te etwas an mei­ner bis­he­ri­gen Arbeit kor­ri­gie­ren:

Ich hät­te die Lizenzfrage prü­fen sol­len, bevor ich dir das Plugin gebaut habe, nicht erst nach­dem du danach fragst. Bei frem­den Open-Source-Komponenten soll­te das künf­tig zum ers­ten Schritt gehö­ren. Für Version 1.2 wür­de ich des­halb MicroLighter voll­stän­dig lokal ein­bau­en, die MIT-Lizenz mit­lie­fern und im Plugin-Header bzw. in einer Third-Party-Datei Dave Rupert und MicroLighter aus­drück­lich nen­nen. Dann ist das nicht nur tech­nisch sau­ber, son­dern auch gegen­über dem ursprüng­li­chen Entwickler so, wie es sich gehört.

Merkliste

4 Kommentare

Kommentar schreiben

Kommentieren auf diesem Blog

  • Text wird lokal zwischengespeichert
  • Antworten können per E-Mail abonniert werden
  • Kommentar kurzzeitig bearbeitbar oder löschbar

Nach dem Absenden kannst du deinen Kommentar noch 10 Minuten bearbeiten oder löschen.Danach ist keine Änderung oder Löschung mehr möglich.
  1. Warum kom­pli­ziert, wenn es auch ein­fach geht? Nämlich mit den guten alten CSS, ganz ohne Javascript (!), ohne Lizenz und mit ein­fa­cher Einbindung über Klassen: Text

    ein­fa­che Version für weni­ge Worte in der­sel­ben Zeile:

    .high­ligh­ter {
    back­ground-color: #ffeb3b;
    }

    Für län­ge­re Zitate, hal­be Sätze oder Umbrüche, bei denen die Textmarker-Optik hoch­wer­tig und mehr wie „aus einem Guss“ wirkt::

    span.highlighter1 {
    back­ground-color: #ffeb3b !important;
    back­ground-image: linear-gradient(to right, #fff176 0%, #ffee58 100%) !important;
    pad­ding: 0.1em 0.3em;
    bor­der-radi­us: 0.2em;
    box-deco­ra­ti­on-break: clone;
    ‑web­kit-box-deco­ra­ti­on-break: clone;
    }
    Die kom­ple­xe­re Version stammt (ursprüng­lich) von Gemini, jedoch hat es meh­re­re Tests mit Korrektur- und Fehlerfinde-Dialogen gebraucht, bis es funzte!

    Das span. vor highlighter1 ver­hin­dert, dass ande­re CSS-Regeln des Themes die Regel über­schrei­ben (was bei mir der Fall wäre). Will man das nicht, also fle­xi­bel auf ande­re Tags anwen­den, emp­fiehlt Gemini, die Verkettung mit dem Elternelement, meist entry.content oder .post.

    .ent­ry-con­tent .highlighter1 {
    back­ground-color: #ffeb3b !important;
    back­ground-image: linear-gradient(to right, #fff176 0%, #ffee58 100%) !important;
    pad­ding: 0.1em 0.3em;
    bor­der-radi­us: 0.2em;
    box-deco­ra­ti­on-break: clone;
    ‑web­kit-box-deco­ra­ti­on-break: clone;
    }

    das habe ich nicht getes­tet, weil ich es nicht brau­che, mir reicht das „span”.

    Zu besich­ti­gen sind bei­de Versionen im letz­ten Abschnitt mei­nes aktu­el­len Blogposts – das war mein Testfeld.

    Übrigens: Toller Kommentarbereich, alles drin!

Ive Mendes – If You Leave Me Now
Zuletzt gehört
If You Leave Me Now
Ive Mendes · Ive Mendes
Zuvor
3-11 Porter – Surround Me with Your Love - Remastered
Davor
Charlie Chaplin – Smile (Theme from Modern Times) [with Joshua Bell]
Smile (Theme from Modern Times) [with Joshua Bell]
Charlie Chaplin · Chaplin's Smile: Song Arrangements for Violin and Piano