> 웹 프론트엔드 > JS 튜토리얼 > Gatsby 및 MDX로 ​​개발자 블로그를 구축하는 방법

Gatsby 및 MDX로 ​​개발자 블로그를 구축하는 방법

William Shakespeare
풀어 주다: 2025-02-10 14:41:11
원래의
563명이 탐색했습니다.

Gatsby 및 MDX로 ​​개발자 블로그를 구축하는 방법 당신은 dev.to, hashnode 또는 medium과 같은 사이트에 아이디어를 쉽게 게시 할 수 있지만 이상은 자신의 콘텐츠를 완전히 제어하는 ​​것입니다. 자신의 웹 사이트를 구축하고 자신의 컨텐츠를 제어하기위한 도구 목록이 있습니다. 이 광범위한 튜토리얼에서는 그러한 생태계와 함께 얻을 수있는 종과 휘파람으로 Gatsby를 사용하여 콘텐츠를 빛나게 할 수있는 방법을 다룰 것입니다. 나는 원래 Jekyll을 사용하여 블로그를 게시했지만 Lumen 템플릿을 사용하여 Gatsby로 전환했습니다. 2017 년 5 월경 버전 0 이후 Gatsby를 사용하고 있습니다.

나는 안녕하세요, 세상에서 갈 것입니다! Gatsby는 코드 구문 강조 표시와 그 어두운 모드 선을위한 테마 토글을 가진 코딩 블로그를 통과합니다. 개츠비가 당신을 신속하게 운영 할 수있는 플러그인, 스타터 및 테마의 풍부한 생태계가 있지만 개츠비 프로젝트가 어떻게 작동하는지에 대한 기본 사항에 중점을 둔 개츠비 발표에 진보적 인 공개 접근 방식을 취하고 싶습니다. > 왜 개츠비?

Gatsby는 정적 사이트 생성기이므로 페이지를 요청할 때 동적 인 페이지 생성이 없습니다. Gatsby 사이트의 구축 된 출력은 CDN에서 호스팅하여 전 세계적으로 사용할 수 있고 확장 가능합니다. Gatsby는 Markdown 파일을 사용하여 사이트 프로젝트에서 페이지를 만들 수 있습니다. Gatsby는 Gatsby 파일 시스템에 Markdown 파일을 읽고 Markdown을 HTML로 변환 한 다음 사이트를 작성할 때 정적 페이지를 만듭니다. 최종 결과는 페이지를 요청할 때 대기 시간이 거의없는 매우 빠른 사이트입니다. Markdown 및 Mdx

저는 Markdown에서 2016 년부터 개발 여행을 문서화했습니다. Markdown은 HTML로 변환 할 수있는 일반 텍스트 파일에서 간단한 편집을 활성화하는 방법을 제공합니다. mdx (또는 Markdown JSX)는 Markdown 문서에 JSX를 작성할 수있는 도구입니다.

Gatsby는 게시물에 FrontMatter를 사용하는 특별 표기법이 필요하지 않기 때문에 Markdown 및 MDX로 ​​작업하는 데 사용한 최고의 프레임 워크입니다. 내가 무엇을 필요로합니까?

를 따라 가려면 몇 가지 필요한 사항이 있습니다.

기본 웹 개발 설정 : 노드, 터미널 (배쉬, ZSH 또는 물고기) 텍스트 편집기 반응의 기본적인 이해

이 중 하나가 없으면 빈 github 리포지토리를 만들고 거기에서 개발 환경을 시작할 수있는 stackblitz와 github codespaces가 모두 있습니다.

. 나는 텍스트 편집기로 vs 코드를 사용하고 아래 예제에서 선호하는 패키지 관리자로서 yarn을 사용합니다. NPM을 선호한다면 멋지다. ? github 에서이 자습서에 대한 전체 코드를 찾을 수도 있습니다.

좋아요, 이제 시작할 시간입니다! 안녕하세요, 세상! 이제 개츠비 프로젝트를 회전시킬 차례입니다. 나는 명령 줄에서 이것의 대부분을 시작하기 위해 다음을 시작할 것입니다 :

<span>import <span>{ RainbowText }</span> from './components/rainbow';
</span>## <span>A Markdown Heading
</span><span><span><span><RainbowText</span>></span>Wheeeeeeee<span><span></RainbowText</span>></span>
</span>
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사

쿨. 이제 다른 곳으로 가기 전에 NPM 모듈을 설치하기 전에 .gitignore 파일을 추가해야합니다.

이제 너무 많은 활성 변경에 대해 나에게 비명을 지르지 않고 Code Git없이 필요한 모든 NPM의 장점을 설치할 수 있습니다. 이제 Gatsby와 함께 일어나서 실행하기 위해 몇 가지 종속성을 설치합시다 : .
<span># create the project directory
</span><span>mkdir my-gatsby-blog
</span><span># change into the directory
</span><span>cd my-gatsby-blog
</span><span># initialise a package.json file
</span><span>yarn init -y
</span><span># initialise the git repo
</span><span>git init
</span>
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
다음은 프로젝트에 대한 첫 번째 React 구성 요소 (많은)를 추가합니다. 내가 만든 index.js 파일에 다음을 추가하겠습니다.

이제 명령 줄에서 개츠비 개발 명령을 실행할 준비가되었습니다.

