diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..81c5975 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +# VS Code Local History extension +.history/.history/ diff --git a/README.md b/README.md index 9338078..3aebcdc 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,7 @@ +> *Thanks to a community translation, there are now two additional README.md files – **English and German** – of the [original Chinese README](README.md) by [obsidian-canzi](https://github.com/obsidian-canzi). Contributed by [netzbub](https://github.com/netzbub), translated with AI assistance (Claude).* + +> *Dank einer Community-Übersetzung gibt es nun zwei zusätzliche README.md Dateien – Englisch und Deutsch – des [chinesischen Original-README](README.md) von [obsidian-canzi](https://github.com/obsidian-canzi). Ein Beitrag von [netzbub](https://github.com/netzbub), übersetzt mit KI-Unterstützung (Claude).* + **【增强编辑】插件旨在增强Obsidian软件的文本编辑操作,力求人性化、智能化、自动化处理当前页面文字。** ## 📣 赞助声明 diff --git a/README_de_DE.md b/README_de_DE.md new file mode 100644 index 0000000..7483c79 --- /dev/null +++ b/README_de_DE.md @@ -0,0 +1,136 @@ +> *Dies ist eine Community-Übersetzung des [chinesischen Original-README](README.md) von [obsidian-canzi](https://github.com/obsidian-canzi). Ein Beitrag von [netzbub](https://github.com/netzbub), übersetzt mit KI-Unterstützung (Claude).* + +**Das Plugin „Erweitertes Bearbeiten" (Enhanced Editing) soll die Textbearbeitung in Obsidian verbessern und dabei möglichst benutzerfreundlich, intelligent und automatisiert mit dem Text der aktuellen Seite umgehen.** + +## 📣 Spendenaufruf +Verbesserungsvorschläge und Funktionswünsche können gerne an den Entwickler Canzǐ (QQ: 312815311) gerichtet werden – gemeinsam für eine bessere Bearbeitungserfahrung in Obsidian! +Wenn dieses Plugin Ihre Effizienz beim Bearbeiten steigert, freuen wir uns über finanzielle Unterstützung für dieses Plugin. + +![Zahlungscode](https://user-images.githubusercontent.com/16410542/163940657-65036cc5-aa18-40e1-923e-d4fb1ed658e3.png) +Beliebiger Betrag, nur über WeChat; bitte Namen als Verwendungszweck angeben – vielen Dank + +## 📣 Funktionsübersicht +### ☑️ Statusleisten-Befehlsmenü +- Unterstützt das Aktivieren der Syntax-Formatpinsel-Funktion über das [Statusleistenmenü] +- Unterstützt die Ausführung nützlicher erweiterter Befehle über das [Statusleistenmenü] +- Unterstützt das Öffnen des Plugin-Einstellungsbereichs und des Hotkey-Bereichs über das [Statusleistenmenü] +![](https://user-images.githubusercontent.com/16410542/163715581-c1837e9c-b89a-4279-bfa3-68a3000eb39a.png) + +### ☑️ Interne Links umwandeln +**1. Taste „Alt+Z" drücken, um \[\[ ]]-Symbole um den markierten Text hinzuzufügen oder zu entfernen** +![Interne Links umwandeln](https://user-images.githubusercontent.com/16410542/161437571-10987a6d-ff0f-4ef1-9193-f2b0602f18e4.gif) + +- Ist kein Text markiert, gibt es zwei Fälle je nach Cursorposition: + - Befindet sich der Cursor innerhalb von \[\[Link|Text]], werden die äußeren Linksymbole automatisch entfernt + - Befindet sich der Cursor nicht innerhalb eines Links, wird direkt \[\[ ausgegeben +- Unterstützt die Massenkonvertierung von mehreren durch Zeilenumbrüche oder Aufzählungszeichen getrennten Zeichenketten. +- Enthält der markierte Text Symbole wie „|[]?\*<>/:", wird die Funktion nicht ausgeführt. + +**2. Taste „Alt+Q" drücken, um den markierten Text in das Format \[\[|markierter Text]] umzuwandeln – zur einfachen Auswahl von Notiznamen** +![In gleichnamigen Link umwandeln](https://user-images.githubusercontent.com/16410542/161437746-24db8f7a-c2f9-466e-b0d1-c16ade9bbcfc.gif) + +**3. Befehl „Alle internen Links stapelweise umwandeln" ausführen, um potenzielle Links in der aktuellen Notiz auf einmal in `[[Notizname]]`-Stil umzuwandeln** + +### ☑️ Intelligente Symbole +**3. Taste „Alt+;" drücken, um verschiedene Arten von Klammernsymbolen automatisch umzuwandeln, zuzuordnen oder zu überspringen** +![Intelligente Symbole](https://user-images.githubusercontent.com/16410542/161437355-79562ee8-60a7-41d5-85d2-d0ca5da495ba.gif) + +- **Umwandlung in dedizierte Zeichen** bei bestimmten Zeichen am Zeilenanfang (angelehnt an das Easy Typing Plugin): + - 》 → > + - 、 → / + +- **Ersetzung durch entsprechende Symbole** anhand der zwei vorherigen Zeichen: + - 【( oder [( → 〖 + - (< oder (< → 〈 + - (【 oder ([ → 〔 + - " 【 oder "[ → 『 + - ' 【 oder '[ → 「 + - …… → ^ + +- Erkennt die nächste öffnende Klammer vor dem Cursor und **generiert die passende schließende Klammer**: + - Originaltext ist 〖Text|– nach Drücken von „Alt+;" wird an der Cursorposition | 〗 generiert, analog für alle folgenden. + - 《Text|》〈Text|〉[Text|]{Text|}【Text|】〖Text|〗〔Text|〕『Text|』「Text|」 + +- Erkennt die nächste MD-Syntax (erste Hälfte der Zeichengruppe) vor dem Cursor und **ergänzt die zweite Hälfte**: + - [[Link]] ==Hervorhebung== **Fett** ~~Durchgestrichen~~ %%Kommentar%% + +- Wenn der Text [[Text|]] weitere Zeichen enthält und der Cursor | davor steht, **springt der Cursor hinter ]]**: + - D. h. wenn direkt dahinter die zweite Hälfte eines MD-Syntaxelements (Link, Fettdruck, Hervorhebung, Durchstreichen) erkannt wird, wird dieser automatisch übersprungen. + +- Erkennt den Inhalt der aktuellen Zeile: bei Wörtern wie Dataview, Query, Mermaid wird er **in Codeblock-Syntax umgewandelt**: + - dv → ```dataview``` + - qy → ```query``` + - mm → ```mermaid``` + - Unterstützt auch Abkürzungen für js, css, php, c, java, py usw. + +- Erkennt den Inhalt der aktuellen Zeile: bei `Callout-Syntaxtyp Ausrichtung +/`-Format wird er **in einen Callout-Syntaxblock umgewandelt** +![Callout-Syntax umwandeln](https://user-images.githubusercontent.com/16410542/161438754-b58e903f-514e-46e5-b71f-9dbcde406db7.gif) + +### ☑️ HTML-Syntax umwandeln +- Textfarbe umwandeln „Ctrl+Shift+1-5": markierten Text in oder aus einer von 5 benutzerdefinierten Farben umwandeln +- Hintergrundfarbe umwandeln „Ctrl+Alt+1-5": Hintergrund des markierten Textes in oder aus einer von 5 benutzerdefinierten Farben umwandeln + +### ☑️ Markdown-Syntax umwandeln +- Fettschrift-Syntax umwandeln „Alt+C": markierten Text in oder aus **Fettschrift** umwandeln +- Kursivschrift-Syntax umwandeln „Alt+X": markierten Text in oder aus _Kursivschrift_ umwandeln +- Inline-Code umwandeln „Alt+D": markierten Text in oder aus `Inline-Code` umwandeln +- Durchstreichung umwandeln „Alt+S": markierten Text in oder aus ~~Durchstreichung~~ umwandeln +- Unterstreichung umwandeln „Alt+H": markierten Text in oder aus Unterstreichung umwandeln +- Codeblock umwandeln „nicht belegt": markierten Text in oder aus ```Codeblock``` umwandeln +- Hochstellung-Syntax umwandeln „Alt+U": markierten Text in oder aus Hochstellung umwandeln +- Tiefstellung-Syntax umwandeln „Alt+N": markierten Text in oder aus Tiefstellung umwandeln +- Aufgabenstatus umwandeln „nicht belegt": Aufgabenstatus am Zeilenanfang der Markierung umwandeln, Reihenfolge: -[ x-!?><+] +- Lückentext umwandeln „nicht belegt": markierten Text in oder aus {{c1::markierter Text}} umwandeln +- Überschriften-Syntax umwandeln „Ctrl+1-6": aktuellen Zeilentext als Überschrift der Ebene N festlegen oder aufheben + +- Syntax-freier Text „Ctrl+Alt+Z": alle Markdown-Syntaxzeichen aus dem markierten Text entfernen +- Syntax-freien Text abrufen „Ctrl+Alt+C": alle Markdown-Syntaxzeichen aus dem markierten Text entfernen und in die Zwischenablage kopieren + +### ☑️ Klammern hinzufügen oder entfernen +- 【markierter Text】 „nicht belegt": 【】-Symbole um den markierten Text hinzufügen oder entfernen +- (markierter Text) „nicht belegt": ()-Symbole um den markierten Text hinzufügen oder entfernen +- 「markierter Text」 „nicht belegt": 「」-Symbole um den markierten Text hinzufügen oder entfernen +- 《markierter Text》 „nicht belegt": 《》-Symbole um den markierten Text hinzufügen oder entfernen + +### ☑️ Globale Umwandlungsoperationen +- Englische zu chinesischen Satzzeichen „nicht belegt": Englische Satzzeichen in der Notiz in chinesische umwandeln, z.B. ,.?!" usw. +- Chinesische zu englischen Satzzeichen „nicht belegt": Chinesische Satzzeichen in der Notiz in englische umwandeln, z.B. ,。?!" usw. +- Pfad-Syntax umwandeln „nicht belegt": c:\\windows und [](file:///c:\/windows) Pfadsyntax gegenseitig umwandeln +- Vereinfachtes zu traditionellem Chinesisch „nicht belegt": vereinfachte chinesische Schriftzeichen in traditionelle umwandeln +- Traditionelles zu vereinfachtem Chinesisch „nicht belegt": traditionelle chinesische Schriftzeichen in vereinfachte umwandeln + +### ☑️ Individuelle Erweiterungsfunktionen +- Intelligentes Einfügen „Ctrl+Alt+V": kopierte Office-Tabellen direkt als Markdown-Tabelle einfügen +- Fehlerhafte Syntax reparieren „nicht belegt": fehlerhafte MD-Syntax reparieren, z.B. 1。-Listen, 【】()-Links, [[]]()-Rücklinks usw. +- Unerwartete Zeilenumbrüche reparieren „nicht belegt": unerwartete Zeilenumbrüche in der Notiz reparieren (Zeilenumbrüche ohne abschließendes Satzzeichen entfernen) +- Aktuellen Text suchen „nicht belegt": markierten Inhalt im aktuellen Dokument über den Suchbereich suchen +- Zeitinformationen abrufen „nicht belegt": Zeitinformationen aus der aktuellen Zeile abrufen und Video in verlinkter Notiz an der entsprechenden Position abspielen +- Annotationstext abrufen „nicht belegt": Inhalte aus Überschriften, Hervorhebungen, Kommentaren und Präfixen abrufen +- Gesamten Absatz auswählen „nicht belegt": den gesamten Absatz, in dem sich der Cursor befindet, auswählen +- Gesamten Satz auswählen „nicht belegt": den gesamten Satz, in dem sich der Cursor befindet, auswählen +- Überschriften automatisch setzen „nicht belegt": einzeiligen Text im markierten Bereich ohne abschließendes Satzzeichen als Überschrift formatieren +- Aktuellen Dateinamen festlegen „nicht belegt": markierten Text als Dateinamen der aktuellen Notiz festlegen +- Aktuelle Webseite einbetten „nicht belegt": HTML-Code am Zeilenende einfügen, um die markierte URL-Seite einzubetten +- Relativen Pfad abrufen „nicht belegt": relativen Pfad der aktuellen Notiz innerhalb des Vault-Verzeichnisses abrufen + +### ☑️ Leerzeilen (Leerzeichen) einfügen oder entfernen +- Im Bearbeitungsbereich wird nach dem Drücken von Enter ein zusätzlicher Zeilenumbruch eingefügt (umschaltbar) +- Leerzeilen stapelweise einfügen „Ctrl+Shift+L": in den markierten Textzeilen oder im gesamten Text stapelweise Leerzeilen einfügen +- Leerzeilen stapelweise entfernen „Ctrl+Alt+L": Leerzeilen im markierten Text oder im gesamten Text stapelweise entfernen +- Leerzeile darüber einfügen „nicht belegt": oberhalb der aktuellen Textzeile eine Leerzeile einfügen +- Leerzeile darunter einfügen „nicht belegt": unterhalb der aktuellen Textzeile eine Leerzeile einfügen +- Leerzeichen am Zeilenende anhängen „nicht belegt": an jede Textzeile zwei Leerzeichen anhängen +- Leerzeichen am Zeilenende entfernen „nicht belegt": Leerzeichen am Ende jeder Textzeile stapelweise entfernen +- Leerzeichen zwischen Chinesisch und Latein einfügen „nicht belegt": zwischen chinesischen Schriftzeichen und lateinischen Buchstaben stapelweise Leerzeichen einfügen +- Alle Leerzeichen entfernen „nicht belegt": alle Halb- und Vollbreiten-Leerzeichen im Text entfernen + + +## 📣 Installation +Das Plugin wird in naher Zukunft nicht im Community-Plugin-Store erscheinen. + +### ☑️ Manuelle Installation: +Das neueste Archiv herunterladen und die enthaltenen Dateien (main.js, manifest.json) in den Ordner **Vault-Verzeichnis/.obsidian/plugins/ZH增强编辑** entpacken. + +### ☑️ Installation über BRAT-Plugin: +- BRAT-Plugin installieren: [Hier klicken zum Installieren](https://github.com/TfTHacker/obsidian42-brat) +- Im BRAT-Plugin-Einstellungsbereich hinzufügen: obsidian-canzi/Enhanced-editing diff --git a/README_en_US.md b/README_en_US.md new file mode 100644 index 0000000..24463fa --- /dev/null +++ b/README_en_US.md @@ -0,0 +1,138 @@ +> *This is a community translation of the [original Chinese README](README.md) by [obsidian-canzi](https://github.com/obsidian-canzi). Contributed by [netzbub](https://github.com/netzbub), translated with AI assistance (Claude).* + +--- + +**The "Enhanced Editing" plugin aims to improve text editing in Obsidian, striving for a user-friendly, intelligent, and automated approach to handling text on the current page.** + +## 📣 Sponsorship +Feature requests and suggestions are welcome — contact the developer Canzǐ (QQ: 312815311). Let's work together to enhance editing in Obsidian! +If this plugin improves your editing efficiency, consider supporting it financially. + +![Payment QR code](https://user-images.githubusercontent.com/16410542/163940657-65036cc5-aa18-40e1-923e-d4fb1ed658e3.png) +Any amount, WeChat only; please include your name in the note — thank you + +## 📣 Feature Overview +### ☑️ Status Bar Command Menu +- Supports activating the syntax format-painter function via the [status bar menu] +- Supports executing useful enhanced commands via the [status bar menu] +- Supports opening the plugin settings panel and hotkey panel via the [status bar menu] +![](https://user-images.githubusercontent.com/16410542/163715581-c1837e9c-b89a-4279-bfa3-68a3000eb39a.png) + +### ☑️ Convert Internal Links +**1. Press "Alt+Z" to add or remove \[\[ ]] symbols around the selected text** +![Convert internal links](https://user-images.githubusercontent.com/16410542/161437571-10987a6d-ff0f-4ef1-9193-f2b0602f18e4.gif) + +- If no text is selected, behavior depends on cursor position: + - If the cursor is inside \[\[Link|Text]], the surrounding link symbols are automatically removed + - If the cursor is not inside a link, \[\[ is output directly +- Supports batch conversion of multiple lines separated by line breaks, or multiple strings separated by enumeration marks. +- If the selected text contains symbols like „|[]?\*<>/:", the function will not execute. + +**2. Press "Alt+Q" to convert the selected text to \[\[|selected text]] format — for easy note name selection** +![Convert to alias link](https://user-images.githubusercontent.com/16410542/161437746-24db8f7a-c2f9-466e-b0d1-c16ade9bbcfc.gif) + +**3. Run the "Batch convert internal links" command to convert all potential links in the current note to `[[note name]]` style at once** + +### ☑️ Smart Symbols +**3. Press "Alt+;" to automatically convert, match, or skip various types of bracket symbols** +![Smart symbols](https://user-images.githubusercontent.com/16410542/161437355-79562ee8-60a7-41d5-85d2-d0ca5da495ba.gif) + +- **Convert to dedicated characters** when certain characters appear at the start of a line (inspired by the Easy Typing plugin): + - 》 → > + - 、 → / + +- **Replace with corresponding symbols** based on the two preceding characters: + - 【( or [( → 〖 + - (< or (< → 〈 + - (【 or ([ → 〔 + - " 【 or "[ → 『 + - ' 【 or '[ → 「 + - …… → ^ + +- Detects the nearest opening bracket before the cursor and **generates the matching closing bracket**: + - If the text is 〖Text|, pressing "Alt+;" inserts 〗 at the cursor position |, and so on for all the following. + - 《Text|》〈Text|〉[Text|]{Text|}【Text|】〖Text|〗〔Text|〕『Text|』「Text|」 + +- Detects the nearest MD syntax (first half of a character group) before the cursor and **completes the second half**: + - [[Link]] ==highlight== **bold** ~~strikethrough~~ %%comment%% + +- If the text is [[Text|]] followed by other characters and the cursor | is before it, **the cursor jumps past ]]**: + - i.e. when the second half of an MD syntax element (link, bold, highlight, strikethrough) is detected immediately after, it is automatically skipped. + +- Detects the current line content: if it contains words like Dataview, Query, or Mermaid, it is **converted to code block syntax**: + - dv → ```dataview``` + - qy → ```query``` + - mm → ```mermaid``` + - Also supports abbreviations for js, css, php, c, java, py, etc. + +- Detects the current line content: if it matches the `Callout syntax type alignment +/` format, it is **converted to a Callout syntax block** +![Convert callout syntax](https://user-images.githubusercontent.com/16410542/161438754-b58e903f-514e-46e5-b71f-9dbcde406db7.gif) + +### ☑️ Convert HTML Syntax +- Convert text color "Ctrl+Shift+1-5": apply or remove one of 5 custom colors to selected text +- Convert background color "Ctrl+Alt+1-5": apply or remove one of 5 custom background colors to selected text + +### ☑️ Convert Markdown Syntax +- Convert bold "Alt+C": apply or remove **bold** formatting to selected text +- Convert italic "Alt+X": apply or remove _italic_ formatting to selected text +- Convert inline code "Alt+D": apply or remove `inline code` formatting to selected text +- Convert strikethrough "Alt+S": apply or remove ~~strikethrough~~ formatting to selected text +- Convert underline "Alt+H": apply or remove underline formatting to selected text +- Convert code block "unassigned": apply or remove ```code block``` formatting to selected text +- Convert superscript "Alt+U": apply or remove superscript formatting to selected text +- Convert subscript "Alt+N": apply or remove subscript formatting to selected text +- Convert task status "unassigned": cycle through task statuses at line start, order: -[ x-!?><+] +- Convert cloze "unassigned": apply or remove {{c1::selected text}} formatting to selected text +- Convert heading syntax "Ctrl+1-6": set or unset the current line as a heading of level N + +- Plain text (no syntax) "Ctrl+Alt+Z": remove all Markdown syntax characters from the selected text +- Get plain text "Ctrl+Alt+C": remove all Markdown syntax characters from the selected text and copy to clipboard + +### ☑️ Add or Remove Common Brackets +- 【selected text】 "unassigned": add or remove 【】symbols around selected text +- (selected text) "unassigned": add or remove ()symbols around selected text +- 「selected text」 "unassigned": add or remove 「」symbols around selected text +- 《selected text》 "unassigned": add or remove 《》symbols around selected text + +### ☑️ Global Conversion Operations +- English to Chinese punctuation "unassigned": convert English punctuation in the note to Chinese, e.g. ,.?!" etc. +- Chinese to English punctuation "unassigned": convert Chinese punctuation in the note to English, e.g. ,。?!" etc. +- Convert path syntax "unassigned": toggle between c:\\windows and [](file:///c:\/windows) path syntax +- Simplified to Traditional Chinese "unassigned": convert simplified Chinese characters to traditional +- Traditional to Simplified Chinese "unassigned": convert traditional Chinese characters to simplified + +### ☑️ Additional Enhancement Features +- Smart paste "Ctrl+Alt+V": paste copied Office tables directly as Markdown tables +- Fix broken syntax "unassigned": fix broken MD syntax, e.g. 1。 lists, 【】()links, [[]]() backlinks, etc. +- Fix unexpected line breaks "unassigned": fix unexpected line breaks in the note (remove line breaks not ending with sentence-ending punctuation) +- Search current text "unassigned": search selected content in the current document via the search panel +- Get time information "unassigned": extract time information from the current line and jump to that position in a linked video note +- Get annotated text "unassigned": extract content from headings, highlights, comments, and prefixes +- Select entire paragraph "unassigned": select the entire paragraph the cursor is in +- Select entire sentence "unassigned": select the entire sentence the cursor is in +- Auto-set heading "unassigned": convert single-line text in the selection (not ending with punctuation or a digit) to a heading +- Set current filename "unassigned": use selected text as the filename of the current note +- Embed current URL "unassigned": insert HTML code at the end of the line to embed the selected URL as a page +- Get relative path "unassigned": get the relative path of the current note within the vault directory + +### ☑️ Insert or Remove Blank Lines (Spaces) +- An extra line break is added when pressing Enter in the editor (toggleable) +- Batch insert blank lines "Ctrl+Shift+L": insert blank lines between selected text lines or throughout the entire note +- Batch remove blank lines "Ctrl+Alt+L": remove blank lines from selected text or the entire note +- Insert blank line above "unassigned": insert a blank line above the current line +- Insert blank line below "unassigned": insert a blank line below the current line +- Append trailing spaces "unassigned": append two spaces to the end of each text line +- Remove trailing spaces "unassigned": batch remove trailing spaces from each text line +- Add spacing between Chinese and Latin "unassigned": batch insert spaces between Chinese characters and Latin letters +- Remove all spaces "unassigned": remove all half-width and full-width spaces from the text + + +## 📣 Installation +The Enhanced Editing plugin will not be available in the community plugin store in the near future. + +### ☑️ Manual Installation: +Download the latest release archive and extract the files (main.js, manifest.json) into the **vault directory/.obsidian/plugins/ZH增强编辑** folder. + +### ☑️ Install via BRAT Plugin: +- Install the BRAT plugin: [Click here to install](https://github.com/TfTHacker/obsidian42-brat) +- Add the following in the BRAT plugin settings panel: obsidian-canzi/Enhanced-editing