次ã®gatsby-starterãå©çšããŠçéããŒããã©ãªãªäœããè¡ããããšæããŸãã
Reactçšã®éçãµã€ããžã§ãã¬ãŒã¿ãŒãšãªããŸãã
ããããŸãçŽ æŽããããã®ã§GitHubPageãªã©ã§æè»œã«é«éãªãµã€ããæ§ç¯ããããšãã§ããŸãã
Gatsbyã¯å
¬åŒãµã€ãã®æ¥æ¬èªããã¥ã¡ã³ããå
å®ããŠããããã¥ãŒããªã¢ã«ãè¡ãããšã§ã©ããªããšãã§ããã®ãäžéãçè§£ããããšãã§ãããšæããŸãã
Gatsby.jsããã¥ã¡ã³ã
ç¹ã«ReactãããããïŒå Žåã¯ãReactã§ã«ã¹ã¿ãã€ãºãè¡ãã°ãæ¯èŒçãªãã§ãã§ããŸãã
æ§ç¯èªäœã¯ç°¡åãªã®ã§ããããããã£ã¬ã³ãžããŠã¿ãŠãã ããïŒ
Reactã§ã¢ããªã±ãŒã·ã§ã³ãäœãæã«äž»ã«å©çšãããã®ã次ã®ïŒãã¿ãŒã³ããšæããŸãã
çµå±ã®ãšãããªãã§ããããšãªãäœããŠããŸããšããã§ããããŸãã
奜ã¿çãªèŠçŽ ã¯å€§ããããšïŒïŒïŒ
- CRA(Create React App)
- Next.js
- Gatsby
ç°¡åãªéããããã£ãšã ãã玹ä»ããŸãã
ReactãåããŸããŠã®æ¹ã¯ããŸãã¯ãã¡ãããè§Šã£ãŠã¿ãã®ã§ã¯ãªãã§ããããã
äž»ãªçšéãšããŠã¯ãã¯ã©ã€ã¢ã³ããµã€ãã§ãŽãªãŽãªã¬ã³ããªã³ã°ããSPAãšããŠãµã€ããæ§ç¯ãããŸãã
ãªãã§ããã€ãªã察å¿ã§ããŸãã
ããã©ãŒãã³ã¹ãããããã§ã¯ãªããããå
¥éãšããŠå§ããã«ã¯è¯ããšæããŸãã
çšé
- éã«èšãã°ããªãã§ãOK
ãµãŒããŒãµã€ãã¬ã³ããªã³ã°(SSR)ã§ãµãŒããŒåŽã§HTMLãçæããŠããã匷è
ã§ãã
çµæ§ã¯ã»ããããCRAã§ã¯äžæãè¡ã£ãŠãã®ã«ãNext.jsã§ã¯åããªã...ãšããæ²ããã話ãèããŸãã
ããŒã¿æŽæ°ãªã©ãå€ãå Žåãã¯ã©ã€ã¢ã³ãåŽã«è² è·ããããããšã¯å°ãªãã®ã§ããŠãŒã¶ãŒçã«ã¯CRAããããã®ããªãšã
SSRã«ããéã«æ°ã«ãããããšãšããŠã¯SEOãæèããŠSSRãåãå
¥ããããšãå€ãå°è±¡ããããŸãã
çšé
- SEOãæèãããµã€ã
- ECãµã€ã
- BtoCåããµã€ã
ãã«ãæã«HTMLãçæããã¯ã©ã€ã¢ã³ããèªã¿èŸŒããã®ã¯HTMLãã¡ã€ã«ãšãªããŸãã(çææžã¿)
ãã®ããããŠãŒã¶ãŒã¯èªã¿èŸŒã¿æéãæèããããšãªããçéã§ããŒãžã衚瀺ãããããšãšãªããŸãã
â»APIéä¿¡ããªããã°...
èªã¿èŸŒã¿ãå€ããµã€ããªã©ã¯ããŸãåããªããããããŸããã
çšé
- ã³ãŒãã¬ãŒããµã€ã
- ããã°
- ããŒããã©ãªãª
ä»åããŒããã©ãªãªãäœãåºãåã«ããŸãã¯ã©ããªããŒããã©ãªãªã«ãããçããã®çµæŽãæŽçããŠãã ããã
- ãåå
- ããŸãŸã§ã®çµéšã¹ãã«
- å人çã«å匷ããŠããããš
- ïŒããã°ïŒå人ãµã€ã
ä»åã¯goormIDEãå©çšããŠéçºãé²ããããšæããŸãã
â» é
ãã®ã¯èš±ããŠãã ãããç¡æã§å©çšã§ããç¯å²ã§ãã®ã§...
次ã®URLããå³äžã«ãããIDEãå§ãããããgoormIDEã«ãã°ã€ã³ããŠãã ããã
ä»åã¯GitHubãã°ã€ã³ãè¡ã£ãŠãã ãã
https://ide.goorm.io/

