[Docker] Créez un site avec Hugo et publiez-le sur GitHub

Aperçu

Je vais résumer la procédure pour créer un site Hugo sur Docker et le publier sur GitHub.

supposition

environnement

Le nom du dossier de travail est "Docker Hugo". Pour docker-compose.yml pour démarrer l'environnement virtuel d'Hugo, reportez-vous à [Docker] Construire un environnement pour utiliser Hugo.

DockerHugo
├── docker-compose.yml

Vue d'ensemble

La figure ci-dessous montre le flux effectué localement avec le conteneur. スクリーンショット 2020-09-17 23.33.56.png

Créer un nouveau site Hugo

Entrez la commande suivante dans le conteneur

récipient


hugo new site hoge

Un dossier hoge est créé dans le dossier racine (ici, le dossier «Docker Hugo»). Le contenu du dossier hoge est le suivant

hoge
├── archetypes
│   └── default.md
├── config.toml
├── content
├── data
├── layouts
├── static
└── themes

6 directories, 2 files

Téléchargez le thème que vous souhaitez utiliser

De nombreux modèles sont fournis par hugo. Trouvez le modèle que vous souhaitez utiliser sur themes.gohugo.io Référence: Site de classement des thèmes Hugo

Ici, sélectionnez Learn. Cliquez sur [Démo] pour voir les sites qui utilisent le thème. スクリーンショット 2020-09-16 22.29.24.png

Cliquez sur [Télécharger] pour afficher la page github. Copiez le lien fourni dans [Code] image.png

Lancez un terminal sur votre PC local et dans le dossier «DockerHugo», exécutez:

PC local


git init
git submodule add https://github.com/matcornic/hugo-theme-learn.git hoge/themes/learn

Le contenu des thèmes / dossier d'apprentissage est le suivant

learn
├── CHANGELOG.md
├── LICENSE.md
├── README.md
├── archetypes
│   └── default.md
├── data
│   └── webpack_assets.json
├── exampleSite
│   ├── config.toml
│   ├── content
│   │   ├── _index.md
│   │   ├── about
│   │   │   └── _index.md
│   │   ├── contact.md
│   │   └── post
│   │       ├── _index.md
│   │       ├── chapter-1.md
・
・
・

26 directories, 101 files

Vous pouvez confirmer que les fichiers requis pour la configuration du site tels que html et css ont été téléchargés.

Ajouté à config.toml

Exécutez ce qui suit dans le dossier hoge de votre terminal PC local

PC local


echo 'theme = "learn"' >> config.toml

Ajouté au fichier config.toml

config.toml


baseURL = "http://example.org/"
languageCode = "en-us"
title = "My New Hugo Site"
theme = "learn"

Ajouter un fichier de contenu

Lorsque vous exécutez la commande hugo new, les fichiers de contenu sont stockés ci-dessous contenu / nom de dossier spécifié / nom de fichier

Exécutez ce qui suit dans le dossier hoge du terminal du conteneur

récipient


hugo new posts/my-first-post.md

Si vous vérifiez le fichier créé, les éléments suivants sont ajoutés

my-first-post.md


---
title: "My First Post"
date: 2020-09-16T13:53:14Z
draft: true 
---

La valeur par défaut est "draft: true" et les brouillons ne sont pas compilés (commande "hugo"). Assurez-vous de définir "brouillon: faux" si vous souhaitez créer

Étant donné que ce fichier est un fichier qui décrit le contenu du fichier Web, ajoutez-le comme suit

#Titre
Essayez de créer un site hoge

Démarrer le serveur Hugo

Démarrez le serveur Hugo pour vérifier dans le navigateur avant de construire

Exécutez ce qui suit dans le dossier hugo du terminal du conteneur

récipient


hugo server -D

Si vous ajoutez "-D", le brouillon sera également affiché.

Vérifiez le site Web créé

Ouvrez http: // localhost: 1313 / dans votre navigateur スクリーンショット 2020-09-16 23.06.41.png

La personnalisation de la page sera décrite dans un article séparé

Modifiez le fichier config.toml

La configuration globale du site se fait dans le fichier config.toml. Modifié comme suit

config.toml


baseURL = "" #Non requis si le chemin relatif est défini sur true
languageCode = "ja" #Pas nécessaire car il ne prend pas en charge plusieurs langues,"ja"Changer pour
title = "My New Hugo Site" 
theme = "learn"
publishDir = "../docs"  #Stockage de fichiers stocké lorsque la commande hugo est exécutée
relativeURLs = true #Changer pour enregistrer en tant que chemin relatif (chemin absolu par défaut (URL relatives)=false))

