From d5090286ed94b863fd2d0405ebaa6845206a4ec1 Mon Sep 17 00:00:00 2001 From: Kat Hagan Date: Thu, 13 Jun 2024 03:04:07 -0400 Subject: [PATCH 1/4] update some showdown options and try a naive way of fixing indented paragraphs to not be code blocks --- lib/utils/render-note-to-html.ts | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/lib/utils/render-note-to-html.ts b/lib/utils/render-note-to-html.ts index c751a3906..ac210e8df 100755 --- a/lib/utils/render-note-to-html.ts +++ b/lib/utils/render-note-to-html.ts @@ -21,17 +21,29 @@ export const renderNoteToHtml = (content: string) => { extensions: ['enableCheckboxes', 'removeLineBreaks'], }); markdownConverter.setFlavor('github'); - markdownConverter.setOption('simpleLineBreaks', false); // override GFM markdownConverter.setOption('ghMentions', false); + markdownConverter.setOption('literalMidWordUnderscores', true); + markdownConverter.setOption('simpleLineBreaks', false); // override GFM markdownConverter.setOption('smoothLivePreview', true); - markdownConverter.setOption('tables', true); // table syntax + markdownConverter.setOption('splitAdjacentBlockquotes', true); markdownConverter.setOption('strikethrough', true); // ~~strikethrough~~ + markdownConverter.setOption('tables', true); // table syntax - const transformedContent = content.replace( + let transformedContent = content.replace( /([ \t\u2000-\u200a]*)\u2022(\s)/gm, '$1-$2' ); // normalized bullets + // remove tab indentation on paragraphs + // TODO this is very naive and fragile and will break in a lot of cases, such as: + // - different size indentations + // - paragraphs that begin with a number or a list character + // - list characters other than - and * + transformedContent = content.replace( + /\n {4}(([^-*\d]))/g, + '\n   $1' + ); + return sanitizeHtml(markdownConverter.makeHtml(transformedContent)); } ); From 04c691352f0127dcbb8f5b586380c3f505c28dff Mon Sep 17 00:00:00 2001 From: Kat Hagan Date: Thu, 13 Jun 2024 03:17:49 -0400 Subject: [PATCH 2/4] experiment with editor options for tab size --- lib/note-content-editor.tsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/note-content-editor.tsx b/lib/note-content-editor.tsx index 7f3b320ad..7681717bb 100644 --- a/lib/note-content-editor.tsx +++ b/lib/note-content-editor.tsx @@ -1248,6 +1248,7 @@ class NoteContentEditor extends Component { // @ts-ignore, @see https://github.com/microsoft/monaco-editor/issues/3829 'bracketPairColorization.enabled': false, codeLens: false, + detectIndentation: false, folding: false, fontFamily: '"Simplenote Tasks", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen-Sans", "Ubuntu", "Cantarell", "Helvetica Neue", sans-serif', @@ -1278,6 +1279,7 @@ class NoteContentEditor extends Component { selectionHighlight: false, showFoldingControls: 'never', suggestOnTriggerCharacters: true, + tabSize: 3 /* 4 spaces is considered the beginning of a code block */, unicodeHighlight: { ambiguousCharacters: false, invisibleCharacters: false, From 129ef7c2c9ccc50bc9e7ce7f3689b90bb1c2e875 Mon Sep 17 00:00:00 2001 From: Kat Hagan Date: Thu, 13 Jun 2024 03:18:11 -0400 Subject: [PATCH 3/4] Revert "experiment with editor options for tab size" This reverts commit 2ac19bb8e600f76718d9583d466d50d4f51ce0c4. --- lib/note-content-editor.tsx | 2 -- 1 file changed, 2 deletions(-) diff --git a/lib/note-content-editor.tsx b/lib/note-content-editor.tsx index 7681717bb..7f3b320ad 100644 --- a/lib/note-content-editor.tsx +++ b/lib/note-content-editor.tsx @@ -1248,7 +1248,6 @@ class NoteContentEditor extends Component { // @ts-ignore, @see https://github.com/microsoft/monaco-editor/issues/3829 'bracketPairColorization.enabled': false, codeLens: false, - detectIndentation: false, folding: false, fontFamily: '"Simplenote Tasks", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen-Sans", "Ubuntu", "Cantarell", "Helvetica Neue", sans-serif', @@ -1279,7 +1278,6 @@ class NoteContentEditor extends Component { selectionHighlight: false, showFoldingControls: 'never', suggestOnTriggerCharacters: true, - tabSize: 3 /* 4 spaces is considered the beginning of a code block */, unicodeHighlight: { ambiguousCharacters: false, invisibleCharacters: false, From d707f80101bdba6a014336667687f100ed61bfe4 Mon Sep 17 00:00:00 2001 From: Kat Hagan Date: Thu, 13 Jun 2024 03:40:33 -0400 Subject: [PATCH 4/4] remove code that is in #3216 --- lib/utils/render-note-to-html.ts | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/lib/utils/render-note-to-html.ts b/lib/utils/render-note-to-html.ts index ac210e8df..a966e86d4 100755 --- a/lib/utils/render-note-to-html.ts +++ b/lib/utils/render-note-to-html.ts @@ -21,13 +21,11 @@ export const renderNoteToHtml = (content: string) => { extensions: ['enableCheckboxes', 'removeLineBreaks'], }); markdownConverter.setFlavor('github'); - markdownConverter.setOption('ghMentions', false); - markdownConverter.setOption('literalMidWordUnderscores', true); markdownConverter.setOption('simpleLineBreaks', false); // override GFM + markdownConverter.setOption('ghMentions', false); markdownConverter.setOption('smoothLivePreview', true); - markdownConverter.setOption('splitAdjacentBlockquotes', true); - markdownConverter.setOption('strikethrough', true); // ~~strikethrough~~ markdownConverter.setOption('tables', true); // table syntax + markdownConverter.setOption('strikethrough', true); // ~~strikethrough~~ let transformedContent = content.replace( /([ \t\u2000-\u200a]*)\u2022(\s)/gm,