Skip to content

Commit 59aa7eb

Browse files
committed
add sphix vs mkdocs and secret management
1 parent c5af3cb commit 59aa7eb

File tree

3 files changed

+56
-0
lines changed

3 files changed

+56
-0
lines changed

docs/learning/mkdocs_tutorial/github_pages.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,3 +31,33 @@ Ecco alcune caratteristiche:
3131
!!! note "tip"
3232

3333
Bisogna quindi impostare questa opzione in **Settings > Pages > Build and deployment > Source = Github Actions**
34+
35+
## Gestione dei secrets
36+
37+
Spesso capita che all'interno dei nostri progetti dobbiamo utilizzare dei valori che non devono essere mostrati in chiaro perchè riservati.
38+
39+
In mkdocs é possibile inserire delle variabili di ambiente all'interno di mkdocs.yml e poi passare il vero valore dinamicamente per esempio tramite la pipeline di cicd.
40+
41+
Un esempio é l'estensione per google analytics fornita da mkdocs material:
42+
43+
``` { .yaml .copy }
44+
analytics:
45+
provider: google
46+
property: !ENV GOOGLE_ANALYTICS_KEY
47+
```
48+
49+
In questo caso abbiamo passato il valore **GOOGLE_ANALYTICS_KEY** tramite la github actions che si occupa del deploy del sito.
50+
Come fare?
51+
52+
1. Nella vostra repo andate nella sezione **Settings** e poi in **Secrets and variables**
53+
2. Nella sezione actions selezionate **New repository secret** e aggiungete il vostro secret
54+
3. All' interno dello yaml di configurazione della github actions richiamate il valore del secret in questo modo:
55+
56+
``` { .yaml .copy }
57+
- name: Build mkdocs website inside docker
58+
shell: bash
59+
run: make docs_build
60+
env:
61+
GOOGLE_ANALYTICS_KEY: $<double curly brackets> secrets.GOOGLE_ANALYTICS_KEY <double curly brackets>
62+
63+
```
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
---
2+
title: MkDocs vs Sphinx
3+
disquis: PythonBiellaGroup
4+
timetoread: true
5+
tags:
6+
- mdkocs
7+
- sphinx
8+
---
9+
10+
Nel panorama delle librerie per generare documentazione automatica e siti statici non possiamo non citare [Sphinx](https://sphinx-rtd-theme.readthedocs.io/en/stable/) che forse ha rappresentato lo standard python fino a qualche anno fa.
11+
12+
Potete trovare già un riferimento a **sphinx** e alle sue caratteristiche all'interno di questo [articolo](../../learning/document_code/index.md)
13+
14+
In questa sezione confrontiamo invece in maniera schematica quali sono le caratteristiche di sphinx e mkdocs in modo da poter evidenziare i punti di forza di entrambi.
15+
16+
| | MkDocs | Sphinx |
17+
| --------------- | ------------------------------------------ | --------------------------------------------------------------------- |
18+
| `Formati supportati` | **Markdown** | **rST** ma con l'estensione myst-parser supporta il markdown |
19+
| `Startup` | Facile con il comando `poetry run mkdocs .` | Semplice con il comando `sphinx-quickstart` |
20+
| `Configurazione`| Utilizza un file yaml **mkdocs.yml** | Utilizza un file python **conf.py** |
21+
| `Layout` | Elegante ed accattivante, risulta anche ben navigabile | Risulta un po' retro. Iconico il tema Read the Docs |
22+
| `Build` | Fornisce un server locale per provare interamente il sito. Comodo il comando `poetry run mkdocs serve` | Genera la build del sito ma é l'utente che lo deve poi provare nel suo browser. Questa operazione viene fatta con `make html` |
23+
| `Estensioni` | Sono tantissime ma non tutte vengono mantenute | Sono presenti molte estensioni ma la community é meno attiva rispetto a mkdocs |
24+
| `Personalizzazione` | Possibilità infinite grazie all'integrazione dei css e ai temi disponibili | Decisamente meno personalizzabile |
25+
| `Integrazione con terze parti` | Integrazione con Confluence con questa [estensione](https://github.com/pawelsikora/mkdocs-with-confluence) | Integrazione con Confluence con questa [estensione](https://sphinxcontrib-confluencebuilder.readthedocs.io/en/stable/) |

mkdocs.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,7 @@ nav:
217217
- learning/mkdocs_tutorial/deploy.md
218218
- Github pages: learning/mkdocs_tutorial/github_pages.md
219219
- Estensioni: learning/mkdocs_tutorial/extensions.md
220+
- MkDocs vs Sphinx: learning/mkdocs_tutorial/mkdocs_vs_sphinx.md
220221
- Pre-commit: learning/pre-commit/index.md
221222
- Struttura di progetto:
222223
- learning/project_structure/index.md

0 commit comments

Comments
 (0)