mirror of
https://github.com/TriliumNext/Notes.git
synced 2025-07-29 19:12:27 +08:00
Demo: Live server / dev loop
This commit is contained in:
parent
9190b2b68b
commit
c1ac67b4c4
19
demo/app.js
Normal file
19
demo/app.js
Normal file
@ -0,0 +1,19 @@
|
||||
import ClassicEditor from "@ckeditor/ckeditor5-editor-classic/src/classiceditor";
|
||||
import Essentials from "@ckeditor/ckeditor5-essentials/src/essentials";
|
||||
import Paragraph from "@ckeditor/ckeditor5-paragraph/src/paragraph";
|
||||
import Bold from "@ckeditor/ckeditor5-basic-styles/src/bold";
|
||||
import Italic from "@ckeditor/ckeditor5-basic-styles/src/italic";
|
||||
|
||||
import Math from "../src/math";
|
||||
|
||||
ClassicEditor.create(document.querySelector("#editor"), {
|
||||
plugins: [Essentials, Paragraph, Bold, Italic, Math],
|
||||
toolbar: ["bold", "italic", "math"],
|
||||
math: { engine: "katex" },
|
||||
})
|
||||
.then((editor) => {
|
||||
console.log("Editor was initialized", editor);
|
||||
})
|
||||
.catch((error) => {
|
||||
console.error(error.stack);
|
||||
});
|
55
demo/index.html
Normal file
55
demo/index.html
Normal file
@ -0,0 +1,55 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
|
||||
<title>CKEditor5 w/ ckeditor5-math</title>
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/katex@0.13.5/dist/katex.min.css"
|
||||
integrity="sha384-L+Gq2Cso/Y2x8fX4wausgiZT8z0QPZz7OqPuz4YqAycQJyrJT9NRLpjFBD6zlOia"
|
||||
crossorigin="anonymous"
|
||||
/>
|
||||
|
||||
<script
|
||||
defer
|
||||
src="https://cdn.jsdelivr.net/npm/katex@0.13.5/dist/katex.min.js"
|
||||
integrity="sha384-z64WtjpyrKFsxox9eI4SI8eM9toXdoYeWb5Qh+8PO+eG54Bv9BZqf9xNhlcLf/sA"
|
||||
crossorigin="anonymous"
|
||||
></script>
|
||||
|
||||
<script
|
||||
defer
|
||||
src="https://cdn.jsdelivr.net/npm/katex@0.13.5/dist/contrib/auto-render.min.js"
|
||||
integrity="sha384-vZTG03m+2yp6N6BNi5iM4rW4oIwk5DfcNdFfxkk9ZWpDriOkXX8voJBFrAO7MpVl"
|
||||
crossorigin="anonymous"
|
||||
onload="renderMathInElement(document.body);"
|
||||
></script>
|
||||
|
||||
<style>
|
||||
html {
|
||||
text-align: center;
|
||||
}
|
||||
body {
|
||||
max-width: 500px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h2>
|
||||
CKEditor 5 with
|
||||
<a
|
||||
href="https://github.com/isaul32/ckeditor5-math"
|
||||
rel="noopener noreferrer"
|
||||
target="_blank"
|
||||
>ckeditor5-math</a
|
||||
>
|
||||
</h2>
|
||||
<div id="editor">
|
||||
<p><script type="math/tex">e=mc^2</script></p>
|
||||
<p><script type="math/tex; mode=display">e=mc^2</script></p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
14
package.json
14
package.json
@ -20,16 +20,25 @@
|
||||
"@ckeditor/ckeditor5-widget": "^27.1.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@ckeditor/ckeditor5-basic-styles": "^27.1.0",
|
||||
"@ckeditor/ckeditor5-dev-tests": "^24.4.2",
|
||||
"@ckeditor/ckeditor5-editor-inline": "^27.1.0",
|
||||
"@ckeditor/ckeditor5-essentials": "^27.1.0",
|
||||
"@ckeditor/ckeditor5-paragraph": "^27.1.0",
|
||||
"@ckeditor/ckeditor5-theme-lark": "^27.1.0",
|
||||
"css-loader": "^5.2.4",
|
||||
"eslint": "^7.1.0",
|
||||
"eslint-config-ckeditor5": "^3.1.0",
|
||||
"html-webpack-plugin": "^5.3.1",
|
||||
"husky": "^4.2.5",
|
||||
"lint-staged": "^10.2.6",
|
||||
"mini-css-extract-plugin": "^1.6.0",
|
||||
"raw-loader": "^4.0.2",
|
||||
"stylelint": "^13.5.0",
|
||||
"stylelint-config-ckeditor5": "^2.0.1"
|
||||
"stylelint-config-ckeditor5": "^2.0.1",
|
||||
"webpack": "^5.36.2",
|
||||
"webpack-cli": "^4.6.0",
|
||||
"webpack-dev-server": "^3.11.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12.0.0",
|
||||
@ -51,7 +60,8 @@
|
||||
"lint": "eslint --quiet src/**/*.js",
|
||||
"lint:fix": "eslint --quiet src/**/*.js --fix",
|
||||
"stylelint": "stylelint --quiet --allow-empty-input 'theme/**/*.css' 'docs/**/*.css'",
|
||||
"test": "node node_modules/@ckeditor/ckeditor5-dev-tests/bin/test.js"
|
||||
"test": "node node_modules/@ckeditor/ckeditor5-dev-tests/bin/test.js",
|
||||
"start": "node node_modules/.bin/webpack serve --mode development"
|
||||
},
|
||||
"lint-staged": {
|
||||
"**/*.js": [
|
||||
|
66
webpack.config.js
Normal file
66
webpack.config.js
Normal file
@ -0,0 +1,66 @@
|
||||
const path = require("path");
|
||||
const { styles } = require("@ckeditor/ckeditor5-dev-utils");
|
||||
const HtmlWebpackPlugin = require("html-webpack-plugin");
|
||||
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
|
||||
|
||||
module.exports = {
|
||||
// https://webpack.js.org/configuration/entry-context/
|
||||
entry: "./demo/app.js",
|
||||
|
||||
// https://webpack.js.org/configuration/output/
|
||||
output: {
|
||||
path: path.resolve(__dirname, "dist"),
|
||||
filename: "bundle.js",
|
||||
},
|
||||
|
||||
devServer: {
|
||||
disableHostCheck: true,
|
||||
headers: {
|
||||
"Access-Control-Allow-Origin": "*",
|
||||
},
|
||||
historyApiFallback: true,
|
||||
hot: true,
|
||||
inline: true,
|
||||
index: "./demo/index.html",
|
||||
},
|
||||
|
||||
plugins: [
|
||||
new MiniCssExtractPlugin(),
|
||||
new HtmlWebpackPlugin({
|
||||
template: "./demo/index.html",
|
||||
}),
|
||||
],
|
||||
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /ckeditor5-[^/\\]+[/\\]theme[/\\]icons[/\\][^/\\]+\.svg$/,
|
||||
use: ["raw-loader"],
|
||||
},
|
||||
{
|
||||
test: /ckeditor5-[^/\\]+[/\\]theme[/\\].+\.css$/,
|
||||
use: [
|
||||
MiniCssExtractPlugin.loader,
|
||||
"css-loader",
|
||||
{
|
||||
loader: "postcss-loader",
|
||||
options: styles.getPostCssConfig({
|
||||
themeImporter: {
|
||||
themePath: require.resolve(
|
||||
"@ckeditor/ckeditor5-theme-lark"
|
||||
),
|
||||
},
|
||||
minify: true,
|
||||
}),
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
// Useful for debugging.
|
||||
devtool: "source-map",
|
||||
|
||||
// By default webpack logs warnings if the bundle is bigger than 200kb.
|
||||
performance: { hints: false },
|
||||
};
|
Loading…
x
Reference in New Issue
Block a user