GitHubãã°ã€ã³ãè¡ããšæ¬¡ã®ããã«é£æºç¢ºèªç»é¢ã«ãªããŸãã®ã§ããAuthorize goormistããã¯ãªãã¯ããŠãã ããã

ã¡ãŒã«ç»é²ãä¿ãããŸãã
ãã¡ãã¯ä»»æãšãªããŸãã®ã§ãã¡ãŒã«ç»é²ããŠãOKãããªããŠãOKã§ãã

ãã°ã€ã³ãããšéçºç°å¢ãæ§ç¯ããããã®ãããã·ã¥ããŒãããã¿ã³ã衚瀺ããŸãã®ã§ãã¯ãªãã¯ããŠãã ããã

ããã·ã¥ããŒãç»é¢ã§ã³ã³ãããäœæããéçºç°å¢ãäœæããããšãã§ããŸãã
ãæ°ããã³ã³ããäœæãã¢ã€ã³ã³ãã¯ãªãã¯ããŠãã ããã

ã³ã³ããã®èšå®ãè¡ããŸãã
以äžã®èšå®ãè¡ã£ãŠãã ããã
- ååïŒportfolio
- é åïŒSeoul (KOR)
- å ¬éç¯å²ïŒPublic
- ãã³ãã¬ãŒãïŒTemplate
- é åïŒNot used
- ãœãããŠã§ã¢ã¹ã¿ãã¯ïŒNode.js
- OSïŒUbuntu 18.04 LTS
- TemplateïŒNode.js空ã®ãããžã§ã¯ã
- 远å ã¢ãžã¥ãŒã«/ããã±ãŒãžïŒNode.jsãããŒãžã§ã³ 12.xx ã«ã¢ããã°ã¬ãŒãããŸãã
èšå®ãè¡ããŸããããå³äžã®ãã³ã³ããã®äœæ(Ctrl + M)ããã¯ãªãã¯ããŸãã

éçºç°å¢äœæäžã§ãã®ã§ãå°ã
ãåŸ
ã¡ãã ããã

次ã®ç»é¢ã衚瀺ããããšéçºç°å¢ãäœæå®äºãšãªããŸãã

ãã³ã³ããã®å®è¡ããã¿ã³ãã¯ãªãã¯ããŠãéçºç°å¢ã衚瀺ããŠãã ããã

gatsbyã³ãã³ããã€ã³ã¹ããŒã«ããŸãã
ã¿ãŒããã«ã«ä»¥äžã®ã³ãã³ããå
¥åã»å®è¡ããããšã§gatsbyã³ãã³ããå©çšããããšãã§ããããã«ãªããŸãã
npm install -g gatsby-cli
ã¿ãŒããã«ã«ãadded XXX packages from XXX contributors in XXXsãã衚瀺ããããã€ã³ã¹ããŒã«å®äºã§ãã
ããã§gatsbyã³ãã³ããå®è¡ããããšãã§ããããã«ãªããŸãã

