osawa no log

当ブログ構築に際しての記録

created at: 2021-06-05modified at: 2021-08-18

Gatsby + Github Pages でブログをつくるぞ

動機

  • 普段Google Keepですべてのメモを取っていたが、しっかりしたことを書きづらいのと共有しづらい
  • Medium, Noteを試してみたが文章整形が貧弱すぎてつらい
  • Evernoteでもよかったが、できればWYSIWYGを避けたい、Markdownを使いたい、デザイン調整に自由度がほしい
  • ちょうどGatsbyを勉強したいタイミングだったこともあり、ほぼメモ用途のブログを作ることにした

参考

かえたところ

deploy設定

ドラフトの実装

  • Frontmatterにdraftを追加
  • gatsby-node.jsにあるスキーマにdraft: Booleanを追加
  • src/pages/index.js, templates/blog-post.jsに表示分岐を追加

タグの追加

  • Frontmatterにtagsを追加
  • gatsby-node.jsのスキーマにtags: [String]を追記
  • 色々わからなかったので
    diff001a/diff001a-gatsby-blog: my gatsby blog https://github.com/diff001a/diff001a-gatsby-blog
    を参考にgatsby-node.jsをいじったりtemplates/tag-page.jsをつくったり

    • 雰囲気だけで実装したのであらためて仕組みをじっくり把握する必要がある

更新日の追加

  • Frontmatterにmodified_atを追加
  • gatsby-node.jsのスキーマにmodified_at: Date @dateformatを追記

Emotionおよびtwin.macroの導入

を参考にいれた(styled-componentとbabelMacros設定は取り急ぎ自分では使わないので抜いた)

import tw, { css } from 'twin.macro';

const hoge = () => (
  <>
    <div css={tw`m-0`}>...</div>
    <div css={hogeStyles}>...</div>
  </>
);

const hogeStyles = css`
  margin: 0;
`;

のようにして使ってる

今後適宜やりたいこと

そもそも継続して書くのかという話はあるが

  • カテゴリなりタグなり
  • パーマリンクの仕様策定(YYYY-MM-DD_slugの形がいい気がする)
  • 検索ボックス(これはきつそう)
  • TypeScript導入
  • リデザイン

    • emotion導入
    • tailwind(twin.macro)導入
    • デフォルトスタイルのいけてないところを直す(簡易的に対応)
    • 適当にクリーンなテーマを考えてあてる
  • Markdown周りの改善(外部リンク用のUIとかほしい)


Profile picture

Written by osawa
tw:@osawa