[Docker] Erstellen Sie eine Site mit Hugo und veröffentlichen Sie sie auf GitHub

Überblick

Ich werde das Verfahren zum Erstellen einer Hugo-Site in Docker und zum Veröffentlichen auf GitHub zusammenfassen.

Annahme

Umgebung

Der Name des Arbeitsordners lautet "Docker Hugo". Informationen zu docker-compose.yml zum Starten der virtuellen Umgebung von Hugo finden Sie unter [Docker] Erstellen einer Umgebung für die Verwendung von Hugo.

DockerHugo
├── docker-compose.yml

Gesamtbild

Die folgende Abbildung zeigt den lokal mit dem Container durchgeführten Fluss. スクリーンショット 2020-09-17 23.33.56.png

Erstellen Sie eine neue Hugo-Site

Geben Sie den folgenden Befehl in den Container ein

Container


hugo new site hoge

Im Stammordner wird ein Hoge-Ordner erstellt (hier der Ordner "Docker Hugo"). Der Inhalt des Hoge-Ordners lautet wie folgt

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

6 directories, 2 files

Laden Sie das gewünschte Thema herunter

Viele Vorlagen werden von hugo bereitgestellt. Die Vorlage, die Sie verwenden möchten, finden Sie unter theme.gohugo.io. Referenz: Hugo Theme Ranking Site

Wählen Sie hier Lernen. Klicken Sie auf [Demo], um die Websites anzuzeigen, die das Thema verwenden. スクリーンショット 2020-09-16 22.29.24.png

Klicken Sie auf [Download], um die Github-Seite anzuzeigen. Kopieren Sie den in [Code] angegebenen Link. image.png

Starten Sie ein Terminal auf Ihrem lokalen PC und führen Sie im Ordner "DockerHugo" Folgendes aus:

Lokaler PC


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

Der Inhalt des Themas / Lernordners lautet wie folgt

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

Sie können bestätigen, dass die für die Site-Konfiguration erforderlichen Dateien wie HTML und CSS heruntergeladen wurden.

Zu config.toml hinzugefügt

Führen Sie im Hoge-Ordner Ihres lokalen PC-Terminals Folgendes aus

Lokaler PC


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

Zur Datei config.toml hinzugefügt

config.toml


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

Inhaltsdatei hinzufügen

Wenn Sie den Befehl "hugo new" ausführen, werden die Inhaltsdateien unten gespeichert Inhalt / angegebener Ordnername / Dateiname

Führen Sie im Hoge-Ordner des Containerterminals Folgendes aus

Container


hugo new posts/my-first-post.md

Wenn Sie die erstellte Datei überprüfen, werden die folgenden Elemente hinzugefügt

my-first-post.md


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

Der Standardwert ist "Entwurf: wahr", und Entwürfe werden nicht erstellt (Befehl "hugo"). Stellen Sie sicher, dass "Draft: false" festgelegt ist, wenn Sie erstellen möchten

Da es sich bei dieser Datei um eine Datei handelt, die den Inhalt der Webdatei beschreibt, fügen Sie sie wie folgt hinzu

#Titel
Versuchen Sie, eine Hoge-Site zu erstellen

Starten Sie den Hugo-Server

Starten Sie den Hugo-Server, um vor dem Erstellen den Browser einzuchecken

Führen Sie im Hugo-Ordner des Containerterminals Folgendes aus

Container


hugo server -D

Wenn Sie "-D" hinzufügen, wird auch der Entwurf angezeigt.

Überprüfen Sie die erstellte Website

Öffnen Sie http: // localhost: 1313 / in Ihrem Browser スクリーンショット 2020-09-16 23.06.41.png

Die Seitenanpassung wird in einem separaten Artikel beschrieben

Ändern Sie die Datei config.toml

Die Gesamtkonfiguration der Site erfolgt in der Datei config.toml. Geändert wie folgt

config.toml


baseURL = "" #Nicht erforderlich, wenn der relative Pfad auf true gesetzt ist
languageCode = "ja" #Nicht erforderlich, da nicht mehrere Sprachen unterstützt werden."ja"Ändern
title = "My New Hugo Site" 
theme = "learn"
publishDir = "../docs"  #Dateispeicher wird gespeichert, wenn der Befehl hugo ausgeführt wird
relativeURLs = true #Ändern, um als relativer Pfad zu speichern (standardmäßig absoluter Pfad (relativeURLs)=false))

Weitere Informationen zu Parametern finden Sie unter Hugo konfigurieren.

Ergänzende Erläuterung zum Grund für die Änderung von "PublishDir =" docs ""

Dieses Mal werden wir die Website auf GitHub Pages veröffentlichen. In Github Pages können Sie nur den Ordner [(root)] oder [docs] als Ordner angeben, in dem die Dateien gespeichert sind, die die Webseite erstellen. Also habe ich es in "publishDir =" ../ docs "geändert Standardmäßig ist der Ordner "public" angegeben.

