107 lines
5.0 KiB
HTML
107 lines
5.0 KiB
HTML
<!DOCTYPE html>
|
|
<html xmlns="http://www.w3.org/1999/xhtml"
|
|
xmlns:th="http://www.thymeleaf.org"
|
|
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
|
|
layout:decorate="~{layout/default_layout}">
|
|
|
|
<th:block layout:fragment="head">
|
|
<meta charset="utf-8">
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
<!-- TOAST UI Editor CDN(JS) -->
|
|
<!-- <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css"/>-->
|
|
<!-- <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>-->
|
|
<!-- <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>-->
|
|
<script type="text/javascript" src="https://code.jquery.com/jquery-3.5.1.min.js" crossorigin="anonymous"></script>
|
|
<script type="text/javascript" src="https://uicdn.toast.com/editor/latest/toastui-editor-all.min.js"></script>
|
|
<!-- TOAST UI Editor CDN(CSS) -->
|
|
<link rel="stylesheet" href="https://uicdn.toast.com/editor/latest/toastui-editor.min.css" />
|
|
<link rel="stylesheet" href="https://uicdn.toast.com/editor/latest/toastui-editor-dark.css" />
|
|
<title>Spring Boot</title>
|
|
<script th:inline="javascript">
|
|
let editor
|
|
function onLoaded() {
|
|
var h = document.querySelector('#content').getBoundingClientRect().height + 'px'
|
|
editor = new toastui.Editor({
|
|
el: document.querySelector('#editor'),
|
|
previewStyle: 'tab',
|
|
height: '500px',
|
|
width:'100%',
|
|
theme:'dark',
|
|
usageStatistics : false,
|
|
toolbar:null,
|
|
initialValue:
|
|
"# 제목 " +"\n" +
|
|
"평문 사이에 **볼드체** *이탤릭체*"+"\n" +
|
|
"~~어디쓰지~~"+"\n" +
|
|
"***"+"\n" +
|
|
"### 모라모라 " +"\n" +
|
|
"> 으흐흠..." +"\n" +
|
|
"* 쓸까?" +"\n" +
|
|
"1. 첫번째" +"\n" +
|
|
"* [x] 체크하자" +"\n" +
|
|
"* [ ] 체크하자" +"\n" +
|
|
" \|dd\|cc\|ff\|\n" +
|
|
" \|\-\-\-\|\-\-\-\|\-\-\-\|\n" +
|
|
" \|aa\|s\|s\|" +"\n" +
|
|
"[링크다](https://youtube.com)" +"\n" +
|
|
"`var test = 'real test'`" +"\n" +
|
|
"```\n" +
|
|
"let test= = 'real test'\n" +
|
|
"```"
|
|
,
|
|
initialEditType:"wysiwyg",
|
|
// events : {
|
|
// change : this.onChange
|
|
// },
|
|
hooks: {
|
|
addImageBlobHook: (blob, callback) => {
|
|
const formData = new FormData();
|
|
formData.append('file', blob);
|
|
|
|
let url = 'blog/post/images/';
|
|
$.ajax({
|
|
type: 'POST',
|
|
enctype: 'multipart/form-data',
|
|
url: 'blog/post/imageUpload',
|
|
data: formData,
|
|
dataType: 'json',
|
|
processData: false,
|
|
contentType: false,
|
|
cache: false,
|
|
timeout: 600000,
|
|
success: function (data) {
|
|
url += data.fileName;
|
|
callback(url, '사진 대체 텍스트 입력');
|
|
},
|
|
error: function (e) {
|
|
callback('image_load_fail', '사진 대체 텍스트 입력');
|
|
}
|
|
});
|
|
}
|
|
}
|
|
});
|
|
}
|
|
function save() {
|
|
console.log(editor.getMarkdown())
|
|
}
|
|
</script>
|
|
<link th:href="@{/css/common.css}" rel="stylesheet" />
|
|
<script type="text/javascript" th:src="@{/js/common.js}"></script>
|
|
<script type="text/javascript" th:src="@{/js/user.js}"></script>
|
|
</th:block>
|
|
<body onload="onLoaded()">
|
|
<th:block layout:fragment="header" th:include="@{/fragments/header}"></th:block>
|
|
<div layout:fragment='content' class='content' id='content' style="padding: 10px">
|
|
<input id="title_layer" style="width:100%; height:50px; font-size:30px; border-width: 1px; align-content: center; margin: 10px"/>
|
|
<div id="editor" style="width:90%; font-size:15px; border-width: 0px; align-content: center"></div>
|
|
<div id="hashtag_layer">
|
|
<select style="width:40%; height:30px; font-size:15px; border-width: 0px"> </select>
|
|
<input id="hashtag" style="width:40%; height:30px; font-size:15px; border-width: 0px"/>
|
|
</div>
|
|
<div id="controll_layer" style="width: 100%">
|
|
<button onclick="save()">asdsad</button>
|
|
</div>
|
|
</div>
|
|
<th:block layout:fragment="footer" th:include="@{/fragments/footer}"></th:block>
|
|
</body>
|
|
</html> |