Closed49

Gatsbyを使ってサイトを作ってみる

ChiYoChiYo

そもそもReactってなんだろう?

https://www.webstaff.jp/guide/trend/react/

JavaScriptライブラリのこと
Reactの特性のおかげで、高速な処理ができるらしい
しかもコンポーネントベースで開発できるから修正とかに対応しやすくなっている

しかも色々なフロントエンドに利用されているとのこと

ChiYoChiYo

ライブラリ?フレームワーク?って何のこと?

https://qiita.com/baby-degu/items/7dc4548bf7befc2671f4
すごく分かりやすかった!!

ライブラリ→IKEAに家具を買いに行く(もう家は作ってある)
フレームワーク→モデルハウスを建築する(カスタマイズの幅が狭い)

つまりこれから部品を色々使ってサイトを作っていくのか!

ChiYoChiYo

インストールして画面表示する所まで来れた!
ファイルの中身を変えても保存するだけで秒で反映される👀

docusaurusの時はページの中身を変えたらbuildとかdeployしないといけなかったからめちゃめちゃ爆速に感じる🚀
これがGatsbyの力・・・

ChiYoChiYo

今日のYWT

Y

・Reactについて調べる
・ライブラリとフレームワークについて調べる
・Gatsbyをインストールして、ページを作って編集する

W

今まで名前しか知らなかったReactが何者か分かった
分かったお陰でこれから何を使ってサイトを作ろうとしているのか理解することができた👌🏻

docusaurusとの使い勝手の違いにも気がつけた

T

このサイト作りがひと段落したら、他のライブラリを使ってサイトを作って比べてみたい

今日はここまで!
続きは明日〜🏃🏻‍♀️

ChiYoChiYo

srcディレクトリの中にCSSを入れるためのディレクトリを作って、スタイルシートを作った

作ったCSSが反映されるようになるためには、importを使う!
これはjsのモジュールを他のファイルから読み込むシンクタックスとのこと

ChiYoChiYo
export default function Home() {
  return <div className="message">Hello ChiYo world!</div>
}

ここら辺の書き方はCSSの勉強をした時にやったな〜

ChiYoChiYo

gatsby-browser.jsファイルを作ってグローバルなスタイリングを指定した

Bootstrapのような外部CSSライブラリを読み込みグローバルに適用したい場合もこちらの手法を用いますのでぜひ覚えておきましょう。

とのことなので、他のコンポーネントセットを使う時にお世話になるのかもしれない

https://qiita.com/kyrieleison/items/39ce30dd2d204791a9ea

ChiYoChiYo

ついにサイト用のプロジェクトを立ち上げ!!

$ gatsby developを実行すると、開発用のページのビルドとサーバーの立ち上げが行われる
サーバが立ち上がっている間は、ページの更新を自動で検知して反映してくれるから、
更新するたびにコマンドを実行させなくてもいい
ここがこの前やったdocusaurusと違う所

ChiYoChiYo

$ gatsby new <site-name> <starter-url>やった直後に$ gatsby developやったら失敗した〜!
ちゃんとcd使って新しく作られたディレクトリに移動してから実行しないとダメですね

ChiYoChiYo

exportを使ってheaderの実装をする

そもそもexportなんだろう?

モジュールを作成する時に使う構文
import文を使用した他のプログラムが使用できるようになる

ChiYoChiYo

こんなのが出てきた👀

Something is already running at port 8000
? Would you like to run the app at another port instead? › (Y/n)

どういうことなんだろう・・・

ChiYoChiYo

いざHello-Worldを消そうと思ったらHello-WorldのPID(プロセスID)が分からない!!!

実行中のPIDを調べるには$ psを使う

ここまでやって気がついたけど、最初に$ lsof -i :8000やった時にもうPID教えてくれてた😅

最初見方分からなかったけど、多分上下でこういう感じに区切られているんだと思う
ここはターミナルのちょっと分かりにくいところかもしれない

ChiYoChiYo

headerできたけどお手本とだいぶ違う・・・
どうしてこんなに違うんだろう
お手本

