LoginSignup
8
7

More than 3 years have passed since last update.

Netlifyで公開しているHugoサイトをNetlifyCMSに変更する方法

Last updated at Posted at 2019-06-22

Netlifyで公開しているHugoサイトをNetlifyCMSに変更する方法

誰に向けて書いている記事か?

  • Netlifyにて、すでにHugoのサイトを公開している
  • リポジトリとして、GitHubを使用している
  • NetlifyCMSを使用して簡単に記事を書きたい

何ができるようになるか?

Netlifyで公開しているHugoサイトをNetlifyCMSで運用できるようになります。

どうすればできるようになるのか?

adminフォルダを作成

staticフォルダの下にadminという名称のフォルダを作成します。

index.htmlの作成

adminフォルダにindex.htmlという名前のファイルを作成します。

中身は、下記をコピーします。

<!doctype html>
<html>
<head>
  <meta charset="utf-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>Content Manager</title>
</head>
<body>
  <!-- Include the script that builds the page and powers Netlify CMS -->
  <script src="https://unpkg.com/netlify-cms@^2.0.0/dist/netlify-cms.js"></script>
</body>
</html>

config.ymlの作成

adminフォルダにconfig.ymlという名前のファイルを作成します。

backendは、リポジトリの情報を記入してください。
media_folderは、hugoで使用しているimageフォルダのパスを記入してください。
public_folderは、実際に公開された時のimageフォルダのパスを記入してください。
collectionsは、管理画面から記事を作成した時の設定を記入します。

私の環境で使用している設定をサンプルとして公開します。

backend:
  name: github
  repo: XXX/YYY # GitHubのリポジトリ 「https://github.com/」の後ろの部分

media_folder: "static/images"

public_folder: "images/"

collections:
  - label: "Blog" # 管理画面のサイドバーで使う
    name: "post" # 管理画面のパスで使う 例:/admin/collections/blog
    folder: "content/post" # Markdownを保存するディレクトリ。Hugoのsectionにあたる
    create: true # 新しいページを作ることを許可する
    slug: "{{year}}-{{month}}-{{day}}-{{slug}}" # Markdownのファイル名 例:YYYY-MM-DD-title.md
    fields: # ページ作成画面で使う。Front Matterの値を書く
      - {label: "タイトル", name: "title", widget: "string"}
      - {label: "公開日", name: "date", widget: "datetime"}
      - {label: "サムネイル画像", name: "thumbnail", widget: "image"}
      - {label: "レーティング", name: "rating", widget: "number"}
      - {label: "本文", name: "body", widget: "markdown"}

アクセス認証(GitHub)

NetlifyからGitHubにアクセスできるようにします。

  1. GitHubにログインする。
  2. ユーザメニューからSettingsをクリックする。
  3. 上記に続けて、Developer settingsをクリックする。
  4. 上記に続けて、OAuth Appsをクリックする。
  5. 上記に続けて、New OAuth Appsをクリックする。

Application Name 任意
Homepage URL 公開サイトのRUL
Application description 任意
Authorization callback URL 固定https://api.netlify.com/auth/done

New OAuth Application.png

アクセス認証(Netlify)

NetlifyからGitHubにアクセスできるようにします。
1. Netlifyにログインする
2. 公開しているサイトをクリックする
3. 上記に続けて、Site settingsをクリックする
4. 上記に続けて、Access Control、OAuthを順にクリックする
5. GitHubを選択して、先ほどGitHubで登録した時に表示されるClientIDとClient secret番号を入力する。

サイトにアクセス

下記のURLでアクセスするとGitHubのログインが求められます。

公開URL/admin

GitHubのログインが成功すると、管理者画面が表示されます。

Content Manager.png

無事表示されば、NetlifyCMSに変更することができました。

みなさんのお役に立てたら、是非この記事にいいねを教えてください。
今後の記事作成のモチベーションに繋がります!

8
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
7