37 lines
1.4 KiB
JavaScript
37 lines
1.4 KiB
JavaScript
// npm package: tinymce
|
|
// github link: https://github.com/tinymce/tinymce
|
|
|
|
'use strict';
|
|
|
|
(function () {
|
|
const tinymceExample = document.querySelector('#tinymceExample');
|
|
const bodyColor = getComputedStyle(document.documentElement).getPropertyValue('--bs-body-color').trim();
|
|
|
|
if (tinymceExample) {
|
|
const options = {
|
|
selector: '#tinymceExample',
|
|
min_height: 350,
|
|
plugins: [
|
|
'advlist', 'autoresize', 'autolink', 'lists', 'link', 'image', 'charmap', 'preview', 'anchor', 'pagebreak',
|
|
'searchreplace', 'wordcount', 'visualblocks', 'visualchars', 'code', 'fullscreen',
|
|
],
|
|
toolbar: 'undo redo | insert | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image | print preview media | forecolor backcolor emoticons | codesample help',
|
|
image_advtab: true,
|
|
promotion: false,
|
|
license_key: 'gpl',
|
|
content_style: `body { color: ${bodyColor}; }`,
|
|
|
|
};
|
|
|
|
const theme = localStorage.getItem('theme');
|
|
if (theme === 'dark') {
|
|
options.content_css = 'dark';
|
|
const bgColor = getComputedStyle(document.documentElement).getPropertyValue('--bs-body-bg');
|
|
options.content_style += ` body { background: ${bgColor}; }`;
|
|
} else if (theme === 'light') {
|
|
options.content_css = 'default';
|
|
}
|
|
|
|
tinymce.init(options);
|
|
}
|
|
})(); |