diff --git a/app/appearance/langs/ar_SA.json b/app/appearance/langs/ar_SA.json index e702676de..28a347d5c 100644 --- a/app/appearance/langs/ar_SA.json +++ b/app/appearance/langs/ar_SA.json @@ -62,6 +62,8 @@ "autoLaunchMode0": "عدم التشغيل تلقائيًا", "autoLaunchMode1": "التشغيل التلقائي بعد الإقلاع", "autoLaunchMode2": "التشغيل التلقائي وتقليل الواجهة الرئيسية بعد الإقلاع", + "editorMarkdownInlineMark": "صيغة العلامة المضمنة في Markdown", + "editorMarkdownInlineMarkTip": "بمجرد التمكين، سيتم دعم إدخال صيغة العلامة المضمنة ==foo==", "editorMarkdownInlineStrikethrough": "‫صياغة الشطب بخط داخل السطر في Markdown‬", "editorMarkdownInlineStrikethroughTip": "‫بعد التمكين, سيتم دعم إدخال ‪~~foo~~‬ لإضافة شطب بخط داخل السطر‬", "editorMarkdownInlineSup": "‫صياغة النص المرتفع دخل السطر في Markdown‬", diff --git a/app/appearance/langs/de_DE.json b/app/appearance/langs/de_DE.json index eba490768..0e92ea3fe 100644 --- a/app/appearance/langs/de_DE.json +++ b/app/appearance/langs/de_DE.json @@ -62,6 +62,8 @@ "autoLaunchMode0": "Nicht automatisch starten", "autoLaunchMode1": "Automatisch nach dem Booten starten", "autoLaunchMode2": "Automatisch starten und die Hauptoberfläche minimieren nach dem Booten", + "editorMarkdownInlineMark": "Markdown-Inline-Markup-Syntax", + "editorMarkdownInlineMarkTip": "Nach dem Aktivieren wird die Eingabe der Inline-Markup-Syntax ==foo== unterstützt", "editorMarkdownInlineStrikethrough": "Markdown Inline-Durchstreichsyntax", "editorMarkdownInlineStrikethroughTip": "Nach der Aktivierung wird die Eingabe der Inline-Durchstreichsyntax ~~foo~~ unterstützt", "editorMarkdownInlineSup": "Markdown Inline-Hochstellungssyntax", diff --git a/app/appearance/langs/en_US.json b/app/appearance/langs/en_US.json index f15eba8e3..5206b3de8 100644 --- a/app/appearance/langs/en_US.json +++ b/app/appearance/langs/en_US.json @@ -62,6 +62,8 @@ "autoLaunchMode0": "Do not launch automatically", "autoLaunchMode1": "Auto launch after booting", "autoLaunchMode2": "Auto launch and minimize the main interface after booting", + "editorMarkdownInlineMark": "Markdown inline mark syntax", + "editorMarkdownInlineMarkTip": "After enabling, the ==foo== inline mark syntax input will be supported", "editorMarkdownInlineStrikethrough": "Markdown inline strikethrough syntax", "editorMarkdownInlineStrikethroughTip": "After enabling, the ~~foo~~ inline strikethrough syntax input will be supported", "editorMarkdownInlineSup": "Markdown inline superscript syntax", diff --git a/app/appearance/langs/es_ES.json b/app/appearance/langs/es_ES.json index d48514776..b353bf8ce 100644 --- a/app/appearance/langs/es_ES.json +++ b/app/appearance/langs/es_ES.json @@ -62,6 +62,8 @@ "autoLaunchMode0": "No iniciar automáticamente", "autoLaunchMode1": "Inicio automático después del arranque", "autoLaunchMode2": "Iniciar automáticamente y minimizar la interfaz principal después del arranque", + "editorMarkdownInlineMark": "Sintaxis de marcado en línea de Markdown", + "editorMarkdownInlineMarkTip": "Una vez habilitado, se admitirá la entrada de la sintaxis de marcado en línea ==foo==", "editorMarkdownInlineStrikethrough": "Sintaxis de tachado en línea de Markdown", "editorMarkdownInlineStrikethroughTip": "Una vez habilitado, se admitirá la entrada de sintaxis de tachado en línea ~~foo~~", "editorMarkdownInlineSup": "Sintaxis de superíndice en línea de Markdown", diff --git a/app/appearance/langs/fr_FR.json b/app/appearance/langs/fr_FR.json index 1a76840f6..5e9c657d3 100644 --- a/app/appearance/langs/fr_FR.json +++ b/app/appearance/langs/fr_FR.json @@ -62,6 +62,8 @@ "autoLaunchMode0": "Ne pas lancer automatiquement", "autoLaunchMode1": "Lancement automatique après le démarrage", "autoLaunchMode2": "Lancement automatique et minimisation de l'interface principale après le démarrage", + "editorMarkdownInlineMark": "Syntaxe de marquage en ligne Markdown", + "editorMarkdownInlineMarkTip": "Une fois activé, la saisie de la syntaxe de marquage en ligne ==foo== sera prise en charge", "editorMarkdownInlineStrikethrough": "Syntaxe de ligne barrée Markdown", "editorMarkdownInlineStrikethroughTip": "Une fois activé, la saisie de la syntaxe de ligne barrée ~~foo~~ sera prise en charge", "editorMarkdownInlineSup": "Syntaxe exposant Markdown en ligne", diff --git a/app/appearance/langs/he_IL.json b/app/appearance/langs/he_IL.json index eb2422451..f531d748b 100644 --- a/app/appearance/langs/he_IL.json +++ b/app/appearance/langs/he_IL.json @@ -62,6 +62,8 @@ "autoLaunchMode0": "אל תצא אוטומטית", "autoLaunchMode1": "צא אוטומטית לאחר אתחול", "autoLaunchMode2": "צא אוטומטית ומזער את הממשק העיקרי לאחר אתחול", + "editorMarkdownInlineMark": "תחביר סימון שורת Markdown", + "editorMarkdownInlineMarkTip": "לאחר ההפעלה, ייתמך קלט תחביר סימון שורת ==foo==", "editorMarkdownInlineStrikethrough": "תחביר קו חוצה בשורת Markdown", "editorMarkdownInlineStrikethroughTip": "לאחר ההפעלה, ייתמך קלט תחביר קו חוצה בשורת ~~foo~~", "editorMarkdownInlineSup": "תחביר עליון בתוך Markdown", diff --git a/app/appearance/langs/it_IT.json b/app/appearance/langs/it_IT.json index 6fae239c1..5e06ab4ae 100644 --- a/app/appearance/langs/it_IT.json +++ b/app/appearance/langs/it_IT.json @@ -62,6 +62,8 @@ "autoLaunchMode0": "Non avviare automaticamente", "autoLaunchMode1": "Avvio automatico dopo l'accensione", "autoLaunchMode2": "Avvio automatico e minimizzazione dell'interfaccia principale dopo l'accensione", + "editorMarkdownInlineMark": "Sintassi di marcatura inline di Markdown", + "editorMarkdownInlineMarkTip": "Dopo l'attivazione, sarà supportato l'inserimento della sintassi di marcatura inline ==foo==", "editorMarkdownInlineStrikethrough": "Sintassi di barratura in linea di Markdown", "editorMarkdownInlineStrikethroughTip": "Dopo l'attivazione, sarà supportato l'inserimento della sintassi di barratura in linea ~~foo~~", "editorMarkdownInlineSup": "Sintassi Markdown per apice in linea", diff --git a/app/appearance/langs/ja_JP.json b/app/appearance/langs/ja_JP.json index 1fa9bc287..ee1f5fe76 100644 --- a/app/appearance/langs/ja_JP.json +++ b/app/appearance/langs/ja_JP.json @@ -62,6 +62,8 @@ "autoLaunchMode0": "自動的に起動しない", "autoLaunchMode1": "システムの起動後に自動的に起動する", "autoLaunchMode2": "システムの起動後にインターフェースを最小化して自動的に起動する", + "editorMarkdownInlineMark": "Markdown インラインマークアップ構文", + "editorMarkdownInlineMarkTip": "==foo== 形式のインラインマークアップ構文を有効にします", "editorMarkdownInlineStrikethrough": "Markdown 行内取り消し線の構文", "editorMarkdownInlineStrikethroughTip": "~~foo~~ 形式のインライン取り消し線構文を有効にします", "editorMarkdownInlineSup": "Markdown インライン上付き文字構文", diff --git a/app/appearance/langs/pl_PL.json b/app/appearance/langs/pl_PL.json index 8f3da9bee..63ffd343b 100644 --- a/app/appearance/langs/pl_PL.json +++ b/app/appearance/langs/pl_PL.json @@ -62,6 +62,8 @@ "autoLaunchMode0": "Nie uruchamiaj automatycznie", "autoLaunchMode1": "Uruchom automatycznie po włączeniu", "autoLaunchMode2": "Uruchom automatycznie i zminimalizuj główny interfejs po włączeniu", + "editorMarkdownInlineMark": "Składnia oznaczeń w Markdown", + "editorMarkdownInlineMarkTip": "Po włączeniu będzie obsługiwane wprowadzanie składni oznaczeń ==foo==", "editorMarkdownInlineStrikethrough": "Markdown składnia przekreślenia", "editorMarkdownInlineStrikethroughTip": "Po włączeniu będzie obsługiwane wprowadzanie składni przekreślenia ~~foo~~", "editorMarkdownInlineSup": "Składnia Markdown dla indeksów dolnych w tekście", diff --git a/app/appearance/langs/ru_RU.json b/app/appearance/langs/ru_RU.json index d4e4aabfa..7fa6470ed 100644 --- a/app/appearance/langs/ru_RU.json +++ b/app/appearance/langs/ru_RU.json @@ -62,6 +62,8 @@ "autoLaunchMode0": "Не запускать автоматически", "autoLaunchMode1": "Автозапуск после загрузки", "autoLaunchMode2": "Автозапуск и минимизация главного интерфейса после загрузки", + "editorMarkdownInlineMark": "Markdown синтаксис встроенной разметки", + "editorMarkdownInlineMarkTip": "После включения будет поддерживаться ввод синтаксиса встроенной разметки ==foo==", "editorMarkdownInlineStrikethrough": "Markdown синтаксис зачёркивания", "editorMarkdownInlineStrikethroughTip": "После включения будет поддерживаться ввод синтаксиса зачёркивания ~~foo~~", "editorMarkdownInlineSup": "Markdown синтаксис для надстрочного индекса", diff --git a/app/appearance/langs/zh_CHT.json b/app/appearance/langs/zh_CHT.json index bb17042df..59ca9908a 100644 --- a/app/appearance/langs/zh_CHT.json +++ b/app/appearance/langs/zh_CHT.json @@ -62,6 +62,8 @@ "autoLaunchMode0": "不自動啟動", "autoLaunchMode1": "開機自動啟動", "autoLaunchMode2": "開機後自動啟動並最小化主介面", + "editorMarkdownInlineMark": "Markdown 行級標記語法", + "editorMarkdownInlineMarkTip": "啟用後將支持 ==foo== 行級標記語法輸入", "editorMarkdownInlineStrikethrough": "Markdown 行級刪除線語法", "editorMarkdownInlineStrikethroughTip": "啟用後將支持 ~~foo~~ 行級刪除線語法輸入", "editorMarkdownInlineSup": "Markdown 行級上標語法", diff --git a/app/appearance/langs/zh_CN.json b/app/appearance/langs/zh_CN.json index 1cb473092..52a30ae7c 100644 --- a/app/appearance/langs/zh_CN.json +++ b/app/appearance/langs/zh_CN.json @@ -62,6 +62,8 @@ "autoLaunchMode0": "不自动启动", "autoLaunchMode1": "开机后自动启动", "autoLaunchMode2": "开机后自动启动并最小化主界面", + "editorMarkdownInlineMark": "Markdown 行级标记语法", + "editorMarkdownInlineMarkTip": "启用后将支持 ==foo== 行级标记语法输入", "editorMarkdownInlineStrikethrough": "Markdown 行级删除线语法", "editorMarkdownInlineStrikethroughTip": "启用后将支持 ~~foo~~ 行级删除线语法输入", "editorMarkdownInlineSup": "Markdown 行级上标语法", diff --git a/app/src/config/editor.ts b/app/src/config/editor.ts index 307c8f16b..3afdab74e 100644 --- a/app/src/config/editor.ts +++ b/app/src/config/editor.ts @@ -345,6 +345,14 @@ export const editor = { + +`; }, bindEvent: () => { @@ -380,7 +388,8 @@ export const editor = { inlineSub: (editor.element.querySelector("#editorMarkdownInlineSub") as HTMLInputElement).checked, inlineTag: (editor.element.querySelector("#editorMarkdownInlineTag") as HTMLInputElement).checked, inlineMath: (editor.element.querySelector("#editorMarkdownInlineMath") as HTMLInputElement).checked, - inlineStrikethrough: (editor.element.querySelector("#editorMarkdownInlineStrikethrough") as HTMLInputElement).checked + inlineStrikethrough: (editor.element.querySelector("#editorMarkdownInlineStrikethrough") as HTMLInputElement).checked, + inlineMark: (editor.element.querySelector("#editorMarkdownInlineMark") as HTMLInputElement).checked }, allowHTMLBLockScript: (editor.element.querySelector("#allowHTMLBLockScript") as HTMLInputElement).checked, justify: (editor.element.querySelector("#justify") as HTMLInputElement).checked, diff --git a/app/src/config/search.ts b/app/src/config/search.ts index 7e9ba12ec..544e511f3 100644 --- a/app/src/config/search.ts +++ b/app/src/config/search.ts @@ -25,7 +25,7 @@ export const initConfigSearch = (element: HTMLElement, app: App) => { "listItemDotNumberClickFocus", "listItemDotNumberClickFocusTip", "editorMarkdownInlineAsterisk", "editorMarkdownInlineUnderscore", "editorMarkdownInlineSup", "editorMarkdownInlineSupTip", "editorMarkdownInlineSub", "editorMarkdownInlineSubTip", "editorMarkdownInlineTag", "editorMarkdownInlineTagTip", "editorMarkdownInlineMath", "editorMarkdownInlineMathTip", - "editorMarkdownInlineStrikethrough", "editorMarkdownInlineStrikethroughTip", + "editorMarkdownInlineStrikethrough", "editorMarkdownInlineStrikethroughTip", "editorMarkdownInlineMark", "editorMarkdownInlineMarkTip", "allowHTMLBLockScript", "allowHTMLBLockScriptTip", "backlinkExpandTip", "backmentionExpandTip", "backlinkContainChildren", "backlinkContainChildrenTip" ]), diff --git a/app/src/mobile/settings/editor.ts b/app/src/mobile/settings/editor.ts index 32e56c654..77343dce7 100644 --- a/app/src/mobile/settings/editor.ts +++ b/app/src/mobile/settings/editor.ts @@ -21,7 +21,8 @@ const setEditor = (modelMainElement: Element) => { inlineSub: (modelMainElement.querySelector("#editorMarkdownInlineSub") as HTMLInputElement).checked, inlineTag: (modelMainElement.querySelector("#editorMarkdownInlineTag") as HTMLInputElement).checked, inlineMath: (modelMainElement.querySelector("#editorMarkdownInlineMath") as HTMLInputElement).checked, - inlineStrikethrough: (modelMainElement.querySelector("#editorMarkdownInlineStrikethrough") as HTMLInputElement).checked + inlineStrikethrough: (modelMainElement.querySelector("#editorMarkdownInlineStrikethrough") as HTMLInputElement).checked, + inlineMark: (modelMainElement.querySelector("#editorMarkdownInlineMark") as HTMLInputElement).checked }; window.siyuan.config.editor.allowHTMLBLockScript = (modelMainElement.querySelector("#allowHTMLBLockScript") as HTMLInputElement).checked; window.siyuan.config.editor.dynamicLoadBlocks = dynamicLoadBlocks; @@ -330,6 +331,14 @@ export const initEditor = () => { + +`, bindEvent(modelMainElement: HTMLElement) { modelMainElement.querySelector("#clearHistory").addEventListener("click", () => { diff --git a/app/src/protyle/render/setLute.ts b/app/src/protyle/render/setLute.ts index fe476b304..538e23eab 100644 --- a/app/src/protyle/render/setLute.ts +++ b/app/src/protyle/render/setLute.ts @@ -31,8 +31,9 @@ export const setLute = (options: ILuteOptions) => { lute.SetSub(window.siyuan.config.editor.markdown.inlineSub); lute.SetTag(window.siyuan.config.editor.markdown.inlineTag); lute.SetInlineMath(window.siyuan.config.editor.markdown.inlineMath); - lute.SetGFMStrikethrough(window.siyuan.config.editor.markdown.inlineStrikethrough); lute.SetGFMStrikethrough1(false); + lute.SetGFMStrikethrough(window.siyuan.config.editor.markdown.inlineStrikethrough); + lute.SetMark(window.siyuan.config.editor.markdown.inlineMark); lute.SetSpin(true); lute.SetProtyleWYSIWYG(true); if (options.lazyLoadImage) { diff --git a/app/src/protyle/util/paste.ts b/app/src/protyle/util/paste.ts index 62b311d98..65c8717ea 100644 --- a/app/src/protyle/util/paste.ts +++ b/app/src/protyle/util/paste.ts @@ -225,6 +225,7 @@ export const restoreLuteMarkdownSyntax = (protyle: IProtyle) => { protyle.lute.SetSup(window.siyuan.config.editor.markdown.inlineSup); protyle.lute.SetTag(window.siyuan.config.editor.markdown.inlineTag); protyle.lute.SetInlineUnderscore(window.siyuan.config.editor.markdown.inlineUnderscore); + protyle.lute.SetMark(window.siyuan.config.editor.markdown.inlineMark); }; export const pasteText = async (protyle: IProtyle, textPlain: string, nodeElement: Element, toBlockDOM = true) => { diff --git a/app/src/types/config.d.ts b/app/src/types/config.d.ts index 9b491bb7e..be656bd5a 100644 --- a/app/src/types/config.d.ts +++ b/app/src/types/config.d.ts @@ -328,6 +328,10 @@ declare namespace Config { * Whether to enable the inline strikethrough */ inlineStrikethrough: boolean; + /** + * Whether to enable the inline mark + */ + inlineMark: boolean; } /** diff --git a/kernel/util/lute.go b/kernel/util/lute.go index 4b3618056..6702a9427 100644 --- a/kernel/util/lute.go +++ b/kernel/util/lute.go @@ -33,6 +33,7 @@ var MarkdownSettings = &Markdown{ InlineTag: true, InlineMath: true, InlineStrikethrough: true, + InlineMark: true, } type Markdown struct { @@ -43,6 +44,7 @@ type Markdown struct { InlineTag bool `json:"inlineTag"` // 是否启用行级标签 InlineMath bool `json:"inlineMath"` // 是否启用行级公式 InlineStrikethrough bool `json:"inlineStrikethrough"` // 是否启用行级删除线 + InlineMark bool `json:"inlineMark"` // 是否启用行级标记 } func NewLute() (ret *lute.Lute) { @@ -64,6 +66,7 @@ func NewLute() (ret *lute.Lute) { ret.SetTag(MarkdownSettings.InlineTag) ret.SetInlineMath(MarkdownSettings.InlineMath) ret.SetGFMStrikethrough(MarkdownSettings.InlineStrikethrough) + ret.SetMark(MarkdownSettings.InlineMark) ret.SetInlineMathAllowDigitAfterOpenMarker(true) ret.SetGFMStrikethrough1(false) ret.SetFootnotes(false)