HUGO CLI

cli (command line interface)

hugoでビルドしたりローカルサーバを起動するには、hugoのcliを使う必要があります。

オプションの数がそれなりにありますが、普段使用するオプションの数は多くないので、大丈夫です。

hugoコマンドラインのヘルプ

まずはcliから確認できるオプションです。

tree-no-iMac:hugo tree$ hugo -h
hugo is the main command, used to build your Hugo site.

Hugo is a Fast and Flexible Static Site Generator built with love by spf13 and friends in Go.

Complete documentation is available at http://gohugo.io

Usage:
  hugo [flags]
  hugo [command]

Available Commands:
  server          Hugo runs its own webserver to render the files
  version         Print the version number of Hugo
  config          Print the site configuration
  check           Check content in the source directory
  benchmark       Benchmark hugo by building a site a number of times
  new             Create new content for your site
  undraft         Undraft changes the content's draft status from 'True' to 'False'
  genautocomplete Generate shell autocompletion script for Hugo
  gendoc          Generate Markdown documentation for the Hugo CLI.
  help            Help about any command

Flags:
  -b, --baseUrl="": hostname (and path) to the root eg. http://spf13.com/
  -D, --buildDrafts=false: include content marked as draft
  -F, --buildFuture=false: include content with publishdate in the future
      --cacheDir="": filesystem path to cache directory. Defaults: $TMPDIR/hugo_cache/
      --config="": config file (default is path/config.yaml|json|toml)
  -d, --destination="": filesystem path to write files to
      --disableRSS=false: Do not build RSS files
      --disableSitemap=false: Do not build Sitemap file
      --editor="": edit new content with this editor, if provided
  -h, --help=false: help for hugo
      --ignoreCache=false: Ignores the cache directory for reading but still writes to it
      --log=false: Enable Logging
      --logFile="": Log File path (if set, logging enabled automatically)
      --noTimes=false: Don't sync modification time of files
      --pluralizeListTitles=true: Pluralize titles in lists using inflect
  -s, --source="": filesystem path to read files relative from
      --stepAnalysis=false: display memory and timing of different steps of the program
  -t, --theme="": theme to use (located in /themes/THEMENAME/)
      --uglyUrls=false: if true, use /filename.html instead of /filename/
  -v, --verbose=false: verbose output
      --verboseLog=false: verbose logging
  -w, --watch=false: watch filesystem for changes and recreate as needed


Additional help topics:
 hugo convert         Convert will modify your content to different formats hugo list            Listing out various types of content

Use "hugo help [command]" for more information about a command.

最低限知っておきたいオプション

それは「server」と「-w」と「-t theme」と「-D」です。

server

ターミナルで「hugo」とだけ入力して実行すると、ビルドしてhugoが終了してしまいます。

serverモードで起動する事で、ブラウザで http://127.0.0.1:1313/ の画面を開くと画面を確認する事ができ、ライブリロードを利用する事ができるようになります。ローカル環境で記事を書く際は基本的にserverモードで起動した方が色々便利です。

-w または –watch=true

-wをつける事でライブリロードが有効になります。付けておいた方が便利です。material design lightのように、リロードすると画面上部に位置が戻されてしまう場合はライブリロードを使わない方がいいかもしれません。

なお、リロードのトリガーとなるのは記事の更新ですが、記事を編集せず保存した場合もリロードが実行されます。従って、無駄に何度も保存を連続実行すると、保存した回数分リロードが発生してしまうので注意が必要です。

-t または –theme=テーマ名

git cloneしたテーマを反映するためのオプションです。

テーマを適用しない場合は「/プロジェクト名/layouts/」のレイアウトが反映されますが、テーマを適用した場合は「/プロジェクト名/themes/テーマ名/layouts」のレイアウトが反映されます。

-D または –buildDrafts=true

これは知っていないとハマるので絶対覚えておきたいオプションです。

markdownで記事を書く際に、記事先頭にある「+++」のFront Matter内に「draft」というものがあります。このドラフトがtrue(有効)だと「まだ下書きなので記事をビルドしない」という意味になり、hugoコマンドでビルドしてもdraft=trueの記事は出力されないため、その記事をブラウザで確認する事はできません。勿論ローカル環境では下書き状態から記事を書くので、(ほとんどの場合)draft=trueですね。しかしtrueだとローカル環境で下書き記事をブラウザで確認できない事になります。-Dオプションは、ドラフトの状態に関わらず、全記事をビルド対象とするためのオプションです。

ローカル環境では基本的に-Dを付けると便利です。このオプションを付けずに「hugo server -w」してから記事を生成して「あれ?404になる??URL合ってるよね???」となる事は結構あるので、-Dを付けてローカルではどんな状態でもブラウザで確認できるようにするといいかと思います。

ローカル環境で使う定番コマンド

私が普段ローカル環境でhugo serverを起動して記事を書く際に使用しているオプションです。(テーマを適用しない場合です)

hugo server -w -D

serverはローカル環境でサーバとして起動します。-wはライブリロードを有効にします。-Dはローカル環境で下書き状態の記事もブラウザで確認できるようにします。

最低限これだけ設定すれば十分に記事を書けると思います。

広告
トップページに戻る

シェア

広告