Projekt-Querverweis…

Erstellt am 23.09.2022 Lesedauer 2 - 3 Min.

„Projektverweis einfügen“ ist eine spezialisierte Suche innerhalb aller vorhandenen Markdown-Dateien des Projekts. Für eine erfolgreiche Verwendung ist zwingend ein Yaml-Header mit dem Parameter in erforderlich. Wird die Yaml-Variable title gefunden, erfolgt eine elegantere Verarbeitung.

Ein für den Verweis markierter Text wird als Suchvorschlag übernommen und kann für die Suche beliebig angepasst werden. Der Suchttext wird in allen Dateien im Projekt-Quellverzeichnis (in) mit der für das Projekt geltenden Standard-Dateiendung gesucht.

Groß-/Kleinschreibung wird ignoriert, doch »exakt dieser« Text (ohne führende oder anhängende Leerzeichen) gesucht. Die „perfekten“ Referenz ist unauffindbar, wenn beim Suchbegriff im Text verwendete Sonder- oder Leerzeichen fehlen (und umgekehrt).

Die Suche nach Text-Fragmenten listet alle möglichen Textstellen, die eventuell für den Verweis geeignet sind.

Dateien mit Übereinstimmung werden in der Reihenfolge der gefundenen Treffer in einen temporären Text geladen. Dieser Text überlagert temporär die Arbeitsdatei, beginnt mit einer Minimal-Statistik und zeigt die Steuerungsbefehle und einen Hinweis:

Es wird der letzte Verweis ⟨„ID“⟩ *VOR* der Cursorposition/Textauswahl zurück gegeben.

Zur Veranschaulichung, was damit gemeint ist ein…

Beispiel

Suche nach »gefunden«, „Trefferverhalten“ hier in dieser Projektdatei:

### Die Herausforderung
 
Es sollte eine bequeme Variante etabliert werden […]
 
### Gesucht und Gefunden
 
Im weiteren Verlauf der Geschichte […]

Es wird im Markdown gesucht, d.h. es wird alles gefunden, das irgendwo im Text steht. Abhängig von der Trefferstelle gibt es unterschiedliche Rückgabewerte, wenn „gefunden“ als Text eingegeben wird:

  1. Ein Texttreffer vor einer Überschrift im Text gibt nur den Link zur Seite zurück und verwendet den Seitentitel als verlinkten Text:
    [Projekt-Querverweis…]⟨/editor/einfuegen/projektverweis⟩
     
  2. Ein Treffer nach einer Überschrift im Text ergänzt den ID der ersten Überschrift davor:
    [Projekt-Querverweis…]⟨/editor/einfuegen/projektverweis#beispiel⟩
     
  3. Treffer in einer Überschrift entspricht ②:
    [Projekt-Querverweis…]⟨/editor/einfuegen/projektverweis#gesucht-und-gefunden⟩
     

③ gibt in diesem Fall einen ungültigen Verweis aus, denn der Treffer befindet sich in einem Code-Abschnitt, in dem beim Export kein ID generiert wird.

Die Suche ist „dumm“, sie sucht nach der ersten „Überschrift-Notation“ (# am Zeilenanfang) vor dem Cursor bzw. der Auswahl und erzeugt daraus einen Querverweis. Deshalb gibt es eine manuelle Eingriffsmöglichkeit: Mit den Pfeiltasten den Cursor hinter eine passende Position bewegen und erst dann Enter drücken. Im konkreten Fall wäre das eventuell die Position von ②, die Überschrift, die vor dem Quellcode steht.

Die Suche (TAB) wird stets von der aktuellen Cursorposition fortgesetzt.

Ist beim Aufruf der Funktion ein Text markiert, ist dieser sowohl Suchbegriff, als auch Text für den Link. In diesem Fall wird der title der Datei als Linktitel ausgegeben. Ist „gefunden“ markiert und es wird ② als passender Treffer gewählt, sieht das Ergebnis so aus:

[gefunden]⟨/editor/einfuegen/projektverweis#beispiel "Projekt-Querverweis…"⟩ 
Bitte beachten

Es werden nur Überschriften für den Querverweis berücksichtigt, die am Zeilenanfang stehen. Eine eingerückte Überschrift (z.B. in einem Zitat) wird ignoriert: Sie stellt keine Überschrift mit direktem Bezug zum Text dar.

Falls erforderlich, kann diese Überschrift im Suchfenster markiert und in die Zwischenablage kopiert werden. Per Umwandlung lässt sich trotzdem darauf referenzieren.

Die Arbeitsdatei ist weiterhin aktiv, damit der gefundene Verweis eingefügt werden kann. Deshalb können alle Bearbeitungsfunktionen weiterhin aufgerufen werden. Sie werden „unsichtbar“ ausgeführt, weil der Treffertext die Arbeitsdatei überlagert.

Wenn keine Zeilennummerierung sichtbar ist, vor Bearbeitungsbefehlen ESC drücken!