LoginSignup
2
1

More than 3 years have passed since last update.

Hugo 静的サイトジェネレーターブログを開設してみる⑥twitterカードを作成する

Last updated at Posted at 2021-01-20

前回はカスタムCSSを当てることができたので、今回はTwitterカードのセッテイングをしていく!
image.png

前回の記事

Hugo 静的サイトジェネレーターブログを開設してみる①Hugoインストール編
Hugo 静的サイトジェネレーターブログを開設してみる②Netlifyでホスト&デプロイ実行まで
Hugo 静的サイトジェネレーターブログを開設してみる③トップページの編集
Hugo 静的サイトジェネレーターブログを開設してみる④記事contentの作成
Hugo 静的サイトジェネレーターブログを開設してみる⑤カスタムCSSを編集する

OGP Open Graph Protco

FacebookやTwitterなどででシェアするとき、
ページタイトル・URL・概要説明・アイキャッチ画像をく表示させるもの
これを設定することになります。

head.htmlにmetaタグを書く

色々試したところ、この状態でTwitterカード表示できました。
省略できそうな部分はコメントアウトしています。
今回フェイスブック対応はしていない状態です。

Blog/layouts/partials/head.html
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">

<!-- https://developer.twitter.com/en/docs/twitter-for-websites/cards/overview/markup -->
<!-- twittercardtag -->
<!-- twittercard  summary、summary_large_image、app、player -->
    <meta name="twitter:card"           content="summary_large_image">
<!-- OpenGraph -->
    <!-- マークアップにog:type、og:title、og:descriptionが存在するが
        twitter:cardが存在しない場合、サマリーカードがレンダリングされることがある-->
    <meta property="og:type"            content="article">
    <meta property="og:title"           content="{{ .Params.title }}" />
    <meta property="og:description"     content="{{ .Params.description }}" />
    <meta property="og:image"           content="{{ .Site.BaseURL }}{{ .Site.Params.Twitterthumbnail }}" />

<!-- summary、summary_large_image、プレーヤーカードで使用 -->
<!-- twitterユーザー名 -->
    <meta property="twitter:site"        content="{{ .Site.Params.Twitterusername  }}">
<!-- twitterID -->
    <meta property="twitter:site : id"   content="{{ .Site.Params.Twitterid  }}">
<!-- @コンテンツ作成者のユーザー名 --><!-- summary_large_imageカードで使用 -->
    <meta property="twitter:creator"     content="{{ .Site.Params.Creator }}">
<!-- @コンテンツ作成者のユーザーID summary、summary_large_imageカードで使用 -->
    <meta property="twitter:creator:id"  content="{{ .Site.Params.Creatorid }}">
<!-- コンテンツの説明(最大200文字) summary、summary_large_image、プレーヤーカードで使用 -->
    <!-- <meta property="twitter:description" content="{{ .Params.description }}" /> -->
<!-- コンテンツのタイトル(最大70文字) summary、summary_large_image、プレーヤーカードで使用 -->
    <!-- <meta property="twitter:title"       content="{{ .Params.title }}" /> -->
<!-- カードで使用する画像のURL。画像のサイズは5MB未満。JPG、PNG、WEBP、GIF形式がサポート。
    アニメーションGIFの最初のフレームのみが使用。SVGは非サポート。 -->
<!-- summary、summary_large_image、プレーヤーカードで使用 -->
    <!-- <meta property="twitter:image"       content="{{ .Site.BaseURL }}{{ .Site.Params.Twitterthumbnail }}" /> -->

<!-- Facebook用設定 -->
<!-- <meta property="fb:app_id" content="App-ID(15文字の半角数字)" />
もしくは
<meta property="fb:admins" content="adminID(15文字の半角数字)" /> -->
    <!-- <meta property="og:url"             content="{{ .Site.BaseURL }}" />
    <meta property="og:site_name"       content="{{ .Site.Params.Twitterusername  }}" />
    <meta property="og:description"     content="{{ .Params.description }}" /> -->

</head>

.Site.Params変数、 .Params変数

.Site.Params変数

.Site.Params変数は、config.tomlに記述している [params]以下を参照します。

Blog/config.toml
[params]
header_image   = "/img/coffee.jpg"

