The new component, MarkdownEditor, will match when it sees a string datatype and a 'shaclvue:markdown: true' annotation. This will render as a text area with a top-right button that will open a dialog with a Markdown editor-preview combo. The editor part instantiates the other new component: MarkdownCodeMirror which uses the new dependency codemirror (and many of its extensions) for giving a markdown experience similar to that of Hedgedoc. The markdown conversion to HTML is handled by another new dependency: markdown-it. And the preview is rendered using another new dependency: highlight.js. This functionality was designed with Hedgedoc-like experience as the goal post, but it does not attempt to achieve complex tasks. A TODO is to check what effect these new dependencies have on the bundling size and subsequent loading time of the application...
94 lines
2.9 KiB
JSON
94 lines
2.9 KiB
JSON
{
|
|
"name": "shacl-vue",
|
|
"version": "0.0.7",
|
|
"description": "Autogenerate user interfaces from SHACL shapes",
|
|
"main": "./dist/lib/shacl-vue.cjs.js",
|
|
"type": "module",
|
|
"module": "./dist/lib/shacl-vue.es.js",
|
|
"exports": {
|
|
".": {
|
|
"import": "./dist/lib/shacl-vue.es.js",
|
|
"require": "./dist/lib/shacl-vue.cjs.js"
|
|
},
|
|
"./shapedata": {
|
|
"import": "./dist/lib/shapedata.es.js",
|
|
"require": "./dist/lib/shapedata.cjs.js"
|
|
},
|
|
"./style.css": "./dist/lib/shacl-vue.css"
|
|
},
|
|
"files": [
|
|
"dist/lib"
|
|
],
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git+https://github.com/psychoinformatics-de/shacl-vue.git"
|
|
},
|
|
"keywords": [
|
|
"metadata",
|
|
"linked data",
|
|
"SHACL",
|
|
"RDF",
|
|
"editor",
|
|
"viewer",
|
|
"UI",
|
|
"VueJS"
|
|
],
|
|
"author": "Stephan Heunis",
|
|
"license": "MIT",
|
|
"bugs": {
|
|
"url": "https://github.com/psychoinformatics-de/shacl-vue/issues"
|
|
},
|
|
"homepage": "https://github.com/psychoinformatics-de/shacl-vue#readme",
|
|
"scripts": {
|
|
"dev": "vite --config vite.config.app.mjs",
|
|
"build": "npm run build:lib && npm run build:app",
|
|
"build:lib": "vite build --config vite.config.lib.mjs",
|
|
"build:app": "vite build --config vite.config.app.mjs",
|
|
"preview": "vite preview --config vite.config.app.mjs",
|
|
"docs:dev": "vitepress dev docs",
|
|
"docs:build": "vitepress build docs",
|
|
"docs:preview": "vitepress preview docs",
|
|
"test": "vitest --config vite.config.lib.mjs",
|
|
"format": "prettier .",
|
|
"format:write": "prettier --write ."
|
|
},
|
|
"dependencies": {
|
|
"@codemirror/autocomplete": "^6.20.0",
|
|
"@codemirror/commands": "^6.10.1",
|
|
"@codemirror/lang-markdown": "^6.5.0",
|
|
"@codemirror/language": "^6.12.1",
|
|
"@codemirror/language-data": "^6.5.2",
|
|
"@codemirror/state": "^6.5.4",
|
|
"@codemirror/theme-one-dark": "^6.1.3",
|
|
"@codemirror/view": "^6.39.11",
|
|
"@mdi/font": "7.4.47",
|
|
"dompurify": "^3.3.1",
|
|
"highlight.js": "^11.11.1",
|
|
"lodash-es": "^4.17.21",
|
|
"markdown-it": "^14.1.0",
|
|
"n3": "^1.26.0",
|
|
"roboto-fontface": "^0.10.0",
|
|
"shacl-tulip": "^0.0.9",
|
|
"vue-virtual-scroller": "^2.0.0-beta.8",
|
|
"yaml": "^2.8.2"
|
|
},
|
|
"devDependencies": {
|
|
"@vitejs/plugin-vue": "^6.0.1",
|
|
"happy-dom": "^20.0.11",
|
|
"mermaid": "^11.11.0",
|
|
"prettier": "^3.6.2",
|
|
"sass": "^1.92.1",
|
|
"unplugin-fonts": "^1.4.0",
|
|
"unplugin-vue-components": "^29.0.0",
|
|
"vite": "^7.1.5",
|
|
"vite-plugin-vuetify": "^2.1.2",
|
|
"vitepress": "^1.6.4",
|
|
"vitepress-plugin-mermaid": "^2.0.17",
|
|
"vitest": "^3.2.4",
|
|
"vue": "^3.5.21"
|
|
},
|
|
"peerDependencies": {
|
|
"vue": "^3.5.21",
|
|
"vuetify": "^3.11.4"
|
|
}
|
|
}
|