Skip to content

ppedvAG/OlwCodeSnippet

Repository files navigation

ppedv Code-Snippet – Plugin für Open Live Writer

build

Fügt formatierten Quellcode (C#, Python, JavaScript, HTML, PowerShell, SQL) in Blogbeiträge ein. Der erzeugte HTML-Code ist selbst-enthaltend: Die Einfärbung steckt komplett in Inline-Styles (<pre> + <span style="color:…">). Damit ist die Darstellung unabhängig vom Blog-Theme und kollidiert nicht mit dem auf blog.ppedv.de eingebundenen SyntaxHighlighter (der nur <pre class="brush:…"> anfasst).

Für blog.ppedv.de (BlogEngine.NET) muss nichts am Blog geändert werden – kein CSS, kein JavaScript.

Beispielausgabe

Beispielausgabe: C#, Python und HTML mit Inline-Styles

Funktionsumfang

  • Dialog beim Einfügen: Code eingeben oder aus der Zwischenablage übernehmen, Sprache wählen (C# / Python / JavaScript / HTML / PowerShell / SQL), Zeilennummern an/aus, optionaler Titel/Dateiname als kleine Kopfzeile. Einfügen per Klick oder Strg+Enter.
  • Wird als Smart Content eingefügt: über die Seitenleiste ("Code bearbeiten…") jederzeit wieder editierbar.
  • Eigener, abhängigkeitsfreier Highlighter: Keywords, Strings (inkl. @"…"/$"…", JS-Template-Literals, Python-Docstrings, PowerShell-Here-Strings), Kommentare, Zahlen, $-Variablen (PowerShell/SQL), HTML-Tags/Attribute/Entities. SQL-Keywords case-insensitiv.

Schnellstart: fertige DLL (ohne Visual Studio)

Wer nicht selbst bauen will, lädt die fertige DLL aus dem neuesten Release:

Ppedv.OlwCodeSnippet.dll herunterladen (alle Versionen: Releases)

  1. DLL herunterladen.
  2. In den Plugins-Ordner der OLW-Installation kopieren, z. B. %LOCALAPPDATA%\OpenLiveWriter\app-0.6.2\Plugins\ (Ordner ggf. anlegen).
  3. Falls die DLL als „blockiert" markiert ist: Rechtsklick → Eigenschaften → Zulassen, oder Unblock-File <pfad> in PowerShell.
  4. Open Live Writer neu startenEinfügen → „Code-Snippet (ppedv)".

Wer aus dem Quellcode baut, folgt den nächsten Abschnitten.

Voraussetzungen zum Bauen

  • Visual Studio 2022 oder die Build Tools (MSBuild) mit der .NET Framework 4.7.2 Developer-Pack (Targeting Pack).
  • lib\OpenLiveWriter.Api.dll liegt bereits im Projekt (aus der lokalen OLW-Installation kopiert). Wird nur zum Kompilieren referenziert und nicht mit ausgeliefert.

Bauen

Per Visual Studio: OlwCodeSnippet.sln öffnen, Konfiguration Release, bauen.

Oder per Kommandozeile:

msbuild OlwCodeSnippet.csproj -t:Rebuild -p:Configuration=Release

Ergebnis: bin\Release\Ppedv.OlwCodeSnippet.dll (eine einzige DLL, x86 passend zum 32-Bit-Prozess von Open Live Writer).

Installieren

Am einfachsten mit dem beiliegenden Skript (findet die aktuelle OLW-Version automatisch):

powershell -ExecutionPolicy Bypass -File .\install.ps1

Oder manuell: Ppedv.OlwCodeSnippet.dll in den Plugins-Ordner der OLW-Installation kopieren, z. B.:

%LOCALAPPDATA%\OpenLiveWriter\app-0.6.2\Plugins\

Anschließend Open Live Writer neu starten.

Hinweis: Open Live Writer aktualisiert sich per ClickOnce; dabei ändert sich der app-<Version>-Ordner. Nach einem OLW-Update install.ps1 einfach erneut ausführen.

Falls die DLL nicht geladen wird und zuvor aus dem Internet/Netzlaufwerk kam: Unblock-File .\bin\Release\Ppedv.OlwCodeSnippet.dll (das install.ps1 macht das bereits automatisch).

Benutzen

  1. Im Beitrag den Cursor an die gewünschte Stelle setzen.
  2. Menüband Einfügen → „Code-Snippet (ppedv)".
  3. Code einfügen, Sprache wählen, ggf. Titel/Zeilennummern, Einfügen.
  4. Zum Ändern das Snippet anklicken und in der Seitenleiste „Code bearbeiten…".

Aussehen anpassen

Die Farben/Abstände sind zentral in Highlighting/CodeHighlighter.cs als Konstanten (ColKeyword, ColString, ColComment, …) und im <pre>-Style definiert. Anpassen, neu bauen, install.ps1 erneut ausführen.

Weitere Sprachen

Neue Sprache = ein zusätzlicher Scanner nach dem Muster von CSharpScanner / PythonScanner, ein case in CodeHighlighter.Tokenize und ein Eintrag in der Sprachliste von CodeSnippetForm.

Lizenz

MIT © ppedv AG.

lib/OpenLiveWriter.Api.dll gehört zu Open Live Writer (ebenfalls MIT-lizenziert) und liegt nur zum Kompilieren bei.

About

Open Live Writer Plugin: fuegt formatierten Quellcode (C#, Python, HTML) mit selbst-enthaltenden Inline-Styles ein - fuer blog.ppedv.de (BlogEngine.NET).

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors