Skip to content

Commit c9db13d

Browse files
alemorvansspencerwireSergeCroiselumarel
authored
Add scripts and doc to generate pdf (#1171)
* Add scripts and doc to generate pdf * Update build_pdf/README.MD Co-authored-by: Serge Croisé <[email protected]> * Update build_pdf/README.MD Co-authored-by: Serge Croisé <[email protected]> * feat: modular improvments * Make script executable * Add build pipeline --------- Co-authored-by: Antoine Le Morvan <Antoine Le Morvan> Co-authored-by: sspencerwire <[email protected]> Co-authored-by: Serge Croisé <[email protected]> Co-authored-by: lumarel <[email protected]>
1 parent 0783088 commit c9db13d

File tree

13 files changed

+380
-0
lines changed

13 files changed

+380
-0
lines changed

.github/workflows/generate-pdfs.yml

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
---
2+
name: Mkdocs build PDFs
3+
4+
on:
5+
push:
6+
branches:
7+
- main
8+
schedule:
9+
- cron: '0 12 1 * *'
10+
workflow_dispatch:
11+
12+
jobs:
13+
build_pdfs:
14+
runs-on: ubuntu-latest
15+
name: Build PDFs
16+
steps:
17+
- uses: actions/checkout@v3
18+
19+
- uses: actions/setup-python@v4
20+
with:
21+
python-version: "3.9"
22+
23+
- name: Install dependencies
24+
run: |
25+
python -m pip install --upgrade pip
26+
python -m pip install -r ${PWD}/build_pdf/requirements.txt
27+
28+
- name: Build all
29+
run: ${PWD}/build_pdf/build_all.sh
30+
31+
- name: Upload artifacts
32+
uses: actions/upload-artifact@v3
33+
with:
34+
name: pdfs
35+
path: build_pdf/pdf/*

build_pdf/README.MD

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# How to generate your own book
2+
3+
## Installation
4+
5+
First, fork this repo.
6+
7+
Next, please install the requirements:
8+
9+
```bash
10+
pip install --user -r requirements.txt
11+
```
12+
13+
Then run the build process:
14+
15+
```bash
16+
cd build_pdf
17+
mkdocs build -f path_to_config_file.yml
18+
```
19+
20+
or launch the bash script to build everything:
21+
22+
```bash
23+
bash build_all.sh
24+
```

build_pdf/admin_book/en.yml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
---
2+
INHERIT: ../build_base.yml
3+
4+
# Do not modify this block
5+
pdf-config: &pdf-config
6+
author: Rocky Documentation Team
7+
cover: true
8+
cover_logo: ../assets/rocky-linux-logo.svg
9+
cover_subtitle: A book from the Documentation Team
10+
toc_level: 3
11+
ordered_chapter_level: 3
12+
verbose: false
13+
14+
# You are free to configure here what you want
15+
plugins:
16+
- with-pdf:
17+
<<: *pdf-config
18+
cover_title: Rocky Linux Admin Guide (English version)
19+
output_path: ../../pdf/RockyLinuxAdminGuide.pdf
20+
21+
# Customize your own book
22+
nav:
23+
- admin_guide/00-toc.md
24+
- admin_guide/01-presentation.md
25+
- admin_guide/03-commands.md
26+
- admin_guide/04-advanced-commands.md
27+
- admin_guide/05-vi.md
28+
- admin_guide/06-users.md
29+
- admin_guide/07-file-systems.md
30+
- admin_guide/08-process.md
31+
- admin_guide/09-backups.md
32+
- admin_guide/10-boot.md
33+
- admin_guide/11-tasks.md

build_pdf/admin_book/it.yml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
---
2+
INHERIT: ../build_base.yml
3+
4+
# Do not modify this block
5+
pdf-config: &pdf-config
6+
author: Rocky Documentation Team
7+
cover: true
8+
cover_logo: ../assets/rocky-linux-logo.svg
9+
cover_subtitle: A book from the Documentation Team
10+
toc_level: 3
11+
ordered_chapter_level: 3
12+
verbose: false
13+
14+
# You are free to configure here what you want
15+
plugins:
16+
- with-pdf:
17+
<<: *pdf-config
18+
cover_title: Rocky Linux Admin Guide (Italian version)
19+
output_path: ../../pdf/RockyLinuxAdminGuide.it.pdf
20+
21+
# Customize your own book
22+
nav:
23+
- admin_guide/00-toc.it.md
24+
- admin_guide/01-presentation.it.md
25+
- admin_guide/03-commands.it.md
26+
- admin_guide/04-advanced-commands.it.md
27+
- admin_guide/05-vi.it.md
28+
- admin_guide/06-users.it.md
29+
- admin_guide/07-file-systems.it.md
30+
- admin_guide/08-process.it.md
31+
- admin_guide/09-backups.it.md
32+
- admin_guide/10-boot.it.md
33+
- admin_guide/11-tasks.it.md

build_pdf/ansible_book/en.yml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
---
2+
INHERIT: ../build_base.yml
3+
4+
# Do not modify this block
5+
pdf-config: &pdf-config
6+
author: Rocky Documentation Team
7+
cover: true
8+
cover_logo: ../assets/rocky-linux-logo.svg
9+
cover_subtitle: A book from the Documentation Team
10+
toc_level: 3
11+
ordered_chapter_level: 3
12+
verbose: false
13+
14+
# You are free to configure here what you want
15+
plugins:
16+
- with-pdf:
17+
<<: *pdf-config
18+
cover_title: Learning Ansible with Rocky (English version)
19+
output_path: ../../pdf/LearningAnsibleWithRocky.pdf
20+
21+
# Customize your own book
22+
nav:
23+
- learning_ansible/00-toc.md
24+
- learning_ansible/01-basic.md
25+
- learning_ansible/02-advanced.md
26+
- learning_ansible/03-working-with-files.md
27+
- learning_ansible/04-ansible-galaxy.md
28+
- learning_ansible/05-deployments.md
29+
- learning_ansible/06-large-scale-infrastructure.md
30+
- learning_ansible/07-working-with-filters.md
31+
- learning_ansible/08-management-server-optimizations.md

build_pdf/ansible_book/es.yml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
---
2+
INHERIT: ../build_base.yml
3+
4+
# Do not modify this block
5+
pdf-config: &pdf-config
6+
author: Rocky Documentation Team
7+
cover: true
8+
cover_logo: ../assets/rocky-linux-logo.svg
9+
cover_subtitle: A book from the Documentation Team
10+
toc_level: 3
11+
ordered_chapter_level: 3
12+
verbose: false
13+
14+
# You are free to configure here what you want
15+
plugins:
16+
- with-pdf:
17+
<<: *pdf-config
18+
cover_title: Learning Ansible with Rocky (Spanish version)
19+
output_path: ../../pdf/LearningAnsibleWithRocky.es.pdf
20+
21+
# Customize your own book
22+
nav:
23+
- learning_ansible/00-toc.es.md
24+
- learning_ansible/01-basic.es.md
25+
- learning_ansible/02-advanced.es.md
26+
- learning_ansible/03-working-with-files.es.md
27+
- learning_ansible/04-ansible-galaxy.es.md
28+
- learning_ansible/05-deployments.es.md
29+
- learning_ansible/06-large-scale-infrastructure.es.md
30+
- learning_ansible/07-working-with-filters.es.md
31+
- learning_ansible/08-management-server-optimizations.es.md

build_pdf/ansible_book/it.yml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
---
2+
INHERIT: ../build_base.yml
3+
4+
# Do not modify this block
5+
pdf-config: &pdf-config
6+
author: Rocky Documentation Team
7+
cover: true
8+
cover_logo: ../assets/rocky-linux-logo.svg
9+
cover_subtitle: A book from the Documentation Team
10+
toc_level: 3
11+
ordered_chapter_level: 3
12+
verbose: false
13+
14+
# You are free to configure here what you want
15+
plugins:
16+
- with-pdf:
17+
<<: *pdf-config
18+
cover_title: Learning Ansible with Rocky (Italian version)
19+
output_path: ../../pdf/LearningAnsibleWithRocky.it.pdf
20+
21+
# Customize your own book
22+
nav:
23+
- learning_ansible/00-toc.it.md
24+
- learning_ansible/01-basic.it.md
25+
- learning_ansible/02-advanced.it.md
26+
- learning_ansible/03-working-with-files.it.md
27+
- learning_ansible/04-ansible-galaxy.it.md
28+
- learning_ansible/05-deployments.it.md
29+
- learning_ansible/06-large-scale-infrastructure.it.md
30+
- learning_ansible/07-working-with-filters.it.md
31+
- learning_ansible/08-management-server-optimizations.it.md

build_pdf/bash_book/en.yml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
---
2+
INHERIT: ../build_base.yml
3+
4+
# Do not modify this block
5+
pdf-config: &pdf-config
6+
author: Rocky Documentation Team
7+
cover: true
8+
cover_logo: ../assets/rocky-linux-logo.svg
9+
cover_subtitle: A book from the Documentation Team
10+
toc_level: 3
11+
ordered_chapter_level: 3
12+
verbose: false
13+
14+
# You are free to configure here what you want
15+
plugins:
16+
- with-pdf:
17+
<<: *pdf-config
18+
cover_title: Learning Bash with Rocky (English version)
19+
output_path: ../../pdf/LearningBashWithRocky.pdf
20+
21+
# Customize your own book
22+
nav:
23+
- learning_bash/00-toc.md
24+
- learning_bash/01-first-script.md
25+
- learning_bash/02-using-variables.md
26+
- learning_bash/03-data-entry-and-manipulations.md
27+
- learning_bash/04-check-your-knowledge.md
28+
- learning_bash/05-tests.md
29+
- learning_bash/06-conditionnal-structures.md
30+
- learning_bash/07-loops.md
31+
- learning_bash/08-check-your-knowledge.md

build_pdf/bash_book/it.yml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
---
2+
INHERIT: ../build_base.yml
3+
4+
# Do not modify this block
5+
pdf-config: &pdf-config
6+
author: Rocky Documentation Team
7+
cover: true
8+
cover_logo: ../assets/rocky-linux-logo.svg
9+
cover_subtitle: A book from the Documentation Team
10+
toc_level: 3
11+
ordered_chapter_level: 3
12+
verbose: false
13+
14+
# You are free to configure here what you want
15+
plugins:
16+
- with-pdf:
17+
<<: *pdf-config
18+
cover_title: Learning Bash with Rocky (Italian version)
19+
output_path: ../../pdf/LearningBashWithRocky.it.pdf
20+
21+
# Customize your own book
22+
nav:
23+
- learning_bash/00-toc.it.md
24+
- learning_bash/01-first-script.it.md
25+
- learning_bash/02-using-variables.it.md
26+
- learning_bash/03-data-entry-and-manipulations.it.md
27+
- learning_bash/04-check-your-knowledge.it.md
28+
- learning_bash/05-tests.it.md
29+
- learning_bash/06-conditionnal-structures.it.md
30+
- learning_bash/07-loops.it.md
31+
- learning_bash/08-check-your-knowledge.it.md

build_pdf/build_all.sh

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
#!/bin/bash
2+
3+
# config_files=(
4+
# admin_book/en
5+
# ansible_book/build_ansible_book
6+
# admin_book/build_admin_book_it
7+
# bash_book/build_bash_book
8+
9+
# ansible_book/build_ansible_book_it
10+
# bash_book/build_bash_book_it
11+
# ansible_book/build_ansible_book_es
12+
# )
13+
SCRIPTPATH="$( cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"
14+
cd $SCRIPTPATH
15+
16+
for book in admin_book ansible_book bash_book
17+
do
18+
for config_file in $(ls ${SCRIPTPATH}/${book}/*.yml)
19+
do
20+
echo "Building $config_file"
21+
echo "---------------------"
22+
mkdocs build -f $config_file
23+
echo ""
24+
done
25+
rm -Rf ${SCRIPTPATH}/${book}/site/
26+
done

0 commit comments

Comments
 (0)