# twittercard画像設定で参照(Blog/layouts/partials/head.html)
twitterusername  = "sakaP🌈さかぴ 如実知見"
twitterid        = "@slope_top_kei"
creator          = "KEISUKE_SAKAGAMI"
creatorid        = "@slope_top_ke"
description      = "私の価値観、学び、人生経験をありのままにアウトプットするブログです"
twittertitle     = "sakaP🌈さかぴのBlog"
title            = "sakaP🌈さかぴ"
twitterthumbnail = "/img/coffee.jpg"

.Params変数

.Params変数は、content/post/記事.mdファイルのフロントマター(---で囲まれている記述のこと)を参照します。

Blog/content/post/20210117-1.md(記事ファイル)
(↓フロントマター)
---
title:       "sakaP🌈さかぴのブログ: 記事 1 のタイトルテキスト"
subtitle:    "subtitle: 記事 1 のサブタイトル"
description: "article_discription: 記事1の概要説明文"
date:        2021-01-17T14:13:08+09:00
author:      "KEISUKE SAKAGAMI"
image:       "img/sozai.jpg"
eyecatch:    "img/sozai.jpg"

# table of content
toc:         true
#true=未完成記事扱い  hugo -Dで表示
draft:       false
tags:        ["プログラミング", "ライフハック", "カフェ", "生活コスト", "what?", "経済マネー", "健康", "思考感情メモ", "書評", "スピリチュアル", "夢日記", "エンジェルナンバー", "趣味", "サーフィン", "その他"]
categories:  ["PROGRAMMING", "LIFE_HACK", "CAFE", "LIVING_COST", "WHAT?", "ECONOMY", "HEALTH", "THOUGHTS_EMOTIONS_", "BOOK_REVIEW", "SPIRITUAL", "DREM_ANGEL_NUMBER", "HOBBY", "NON_GENRE"]
---
(↑フロントマター)

# はじめに
# 結論
# ~~~について
# ~~~~問題点
# ~~~~解決策
# まとめ

public/index.html をチェックする

Blog/layouts/partials/head.htmlに記述をして、hugoコマンドでビルドすると
本番で使用されるBlog/public/index.htmlにコードがレンダリングされる

ターミナル
//ビルド実行
% hugo
Blog/public/index.html
<!DOCTYPE html>
<html lang="ja-jp">
<head>
   <meta name="generator" content="Hugo 0.79.1" />
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <meta name="twitter:card"            content="summary_large_image">
    <meta property="og:type"             content="article">
    <meta property="og:title"            content="" />   <!-- 記事.mdを参照 -->
    <meta property="og:description"      content="" />  <!-- 記事.mdを参照 -->
    <meta property="og:image"            content="https://relaxed-swirles-2507d0.netlify.app/img/coffee.jpg" />
    <meta property="twitter:site"        content="sakaP🌈さかぴ 如実知見">
    <meta property="twitter:site : id"   content="@slope_top_kei">
    <meta property="twitter:creator"     content="KEISUKE_SAKAGAMI">
    <meta property="twitter:creator:id"  content="@slope_top_ke">
ターミナル
//変更の確認
% git status
//変更のステージング
% git add .
//ローカルリポジトリにコミット
% git commit -m "任意のコミットメッセージ"
//リモートリポジトリにプッシュ
% git push origin (リモートブランチ: 例master 例HEAD) 

Netfilyブラウザでデプロイ実行します

image.png

Card validator でチェックする

https://cards-dev.twitter.com/validator
image.png

フォームに記事ページのURLを貼り付け、Preview cardボタンを押します。

The card for your website will look a little something like this!
あなたのウェブサイトのカードはこのように少し見えるでしょう!
image.png
Twitterカードをクリックすると、指定した記事URLにアクセスしました!

参考になった記事

twitterドキュメント
https://developer.twitter.com/en/docs/twitter-for-websites/cards/overview/markup

Facebook・TwitterのOGP設定方法まとめ
https://ferret-plus.com/610

Facebookインサイト設定の落とし穴、app_id, admins の違いとは
https://blog.sixapart.jp/2012-04/fb-app-id.html

【2020年版】Twitterカードとは?使い方と設定方法まとめ
https://saruwakakun.com/html-css/reference/twitter-card

Twitterカードの使い方と設定方法
https://www.howtonote.jp/twitter/helpful/index5.html

Hugo のテンプレート 基本
http://takunagai.github.io/post/hugo/template/

ツイートにページ情報を表示する「Twitterカード(Twitter Cards)」を設定してみた
https://www.granfairs.com/blog/staff/setting-twitter-cards

2
1
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
2
1