我造了个叫 Markdownify 的小工具

HTML / 网址 / 纯文本 → Markdown,一键搞定

前段时间写博客、做笔记的时候老碰到一个麻烦:从网页复制内容到 Markdown 编辑器,格式全乱。要么粘出来一堆 HTML 标签,要么图片链接全丢了。

网上搜了一圈类似的工具,要么要注册,要么有广告,要么转换质量不行。于是我自己搞了一个——Markdownify

它是干什么的

很简单:把东西变成 Markdown。支持三种输入方式:

  • HTML 代码 — 粘贴直接转
  • 网页链接 — 自动抓取并提取正文
  • 纯文本 — 自动识别标题/列表/段落

几个我觉得好用的功能

智能粘贴

复制一段内容往输入框一贴,它会自动判断:

  • 贴的是 https://... → 直接抓取网页转 Markdown
  • 贴的是 <html> → 自动切到 HTML 模式
  • 贴的是纯文字 → 自动切到文本模式

全程不用手动切换,贴完就有了。

批量 URL 转换

写研究类文章的时候最有用。把一堆链接贴进去:

1
2
https://example.com/article1
https://example.com/article2

一次全抓完,合并成一个 Markdown 文件,每个来源带标题和链接。

正文提取

抓网页的时候自动去掉导航栏、广告、侧边栏,只留文章主体。用的是 readability 算法,和浏览器阅读模式同款。

纯文本模式

有时候不是 HTML,就是一段纯文字:

``text

标题

这是一段文字。

  • 列表项 1
  • 列表项 2
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34

    它会自动转成格式化的 HTML 和 Markdown,段落用 `<p>` 包,列表用 `<ul>`,标题用 `<h1>`。

    ## 长什么样

    界面有三套主题:

    - **浅色模式** — 默认的干净白底
    - **深色模式** — 护眼暗色
    - **赛博科技** — 蓝紫冷色风格(我最喜欢这个)

    布局支持堆叠和并排,宽屏下并排显示,左边编辑右边预览,效率很高。

    ## 技术栈

    后端 Flask,前端原生 JS(没有框架,够用就行),核心库是 `html2text` 和 `readability-lxml`。

    项目开源在 GitHub:**[SEYYl/Markdownify](https://github.com/SEYYl/Markdownify)**

    ## 在线体验

    👉 [https://html-to-md-qfrj.onrender.com](https://html-to-md-qfrj.onrender.com)

    Render 免费实例可能会休眠,第一次打开等几秒就好。

    ## 本地跑

    ```bash
    git clone https://github.com/SEYYl/Markdownify.git
    cd Markdownify
    python -m venv venv
    source venv/bin/activate
    pip install -r requirements.txt
    python app.py

打开 http://localhost:5000 就能用。

也可以用 Docker:

1
2
docker build -t markdownify .
docker run -d -p 5000:5000 markdownify

后记

这个工具最初只是自己用用,后来越加越多功能——批量转换、正文提取、纯文本识别、历史记录、HTML 格式化……干脆认真做了个开源项目。

如果你也有类似的痛点,试试看。有用的话点个 Star ⭐