improve the rendering of the man pages #395
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Docs | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| branches: | |
| - main | |
| schedule: | |
| - cron: "0 2 * * *" | |
| jobs: | |
| build: | |
| name: Build website artifacts | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout uutils.github.io Repository | |
| uses: actions/checkout@v5 | |
| with: | |
| repository: uutils/uutils.github.io | |
| path: './uutils.github.io' | |
| fetch-depth: 0 | |
| - name: Checkout Coreutils Repository | |
| uses: actions/checkout@v5 | |
| with: | |
| repository: uutils/coreutils | |
| path: './coreutils' | |
| fetch-depth: 0 | |
| - name: Checkout Findutils Repository | |
| uses: actions/checkout@v5 | |
| with: | |
| repository: uutils/findutils | |
| path: './findutils' | |
| fetch-depth: 0 | |
| - name: Install `rust` toolchain | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Install system deps | |
| run: | | |
| sudo apt install libacl1-dev libselinux1-dev libsystemd-dev man2html | |
| - name: Download tldr archive | |
| run: | | |
| curl https://tldr.sh/assets/tldr.zip --output coreutils/docs/tldr.zip | |
| - name: Install necessary tools (mdbook and mdbook-toc) | |
| uses: taiki-e/install-action@v2 | |
| with: | |
| tool: mdbook,mdbook-toc | |
| - name: Build Coreutils Docs | |
| run: | | |
| cd coreutils | |
| cargo run --bin uudoc --all-features | |
| cd docs | |
| # Remove deprecated 'multilingual' field unsupported by newer mdbook | |
| sed -i '/^multilingual/d' book.toml | |
| mdbook build | |
| - name: Generate Coreutils Manpages | |
| run: | | |
| cd coreutils | |
| make install-manpages DESTDIR=../manpages | |
| - name: Convert Manpages to HTML and Generate Index | |
| run: | | |
| # Extract tldr pages for examples | |
| mkdir -p tldr-pages | |
| if [ -f coreutils/docs/tldr.zip ]; then | |
| unzip -o coreutils/docs/tldr.zip -d tldr-extract | |
| find tldr-extract -name "*.md" -exec cp {} tldr-pages/ \; | |
| fi | |
| uutils.github.io/scripts/build-manpages.sh manpages tldr-pages manpages-html uutils.github.io/templates | |
| - name: Build Findutils Docs | |
| run: | | |
| cd findutils/docs | |
| # Remove deprecated 'multilingual' field unsupported by newer mdbook | |
| sed -i '/^multilingual/d' book.toml | |
| mdbook build | |
| - name: Run Zola | |
| uses: shalzz/zola-deploy-action@v0.21.0 | |
| env: | |
| BUILD_DIR: uutils.github.io | |
| BUILD_ONLY: true | |
| - name: Collect results into `public` folder | |
| run: | | |
| cp -r uutils.github.io/public public | |
| cp -r coreutils/docs/book public/coreutils/docs | |
| cp -r findutils/docs/book public/findutils/docs | |
| mkdir -p public/coreutils/manpages | |
| cp -r manpages-html/* public/coreutils/manpages/ | |
| - name: Upload artifact for checking the output | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| path: ./public | |
| - name: Upload artifact for pages | |
| uses: actions/upload-pages-artifact@v4 | |
| with: | |
| path: ./public | |
| # dev-docs: | |
| # name: generate the dev doc | |
| # runs-on: ubuntu-latest | |
| # steps: | |
| # - name: Checkout repository | |
| # uses: actions/checkout@v4 | |
| # with: | |
| # repository: uutils/coreutils | |
| # path: './coreutils' | |
| # fetch-depth: 0 | |
| # - name: Install `rust` toolchain | |
| # uses: actions-rs/toolchain@v1 | |
| # with: | |
| # toolchain: stable | |
| # default: true | |
| # profile: minimal | |
| # - name: Build dev documentation | |
| # run: | | |
| # cd coreutils | |
| # cargo doc --no-deps --all-features --workspace | |
| # - name: Deploy Docs | |
| # uses: peaceiris/actions-gh-pages@v3 | |
| # with: | |
| # github_token: ${{ secrets.GITHUB_TOKEN }} | |
| # publish_dir: ./coreutils/target/doc | |
| # destination_dir: coreutils/dev/ | |
| # build-report: | |
| # name: generate the build report | |
| # runs-on: ubuntu-latest | |
| # steps: | |
| # - name: Checkout repository | |
| # uses: actions/checkout@v4 | |
| # with: | |
| # repository: uutils/coreutils | |
| # path: './coreutils' | |
| # fetch-depth: 0 | |
| # - name: Install `rust` toolchain | |
| # uses: actions-rs/toolchain@v1 | |
| # with: | |
| # toolchain: nightly | |
| # default: true | |
| # profile: minimal | |
| # - name: Build report | |
| # run: | | |
| # cd coreutils | |
| # cargo +nightly build --timings=html -Zunstable-options | |
| # - name: Deploy build report | |
| # uses: peaceiris/actions-gh-pages@v3 | |
| # with: | |
| # github_token: ${{ secrets.GITHUB_TOKEN }} | |
| # publish_dir: ./coreutils/target/cargo-timings/ | |
| # destination_dir: cargo-timings/ | |
| # Deployment job | |
| deploy: | |
| permissions: | |
| contents: read | |
| pages: write | |
| id-token: write | |
| environment: | |
| name: github-pages | |
| url: ${{ steps.deployment.outputs.page_url }} | |
| runs-on: ubuntu-latest | |
| needs: build | |
| if: (github.event_name == 'push' && github.ref == 'refs/heads/main') || github.event_name == 'schedule' | |
| steps: | |
| - name: Deploy to GitHub Pages | |
| id: deployment | |
| uses: actions/deploy-pages@v4 |