미니멀리스트 블로그를 구축한 방법
개츠비가 매력적이다
나는 꽤 오랜 시간 동안 내 블로그를 설정할 계획이었습니다. 하지만 시기가 적절하지 않은 것 같아서 계속 미뤘습니다. 작년에 Gatsby에 대해 배웠지만 아직 React를 배우지 못했고 솔직히 말해서 모든 것이 내 머리를 조금 넘었습니다. 그러나 한동안 React를 배우고 작업한 후 Gatsby는 완벽한 선택이라고 느꼈습니다.
완전 사용자 정의가 가능한 GraphQL을 사용하여 블로그에 새 페이지를 쉽게 추가할 수 있으며 블로그 게시물에 마크다운을 사용한다는 사실이 마음에 듭니다. 또한 나중에 테마를 만들 계획이므로 전체적으로 나에게 완벽한 선택인 것 같습니다.
그래서 제가 이 블로그를 만든 방법을 소개합니다. 이것은 완전히 상세한 튜토리얼이 아님을 명심하십시오. 많은 가이드가 있으며 Complete React Developer in 2020 (w/ Redux, Hooks, GraphQL) by Andrei Neagoie 및 Yihua Zhang Yihua의 튜토리얼을 적극 권장합니다.
설정
먼저 새 Gatsby 블로그를 설정합니다.
npx gatsby new gatsby-blog
그런 다음
gatsby-blog
디렉터리로 이동하고 다음을 사용하여 서버를 시작합니다.npm run develop
gastby-config.js
에서 원하는 대로 사이트 메타데이터를 설정합니다.siteMetadata: {
title: `MY BLOG`,
description: `My thoughts...`,
author: `@yourname`,
},
동일한 파일에서 올바른 경로에 연결하여 자신의 아이콘에 태그를 지정할 수도 있습니다.
options: {
name: `gatsby-starter-default`,
short_name: `starter`,
start_url: `/`,
background_color: `#663399`,
theme_color: `#663399`,
display: `minimal-ui`,
icon: `src/images/<your-logo-filename>`,
},
마크다운 사용
블로그 게시물에 마크다운을 사용하려면 플러그인의
gatsby-config.js
파일에 다음을 추가해야 Gatbsy가 마크다운 파일에 액세스할 수 있습니다.plugins: [
`gatsby-plugin-react-helmet`,
{
resolve: `gatsby-source-filesystem`,
options: {
name: `images`,
path: `${__dirname}/src/images`,
},
},
{
resolve: `gatsby-source-filesystem`,
options: {
name: `markdowns`,
path: `${__dirname}/src/markdown-pages`,
},
},
이 작업이 완료되면 모든 것이 다시 로드되도록 서버를 다시 시작합니다.
파일에서 데이터 가져오기
이렇게 하려면 graphQL을 사용하여 쿼리한 파일의 데이터를 가져올 수 있도록 변환기 플러그인을 설치해야 합니다.
npm i gatsby-transformer-remark
gatsby-transformer-remark
를 gatsby-config.js
에 추가하십시오.{
`gatsby-transformer-remark`,
`gatsby-transformer-sharp`,
`gatsby-plugin-sharp`,
},
index.js 파일 정리
정리를 위해 인덱스 페이지 구성 요소를 나타내는 함수를 내보낼 수 있습니다. 따라서
export default IndexPage
줄을 제거하고 함수를 내보내고 데이터를 props로 전달합니다.export default ({ data }) => (
<Layout>
<SEO title="Home" />
<div>
<h1>My Blog</h1>
</div>
</Layout>
)
export const query = graphql`
query {
allMarkdownRemark() {
edges {
node {
id
frontmatter {
date
title
}
fields {
slug
}
excerpt
}
}
}
}
`
데이터는 함수 아래의 graphQL 쿼리에서 가져옵니다. graphQL을 사용하여 적절한 쿼리를 생성하기 위해서는
localhost:8000/___graphql
의 graphQL 인터페이스가 매우 사용자 친화적이므로 사용하는 것이 좋습니다.블로그 요약으로 색인 페이지 채우기
export default ({ data }) => (
<Layout>
<SEO title="Home" />
<div>
<h1>My Blog</h1>
<h4>{data.allMarkdownRemark.totalCount} Posts</h4>
{data.allMarkdownRemark.edges.map(({ node }) => (
<div key={node.id}>
<Link to={node.fields.slug}>
<h3>
{node.frontmatter.title} - {node.frontmatter.date}
</h3>
</Link>
<p>{node.excerpt}</p>
</div>
))}
</div>
</Layout>
)
export const query = graphql`
query {
allMarkdownRemark() {
totalCount
edges {
node {
id
frontmatter {
date
title
}
fields {
slug
}
excerpt
}
}
}
}
`
이제 색인 페이지에
mardown-pages
폴더에 있는 각 블로그 게시물의 제목, 날짜 및 발췌문이 표시됩니다.최신순으로 정렬
최신 블로그 게시물을 먼저 보고 싶기 때문에 쿼리에서 allMarkdownRemark 부분을 수정할 수 있습니다.
query {
allMarkdownRemark(sort: { fields: [frontmatter___date], order: DESC })
스타일
구성 요소의 스타일을 올바르게 지정하려면
styled-components
플러그인을 가져오는 것이 좋습니다. 그럼 먼저 설치를 해보자.npm i gatsby-plugin-styled-components styled-components babel-plugin-styled-components
그런 다음
gatsby-plugin-styled-components
를 gatsby-config.js
에 추가합니다.},
`gatsby-transformer-remark`,
`gatsby-transformer-sharp`,
`gatsby-plugin-styled-components`,
`gatsby-plugin-sharp`,
{
따라서
index.js
파일로 가져오고 블로그에서 스타일이 지정된 구성 요소를 사용할 수 있습니다.import styled from "styled-components"
배포
먼저 GitHub(또는 GitLab, Bitbucket, ...)에 repo를 만들고 블로그를 푸시합니다.
git add -A
git commit -m "Add all blog code for deployment"
git remote add origin <your-github-url-here>
git push origin master
둘째, 호스팅은 여러분의 몫입니다... 하지만 저는 지속적인 통합을 쉽게 하기 위해 이 블로그를 Netlify에서 호스팅하기로 결정했습니다. 따라서 Netlify의 경우 단계는 다음과 같습니다.
New site from Git
버튼을 클릭하고 GitHub(또는 코드를 푸시한 위치에 따라 GitLab 또는 Bitbucket)를 선택합니다. deploy
를 클릭합니다. 그리고 우리는 끝났습니다! 이제 블로그에 전체 CI/CD가 있습니다. 이제 블로그의 변경 사항을 버전 관리에 푸시하기만 하면 Netlify가 자동으로 사이트를 재구축합니다.
커스텀 도메인을 추가하고 싶으시다면 follow the Netlify documentation 팔로우 하기 쉽도록 초대합니다.
이제 할 수 있습니다enjoy our new blog!
여기에서
따라서 Gatsby 블로그를 빠르게 설정하는 데 도움이 되는 이 단계를 즐겼기를 바랍니다.
더 많은 정보가 필요한 경우 공식 Gatsby 문서의 몇 가지 링크가 있습니다.
Reference
이 문제에 관하여(미니멀리스트 블로그를 구축한 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/sylvaindessureault/how-i-built-a-minimalist-blog-1444텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)