이것은 Gatsby Dev Sever를 회전시키고 포트 8000의 브라우저에서 내 프로젝트를 볼 수 있다고 말할 것입니다 (기본 Gatsby 포트). URL은 http : // localhost : 8000/. <span># create .gitignore file in my directory </span><span>touch .gitignore </span><span># add ignore contents with echo </span><span>echo "# Project dependencies </span><span>.cache </span><span>node_modules </span><span> </span><span># Build directory </span><span>public </span><span> </span><span># Other </span><span>.DS_Store </span><span>yarn-error.log" > .gitignore </span>입니다 명령 줄 인터페이스 (CLI)에서 직접 Gatsby Binary 명령을 사용하는 것은 완전히 가능하지만 대부분의 사람들은 Package.json 파일의 스크립트 섹션에 사용 가능한 명령을 다음과 같이 추가합니다.

추가 보너스로 Gatsby 스크립트에 추가 할 수있는 몇 가지 추가 기능이 있습니다. 우리가 매번 같은 포트에서 프로젝트를 실행하지 않으려면 -p 플래그로 변경할 수 있고 그 후에 지정된 포트를 변경할 수 있습니다. 예를 들어, Gatsby는 -p 8945를 개발합니다 프로젝트가 준비되면 브라우저 탭을 열려면 스크립트에 -o를 추가 할 수 있습니다. 나는 서브 스크립트와 똑같이 할 것입니다. 그래서 프로젝트를 구축했을 때 개발과 다른 포트와 다른 포트에 있습니다 : .

그리고 그와 함께,“안녕하세요, 세상!” 환영이 완료 되었으며이 게시물의 나머지 부분을 계속 진행할 수 있습니다! ? 마지막으로 지금까지 변경된 변경 사항을 저지를 것입니다
<span>yarn add gatsby react react-dom
</span><span># -p is to create parent directories too if needed
</span><span>mkdir -p src/pages
</span><span># create the index (home) page
</span><span>touch src/pages/index.js
</span>
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
블로그 좋아요, 지금 프로젝트를 많이 진행하고 있지 않으므로 먼저 명령 줄에서 일부 콘텐츠를 추가하겠습니다. 나는 내가 만들고있는 예제 전체에서 이것을 사용할 것입니다 파일 확장자 .mdx가 표시됩니다. 이것은 mdx 파일입니다.
<span>import <span>React</span> from "react";
</span>
<span>export default function <span>IndexPage</span>() {
</span>  <span>return <span><span><h1</span>></span>Hello, World!<span><span></h1</span>></span>;
</span><span>}
</span>
로그인 후 복사
로그인 후 복사

전면 물질 블로그에 콘텐츠를 추가하기 전에 Front Matter에 대해 이야기해야합니다. Front Matter는 페이지를 작성할 때 Gatsby가 사용할 수있는 파일에 대한 정보를 저장하는 방법입니다. 지금은 게시물 제목과 날짜를 추가하겠습니다. 또한 일부 내용을 추가하겠습니다. 첫 번째 게시물은 다음과 같습니다

다음은 두 번째 게시물입니다

<: :> 세 번째 게시물 :

이 게시물은 아직 Gatsby에 의해 페이지로 인식되지 않기 때문에 지금은 게시물에 대한 것입니다. Gatsby에게 프로젝트에 추가 할 컨텐츠를 찾을 위치를 알려 주어야합니다. 이렇게하려면 Gatsby에 구성 파일을 추가하겠습니다.
<span># if you're using npm ?
</span><span># $(npm bin)/gatsby develop
</span><span>yarn gatsby develop
</span>
로그인 후 복사
내가 git에 대한 변경 사항을 저지를 봅시다 :
<span>import <span>{ RainbowText }</span> from './components/rainbow';
</span>## <span>A Markdown Heading
</span><span><span><span><RainbowText</span>></span>Wheeeeeeee<span><span></RainbowText</span>></span>
</span>
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
개츠비 구성 Gatsby Config는 사용할 수있는 많은 Gatsby 플러그인을 정의하고 구성하는 데 사용되는 것입니다. Gatsby 플러그인 에코 시스템에 대해 조금 더. 지금은 터미널에서 다시 파일을 만들겠습니다 :

이것은 프로젝트의 루트에서 Gatsby-config.js를 생성하여 Gatsby가 이전에 만든 .mdx 파일을 읽도록 구성 할 수 있습니다. 개츠비 플러그인 이제 Gatsby가 생성 한 파일을 소스 및 표시 해야하는 플러그인을 설치하고 구성 할 수 있습니다. 나는 지금 그것들을 모두 설치하고 그들이 무엇을위한 것들을 간단히 자세히 설명하겠습니다 :

package.json을 빠르게 살펴보면 다음의 종속성 버전이 설치되어 있음을 보여줍니다.

주목할만한 점은 개츠비에서는 반응 17로 구성 요소에서 RECT를 가져올 필요가 없다는 것입니다. 그러나 완전성을 위해 혼란을 피하기 위해서는이 예에 포함시킬 것입니다.
<span># create the project directory
</span><span>mkdir my-gatsby-blog
</span><span># change into the directory
</span><span>cd my-gatsby-blog
</span><span># initialise a package.json file
</span><span>yarn init -y
</span><span># initialise the git repo
</span><span>git init
</span>
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
이제 Gatsby-Plugin-MDX 및 Gatsby-Plugin-MDX를 구성해야합니다. gatsby-config.js 파일에서 다음을 추가하겠습니다

지금까지 변화를 커밋하십시오 :

Gatsby GraphQL

위 내용은 Gatsby 및 MDX로 ​​개발자 블로그를 구축하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