-import "@toast-ui/editor/dist/toastui-editor.css";
-import "@toast-ui/editor/dist/toastui-editor-viewer.css";
import { Editor } from "@toast-ui/vue-editor";
import { Viewer } from "@toast-ui/vue-editor";
+import codeSyntaxHighlight from "@toast-ui/editor-plugin-code-syntax-highlight/dist/toastui-editor-plugin-code-syntax-highlight-all.js";
+
import api from "../api";
import * as constants from "../constants";
import { Note, SearchResult } from "./classes";
titleInput: null,
initialContent: null,
editMode: false,
+ viewerOptions: { plugins: [codeSyntaxHighlight] },
+ editorOptions: { plugins: [codeSyntaxHighlight] },
};
},
</form>
<!-- Note -->
- <div v-if="currentView == views.note && currentNote != null">
+ <div v-if="currentView == views.note && currentNote != null" class="mb-4">
<!-- Viewer -->
<div v-if="editMode == false">
- <viewer :initialValue="currentNote.content" height="600px" />
+ <viewer
+ :initialValue="currentNote.content"
+ height="600px"
+ :options="viewerOptions"
+ />
</div>
<!-- Editor -->
<input type="text" class="form-control" v-model="titleInput" />
<editor
:initialValue="initialContent"
- initialEditType="wysiwyg"
+ initialEditType="markdown"
previewStyle="tab"
height="calc(100vh - 180px)"
ref="toastUiEditor"
+ :options="editorOptions"
@change="startDraftSaveTimeout"
/>
</div>
import App from "./components/App.vue";
import Vue from "vue";
import { BootstrapVue, IconsPlugin } from "bootstrap-vue";
-import "bootstrap/dist/css/bootstrap.css";
-import "bootstrap-vue/dist/bootstrap-vue.css";
import "./main.scss"
+@import "bootstrap/dist/css/bootstrap.css";
+@import "bootstrap-vue/dist/bootstrap-vue.css";
+
+@import "@toast-ui/editor/dist/toastui-editor.css";
+@import "@toast-ui/editor/dist/toastui-editor-viewer.css";
+
+@import 'prismjs/themes/prism.css';
+@import '@toast-ui/editor-plugin-code-syntax-highlight/dist/toastui-editor-plugin-code-syntax-highlight.css';
+
.clickable-link {
cursor: pointer;
&:hover {
color: inherit;
}
}
+
+.toastui-editor-contents {
+ h1,
+ h2 {
+ border-bottom: none;
+ }
+}
"version": "0.0.0",
"license": "MIT",
"devDependencies": {
+ "@toast-ui/editor-plugin-code-syntax-highlight": "^3.0.0",
"@toast-ui/vue-editor": "^3.0.2",
"@vue/component-compiler-utils": "^3.2.2",
"axios": "^0.21.1",
"prosemirror-view": "^1.18.7"
}
},
+ "node_modules/@toast-ui/editor-plugin-code-syntax-highlight": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@toast-ui/editor-plugin-code-syntax-highlight/-/editor-plugin-code-syntax-highlight-3.0.0.tgz",
+ "integrity": "sha512-62XB3IcFgvRxVZzj2kTeQao0xACotv/mD6jScSDkWac2V0jkCsTh0kZRG4TSW5bGdKvx4xz3YjFm7gWgw1I/Aw==",
+ "dev": true,
+ "dependencies": {
+ "prismjs": "^1.23.0"
+ }
+ },
"node_modules/@toast-ui/vue-editor": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@toast-ui/vue-editor/-/vue-editor-3.0.2.tgz",
"node": ">=4"
}
},
+ "node_modules/prismjs": {
+ "version": "1.27.0",
+ "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.27.0.tgz",
+ "integrity": "sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/process": {
"version": "0.11.10",
"resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
"prosemirror-view": "^1.18.7"
}
},
+ "@toast-ui/editor-plugin-code-syntax-highlight": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@toast-ui/editor-plugin-code-syntax-highlight/-/editor-plugin-code-syntax-highlight-3.0.0.tgz",
+ "integrity": "sha512-62XB3IcFgvRxVZzj2kTeQao0xACotv/mD6jScSDkWac2V0jkCsTh0kZRG4TSW5bGdKvx4xz3YjFm7gWgw1I/Aw==",
+ "dev": true,
+ "requires": {
+ "prismjs": "^1.23.0"
+ }
+ },
"@toast-ui/vue-editor": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@toast-ui/vue-editor/-/vue-editor-3.0.2.tgz",
"dev": true,
"optional": true
},
+ "prismjs": {
+ "version": "1.27.0",
+ "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.27.0.tgz",
+ "integrity": "sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA==",
+ "dev": true
+ },
"process": {
"version": "0.11.10",
"resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
"author": "Adam Dullage",
"license": "MIT",
"devDependencies": {
+ "@toast-ui/editor-plugin-code-syntax-highlight": "^3.0.0",
"@toast-ui/vue-editor": "^3.0.2",
"@vue/component-compiler-utils": "^3.2.2",
"axios": "^0.21.1",