Gatsby 블로그 게시물에 반응형 표지 이미지를 추가하는 방법
6619 단어 reactgatsbytutorialjavascript
Gatsby의 좋은 점은 다양한 화면 크기에 다양한 이미지를 수동으로 제공하는 데 신경 쓰지 않고 플러그인으로 이를 매우 훌륭하게 처리할 수 있다는 것입니다. 각 기기는 최적화된 커버 버전을 받게 됩니다. 정돈된!
이 게시물은 « 10x Better Gatsby » 시리즈의 일부로, Gatsby를 튜닝, 부스트 및 조정하는 것에 대한 개인적인 경험을 공유합니다. Gatsby 튜닝에 대한 더 좋은 내용을 게시하겠습니다. 확인 해봐!
가정
마크다운이 이미 설정되어 있다고 가정합니다. 이는 이 플러그인이 설치 및 구성되었음을 의미합니다.
gatsby-source-filesystem
gatsby-transformer-remark
지침
#1. 구성 편집
구성에 플러그인이 설정되어 있는지 확인하십시오.
// gatsby-config.js
module.exports = {
/*
...
*/
plugins: [
/*
...
*/
{
resolve: `gatsby-transformer-remark`,
options: {
plugins: [
{
resolve: `gatsby-remark-images`,
options: {
maxWidth: 620,
},
},
],
},
},
`gatsby-transformer-sharp`,
`gatsby-plugin-sharp`,
/*
...
*/
],
}
#2. 마크다운 파일 업데이트
마크다운 파일 근처에 이미지를 놓고 마크다운 파일(제 경우에는 post.md
)을 업데이트하여 cover
필드를 이미지로 지정합니다.
---
title: 'How Failing With Pomodoro Technique Made Me 2x Better Programmer'
date: '2019-03-27'
cover: './cover.png'
---
이제 GraphQL 쿼리를 업데이트하겠습니다.
#삼. GraphQL 쿼리 업데이트
blog-post.js
const query = graphql`
query BlogPostBySlug($slug: String!) {
markdownRemark(fields: { slug: { eq: $slug } }) {
id
html
frontmatter {
date(formatString: "MMMM DD, YYYY")
title
cover {
publicURL
childImageSharp {
sizes(maxWidth: 2000) {
...GatsbyImageSharpSizes
}
}
}
}
}
}
`
이제 구성 요소 코드를 편집할 수 있습니다.
#4. 반응 구성 요소 업데이트
gatsby-image
가 설치되어 있는지 확인하십시오. 이것은 모든 응답 마법을 처리할 구성 요소입니다.
yarn add gatsby-image
이미지를 전체 크기로 표시하기 위해 cover
데이터를 내 Layout
구성 요소에 전달합니다.
<Layout
location={props.location}
title={siteTitle}
cover={data.frontmatter.cover}
>
{/* ... */}
</Layout>
그런 다음 레이아웃 구성 요소에 해당 데이터를 표시합니다.
import Img from 'gatsby-image'
구성 요소 사용은 매우 간단합니다. 이것은 내 Layout.js
에서 수행하는 방법입니다.
!!cover ? <Img sizes={cover.childImageSharp.sizes} /> : null
결과
이 간단한 단계로 얻을 수 있는 결과의 예입니다.
이제 모든 장치에 빠르게 로드되도록 최적화된 멋진 외관의 표지에 만족하실 수 있습니다.
여기요! <10x Better Gatsby> 시리즈의 한 장입니다. 당신이 감사하게 생각하는 것을 공유하겠습니다. 확인해보세요!
Reference
이 문제에 관하여(Gatsby 블로그 게시물에 반응형 표지 이미지를 추가하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/rohovdmytro/how-to-add-responsive-cover-images-to-gatsby-blog-posts-2n2m
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
// gatsby-config.js
module.exports = {
/*
...
*/
plugins: [
/*
...
*/
{
resolve: `gatsby-transformer-remark`,
options: {
plugins: [
{
resolve: `gatsby-remark-images`,
options: {
maxWidth: 620,
},
},
],
},
},
`gatsby-transformer-sharp`,
`gatsby-plugin-sharp`,
/*
...
*/
],
}
---
title: 'How Failing With Pomodoro Technique Made Me 2x Better Programmer'
date: '2019-03-27'
cover: './cover.png'
---
const query = graphql`
query BlogPostBySlug($slug: String!) {
markdownRemark(fields: { slug: { eq: $slug } }) {
id
html
frontmatter {
date(formatString: "MMMM DD, YYYY")
title
cover {
publicURL
childImageSharp {
sizes(maxWidth: 2000) {
...GatsbyImageSharpSizes
}
}
}
}
}
}
`
yarn add gatsby-image
<Layout
location={props.location}
title={siteTitle}
cover={data.frontmatter.cover}
>
{/* ... */}
</Layout>
import Img from 'gatsby-image'
!!cover ? <Img sizes={cover.childImageSharp.sizes} /> : null
이 간단한 단계로 얻을 수 있는 결과의 예입니다.
이제 모든 장치에 빠르게 로드되도록 최적화된 멋진 외관의 표지에 만족하실 수 있습니다.
여기요! <10x Better Gatsby> 시리즈의 한 장입니다. 당신이 감사하게 생각하는 것을 공유하겠습니다. 확인해보세요!
Reference
이 문제에 관하여(Gatsby 블로그 게시물에 반응형 표지 이미지를 추가하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/rohovdmytro/how-to-add-responsive-cover-images-to-gatsby-blog-posts-2n2m텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)