Das folgende Bild ist der Einstellungsbildschirm von GitHub Pages スクリーンショット_2020-09-17_22_53_47.png

Ergänzende Erklärung zum Grund für das Setzen von "relativeURLs =" true ""

Durch den Wechsel von einem absoluten Pfad zu einem relativen Pfad ist es jetzt möglich, Ordner auch beim Verschieben zu verarbeiten.

Erstellen Sie eine statische Site

Führen Sie im Ordner "Docker Hugo" (Stammordner) des Containers Folgendes aus

Container


hugo

Da "PublishDir =" docs "" in config.toml beschrieben wurde, wurden HTML- und CSS-Dateien im Ordner docs generiert.

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

Veröffentlicht auf GitHub-Seiten

Veröffentlichen Sie auf GitHub Pages mit dem Befehl git oder SourceTree Weitere Informationen finden Sie im folgenden Artikel ・ [Terminal] Verwalten von git / github

Referenz

Hugo Schnellstartseite

Recommended Posts

[Docker] Erstellen Sie eine Site mit Hugo und veröffentlichen Sie sie auf GitHub
Erstellen Sie ein Docker-Image für redoc-cli und registrieren Sie es auf Docker Hub
Aktivieren Sie den Build-Cache von Docker in GitHub Action und stellen Sie ihn auf Amazon ECS bereit
Ich habe Docker auf EC2 installiert und gestartet
Installieren Sie Ubuntu 20.04 in der virtuellen Box unter Windows 10 und erstellen Sie eine Entwicklungsumgebung mit Docker
(Ruby on Rails6) Erstellen einer Datenbank und Anzeigen in einer Ansicht
Verwenden Sie Jenkins, um in Docker zu erstellen und dann ein Docker-Image zu erstellen.
Erstellen Sie mit Docker eine Node.js-Umgebung
Erstellen Sie einen Minecraft-Server auf AWS
Erstellen Sie Clang x VSCode auf Docker (1)
Erstellen Sie eine XAMPP-Umgebung unter Ubuntu
Führen Sie PureScript auf einem Docker-Container aus
Erstellen Sie eine Unity-Entwicklungsumgebung auf Docker
Lassen Sie uns Docker unter Windows 10 installieren und eine Überprüfungsumgebung für CentOS 8 erstellen!
Beginnen Sie mit der Installation von Docker auf EC2 und dem Ausführen von Yellowfin in einem Container
Shell-Skript, das ein Docker-Image erstellt und an ECR weiterleitet
[Kopieren und Einfügen] Erstellen Sie mit Docker Compose Part 2 eine Laravel-Entwicklungsumgebung
So erstellen Sie eine Ruby on Rails-Entwicklungsumgebung mit Docker (Rails 6.x)
So erstellen Sie eine Ruby on Rails-Entwicklungsumgebung mit Docker (Rails 5.x)
Installieren Sie Docker und Docker-Compose unter Alpine Linux
Erstellen Sie ein Container-Image für Kibanas arm64 und registrieren Sie es in der GitHub-Container-Registrierung. Starten Sie Elastic Stack mit Docker Compose auf Raspberry Pi 4 (64 Bit).
Erstellen Sie mit Docker eine PureScript-Entwicklungsumgebung
Erstellen Sie eine WAS-Ausführungsumgebung aus Docker
Erstellen Sie ein Maven-Repository in AWS S3
Erstellen Sie eine Java-Entwicklungsumgebung auf dem Mac
Erstellen Sie mit Docker eine Wordpress-Entwicklungsumgebung
Veröffentlichen Sie JAR auf Gradle in der GitHub-Paketregistrierung
Erstellen Sie eine Redmine-Code-Leseumgebung in Docker
Erstellen Sie eine Umgebung mit Docker unter AWS
Erstellen Sie eine JMeter-Umgebung auf Ihrem Mac
Erstellen Sie eine Ultra96v2-Entwicklungsumgebung auf Docker 1
Einfache Konstruktion der Docker + Django-Entwicklungsumgebung
Erstellen einer Doker-basierten Entwicklungsumgebung unter Windows 10 Home 2020 Version 1 Bis WSL2-basierte Docker-Konstruktion
Testen, erstellen und verschieben Sie Docker-Images mithilfe von GitHub-Aktionen in die GitHub-Container-Registrierung
Erstellen Sie eine Entwicklungsumgebung, um Ruby on Jets + React-Apps mit Docker zu erstellen
Hinweis beim Erstellen einer Viele-zu-Viele-Factory mit Rspec und Testen mit SystemSpec [RSpec, FactoryBot]
So erstellen Sie einen Jenkins-Server mit einem Docker-Container unter CentOS 7 von VirtualBox und greifen von einem lokalen PC auf den Jenkins-Server zu