语言: English | 简体中文
根据文章的网页自动生成 Markdown 文件。
news-translate
| action.yml // 入口文件
│ package.json
│ README.md
│
|-.github
│ |-ISSUE_TEMPLATE
│ │ AutoGenerateMarkdown.md // 自动生成 Markdown 文件的 issue 模板
│ │
│ |-workflows
│ WebPageToMarkdown.yml // 用于自动生成 Markdown 文件的 Actions 文件
│
|-dist // 编译后的静态文件夹
|
|-node_modules
│
|-src
| |-index.ts // 脚本的入口文件
| |-toMarkdownConstant.ts // 配置文件
| |-utilities.ts // 函数库文件
|
|-test
|-utilities.test.ts // 测试文件
在 GitHub action 配置文件的 jobs
字段中添加下面的 step:
- uses: freeCodeCamp-China/article-webpage-to-markdown-action@v1
with:
pageURL: '${{ github.event.issue.body }}'
markdownFolder: './articles/'
githubToken: ${{ github.token }}
下面是一个扩展示例,尽可能包含所有选项、输出:
name: 下载网页
on:
issues:
types:
- labeled
jobs:
fetch-pages:
if: github.event.label.name == '文章'
runs-on: ubuntu-latest
permissions:
contents: write
issues: write
steps:
- id: fetch-md
uses: freeCodeCamp-China/article-webpage-to-markdown-action@v2
with:
# 一个包含原文 URL 的字符串
pageURL: '${{ github.event.issue.body }}'
# 需包含元素的 CSS 选择符
includedSelector: '.post-full-content'
# 需排除元素的 CSS 选择符
excludedSelector: '.ad-wrapper'
# 生成 MarkDown 文件的路径是
# 一个相对于命令行工作目录的相对路径
markdownFolder: './articles/'
githubToken: ${{ github.token }}
- name: 将输出发至评论区
run: gh issue comment "$NUMBER" --body "$BODY"
env:
GH_TOKEN: ${{ github.token }}
GH_REPO: ${{ github.repository }}
NUMBER: ${{ github.event.issue.number }}
BODY: |
- 原文网址: [${{ steps.fetch-md.outputs.title }}](${{ steps.fetch-md.outputs.original_url }})
- 原文作者: [${{ steps.fetch-md.outputs.author || 'anonymous' }}](${{ steps.fetch-md.outputs.author_url }})
- Markdown 文件: [点击编辑](${{ steps.fetch-md.outputs.editor_url }})
如果未配置选项 markdownFolder
,则默认情况下会在当前路径中生成文件。
Issues >> New issue >> 填写 issue 的标题和描述 >> Submit new issue
[原文链接](https://example.com/path/to/your/article/)
用原文 URL 替换上文中的 URL,本 action 会在 issue 提交后运行,并将失败消息发到 issue 评论中。
如果脚本执行失败,您需要确认问题,解决问题,然后根据前面的步骤发布新 issue。 常见错误消息 和 Actions 的日志 将为您提供一些可靠的提示。
- No parameters were found. Please confirm that the description of the issue has been entered. issue 的描述为空,请根据模板填写内容。
- There is one file with the same name exists.Please check if the article has been added.
在
markdownFolder
文件夹下有一个同名文件。 - The DOM of the website has been modified, or there is a problem with loading, please confirm. 网站的 DOM 结构可能更改,并且脚本需要修改。
本 action 只能处理静态或服务端渲染的网页,对于客户端渲染,我们推荐 https://github.com/TechQuery/Web-fetch#in-github-actions .
请转到贡献者指南。
程序遵循 BSD-3-Clause 许可证。