ã¿ãŒããã«ã«ä»¥äžã®ã³ãã³ããå®è¡ããŠãgatsby-starter-portfolio-caraã®ãã³ãã¬ãŒããµã€ããäœæããŸãã
gatsby new portfolio https://github.com/LekoArts/gatsby-starter-portfolio-cara
ãã³ãã¬ãŒããµã€ããäœæããããšãµã€ãããŒã«ãportfolioããã©ã«ããäœæãããŸãã
ããã§åé¡ãçºçããŠããŸããŸãã
portfolioã®ãã©ã«ãã®äžã«portfolioãäœæãããŠããŸããŸãã®ã§ãäžã®ã³ãã³ãã§ãã¡ã€ã«ãç§»åããŠãã ããã
# åportfolioã芪portfolioã«ã³ããŒãè¡ããŸãã
cp -r . ../
ã³ããŒå®äºåŸãåportfolioã¯å¿ èŠãããŸããã®ã§åé€ããŸãã
rm -rf portfolio
portfolioãµã€ããäœæã§ããŸããã®ã§ã以äžã®ã³ãã³ããå®è¡ããããšã§gatsbyéçºãµãŒããŒãèµ·åããŸãã
倿Žã¯livereloadã§åæ ãããŸããããã¡ã€ã«ã®è¿œå ãè¡ã£ãéã¯éçºãµãŒããŒã®åèµ·åãå¿
èŠãšãªããŸãã
â» ã¿ãŒããã«ã§(Ctrl + c)ãè¡ãããšã§éçºãµãŒããŒã忢ã§ããŸãã
# éçºãµãŒããŒèµ·å
gatsby develop --port 3000 --host 0.0.0.0
éçºãµãŒããŒãæ£åžžã«èµ·åããããšæ¬¡ã®è¡šç€ºããããŸãã
ãSuccess Building development bundleã

èµ·åããéçºãµãŒããŒã®ç¢ºèªãè¡ããŸãã
ãããžã§ã¯ã â å®è¡URLãšããŒããéžæããŠãã ããã

URLã®æšªã«ãããã¿ã³ãã¯ãªãã¯ããŠãã ããã

ãã¡ãã§ããŒããã©ãªãªã¹ã¿ãŒã¿ãŒãå©çšããåå°æºåãå®äºããŸããã

ãµã³ãã«ããŒããã©ãªãªãèšèŒããŠããŸãã®ã§ããã¡ããåèã«èªåã®ã¢ããŒã«æãèããŠèšèŒããŠã¿ãŠãã ããã
srcãã¯ãªãã¯ãããšãµã³ãã«ã®intro.mdxããããŸãã®ã§ããã®ä»3ãã¡ã€ã«ã远å ããŠãèªå·±ç޹仿ãå
¥åããŠãã ããã
ãã¡ã€ã«ãã¹
portfolio
â src
â @lekoarts
â gatsby-theme-cara
â sections
⣠about.mdx [衚瀺é â¢ãèªå·±ç޹ä»]
⣠contact.mdx [衚瀺é â£ãé£çµ¡å
]
⣠intro.mdx [衚瀺é â ãã¯ããã«]
â projects.mdx [衚瀺é â¡ãäœæããããŒããã©ãªãªãã¡ç޹ä»]
â»ãgatsbyã®ãã³ãã¬ãŒãåŽã§èšå®ãããŠããæèšã衚瀺ãããŠããŸãã®ã§ãæå®ããããã¡ã€ã«ãäœæããèšå®æèšãäžæžããã圢ã§ããŒããã©ãªãªã宿ãããŠãããŸãã
ãã¡ã€ã«ã®äœæã¯ãæ¬¡ã®æé ã§è¡ããŸãã
sectionsãã¯ãªã㯠â å·Šäžã«ããïŒãã¿ã³ãã¯ãªã㯠âããã¡ã€ã«ãã¯ãªã㯠â ãã¡ã€ã«åå
¥å â 確èªãã¿ã³ã¯ãªãã¯
â» ãã¡ã€ã«ã®è¿œå ãè¡ã£ãéã¯éçºãµãŒããŒã®åèµ·åãå¿
èŠãšãªããŸãã

