このサイトは、只今WEB業界で活躍中のデザイナー、プログラマーの方々の情報を集めたweb統合情報サイトです。

Archives Details

爆速 静的サイトジェネレータ「HUGO」が快適すぎる件。

tool

2016.06.29

この記事は最終更新日から1年以上が経過しています。

スクリーンショット 2016-06-29 0.35.40

HUGO

https://gohugo.io/

どもです。

海外旅行は実は今ではないかと企んでいる今日この頃の私です。

前回に続き、爆速続きで申し訳ないなのですが、「HUGO」が快適すぎる。

作業するにあたって、コンパイルなどやはり何かと早いのがいいですね。

そう、嫌われないぐらいにね。

というわけで、今回は所謂、静的サイトジェネレータに関してです。

HUGOて何?

HUGOは、プログラミング言語Goを使って開発された静的サイトジェネレーターとなります。

静的サイトジェネレーターはRuby 言語で作られた「jekyll」が有名かと思いますが、それと同類なのですが「HUGO」は構造のシンプルさと処理速度の速さで知られています。

jekyll

https://github.com/jekyll/jekyll

最近では(2016年6月現在)Static Site Generators調べによると、GitHubのスター数も3位となって来て注目のジェネレータとなっております。

Static Site Generators

https://staticsitegenerators.net/

スクリーンショット 2016-06-29 0.41.55

jekyllは決して出来の悪いソフトウェアでは無く、完成度の高い静的サイトジェネレーターなのですが、問題視されていたのがやはり、

コンパイルの遅さ」でした。

HUGO」は、静的言語(せいてきせいてき連呼してすみません。)であるGo言語で作られているということもあって、やはりコンパイルの早さに驚くものがあります。

興味湧いてきた

興味湧いてきましたか?

では早速使ってみましょう。

スクリーンショット 2016-06-29 0.58.36

HUGO GitHub

https://github.com/spf13/hugo

インストール

環境が、MacでHomebrewをお使いでしたらインストールも一瞬です。

Mac

brew install hugo

GO getコマンドでインストールを行う場合。

GO

git clone https://github.com/spf13/hugo
cd hugo
go get

HUGOの使い方

インストール完了すると、hugoコマンドを使用できますので、「hugo new site」でサイトの雛形を生成します。

hugo new site my_site

ディレクト移動

cd my_site/

サーバー起動

hugo server

ファイルがないので早いのは当たり前なのですが、にしても

スクリーンショット 2016-06-29 1.06.42

起動するまで「6ms」!

6秒ではありませんよ。0.006秒ですね。

早すぎて、お茶も汲みに行けないわ。

ポート1313に立ち上がりますので、ブラウザを開いて確認。

http://localhost:1313/

開いたところ、いい感じの真っ白。

漂白剤もビックリの白さです。

何も書いていないので当たり前と言えば当たり前ですね。

余計なものは出さないっていうのもシンプル設計。

サーバーを止める際は「Ctrl+C」となります。

それでは、少しディクトリを覗いてみます。

スクリーンショット 2016-06-29 1.11.14

archetypes

ターミナルからコマンドを用いて新しいドキュメントを作成するときに、テンプレートとするファイルを格納しておくディレクトリとなります。

content

記事となる mdファイルが格納されます。

(マークダウンで記事を生成できるのもサイトジェネレータの特徴でもあります。)

data

TOML / YAML / JSON形式のファイルをデータストアして使うためのディレクトリです。

layouts

ページを構成するHTMLファイル等を格納します。

static

CSS、JavaScript、Image ファイルなどのassetsファイルを格納します。

config.toml
サイトの設定ファイルとなります。

のようなディレクトリ構成となっております。

要点だけあげてしまって恐縮ですが、詳細は公式ドキュメントを参照されていただければと。

公式ガイド

http://gohugo.io/overview/quickstart/

それでは、公式ドキュメントであるように、記事を生成してみましょう。

hugo new post/good-to-great.md

スクリーンショット 2016-06-29 1.24.29

mdファイルが生成されているのが確認できます。

でも、このままだと何も見れないので、ビルドを行いましょう。

「hugo」でビルドを行うことができます。

build

hugo

すると、「public」フォルダが生成されるのが確認できます。

スクリーンショット 2016-06-29 1.36.33

こちらが、公開に必要なリソースが格納されるディレクトリとなります。

content内のファイルもそのままビルドされるかと思います。

スクリーンショット 2016-06-29 2.08.54

ちなみに、hugo new で生成した、記事のファイルに関して少し。

ファイルの上部の ”+++”が囲われた部分が「front matter 」と言われる部分で、こちらでそれぞれの設定が行えます。

共通して利用する「front matter 」がある場合は archetypes/default.md に記述することによって

hugo new コマンド毎にセットされる形となります。

例:
archetypes/default.md

+++
tags = ["x", "y"]
categories = ["x", "y"]
+++
hugo new post/my-new-post.md

my-new-post.md

+++
categories = ["x", "y"]
date = "2016-06-29T01:56:11+09:00"
tags = ["x", "y"]
title = "my new post"

