рдпрд╣ рдлрд┐рд▓рд╣рд╛рд▓ рдореЗрд░реЗ рдХреЛрдб рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ
const posts = result.data.allCockpitHello.edges
const date = new Intl.DateTimeFormat("default", {
month: "short",
day: "2-digit",
year: "numeric",
}).format(posts.node.cockpitCreated,);
posts.forEach((post, index) => {
const previous = index === posts.length - 1 ? null : posts[index + 1].node
const next = index === 0 ? null : posts[index - 1].node
createPage({
path: `/blog/${post.node.Name.value}`,
component: path.resolve(`./src/components/single.js`),
context: {
slug: post.node.Name.value,
date,
previous,
next,
},
})
})
рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдореИрдВ _single.js_ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рддрд░реАрдХреЗ рд╕реЗ рдорд╛рди рдХреЗ рдиреАрдЪреЗ date
рдХреИрд╕реЗ рдкрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред
@ рд╕рдм рд╕реЗ рдкрд╣рд▓реЗ рдкрд░рд┐рдХрд▓реНрдкрдирд╛-рдЬреАрдердм, рдХреНрдпрд╛ рдЖрдк рдПрдХрд▓ рдШрдЯрдХреЛрдВ рдореЗрдВ рдбреЗрдЯрд╛ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП createPage
рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдпрд╛ рд╡рд╣ рдПрдХрд▓ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╣реИ? рдФрд░ рд╢рд╛рдпрдж рдЖрдк рдЬреЛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рд╡рд╣ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╣реИ:
const posts = result.data.allCockpitHello.edges
const date = new Intl.DateTimeFormat("default", {
month: "short",
day: "2-digit",
year: "numeric",
}).format(posts.node.cockpitCreated,);
posts.forEach((post, index) => {
const previous = index === posts.length - 1 ? null : posts[index + 1].node
const next = index === 0 ? null : posts[index - 1].node
createPage({
path: `/blog/${post.node.Name.value}`,
component: path.resolve(`./src/components/single.js`),
context: {
slug: post.node.Name.value,
cockpidate:date,
previousitem:previous,
nextitem:next,
},
})
})
рдФрд░ single.js
:
import React from "React"
import {Link} from "gatsby"
const Single=props=>{
const {pageContext}= props
const {slug,cockpidate,nextitem,previousitem}= pageContext
return (
<div>
<h3>{slug}</h3>
<hr/>
<h5>created at {cockpidate}</h5>
<Link to={nextitem}/>next item</Link>
<Link to={previousitem}/>previousitem</Link>
<div>
)
}
export default Single
рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВ
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
@ рд╕рдм рд╕реЗ рдкрд╣рд▓реЗ рдкрд░рд┐рдХрд▓реНрдкрдирд╛-рдЬреАрдердм, рдХреНрдпрд╛ рдЖрдк рдПрдХрд▓ рдШрдЯрдХреЛрдВ рдореЗрдВ рдбреЗрдЯрд╛ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
createPage
рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдпрд╛ рд╡рд╣ рдПрдХрд▓ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╣реИ? рдФрд░ рд╢рд╛рдпрдж рдЖрдк рдЬреЛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рд╡рд╣ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╣реИ:рдФрд░
single.js
:рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВