A privacy-first, self-hosted, fully open source personal knowledge management software, written in typescript and golang. (PERSONAL FORK)
at lambda-fork/main 51 lines 2.2 kB view raw
1export const setLute = (options: ILuteOptions) => { 2 const lute: Lute = Lute.New(); 3 lute.SetSpellcheck(window.siyuan.config.editor.spellcheck); 4 lute.SetProtyleMarkNetImg(window.siyuan.config.editor.displayNetImgMark); 5 lute.SetFileAnnotationRef(true); 6 lute.SetHTMLTag2TextMark(true); 7 lute.SetTextMark(true); 8 lute.SetHeadingID(false); 9 lute.SetYamlFrontMatter(false); 10 lute.PutEmojis(options.emojis); 11 lute.SetEmojiSite(options.emojiSite); 12 lute.SetHeadingAnchor(options.headingAnchor); 13 lute.SetInlineMathAllowDigitAfterOpenMarker(true); 14 lute.SetToC(false); 15 lute.SetIndentCodeBlock(false); 16 lute.SetParagraphBeginningSpace(true); 17 lute.SetSetext(false); 18 lute.SetFootnotes(false); 19 lute.SetLinkRef(false); 20 lute.SetSanitize(options.sanitize); 21 lute.SetChineseParagraphBeginningSpace(options.paragraphBeginningSpace); 22 lute.SetRenderListStyle(options.listStyle); 23 lute.SetImgPathAllowSpace(true); 24 lute.SetKramdownIAL(true); 25 lute.SetTag(true); 26 lute.SetSuperBlock(true); 27 lute.SetInlineAsterisk(window.siyuan.config.editor.markdown.inlineAsterisk); 28 lute.SetInlineUnderscore(window.siyuan.config.editor.markdown.inlineUnderscore); 29 lute.SetSup(window.siyuan.config.editor.markdown.inlineSup); 30 lute.SetSub(window.siyuan.config.editor.markdown.inlineSub); 31 lute.SetTag(window.siyuan.config.editor.markdown.inlineTag); 32 lute.SetInlineMath(window.siyuan.config.editor.markdown.inlineMath); 33 lute.SetGFMStrikethrough1(false); 34 lute.SetGFMStrikethrough(window.siyuan.config.editor.markdown.inlineStrikethrough); 35 lute.SetMark(window.siyuan.config.editor.markdown.inlineMark); 36 lute.SetSpin(true); 37 lute.SetProtyleWYSIWYG(true); 38 if (options.lazyLoadImage) { 39 lute.SetImageLazyLoading(options.lazyLoadImage); 40 } 41 lute.SetBlockRef(true); 42 if (window.siyuan.emojis[0].items.length > 0) { 43 const emojis: IObject = {}; 44 window.siyuan.emojis[0].items.forEach(item => { 45 emojis[item.keywords] = options.emojiSite + "/" + item.unicode; 46 }); 47 lute.PutEmojis(emojis); 48 } 49 lute.SetUnorderedListMarker("-");; 50 return lute; 51};