mirror of
https://github.com/codex-team/codex.docs.git
synced 2025-07-19 21:29:41 +02:00
Allow inline-code in Header (#64)
* Allow inline-code in Header resolves #59 - add `striptags` for titles - upgrade editor and tools - show page title in html * Add line break
This commit is contained in:
parent
f87fd72fcb
commit
11b796bcc7
9 changed files with 76 additions and 86 deletions
12
package.json
12
package.json
|
@ -12,7 +12,8 @@
|
||||||
"build": "webpack ./src/frontend/js/app.js --o='./public/dist/[name].bundle.js' --output-library=Docs --output-public-path=/dist/ -p --mode=production",
|
"build": "webpack ./src/frontend/js/app.js --o='./public/dist/[name].bundle.js' --output-library=Docs --output-public-path=/dist/ -p --mode=production",
|
||||||
"build:dev": "webpack ./src/frontend/js/app.js --o='./public/dist/[name].bundle.js' --output-library=Docs --output-public-path=/dist/ -p --mode=development --watch",
|
"build:dev": "webpack ./src/frontend/js/app.js --o='./public/dist/[name].bundle.js' --output-library=Docs --output-public-path=/dist/ -p --mode=development --watch",
|
||||||
"precommit": "yarn lint && yarn test --exit",
|
"precommit": "yarn lint && yarn test --exit",
|
||||||
"generatePassword": "node ./generatePassword.js"
|
"generatePassword": "node ./generatePassword.js",
|
||||||
|
"editor-upgrade": "yarn add -D @editorjs/{editorjs,header,code,delimiter,list,image,inline-code,marker}@latest"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/polyfill": "^7.0.0",
|
"@babel/polyfill": "^7.0.0",
|
||||||
|
@ -46,15 +47,12 @@
|
||||||
"@babel/preset-env": "^7.1.0",
|
"@babel/preset-env": "^7.1.0",
|
||||||
"@editorjs/code": "^2.4.0",
|
"@editorjs/code": "^2.4.0",
|
||||||
"@editorjs/delimiter": "^1.1.0",
|
"@editorjs/delimiter": "^1.1.0",
|
||||||
"@editorjs/editorjs": "^2.11.7",
|
"@editorjs/editorjs": "^2.11.8",
|
||||||
"@editorjs/embed": "^2.2.0",
|
"@editorjs/header": "^2.2.2",
|
||||||
"@editorjs/header": "^2.2.0",
|
|
||||||
"@editorjs/image": "^2.1.0",
|
"@editorjs/image": "^2.1.0",
|
||||||
"@editorjs/inline-code": "^1.3.0",
|
"@editorjs/inline-code": "^1.3.0",
|
||||||
"@editorjs/list": "^1.3.0",
|
"@editorjs/list": "^1.3.1",
|
||||||
"@editorjs/marker": "^1.2.0",
|
"@editorjs/marker": "^1.2.0",
|
||||||
"@editorjs/quote": "^2.2.0",
|
|
||||||
"@editorjs/raw": "^2.1.1",
|
|
||||||
"autoprefixer": "^9.1.3",
|
"autoprefixer": "^9.1.3",
|
||||||
"babel": "^6.23.0",
|
"babel": "^6.23.0",
|
||||||
"babel-eslint": "^10.0.1",
|
"babel-eslint": "^10.0.1",
|
||||||
|
|
2
public/dist/code-styling.bundle.js
vendored
2
public/dist/code-styling.bundle.js
vendored
File diff suppressed because one or more lines are too long
29
public/dist/editor.bundle.js
vendored
29
public/dist/editor.bundle.js
vendored
File diff suppressed because one or more lines are too long
2
public/dist/main.bundle.js
vendored
2
public/dist/main.bundle.js
vendored
File diff suppressed because one or more lines are too long
|
@ -1,18 +1,22 @@
|
||||||
import EditorJS from '@editorjs/editorjs';
|
import EditorJS from '@editorjs/editorjs';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tools for the Editor
|
* Block Tools for the Editor
|
||||||
*/
|
*/
|
||||||
import Header from '@editorjs/header';
|
import Header from '@editorjs/header';
|
||||||
import Quote from '@editorjs/quote';
|
|
||||||
import Marker from '@editorjs/marker';
|
|
||||||
import CodeTool from '@editorjs/code';
|
import CodeTool from '@editorjs/code';
|
||||||
import Delimiter from '@editorjs/delimiter';
|
import Delimiter from '@editorjs/delimiter';
|
||||||
import InlineCode from '@editorjs/inline-code';
|
|
||||||
import List from '@editorjs/list';
|
import List from '@editorjs/list';
|
||||||
import Image from '@editorjs/image';
|
import Image from '@editorjs/image';
|
||||||
import RawTool from '@editorjs/raw';
|
// import RawTool from '@editorjs/raw';
|
||||||
import Embed from '@editorjs/embed';
|
// import Embed from '@editorjs/embed';
|
||||||
|
// import Quote from '@editorjs/quote';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Inline Tools for the Editor
|
||||||
|
*/
|
||||||
|
import InlineCode from '@editorjs/inline-code';
|
||||||
|
import Marker from '@editorjs/marker';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class for working with Editor.js
|
* Class for working with Editor.js
|
||||||
|
@ -30,37 +34,36 @@ export default class Editor {
|
||||||
tools: {
|
tools: {
|
||||||
header: {
|
header: {
|
||||||
class: Header,
|
class: Header,
|
||||||
inlineToolbar: ['link', 'marker'],
|
inlineToolbar: ['link', 'marker', 'inlineCode'],
|
||||||
config: {
|
config: {
|
||||||
placeholder: options.headerPlaceholder || ''
|
placeholder: options.headerPlaceholder || ''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
quote: {
|
|
||||||
class: Quote,
|
// quote: {
|
||||||
inlineToolbar: true
|
// class: Quote,
|
||||||
},
|
// inlineToolbar: true
|
||||||
|
// },
|
||||||
|
|
||||||
code: {
|
code: {
|
||||||
class: CodeTool,
|
class: CodeTool,
|
||||||
shortcut: 'CMD+SHIFT+D'
|
shortcut: 'CMD+SHIFT+D'
|
||||||
},
|
},
|
||||||
rawTool: {
|
|
||||||
class: RawTool,
|
// rawTool: {
|
||||||
shortcut: 'CMD+SHIFT+R'
|
// class: RawTool,
|
||||||
},
|
// shortcut: 'CMD+SHIFT+R'
|
||||||
|
// },
|
||||||
|
|
||||||
delimiter: Delimiter,
|
delimiter: Delimiter,
|
||||||
embed: Embed,
|
|
||||||
inlineCode: {
|
// embed: Embed,
|
||||||
class: InlineCode,
|
|
||||||
shortcut: 'CMD+SHIFT+C'
|
|
||||||
},
|
|
||||||
marker: {
|
|
||||||
class: Marker,
|
|
||||||
shortcut: 'CMD+SHIFT+M'
|
|
||||||
},
|
|
||||||
list: {
|
list: {
|
||||||
class: List,
|
class: List,
|
||||||
inlineToolbar: true
|
inlineToolbar: true
|
||||||
},
|
},
|
||||||
|
|
||||||
image: {
|
image: {
|
||||||
class: Image,
|
class: Image,
|
||||||
inlineToolbar: true,
|
inlineToolbar: true,
|
||||||
|
@ -78,6 +81,19 @@ export default class Editor {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Inline Tools
|
||||||
|
*/
|
||||||
|
inlineCode: {
|
||||||
|
class: InlineCode,
|
||||||
|
shortcut: 'CMD+SHIFT+C'
|
||||||
|
},
|
||||||
|
|
||||||
|
marker: {
|
||||||
|
class: Marker,
|
||||||
|
shortcut: 'CMD+SHIFT+M'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data: {
|
data: {
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
{% else %}
|
{% else %}
|
||||||
href="/page/{{ firstLevelPage._id }}"
|
href="/page/{{ firstLevelPage._id }}"
|
||||||
{% endif %}>
|
{% endif %}>
|
||||||
{{ firstLevelPage.title }}
|
{{ firstLevelPage.title | striptags }}
|
||||||
</a>
|
</a>
|
||||||
{% if firstLevelPage.children is not empty %}
|
{% if firstLevelPage.children is not empty %}
|
||||||
<ul class="docs-aside__section-list">
|
<ul class="docs-aside__section-list">
|
||||||
|
@ -22,7 +22,7 @@
|
||||||
{% else %}
|
{% else %}
|
||||||
href="/page/{{ child._id }}"
|
href="/page/{{ child._id }}"
|
||||||
{% endif %}>
|
{% endif %}>
|
||||||
{{ child.title }}
|
{{ child.title | striptags }}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<header class="docs-header">
|
<header class="docs-header">
|
||||||
<a href="/" class="docs-header__logo">
|
<a href="/" class="docs-header__logo">
|
||||||
{{ config.title }}
|
{{ config.title | striptags }}
|
||||||
</a>
|
</a>
|
||||||
<ul class="docs-header__menu">
|
<ul class="docs-header__menu">
|
||||||
{% if isAuthorized == true %}
|
{% if isAuthorized == true %}
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
{% else %}
|
{% else %}
|
||||||
href="/page/{{ option._id }}"
|
href="/page/{{ option._id }}"
|
||||||
{% endif %}>
|
{% endif %}>
|
||||||
{{ option.title }}
|
{{ option.title | striptags }}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>{{ config.title }}</title>
|
<title>{{ (page.title ?: config.title) | striptags }}</title>
|
||||||
<link rel="stylesheet" href="/dist/main.css" />
|
<link rel="stylesheet" href="/dist/main.css" />
|
||||||
<meta property="og:type" content="article" />
|
<meta property="og:type" content="article" />
|
||||||
<meta property="og:title" content="{{ page.title }}" />
|
<meta property="og:title" content="{{ page.title | striptags }}" />
|
||||||
<meta property="article:modified_time" content="{{ (page.body.time / 1000) | date("c") }}" />
|
<meta property="article:modified_time" content="{{ (page.body.time / 1000) | date("c") }}" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
|
||||||
</head>
|
</head>
|
||||||
|
|
39
yarn.lock
39
yarn.lock
|
@ -613,20 +613,15 @@
|
||||||
resolved "https://registry.yarnpkg.com/@editorjs/delimiter/-/delimiter-1.1.0.tgz#f61808ea92e4e289607d54441964f1cb8605410a"
|
resolved "https://registry.yarnpkg.com/@editorjs/delimiter/-/delimiter-1.1.0.tgz#f61808ea92e4e289607d54441964f1cb8605410a"
|
||||||
integrity sha512-0G36vEvvb94g6nu/qs2rVjC/qjxLnY20OfOgxROKSOOXzS7xnkTij5raeIxRiYueeLL5fMrzrvtFH7wclfxF+g==
|
integrity sha512-0G36vEvvb94g6nu/qs2rVjC/qjxLnY20OfOgxROKSOOXzS7xnkTij5raeIxRiYueeLL5fMrzrvtFH7wclfxF+g==
|
||||||
|
|
||||||
"@editorjs/editorjs@^2.11.7":
|
"@editorjs/editorjs@^2.11.8":
|
||||||
version "2.11.7"
|
version "2.11.8"
|
||||||
resolved "https://registry.yarnpkg.com/@editorjs/editorjs/-/editorjs-2.11.7.tgz#63c66ce74ef4f55e344f3ad703a7cfec476478b4"
|
resolved "https://registry.yarnpkg.com/@editorjs/editorjs/-/editorjs-2.11.8.tgz#b3269158ec866e9667b5ce0d96982bfc7922ce85"
|
||||||
integrity sha512-f1kJc41n0MkEm+PadjRSyhQEHDauPA6S90OwlCW+bUwuLIvxwan1ttnE9G4lf6LT/Yd8PIanTlOTJqeEYiqDqA==
|
integrity sha512-kUYofUe9Csp+d7/MiDmIv05cTY3WRBynz01ImjjEG+4d7YDgYdAqRHrl/nF4ffLZ/VpL3OyTI3Crgq3Rf6E4bA==
|
||||||
|
|
||||||
"@editorjs/embed@^2.2.0":
|
"@editorjs/header@^2.2.2":
|
||||||
version "2.2.0"
|
version "2.2.2"
|
||||||
resolved "https://registry.yarnpkg.com/@editorjs/embed/-/embed-2.2.0.tgz#4a6121cd4c526ea1db20c9cc9629e6022861f18f"
|
resolved "https://registry.yarnpkg.com/@editorjs/header/-/header-2.2.2.tgz#47ce654032f7a094c0b40daa4545c61893033002"
|
||||||
integrity sha512-jWjFL6VyiGlezSWQRvddMHpidGHy2blUS9lmtNxuIZRwob6Xizg8LweKSFEvjr9tPLqKyX3sIeSQlnCb1vntJQ==
|
integrity sha512-r9lmDVdVSNjnSoYmEMOSLp7BARWEU2O79UJjWPkLWAwV7RIOYO+s9fF3IbTEaPaltANAZvIzOYNmryGOhL8biA==
|
||||||
|
|
||||||
"@editorjs/header@^2.2.0":
|
|
||||||
version "2.2.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/@editorjs/header/-/header-2.2.0.tgz#df19f1dd6a22a0a2264ed7ef3c0611d841420390"
|
|
||||||
integrity sha512-y0JfNT7BwGiewzwklYiXEYgHkEAZVo/Y1noAg1ZF/Kd9vY6MoK/o9LjTzV3IfxZsObKBSvwzz3OxfXhGIv3tCQ==
|
|
||||||
|
|
||||||
"@editorjs/image@^2.1.0":
|
"@editorjs/image@^2.1.0":
|
||||||
version "2.1.0"
|
version "2.1.0"
|
||||||
|
@ -638,26 +633,16 @@
|
||||||
resolved "https://registry.yarnpkg.com/@editorjs/inline-code/-/inline-code-1.3.0.tgz#66b915d2c128ba520ba4b245067d40851d78355a"
|
resolved "https://registry.yarnpkg.com/@editorjs/inline-code/-/inline-code-1.3.0.tgz#66b915d2c128ba520ba4b245067d40851d78355a"
|
||||||
integrity sha512-pKvBYvPyaNZKiRd+jK8X2HDgAq8kDaOPXxUTB33He2L53OqbAJ8Cmt+8F4EQ3i0EyQYOrtT2uXnDQkjvVg41tg==
|
integrity sha512-pKvBYvPyaNZKiRd+jK8X2HDgAq8kDaOPXxUTB33He2L53OqbAJ8Cmt+8F4EQ3i0EyQYOrtT2uXnDQkjvVg41tg==
|
||||||
|
|
||||||
"@editorjs/list@^1.3.0":
|
"@editorjs/list@^1.3.1":
|
||||||
version "1.3.0"
|
version "1.3.1"
|
||||||
resolved "https://registry.yarnpkg.com/@editorjs/list/-/list-1.3.0.tgz#8657012488e29bd86d072530f6bf8ad6d9686bb7"
|
resolved "https://registry.yarnpkg.com/@editorjs/list/-/list-1.3.1.tgz#0c551aa1efe80a8fcd6242cc6053eb72351d25c8"
|
||||||
integrity sha512-jMfvny9BUy2MroFoiy5WyxRVKwLw3F0jAcLZ/Qgw055/TvP2I9LzIRJhIUEkKOPo8T/rx7Xf4/8lklUKvF6Yrg==
|
integrity sha512-LYjUL26fe5P1mXmwXiiUPcU1V/HHT4tZPRJaEC4M7DB8SScYCiK9/ByIxd47a7751rsN/rUaI1MhKammZNH+dA==
|
||||||
|
|
||||||
"@editorjs/marker@^1.2.0":
|
"@editorjs/marker@^1.2.0":
|
||||||
version "1.2.0"
|
version "1.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/@editorjs/marker/-/marker-1.2.0.tgz#4e3130870c2ca4b3ac5b05405b4e49add55893cb"
|
resolved "https://registry.yarnpkg.com/@editorjs/marker/-/marker-1.2.0.tgz#4e3130870c2ca4b3ac5b05405b4e49add55893cb"
|
||||||
integrity sha512-BkAvAvf2B0xsUbMPoht7g1oWaxw79NeqJM//+wM3VnEruj908qw7AluDBVy1gwOe2fhhryaDXQ3kbqU6HC8o1g==
|
integrity sha512-BkAvAvf2B0xsUbMPoht7g1oWaxw79NeqJM//+wM3VnEruj908qw7AluDBVy1gwOe2fhhryaDXQ3kbqU6HC8o1g==
|
||||||
|
|
||||||
"@editorjs/quote@^2.2.0":
|
|
||||||
version "2.2.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/@editorjs/quote/-/quote-2.2.0.tgz#a62250c7b6ef19772021530f12b56f0ed13377e8"
|
|
||||||
integrity sha512-Ej0z8ylsdfu106n+d6tDZG5A6SXTBDgtKlmtACsvtUa645oiDatwNwe5K6u7nFm6SJiTJmBxA9qKRQPH3YBT6g==
|
|
||||||
|
|
||||||
"@editorjs/raw@^2.1.1":
|
|
||||||
version "2.1.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/@editorjs/raw/-/raw-2.1.1.tgz#00cea181d8ce1a2a082352c6644090660c8237c7"
|
|
||||||
integrity sha512-So+Y6fLIO7+JGRa/tOsHho58hASYt1m7lDM/+0fehs+LMdYlloLmj68X2q7Wxk60R8aCrUscXt/fOggcg7giPQ==
|
|
||||||
|
|
||||||
"@sinonjs/commons@^1.0.2", "@sinonjs/commons@^1.2.0":
|
"@sinonjs/commons@^1.0.2", "@sinonjs/commons@^1.2.0":
|
||||||
version "1.3.0"
|
version "1.3.0"
|
||||||
resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.3.0.tgz#50a2754016b6f30a994ceda6d9a0a8c36adda849"
|
resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.3.0.tgz#50a2754016b6f30a994ceda6d9a0a8c36adda849"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue