成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Gatsby極速入門—添加上一頁下一頁功能(完結篇)

youkede / 1485人閱讀

摘要:調(diào)整這個就簡單了打開,增加代碼如下這里是新增加的調(diào)整打開首頁,點擊頁面跳轉(zhuǎn)到對應的頁面大功告成??偨Y到此,通過就快速的搭建了一個博客網(wǎng)站,我們只需書寫文件就能生成對應的網(wǎng)頁了。至于網(wǎng)頁美化,那是切圖的事兒,我就不在這里墨跡了。

1.調(diào)整gatsby-node

這個就簡單了,打開gatsby-node.js,增加代碼如下:

const path = require("path");
exports.createPages = ({ actions, graphql }) => {
  const { createPage } = actions
  const blogPostTemplate = path.resolve(`src/templates/blogPost.js`)
  return graphql(`
    {
      allMarkdownRemark {
        edges {
          node {
            frontmatter {
              path,
              title,
              tags
            }
          }
        }
      }
    }
  `).then(result => {
    if (result.errors) {
      return Promise.reject(result.errors)
    }
    const posts = result.data.allMarkdownRemark.edges;
    createTagPages(createPage, posts);
    posts.forEach(({ node }, index) => {
      const path = node.frontmatter.path;
      const title = node.frontmatter.title;
      createPage({
        title,
        path,
        component: blogPostTemplate,
        context: {
          pathSlug: path,
          //這里是新增加的
          prev: index === 0 ? null : posts[index - 1].node,
          next: index === (posts.length - 1) ? null : posts[index + 1].node
        }, // additional data can be passed via context
      })
    })
  })
}

2.調(diào)整blogPost.js

import React from "react"
import { graphql,Link } from "gatsby"
const Template = ({ data, pageContext }) => {
  const {next,prev} = pageContext;
  const {markdownRemark} = data;
  const title = markdownRemark.frontmatter.title;
  const html = markdownRemark.html;
  return (

    

{title}

{next&&Next} {prev&&Prev}
) } export const query = graphql` query($pathSlug: String!) { markdownRemark(frontmatter: { path: { eq: $pathSlug } }) { html frontmatter { date(formatString: "MMMM DD, YYYY") path title } } } ` export default Template;

打開首頁,點擊頁面跳轉(zhuǎn)到對應的頁面大功告成。

總結

到此,通過gatsby就快速的搭建了一個博客網(wǎng)站,我們只需書寫markdown文件就能生成對應的網(wǎng)頁了。至于網(wǎng)頁美化,那是切圖的事兒,我就不在這里墨跡了。

當然了你不想切圖可以使用各種現(xiàn)成的UI庫,比如antdesign。我的網(wǎng)站就是直接用的antdesign.

如果你覺得深入學習gatsby太麻煩,你可以直接用我寫好的模板就行,

開源庫地址,直接克隆就可以用了:

https://github.com/leolau2012...

但是基礎還是要會的,不然出錯或者要根據(jù)你們公司需求改動功能,就沒辦法了。

文章版權歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/104461.html

相關文章

  • Gatsby極速入門—支持Markdown(1)

    摘要:安裝插件我用就是因為它支持所以不墨跡,直接整支持。添加格式化文章在下面添加三篇文章,頭部格式如下教程完整代碼如圖所示 1.安裝插件 我用Gatsby就是因為它支持Markdown.所以不墨跡,直接整Md支持。 yarn add gatsby-source-filesystem yarn add gatsby-transformer-remark 2.添加格式化文章 在src>page...

    RobinTang 評論0 收藏0
  • Gatsby極速入門添加博客內(nèi)容頁(4)

    摘要:查數(shù)據(jù)注意,這里跟前面不一樣了,我用這個文件去提供數(shù)據(jù),沒有什么為什么,規(guī)定,照做就好。很清晰明顯,這里就說一點我傳遞了一個參數(shù),到內(nèi)容頁。創(chuàng)建內(nèi)容頁模板在下創(chuàng)建這里只要對應的路徑的那個文章查詢 1.查數(shù)據(jù) 注意,這里跟前面不一樣了,我用gatsby-node.js這個文件去提供數(shù)據(jù),沒有什么為什么,規(guī)定,照做就好。 const path = require(path); export...

    wean 評論0 收藏0
  • Gatsby極速入門添加博客文章列表(3)

    摘要:查數(shù)據(jù)如圖所示,套頁面打開打開首頁,看到文章列表就大功告成了。 1.查數(shù)據(jù) { allMarkdownRemark(sort: {order: DESC, fields: [frontmatter___date]}) { edges { node { frontmatter { title path ...

    cnTomato 評論0 收藏0
  • Gatsby極速入門—安裝和博客搭建(0)

    摘要:安裝創(chuàng)建項目開發(fā)注意報錯文件空格問題,最好不要用空格和中文。直接放在硬盤根目錄下就不會有問題。打開,看到如下效果就成功了構建查看效果打開瀏覽器看到如下效果大功告成 1.安裝 yarn global add gatsby-cli 2.創(chuàng)建gatsby項目 gatsby new blog 3.開發(fā) gatsby develop 注意報錯: error UNHANDLED EXCEPT...

    qieangel2013 評論0 收藏0
  • Gatsby極速入門—使用GraphQL解析Markdown(2)

    摘要:什么是既是一種用于的查詢語言也是一個滿足你數(shù)據(jù)查詢的運行時。嵌套將組件扔到下面的里面打開首頁,看到網(wǎng)站的描述就大功告成了。 1.什么是GraphQL GraphQL 既是一種用于 API 的查詢語言也是一個滿足你數(shù)據(jù)查詢的運行時。 GraphQL 對你的 API 中的數(shù)據(jù)提供了一套易于理解的完整描述,使得客戶端能夠準確地獲得它需要的數(shù)據(jù),而且沒有任何冗余,也讓 API 更容易地隨著時間...

    fou7 評論0 收藏0

發(fā)表評論

0條評論

youkede

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<