Browse Source

feat: 增加一些功能

main
谢亚昕 4 months ago
parent
commit
154561e300
  1. 5
      examples/basic/index.html
  2. 5
      package.json
  3. 4
      packages/core/build/build.config.dev.ts
  4. 2
      packages/core/package.json
  5. 12
      packages/core/src/index.ts
  6. 26
      pnpm-lock.yaml

5
examples/basic/index.html

@ -8,5 +8,10 @@
<body> <body>
<div id="app"></div> <div id="app"></div>
<script type="module" src="main.ts"></script> <script type="module" src="main.ts"></script>
<style>
#app .tiptap{
padding: 10px;
}
</style>
</body> </body>
</html> </html>

5
package.json

@ -1,7 +1,10 @@
{ {
"private": true, "private": true,
"name": "inkeon", "name": "inkeon",
"scripts": {}, "scripts": {
"dev": "pnpm -C packages/%npm_config_dir% dev",
"start": "pnpm -C examples/%npm_config_dir% start"
},
"devDependencies": { "devDependencies": {
"@types/lodash-es": "^4.17.12", "@types/lodash-es": "^4.17.12",
"lodash-es": "^4.17.21", "lodash-es": "^4.17.21",

4
packages/core/build/build.config.dev.ts

@ -1,8 +1,12 @@
import { mergeConfig } from "./build.config.base"; import { mergeConfig } from "./build.config.base";
export default mergeConfig({ export default mergeConfig({
declaration: false,
replace: { replace: {
__DEV__: "true", __DEV__: "true",
__PROD__: "false" __PROD__: "false"
},
rollup: {
emitCJS: false
} }
}); });

2
packages/core/package.json

@ -35,6 +35,8 @@
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"@tiptap/core": "^2.10.4", "@tiptap/core": "^2.10.4",
"@tiptap/extension-character-count": "^2.10.4",
"@tiptap/extension-image": "^2.10.4",
"@tiptap/pm": "^2.10.4", "@tiptap/pm": "^2.10.4",
"@tiptap/starter-kit": "^2.10.4" "@tiptap/starter-kit": "^2.10.4"
} }

12
packages/core/src/index.ts

@ -1,5 +1,7 @@
import { Editor } from '@tiptap/core' import { Editor } from '@tiptap/core'
import StarterKit from '@tiptap/starter-kit' import StarterKit from '@tiptap/starter-kit'
import CharacterCount from '@tiptap/extension-character-count'
import Image from '@tiptap/extension-image'
import { getDom } from './utils.js' import { getDom } from './utils.js'
class Inkeon { class Inkeon {
@ -13,9 +15,15 @@ class Inkeon {
init(dom: Element) { init(dom: Element) {
this.#editor = new Editor({ this.#editor = new Editor({
element: getDom(dom), element: getDom(dom),
extensions: [StarterKit], extensions: [
content: '<p>Hello World!</p>', StarterKit,
Image,
CharacterCount.configure({
limit: 240,
}),
],
}) })
this.#editor.chain().setContent(`<p>Hello World!</p> <img src="https://cd2.boardgamesmaker.com/AttachFiles/WebsiteImages/Product_Show/FI_8807.jpg" />`).run()
} }
} }

26
pnpm-lock.yaml

