跳到正文
cccskills
免费在 GitHub 公开

html-to-markdown-converting-html

Use when converting HTML to Markdown, Djot, or plain text. Covers output formats, heading and code-block styles, lists, escaping, wrapping, and HTML preprocessing.

中文简介正在准备中。当前显示原文说明。

xberg-io/html-to-markdown星标 885(GitHub 885 + cccskills 0)

实测评分 未实测

查看安装方法

包含的文件(8)

  • SKILL.md4.1 KB
  • index.md451 B
  • references/cli-reference.md18.5 KB
  • references/configuration.md18.8 KB
  • references/other-bindings.md12.3 KB
  • references/python-api.md8.0 KB
  • references/rust-api.md10.5 KB
  • references/typescript-api.md6.8 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

<!-- AI-RULEZ :: GENERATED FILE — DO NOT EDIT Content-Hash: blake3:f7de17dbd5516b1e6b26173c3ee40ecea4262a6f5ef168a768eced5bdc7e6126 Source-Hash: blake3:4237e14c4d547597faf915235dde5b5d71e8c9d84681d23919d03302b738a0b4 Schema-Version: v1 -->

Converting HTML

Use this when the user wants to turn HTML into clean Markdown (or Djot) — a saved page, an HTML email body, a fragment, or a string. Conversion is driven by flags with a positional FILE (stdin is the default input when no file is given); the only subcommand is mcp (run-as-server, see the html-to-markdown-using-the-mcp-server skill).

Basic conversion

# File to stdout
html-to-markdown input.html

# File to a file
html-to-markdown input.html -o output.md

# From stdin
cat page.html | html-to-markdown
echo '<h1>Title</h1><p>Body</p>' | html-to-markdown

The default (no --json) prints plain Markdown text. Use --json only when you need structured metadata/tables (see the html-to-markdown-extracting-metadata and html-to-markdown-extracting-tables skills).

Output format

html-to-markdown input.html --output-format markdown   # default
html-to-markdown input.html --output-format djot        # Djot markup
html-to-markdown input.html -f djot                      # short form

To get plain text (no Markdown syntax), strip tags and treat blocks inline:

html-to-markdown input.html --convert-as-inline --strip-tags "script,style"

Heading and code-block styles

FlagValuesDefaultEffect
--heading-styleatx, underlined, atx-closedatx# h1 vs h1\n=== vs # h1 #
--code-block-stylebackticks, indented, tildesbackticksFence style for code blocks
--code-language / -lstring""Default language for fenced blocks
html-to-markdown input.html --heading-style underlined --code-block-style tildes

Lists and text formatting

# Bullet characters cycle by nesting depth; indent width 1–8
html-to-markdown input.html --bullets '*+-' --list-indent-width 2

# Indent with tabs instead of spaces
html-to-markdown input.html --list-indent-type tabs

# Emphasis symbol and escaping
html-to-markdown input.html --strong-em-symbol _ --escape-misc

Escaping flags (--escape-asterisks, --escape-underscores, --escape-misc, --escape-ascii) trade readability for strict CommonMark safety. Use --escape-ascii only when the output must round-trip through a strict parser.

Wrapping

html-to-markdown input.html --wrap --wrap-width 100   # off by default; 80 if --wrap with no width

Preprocessing (clean noisy pages)

Strip navigation, ads, and forms before converting — essential for scraped web pages:

html-to-markdown input.html --preprocess                     # standard preset
html-to-markdown input.html --preprocess --preset aggressive  # strip more
html-to-markdown input.html --preprocess --keep-navigation    # keep <nav>
html-to-markdown input.html --preprocess --keep-forms         # keep <form>

Presets: minimal, standard (default), aggressive. --preset, --keep-navigation, and --keep-forms all require --preprocess.

Programmatic equivalents

from html_to_markdown import convert, ConversionOptions, PreprocessingOptions

html = "<h1>Title</h1><p>Body text.</p>"
result = convert(
    html,
    ConversionOptions(
        heading_style="atx",
        code_block_style="backticks",
        wrap=True,
        wrap_width=100,
        preprocessing=PreprocessingOptions(enabled=True, preset="aggressive"),
    ),
)
print(result.content)
use html_to_markdown_rs::{convert, ConversionOptions, HeadingStyle};

let options = ConversionOptions::builder().heading_style(HeadingStyle::Atx).wrap(true).build();
let result = convert(html, Some(options))?;

See references/cli-reference.md for the full flag set and references/configuration.md for every option default.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

api

免费

Use html-to-markdown-rs api reference documentation.

中文简介正在准备中。当前显示原文说明。

xberg-io/html-to-markdown8852026年10月26日 更新

cli

免费

Use html-to-markdown-rs cli reference documentation.

中文简介正在准备中。当前显示原文说明。

xberg-io/html-to-markdown8852026年10月26日 更新

Convert HTML to Markdown, Djot, or plain text with structured extraction. Use when writing code that calls html-to-markdown APIs in Rust, Python, TypeScript, Go, Ruby, PHP, Java, C#, Elixir, R, C, or WASM. Covers installation, conversion, configuration, metadata extraction, tables, document structure, inline images, URL fetching, and CLI usage.

中文简介正在准备中。当前显示原文说明。

xberg-io/html-to-markdown8852026年10月26日 更新

Use when extracting metadata from HTML — title, description, language, Open Graph, JSON-LD / Microdata / RDFa, headers, links, and images. Covers the --json output shape and the --extract-metadata flag.

中文简介正在准备中。当前显示原文说明。

xberg-io/html-to-markdown8852026年10月26日 更新

Use when extracting tabular data from HTML. Covers GFM Markdown tables, the structured tables array (grid cells plus pre-rendered markdown), and HTML line breaks in table cells.

中文简介正在准备中。当前显示原文说明。

xberg-io/html-to-markdown8852026年10月26日 更新

Use when fetching a live URL and converting it to Markdown. Covers --url, custom user agents, preprocessing for noisy pages, and the --json ConversionResult shape.

中文简介正在准备中。当前显示原文说明。

xberg-io/html-to-markdown8852026年10月26日 更新

查看 xberg-io 的全部技能

报告此技能的问题