SpringBoot 는 Editor.md 를 사용 하여 Markdown 부 텍스트 편집기 예제 구축
6564 단어 SpringBootMarkdown
머리말
Editor.md코드 미 러,jQuery,Marked 를 기반 으로 한 오픈 소스 Markdown 온라인 편집기(구성 요소)입 니 다.이 장 에 서 는 SpringBoot 통합 Editor.md 를 사용 하여 Markdown 편집 기 를 구축 합 니 다.
플러그 인 다운로드
프로젝트 주소:Editor.md
압축 해제 디 렉 터 리 구조:
Editor.md 설정
exapbles 폴 더 의 simple.html 를 프로젝트 에 배치 하고 해당 하 는 css 와 js 파일 을 설정 합 니 다.
설정 편집기
......
<script src="${re.contextPath}/jquery.min.js"></script>
<script src="${re.contextPath}/editor/editormd.min.js"></script>
<link rel="stylesheet" href="${re.contextPath}/editor/css/style.css" rel="external nofollow" />
<link rel="stylesheet" href="${re.contextPath}/editor/css/editormd.css" rel="external nofollow" rel="external nofollow" />
<link rel="shortcut icon" href="https://pandao.github.io/editor.md/favicon.ico" rel="external nofollow" type="image/x-icon"/>
......
<!-- -->
<textarea style="display:none;" id="textContent" name="textContent">
</textarea>
<!-- , HTML , POST , name , name -->
<textarea id="text" class="editormd-html-textarea" name="text"></textarea>
</div>
편집기 초기 화
var testEditor;
$(function () {
testEditor = editormd("test-editormd", {
width: "90%",
height: 640,
syncScrolling: "single",
path: "${re.contextPath}/editor/lib/",
imageUpload: true,
imageFormats: ["jpg", "jpeg", "gif", "png", "bmp", "webp"],
imageUploadURL: "/file",
// simple.html , , HTML textarea , post 。
saveHTMLToTextarea: true
// previewTheme : "dark"
});
});
이렇게 하면 가장 간단 한 editor.md 편집기 가 실 현 됩 니 다.효 과 는 다음 과 같 습 니 다.접근 주소:http://localhost:8080/
사진 업로드
초기 화 편집기 에 설 정 된 그림 업로드 주 소 는 image UploadURL:"/file"이기 때문에 이에 대응 하여 파일 업로드/file 에서 처리 하면 됩 니 다.
@RestController
@RequestMapping("/file")
@Slf4j
public class FileController {
// @Value("")
// String folder = System.getProperty("user.dir")+File.separator+"upload"+File.separator;
/**
*
*/
@Value("${img.location}")
private String folder;
@PostMapping
public FileInfo upload(HttpServletRequest request, @RequestParam(value = "editormd-image-file", required = false) MultipartFile file) throws Exception {
log.info("【FileController】 fileName={},fileOrginNmae={},fileSize={}", file.getName(), file.getOriginalFilename(), file.getSize());
log.info(request.getContextPath());
String fileName = file.getOriginalFilename();
String suffix = fileName.substring(fileName.lastIndexOf(".") + 1);
String newFileName = new Date().getTime() + "." + suffix;
File localFile = new File(folder, newFileName);
file.transferTo(localFile);
log.info(localFile.getAbsolutePath());
return new FileInfo(1, " ", request.getRequestURL().substring(0,request.getRequestURL().lastIndexOf("/"))+"/upload/"+newFileName);
}
@GetMapping("/{id}")
public void downLoad(@PathVariable String id, HttpServletRequest request, HttpServletResponse response) {
try (InputStream inputStream = new FileInputStream(new File(folder, id + ".txt"));
OutputStream outputStream = response.getOutputStream();) {
response.setContentType("application/x-download");
response.setHeader("Content-Disposition", "attachment;filename=test.txt");
IOUtils.copy(inputStream, outputStream);
outputStream.flush();
} catch (Exception e) {
}
}
}
파일 미리 보기폼 POST 를 제출 할 때 editor.md 는 우리 의 markdown 문법 문 서 를 HTML 언어 로 번역 하고 html 문자열 을 백 엔 드 에 제출 합 니 다.백 엔 드 는 이 HTML 문자열 을 데이터베이스 에 오래 지속 합 니 다.구체 적 으로 페이지 에 표시 하 는 방법 은 다음 과 같다.
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="utf-8"/>
<title>Editor.md examples</title>
<link rel="stylesheet" href="${re.contextPath}/editor/css/editormd.preview.min.css" rel="external nofollow" />
<link rel="stylesheet" href="${re.contextPath}/editor/css/editormd.css" rel="external nofollow" rel="external nofollow" />
</head>
<body>
<!-- dark , div dark , -->
<div class="content editormd-preview-theme" id="content">${editor.content!''}</div>
<script src="${re.contextPath}/jquery.min.js"></script>
<script src="${re.contextPath}/editor/lib/marked.min.js"></script>
<script src="${re.contextPath}/editor/lib/prettify.min.js"></script>
<script src="${re.contextPath}/editor/editormd.min.js"></script>
<script type="text/javascript">
editormd.markdownToHTML("content");
</script>
</body>
</html>
미리 보기 주소:http://localhost:8080/editorWeb/preview/{id}주소 편집:http://localhost:8080/editorWeb/edit/{id}
코드 다운로드
내 github 에서 다운로드,https://github.com/longfeizheng/editor-markdown
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【Java・SpringBoot・Thymeleaf】 에러 메세지를 구현(SpringBoot 어플리케이션 실천편 3)로그인하여 사용자 목록을 표시하는 응용 프로그램을 만들고, Spring에서의 개발에 대해 공부하겠습니다 🌟 마지막 데이터 바인딩에 계속 바인딩 실패 시 오류 메시지를 구현합니다. 마지막 기사🌟 src/main/res...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.