@ -35,6 +35,12 @@ importers:
'@tiptap/core': '@tiptap/core':
specifier: ^2.10.4 specifier: ^2.10.4
version: 2.10.4(@tiptap/pm@2.10.4) version: 2.10.4(@tiptap/pm@2.10.4)
'@tiptap/extension-character-count':
specifier: ^2.10.4
version: 2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))(@tiptap/pm@2.10.4)
'@tiptap/extension-image':
specifier: ^2.10.4
version: 2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))
'@tiptap/pm': '@tiptap/pm':
specifier: ^2.10.4 specifier: ^2.10.4
version: 2.10.4 version: 2.10.4
@ -459,6 +465,12 @@ packages:
peerDependencies: peerDependencies:
'@tiptap/core': ^2.7.0 '@tiptap/core': ^2.7.0
'@tiptap/extension-character-count@2.10.4':
resolution: {integrity: sha512-NoVLQI/zTEdA0EZe5+oinQ+F/WQMblZRdEWgfsUtQoLRloSAF+pFeQwDenpejdOuWqixT4vdzpboBocj4uQLsw==}
peerDependencies:
'@tiptap/core': ^2.7.0
'@tiptap/pm': ^2.7.0
'@tiptap/extension-code-block@2.10.4': '@tiptap/extension-code-block@2.10.4':
resolution: {integrity: sha512-qS4jnbJqghNMT2+B+GQ807ATgqkL9OQ//NlL+ZwVSe+DPDduNA9B6IB9SrWENDfOnzekpi7kcEcm+RenELARRQ==} resolution: {integrity: sha512-qS4jnbJqghNMT2+B+GQ807ATgqkL9OQ//NlL+ZwVSe+DPDduNA9B6IB9SrWENDfOnzekpi7kcEcm+RenELARRQ==}
peerDependencies: peerDependencies:
@ -509,6 +521,11 @@ packages:
'@tiptap/core': ^2.7.0 '@tiptap/core': ^2.7.0
'@tiptap/pm': ^2.7.0 '@tiptap/pm': ^2.7.0
'@tiptap/extension-image@2.10.4':
resolution: {integrity: sha512-fPdAqP4M1zwz5jyrQNIEL4OvvGeJso45svaaBLV342yRLOpbVIgAp/RsuWSGDQTUWoGhdkHdIrbH2bUGNEbMBg==}
peerDependencies:
'@tiptap/core': ^2.7.0
'@tiptap/extension-italic@2.10.4': '@tiptap/extension-italic@2.10.4':
resolution: {integrity: sha512-8MIQ+wsbyxNCZDCFTVTOXrS2AvFyOhtlBNgVU2+6r6xnJV4AcfEA3qclysqrjOlL117ped/nzDeoB0AeX0CI+Q==} resolution: {integrity: sha512-8MIQ+wsbyxNCZDCFTVTOXrS2AvFyOhtlBNgVU2+6r6xnJV4AcfEA3qclysqrjOlL117ped/nzDeoB0AeX0CI+Q==}
peerDependencies: peerDependencies:
@ -1592,6 +1609,11 @@ snapshots:
dependencies: dependencies:
'@tiptap/core': 2.10.4(@tiptap/pm@2.10.4) '@tiptap/core': 2.10.4(@tiptap/pm@2.10.4)
'@tiptap/extension-character-count@2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))(@tiptap/pm@2.10.4)':
dependencies:
'@tiptap/core': 2.10.4(@tiptap/pm@2.10.4)
'@tiptap/pm': 2.10.4
'@tiptap/extension-code-block@2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))(@tiptap/pm@2.10.4)': '@tiptap/extension-code-block@2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))(@tiptap/pm@2.10.4)':
dependencies: dependencies:
'@tiptap/core': 2.10.4(@tiptap/pm@2.10.4) '@tiptap/core': 2.10.4(@tiptap/pm@2.10.4)
@ -1633,6 +1655,10 @@ snapshots:
'@tiptap/core': 2.10.4(@tiptap/pm@2.10.4) '@tiptap/core': 2.10.4(@tiptap/pm@2.10.4)
'@tiptap/pm': 2.10.4 '@tiptap/pm': 2.10.4
'@tiptap/extension-image@2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))':
dependencies:
'@tiptap/core': 2.10.4(@tiptap/pm@2.10.4)
'@tiptap/extension-italic@2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))': '@tiptap/extension-italic@2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))':
dependencies: dependencies:
'@tiptap/core': 2.10.4(@tiptap/pm@2.10.4) '@tiptap/core': 2.10.4(@tiptap/pm@2.10.4)

Loading…
Cancel
Save