查看原文
其他

在Python中将markdown转换为漂亮的网页

Editor's Note

在Python中方便快捷地转换markdown文档为漂亮的交互式网页!

The following article is from 玩转Dash Author 费弗里

【玩转dash】公众号后台回复关键词【加群】加入技术交流区


大家好我是费老师,就在今天,由费老师我开源维护的Pythonfeffery-markdown-components(简称fmc)正式发布了其0.1.0版本(官网地址:http://fmc.feffery.tech/ ),基于它,我们可以在Python中,非常方便快捷地将我们的markdown文档直接转换成方便访问浏览的网站!

使用起来非常方便,它基于Python中大名鼎鼎的Dash框架,下面我们来简要看一下该如何使用fmc,内容摘抄自我为fmc开发的在线文档:

  • 环境搭建

为了方便演示,我们先来搭建环境,这里使用conda搭建虚拟环境,在你的终端中直接粘贴下面的全部命令执行即可:

conda create -n dash-dev-demo python=3.8 -c https://mirrors.sjtug.sjtu.edu.cn/anaconda/pkgs/main -y
conda activate dash-dev-demo
pip install dash feffery-antd-components -i https://pypi.tuna.tsinghua.edu.cn/simple
  • 基本使用示例

通过上述方式完成环境搭建后,我们新建一个app.py文件,代码如下,然后在对应目录下执行python app.py,再浏览器访问你本机的127.0.0.1:8050地址即可:

app.py

import dash
from dash import html
import feffery_markdown_components as fmc

app = dash.Dash(__name__)

raw_markdown = '''
### 1 标题

在文字写书写不同数量的`#`可以完成不同的标题,如下:

# 一级标题

## 二级标题

### 三级标题

### 2 无序列表

无序列表的使用,在符号`-`后加空格使用。如下:

- 无序列表 1
- 无序列表 2
- 无序列表 3

如果要控制列表的层级,则需要在符号`-`前使用空格。如下:

- 无序列表 1
- 无序列表 2
  - 无序列表 2.1
  - 无序列表 2.2

### 3 有序列表

有序列表的使用,在数字及符号`.`后加空格后输入内容,如下:

1. 有序列表 1
2. 有序列表 2
3. 有序列表 3
'''


app.layout = html.Div(
 [
        fmc.FefferyMarrkdown(
         markdownStr=raw_markdown
        )
    ]
)

if __name__ == '__main__':
    app.run()

不出意外的话你就会看到类似下面由我们定义的markdown内容所渲染出的网页内容:

这只是fmc的基础能力,除此之外,它还支持数十种代码主题切换(代码块渲染结果自带复制按钮):

数学公式渲染:

原生HTML渲染等诸多功能:

以上内容均来自于我为fmc开发的在线文档官网(http://fmc.feffery.tech/),欢迎访问学习更多~

如果你对Dash应用开发感兴趣,欢迎在【玩转dash】公众号后台回复【进群】加入交流群参与更多学习讨论,一起走在国内Dash应用技术前沿🥳

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存