Skip to content

y-meguro/blog

Repository files navigation

概要

  • もともと、はてなブログで書いていた記事を Newt に移行
  • Next.js, TypeScriptで記述
  • ホスティングはVercel

注意点

  • 移行前とパスをあわせるため、記事詳細のパスは /entry/{:slug} とする

環境変数

# private
NEWT_SPACE_UID=スペースUID
NEWT_CDN_TOKEN=Newt CDN APIトークン
NEWT_API_TOKEN=Newt APIトークン
NEWT_PREVIEW_SECRET=シークレット
# public
NEXT_PUBLIC_BASE_URL=URL
NEXT_PUBLIC_GOOGLE_TAG_MANAGER_ID=GTM ID
NEXT_PUBLIC_NEWT_APP_UID=AppUID
NEXT_PUBLIC_NEWT_ARTICLE_MODEL_UID=article
NEXT_PUBLIC_NEWT_TAG_MODEL_UID=tag
NEXT_PUBLIC_NEWT_AUTHOR_MODEL_UID=author
NEXT_PUBLIC_PAGE_LIMIT=12

本文入力時の注意

リンクカードの利用

コードブロックを利用して、言語に link を指定する

```link
https://sample-link
```

Amazonリンクカードの利用

  1. コードブロックを利用して、言語に link-amazon を指定する
```link-amazon
https://sample-amazon-link
```
  1. Amazonリンクに表示したい情報を登録する
  • URL(1と対応するもの)
  • タイトル
  • 画像
  • 作者(オプショナル)
  • 発売日(オプショナル)

画像に説明を記載する場合

以下のように、画像の下にスタイル付きのHTMLを書いている(直したい)

<div
  style="text-align: center; margin: -28px 0 32px; opacity: 0.7; font-size: 90%;"
>
  説明説明説明
</div>

Newtスペースの設定

Article, Tag, Authorの3つのモデルを作成しています。

App名 モデル名(モデルUID) ビュー
ymeguro Article (article) テーブル
Tag (tag) テーブル
Author (author) シングルトン

1. Article(uid: article)モデル

フィールドID フィールド名 フィールドタイプ オプション
title タイトル テキスト 必須フィールド, このフィールドをタイトルに使う
emoji 絵文字 絵文字 必須フィールド
slug スラッグ テキスト 必須フィールド, 一意の文字列(ユニーク)
meta メタ情報 カスタムフィールド
body 本文 マークダウン 必須フィールド
tags タグ 参照(Tagモデル) 複数値
amazonLinks Amazonリンク カスタムフィールド 複数値
createdAt 公開日 日付 必須フィールド

メタ情報(id: META)カスタムフィールドタイプ

フィールドID フィールド名 フィールドタイプ オプション
title タイトル テキスト
description ディスクリプション テキスト
image 画像 画像

Amazonリンク(id: AMAZON_LINK)カスタムフィールドタイプ

フィールドID フィールド名 フィールドタイプ オプション
url URL テキスト 必須フィールド
title タイトル テキスト 必須フィールド
image 画像 画像 必須フィールド
author 作者 テキスト
releasedAt 発売日 日付

2. Tag(uid: tag)モデル

フィールドID フィールド名 フィールドタイプ オプション
name 名前 テキスト 必須フィールド, このフィールドをタイトルに使う
slug スラッグ テキスト 必須フィールド, 一意の文字列(ユニーク)

3. Author(uid: author)モデル

フィールドID フィールド名 フィールドタイプ オプション
name 名前 テキスト 必須フィールド, このフィールドをタイトルに使う
profileImage プロフィール画像 画像 必須フィールド
biography 自己紹介 マークダウン 必須フィールド
careers 経歴 カスタムフィールド 複数値
links リンク カスタムフィールド 複数値

経歴(id: CAREER)カスタムフィールドタイプ

フィールドID フィールド名 フィールドタイプ オプション
company 会社 テキスト 必須フィールド
startYear 開始年 日付 必須フィールド
endYear 終了年 日付

リンク(id: LINK)カスタムフィールドタイプ

フィールドID フィールド名 フィールドタイプ オプション
title タイトル テキスト 必須フィールド
url URL テキスト 必須フィールド