feat: header/footer template from file #182
This file contains 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: mdbook-pdf test | |
on: | |
workflow_dispatch: # Allow manual triggers | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: [ main ] | |
jobs: | |
test: | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- os: "macos-latest" | |
repo: "https://github.com/HollowMan6/mdbook-pdf" | |
dir: "test_doc" | |
name: "An_Example" | |
backend-depends: "" | |
static-url: "" | |
- os: "ubuntu-latest" | |
repo: "https://github.com/HollowMan6/mdbook-pdf" | |
dir: "test_doc" | |
name: "An_Example" | |
backend-depends: "" | |
static-url: "" | |
- os: "macos-latest" | |
repo: "https://github.com/rust-lang/cargo" | |
dir: "cargo/src/doc" | |
name: "Cargo_Book" | |
backend-depends: "" | |
static-url: "https://doc.rust-lang.org/stable/cargo/" | |
- os: "ubuntu-latest" | |
repo: "https://github.com/rust-lang/cargo" | |
dir: "cargo/src/doc" | |
name: "Cargo_Book" | |
backend-depends: "" | |
static-url: "https://doc.rust-lang.org/stable/cargo/" | |
- os: "macos-latest" | |
repo: "https://github.com/rust-lang/edition-guide" | |
dir: "edition-guide" | |
name: "Edition_Guide" | |
backend-depends: "" | |
static-url: "https://doc.rust-lang.org/stable/edition-guide/" | |
- os: "ubuntu-latest" | |
repo: "https://github.com/rust-lang/edition-guide" | |
dir: "edition-guide" | |
name: "Edition_Guide" | |
backend-depends: "" | |
static-url: "https://doc.rust-lang.org/stable/edition-guide/" | |
- os: "macos-latest" | |
repo: "https://github.com/rust-embedded/book" | |
dir: "book" | |
name: "Embedded_Rust_Book" | |
backend-depends: "" | |
static-url: "https://docs.rust-embedded.org/book/" | |
- os: "ubuntu-latest" | |
repo: "https://github.com/rust-embedded/book" | |
dir: "book" | |
name: "Embedded_Rust_Book" | |
backend-depends: "" | |
static-url: "https://docs.rust-embedded.org/book/" | |
- os: "macos-latest" | |
repo: "https://github.com/rust-lang/mdBook" | |
dir: "mdBook/guide" | |
name: "Mdbook_User_Guide" | |
backend-depends: "" | |
static-url: "https://rust-lang.github.io/mdBook/" | |
- os: "ubuntu-latest" | |
repo: "https://github.com/rust-lang/mdBook" | |
dir: "mdBook/guide" | |
name: "Mdbook_User_Guide" | |
backend-depends: "" | |
static-url: "https://rust-lang.github.io/mdBook/" | |
- os: "macos-latest" | |
repo: "https://github.com/rust-lang/mdBook" | |
dir: "mdBook/test_book" | |
name: "Mdbook_Test_Book" | |
backend-depends: "" | |
static-url: "" | |
- os: "ubuntu-latest" | |
repo: "https://github.com/rust-lang/mdBook" | |
dir: "mdBook/test_book" | |
name: "Mdbook_Test_Book" | |
backend-depends: "" | |
static-url: "" | |
- os: "macos-latest" | |
repo: "https://github.com/rust-lang/reference" | |
dir: "reference" | |
name: "Rust_Reference" | |
backend-depends: "" | |
static-url: "https://doc.rust-lang.org/nightly/reference/" | |
- os: "ubuntu-latest" | |
repo: "https://github.com/rust-lang/reference" | |
dir: "reference" | |
name: "Rust_Reference" | |
backend-depends: "" | |
static-url: "https://doc.rust-lang.org/nightly/reference/" | |
- os: "macos-latest" | |
repo: "https://github.com/rust-lang/rust-by-example" | |
dir: "rust-by-example" | |
name: "Rust_By_Example" | |
backend-depends: "" | |
static-url: "https://doc.rust-lang.org/stable/rust-by-example/" | |
- os: "ubuntu-latest" | |
repo: "https://github.com/rust-lang/rust-by-example" | |
dir: "rust-by-example" | |
name: "Rust_By_Example" | |
backend-depends: "" | |
static-url: "https://doc.rust-lang.org/stable/rust-by-example/" | |
- os: "macos-latest" | |
repo: "https://github.com/rust-lang/book" | |
dir: "book" | |
name: "Rust_Programming_Language" | |
backend-depends: "" | |
static-url: "https://doc.rust-lang.org/book/" | |
- os: "ubuntu-latest" | |
repo: "https://github.com/rust-lang/book" | |
dir: "book" | |
name: "Rust_Programming_Language" | |
backend-depends: "" | |
static-url: "https://doc.rust-lang.org/book/" | |
- os: "macos-latest" | |
repo: "https://github.com/rust-lang/rustc-dev-guide" | |
dir: "rustc-dev-guide" | |
name: "Rustc_Book" | |
backend-depends: "mdbook-linkcheck mdbook-toc mdbook-mermaid" | |
static-url: "https://rustc-dev-guide.rust-lang.org/" | |
- os: "ubuntu-latest" | |
repo: "https://github.com/rust-lang/rustc-dev-guide" | |
dir: "rustc-dev-guide" | |
name: "Rustc_Book" | |
backend-depends: "mdbook-linkcheck mdbook-toc mdbook-mermaid" | |
static-url: "https://rustc-dev-guide.rust-lang.org/" | |
- os: "macos-latest" | |
repo: "https://github.com/rust-lang/rust" | |
dir: "rust/src/doc/rustdoc" | |
name: "Rustdoc_Book" | |
backend-depends: "" | |
static-url: "https://doc.rust-lang.org/stable/rustdoc/" | |
- os: "ubuntu-latest" | |
repo: "https://github.com/rust-lang/rust" | |
dir: "rust/src/doc/rustdoc" | |
name: "Rustdoc_Book" | |
backend-depends: "" | |
static-url: "https://doc.rust-lang.org/stable/rustdoc/" | |
- os: "macos-latest" | |
repo: "https://github.com/rust-lang/nomicon" | |
dir: "nomicon" | |
name: "Rust_Nomicon" | |
backend-depends: "" | |
static-url: "https://doc.rust-lang.org/nomicon/" | |
- os: "ubuntu-latest" | |
repo: "https://github.com/rust-lang/nomicon" | |
dir: "nomicon" | |
name: "Rust_Nomicon" | |
backend-depends: "" | |
static-url: "https://doc.rust-lang.org/nomicon/" | |
# - os: "macos-latest" | |
# repo: "https://github.com/google/comprehensive-rust" | |
# dir: "comprehensive-rust" | |
# name: "Comprehensive_Rust" | |
# backend-depends: "mdbook-svgbob" | |
# static-url: "https://google.github.io/comprehensive-rust/" | |
# - os: "ubuntu-latest" | |
# repo: "https://github.com/google/comprehensive-rust" | |
# dir: "comprehensive-rust" | |
# name: "Comprehensive_Rust" | |
# backend-depends: "mdbook-svgbob" | |
# static-url: "https://google.github.io/comprehensive-rust/" | |
- os: "macos-latest" | |
repo: "https://github.com/CnTransGroup/EffectiveModernCppChinese" | |
dir: "EffectiveModernCppChinese" | |
name: "Effective_Modern_C++" | |
backend-depends: "" | |
static-url: "https://cntransgroup.github.io/EffectiveModernCppChinese/" | |
- os: "ubuntu-latest" | |
repo: "https://github.com/CnTransGroup/EffectiveModernCppChinese" | |
dir: "EffectiveModernCppChinese" | |
name: "Effective_Modern_C++" | |
backend-depends: "" | |
static-url: "https://cntransgroup.github.io/EffectiveModernCppChinese/" | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: 'recursive' | |
- uses: Swatinem/rust-cache@v2 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: '3.10' | |
cache: 'pip' | |
- name: Install Chinese Fonts to add support for Chinese books | |
if: matrix.os == 'ubuntu-latest' | |
run: | | |
sudo apt update | |
sudo apt install fonts-wqy-microhei fonts-wqy-zenhei | |
- name: Install mdbook related backend | |
if: matrix.backend-depends != '' | |
run: | | |
cargo install ${{ matrix.backend-depends }} | |
- name: Build and install mdbook executable | |
run: | | |
cargo install -f --git https://github.com/HollowMan6/mdBook mdbook | |
- name: Build mdbook-pdf dev and install | |
run: | | |
cargo build | |
mkdir -p ~/.cache/pip | |
sudo pip install . | |
mv target/debug/mdbook-pdf /usr/local/bin/ | |
- name: Build Test Docs for PDF | |
run: | | |
git clone ${{ matrix.repo }} | |
cd ${{ matrix.dir }} | |
if [ `grep -c "output.pdf" book.toml` -eq '0' ]; then | |
echo "[output.pdf]" >> book.toml | |
echo "display-header-footer = true" >> book.toml | |
echo "print-background = true" >> book.toml | |
echo "paper-width = 8" >> book.toml | |
echo "paper-height = 10" >> book.toml | |
echo "margin-top = 0.5" >> book.toml | |
echo "margin-bottom = 0.5" >> book.toml | |
echo "margin-left = 0.5" >> book.toml | |
echo "margin-right = 0.5" >> book.toml | |
echo "static-site-url = '${{ matrix.static-url }}'" >> book.toml | |
echo "header-template = \"<h3 style='font-size:8px; margin-left: 48%' class='title'></h3>\"" >> book.toml | |
echo "footer-template = \"<p style='font-size:10px; margin-left: 48%'><span class='pageNumber'></span> / <span class='totalPages'></span></p>\"" >> book.toml | |
echo "[output.pdf-outline]" >> book.toml | |
fi | |
mdbook build | |
- name: Upload PDF File to Artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ runner.os }}_${{ matrix.name }}_PDF | |
path: ${{ matrix.dir }}/book/pdf-outline/*.pdf | |
- name: Upload Build HTML to Artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ runner.os }}_${{ matrix.name }}_HTML | |
path: ${{ matrix.dir }}/book/html/* | |
test-win: | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- repo: "https://github.com/rust-lang/cargo" | |
dir: "cargo/src/doc" | |
name: "Cargo_Book" | |
backend-depends: "" | |
static-url: "https://doc.rust-lang.org/stable/cargo/" | |
- repo: "https://github.com/rust-lang/edition-guide" | |
dir: "edition-guide" | |
name: "Edition_Guide" | |
backend-depends: "" | |
static-url: "https://doc.rust-lang.org/stable/edition-guide/" | |
- repo: "https://github.com/rust-embedded/book" | |
dir: "book" | |
name: "Embedded_Rust_Book" | |
backend-depends: "" | |
static-url: "https://docs.rust-embedded.org/book/" | |
- repo: "https://github.com/rust-lang/mdBook" | |
dir: "mdBook/guide" | |
name: "Mdbook_User_Guide" | |
backend-depends: "" | |
static-url: "https://rust-lang.github.io/mdBook/" | |
- repo: "https://github.com/rust-lang/mdBook" | |
dir: "mdBook/test_book" | |
name: "Mdbook_Test_Book" | |
backend-depends: "" | |
static-url: "" | |
- repo: "https://github.com/rust-lang/reference" | |
dir: "reference" | |
name: "Rust_Reference" | |
backend-depends: "" | |
static-url: "https://doc.rust-lang.org/nightly/reference/" | |
- repo: "https://github.com/rust-lang/rust-by-example" | |
dir: "rust-by-example" | |
name: "Rust_By_Example" | |
backend-depends: "" | |
static-url: "https://doc.rust-lang.org/stable/rust-by-example/" | |
- repo: "https://github.com/rust-lang/book" | |
dir: "book" | |
name: "Rust_Programming_Language" | |
backend-depends: "" | |
static-url: "https://doc.rust-lang.org/book/" | |
- repo: "https://github.com/rust-lang/rust" | |
dir: "rust/src/doc/rustdoc" | |
name: "Rustdoc_Book" | |
backend-depends: "" | |
static-url: "https://doc.rust-lang.org/stable/rustdoc/" | |
- repo: "https://github.com/rust-lang/nomicon" | |
dir: "nomicon" | |
name: "Rust_Nomicon" | |
backend-depends: "" | |
static-url: "https://doc.rust-lang.org/nomicon/" | |
# - repo: "https://github.com/google/comprehensive-rust" | |
# dir: "comprehensive-rust" | |
# name: "Comprehensive_Rust" | |
# backend-depends: "mdbook-svgbob" | |
# static-url: "https://google.github.io/comprehensive-rust/" | |
- repo: "https://github.com/CnTransGroup/EffectiveModernCppChinese" | |
dir: "EffectiveModernCppChinese" | |
name: "Effective_Modern_C++" | |
backend-depends: "" | |
static-url: "https://cntransgroup.github.io/EffectiveModernCppChinese/" | |
runs-on: "windows-latest" | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: 'recursive' | |
- uses: Swatinem/rust-cache@v2 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: '3.10' | |
cache: 'pip' | |
- name: Install mdbook related backend | |
if: matrix.backend-depends != '' | |
run: | | |
cargo install ${{ matrix.backend-depends }} | |
- name: Build and install mdbook executable | |
run: | | |
cargo install -f --git https://github.com/HollowMan6/mdBook mdbook | |
- name: Build mdbook-pdf dev and install | |
run: | | |
cargo build | |
pip install . | |
cp target/debug/mdbook-pdf.exe . | |
- name: Build Test Docs for PDF | |
run: | | |
git clone ${{ matrix.repo }} | |
$env:Path += ";$pwd" | |
cd ${{ matrix.dir }} | |
echo "[output.pdf]" >> book.toml | |
echo "display-header-footer = true" >> book.toml | |
echo "print-background = true" >> book.toml | |
echo "paper-width = 8" >> book.toml | |
echo "paper-height = 10" >> book.toml | |
echo "margin-top = 0.5" >> book.toml | |
echo "margin-bottom = 0.5" >> book.toml | |
echo "margin-left = 0.5" >> book.toml | |
echo "margin-right = 0.5" >> book.toml | |
echo "static-site-url = '${{ matrix.static-url }}'" >> book.toml | |
echo "header-template = `"<h3 style='font-size:8px; margin-left: 48%' class='title'></h3>`"" >> book.toml | |
echo "footer-template = `"<p style='font-size:10px; margin-left: 48%'><span class='pageNumber'></span> / <span class='totalPages'></span></p>`"" >> book.toml | |
echo "[output.pdf-outline]" >> book.toml | |
mdbook build | |
- name: Upload PDF File to Artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ runner.os }}_${{ matrix.name }}_PDF | |
path: ${{ matrix.dir }}/book/pdf-outline/*.pdf | |
- name: Upload Build HTML to Artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ runner.os }}_${{ matrix.name }}_HTML | |
path: ${{ matrix.dir }}/book/html/* |