Blog technique construit avec Hugo et le thème Ghostwriter.
- Hugo Extended (version 0.112.0 ou supérieure recommandée)
- Git
macOS :
brew install hugoWindows :
choco install hugo-extendedLinux :
sudo snap install hugoVérifiez l'installation :
hugo versiongit clone https://github.com/Rajekevin/monoursestjaune.git
cd monoursestjaunegit submodule update --init --recursivehugo server -DLe site sera accessible sur http://localhost:1313
Options utiles :
hugo server -D: Inclut les brouillons (drafts)hugo server --disableFastRender: Désactive le rendu rapide (si problèmes d'affichage)hugo server --bind 0.0.0.0: Rend le site accessible depuis d'autres appareils sur le réseau
hugo new posts/mon-article.mdL'article sera créé dans content/posts/mon-article.md
.
├── archetypes/ # Templates pour nouveaux contenus
├── content/ # Vos articles et pages
│ └── posts/ # Articles du blog
├── static/ # Fichiers statiques (images, CSS, JS)
│ └── uploads/ # Images uploadées
├── themes/ # Thèmes Hugo
│ └── ghostwriter/ # Thème actuel
├── config.toml # Configuration du site
└── public/ # Site généré (ne pas versionner)
-
Connecter votre repository GitHub à Netlify :
- Allez sur netlify.com
- Cliquez sur "Add new site" → "Import an existing project"
- Sélectionnez GitHub et autorisez Netlify
- Choisissez le repository
monoursestjaune
-
Configuration du build :
- Build command :
hugo --gc --minify - Publish directory :
public - Environment variables :
HUGO_VERSION:0.125.0(ou votre version)
- Build command :
-
Créer le fichier
netlify.toml(à la racine du projet) :
[build]
publish = "public"
command = "hugo --gc --minify"
[build.environment]
HUGO_VERSION = "0.125.0"
HUGO_ENV = "production"
HUGO_ENABLEGITINFO = "true"
[context.production.environment]
HUGO_ENV = "production"
[context.deploy-preview]
command = "hugo --gc --minify --buildFuture -b $DEPLOY_PRIME_URL"
[context.branch-deploy]
command = "hugo --gc --minify -b $DEPLOY_PRIME_URL"
[[headers]]
for = "/*"
[headers.values]
X-Frame-Options = "DENY"
X-XSS-Protection = "1; mode=block"
X-Content-Type-Options = "nosniff"- Déployer :
- Chaque push sur la branche
masterdéclenchera automatiquement un build - Les pull requests créeront des previews automatiques
- Chaque push sur la branche
# 1. Générer le site
hugo --gc --minify
# 2. Installer Netlify CLI
npm install -g netlify-cli
# 3. Se connecter à Netlify
netlify login
# 4. Déployer
netlify deploy --prod --dir=public- Dans Netlify, allez dans "Domain settings"
- Ajoutez votre domaine
bearisyellow.me - Configurez les DNS selon les instructions de Netlify
- Activez HTTPS automatique
Les fichiers du thème sont dans themes/ghostwriter/. Pour personnaliser sans modifier le thème directement :
- Copiez le fichier à modifier depuis
themes/ghostwriter/layouts/verslayouts/ - Modifiez votre copie
- Hugo utilisera automatiquement votre version
Créez static/css/custom.css et ajoutez-le dans config.toml :
[params]
customCSS = ["css/custom.css"]# Générer le site en production
hugo --gc --minify
# Nettoyer les fichiers générés
rm -rf public resources
# Mettre à jour le thème
git submodule update --remote --merge
# Vérifier les liens cassés
hugo --printPathWarnings
# Mesurer les performances de build
hugo --templateMetrics- Hugo Extended (pour SCSS)
- Theme Ghostwriter
Le site ne se génère pas :
- Vérifiez que les submodules sont initialisés :
git submodule update --init - Vérifiez la version de Hugo :
hugo version
Les styles ne s'appliquent pas :
- Videz le cache :
hugo --gc - Vérifiez que vous utilisez Hugo Extended
Erreur lors du déploiement Netlify :
- Vérifiez la variable
HUGO_VERSIONdans Netlify - Consultez les logs de build dans l'interface Netlify
MIT License