爲了得到更好的閱讀體驗,請點擊這裏閱讀原文node
忙了一個多星期後我開源了本身從jekyll遷移到Gatsby的博客腳手架,此腳手架作到了開箱即用,適合不肯意碰代碼的同窗,固然也提供了高擴展性,能夠自定義開發本身的頁面git
Gatsby 是一個基於 React、GraphQL 的頁面生成器,經過源數據(CMS、MarkDown、API、DataBase、YAML、JSON、CSV...)生成一個個靜態頁面,很是適合博客頁面開發.可查看 Gatsby 官網[1]瞭解更多.github
首先安裝 Gatsby 命令行工具:typescript
npm install -g gatsby-cli
複製代碼
再使用博客模板[2]搭建一個快速博客框架:npm
gatsby new my-blog-starter https://github.com/zhouyuexie/gatsby-starter-quiet
複製代碼
切換到你的項目目錄並啓動json
cd my-blog-starter/
gatsby dev
複製代碼
你的站點運行在 http://localhost:8000
!api
注意: 這是第二個連接 http://localhost:8000/___graphql
. 這是一個能夠查詢你全部數據的工具,若是你須要更多關於此工具的消息,請查看官方文檔Gatsby tutorial.瀏覽器
打開並編輯src/templates/posts-list.tsx
文件. 保存後瀏覽器中會即時刷新.bash
運行 yarn build
編譯你的網站,全部靜態內容都在./public
文件夾中.服務器
若是須要上傳到本身服務器,請先編輯./deploy.sh
文件增長你的服務器信息,再執行yarn deploy
項目目錄以下:
.
├── node_modules
├── src
├── .gitignore
├── .prettierrc
├── .babelrc
├── tsconfig.json
├── tslint.json
├── gatsby-browser.js
├── gatsby-config.js
├── gatsby-node.js
├── gatsby-ssr.js
├── LICENSE
├── package-lock.json
├── yarn-lock
├── tasks
├── static
├── posts
├── package.json
└── README.md
複製代碼
主要的文件含義:
/node_modules
: 項目依賴./src
: 包含全部的項目源代碼,會被編譯成靜態頁面..gitignore
: git 忽略的文件.prettierrc
: 這是Prettier的配置文件. Prettier 將保持你的代碼被正確格式化.gatsby-browser.js
: Gatsby browser APIs文件.gatsby-config.js
: 這是 Gatsby 主要的配置文件,全部插件都在此配置,也包含了 metadata 數據,查看config docs獲取更多的信息.gatsby-node.js
: Gatsby Node APIs文件.gatsby-ssr.js
: Gatsby server-side rendering APIs文件gatsby-node.js
相關的任務.public
文件中提供訪問.images
.能夠查看另外一篇Gatsby的MarkDown使用示例文章,瞭解Gatsby中MarkDown其中的特性.
若是你遇到了問題或者有疑問,能夠開一個issue給我.