Guest User

Untitled

a guest
Jul 21st, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.93 KB | None | 0 0
  1. import React from 'react';
  2. import Link from 'gatsby-link';
  3. import Helmet from 'react-helmet';
  4. import { Box } from 'grid-styled';
  5. import styled from 'styled-components';
  6. import PropTypes from 'prop-types';
  7.  
  8. import { Text, P } from 'components/typography';
  9. import Section, { SectionTitle } from 'components/section';
  10. import config from '../../config/website';
  11.  
  12. // import svgAnimation from '../assets/images/icon.svg';
  13.  
  14.  
  15. const PostDate = styled(Text)`
  16. font-size: 0.8em;
  17. display: block;
  18. `;
  19.  
  20. export default function Index({ data }) {
  21. const { edges: posts } = data.allContentfulBlogPost;
  22. return (
  23. <div>
  24. <main>
  25. <Helmet title={config.siteTitle}>
  26. <meta name="twitter:title" content={config.siteTitle} />
  27. <meta name="twitter:description" content={config.siteDescription} />
  28. </Helmet>
  29. <Section pt={[20, 40]}>
  30. <h1>
  31. Hello, my name is Jon.
  32. <br />
  33. I am a web developer based in Paris.
  34. </h1>
  35. </Section>
  36. <SectionTitle>Recent articles</SectionTitle>
  37. {posts.map(({ node: post }) => (
  38. <Box mb={2} key={post.title}>
  39. <Text>
  40. <Link to={post.slug} style={{ color: 'black' }}>
  41. {post.title}
  42. <PostDate is="time" dateTime={post.date}>
  43. {post.date}
  44. </PostDate>
  45. </Link>
  46. </Text>
  47. </Box>
  48. ))}
  49. </main>
  50. </div>
  51. );
  52. };
  53.  
  54. Index.propTypes = {
  55. data: PropTypes.shape({
  56. projects: PropTypes.shape({
  57. edges: PropTypes.array.isRequired,
  58. }),
  59. posts: PropTypes.shape({
  60. edges: PropTypes.array.isRequired,
  61. }),
  62. }).isRequired,
  63. };
  64.  
  65. export const pageQuery = graphql`
  66. query IndexQuery {
  67. allContentfulBlogPost(sort: { fields: [date], order: DESC }) {
  68. edges {
  69. node {
  70. date(formatString: "DD MMMM YYYY")
  71. title
  72. slug
  73. id
  74. }
  75. }
  76. }
  77. }
  78. `;
Add Comment
Please, Sign In to add comment