Voir Configurer Hugo pour plus de détails sur les paramètres.

Explication supplémentaire sur la raison du passage à publishDir =" docs "

Cette fois, nous publierons le site Web sur les pages GitHub. Dans les pages Github, vous ne pouvez spécifier que le dossier [(roots)] ou [docs] comme dossier qui stocke les fichiers qui créent la page Web. Alors je l'ai changé en publishDir =" ../ docs " Par défaut, le dossier "public" est spécifié.

L'image suivante est l'écran de configuration des pages GitHub スクリーンショット_2020-09-17_22_53_47.png

Explication supplémentaire sur la raison de la définition de relativeURLs =" true "

En passant d'un chemin absolu à un chemin relatif, il est désormais possible de gérer les dossiers même lors d'un déplacement.

Créer un site statique

Exécutez ce qui suit dans le dossier "Docker Hugo" (dossier racine) du conteneur

récipient


hugo

Puisque "publishDir =" docs "" a été décrit dans config.toml, les fichiers html et css ont été générés dans le dossier docs.

docs $ tree
.
├── 404.html
├── categories
│   ├── index.html
│   └── index.xml
├── css
│   ├── atom-one-dark-reasonable.css
│   ├── auto-complete.css
│   ├── featherlight.min.css
・
・
・

8 directories, 82 files

Publié sur les pages GitHub

Publier sur des pages GitHub à l'aide de la commande git ou de SourceTree Voir l'article ci-dessous pour plus de détails ・ [Terminal] Comment gérer git / github

référence

Page de démarrage rapide de Hugo

Recommended Posts

[Docker] Créez un site avec Hugo et publiez-le sur GitHub
Créez une image Docker pour redoc-cli et enregistrez-la sur Docker Hub
Activer le cache de construction de Docker dans GitHub Action et déployer sur Amazon ECS
J'ai installé Docker sur EC2 et l'ai démarré
Installez Ubuntu 20.04 dans la boîte virtuelle sur Windows10 et créez un environnement de développement à l'aide de docker
(Ruby on Rails6) Créer une base de données et l'afficher dans une vue
Utilisez Jenkins pour créer dans Docker, puis créez une image Docker.
Créer un environnement Node.js avec Docker
Créer un serveur Minecraft sur AWS
Construire Clang x VSCode sur Docker (1)
Créer un environnement XAMPP sur Ubuntu
Exécuter PureScript sur un conteneur Docker
Créer un environnement de développement Unity sur docker
Installons Docker sur Windows 10 et créons un environnement de vérification pour CentOS 8!
Commencer par installer Docker sur EC2 et exécuter Yellowfin dans un conteneur
Script Shell qui construit une image Docker et la pousse vers ECR
[Copier et coller] Créez un environnement de développement Laravel avec Docker Compose, partie 2
Comment créer un environnement de développement Ruby on Rails avec Docker (Rails 6.x)
Comment créer un environnement de développement Ruby on Rails avec Docker (Rails 5.x)
Installez docker et docker-compose sur Alpine Linux
Créez une image de conteneur pour l'arm64 de Kibana et enregistrez-la dans le registre de conteneurs GitHub. Démarrez Elastic Stack avec Docker Compose sur Raspberry Pi 4 (64 bits)
Créer un environnement de développement PureScript avec Docker
Créer un environnement d'exécution WAS à partir de Docker
Créer un référentiel Maven sur AWS S3
Créer un environnement de développement Java sur Mac
Créer un environnement de développement Wordpress avec Docker
Publier le JAR sur Gradle dans le registre de packages GitHub
Créer un environnement de lecture de code Redmine sur Docker
Créer un environnement avec Docker sur AWS
Créez un environnement JMeter sur votre Mac
Créer un environnement de développement Ultra96v2 sur Docker 1
Construction d'un environnement de développement simple Docker + Django
Créer un environnement de développement basé sur Doker sur Windows10 Famille 2020 ver.Partie 1 Jusqu'à la construction de Docker basé sur WSL2
Tester, créer et pousser des images Docker vers GitHub Container Registry à l'aide d'actions GitHub
Créez un environnement de développement pour créer des applications Ruby on Jets + React avec Docker
Remarque lors de la création d'une usine plusieurs-à-plusieurs avec Rspec et des tests avec SystemSpec [RSpec, FactoryBot]
Comment créer un serveur Jenkins avec un conteneur Docker sur CentOS 7 de VirtualBox et accéder au serveur Jenkins à partir d'un PC local