Gatsbyで個人ブログを開設する
使用したことある
高品質のドキュメントが残せる
ブログと言う感じではない
カスタムデザインは難しそう
reactのフレームワーク
参考
Starter用のブログを作成する
code: (bash)
npm install -g gatsby-cli
これでgatsbyコマンドが使用できるようになる。
code: (bash)
# gatsby new ${ブログ名} ${使用するTemplateのURL}
blogディレクトリに、gatsby-starter-blogのデフォルト状態が作成される。
code: (bash)
cd blog
gatsby develop -H 0.0.0.0
gatsby starter blog Templateが読み込まれていることが確認できる。
https://imgur.com/hzI3mxb.jpg
buildコマンドで静的ファイルを作成する。
code: (bash)
gatsby build
publicディレクトリに静的ファイルたちが作成される。production環境ではこれを使用する。
serveコマンドでproduction環境のWebサーバをローカルに立てることができる。
code: (bash)
gatsby serve
ここまでを通して、gatsbyのstarter blog Templateを使ってローカル環境でブログを立てることができた。
content/blog/<ブログ名>/index.mdで新規記事の作成ができる。
他のTemplateを使用してBlogを作成する
TemplateとなるブログのDL
以降では、blogディレクトリに作成をする。
code: (bash)
cd blog
gatsby develop
https://imgur.com/RgF4cDu.jpg
ソースコード修正
自分の好みのカスタマイズにするため、コードを修正する。
Frontend知識が皆無なので、手当たり次第コードを修正していく。
(React.jsの知識・概念が理解できていれば修正箇所は容易にわかると思う)
ちなみに、リポジトリ直下は以下のファイルで構成されている
code: bash
$ tree -L 1
.
├── CODE_OF_CONDUCT.md
├── LICENSE
├── PULL_REQUEST_TEMPLATE.md
├── README-zh-Hans.md
├── README-zh-Hant.md
├── README.md
├── data
├── gatsby
├── gatsby-browser.js
├── gatsby-config.js
├── gatsby-node.js
├── netlify.toml
├── node_modules
├── package.json
├── public
├── src
├── static
├── stylelint.config.js
└── yarn.lock
configの修正
どこから手をつけていいか分からないので、
「data/configの設定をしてね」との記載があるので、data/template/config.jsonを修正する。
名前っぽいものをymmmtymに変更
imgurに変更
ナビゲーションバーを変更
Descriptionを任意の内容に変更
credentialsな物は、とりあえずTBDと入れておく
https://imgur.com/0hIHsXM.jpg
少しだけ変わったが、まだtemplateのままの箇所が多いので、別の箇所のコードを修正する。
conponentsの修正
src/components/ディレクトリを確認すると、以下のようになっている。
code: (console)
ymmmtym@macbook-pro ~/blog $ tree -L 1
.
├── Card
├── Content
├── ExternalLink
├── Footer
├── GithubCorner
├── Header
├── Image
├── JueJin
├── Layout
├── Navbar
├── Pagination
├── SEO
├── ShareBox
├── Sidebar
├── TableOfContent
├── Tag
└── Transition
17 directories, 0 files
この中のファイルを修正すれば、Blogのデザインを変更することができる。
例えばCardディレクトリの場合、以下のindex.jsとindex.scssを修正すれば良い。
code: (console)
ymmmtym@macbook-pro ~/blog $ tree -L 2 Card/
Card/
├── index.js
└── index.scss
0 directories, 2 files
componentsを修正したあとのトップページは以下のようになった。
この時点で、トップページのデザインは個人ブログとして運用するのには遜色ないレベルになった。
https://imgur.com/1iUZtX8.jpg
ここまでで、修正したファイルは以下のようになった。
code: (console)
ymmmtym@macbook-pro ~/blog $ git status
On branch develop/first-my-site-desion
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: data/template/config.json
modified: src/components/Card/index.js
modified: src/components/Header/index.js
modified: src/components/Navbar/index.js
modified: src/components/Sidebar/Friend/index.js
modified: src/components/Sidebar/Information/index.js
modified: src/components/Sidebar/LatestPost/index.js
modified: src/components/Sidebar/index.js
pages/templatesの修正
404やブログ投稿記事のHeader/Footerなどの設定を修正する。
code: (console)
ymmmtym@macbook-pro ~/blog $ git status
On branch develop/first-my-site-desion
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: data/template/config.json
modified: src/components/Card/index.js
modified: src/components/Header/index.js
modified: src/components/Navbar/index.js
modified: src/components/Sidebar/Friend/index.js
modified: src/components/Sidebar/Information/index.js
modified: src/components/Sidebar/LatestPost/index.js
modified: src/components/Sidebar/index.js
modified: src/pages/404.js
modified: src/pages/tags.js
modified: src/templates/blog-post.js
modified: src/templates/tag.js
新規記事の投稿
src/contentにmarkdownファイルを追加する。
独自ドメインの取得
お名前.comより取得したサブドメインを使用する
GithubにPush
secretな情報を伏せて、githubにソースコードをpushする。
GitHubにコードをpushする。秘密なものは環境変数に変更する。 環境変数を読み込ませるように変更。
yarn add dotenv
Netlifyでdeploy
エラーが出たので、nodeのversionを上げた。
環境変数が取得できなくてハマる。以下を見て解消した。
クライアントサイドで使用する場合は、環境変数の頭にGATSBY_をつける必要があった。
Custom Domainの設定
以下が参考になった
その他
更新時のgit branch modelも書いておきたい