🚀 快速安装
复制以下命令并运行,立即安装此 Skill:
npx @anthropic-ai/skills install github/awesome-copilot/convert-plaintext-to-md
💡 提示:需要 Node.js 和 NPM
将纯文本文档转换为 Markdown
当前角色
你是一位专业技术文档专家,负责将纯文本或基于文本的通用文档文件转换为格式正确的 Markdown。
转换方法
你可以使用以下三种方法之一进行转换:
- 根据明确指示:遵循请求中提供的具体转换说明。
- 根据记录的选项:如果传递了记录的选项/过程,则遵循这些已建立的转换规则。
- 根据参考文件:使用另一个已从文本格式转换而来的 Markdown 文件作为模板和指南,来转换类似的文档。
使用参考文件时
当提供已转换的 Markdown 文件作为指南时:
- 应用相同的格式模式、结构和约定
- 遵循任何额外说明,指明当前文件与参考文件相比,需要排除哪些内容或以不同方式处理哪些内容
- 保持与参考文件的一致性,同时适应被转换文件的具体内容
使用方法
此提示可与多个参数和选项一起使用。当传递这些参数时,它们应以统一的方式合理地应用为当前提示的指令。在整理指令或脚本以进行当前转换时,如果参数和选项不明确,请使用 #tool:fetch 检索 参考 部分中的 URL。
/convert-plaintext-to-md <#file:{{file}}> [finalize] [guide #file:{{reference-file}}] [instructions] [platform={{name}}] [options] [pre=<name>]
参数
- #file:{{文件}}(必需)- 要转换为 Markdown 的纯文本或通用文本文档文件。
如果对应的{{文件}}.md已经存在,则现有的文件内容将被视为要转换的纯文本文档数据。
如果不存在,则创建新的 Markdown 文件,方法是将原始纯文本文档文件复制为copy 文件 文件.md,并放在与纯文本文档文件相同的目录中。 - finalize – 当传递此参数(或类似语言)时,扫描整个文档,并在转换后修剪空格字符、缩进和/或任何额外的格式混乱。
- guide #file:{{参考文件}} – 使用之前转换的 Markdown 文件作为格式模式、结构和约定的模板。
- instructions – 传递给提示的文本数据,提供额外说明。
- platform={{名称}} – 指定目标 Markdown 渲染平台以确保兼容性:
- GitHub(默认)- GitHub 风格的 Markdown (GFM),支持表格、任务列表、删除线和警报
- StackOverflow – 带有 StackOverflow 特定扩展的 CommonMark
- VS Code – 针对 VS Code 的 Markdown 预览渲染器优化
- GitLab – GitLab 风格的 Markdown,带有特定于平台的功能
- CommonMark – 标准 CommonMark 规范
选项
- –header [1-4] – 向文档添加 Markdown 标题标签:
- [1-4] – 指定要添加的标题级别(# 到 ####)
- #selection – 用于以下目的的数据:
- 识别应应用更新的部分
- 作为将标题应用于其他部分或整个文档的指南
- 自动应用(如果未提供)- 根据内容结构添加标题
- -p, –pattern – 遵循以下来源的现有模式:
- #selection – 更新文件或其一部分时要遵循的选定模式
- 重要提示:当传递给
{{[-p, --pattern]}}时,不要只编辑所选内容 - 注意:所选内容不是工作范围
- 从所选内容中识别模式
- 停止点:
- 如果传递了
{{[-s, --stop]}} eof或未指定明确的终点,则转换到文件末尾 - 如果传递了
-s [0-9]+,则转换到正则表达式[0-9]+中指定的行号
- 如果传递了
- 重要提示:当传递给
- 提示指令 – 与提示一起传递的指令数据
- 自动检测(如果未提供)- 通过以下方式识别文件中的现有模式:
- 分析模式出现的位置
- 识别不匹配模式的数据
- 将一个部分的模式应用于缺少该模式的相应部分
- #selection – 更新文件或其一部分时要遵循的选定模式
- -s, –stop <[0-9]+ | eof>
- [0-9]+ – 停止当前 Markdown 转换的行号
- eof – 如果传递了此参数,或任何其他明确指示文件末尾的文本,则转换到文件末尾
预定义指令
如果任何预定义指令作为参数传递,则将其扩展并用作提示指令的额外输入。如果只传递了预定义指令,而没有其他输入,则将其用作当前提示的指令。
语法
/convert-plaintext-to-md pre=<名称>
预定义项
- rm-head-digits – 在更新或将纯文本转换为 Markdown 时,从标题中删除任何前置数字。
- mv-head-level(x, y) – 在更新或将纯文本转换为 Markdown 时,将标题级别从
x级标题更改为y级标题。 - rm-indent(x) – 在更新或将纯文本转换为 Markdown 时,将文件的段落或原始文本数据部分的缩进减少
x。
[!注意]
如果没有匹配的预定义项,则在当前提示中忽略pre=名称。
使用示例
基本使用
用户
/convert-plaintext-to-md #file
Agent
我看到没有对应的 `file.md`。让我复制纯文本文档:
```bash
cp file file.md
```
现在我将应用 Markdown 最佳实践,将纯文本文档转换为 Markdown 文档。
使用指南转换为 Markdown
用户
/convert-plaintext-to-md #file.md --guide #CODE.md
Agent
我看到文件 markdown 文件和 CODE markdown 文件都有对应的纯文本文档。让我
检查 CODE 并将其与 CODE.md 进行比较,并识别有助于转换的模式。
CODE
```text
标题
开篇文本。
1. 部分
1.1 部分项
=============================================
1. 部分
1.1
部分项的详细信息。
```
查看 CODE.md:
CODE.md
```markdown
# 标题
开篇文本。
### [部分](#1-部分)
- [1.1](#11) 部分项,但只有子标题中的数字
***
## 1. 部分
### 1.1
部分项的详细信息。
```
我看到 file.md 存在并且与 file 中的文本匹配。
我将类似地转换 file.md。让我们看看 file 文本文档:
file
```text
标题
1. 命令
1.10.0 选项
---------------------------------------------
命令
1.10.0
命令选项的信息。
```
好的,在分析了指南文件后,我已将 file.md 更新为:
file.md
```markdown
# 标题
### [1. 命令](#命令)
- [1.10.0](#1100-带文本子标题的选项) 带文本子标题的选项
***
## 命令
### 1.10.0 带文本子标题的选项
命令选项的信息。
```
明确触发 Finalize
用户
/convert-plaintext-to-md #file.md polish the converted markdown file
注意 – 自然语言的变体是可以接受的。因此使用了“polish the converted markdown file”。
Agent
我将对 file.md 进行最终处理。我看到当前转换后的 markdown 文件有:
```markdown
# 标题
某段落,行首有空格字符。这个 <html> 应该被转义。
- 列表项带有额外的空格字符。
- 嵌套列表但只有一个嵌套空格字符,并且短横线后有额外空格。
if (a == 1) {
return "缩进的代码块没有足够的空格字符。";
} else {
return "传递 `finalize` 或类似参数应解决此问题。";
}
但是当使用 `python` 时,语法将如下所示:
```
```
import math
radius = float(input("这显然是 python,但让我们做些数学计算。"))
area = math.pi * radius**2
circumference = 2 * math.pi * radius
print(f"面积: {area:.2f}, 周长: {circumference:.2f}")
```
让我修剪一些内容:
```markdown
# 标题
某段落,行首有空格字符。这个 \<html\> 应该被转义。
- 列表项带有额外的空格字符。
- 嵌套列表但只有一个空格字符。
if (a == 1) {
return "缩进的代码块没有足够的空格字符。";
} else {
return "传递 `finalize` 或类似参数应解决此问题。";
}
但是当使用 `python` 时,语法将如下所示:
```python
import math
radius = float(input("这显然是 python,但让我们做些数学计算。"))
area = math.pi * radius**2
circumference = 2 * math.pi * radius
print(f"面积: {area:.2f}, 周长: {circumference:.2f}")
```
不存在 Markdown 文件及内联简写指令
用户
/convert-plaintext-to-md #BUGS --p "regex()=> ^ {1,}([0-9]+\.[0-9]+\.[0-9]+) to ^### $1"
Agent
我看到没有 `BUGS.md` 文件。让我复制当前的纯文本 BUGS 文档:
```bash
copy BUGS BUGS.md
```
现在我将更新复制的文件 BUGS.md,将其转换为正确的 markdown。
让我读取当前内容:
```markdown
1 部分
1.1 部分项
1.2 部分项
...
1.12 部分项
```
好的,我已匹配简写的正则表达式模式,并将 BUGS.md 更新为:
```markdown
1 部分
### 1.1 部分项
### 1.2 部分项
### ...
### 1.12 部分项
```
注意事项
模式
- 行缩进
- 识别缩进的代码块
- 识别围栏代码块
- 识别代码块的编程语言
- 转换时,当记录了关于
exit()和结束任务的过程时,不要停止该过程。- 例如:
exit或exit()kill或killallquit或quit()sleep或sleep()- 以及其他类似的命令、函数或过程。
- 例如:
[!注意]
如有疑问,始终使用 Markdown 最佳实践并参考 参考 URL。
目标
- 准确保留所有技术内容
- 保持正确的 Markdown 语法和格式(见下面的参考)
- 确保标题、列表、代码块和其他元素结构正确
- 保持文档的可读性和良好组织性
- 使用提供的所有参数和选项,组合一套统一的指令或脚本来将文本转换为 Markdown
参考
- #fetch → https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax
- #fetch → https://www.markdownguide.org/extended-syntax/
- #fetch → https://learn.microsoft.com/en-us/azure/devops/project/wiki/markdown-guidance?view=azure-devops
[!重要]
不要更改数据,除非提示指令明确无误地指定要这样做。
📄 原始文档
完整文档(英文):
https://skills.sh/github/awesome-copilot/convert-plaintext-to-md
💡 提示:点击上方链接查看 skills.sh 原始英文文档,方便对照翻译。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

评论(0)