summaryrefslogtreecommitdiffstats
path: root/web_src/js/features/codeeditor.js
diff options
context:
space:
mode:
authorBrecht Van Lommel <brecht@blender.org>2023-03-24 07:12:23 +0100
committerGitHub <noreply@github.com>2023-03-24 14:12:23 +0800
commit84daddc2fa74393cdc13371b0cc44f0444cfdae0 (patch)
treeeaf75d3173ee67d65288accef86bbb7c6c08535e /web_src/js/features/codeeditor.js
parent9e04627acaaa853e5269f98f53f2615077cfb028 (diff)
downloadgitea-84daddc2fa74393cdc13371b0cc44f0444cfdae0.tar.gz
gitea-84daddc2fa74393cdc13371b0cc44f0444cfdae0.zip
Editor preview support for external renderers (#23333)
Remove `[repository.editor] PREVIEWABLE_FILE_MODES` setting that seemed like it was intended to support this but did not work. Instead, whenever viewing a file shows a preview, also have a Preview tab in the file editor. Add new `/markup` web and API endpoints with `comment`, `gfm`, `markdown` and new `file` mode that uses a file path to determine the renderer. Remove `/markdown` web endpoint but keep the API for backwards and GitHub compatibility. ## ⚠️ BREAKING ⚠️ The `[repository.editor] PREVIEWABLE_FILE_MODES` setting was removed. This setting served no practical purpose and was not working correctly. Instead a preview tab is always shown in the file editor when supported. --------- Co-authored-by: zeripath <art27@cantab.net> Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Diffstat (limited to 'web_src/js/features/codeeditor.js')
-rw-r--r--web_src/js/features/codeeditor.js10
1 files changed, 5 insertions, 5 deletions
diff --git a/web_src/js/features/codeeditor.js b/web_src/js/features/codeeditor.js
index 23a26ba2b0..4f5ea317b4 100644
--- a/web_src/js/features/codeeditor.js
+++ b/web_src/js/features/codeeditor.js
@@ -130,17 +130,17 @@ function getFileBasedOptions(filename, lineWrapExts) {
};
}
-export async function createCodeEditor(textarea, filenameInput, previewFileModes) {
+export async function createCodeEditor(textarea, filenameInput) {
const filename = basename(filenameInput.value);
const previewLink = document.querySelector('a[data-tab=preview]');
- const markdownExts = (textarea.getAttribute('data-markdown-file-exts') || '').split(',');
+ const previewableExts = (textarea.getAttribute('data-previewable-extensions') || '').split(',');
const lineWrapExts = (textarea.getAttribute('data-line-wrap-extensions') || '').split(',');
- const isMarkdown = markdownExts.includes(extname(filename));
+ const previewable = previewableExts.includes(extname(filename));
const editorConfig = getEditorconfig(filenameInput);
if (previewLink) {
- if (isMarkdown && (previewFileModes || []).includes('markdown')) {
- const newUrl = (previewLink.getAttribute('data-url') || '').replace(/(.*)\/.*/i, `$1/markdown`);
+ if (previewable) {
+ const newUrl = (previewLink.getAttribute('data-url') || '').replace(/(.*)\/.*/i, `$1/markup`);
previewLink.setAttribute('data-url', newUrl);
previewLink.style.display = '';
} else {