できたもの

ChiYoChiYo

試しにロゴの大きさを0にしてみたけど変化なし

ロゴの画像がおかしいのかな

ChiYoChiYo

コードに間違っているところはなさそうだから、画像をお手本と同じにしてみる

おかしいままだ・・・

ChiYoChiYo

スペルミスしてた〜〜〜!!
と思って直したら逆に超小さくなった、あっているのか🤔

数字いじったら大きさとか変わるし合っているのかも

ChiYoChiYo

ヒーローコンポーネントを作った

なんだか色々と気になるところはあるけれど、あとで調節すればいい感じになるか・・・?

ChiYoChiYo

cssの初期化的なことをしていないから、左側に変な余白があるのかもしれないな〜🤔

ChiYoChiYo

-wedkit-line-clamp: 2;の所がなぜか使えない?感じになってる
なにがいけないんだろう

ChiYoChiYo

書き直したら行けるようになった
よかった

ChiYoChiYo

画像の所は参考として出してくれたサイトを見て、自分が「いいね」した画像が来るようにした
https://source.unsplash.com/user/{USERNAME}/likes/640x360
でもどうやら3つとも同じ画像が出るようになっているので、工夫する必要がありそう

https://source.unsplash.com

ChiYoChiYo

Contentfulの無料プランを作ろうとしたら、そんなプランが表示されなかった
最初にデフォルトで無料のスペースができていることが原因なので、このサイトを参考にデフォルトの無料スペースを削除した

https://colorfree-map.com/howto-contentful

ChiYoChiYo

allContentfulPostが出ない・・・
連携とかに特にエラーは無いんだけど・・・

ChiYoChiYo

そもそもExample Key1が作られるって言ってるのに作られてないもんな〜
blogってやつは作られたけど・・・
これじゃいけなかったのかな・・・

ChiYoChiYo

最初から確認してみたけど、やっぱりおかしなところはなかった
今日はもう時間切れ・・・・

ChiYoChiYo

ここがヒントになるかもしれない
でもgatsby developを実行すると「もうport8000は使われているよ!どうする?」
ってなるから、ここをどうしたらいいのか考える必要がありそう
今実行中のプロセスを殺して大丈夫なのかな?
それともyesを選択して8001のポートを使うか・・・
とにかくもう寝よう😌

https://sixaxd.com/blog/202002161402/

ChiYoChiYo

gatsby developはできたけどまさかのエラー・・・

ChiYoChiYo

GitHubに連携してからgatsby developしたらエラーになった
多分アクセストークンとかを書いたファイルは隠しファイル?的なやつだったからファイル移し損ねたんだろうな〜・・
もう一回そのファイル作ってコミットとプッシュしてみよう(明日やる

ChiYoChiYo

よく考えたらこの↑のファイルはコミットしないようになっているんだった
作ってgatsby developするだけ

ChiYoChiYo

無事にAPI接続は復活したから、サイトの見た目をやっていこう

ChiYoChiYo

記事の詳細ページが開けなくなったけど、gatsby cleanやったら開けるようになった〜!
良かった😄

ChiYoChiYo

Netlifyにリンクさせるところまでこれた〜!
でもファイルの中身に問題があるらしくて怒られてる・・・

ChiYoChiYo

とりあえず長くなってきたしこのスレッドはここまで!

分かったこと
$ gatsby new blog https://github.com/gatsbyjs/gatsby-starter-hello-world
でGatsbyで使うためのテンプレートを持ってくることができる

・テンプレートごとのどこにどのファイルがあって、そこに何が書かれているべきか決まっているから
下手に装飾とかいじらない方がいい
(そういうのはNextjsとかの方が向いている)

・テンプレートにもContentfulを使ってサイトの中身を外で編集するものもあれば、
GitHubに直接あげてNetlifyでホスティングするものもある

・困ったらcleanとかdeployを使ってみる

・エラーには結構分かりやすくどこがどうダメか書いてある

・ブログの作り方は色々あるけど、SSGはめちゃ早い

このスクラップは2021/03/09にクローズされました