commit
62d4fe8fe9
@ -0,0 +1,4 @@
|
|||||||
|
data/
|
||||||
|
app/public/storage/*
|
||||||
|
nuxt/
|
||||||
|
web.bak/
|
||||||
@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"name": "My Server",
|
||||||
|
"host": "207.148.89.145",
|
||||||
|
"protocol": "sftp",
|
||||||
|
"port": 22,
|
||||||
|
"username": "root",
|
||||||
|
"password": "J2.bMKoPJXt[=ooM",
|
||||||
|
"remotePath": "/www/wwwroot/prodio.zltest.com.tw/",
|
||||||
|
"uploadOnSave": true,
|
||||||
|
"useTempFile": false,
|
||||||
|
"openSsh": false
|
||||||
|
}
|
||||||
@ -0,0 +1,9 @@
|
|||||||
|
NODE_ENV = development
|
||||||
|
|
||||||
|
VITE_ENV = development
|
||||||
|
|
||||||
|
VITE_APP_BASE_URL = https://prodio.zltest.com.tw/
|
||||||
|
|
||||||
|
VITE_APP_API_URL = https://prodio.zltest.com.tw/adminapi
|
||||||
|
|
||||||
|
VITE_APP_IMAGE_URL = https://prodio.zltest.com.tw/storage
|
||||||
@ -0,0 +1,9 @@
|
|||||||
|
NODE_ENV = development
|
||||||
|
|
||||||
|
VITE_ENV = development
|
||||||
|
|
||||||
|
VITE_APP_BASE_URL = https://prodio.zltest.com.tw
|
||||||
|
|
||||||
|
VITE_APP_API_URL = https://prodio.zltest.com.tw/adminapi
|
||||||
|
|
||||||
|
VITE_APP_IMAGE_URL = https://prodio.zltest.com.tw/storage
|
||||||
@ -0,0 +1,24 @@
|
|||||||
|
# Logs
|
||||||
|
logs
|
||||||
|
*.log
|
||||||
|
npm-debug.log*
|
||||||
|
yarn-debug.log*
|
||||||
|
yarn-error.log*
|
||||||
|
pnpm-debug.log*
|
||||||
|
lerna-debug.log*
|
||||||
|
|
||||||
|
node_modules
|
||||||
|
dist
|
||||||
|
dist-ssr
|
||||||
|
*.local
|
||||||
|
|
||||||
|
# Editor directories and files
|
||||||
|
.vscode/*
|
||||||
|
!.vscode/extensions.json
|
||||||
|
.idea
|
||||||
|
.DS_Store
|
||||||
|
*.suo
|
||||||
|
*.ntvs*
|
||||||
|
*.njsproj
|
||||||
|
*.sln
|
||||||
|
*.sw?
|
||||||
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"recommendations": ["Vue.volar", "Vue.vscode-typescript-vue-plugin"]
|
||||||
|
}
|
||||||
@ -0,0 +1 @@
|
|||||||
|
後台
|
||||||
@ -0,0 +1,49 @@
|
|||||||
|
Software License Agreement
|
||||||
|
==========================
|
||||||
|
|
||||||
|
Copyright (c) 2014-2024, CKSource Holding sp. z o.o. All rights reserved.
|
||||||
|
|
||||||
|
Online builder code samples are licensed under the terms of the MIT License (see Appendix A):
|
||||||
|
|
||||||
|
http://en.wikipedia.org/wiki/MIT_License
|
||||||
|
|
||||||
|
CKEditor 5 collaboration features are only available under a commercial license. [Contact us](https://ckeditor.com/contact/) for more details.
|
||||||
|
|
||||||
|
Free 30-days trials of CKEditor 5 collaboration features are available:
|
||||||
|
* https://ckeditor.com/collaboration/ - Real-time collaboration (with all features).
|
||||||
|
* https://ckeditor.com/collaboration/comments/ - Inline comments feature (without real-time collaborative editing).
|
||||||
|
* https://ckeditor.com/collaboration/track-changes/ - Track changes feature (without real-time collaborative editing).
|
||||||
|
|
||||||
|
Trademarks
|
||||||
|
----------
|
||||||
|
|
||||||
|
CKEditor is a trademark of CKSource Holding sp. z o.o. All other brand
|
||||||
|
and product names are trademarks, registered trademarks or service
|
||||||
|
marks of their respective holders.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Appendix A: The MIT License
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
The MIT License (MIT)
|
||||||
|
|
||||||
|
Copyright (c) 2014-2024, CKSource Holding sp. z o.o.
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in
|
||||||
|
all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
THE SOFTWARE.
|
||||||
@ -0,0 +1,60 @@
|
|||||||
|
# CKEditor 5 editor generated with the online builder
|
||||||
|
|
||||||
|
This repository presents a CKEditor 5 editor build generated by the [Online builder tool](https://ckeditor.com/ckeditor-5/online-builder)
|
||||||
|
|
||||||
|
## Quick start
|
||||||
|
|
||||||
|
1. Open the `sample/index.html` page in the browser.
|
||||||
|
|
||||||
|
2. Fill the prompt with the license key. If you do not have the license key yet [contact us](https://ckeditor.com/contact/).
|
||||||
|
|
||||||
|
## Configuring build
|
||||||
|
|
||||||
|
Changes like changing toolbar items, changing order of icons or customizing plugin configurations should be relatively easy to make. Open the `sample/index.html` file and edit the script that initialized the CKEditor 5. Save the file and refresh the browser. That's all.
|
||||||
|
|
||||||
|
*Note:* If you have any problems with browser caching use the `Ctrl + R` or `Cmd + R` shortcut depending on your system.
|
||||||
|
|
||||||
|
However if you want to remove or add a plugin to the build you need to follow the next step of this guide.
|
||||||
|
|
||||||
|
Note that it is also possible to go back to the [Online builder tool](https://ckeditor.com/ckeditor-5/online-builder) and pick other set of plugins. But we encourage you to try the harder way and to learn the principles of Node.js and CKEditor 5 ecosystems that will allow you to do more cool things in the future!
|
||||||
|
|
||||||
|
### Installation
|
||||||
|
|
||||||
|
In order to rebuild the application you need to install all dependencies first. To do it, open the terminal in the project directory and type:
|
||||||
|
|
||||||
|
```
|
||||||
|
npm install
|
||||||
|
```
|
||||||
|
|
||||||
|
Make sure that you have the `node` and `npm` installed first. If not, then follow the instructions on the [Node.js documentation page](https://nodejs.org/en/).
|
||||||
|
|
||||||
|
### Adding or removing plugins
|
||||||
|
|
||||||
|
Now you can install additional plugin in the build. Just follow the [Adding a plugin to an editor tutorial](https://ckeditor.com/docs/ckeditor5/latest/builds/guides/integration/installing-plugins.html#adding-a-plugin-to-an-editor)
|
||||||
|
|
||||||
|
### Rebuilding editor
|
||||||
|
|
||||||
|
If you have already done the [Installation](#installation) and [Adding or removing plugins](#adding-or-removing-plugins) steps, you're ready to rebuild the editor by running the following command:
|
||||||
|
|
||||||
|
```
|
||||||
|
npm run build
|
||||||
|
```
|
||||||
|
|
||||||
|
This will build the CKEditor 5 to the `build` directory. You can open your browser and you should be able to see the changes you've made in the code. If not, then try to refresh also the browser cache by typing `Ctrl + R` or `Cmd + R` depending on your system.
|
||||||
|
|
||||||
|
## What's next?
|
||||||
|
|
||||||
|
Follow the guides available on https://ckeditor.com/docs/ckeditor5/latest/framework/index.html and enjoy the document editing.
|
||||||
|
|
||||||
|
## FAQ
|
||||||
|
| Where is the place to report bugs and feature requests?
|
||||||
|
|
||||||
|
You can create an issue on https://github.com/ckeditor/ckeditor5/issues including the build id - `jqm6bng4zmtr-n2qr6fdzw2rs`. Make sure that the question / problem is unique, please look for a possibly asked questions in the search box. Duplicates will be closed.
|
||||||
|
|
||||||
|
| Where can I learn more about the CKEditor 5 framework?
|
||||||
|
|
||||||
|
Here: https://ckeditor.com/docs/ckeditor5/latest/framework/
|
||||||
|
|
||||||
|
| Is it possible to use online builder with common frameworks like React, Vue or Angular?
|
||||||
|
|
||||||
|
Not yet, but it these integrations will be available at some point in the future.
|
||||||
@ -0,0 +1,32 @@
|
|||||||
|
/**
|
||||||
|
* @license Copyright (c) 2014-2024, CKSource Holding sp. z o.o. All rights reserved.
|
||||||
|
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
||||||
|
*/
|
||||||
|
import { ClassicEditor } from '@ckeditor/ckeditor5-editor-classic';
|
||||||
|
import { Autoformat } from '@ckeditor/ckeditor5-autoformat';
|
||||||
|
import { Bold, Italic } from '@ckeditor/ckeditor5-basic-styles';
|
||||||
|
import { BlockQuote } from '@ckeditor/ckeditor5-block-quote';
|
||||||
|
import { CloudServices } from '@ckeditor/ckeditor5-cloud-services';
|
||||||
|
import type { EditorConfig } from '@ckeditor/ckeditor5-core';
|
||||||
|
import { Essentials } from '@ckeditor/ckeditor5-essentials';
|
||||||
|
import { FontColor } from '@ckeditor/ckeditor5-font';
|
||||||
|
import { Heading } from '@ckeditor/ckeditor5-heading';
|
||||||
|
import { GeneralHtmlSupport } from '@ckeditor/ckeditor5-html-support';
|
||||||
|
import { AutoImage, Image, ImageCaption, ImageResize, ImageStyle, ImageToolbar, ImageUpload } from '@ckeditor/ckeditor5-image';
|
||||||
|
import { Indent } from '@ckeditor/ckeditor5-indent';
|
||||||
|
import { Link } from '@ckeditor/ckeditor5-link';
|
||||||
|
import { List } from '@ckeditor/ckeditor5-list';
|
||||||
|
import { MediaEmbed } from '@ckeditor/ckeditor5-media-embed';
|
||||||
|
import { Paragraph } from '@ckeditor/ckeditor5-paragraph';
|
||||||
|
import { PasteFromOffice } from '@ckeditor/ckeditor5-paste-from-office';
|
||||||
|
import { SourceEditing } from '@ckeditor/ckeditor5-source-editing';
|
||||||
|
import { Style } from '@ckeditor/ckeditor5-style';
|
||||||
|
import { Table, TableToolbar } from '@ckeditor/ckeditor5-table';
|
||||||
|
import { TextTransformation } from '@ckeditor/ckeditor5-typing';
|
||||||
|
import { Undo } from '@ckeditor/ckeditor5-undo';
|
||||||
|
import { SimpleUploadAdapter } from '@ckeditor/ckeditor5-upload';
|
||||||
|
declare class Editor extends ClassicEditor {
|
||||||
|
static builtinPlugins: (typeof AutoImage | typeof Autoformat | typeof BlockQuote | typeof Bold | typeof CloudServices | typeof Essentials | typeof FontColor | typeof GeneralHtmlSupport | typeof Heading | typeof Image | typeof ImageCaption | typeof ImageResize | typeof ImageStyle | typeof ImageToolbar | typeof ImageUpload | typeof Indent | typeof Italic | typeof Link | typeof List | typeof MediaEmbed | typeof Paragraph | typeof PasteFromOffice | typeof SimpleUploadAdapter | typeof SourceEditing | typeof Style | typeof Table | typeof TableToolbar | typeof TextTransformation | typeof Undo)[];
|
||||||
|
static defaultConfig: EditorConfig;
|
||||||
|
}
|
||||||
|
export default Editor;
|
||||||
File diff suppressed because one or more lines are too long
@ -0,0 +1 @@
|
|||||||
|
{"version":3,"file":"ckeditor.js","mappings":";;;;AAAA","sources":["webpack://ClassicEditor/webpack/universalModuleDefinition"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ClassicEditor\"] = factory();\n\telse\n\t\troot[\"ClassicEditor\"] = factory();\n})(self, () => {\nreturn "],"names":[],"sourceRoot":""}
|
||||||
@ -0,0 +1 @@
|
|||||||
|
(function(e){const r=e["af"]=e["af"]||{};r.dictionary=Object.assign(r.dictionary||{},{"%0 of %1":"%0 van %1","Block quote":"Verwysingsaanhaling",Bold:"Vet",Cancel:"Kanselleer",Clear:"",Code:"Bronkode",Italic:"Kursief","Remove color":"Verwyder kleur","Restore default":"Herstel verstek",Save:"Stoor","Show more items":"Wys meer items",Strikethrough:"Deurstreep",Subscript:"Onderskrif",Superscript:"Boskrif",Underline:"Onderstreep"});r.getPluralForm=function(e){return e!=1}})(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -0,0 +1 @@
|
|||||||
|
(function(e){const i=e["bs"]=e["bs"]||{};i.dictionary=Object.assign(i.dictionary||{},{"%0 of %1":"%0 od %1",Big:"","Block quote":"Citat",Bold:"Podebljano","Break text":"",Cancel:"Poništi","Caption for image: %0":"","Caption for the image":"","Centered image":"Centrirana slika","Change image text alternative":"Promijeni ALT atribut za sliku","Choose heading":"Odaberi naslov",Clear:"",Code:"Kod",Default:"Zadani","Document colors":"","Enter image caption":"Unesi naziv slike","Font Background Color":"Boja pozadine","Font Color":"Boja","Font Family":"Font","Font Size":"Veličina fonta","Full size image":"",Heading:"Naslov","Heading 1":"Naslov 1","Heading 2":"Naslov 2","Heading 3":"Naslov 3","Heading 4":"Naslov 4","Heading 5":"Naslov 5","Heading 6":"Naslov 6",Huge:"","Image resize list":"Lista veličina slike","Image toolbar":"","image widget":"","In line":"",Insert:"Umetni","Insert image":"Umetni sliku","Insert image via URL":"Umetni sliku preko URLa",Italic:"Zakrivljeno","Left aligned image":"Lijevo poravnata slika",Original:"Original",Paragraph:"Paragraf","Remove color":"Ukloni boju","Replace from computer":"","Replace image":"","Replace image from computer":"","Resize image":"Promijeni veličinu slike","Resize image to %0":"","Resize image to the original size":"Postavi originalnu veličinu slike","Restore default":"Vrati na zadano","Right aligned image":"Desno poravnata slika",Save:"Sačuvaj","Show more items":"Prikaži više stavki","Side image":"",Small:"",Strikethrough:"Precrtano",Subscript:"",Superscript:"","Text alternative":"ALT atribut",Tiny:"","Type or paste your content here.":"Unesite ili zalijepite vaš sadržaj ovdje","Type your title":"Unesite naslov",Underline:"Podcrtano",Update:"Ažuriraj","Update image URL":"Ažuriraj URL slike","Upload failed":"Učitavanje slike nije uspjelo","Upload from computer":"","Upload image from computer":"","Wrap text":"Prelomi tekst"});i.getPluralForm=function(e){return e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2}})(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -0,0 +1 @@
|
|||||||
|
(function(e){const r=e["es-co"]=e["es-co"]||{};r.dictionary=Object.assign(r.dictionary||{},{"%0 of %1":"%0 de %1","Block quote":"Cita de bloque",Bold:"Negrita",Cancel:"Cancelar",Clear:"",Code:"Código",Italic:"Cursiva","Remove color":"Quitar color","Restore default":"Restaurar valores predeterminados",Save:"Guardar","Show more items":"Mostrar más elementos",Strikethrough:"Tachado",Subscript:"Subíndice",Superscript:"Superíndice",Underline:"Subrayado","Upload in progress":"Carga en progreso"});r.getPluralForm=function(e){return e==1?0:e!=0&&e%1e6==0?1:2}})(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -0,0 +1 @@
|
|||||||
|
(function(o){const e=o["gu"]=o["gu"]||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"","Block quote":" વિચાર ટાંકો",Bold:"ઘાટુ - બોલ્ડ્",Cancel:"",Clear:"",Code:"",Italic:"ત્રાંસુ - ઇટલિક્","Remove color":"","Restore default":"",Save:"","Show more items":"",Strikethrough:"",Subscript:"",Superscript:"",Underline:"નીચે લિટી - અન્ડરલાઇન્"});e.getPluralForm=function(o){return o!=1}})(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -0,0 +1 @@
|
|||||||
|
(function(e){const t=e["hy"]=e["hy"]||{};t.dictionary=Object.assign(t.dictionary||{},{"%0 of %1":"","Align cell text to the bottom":"","Align cell text to the center":"","Align cell text to the left":"","Align cell text to the middle":"","Align cell text to the right":"","Align cell text to the top":"","Align table to the left":"","Align table to the right":"",Alignment:"",Background:"",Bold:"Թավագիր",Border:"",Cancel:"Չեղարկել","Cell properties":"","Center table":"","Choose heading":"",Clear:"",Code:"Կոդ",Color:"","Color picker":"",Column:"Սյունակ",Dashed:"","Delete column":"","Delete row":"",Dimensions:"",Dotted:"",Double:"",Downloadable:"","Edit link":"Խմբագրել հղումը","Enter table caption":"",Groove:"","Header column":"","Header row":"",Heading:"","Heading 1":"Վերնագիր 1","Heading 2":"Վերնագիր 2","Heading 3":"Վերնագիր 3","Heading 4":"","Heading 5":"","Heading 6":"",Height:"","Horizontal text alignment toolbar":"","Insert column left":"","Insert column right":"","Insert row above":"","Insert row below":"","Insert table":"",Inset:"",Italic:"Շեղագիր","Justify cell text":"",Link:"Հղում","Link image":"","Link URL":"","Merge cell down":"","Merge cell left":"","Merge cell right":"","Merge cell up":"","Merge cells":"",None:"","Open in a new tab":"","Open link in new tab":"",Outset:"",Padding:"",Paragraph:"","Remove color":"","Restore default":"",Ridge:"",Row:"",Save:"","Select column":"","Select row":"","Show more items":"",Solid:"","Split cell horizontally":"","Split cell vertically":"",Strikethrough:"Գծանշել",Style:"",Subscript:"Ենթատեքստ",Superscript:"Գերագիր","Table alignment toolbar":"","Table cell text alignment":"","Table properties":"","Table toolbar":"",'The color is invalid. Try "#FF0000" or "rgb(255,0,0)" or "red".':"",'The value is invalid. Try "10px" or "2em" or simply "2".':"","This link has no URL":"","Toggle caption off":"","Toggle caption on":"","Type or paste your content here.":"","Type your title":"",Underline:"Ընդգծել",Unlink:"","Vertical text alignment toolbar":"",Width:""});t.getPluralForm=function(e){return e!=1}})(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -0,0 +1 @@
|
|||||||
|
(function(r){const o=r["oc"]=r["oc"]||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"",Bold:"Gras",Cancel:"Anullar",Clear:"",Code:"",Italic:"Italica","Remove color":"","Restore default":"",Save:"Enregistrar","Show more items":"",Strikethrough:"",Subscript:"",Superscript:"",Underline:""});o.getPluralForm=function(r){return r>1}})(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -0,0 +1 @@
|
|||||||
|
(function(e){const o=e["sl"]=e["sl"]||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"",Accept:"","Align cell text to the bottom":"","Align cell text to the center":"","Align cell text to the left":"","Align cell text to the middle":"","Align cell text to the right":"","Align cell text to the top":"","Align table to the left":"","Align table to the right":"",Alignment:"",Aquamarine:"Akvamarin",Background:"",Big:"Veliko",Black:"Črna","Block quote":"Blokiraj citat",Blue:"Modra",Bold:"Krepko",Border:"",Cancel:"Prekliči","Cell properties":"","Center table":"","Choose heading":"Izberi naslov",Clear:"","Click to edit block":"",Code:"Koda",Color:"","Color picker":"",Column:"",Dashed:"",Default:"Privzeto","Delete column":"","Delete row":"","Dim grey":"Temno siva",Dimensions:"","Document colors":"Barve dokumenta",Dotted:"",Double:"","Drag to move":"","Dropdown toolbar":"","Edit block":"","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"","Editor toolbar":"","Enter table caption":"","Font Background Color":"Barva ozadja pisave","Font Color":"Barva pisave","Font Family":"Vrsta oz. tip pisave","Font Size":"Velikost pisave",Green:"Zelena",Grey:"Siva",Groove:"","Header column":"","Header row":"",Heading:"Naslov","Heading 1":"Naslov 1","Heading 2":"Naslov 2","Heading 3":"Naslov 3","Heading 4":"Naslov 4","Heading 5":"Naslov 5","Heading 6":"Naslov 6",Height:"",HEX:"","Horizontal text alignment toolbar":"",Huge:"Ogromno","Insert column left":"","Insert column right":"","Insert row above":"","Insert row below":"","Insert table":"Vstavi tabelo",Inset:"",Italic:"Poševno","Justify cell text":"","Light blue":"Svetlo modra","Light green":"Svetlo zelena","Light grey":"Svetlo siva","Merge cell down":"","Merge cell left":"","Merge cell right":"","Merge cell up":"","Merge cells":"",Next:"","No results found":"","No searchable items":"",None:"",Orange:"Oranžna",Outset:"",Padding:"",Paragraph:"Odstavek",Previous:"",Purple:"Vijolična",Red:"Rdeča","Remove color":"Odstrani barvo","Restore default":"","Rich Text Editor":"",Ridge:"",Row:"",Save:"Shrani","Select column":"","Select row":"","Show more items":"",Small:"Majhna",Solid:"","Split cell horizontally":"","Split cell vertically":"",Strikethrough:"Prečrtano",Style:"",Subscript:"Naročnik",Superscript:"Nadpis","Table alignment toolbar":"","Table cell text alignment":"","Table properties":"","Table toolbar":"",'The color is invalid. Try "#FF0000" or "rgb(255,0,0)" or "red".':"",'The value is invalid. Try "10px" or "2em" or simply "2".':"",Tiny:"Drobna","Toggle caption off":"","Toggle caption on":"",Turquoise:"Turkizna","Type or paste your content here.":"Vnesi ali prilepi vsebino","Type your title":"Vnesi naslov",Underline:"Podčrtaj","Vertical text alignment toolbar":"",White:"Bela",Width:"",Yellow:"Rumena"});o.getPluralForm=function(e){return e%100==1?0:e%100==2?1:e%100==3||e%100==4?2:3}})(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
@ -0,0 +1,54 @@
|
|||||||
|
{
|
||||||
|
"name": "ckeditor5-custom-build",
|
||||||
|
"author": "CKSource",
|
||||||
|
"description": "A custom CKEditor 5 build made by the CKEditor 5 online builder.",
|
||||||
|
"version": "0.0.1",
|
||||||
|
"license": "SEE LICENSE IN LICENSE.md",
|
||||||
|
"private": true,
|
||||||
|
"main": "./build/ckeditor.js",
|
||||||
|
"types": "./build/ckeditor.d.ts",
|
||||||
|
"dependencies": {
|
||||||
|
"@ckeditor/ckeditor5-autoformat": "40.2.0",
|
||||||
|
"@ckeditor/ckeditor5-basic-styles": "40.2.0",
|
||||||
|
"@ckeditor/ckeditor5-block-quote": "40.2.0",
|
||||||
|
"@ckeditor/ckeditor5-cloud-services": "40.2.0",
|
||||||
|
"@ckeditor/ckeditor5-editor-classic": "40.2.0",
|
||||||
|
"@ckeditor/ckeditor5-essentials": "40.2.0",
|
||||||
|
"@ckeditor/ckeditor5-font": "40.2.0",
|
||||||
|
"@ckeditor/ckeditor5-heading": "40.2.0",
|
||||||
|
"@ckeditor/ckeditor5-html-support": "40.2.0",
|
||||||
|
"@ckeditor/ckeditor5-image": "40.2.0",
|
||||||
|
"@ckeditor/ckeditor5-indent": "40.2.0",
|
||||||
|
"@ckeditor/ckeditor5-link": "40.2.0",
|
||||||
|
"@ckeditor/ckeditor5-list": "40.2.0",
|
||||||
|
"@ckeditor/ckeditor5-media-embed": "40.2.0",
|
||||||
|
"@ckeditor/ckeditor5-paragraph": "40.2.0",
|
||||||
|
"@ckeditor/ckeditor5-paste-from-office": "40.2.0",
|
||||||
|
"@ckeditor/ckeditor5-source-editing": "40.2.0",
|
||||||
|
"@ckeditor/ckeditor5-style": "40.2.0",
|
||||||
|
"@ckeditor/ckeditor5-table": "40.2.0",
|
||||||
|
"@ckeditor/ckeditor5-typing": "40.2.0",
|
||||||
|
"@ckeditor/ckeditor5-undo": "40.2.0",
|
||||||
|
"@ckeditor/ckeditor5-upload": "40.2.0"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@ckeditor/ckeditor5-core": "^40.2.0",
|
||||||
|
"@ckeditor/ckeditor5-dev-translations": "^32.1.2",
|
||||||
|
"@ckeditor/ckeditor5-dev-utils": "^32.1.2",
|
||||||
|
"@ckeditor/ckeditor5-theme-lark": "^40.2.0",
|
||||||
|
"css-loader": "^5.2.7",
|
||||||
|
"postcss": "^8.4.32",
|
||||||
|
"postcss-loader": "^4.3.0",
|
||||||
|
"raw-loader": "^4.0.2",
|
||||||
|
"style-loader": "^2.0.0",
|
||||||
|
"terser-webpack-plugin": "^4.2.3",
|
||||||
|
"ts-loader": "^9.5.1",
|
||||||
|
"typescript": "^4.9.5",
|
||||||
|
"webpack": "^5.89.0",
|
||||||
|
"webpack-cli": "^4.10.0"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"build": "webpack --mode production",
|
||||||
|
"postbuild": "tsc --declaration --declarationDir build --stripInternal --emitDeclarationOnly"
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,20 @@
|
|||||||
|
ClassicEditor
|
||||||
|
.create( document.querySelector( '.editor' ), {
|
||||||
|
// Editor configuration.
|
||||||
|
} )
|
||||||
|
.then( editor => {
|
||||||
|
window.editor = editor;
|
||||||
|
} )
|
||||||
|
.catch( handleSampleError );
|
||||||
|
|
||||||
|
function handleSampleError( error ) {
|
||||||
|
const issueUrl = 'https://github.com/ckeditor/ckeditor5/issues';
|
||||||
|
|
||||||
|
const message = [
|
||||||
|
'Oops, something went wrong!',
|
||||||
|
`Please, report the following error on ${ issueUrl } with the build id "jqm6bng4zmtr-n2qr6fdzw2rs" and the error stack trace:`
|
||||||
|
].join( '\n' );
|
||||||
|
|
||||||
|
console.error( message );
|
||||||
|
console.error( error );
|
||||||
|
}
|
||||||
@ -0,0 +1,514 @@
|
|||||||
|
/**
|
||||||
|
* @license Copyright (c) 2014-2024, CKSource Holding sp. z o.o. All rights reserved.
|
||||||
|
* This file is licensed under the terms of the MIT License (see LICENSE.md).
|
||||||
|
*/
|
||||||
|
|
||||||
|
:root {
|
||||||
|
--ck-sample-base-spacing: 2em;
|
||||||
|
--ck-sample-color-white: #fff;
|
||||||
|
--ck-sample-color-green: #279863;
|
||||||
|
--ck-sample-color-blue: #1a9aef;
|
||||||
|
--ck-sample-container-width: 1285px;
|
||||||
|
--ck-sample-sidebar-width: 350px;
|
||||||
|
--ck-sample-editor-min-height: 400px;
|
||||||
|
--ck-sample-editor-z-index: 10;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --------- EDITOR STYLES ---------------------------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
.editor__editable,
|
||||||
|
/* Classic build. */
|
||||||
|
main .ck-editor[role='application'] .ck.ck-content,
|
||||||
|
/* Decoupled document build. */
|
||||||
|
.ck.editor__editable[role='textbox'],
|
||||||
|
.ck.ck-editor__editable[role='textbox'],
|
||||||
|
/* Inline & Balloon build. */
|
||||||
|
.ck.editor[role='textbox'] {
|
||||||
|
width: 100%;
|
||||||
|
background: #fff;
|
||||||
|
font-size: 1em;
|
||||||
|
line-height: 1.6em;
|
||||||
|
min-height: var(--ck-sample-editor-min-height);
|
||||||
|
padding: 1.5em 2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ck.ck-editor__editable {
|
||||||
|
background: #fff;
|
||||||
|
border: 1px solid hsl(0, 0%, 70%);
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Because of sidebar `position: relative`, Edge is overriding the outline of a focused editor. */
|
||||||
|
.ck.ck-editor__editable {
|
||||||
|
position: relative;
|
||||||
|
z-index: var(--ck-sample-editor-z-index);
|
||||||
|
}
|
||||||
|
|
||||||
|
.editor-container {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
position: relative;
|
||||||
|
width: 100%;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.editor-container--with-sidebar > .ck.ck-editor {
|
||||||
|
width: calc( 100% - var(--ck-sample-sidebar-width) );
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --------- DECOUPLED (DOCUMENT) BUILD. ---------------------------------------------*/
|
||||||
|
body[data-editor='DecoupledEditor'] .document-editor__toolbar {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
body[data-editor='DecoupledEditor'] .collaboration-demo__editable,
|
||||||
|
body[data-editor='DecoupledEditor'] .row-editor .editor {
|
||||||
|
/* A pixel is added for each of the border. */
|
||||||
|
width: calc(21cm + 2px);
|
||||||
|
min-height: calc(29.7cm + 2px);
|
||||||
|
/* To avoid having extra scrolls inside the editor container. */
|
||||||
|
height: fit-content;
|
||||||
|
padding: 2cm 1.2cm;
|
||||||
|
margin: 2.5rem;
|
||||||
|
border: 1px hsl( 0, 0%, 82.7% ) solid;
|
||||||
|
background-color: var(--ck-sample-color-white);
|
||||||
|
box-shadow: 0 0 5px hsla( 0, 0%, 0%, .1 );
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
body[data-editor='DecoupledEditor'] .row-editor {
|
||||||
|
display: flex;
|
||||||
|
position: relative;
|
||||||
|
justify-content: center;
|
||||||
|
overflow-y: auto;
|
||||||
|
background-color: #f2f2f2;
|
||||||
|
border: 1px solid hsl(0, 0%, 77%);
|
||||||
|
/* Limit the max-height of the editor to avoid scrolling from bottom to top to see the toolbar. */
|
||||||
|
max-height: 700px;
|
||||||
|
}
|
||||||
|
|
||||||
|
body[data-editor='DecoupledEditor'] .sidebar {
|
||||||
|
background: transparent;
|
||||||
|
border: 0;
|
||||||
|
box-shadow: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --------- COMMENTS & TRACK CHANGES FEATURE ---------------------------------------------------------------------- */
|
||||||
|
.sidebar {
|
||||||
|
padding: 0 15px;
|
||||||
|
position: relative;
|
||||||
|
min-width: var(--ck-sample-sidebar-width);
|
||||||
|
max-width: var(--ck-sample-sidebar-width);
|
||||||
|
font-size: 20px;
|
||||||
|
border: 1px solid hsl(0, 0%, 77%);
|
||||||
|
background: hsl(0, 0%, 98%);
|
||||||
|
border-left: 0;
|
||||||
|
overflow: hidden;
|
||||||
|
min-height: 100%;
|
||||||
|
flex-grow: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Do not inherit styles related to the editable editor content. See line 25.*/
|
||||||
|
.sidebar .ck-content[role='textbox'],
|
||||||
|
.ck.ck-annotation-wrapper .ck-content[role='textbox'] {
|
||||||
|
min-height: unset;
|
||||||
|
width: unset;
|
||||||
|
padding: 0;
|
||||||
|
background: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar.narrow {
|
||||||
|
min-width: 60px;
|
||||||
|
flex-grow: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar.hidden {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#sidebar-display-toggle {
|
||||||
|
position: absolute;
|
||||||
|
z-index: 1;
|
||||||
|
width: 30px;
|
||||||
|
height: 30px;
|
||||||
|
text-align: center;
|
||||||
|
left: 15px;
|
||||||
|
top: 30px;
|
||||||
|
border: 0;
|
||||||
|
padding: 0;
|
||||||
|
color: hsl( 0, 0%, 50% );
|
||||||
|
transition: 250ms ease color;
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
#sidebar-display-toggle:hover {
|
||||||
|
color: hsl( 0, 0%, 30% );
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
#sidebar-display-toggle:focus,
|
||||||
|
#sidebar-display-toggle:active {
|
||||||
|
outline: none;
|
||||||
|
border: 1px solid #a9d29d;
|
||||||
|
}
|
||||||
|
|
||||||
|
#sidebar-display-toggle svg {
|
||||||
|
fill: currentColor;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --------- COLLABORATION FEATURES (USERS) ------------------------------------------------------------------------ */
|
||||||
|
.row-presence {
|
||||||
|
width: 100%;
|
||||||
|
border: 1px solid hsl(0, 0%, 77%);
|
||||||
|
border-bottom: 0;
|
||||||
|
background: hsl(0, 0%, 98%);
|
||||||
|
padding: var(--ck-spacing-small);
|
||||||
|
|
||||||
|
/* Make `border-bottom` as `box-shadow` to not overlap with the editor border. */
|
||||||
|
box-shadow: 0 1px 0 0 hsl(0, 0%, 77%);
|
||||||
|
|
||||||
|
/* Make `z-index` bigger than `.editor` to properly display tooltips. */
|
||||||
|
z-index: 20;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ck.ck-presence-list {
|
||||||
|
flex: 1;
|
||||||
|
padding: 1.25rem .75rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.presence .ck.ck-presence-list__counter {
|
||||||
|
order: 2;
|
||||||
|
margin-left: var(--ck-spacing-large)
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --------- REAL TIME COLLABORATION FEATURES (SHARE TOPBAR CONTAINER) --------------------------------------------- */
|
||||||
|
.collaboration-demo__row {
|
||||||
|
display: flex;
|
||||||
|
position: relative;
|
||||||
|
justify-content: center;
|
||||||
|
overflow-y: auto;
|
||||||
|
background-color: #f2f2f2;
|
||||||
|
border: 1px solid hsl(0, 0%, 77%);
|
||||||
|
}
|
||||||
|
|
||||||
|
body[data-editor='InlineEditor'] .collaboration-demo__row {
|
||||||
|
border: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.collaboration-demo__container {
|
||||||
|
max-width: var(--ck-sample-container-width);
|
||||||
|
margin: 0 auto;
|
||||||
|
padding: 1.25rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.presence, .collaboration-demo__row {
|
||||||
|
transition: .2s opacity;
|
||||||
|
}
|
||||||
|
|
||||||
|
.collaboration-demo__topbar {
|
||||||
|
background: #fff;
|
||||||
|
border: 1px solid var(--ck-color-toolbar-border);
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
border-bottom: 0;
|
||||||
|
border-radius: 4px 4px 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.collaboration-demo__topbar .btn {
|
||||||
|
margin-right: 1em;
|
||||||
|
outline-offset: 2px;
|
||||||
|
outline-width: 2px;
|
||||||
|
background-color: var( --ck-sample-color-blue );
|
||||||
|
}
|
||||||
|
|
||||||
|
.collaboration-demo__topbar .btn:focus,
|
||||||
|
.collaboration-demo__topbar .btn:hover {
|
||||||
|
border-color: var( --ck-sample-color-blue );
|
||||||
|
}
|
||||||
|
|
||||||
|
.collaboration-demo__share {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
padding: 1.25rem .75rem
|
||||||
|
}
|
||||||
|
|
||||||
|
.collaboration-demo__share-description p {
|
||||||
|
margin: 0;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 0.9em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.collaboration-demo__share input {
|
||||||
|
height: auto;
|
||||||
|
font-size: 0.9em;
|
||||||
|
min-width: 220px;
|
||||||
|
margin: 0 10px;
|
||||||
|
border-radius: 4px;
|
||||||
|
border: 1px solid var(--ck-color-toolbar-border)
|
||||||
|
}
|
||||||
|
|
||||||
|
.collaboration-demo__share button,
|
||||||
|
.collaboration-demo__share input {
|
||||||
|
height: 40px;
|
||||||
|
padding: 5px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.collaboration-demo__share button {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.collaboration-demo__share button:focus {
|
||||||
|
outline: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.collaboration-demo__share button[data-tooltip]::before,
|
||||||
|
.collaboration-demo__share button[data-tooltip]::after {
|
||||||
|
position: absolute;
|
||||||
|
visibility: hidden;
|
||||||
|
opacity: 0;
|
||||||
|
pointer-events: none;
|
||||||
|
transition: all .15s cubic-bezier(.5,1,.25,1);
|
||||||
|
z-index: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.collaboration-demo__share button[data-tooltip]::before {
|
||||||
|
content: attr(data-tooltip);
|
||||||
|
padding: 5px 15px;
|
||||||
|
border-radius: 3px;
|
||||||
|
background: #111;
|
||||||
|
color: #fff;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 11px;
|
||||||
|
top: 100%;
|
||||||
|
left: 50%;
|
||||||
|
margin-top: 5px;
|
||||||
|
transform: translateX(-50%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.collaboration-demo__share button[data-tooltip]::after {
|
||||||
|
content: '';
|
||||||
|
border: 5px solid transparent;
|
||||||
|
width: 0;
|
||||||
|
font-size: 0;
|
||||||
|
line-height: 0;
|
||||||
|
top: 100%;
|
||||||
|
left: 50%;
|
||||||
|
transform: translateX(-50%);
|
||||||
|
border-bottom: 5px solid #111;
|
||||||
|
border-top: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.collaboration-demo__share button[data-tooltip]:hover:before,
|
||||||
|
.collaboration-demo__share button[data-tooltip]:hover:after {
|
||||||
|
visibility: visible;
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.collaboration-demo--ready {
|
||||||
|
overflow: visible;
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.collaboration-demo--ready .presence,
|
||||||
|
.collaboration-demo--ready .collaboration-demo__row {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --------- PAGINATION FEATURE ------------------------------------------------------------------------------------ */
|
||||||
|
|
||||||
|
/* Pagination view line must be stacked at least at the same level as the editor,
|
||||||
|
otherwise it will be hidden underneath. */
|
||||||
|
.ck.ck-pagination-view-line {
|
||||||
|
z-index: var(--ck-sample-editor-z-index);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --------- REVISION HISTORY FEATURE ------------------------------------------------------------------------------ */
|
||||||
|
|
||||||
|
.revision-viewer-container {
|
||||||
|
display: none;
|
||||||
|
max-width: 100%;
|
||||||
|
word-wrap: break-word;
|
||||||
|
}
|
||||||
|
|
||||||
|
.revision-viewer-sidebar {
|
||||||
|
position: relative;
|
||||||
|
min-width: 310px;
|
||||||
|
overflow: hidden;
|
||||||
|
background: var(--ck-color-toolbar-background);
|
||||||
|
border: 1px solid var(--ck-color-toolbar-border);
|
||||||
|
margin-left: -1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* A case when Pagination and Revision History features are enabled in the editor. */
|
||||||
|
/* Move the square with page number from the Pagination plugin to the left side, so that it does not cover the RH sidebar. */
|
||||||
|
body[data-revision-history='true'] .ck.ck-pagination-view-line::after {
|
||||||
|
transform: translateX(-100%) !important;
|
||||||
|
left: -1px !important;
|
||||||
|
right: unset !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --------- DOCUMENT OUTLINE FEATURE ------------------------------------------------------------------------------ */
|
||||||
|
|
||||||
|
.document-outline-container {
|
||||||
|
max-height: 80vh;
|
||||||
|
overflow-y: auto;
|
||||||
|
margin-bottom: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.document-outline-container .ck.ck-document-outline {
|
||||||
|
min-height: 100%;
|
||||||
|
border: 1px solid var(--ck-color-base-border);
|
||||||
|
background-color: hsl(0, 0%, 96%);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --------- SAMPLE GENERIC STYLES (not related to CKEditor) ------------------------------------------------------- */
|
||||||
|
body, html {
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
|
||||||
|
font-family: sans-serif, Arial, Verdana, "Trebuchet MS", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
|
||||||
|
font-size: 16px;
|
||||||
|
line-height: 1.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
height: 100%;
|
||||||
|
color: #2D3A4A;
|
||||||
|
}
|
||||||
|
|
||||||
|
body * {
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: #38A5EE;
|
||||||
|
}
|
||||||
|
|
||||||
|
header .centered {
|
||||||
|
display: flex;
|
||||||
|
flex-flow: row nowrap;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
min-height: 8em;
|
||||||
|
}
|
||||||
|
|
||||||
|
header h1 a {
|
||||||
|
font-size: 20px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
color: #2D3A4A;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
header h1 img {
|
||||||
|
display: block;
|
||||||
|
height: 64px;
|
||||||
|
}
|
||||||
|
|
||||||
|
header nav ul {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
list-style-type: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
header nav ul li {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
header nav ul li + li {
|
||||||
|
margin-left: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
header nav ul li a {
|
||||||
|
font-weight: bold;
|
||||||
|
text-decoration: none;
|
||||||
|
color: #2D3A4A;
|
||||||
|
}
|
||||||
|
|
||||||
|
header nav ul li a:hover {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
main .message {
|
||||||
|
padding: 0 0 var(--ck-sample-base-spacing);
|
||||||
|
background: var(--ck-sample-color-green);
|
||||||
|
color: var(--ck-sample-color-white);
|
||||||
|
}
|
||||||
|
|
||||||
|
main .message::after {
|
||||||
|
content: "";
|
||||||
|
z-index: -1;
|
||||||
|
display: block;
|
||||||
|
height: 10em;
|
||||||
|
width: 100%;
|
||||||
|
background: var(--ck-sample-color-green);
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
main .message h2 {
|
||||||
|
position: relative;
|
||||||
|
padding-top: 1em;
|
||||||
|
font-size: 2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.centered {
|
||||||
|
max-width: var(--ck-sample-container-width);
|
||||||
|
margin: 0 auto;
|
||||||
|
padding: 0 var(--ck-sample-base-spacing);
|
||||||
|
}
|
||||||
|
|
||||||
|
.row {
|
||||||
|
display: flex;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn {
|
||||||
|
cursor: pointer;
|
||||||
|
padding: 8px 16px;
|
||||||
|
font-size: 1rem;
|
||||||
|
user-select: none;
|
||||||
|
border-radius: 4px;
|
||||||
|
transition: color .2s ease-in-out,background-color .2s ease-in-out,border-color .2s ease-in-out,opacity .2s ease-in-out;
|
||||||
|
background-color: var(--ck-sample-color-button-blue);
|
||||||
|
border-color: var(--ck-sample-color-button-blue);
|
||||||
|
color: var(--ck-sample-color-white);
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn--tiny {
|
||||||
|
padding: 6px 12px;
|
||||||
|
font-size: .8rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
footer {
|
||||||
|
margin: calc(2*var(--ck-sample-base-spacing)) var(--ck-sample-base-spacing);
|
||||||
|
font-size: .8em;
|
||||||
|
text-align: center;
|
||||||
|
color: rgba(0,0,0,.4);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --------- RWD --------------------------------------------------------------------------------------------------- */
|
||||||
|
@media screen and ( max-width: 800px ) {
|
||||||
|
:root {
|
||||||
|
--ck-sample-base-spacing: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
header h1 {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
header h1 img {
|
||||||
|
height: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
header nav ul {
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
main .message h2 {
|
||||||
|
font-size: 1.5em;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,118 @@
|
|||||||
|
/**
|
||||||
|
* @license Copyright (c) 2014-2024, CKSource Holding sp. z o.o. All rights reserved.
|
||||||
|
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { ClassicEditor } from '@ckeditor/ckeditor5-editor-classic';
|
||||||
|
|
||||||
|
import { Autoformat } from '@ckeditor/ckeditor5-autoformat';
|
||||||
|
import { Bold, Italic } from '@ckeditor/ckeditor5-basic-styles';
|
||||||
|
import { BlockQuote } from '@ckeditor/ckeditor5-block-quote';
|
||||||
|
import { CloudServices } from '@ckeditor/ckeditor5-cloud-services';
|
||||||
|
import type { EditorConfig } from '@ckeditor/ckeditor5-core';
|
||||||
|
import { Essentials } from '@ckeditor/ckeditor5-essentials';
|
||||||
|
import { FontColor } from '@ckeditor/ckeditor5-font';
|
||||||
|
import { Heading } from '@ckeditor/ckeditor5-heading';
|
||||||
|
import { GeneralHtmlSupport } from '@ckeditor/ckeditor5-html-support';
|
||||||
|
import {
|
||||||
|
AutoImage,
|
||||||
|
Image,
|
||||||
|
ImageCaption,
|
||||||
|
ImageResize,
|
||||||
|
ImageStyle,
|
||||||
|
ImageToolbar,
|
||||||
|
ImageUpload
|
||||||
|
} from '@ckeditor/ckeditor5-image';
|
||||||
|
import { Indent } from '@ckeditor/ckeditor5-indent';
|
||||||
|
import { Link } from '@ckeditor/ckeditor5-link';
|
||||||
|
import { List } from '@ckeditor/ckeditor5-list';
|
||||||
|
import { MediaEmbed } from '@ckeditor/ckeditor5-media-embed';
|
||||||
|
import { Paragraph } from '@ckeditor/ckeditor5-paragraph';
|
||||||
|
import { PasteFromOffice } from '@ckeditor/ckeditor5-paste-from-office';
|
||||||
|
import { SourceEditing } from '@ckeditor/ckeditor5-source-editing';
|
||||||
|
import { Style } from '@ckeditor/ckeditor5-style';
|
||||||
|
import { Table, TableToolbar } from '@ckeditor/ckeditor5-table';
|
||||||
|
import { TextTransformation } from '@ckeditor/ckeditor5-typing';
|
||||||
|
import { Undo } from '@ckeditor/ckeditor5-undo';
|
||||||
|
import { SimpleUploadAdapter } from '@ckeditor/ckeditor5-upload';
|
||||||
|
|
||||||
|
// You can read more about extending the build with additional plugins in the "Installing plugins" guide.
|
||||||
|
// See https://ckeditor.com/docs/ckeditor5/latest/installation/plugins/installing-plugins.html for details.
|
||||||
|
|
||||||
|
class Editor extends ClassicEditor {
|
||||||
|
public static override builtinPlugins = [
|
||||||
|
AutoImage,
|
||||||
|
Autoformat,
|
||||||
|
BlockQuote,
|
||||||
|
Bold,
|
||||||
|
CloudServices,
|
||||||
|
Essentials,
|
||||||
|
FontColor,
|
||||||
|
GeneralHtmlSupport,
|
||||||
|
Heading,
|
||||||
|
Image,
|
||||||
|
ImageCaption,
|
||||||
|
ImageResize,
|
||||||
|
ImageStyle,
|
||||||
|
ImageToolbar,
|
||||||
|
ImageUpload,
|
||||||
|
Indent,
|
||||||
|
Italic,
|
||||||
|
Link,
|
||||||
|
List,
|
||||||
|
MediaEmbed,
|
||||||
|
Paragraph,
|
||||||
|
PasteFromOffice,
|
||||||
|
SimpleUploadAdapter,
|
||||||
|
SourceEditing,
|
||||||
|
Style,
|
||||||
|
Table,
|
||||||
|
TableToolbar,
|
||||||
|
TextTransformation,
|
||||||
|
Undo
|
||||||
|
];
|
||||||
|
|
||||||
|
public static override defaultConfig: EditorConfig = {
|
||||||
|
toolbar: {
|
||||||
|
items: [
|
||||||
|
'sourceEditing',
|
||||||
|
'|',
|
||||||
|
'heading',
|
||||||
|
'|',
|
||||||
|
'fontColor',
|
||||||
|
'bold',
|
||||||
|
'italic',
|
||||||
|
'link',
|
||||||
|
'|',
|
||||||
|
'outdent',
|
||||||
|
'indent',
|
||||||
|
'|',
|
||||||
|
'imageUpload',
|
||||||
|
'blockQuote',
|
||||||
|
'insertTable',
|
||||||
|
'mediaEmbed',
|
||||||
|
'undo',
|
||||||
|
'redo'
|
||||||
|
]
|
||||||
|
},
|
||||||
|
language: 'zh',
|
||||||
|
image: {
|
||||||
|
toolbar: [
|
||||||
|
'imageTextAlternative',
|
||||||
|
'toggleImageCaption',
|
||||||
|
'imageStyle:inline',
|
||||||
|
'imageStyle:block',
|
||||||
|
'imageStyle:side'
|
||||||
|
]
|
||||||
|
},
|
||||||
|
table: {
|
||||||
|
contentToolbar: [
|
||||||
|
'tableColumn',
|
||||||
|
'tableRow',
|
||||||
|
'mergeTableCells'
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Editor;
|
||||||
@ -0,0 +1,23 @@
|
|||||||
|
{
|
||||||
|
"compilerOptions": {
|
||||||
|
"types": [],
|
||||||
|
"lib": [
|
||||||
|
"ES2019",
|
||||||
|
"ES2020.String",
|
||||||
|
"DOM",
|
||||||
|
"DOM.Iterable"
|
||||||
|
],
|
||||||
|
"noImplicitAny": true,
|
||||||
|
"noImplicitOverride": true,
|
||||||
|
"strict": true,
|
||||||
|
"module": "es6",
|
||||||
|
"target": "es2019",
|
||||||
|
"sourceMap": true,
|
||||||
|
"allowJs": true,
|
||||||
|
"moduleResolution": "node",
|
||||||
|
"skipLibCheck": true
|
||||||
|
},
|
||||||
|
"include": [
|
||||||
|
"./src"
|
||||||
|
]
|
||||||
|
}
|
||||||
@ -0,0 +1,96 @@
|
|||||||
|
/**
|
||||||
|
* @license Copyright (c) 2014-2024, CKSource Holding sp. z o.o. All rights reserved.
|
||||||
|
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
||||||
|
*/
|
||||||
|
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
/* eslint-env node */
|
||||||
|
|
||||||
|
const path = require( 'path' );
|
||||||
|
const webpack = require( 'webpack' );
|
||||||
|
const { bundler, styles } = require( '@ckeditor/ckeditor5-dev-utils' );
|
||||||
|
const { CKEditorTranslationsPlugin } = require( '@ckeditor/ckeditor5-dev-translations' );
|
||||||
|
const TerserWebpackPlugin = require( 'terser-webpack-plugin' );
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
devtool: 'source-map',
|
||||||
|
performance: { hints: false },
|
||||||
|
|
||||||
|
entry: path.resolve( __dirname, 'src', 'ckeditor.ts' ),
|
||||||
|
|
||||||
|
output: {
|
||||||
|
// The name under which the editor will be exported.
|
||||||
|
library: 'ClassicEditor',
|
||||||
|
|
||||||
|
path: path.resolve( __dirname, 'build' ),
|
||||||
|
filename: 'ckeditor.js',
|
||||||
|
libraryTarget: 'umd',
|
||||||
|
libraryExport: 'default'
|
||||||
|
},
|
||||||
|
|
||||||
|
optimization: {
|
||||||
|
minimizer: [
|
||||||
|
new TerserWebpackPlugin( {
|
||||||
|
sourceMap: true,
|
||||||
|
terserOptions: {
|
||||||
|
output: {
|
||||||
|
// Preserve CKEditor 5 license comments.
|
||||||
|
comments: /^!/
|
||||||
|
}
|
||||||
|
},
|
||||||
|
extractComments: false
|
||||||
|
} )
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
plugins: [
|
||||||
|
new CKEditorTranslationsPlugin( {
|
||||||
|
// UI language. Language codes follow the https://en.wikipedia.org/wiki/ISO_639-1 format.
|
||||||
|
// When changing the built-in language, remember to also change it in the editor's configuration (src/ckeditor.ts).
|
||||||
|
language: 'zh',
|
||||||
|
additionalLanguages: 'all'
|
||||||
|
} ),
|
||||||
|
new webpack.BannerPlugin( {
|
||||||
|
banner: bundler.getLicenseBanner(),
|
||||||
|
raw: true
|
||||||
|
} )
|
||||||
|
],
|
||||||
|
|
||||||
|
resolve: {
|
||||||
|
extensions: [ '.ts', '.js', '.json' ]
|
||||||
|
},
|
||||||
|
|
||||||
|
module: {
|
||||||
|
rules: [ {
|
||||||
|
test: /\.svg$/,
|
||||||
|
use: [ 'raw-loader' ]
|
||||||
|
}, {
|
||||||
|
test: /\.ts$/,
|
||||||
|
use: 'ts-loader'
|
||||||
|
}, {
|
||||||
|
test: /\.css$/,
|
||||||
|
use: [ {
|
||||||
|
loader: 'style-loader',
|
||||||
|
options: {
|
||||||
|
injectType: 'singletonStyleTag',
|
||||||
|
attributes: {
|
||||||
|
'data-cke': true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
loader: 'css-loader'
|
||||||
|
}, {
|
||||||
|
loader: 'postcss-loader',
|
||||||
|
options: {
|
||||||
|
postcssOptions: styles.getPostCssConfig( {
|
||||||
|
themeImporter: {
|
||||||
|
themePath: require.resolve( '@ckeditor/ckeditor5-theme-lark' )
|
||||||
|
},
|
||||||
|
minify: true
|
||||||
|
} )
|
||||||
|
}
|
||||||
|
} ]
|
||||||
|
} ]
|
||||||
|
}
|
||||||
|
};
|
||||||
@ -0,0 +1,13 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="zh-TW">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<link rel="icon" type="image/svg+xml" href="/favicon.ico" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
<title>後台管理系統</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="app"></div>
|
||||||
|
<script type="module" src="/src/main.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,34 @@
|
|||||||
|
{
|
||||||
|
"name": "asc_admin",
|
||||||
|
"private": true,
|
||||||
|
"version": "0.0.0",
|
||||||
|
"type": "module",
|
||||||
|
"scripts": {
|
||||||
|
"dev": "vite",
|
||||||
|
"build": "vite build",
|
||||||
|
"preview": "vite preview"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@ckeditor/ckeditor5-vue": "^5.1.0",
|
||||||
|
"axios": "^1.5.1",
|
||||||
|
"ckeditor5-custom-build": "file:./ckeditor5",
|
||||||
|
"deepmerge": "^4.3.1",
|
||||||
|
"echarts": "^5.4.3",
|
||||||
|
"element-plus": "^2.3.14",
|
||||||
|
"enquire.js": "^2.1.6",
|
||||||
|
"js-cookie": "^3.0.5",
|
||||||
|
"nprogress": "^0.2.0",
|
||||||
|
"pinia": "^2.1.7",
|
||||||
|
"pinia-plugin-persistedstate": "^3.2.0",
|
||||||
|
"vue": "^3.3.4",
|
||||||
|
"vue-advanced-cropper": "^2.8.8",
|
||||||
|
"vue-router": "^4.2.5"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@vitejs/plugin-vue": "^4.2.3",
|
||||||
|
"less": "^4.2.0",
|
||||||
|
"unplugin-auto-import": "^0.16.6",
|
||||||
|
"unplugin-vue-components": "^0.25.2",
|
||||||
|
"vite": "^4.4.5"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 743 B |
|
After Width: | Height: | Size: 1.5 KiB |
@ -0,0 +1,25 @@
|
|||||||
|
<script setup>
|
||||||
|
import { ref } from 'vue';
|
||||||
|
import {enquireScreen} from './utils/util.js';
|
||||||
|
|
||||||
|
import { ElConfigProvider } from 'element-plus'
|
||||||
|
import zhTw from 'element-plus/dist/locale/zh-tw.mjs'
|
||||||
|
const locale = ref(zhTw);
|
||||||
|
|
||||||
|
import { useSettingStore } from '@/store/setting.js';
|
||||||
|
const settingStore = useSettingStore();
|
||||||
|
|
||||||
|
|
||||||
|
enquireScreen(isMobile => settingStore.setDevice(isMobile))
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<el-config-provider :locale="locale">
|
||||||
|
<router-view></router-view>
|
||||||
|
</el-config-provider>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
|
||||||
|
</style>
|
||||||
@ -0,0 +1,16 @@
|
|||||||
|
import ajax from "@/utils/request";
|
||||||
|
|
||||||
|
export const getActivityList = async (params) =>
|
||||||
|
ajax(`/activity/getActivityList`, "POST", params);
|
||||||
|
|
||||||
|
export const getActivity = async (id) =>
|
||||||
|
ajax(`/activity/getActivity`, "GET", { id });
|
||||||
|
|
||||||
|
export const deleteActivity = async (id) =>
|
||||||
|
ajax(`/activity/deleteActivity`, "GET", { id });
|
||||||
|
|
||||||
|
export const updateActivity = async (params) =>
|
||||||
|
ajax(`/activity/updateActivity`, "POST", params);
|
||||||
|
|
||||||
|
export const addActivity = async (params) =>
|
||||||
|
ajax(`/activity/addActivity`, "POST", params);
|
||||||
@ -0,0 +1,23 @@
|
|||||||
|
import ajax from "@/utils/request";
|
||||||
|
|
||||||
|
export const getAdminUserList = async (params) =>
|
||||||
|
ajax(`/adminUser/getAdminUserList`, "POST", params);
|
||||||
|
|
||||||
|
export const addAdminUser = async (params) =>
|
||||||
|
ajax(`/adminUser/addAdminUser`, "POST", params);
|
||||||
|
|
||||||
|
export const deleteAdminUser = async (id) =>
|
||||||
|
ajax(`/adminUser/deleteAdminUser`, "GET", { id });
|
||||||
|
|
||||||
|
export const getAminUser = async (id) =>
|
||||||
|
ajax(`/adminUser/getAdminUser`, "GET", { id });
|
||||||
|
|
||||||
|
export const updateAdminUser = async (params) =>
|
||||||
|
ajax(`/adminUser/updateAdminUser`, "POST", params);
|
||||||
|
|
||||||
|
export const getAdminLog = async (params) =>
|
||||||
|
ajax(`/adminUser/getAdminLog`, "POST", params);
|
||||||
|
|
||||||
|
export const getCurrentAdminUser = async () =>
|
||||||
|
ajax(`/adminUser/getCurrentAdminUser`, "GET");
|
||||||
|
|
||||||
@ -0,0 +1,7 @@
|
|||||||
|
import ajax from "@/utils/request";
|
||||||
|
|
||||||
|
export const getArticle = async (id) =>
|
||||||
|
ajax(`/article/getArticle`, "GET", { id });
|
||||||
|
|
||||||
|
export const updateArticle = async (params) =>
|
||||||
|
ajax(`/article/updateArticle`, "POST", params);
|
||||||
@ -0,0 +1,4 @@
|
|||||||
|
import ajax from "@/utils/request";
|
||||||
|
|
||||||
|
export const login = async (params) =>
|
||||||
|
ajax(`/auth/login`, "POST", params);
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue