Skip to main content

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
最近来源活动
2026年10月2日 10:02
检测到的 SKILL.md 语言
英语
星标
883
分支
74

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
converting-html
description
Use when converting HTML to Markdown, Djot, or plain text. Covers output formats, heading and code-block styles, lists, escaping, wrapping, and HTML preprocessing.
<!-- AI-RULEZ :: GENERATED FILE — DO NOT EDIT Content-Hash: blake3:9ae746bfad4d48e2ca2d8cad6d45b6496e9988e866458cd09bed203625411ed0 Source-Hash: blake3:ad100f68d8261e4611e9d932c00386da4c79029e020aad41489989f01ce7f00e 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 `using-the-mcp-server` skill). ## Basic conversion ```bash # 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 `extracting-metadata` and `extracting-tables` skills). ## Output format ```bash 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: ```bash html-to-markdown input.html --convert-as-inline --strip-tags "script,style" ``` ## Heading and code-block styles | Flag | Values | Default | Effect | | ---- | ------ | ------- | ------ | | `--heading-style` | `atx`, `underlined`, `atx-closed` | `atx` | `# h1` vs `h1\n===` vs `# h1 #` | | `--code-block-style` | `backticks`, `indented`, `tildes` | `backticks` | Fence style for code blocks | | `--code-language` / `-l` | string | `""` | Default language for fenced blocks | ```bash html-to-markdown input.html --heading-style underlined --code-block-style tildes ``` ## Lists and text formatting ```bash # 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 ```bash 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: ```bash 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 ```python 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) ``` ```rust 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 `../html-to-markdown/references/cli-reference.md` for the full flag set and `../html-to-markdown/references/configuration.md` for every option default.
在 GitHub 查看