手擼markdown web server

  • 2021 年 11 月 5 日
  • 筆記

先上效果圖

在線預覽 powered by kingreatwill/mdserve.

markdown項目://github.com/kingreatwill/open

目的

經常寫筆記時在vs code中進行,裡面插件很豐富,對markdown以及擴展支援的都很好,但是離開vs code後,裡面有很多擴展功能支援的不是很好,使用過gitbook,甚至還專門為其寫的一些擴展。也使用過jekyll以及github pages,但是裡面或多或少會出現一些問題,所以決定自己做一個。

開始擼

選型

程式碼

程式碼放出來就太啰嗦了,直接這裡://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

demo

katex

綜合演示