内容简介:Gatsby可以以Markdown作为资料来源自动产生页面,这让我们可以轻易的建立Blog之类的网站:写blog只需写markdown。我们要从Markdown文件中取得页面内容需要gatsby-source-filesystem的帮助:
Gatsby可以以Markdown作为资料来源自动产生页面,这让我们可以轻易的建立Blog之类的网站:写blog只需写markdown。
视频教学连结
gatsby-source-filesystem
我们要从Markdown文件中取得页面内容需要gatsby-source-filesystem的帮助:
npm install --save gatsby-source-filesystem
安装完成后,需要在gatsby-config.js的plugins部分,加入这个plugin。这次,我们要进行一些设定:
{ resolve: 'gatsby-source-filesystem', options: { path: `${__dirname}/src/pages`, name: 'pages', } }
resolve是plugin名称,options是设定,其中path是文件存放目录, ${__dirname}
是工作目录,即这个网站的所在目录,由于用到变量,我们用 backtick: ` (数字1左边的那个按键),而不是引号。name是存放文件的目录名称。
gatsby-transformer-remark
接着,我们需要将从Markdown文件读取出来的数据转化成Gatsby能够透过GraphQL提取的内容,这就需要另一个plugin:gatsby-transformer-remark
npm install --save gatsby-transformer-remark
这个plugin功能很强大,也能透过gatsby-config.js进行设定,但目前我们只要把它加入plugins里:
'gatsby-transformer-remark'
有了这两个Plugin,Gatsby就能够从Markdown文件中透过GraphQL读取资料。
建立blog文章
在/src/pages底下,新增文件夹:20-08-2018-blog-post-1,在里面新增index.md文件,这便是blog文章所在位置。
这个文件的由frontmatter开始。frontmatter是网站的基本资料,如title。以下是我们的index.md:
--- path: 'blog-post-1' title: 'My post' --- # Post Heading
templates
blog的文章要怎样呈现?这就需要用到模版,让所有的文章都使用相同的模版。
在/src底下,新增templates目录,在其中新增post.js作为模版文件,其内容为:
import react from 'react'; import Helmet from 'react-helmet'; export default function Template({data}) { const {markdownRemark: post} = data; return ( <div> <h1>{post.frontmatter.title}</h1> </div> ) }
参数data是由GraphQL送进来的数据,也就是Markdown文件里面的内容。这些数据存放在markdownRemark变量当中,我们把它提取并存入post变量中,接着就可以透过post.frontmatter.title使用frontmatter中的title内容。
我们还要在template中加入GraphQL的query:
export const postQuery = graphql` query BlogPostByPath($path: String!) { markdownRemark(frontmatter: { path: { eq: $path } }) { html frontmatter { path title } } } `
这段query是要透过路径(参数:$path)取得对应的文章。
graphql开始是GraphQL的内容。第二行的BlogPostByPath是这段query的名称,其接受一个参数:$path。我们要在markdownRemark中找frontmatter的path等于参数给予的$path的数据,找到后,我们要取得其html以及frontmatter中的path和title当中存放的内容。
下一步是要用Gatsby的createPages API创建页,这部分的内容,我们留到明天继续。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 防止网页被其他网页iframe嵌套的思考与实现
- 响应式网页设计–css设置网页字体大小自适应
- R网页采集:解决网页分页与网址超链接问题
- 网页制作用什么软件?制作网页的常用软件工具分享
- 欢迎加入 Cassandra 技术社区
- 不要为了期权加入创业公司,不值得
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
数据结构与问题求解
韦斯 / 清华大学出版社 / 2011-8 / 89.50元
《数据结构与问题求解(Java语言版)(第4版)》是专为计算机科学专业的两个学期课程而设计的,从介绍什么足数据结构开始,继而对高级数据结构与算法进行分析。《数据结构与问题求解(Java语言版)(第4版)》以独特的方式,清晰地将每种数据结构的接口与其实现分离开来,即将如何使用数据结构与如何对数据结构编程相分离。《数据结构与问题求解(Java语言版)(第4版)》从抽象思维和问题求解的角度出发,为数据结......一起来看看 《数据结构与问题求解》 这本书的介绍吧!