+++

ここに記事を書いていく...

となります。

公式ドキュメント

http://gohugo.io/content/front-matter/

テーマのインストール

1から作るのもいいのですが、「HUGO」には様々なテーマが用意されていて(作成されている)、利用することによってリッチなブログを容易に準備できます。

公式ドキュメント

http://themes.gohugo.io/

スクリーンショット 2016-06-29 2.16.46

では、早速テーマのインストールを。

プロジェクト内で以下のコマンドで gitcloneを。

git clone --recursive https://github.com/spf13/hugoThemes.git themes

しかし、このコマンドだとテーマが全部cloneされてちょっと時間かかりますね。。

個別にダウンロードも可能ですので、ご利用は計画的に。

個別にダウンロード

cd themes/
git clone https://github.com/dplesca/purehugo.git

今回は、「purehugo」のテーマをダウンロード。

「purehugo」を指定してサーバーを起動します。

hugo server --theme=purehugo --buildDrafts

スクリーンショット 2016-06-29 2.30.07

きました〜!

いやぁ。便利。

リアルタイムプレビューなので、サーバー起動したまま、記事であるMarkdownファイルを編集すると即座に反映されます。

 

と、「Hugo」の触りのところを紹介させていただきました。

勿論、本格的にカスタマイズする事も可能で、その際は「layout」フォルダにテンプレートファイルとなるhtmlを作っていくのですが、今回は端折らせていただきました。

次回にでも機会があればと書いていこうかと思います。

使用者の記事などを読んでいると「WordPress」から移行する方も多くなって来ているようで、やはり「爆速、シンプル、容易」といった魅力に使用者が増えてきている状況かと思います。

当方も「WordPress」から移行はまだですが、サイト制作の際のサイトジェネレーターは「HUGO」と「gulp」等を用いて作っていたりもします。

コンパイルに遅さを感じている方にはオススメの「静的サイトジェネレーター」となりますので、もしよろしければとー。

ではではー。

hugo

Comment

Related Article

2024年 狙っているモバイルノートPC

2024.01.07

MacOS XcodeにSDL2を追加

2023.12.26

NordVPNを使ってみた感想は?評判や口コミを徹底的に解説

2022.07.26

誰でも簡単に「ホームページ制作」が行える。というWix のサービスが進化しているという事で、あれから久しぶりに触ってみた!

2022.04.12

Macで簡単画面録画「EaseUS RecExperts for Mac」を使ってみた。

2022.01.15

単一ファイル毎に管理できる ファイルマネージャー CLI「coppeno」 v0.7.2リリース!

2021.11.20

Macのデータ復旧を簡単に! EaseUS Data Recovery Wizard for Mac Pro を使用してみた。

2021.08.24

パーティション管理ソフト「MiniTool Partition Wizard」を使ってみた。

2021.08.18

このコロナ禍で、飛沫感染防止など求められる中「電子メモパッド」が重宝。 1300円で購入可能な電子メモパッドが超絶便利な件。

2020.06.02

クローンソフトの「EaseUS Disk Copy」を使って、OSのバックアップを取ってみた。

2019.05.06

CATEGORY LIST

LATEST NEWS

Mac VSCodeで、SFML C++開発環境を作る。

C++

2024.09.09

Rust-SDL2 examplesをすべて試す

Rust

2024.09.01

JavaScriptで、DOMを放り投げる処理

JavaScript

2024.07.27

Rustで創る MOS 6502 CPU その2

Rust

2024.07.23

Rustで創る MOS 6502 CPU その1

Rust

2024.07.19

汎用 3D mesh/model viewerを求め。と、簡単に、FBXファイルをglTF(glb)に変換ツールを求め。

C++

2024.06.06

M1 Macで、OpenGL GLUTを使ってコンパイルする

C

2024.04.27

Rust - Actix Web mongo ユーザー登録 JWT認証

Rust

2024.03.24

Rust - Actix Web JWT 認証認可 APIの作成

Rust

2024.02.25

Rust - Actix Web × JSON 静的ファイルをAPIで返却

Rust

2024.01.19

Rust - Actix Web × MongoDB環境をサクッと起動

Rust

2024.01.18

5分で学ぶ RustでWave Function Collapse (波動関数崩壊アルゴリズム)

Rust

2024.01.15

RANKING

Follow

SPONSOR

現在、掲載募集中です。



Links

About Us

WEBデザイナーの、WEBデザイナーによる、WEBデザイナーの為のサイト。「みんなで書こう!」と仲間を募ってみたが、結局書くのは自分だけとなってしまいました。日々のメモを綴っていきます。

Entry Profile

Graphical FrontEnd Engineer
- Daisuke Takayama

MAD CITY 北九州市で生まれ育つ。20代はバンド活動に明け暮れ、ふと「webデザイナーになりたい。」と思い、デジタルハリウッド福岡校入学。卒業後、数々の賞を受賞、web業界をざわつかせる。
現在、主に、ゲーム制作中心に港区六本木界隈で活動中。

FOLLOW US