A privacy-first, self-hosted, fully open source personal knowledge management software, written in typescript and golang. (PERSONAL FORK)
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};