about.mdx
## About
ã¢ã«ãã€ããçµãŠãçŸåšãšã³ãžãã¢ã«ãªããã奮éäž.
ã©ããªå匷ãããŠããã®ãè¿·èµ°äž.
contact.mdx
## Contact
Tel: 0120-000-000
Mail: tanaka.taro@examplle.com
Address: Tokyo, Chiyoda
intro.mdx
# ããªãããã
**é§ãåºã** ãšã³ãžãã¢.
ææ¥ããé 匵ã.
projects.mdx
## Projects
<ProjectCard title="æ€çŽ¢ã³ããŒãµã€ã" link="https://www.google.com/" bg="linear-gradient(to right, #D4145A 0%, #FBB03B 100%)">
-> Angular / Firebase
</ProjectCard>
<ProjectCard title="倧æECã³ããŒãµã€ã" link="https://www.amazon.com/" bg="linear-gradient(to right, #662D8C 0%, #ED1E79 100%)">
æã¡ã«ã«ãªã®ã³ããŒãµã€ã. -> Ruby on Rails / K8S / datadog
</ProjectCard>
å
¬éããã«ãããäºåã«GitHubã¢ã«ãŠã³ããå¿
èŠã§ãã
ãŸã ãæã¡ã§ã¯ãªãæ¹ã¯äœæããé¡ãããŸãã
gh-pagesãšãã䟿å©ãªãã€ãã€ã³ã¹ããŒã«ããŸãã
â» éçºãµãŒããŒãèµ·åããŠããæ¹ã¯ã¿ãŒããã«ã§(Ctrl + c)ã§éçºãµãŒããŒã忢ããŠãã ããã
npm install gh-pages --save-dev
GitHubã§ããŒããã©ãªãªçšãªããžããªãäœæããŠãããŸãã
ãŸãã¯Newãã¿ã³ãã¯ãªãã¯ããŸãã

Repository nameã«é©åœãªãªããžããªåãå
¥åããŠãCreate repositoryãã¯ãªãã¯ããŸãã
ããã§æ±ºãããªããžããªåã¯ãåŸè¿°ã®pathPrefixã«èšèŒããŸãããªã®ã§å¿ããªãããã«ããŠãããŸããã
ãã®READMEã§ã¯ portfolio ããªããžããªåã«ããŸãããã ããã®ãªãæ¹ã¯portfolioã§äœãããšããå§ããŸãã
â» åºæ¬ããã©ã«ãèšå®ã§ä»åè¡ããŸãã

ãªããžããªäœæãã§ããŸãã

