diff --git a/judgels-backends/judgels-server-app/src/main/resources/assets/css/main.css b/judgels-backends/judgels-server-app/src/main/resources/assets/css/main-2.css similarity index 95% rename from judgels-backends/judgels-server-app/src/main/resources/assets/css/main.css rename to judgels-backends/judgels-server-app/src/main/resources/assets/css/main-2.css index fd889f5b0..345c33214 100644 --- a/judgels-backends/judgels-server-app/src/main/resources/assets/css/main.css +++ b/judgels-backends/judgels-server-app/src/main/resources/assets/css/main-2.css @@ -227,6 +227,7 @@ input[type="text"], input[type="password"], textarea { .content-text { font-size: 15px; line-height: 1.5; + color: #1c2127; } .content-text.scrollable { @@ -241,7 +242,7 @@ input[type="text"], input[type="password"], textarea { .content-text table, .content-text th, .content-text td { border-collapse: collapse; - border: 1px solid black; + border: 1px solid #1c2127; } .content-text th, .content-text td { @@ -251,7 +252,7 @@ input[type="text"], input[type="password"], textarea { .content-text th { font-family: var(--accent-font); font-weight: bold; - background-color: #EEEEEE; + background-color: #eeeeee; } .content-text em { @@ -270,6 +271,11 @@ input[type="text"], input[type="password"], textarea { font-size: 14px !important; } +.content-text pre, .content-text code { + color: #1c2127; + background-color: #f5f5f5; +} + .content-text ol.breadcrumb li { margin-left: 0; } @@ -317,6 +323,11 @@ input[type="text"], input[type="password"], textarea { font-size: 17px !important; } +textarea.cke_source { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace !important; + color: #1c2127; +} + th { font-family: var(--accent-font); font-weight: bold; diff --git a/judgels-backends/judgels-server-app/src/main/resources/judgels/michael/resource/ckeditor-2.js b/judgels-backends/judgels-server-app/src/main/resources/judgels/michael/resource/ckeditor-2.js new file mode 100644 index 000000000..299c38609 --- /dev/null +++ b/judgels-backends/judgels-server-app/src/main/resources/judgels/michael/resource/ckeditor-2.js @@ -0,0 +1,87 @@ +document.addEventListener('DOMContentLoaded', function() { + CKEDITOR.config.toolbar = [ + ['Bold', 'Italic', 'Underline', 'Strike', 'Subscript', 'Superscript', '-', 'RemoveFormat'], + ['NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', '-', 'Blockquote'], + ['JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock'], + ['Image', 'Link', 'Table'], + ['Styles', 'Format'], + ['Source', '-', 'Preview'] + ]; + CKEDITOR.config.allowedContent = { + $1: { + // Use the ability to specify elements as an object. + elements: CKEDITOR.dtd, + attributes: true, + styles: true, + classes: true + } + }; + CKEDITOR.config.height = 600; + CKEDITOR.config.extraAllowedContent = 'iframe embed'; + CKEDITOR.config.disallowedContent = 'script; *[on*]'; + CKEDITOR.config.removePlugins = 'exportpdf'; + CKEDITOR.addCss(` + .cke_editable { + font-size: 14px; + color: #1c2127; + } + + h3 { + font-family: 'Roboto', sans-serif; + font-size: 17px; + font-weight: bold; + margin-top: 20px; + margin-bottom: 10px; + } + + h4 { + font-family: 'Roboto', sans-serif; + font-size: 15px; + font-weight: bold; + margin-top: 10px; + margin-bottom: 10px; + } + + pre { + padding: 9.5px; + margin: 0 0 10px; + border: 1px solid #ccc; + border-radius: 4px; + } + + pre, code { + background-color: #f5f5f5; + } + + code { + padding: 2px 4px; + border-radius: 4px; + font-size: 90%; + } + + ul, ol { + padding-left: 25px; + } + + table { + border-collapse: collapse; + } + + th { + font-weight: bold; + background-color: #eeeeee; + text-align: left; + } + + th, td { + padding: 5px; + } + + blockquote { + padding: 10px 20px; + margin: 0 0 20px; + border-left: 5px solid #eee; + font-style: normal; + } + `); +}, false); diff --git a/judgels-backends/judgels-server-app/src/main/resources/judgels/michael/resource/ckeditor.ftl b/judgels-backends/judgels-server-app/src/main/resources/judgels/michael/resource/ckeditor.ftl index bf39e12f1..c1c06992d 100644 --- a/judgels-backends/judgels-server-app/src/main/resources/judgels/michael/resource/ckeditor.ftl +++ b/judgels-backends/judgels-server-app/src/main/resources/judgels/michael/resource/ckeditor.ftl @@ -1,2 +1,2 @@ - + diff --git a/judgels-backends/judgels-server-app/src/main/resources/judgels/michael/resource/ckeditor.js b/judgels-backends/judgels-server-app/src/main/resources/judgels/michael/resource/ckeditor.js deleted file mode 100644 index 25d748c37..000000000 --- a/judgels-backends/judgels-server-app/src/main/resources/judgels/michael/resource/ckeditor.js +++ /dev/null @@ -1,23 +0,0 @@ -document.addEventListener('DOMContentLoaded', function() { - CKEDITOR.config.toolbar = [ - ['Bold', 'Italic', 'Underline', 'Strike', 'Subscript', 'Superscript', '-', 'RemoveFormat'], - ['NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', '-', 'Blockquote'], - ['JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock'], - ['Image', 'Link', 'Table'], - ['Styles', 'Format'], - ['Source', '-', 'Preview'] - ]; - CKEDITOR.config.allowedContent = { - $1: { - // Use the ability to specify elements as an object. - elements: CKEDITOR.dtd, - attributes: true, - styles: true, - classes: true - } - }; - CKEDITOR.config.height = 600; - CKEDITOR.config.extraAllowedContent = 'iframe embed'; - CKEDITOR.config.disallowedContent = 'script; *[on*]'; - CKEDITOR.config.removePlugins = 'exportpdf'; -}, false); diff --git a/judgels-backends/judgels-server-app/src/main/resources/judgels/michael/template/base/baseLayout.ftl b/judgels-backends/judgels-server-app/src/main/resources/judgels/michael/template/base/baseLayout.ftl index a220a8318..c0fecf348 100644 --- a/judgels-backends/judgels-server-app/src/main/resources/judgels/michael/template/base/baseLayout.ftl +++ b/judgels-backends/judgels-server-app/src/main/resources/judgels/michael/template/base/baseLayout.ftl @@ -9,7 +9,7 @@ - +