Hugoを使用してゼロからデプロイまで新しいブログを開始するための詳細なチュートリアル
Hugoはブログを始めるのに最適なツールです。
私は2年以上前からこのブログでHugoを使用しています。 Hugoを愛する理由はいくつかあります。
ですシンプル、退屈な、フレキシブル、速い。
主な理由はそれがシンプル。始めるために学ぶ必要のあることはあまりありません。
あなたはMarkdownでコンテンツを書きます。これは、私のお気に入りのエディター(Bear)を使用して投稿を書くことができる形式です。
ヒューゴは退屈な。誤解しないでください、これは非常に前向きなことです。開発者として、私はいつもあちこちで物事を微調整したいと思っています。 Hugoの根底にある素晴らしいテクノロジーはありません。私が最も愛している言語の1つであるGoを使用して構築されていますが、Hugoの内部に飛び込んで、その動作を変更したいという意味ではありません。
また、多くのJavaScriptフレームワークのように、クールなものや次世代のものは表示されません。
したがって、それは退屈であり、ブログで作業するときに本当に役立つことを行うために多くの時間を与えてくれます。コンテンツを書く。私はコンテンツコンテナではなく、コンテンツに焦点を合わせています。
そうは言っても、ヒューゴはかなりくそったれですフレキシブル。私はオープンソースのテーマで自分のブログを始め、それから時間をかけて完全に変更しました。自分のウェブサイトで単純なブログの範囲外のことをしたいことがありますが、Hugoではそれらを作成することができます。
最後に、私がヒューゴを愛するもう一つの理由は、速い。どうして?まず、非常に高速な言語として知られているGoをコアにしています。また、Goエコシステムには、100メガバイトの依存関係という概念はありません。物事は可能な限り速く作られています。さらに、Hugoは、派手なテクノロジーを使用するときに必要ないくつかの派手なことをする必要はありません。これは退屈な副産物です。
とにかく、言葉で十分です。
特にあなたが開発者であり、Markdownで書く気があるなら、Hugoは素晴らしいです。技術者以外の人はMarkdownの使用を拒否するかもしれません、そしてそれは完全に理解できます。
また、物事を実際にクリックさせるには、Git中心のワークフローに備える必要があります。
Markdownを使用して投稿を作成し、変更をGitリポジトリ(最も一般的にはGitHub)にコミットすると、一部の接着技術によって、サイトをホストするサーバーに変更がデプロイされます。
HugoWebサイトのホスティング
Hugoブログは完全に静的。つまり、独自のサーバーをホストしたり、特別なサービスを使用したりする必要はありません。
Netlify、Now、GitHub Pagesは、Hugoブログを無料でホストできる3つの素晴らしい場所です。
唯一のコストは、ドメイン名のために維持しなければならないものです。自分のドメイン名を持つことの重要性をこれ以上強調することはできません。番号.github.io
または.netlify.com
または.now.sh
サイトをお願いします。
私自身のHugoサイトはNetlifyでホストされています。
ドメインを選択してください
あなたのブログをあなた自身のドメインの下に置いてください。一つを選ぶ。自分の名前を使用してください。そして使用する.com
または.blog
。ローカライズされたドメインを使用して賢くしようとしないでください、使用しないでください.io
。.com
印象が良くなり、ブログをホストするだけでなく、将来のすべてのプロジェクトで再利用できます。私はそれを選びました。
ああ、古いドメインが存在する場合は、それを使用してください。どうして?ドメインが古いほど良いです。
サブドメインに関する注意:Googleにとって、すべてのサブドメインは異なるWebサイトです。したがって、ドメインがflaviocopes.com
、そしてあなたはであなたのブログを作成しますblog.flaviocopes.com
、それはグーグルにとって完全に新しいウェブサイトであり、メインドメインとは別の独自のランキングがあります。
私の提案は、サブドメインを完全に避けることです。
Hugoをインストールする
MacOSにHugoをインストールするには、ターミナルから
brew install hugo
ザ・
brew
コマンドがMacに存在しませんか?チェックしてください自作ガイド
WindowsおよびLinuxの場合は、公式インストールガイド。
Hugoサイトを作成する
Hugoをインストールしたら、実行してHugoサイトを作成できます。
hugo new site myblog
私はこれを実行することをお勧めしますwww
コマンドが新しいを作成するため、ホームディレクトリ内のフォルダmyblog
それを実行するフォルダ。
テーマを選ぶ
始める前に、テーマを選択する必要があります。 Hugoにデフォルトのテーマを含めて、物事を簡単にしたいと思いますが、そうではありません。
にはたくさんの選択肢がありますhttps://themes.gohugo.io。私の個人的な推奨事項は、https://themes.gohugo.io/ghostwriter/後で微調整します。
また、避けることをお勧めしますgit clone
将来的には確実にテーマを微調整するため、そのページで提案されているワークフローです。コンテンツとテーマの両方に単一のリポジトリを用意するのが最善だと思います。展開が簡単になります。
だから、に行くhttps://github.com/jbub/ghostwriter/archive/master.zipテーマの現在のバージョンをダウンロードします。
次に、それをで解凍しますthemes/ghostwriter
新しく作成したHugoWebサイトのフォルダー:
あることに注意してくださいexampleSite
のフォルダthemes/ghostwriter
。それを開いて、content
サブフォルダー。そこに、あなたは見ることができますpage
、post
そしてproject
サブフォルダー。
コピーpage
そしてpost
の中にcontent
サイトのフォルダ:
構成
サンプルデータはサンプルも提供しますconfig.toml
ファイルにthemes/ghostwriter/exampleSite/config.toml
。これはHugo構成ファイルであり、テーマに情報をハードコーディングしなくても、Hugoに構成の詳細を通知します。
物が多すぎるので、それをコピーせず、代わりにこれを使用することをお勧めします。
baseurl = "/"
title = "My blog"
theme = "ghostwriter"
[Params]
mainSections = [“post”]
intro = true
headline = “My headline”
description = “My description”
github = “https://github.com/XXX”
twitter = “https://twitter.com/XXX”
email = “[email protected]”
opengraph = true
shareTwitter = true
dateFormat = “Mon, Jan 2, 2006”
[Permalinks]
post = “/:filename/”
このファイルの情報は後で自由にカスタマイズできます。
コマンドラインから、次のコマンドを実行します。
hugo serve
開いたhttp://localhost:1313
ブラウザで、サイトをライブで見ることができるはずです!
これはサイトのホームページです。
から取られた投稿のリストがありますcontent/post
あなたのウェブサイトのフォルダ:
「新しいテーマの作成」と呼ばれる最初のをクリックします。
あなたはファイルを開くことができますcontent/post/creating-a-new-theme.md
投稿内の何かを変更します。
保存すると、ウェブサイトは自動的に新しいコンテンツで更新されます。
これはかなり素晴らしいですよね?
新しい投稿を作成することで、新しい投稿を作成できます.md
ファイル、必要なものを前に付けます。必要に応じて、増分番号を使用できます。または、日付を使用します。
何かがあなたが望むように見えない場合、あなたは開くことができますthemes/ghostwriter/layouts
フォルダとそれを微調整します。
「投稿」テンプレートはで定義されていますthemes/ghostwriter/layouts/post/single.html
:
HugoはGoテンプレートを使用します。構文はなじみのないものかもしれませんが、HugoのWebサイトはこれでそれらを説明するのに非常に優れています。テンプレートの紹介に行く。
ただし、今はテンプレートのカスタマイズを検討しないようにしてください。
色を微調整したい場合は、<style>
にCSSを付けたタグthemes/ghostwriter/layouts/partials/header.html
。
たとえば、リンクを黒にします。
<style>
.site-title a, .button-square {
background: black;
}
a {
color: black;
}
</style>
代わりにコンテンツに焦点を合わせます。
既存のファイルを削除し、最初に2〜3件の投稿を書き込みます。
思い通りの作りにとらわれるのは簡単ですが、大切なのは内容です。
そして、あなたのサイトがきれいであるほど、あなたの読者にとってより良いです。
ここで、展開について少し説明します。
HugoサイトをNetlifyにデプロイします
私が最も楽しんでいる2つのサービスであるNetlifyとNowにHugoサイトをデプロイする方法を紹介したいと思います。
まず、サイトをホストするためのGitHubリポジトリを作成します。
毎日使用しているアプリであるGitHubDesktopを開き、ワークフローの一部にしています。これはGitを使用する最も簡単な方法です。
[ファイル]メニューから、[新しいリポジトリ]オプションを押しました。
ドラッグするだけで同じ画面を生成できますmyblog
アプリにフォルダ。
私はmyblog
リポジトリに名前を付け、リポジトリの正しいパスを選択しました。
プロセスは自動的に最初のコミットを行います。
これで、[リポジトリの公開]ボタンをクリックして、リポジトリをGitHubにプッシュできます。
もちろん、リポジトリを非公開にすることもできます。
リポジトリがGitHubにあると:
Netlifyに移動できます。
Netlifyダッシュボードから、「Gitからの新しいサイト」ボタンを押しました。
GitHubを押し、Netlifyにプライベートリポジトリへのアクセスを許可してから、作成したばかりのリポジトリを選択しました。
NetlifyはそれをHugoリポジトリとして自動的に識別し、ビルドコマンドを自動的に入力しました。
「サイトの展開」をクリックすると、展開プロセスが開始されます。
実際のサイトでは、カスタムドメインを設定します。 Netlifyには、それらを介してドメインを購入するオプションがあり、それは非常に(非常に)簡単なプロセスです。私はそれを強くお勧めします。ドメインを購入してからわずか数分でサイトを公開できます。
ランダム.netlify.com
この場合、サブドメインはサイトに添付されていますpedantic-engelbart-500c9a.netlify.com
、およびHTTPSは自動的に有効になります。
したがって、サイトをすぐにライブで見ることができます。
これで、ローカルバージョンで何かを編集しようとすると、変更をGitHubにプッシュするだけで、Netlifyがサイトを自動的に更新します。サイトの「概要」パネルで、サイトを構築していることがわかります。
Netlifyの詳細については、Netlifyチュートリアル。
HugoサイトをZeitNowにデプロイします
Zeitは現在呼ばれていますヴェルセル、このチュートリアルは古くなっている可能性があります
Hugoブログに使用できるもう1つの素晴らしいプラットフォームは、ZeitNowです。
サインアップしたら、ダッシュボードからを押します新しいプロジェクトボタン。
GitHubから初めてデプロイするときは、最初に[GitHubに今すぐインストール]をクリックしてGitHubアプリをインストールする必要があります。
これにより、アプリのGitHubページが表示されます。ここで、すべてのリポジトリ、または一部のリポジトリに対して承認できます。
戻ったら、[GitHubからの新しいプロジェクト]ボタンをクリックします。
プロジェクトを選択し、「インポート」をクリックします。
それまでの間、のメインフォルダに移動しますmysite
を追加しますpackage.json
このコンテンツを含むファイル:
{
"scripts": {
"build": "hugo"
}
}
これにより、サイトを展開する方法がわかります。
ダッシュボードに戻ると、新しいデプロイがすぐに開始され、サイトがライブで機能していることがわかります。
Nowには、サイトへのアクセスに使用できる3つのURLがあることに注意してください。
myblog.flaviocopes.now.sh
myblog-alpha-swart.now.sh
myblog-git-master.flaviocopes.now.sh
お好みのものをお選びいただけます。
さらに、各デプロイメントには独自のURLもあります。この場合、私は持っていましたmyblog-h8xks5jhn.now.sh
ただし、展開ごとに異なります。
もちろん、ドメインを追加することもできます。 Zeitには、ドメインを直接購入するための優れたサービスがあります。https://zeit.co/domains。
また、コマンドラインでの作業を好む場合は、now
コマンドを使用すると、そこからドメインを購入することもできます。
私はあなたが私のをチェックすることを強くお勧めしますZeitNowチュートリアル。
その他のラボチュートリアル:
- このブログを実行するために使用するスタック
- ソフトウェア開発者になる8つの理由
- ブログを書く開発者のためのSEO
- 本のレビュー4時間労働週
- ライフスタイルビジネスを構築する
- 独自のプラットフォームを構築する
- インディーメーカーとして、どのような商品を作っていくべきですか?
- 独自の雇用保障を作成する
- 開発者、マーケティングを学ぶ
- 製品ビジネスの自由
- 価値を生み出す
- あなたのビジネスに目的を持ってください
- アイデアは何もない
- ニッチ
- ソフトウェア開発者のためのリモートワーク
- 製品/市場適合
- フロントエンド開発者向けの最高のポッドキャスト
- なぜメーリングリストを作成する必要があるのですか?
- お金から時間を切り離す
- ソフトウェア製品に適用される希少性の原則
- 社会的証明の原則
- ウェブサイトにダークモードを追加した方法
- ディープワークの本に関する私のメモ
- 退屈なスタックを使用することの長所
- プログラミング時間を見積もる方法
- 開発者として独立することについて
- 学ぶ方法学ぶ方法
- プログラミングの仕事の面接の質問がとても難しいのはなぜですか?
- プログラマーになるには学位が必要ですか?
- 誰もがプログラミングを学ぶことができます
- 生産的になる方法
- 静的サイトの実際のページビュー数を取得する方法
- 今日、開発者バケットを埋めましたか?
- ビデオの録画方法
- 私が過去に行ったすべてのソフトウェアプロジェクト
- チュートリアルメーカーの観点からのチュートリアル煉獄
- すべての開発者はブログを持っている必要があります。これが理由であり、それに固執する方法です
- 開発者のためのビジネスマインドセットを持つ
- メンテナンス不可能なコードの書き方
- インポスター症候群とは
- 夢中にならずに自宅で仕事をする方法
- 心配するのをやめ、JavaScriptエコシステムを愛することを学んだ方法
- Webページのプロトタイプを作成する方法
- あなたはあなたのチームで最悪の開発者でなければなりません
- Hugoを使用してブログを開始する方法
- 知らないことを書く
- uBlockOriginを使用して気を散らすものをブロックする方法
- コーディングは芸術です
- 私は2年間毎日1つのブログ投稿を書きました。これが私がSEOについて学んだ5つのことです
- 火事への対処
- ジェネラリストであることについて
- 開発者のジレンマ
- My plan for being hired as a Go developer. In 2017
- MacとiOSデバイスを使用することによる生産性の向上
- チュートリアルから独自のプロジェクトに移行する方法
- これは私の小さなデジタルガーデンです
- 開発者としてフリーランスを始める方法
- ソフトウェア製品ビジネスの構築に向けた旅の共有
- サブフォルダーとサブドメイン
- 時間を節約するためにテキスト展開を使用する方法
- ソフトウェアは超大国です
- 私は本が大好き
- 新しいプロジェクト管理アプリを作成することにした方法