是否有 github 操作或工作流程来格式化 html 文件或以编程方式执行此操作是安全的?

Is there a github action or workflow to format html files or a way to do it programmatically that is fail safe?

我以编程方式生成 HTML 文件。正如想象的那样,它很丑陋,但效果很好。 我想知道是否有我可以编写的 github 操作 工作流程 将文件转换为漂亮的 html 文件。

编写一个使用 Python 的 工作流 也很好。但是我必须指出 BeautifulSoup 无法正确缩进我的文件 (输出遗漏了一些标签 - 可能是因为生成的 html 由于换行等原因不整洁) - 此外它使用单个 space 缩进系统,我需要 4 spaces.

我研究的其他一些工具 -

不知道我是否能够通过操作在工作流文件中 运行 以下内容 -

我没有探索过其他语言,但我对它们持开放态度,尤其是 GoRuby

您可以通过 apt 安装 tidy,然后 运行 直接在 CI 管道中安装它。因此,假设您有一些 python 脚本可以为您生成 page.html。这是 运行s tidy 与生成文件的配置:

page.html("generated" 文件)

<!DOCTYPE html><html><head><script src="bundle.js"></script><title>My Page</title></head><body><div id="app"><p>Paragraph 1</p></div></body></html>

.github/workflows/test.yml

---
name: Test

on: push

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2.1.0
      # here is some step that generates HTML file with python
      - run: sudo apt install tidy
      - run: tidy page.html > page2.html
      - name: Print generated page
        run: cat page2.html

结果

tidy 几乎可以自定义,因此您可以根据需要进行配置。只需 运行 man tidy 或关注 official documentation 即可查看可能的选项。