手擼markdown web server
- 2021 年 11 月 5 日
- 筆記
先上效果圖
在線預覽 powered by kingreatwill/mdserve.
markdown項目://github.com/kingreatwill/open
目的
經常寫筆記時在vs code中進行,裡面插件很豐富,對markdown以及擴展支援的都很好,但是離開vs code後,裡面有很多擴展功能支援的不是很好,使用過gitbook,甚至還專門為其寫的一些擴展。也使用過jekyll以及github pages,但是裡面或多或少會出現一些問題,所以決定自己做一個。
開始擼
選型
- dotnet
擴展不豐富,排除 - golang
擴展不豐富,排除(只有 //github.com/yuin/goldmark 稍微符合要求) - python
我想要的都有,如:mermaid,katex,code語法高亮,tasklist等;
Python-Markdown 以及擴展pymdown-extensions
程式碼
程式碼放出來就太啰嗦了,直接這裡://github.com/kingreatwill/mdserve
發布
在setup.py文件中修改版本
python setup.py sdist bdist_wheel
twine upload dist/mdserve-1.0.0*
功能
- 左側目錄icon,這裡使用是vscode-icons中的svg資源
- 默認首頁
index.html,index.md,README.md
.注意大小寫,linux是區分大小寫的. 參數--index
- 指定markdown目錄,參數
--directory
- 指定host和port,參數
--host
以及--port
- 如果是git倉庫還可以定時pull,參數
--crontab
使用
pip install --upgrade mdserve
mdserve
# 帶參數
# mdserve --directory /path/md --port 8080
docker,由於我沒有上傳到docker hub,所這裡使用dockerfile
dockerfile
FROM python:3.8-slim
RUN sed -i "s@//deb.debian.org@//mirrors.163.com@g" /etc/apt/sources.list
RUN apt-get update && apt-get install git -y
RUN pip install --upgrade mdserve -i //pypi.org/simple/
RUN mkdir -p /usr/share/mdserve
WORKDIR /usr/share/mdserve
EXPOSE 8080 8080
CMD ["mdserve"]
打包運行
docker build --no-cache -t mdserve:1.4 -f ./dockerfile .
docker stop mdserve
docker rm mdserve
docker run -itd -p 8001:8080 -v /root/github/open:/usr/share/mdserve --name mdserve mdserve:1.4