markdown 내용을 javascript로 표시
지금까지, 얼마쯤 html 쓴 글의 홈페이지를 공개하고 있었습니다만 쓰는 것이 귀찮아지고 있어, markdown를 직접 표시할 수 있도록 해 보았습니다.
이런 느낌입니다.
markdown에서 쓴 것
# WebブラウザのレンダリングとAngular の change detection
WebフレームワークとHTML 描画の仕組みの関係を研究する。
## react.js と仮想DOM
### 仮想DOM
- [仮想DOMは本当に“速い”のか? DOM操作の新しい考え方を、フレームワークを実装して理解しよう](https://employment.en-japan.com/engineerhub/entry/2020/02/18/103000)
- [ブラウザの仕組み: 最新ウェブブラウザの内部構造](https://www.html5rocks.com/ja/tutorials/internals/howbrowserswork/)
소스 코드
jquery + marked.js로 할 수 있습니다.
html
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<link href="../../lib/marked/0.3.5/markdown7.css" rel="stylesheet"></link>
</head>
<body>
<div id="container">
</div>
<script src="../../lib/jquery/3.0.0-alpha1/jquery.min.js"></script>
<script src="../../lib/marked/0.3.5/marked.min.js"></script>
<script src="../../script/showmarkdown.js"></script>
</body>
</html>
showmarkdown.js
function loadFile(fileName, callback){
httpObj = new XMLHttpRequest();
httpObj.open('GET', fileName+"?"+(new Date()).getTime(),true);
// ?以降はキャッシュされたファイルではなく、毎回読み込むためのもの
httpObj.send(null);
httpObj.onreadystatechange = function(){
if ( (httpObj.readyState == 4) && (httpObj.status == 200) ){
callback(httpObj.responseText);
}
}
}
var list = [];
loadFile('tech_study_of_web_framework.md', function(resultText) {
var md = marked(resultText);
$("#container").append(md);
});
서버에서 파일 로드
httpObj에서 로드합니다.
덧붙여서 이 코드에서는 로컬의 파일은 CORS에 저해되어 읽을 수 없기 때문에, 서버에 업로드 하지 않으면 동작 확인할 수 없습니다.
function loadFile(fileName, callback){
httpObj = new XMLHttpRequest();
httpObj.open('GET', fileName+"?"+(new Date()).getTime(),true);
// ?以降はキャッシュされたファイルではなく、毎回読み込むためのもの
httpObj.send(null);
httpObj.onreadystatechange = function(){
if ( (httpObj.readyState == 4) && (httpObj.status == 200) ){
callback(httpObj.responseText);
}
}
}
markdown 표시
방금 전의
loadfile
를 호출한 것을 marked 에 건네주어 표시해 줍니다. callback이 됩니다.var list = [];
loadFile('tech_study_of_web_framework.md', function(resultText) {
var md = marked(resultText);
$("#container").append(md);
});
이제 markdown에서 편집하는 것만으로 멋지게 성형되고 표시됩니다.
Reference
이 문제에 관하여(markdown 내용을 javascript로 표시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/uetsu840/items/eea741e987cab68dc709텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)