• 0.4.1 94394e2c48

    0.4.1 Stable

    jkaindl released this 2026-06-24 09:43:45 +00:00 | 238 commits to main since this release

    Geändert

    Wartungs-Release für die Konformität mit dem Obsidian-Community-Plugin-Review (keine
    nutzersichtbaren Funktionsänderungen):

    • Settings-Re-Render läuft über eine private Methode statt der seit Obsidian 1.13 veralteten
      display()minAppVersion bleibt 1.8.7, Verhalten unverändert.
    • authorUrl im Manifest zeigt auf die Autoren-Homepage (jkaindl.de).
    • Installations-Doku auf die Community-Plugins-Suche umgestellt (BRAT-Anleitung entfernt, da
      das Plugin nun gelistet ist).
    Downloads
  • 0.4.0 89725a3193

    0.4.0 Stable

    jkaindl released this 2026-06-24 06:49:04 +00:00 | 242 commits to main since this release

    Hinzugefügt

    • Modell-Transparenz: ein Refresh-Icon neben beiden Modell-Auswahlen (Sidebar + Einstellungen)
      lädt die Modell-Liste neu — nützlich, wenn ein externer Prozess das geladene Modell des lokalen
      Backends (MLX/LM Studio) gewechselt hat. Nach jeder Transkription gleicht die Sidebar die Auswahl
      automatisch an das tatsächlich verwendete Modell (response.model) an. Ein grüner Haken neben dem
      Dropdown zeigt, ob die Auswahl im Backend geladen ist; der Refresh gibt sichtbares Feedback
      („N Modelle geladen").

    • Verlinkte Quellen: reine Links auf Bilder/PDFs ([[x.pdf]], [text](x.pdf) ohne !) werden
      jetzt ebenfalls als Quelle erkannt und transkribiert; der Link im Text bleibt dabei unverändert
      (im Gegensatz zu Embeds, die durch das Transkript ersetzt werden). Sidebar markiert solche Einträge
      mit „linked".

    Downloads
  • 0.3.0 a8ed80c36f

    0.3.0 Stable

    jkaindl released this 2026-06-23 13:48:59 +00:00 | 265 commits to main since this release

    Hinzugefügt

    • Backlink-Idempotenz: Die Sidebar erkennt eine bereits existierende Transkript-Notiz für
      eine Quelle (via Backlink-Index + source_pdf/source_image-Frontmatter-Filter) und zeigt
      „vorhanden → öffnen" an, statt erneut zu transkribieren.
      Nur Notizen, deren Frontmatter per source_pdf / source_image auf die Quelldatei verweist,
      zählen — ein bloßer Body-Embed (z.B. ![[datei.pdf]]) genügt nicht (Frontmatter-Filter load-bearing).
    • Override-Option: Per Checkbox in der Sidebar lässt sich eine erneute Transkription erzwingen;
      das Plugin überschreibt dann die bestehende Transkript-Notiz und erhält dabei das komplette
      existierende Frontmatter (nur transcribed_by/pages + Body werden ersetzt).

    Geändert

    • PDF render scale (pdfRenderScale) ist jetzt ein Slider (Bereich 1.0–4.0, Schritt 0.5)
      statt eines freien Textfelds — direktes, gegrenztes Einstellen der Render-Auflösung.

    Bereits in 0.2.0 enthalten (erstmals mit diesem Release ausgeliefert)

    • PDF-Embed-Transkription: eingebettete PDFs werden seitenweise über die Sidebar transkribiert.
      Seitenbereich wählbar (Default: alle), eine Transkript-Notiz pro PDF, PDF-Embed wird ersetzt.
      Limits: pdfMaxPages (konfigurierbar) und pdfRenderScale (mobil kleiner, schützt vor OOM).
      Umgesetzt über einen gebündelten pdf.js-Worker (Blob-URL, kein CDN, komplett offline).
    • Konfigurierbarer PDF-Seiten-Trenner (pdfPageSeparator): per Dropdown wählbar, wie Seiten
      in der zusammengeführten Transkript-Notiz getrennt werden — fünf Optionen:
      „Obsidian comment %% Page N %% (hidden in reading view)" (Default), „Heading ## Page N",
      „Horizontal rule ---", „Page break (HTML, for export)" und „None (seamless text)".
    • Lokalisierter Titel-Suffix für Transkript-Notizen: „(transcript)" für Bilder bzw.
      „(PDF transcript)" für PDFs (folgt der UI-Sprache).

    Vollständige Historie: CHANGELOG.md

    Downloads
  • 0.1.3 1b4963cce8

    0.1.3 Stable

    jkaindl released this 2026-06-22 07:12:10 +00:00 | 301 commits to main since this release

    Image to Markdown transcribes the embedded images of an Obsidian note to Markdown with a local, OpenAI-compatible vision LLM. Fully offline, non-destructive, streaming live into the sidebar.

    Highlights

    • Sidebar view — one card per image with live-streaming transcription (plus an expandable thinking block for reasoning models) and a copy button. Create one transcript note per image, or all at once.
    • Commands — "Transcribe images in the active note" (batch) and "Open sidebar"; plus an editor context-menu entry for a single image.
    • Bilingual UI (English / Deutsch) — every user-facing string follows Obsidian's language setting; English is canonical, German is provided automatically.
    • Offline-first — configurable OpenAI-compatible vision endpoint (LM Studio / MLX / Ollama); connection status + "Test connection", vision-capability detection + active "Test vision".
    • Non-destructive & idempotent — one transcript note per image; the image embed in the source note is replaced by an embed of the new note.

    Changes in 0.1.3

    • Added a GitHub Actions release pipeline that builds the plugin and publishes the GitHub release with build-provenance attestations for the assets.

    Install

    • Manual: download main.js, manifest.json and styles.css from this release into <vault>/.obsidian/plugins/image-to-markdown/, then enable under Settings → Community plugins.
    • BRAT: add johannes-kaindl/image-to-markdown.

    Requires Obsidian 1.8.7+. Code: AGPL-3.0-or-later.

    Downloads
  • 0.1.2 bbd8d9ed5d

    0.1.2 Stable

    jkaindl released this 2026-06-22 07:01:50 +00:00 | 303 commits to main since this release

    Image to Markdown transcribes the embedded images of an Obsidian note to Markdown with a local, OpenAI-compatible vision LLM. Fully offline, non-destructive, streaming live into the sidebar.

    Highlights

    • Sidebar view — one card per image with live-streaming transcription (plus an expandable thinking block for reasoning models) and a copy button. Create one transcript note per image, or all at once.
    • Commands — "Transcribe images in the active note" (batch) and "Open sidebar"; plus an editor context-menu entry for a single image.
    • Bilingual UI (English / Deutsch) — every user-facing string follows Obsidian's language setting; English is canonical, German is provided automatically.
    • Offline-first — configurable OpenAI-compatible vision endpoint (LM Studio / MLX / Ollama); connection status + "Test connection", vision-capability detection + active "Test vision".
    • Non-destructive & idempotent — one transcript note per image; the image embed in the source note is replaced by an embed of the new note. The original text is never overwritten.

    Changes in 0.1.2

    • Live streaming now uses activeWindow.fetch (injected stream transport) instead of the global fetch, satisfying the Obsidian plugin linter without suppressions. Behavior unchanged.
    • README: replaced the Community-plugins placeholder with real install instructions.

    Install

    • Manual: download main.js, manifest.json and styles.css from this release into <vault>/.obsidian/plugins/image-to-markdown/, then enable under Settings → Community plugins.
    • BRAT: add johannes-kaindl/image-to-markdown.

    Requires Obsidian 1.8.7+. Code: AGPL-3.0-or-later.

    Downloads
  • 0.1.1 2dd57b1333

    0.1.1 Stable

    jkaindl released this 2026-06-22 06:02:20 +00:00 | 305 commits to main since this release

    Image to Markdown transcribes the embedded images of an Obsidian note to Markdown with a local, OpenAI-compatible vision LLM. Fully offline, non-destructive, streaming live into the sidebar.

    Highlights

    • Sidebar view — one card per image with live-streaming transcription (plus an expandable thinking block for reasoning models) and a copy button. Create one transcript note per image, or all at once.
    • Commands — "Transcribe images in the active note" (batch) and "Open sidebar"; plus an editor context-menu entry for a single image.
    • Bilingual UI (English / Deutsch) — every user-facing string follows Obsidian's language setting; English is canonical, German is provided automatically.
    • Offline-first — configurable OpenAI-compatible vision endpoint (LM Studio / MLX / Ollama); connection status + "Test connection", vision-capability detection + active "Test vision".
    • Non-destructive & idempotent — one transcript note per image; the image embed in the source note is replaced by an embed of the new note. The original text is never overwritten.

    Changes in 0.1.1

    • Network calls go through Obsidian's requestUrl (live streaming keeps fetch, which requestUrl cannot do).
    • minAppVersion raised to 1.8.7 (official getLanguage() API).
    • Clean against the Obsidian plugin linter (eslint-plugin-obsidianmd): no unsupported-API usage, activeDocument, no floating promises.

    Install

    • Manual: download main.js, manifest.json and styles.css from this release into <vault>/.obsidian/plugins/image-to-markdown/, then enable under Settings → Community plugins.
    • BRAT: add johannes-kaindl/image-to-markdown.

    Requires Obsidian 1.8.7+. Code: AGPL-3.0-or-later.

    Downloads
  • 0.1.0 eb6a83dcc5

    0.1.0 Stable

    jkaindl released this 2026-06-21 21:18:17 +00:00 | 308 commits to main since this release

    First release of Image to Markdown — transcribe the embedded images of an Obsidian note to Markdown with a local, OpenAI-compatible vision LLM. Fully offline, non-destructive, streaming live into the sidebar.

    Highlights

    • Sidebar view — one card per image with live-streaming transcription (plus an expandable thinking block for reasoning models) and a copy button. Create one transcript note per image, or all at once.
    • Commands — "Transcribe images in the active note" (batch) and "Open sidebar"; plus an editor context-menu entry for a single image.
    • Bilingual UI (English / Deutsch) — every user-facing string follows Obsidian's language setting; English is canonical, German is provided automatically. Detected once at load (reload to switch).
    • Offline-first — configurable OpenAI-compatible vision endpoint (LM Studio / MLX / Ollama); connection status + "Test connection", vision-capability detection + active "Test vision".
    • Non-destructive & idempotent — one transcript note per image; the image embed in the source note is replaced by an embed of the new note. The original text is never overwritten.

    Install

    • Manual: download main.js, manifest.json and styles.css from this release into <vault>/.obsidian/plugins/image-to-markdown/, then enable under Settings → Community plugins.
    • BRAT: add johannes-kaindl/image-to-markdown.

    Requires Obsidian 1.4.0+. Code: AGPL-3.0-or-later. See the manual in the repository for details.

    Downloads