手撸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
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
手撸markdown web server的更多相关文章
- Django-手撸简易web框架-实现动态网页-wsgiref初识-jinja2初识-python主流web框架对比-00
目录 自己动手实现一个简易版本的web框架 手撸一个web服务端 根据请求 url 做不同的响应处理 基于wsgiref模块实现服务端 用wsgiref 模块的做的两件事 拆分服务端代码 支持新的请求 ...
- 使用wsgiref手撸web框架
模板 前言 要说到应用程序,就不得不提的就是cs架构和BS架构 所谓的cs架构就是client端和server端,就像我们的电脑上的qq,微信等应用程序 bs架构就是浏览器端和server端,我们不需 ...
- 纯手撸web框架
纯手撸web框架 一.Web应用的组成 接下来我们学习的目的是为了开发一个Web应用程序,而Web应用程序是基于B/S架构的,其中B指的是浏览器,负责向S端发送请求信息,而S端会根据接收到的请求信息返 ...
- 通过 Netty、ZooKeeper 手撸一个 RPC 服务
说明 项目链接 微服务框架都包括什么? 如何实现 RPC 远程调用? 开源 RPC 框架 限定语言 跨语言 RPC 框架 本地 Docker 搭建 ZooKeeper 下载镜像 启动容器 查看容器日志 ...
- Chapter 1: A Simple Web Server
这算是一篇读书笔记,留着以后复习看看. Web Server又称为Http Server,因为它使用HTTP协议和客户端(一般是各种各样的浏览器)进行通信. 什么是HTTP协议呢? HTTP协议是基于 ...
- php手撸轻量级开发(一)
聊聊本文内容 之前讲过php简单的内容,但是原生永远是不够看的,这次用框架做一些功能性的事情. 但是公司用自己的框架不能拿出来,用了用一些流行的框架比如tp,larveral之类的感觉太重,CI也不顺 ...
- 【轮子狂魔】抛弃IIS,打造个性的Web Server - WebAPI/Lua/MVC(附带源码)
引言 此篇是<[轮子狂魔]抛弃IIS,向天借个HttpListener - 基础篇(附带源码)>的续篇,也可以说是提高篇,如果你对HttpListener不甚了解的话,建议先看下基础篇. ...
- 第二篇-用Flutter手撸一个抖音国内版,看看有多炫
前言 继上一篇使用Flutter开发的抖音国际版 后再次撸一个国内版抖音,大部分功能已完成,主要是Flutter开发APP速度很爽, 先看下图 项目主要结构介绍 这次主要的改动在api.dart 及 ...
- Node.js 从零开发 web server博客项目[日志]
web server博客项目 Node.js 从零开发 web server博客项目[项目介绍] Node.js 从零开发 web server博客项目[接口] Node.js 从零开发 web se ...
随机推荐
- openFeign夺命连环9问,这谁受得了?
1.前言 前面介绍了Spring Cloud 中的灵魂摆渡者Nacos,和它的前辈们相比不仅仅功能强大,而且部署非常简单. 今天介绍一款服务调用的组件:OpenFeign,同样是一款超越先辈(Ribb ...
- Java基础系列(21)- dowhile循环
do-while循环 对于while语句而言,如果不满足条件,则不能进入循环.但有时候我们需要即使不满足条件,也至少执行一次 do-while循环和while循环相似,不同的是,do-while循环至 ...
- 网络IO模型与Reactor模式
一.三种网络IO模型: 分类: BIO 同步的.阻塞式 IO NIO 同步的.非阻塞式 IO AIO 异步非阻塞式 IO 阻塞和同步的概念: 阻塞:若读写未完成,调用读写的线程一直等待 非阻塞:若读写 ...
- 最推荐的抓包工具charles
Charles是一个HTTP代理服务器,HTTP监视器,反转代理服务器,当浏览器连接Charles的代理访问互联网时,Charles可以监控浏览器发送和接收的所有数据.它允许一个开发者查看所有连接互联 ...
- php CURL 发送http请求 GET POST
* CURL http://www.php.net/manual/en/book.curl.php http://jp2.php.net/manual/en/function.curl-setopt. ...
- LR虚拟用户已设置集合点,但controller无法设置集合点策略的解决方案
原文来自:https://blog.csdn.net/qq_34982914/article/details/90905030 学习loadrunner的过程中,肯定涉及集合点的添加,但是我们按照书上 ...
- P3703-[SDOI2017]树点涂色【LCT,线段树】
正题 题目链接:https://www.luogu.com.cn/problem/P3703 题目大意 \(n\)个点的一棵树开始所有点有不同的颜色,\(m\)次操作 将根节点到\(x\)节点的路径上 ...
- Unity3D组成
从宏观的角度来看,分为七个模块: 1.图形模块(Graphics). 2.物理模块(Physics) 3. 音效模块(Audio) 4.动作模块(Animation) 5.导航模块(Navigatio ...
- HC(Histogram-based Contrast) 基于直方图对比度的显著性
HC(Histogram-based Contrast) 基于直方图对比度的显著性 来源于: 2011, Global contrast based salient region detection, ...
- Server Tools(服务器工具)
服务器工具 1.发布 # Process: MXD 转 Web 地图 arcpy.MXDToWebMap_server("", "", "" ...