npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

bmmd

v0.3.5

Published

Markdown 排版 CLI,支持微信公众号与 HTML 输出。

Downloads

865

Readme

bm.md

持续集成 npm 版本 许可证 TanStack Start shadcn/ui

Markdown 排版工具,专为微信公众号与多平台排版设计,支持富文本复制、图片生成与矢量 PDF 导出。


✨ 核心特性

  • 专门适配微信排版:一键复制带内联样式的富文本,自动处理链接转脚注、代码块空格保护及移动端表格横向滚动;同时支持复制通用 HTML。
  • 丰富的样式系统:内置 16 款经过细致调校的 Markdown 排版样式(涵盖经典纸质、现代报章、终端、学术等风格)与 14 款代码高亮主题,支持追加自定义 CSS。
  • 图表与信息图集成:支持 Mermaid 流程图与 AntV Infographic 信息图,渲染产物自动进行安全清理并无缝内嵌。
  • 多样化导出能力:基于 snapDOM 生成 PNG/JPEG 图片;集成 Takumi PDF WASM 引擎,直接在浏览器端按 A4 规范分页排版并导出矢量 PDF,支持字体子集下载与缺字降级。
  • 多文件与格式导入:基于 IndexedDB 实现多标签页事务化持久存储;支持直接打开 Markdown,借助 AnyDoc WASM 引擎转换各类文档,并支持在图片导入时调用端侧 PaddleOCR.js 识别并提取纯文本。
  • 三位一体的能力入口:除 Web 交互界面外,所有 Markdown 处理能力均通过统一 Registry 派生为命令行工具(CLI)、REST API 与 MCP(Model Context Protocol)服务。

🚀 快速开始

环境要求

  • 本地开发、构建和应用部署使用 Node.js 24(见 .node-version);npm 发布的 CLI 支持 Node.js >= 20。
  • Node.js 20 已结束维护,建议 CLI 用户也使用 Node.js 24。
  • pnpm 11.26.0

本地运行

# 克隆仓库
git clone https://github.com/miantiao-me/bm.md.git
cd bm.md

# 安装依赖
pnpm install

# 启动本地开发服务(默认端口 2663)
pnpm dev

启动后在浏览器中访问 http://localhost:2663

生产构建与本地预览:

pnpm build
pnpm preview

环境变量

环境变量均为可选配置,具体可参考 .env.example

  • VITE_APP_URLVITE_API_URL:客户端访问的应用基地址与 API 地址。
  • ANALYTICS_SCRIPT_URLANALYTICS_SITE_ID:统计分析脚本配置(服务端注入)。
  • S3_ENDPOINTS3_ACCESS_KEY_IDS3_SECRET_ACCESS_KEY:三者齐备时启用 S3 兼容对象存储;配合 S3_BUCKETS3_REGIONS3_PUBLIC_BASE_URL 指定存储桶与公开访问域名。
  • DC_UPLOAD_URL:可选的 DC 图床上传地址。在 S3 未配置或信息不全时自动回退至该图床服务。

💻 命令行工具(CLI)

项目核心处理能力已封装为独立命令行工具 bmmd,支持文件输入与标准管道(stdin/stdout)。

# 全局安装
pnpm add -g bmmd

# 或无需安装直接通过 dlx 运行
pnpm dlx bmmd render article.md --platform wechat --output article.html

# 管道输入与提取纯文本
cat article.md | bmmd extract

# 按照 markdownlint 规则修复并写回原文件
bmmd lint article.md --fix

本地开发时,可通过 pnpm build:cli 构建命令行产物,输出路径为 bin/bmmd.mjs

🛠️ 技术栈与部署

  • 前端框架TanStack Start(React 19 + TanStack Router)
  • 构建工具Vite 8
  • 视觉样式Tailwind CSS 4 + shadcn/ui(基础原语基于 @base-ui/react,设计系统基于 Ayu Light / Ayu Mirage)
  • 部署驱动Nitro,支持主流云服务商与边缘运行时

阿里云 ESA 部署

构建系统检测到环境变量 AliUid 时会自动启用 ESA 适配,预渲染常用页面并将资源输出到 dist/client

安装命令: pnpm install
构建命令: pnpm run build
根目录: /
静态资源目录: dist/client
函数文件路径: dist/server/server.js

腾讯云 EdgeOne 部署

构建系统检测到 edgeone_pages 或相关环境变量时自动适配 EdgeOne:

框架预设: Other
根目录: ./
输出目录: .edgeone
编译命令: pnpm run build
安装命令: pnpm install

其他部署环境配置请参考 Nitro 官方文档

📖 深入文档

  • 功能特性详述:多文件管理、编辑器特性、排版样式、多格式转换与导出细节。
  • 技术架构设计:系统分层、Registry 派生、状态持久化、Worker 通信与离线 PDF 排版机制。
  • UI 设计系统:高密度设计哲学、Ayu 配色体系、无障碍对比度考量与组件规范。
  • 前端工程准则:界面组件、交互与动效约束。
  • REST API 文档:由 Scalar 驱动的 OpenAPI 在线文档。

🙏 致谢

  • Kami:默认排版样式「Kami」的设计灵感来源。

📄 许可证

本项目开源许可证为 LGPL-3.0