STUDY π/FrontEnd
[FrontEnd] ν μ€νΈ UI μλν° - μ½λ syntax νμ΄λΌμ΄ν° νλ¬κ·ΈμΈ μ μ©
daxx0ne
2023. 3. 7. 11:23
λ§ν¬
GitHub - nhn/tui.editor: ππ Markdown WYSIWYG Editor. GFM Standard + Chart & UML Extensible.
ππ Markdown WYSIWYG Editor. GFM Standard + Chart & UML Extensible. - GitHub - nhn/tui.editor: ππ Markdown WYSIWYG Editor. GFM Standard + Chart & UML Extensible.
github.com
μ½λ
HTML
<script src="https://uicdn.toast.com/editor/latest/toastui-editor-all.min.js"></script>
<link rel="stylesheet" href="https://uicdn.toast.com/editor/latest/toastui-editor.min.css" />
<!-- μ νμ€ νμ΄λΌμ΄ν° νλ¬κ·ΈμΈ λΌμ΄λΈλ¬λ¦¬ μμ -->
<link rel="stylesheet" href="https://uicdn.toast.com/editor-plugin-code-syntax-highlight/latest/toastui-editor-plugin-code-syntax-highlight.min.css">
<script src="https://uicdn.toast.com/editor-plugin-code-syntax-highlight/latest/toastui-editor-plugin-code-syntax-highlight-all.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/themes/prism.min.css">
<!-- μ νμ€ νμ΄λΌμ΄ν° νλ¬κ·ΈμΈ λΌμ΄λΈλ¬λ¦¬ λ -->
<template id="viewer-1-template">
# μλ
νμΈμ.
## λ°κ°μμ.
- νν
- νΈνΈ
- νν
# μλ°
```java
// μ£Όμμ
λλ€.
int a = 10;
int b = 20;
System.out.println(a + b);
```
```html
<script src="κ²½λ‘"></script>
```
</template>
<div id="viewer-1"></div>
CSS
body {
margin: 0;
}
@font-face {
font-family: "GmarketSansMedium";
src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/GmarketSansMedium.woff")
format("woff");
font-weight: normal;
font-style: normal;
}
#viewer-1 {
padding: 0 10px;
}
html > body,
html > body .toastui-editor-contents {
font-family: "GmarketSansMedium";
}
JS
console.clear();
const Editor = toastui.Editor;
// idκ° 'viewer-1-template' μΈ μ리먼νΈλ₯Ό μ°Ύλλ€.
const viewer1TemplateEl = document.querySelector("#viewer-1-template");
const viewer1MarkdownSource = viewer1TemplateEl.innerHTML; // ν¬ν¨νκ³ μλ λ΄μ©
console.log("viewer1MarkdownSource : " + viewer1MarkdownSource);
const viewer1 = Editor.factory({
el: document.querySelector("#viewer-1"),
viewer: true,
initialValue: viewer1MarkdownSource,
plugins: [[toastui.Editor.plugin.codeSyntaxHighlight, { highlighter: Prism }]]
});