diff options
author | silverwind <me@silverwind.io> | 2020-05-14 18:06:01 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-14 19:06:01 +0300 |
commit | 9249c810b883406e649586f6731a820c1c96b698 (patch) | |
tree | 722e5645ed956858a757d0aba1db134df277c007 /templates | |
parent | 984ee0113b50b21c8f5e570236e6dc1d32e1b6ba (diff) | |
download | gitea-9249c810b883406e649586f6731a820c1c96b698.tar.gz gitea-9249c810b883406e649586f6731a820c1c96b698.zip |
Switch code editor to Monaco (#11366)
* Switch code editor to Monaco
This switches out CodeMirror for Monaco which is based on the same code
base as VS code and should work pretty similar to it.
It does add a few async chunks, totalling around 10MB to our build. It
currently supports around 65 languages and in the default configuration,
each language would emit one ugly [number].js chunk, so I opted to
combine them all into a single file for now.
CodeMirror is still being used under the hood by SimpleMDE so it can not
be removed yet.
* inline editorconfig, fix diff, use for markdown, remove more dead code
* refactors, remove jquery usage
* use tab_width
* fix intellisense
* rename function for clarity
* misc tweaks, enable webpack progress display
* only use --progress on dev build
* remove useless borders in arc-green
* fix typo
* remove obsolete comment
* small refactor
* fix file creation and various refactors
* unset useTabStops too when no editorconfig
* small refactor
* disable webpack's [big] warnings
* remove useless await
* fix dark theme check
* rename chunk to 'monaco'
* add to .gitignore and delete webpack dest before build
* increase editor height
* support more editorconfig properties
* remove empty element filter
* rename
Co-authored-by: John Olheiser <john.olheiser@gmail.com>
Diffstat (limited to 'templates')
-rw-r--r-- | templates/base/head.tmpl | 2 | ||||
-rw-r--r-- | templates/pwa/serviceworker_js.tmpl | 12 | ||||
-rw-r--r-- | templates/repo/editor/diff_preview.tmpl | 2 | ||||
-rw-r--r-- | templates/repo/editor/edit.tmpl | 7 |
4 files changed, 18 insertions, 5 deletions
diff --git a/templates/base/head.tmpl b/templates/base/head.tmpl index 251b5eb8fc..eae2389238 100644 --- a/templates/base/head.tmpl +++ b/templates/base/head.tmpl @@ -1,5 +1,5 @@ <!DOCTYPE html> -<html lang="{{.Language}}"> +<html lang="{{.Language}}" class="theme-{{.SignedUser.Theme}}"> <head data-suburl="{{AppSubUrl}}"> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> diff --git a/templates/pwa/serviceworker_js.tmpl b/templates/pwa/serviceworker_js.tmpl index edb8ba6e1d..32975e0fd5 100644 --- a/templates/pwa/serviceworker_js.tmpl +++ b/templates/pwa/serviceworker_js.tmpl @@ -45,7 +45,17 @@ var urlsToCache = [ '{{StaticUrlPrefix}}/vendor/assets/roboto-fonts/roboto-v20-latin-ext_cyrillic-ext_latin_greek_vietnamese_cyrillic_greek-ext-regular.woff2', '{{StaticUrlPrefix}}/vendor/assets/roboto-fonts/roboto-v20-latin-ext_cyrillic-ext_latin_greek_vietnamese_cyrillic_greek-ext-italic.woff2', '{{StaticUrlPrefix}}/vendor/assets/roboto-fonts/roboto-v20-latin-ext_cyrillic-ext_latin_greek_vietnamese_cyrillic_greek-ext-700.woff2', - '{{StaticUrlPrefix}}/vendor/assets/roboto-fonts/roboto-v20-latin-ext_cyrillic-ext_latin_greek_vietnamese_cyrillic_greek-ext-700italic.woff2' + '{{StaticUrlPrefix}}/vendor/assets/roboto-fonts/roboto-v20-latin-ext_cyrillic-ext_latin_greek_vietnamese_cyrillic_greek-ext-700italic.woff2', + + // monaco + '{{StaticUrlPrefix}}/css/monaco.css', + '{{StaticUrlPrefix}}/fonts/codicon.ttf', + '{{StaticUrlPrefix}}/js/monaco-css.worker.js', + '{{StaticUrlPrefix}}/js/monaco-editor.worker.js', + '{{StaticUrlPrefix}}/js/monaco-html.worker.js', + '{{StaticUrlPrefix}}/js/monaco-json.worker.js', + '{{StaticUrlPrefix}}/js/monaco.js', + '{{StaticUrlPrefix}}/js/monaco-ts.worker.js' ]; self.addEventListener('install', function (event) { diff --git a/templates/repo/editor/diff_preview.tmpl b/templates/repo/editor/diff_preview.tmpl index b663e4e93d..0ed330c57b 100644 --- a/templates/repo/editor/diff_preview.tmpl +++ b/templates/repo/editor/diff_preview.tmpl @@ -1,6 +1,6 @@ <div class="diff-file-box"> <div class="ui attached table segment"> - <div class="file-body file-code code-view code-diff"> + <div class="file-body file-code code-view code-diff-unified"> <table> <tbody> {{template "repo/diff/section_unified" dict "file" .File "root" $}} diff --git a/templates/repo/editor/edit.tmpl b/templates/repo/editor/edit.tmpl index 3eac405aa6..283bd32508 100644 --- a/templates/repo/editor/edit.tmpl +++ b/templates/repo/editor/edit.tmpl @@ -15,7 +15,7 @@ {{range $i, $v := .TreeNames}} <div class="divider"> / </div> {{if eq $i $l}} - <input id="file-name" value="{{$v}}" placeholder="{{$.i18n.Tr "repo.editor.name_your_file"}}" data-ec-url-prefix="{{$.EditorconfigURLPrefix}}" required autofocus> + <input id="file-name" value="{{$v}}" placeholder="{{$.i18n.Tr "repo.editor.name_your_file"}}" data-editorconfig="{{$.Editorconfig}}" required autofocus> <span class="poping up" data-content="{{$.i18n.Tr "repo.editor.filename_help"}}" data-position="bottom center" data-variation="tiny inverted">{{svg "octicon-info" 16}}</span> {{else}} <span class="section"><a href="{{EscapePound $.BranchLink}}/{{index $.TreePaths $i | EscapePound}}">{{$v}}</a></span> @@ -41,11 +41,14 @@ data-markdown-file-exts="{{.MarkdownFileExts}}" data-line-wrap-extensions="{{.LineWrapExtensions}}"> {{.FileContent}}</textarea> + <div class="editor-loading"> + {{.i18n.Tr "loading"}} + </div> </div> <div class="ui bottom attached tab segment markdown" data-tab="preview"> {{.i18n.Tr "loading"}} </div> - <div class="ui bottom attached tab segment diff" data-tab="diff"> + <div class="ui bottom attached tab segment diff edit-diff" data-tab="diff"> {{.i18n.Tr "loading"}} </div> </div> |