ã³ãã³ãã§æè»œã«ãããã€ããããã«package.jsonã«ãããã€çšã³ãã³ãã远èšããŸãã
scriptsã®äžã«æ¬¡ã®ã³ãã³ãã远èšããŠãã ããã
"deploy": "gatsby build --prefix-paths && gh-pages -d public"
â»1 16è¡ç®ä»è¿ã®ã"clean": "gatsby clean"ãã®äžã«è¿œå
â»2 "clean": "gatsby clean"ã®åŸãã«ã«ã³ããå¿ããã«è¿œå ããŠãã ããã
GithubPagesã®ãã¡ã€ã³ããã®ãŸãŸäœ¿çšããå Žåãgatsby-config.jsã«pathPrefixãšcrossOriginã®èšå®ã远å ããªããšjsãã¡ã€ã«ãååŸã§ããŸããã
gatsby-config.jsã«ïŒã€ã®èšå®ã远å ããŸãã
module.exportsã®äžã«pathPrefixã远å ããŠãã ããã
pathPrefixã®å€ã¯å
çšäœæãããªããžããªåã䜿çšããŸãã
â» 13è¡ç®ä»è¿ã®ã},ãã®äžã«è¿œå
pathPrefix: "/{ãªããžããªå}",
ãã®READMEã§ã¯ portfolio ããªããžããªåã«ããŠããã®ã§ä»¥äžã®ããã«èšå®ããŸã
pathPrefix: "/portfolio",
module.exports/pluginsã®gatsby-plugin-manifestã«ããoptionsã®äžã«crossOriginã远å ããŠãã ããã
â» 33è¡ç®ä»è¿ã®ãstart_url: /,ãã®äžã«è¿œå
crossOrigin: `use-credentials`,
Gitãããžã§ã¯ããšèªèããããããæ¬¡ã®ã³ãã³ããå®è¡ããŸãã
git init
ãªããžããªäœææã«è¡šç€ºããã³ãã³ããå®è¡ããŸãã
äŸ
git remote add origin https://github.com/mira-naochin/portfolio.git
git add .
git commit -m "first commit"
git push -u origin master
⻠次ã®ãšã©ãŒãåºãå Žåã¯ãgitã®åæèšå®ãè¡ãããŠããªãç¶æ ãšãªããŸãã
*** Please tell me who you are.
Run
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
to set your account's default identity.
Omit --global to set the identity only in this repository.
fatal: unable to auto-detect email address (got 'root@goorm.(none)')
ãã®å Žåã¯ã以äžã®ã³ãã³ãã§gitã«ããã©ã«ãèšå®ãè¡ã£ãŠãã ããã
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
GitHubåŽã«gatsbyãåæ ãããŠããããšã確èªããŠãã ããã

GitHubPagesã«ãããã€ããŸãã
次ã®ã³ãã³ããå®è¡ããããšã§ãgh-pagesããã©ã³ããèªåã§äœæãããGitHubã®èšå®ã«GitHub Pageså
¬éãã©ã³ãã®èšå®ãè¡ãããŸãã
npm run deploy
GitHubã®ãªããžããªããŒãžã«ããSettingsãã¯ãªãã¯ããŸãã

SettingsããŒãžã®äžéšã«ããGitHubPagesæ¬ã«ããURLããå
¬éãããããŒããã©ãªãªã確èªã§ããŸãã

ä»åå©çšããæ¡åŒµå .mdxã§ããããªããšãªããšMarkdownãšJSXã䜿ããŸãã
Markdownã¯äœ¿ãæ
£ããæ¹ãå€ãããšæããŸãããMDXãæ¥åžžäœ¿ãããŠããæ¹ã¯èããããšãªãã§ãïŒïŒ..
MDXã®å
¬åŒãµã€ãããäœ¿ãæ¹ãåŠãã§ã俺æµããŒããã©ãªãªãµã€ããäœæããŠæ¥œããã§ãã ããïŒ
Gatsby Plugin Libraryã§æ§ã
ãªãã©ã°ã€ã³ãå
¬éãããŠããŸãã
ãã¡ããæŽ»çšããããšã§èªåãªãªãžãã«ã®ãµã€ããäœãããšãã§ããã®ã§ãäœè£ãããæ¹ã¯æš¡çŽ¢ããŠã¿ãŠãã ããïŒ
ä»åã¯å€§ããïŒã€ã®ç®çååãå©çšããŠã¿ãŸããã
- MDX
- MarkdownãšJSXã䜿ããã€ã±ã€ã±ãªãã€ã§ãã
- gatsby-starter-portfolio-cara
- ä»åå©çšããã¹ã¿ãŒã¿ãŒãµã€ããšãªããŸãã
- gatsby-theme-cara
- ããæãã«ãµã€ããåãã®ã¯ãã®ãã³ãã¬ãŒãã®ãããã§ãã
- gh-pages
- GitHub Pagesã«æè»œã«å ¬éããŠããããããããã®ãã€ã§ãã



