手撸markdown|手撸markdown web server

先上效果图 手撸markdown|手撸markdown web server
文章图片

在线预览 powered by kingreatwill/mdserve.
markdown项目:https://github.com/kingreatwill/open
目的 经常写笔记时在vs code中进行,里面插件很丰富,对markdown以及扩展支持的都很好,但是离开vs code后,里面有很多扩展功能支持的不是很好,使用过gitbook,甚至还专门为其写的一些扩展。也使用过jekyll以及github pages,但是里面或多或少会出现一些问题,所以决定自己做一个。
开始撸 选型

  • dotnet
    扩展不丰富,排除
  • golang
    扩展不丰富,排除(只有 https://github.com/yuin/goldmark 稍微符合要求)
  • python
    我想要的都有,如:mermaid,katex,code语法高亮,tasklist等;
    Python-Markdown 以及扩展pymdown-extensions
代码
代码放出来就太啰嗦了,直接这里:https://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

【手撸markdown|手撸markdown web server】docker,由于我没有上传到docker hub,所这里使用dockerfile
dockerfile
FROM python:3.8-slim RUN sed -i "s@http://deb.debian.org@https://mirrors.163.com@g" /etc/apt/sources.list RUN apt-get update && apt-get install git -y RUN pip install --upgrade mdserve -i https://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
综合演示

    推荐阅读