Giter Site home page Giter Site logo

chronoblog / gatsby-theme-chronoblog Goto Github PK

View Code? Open in Web Editor NEW
129.0 3.0 25.0 30.86 MB

⏳ Chronoblog is a Gatsbyjs theme specifically designed to create a personal website. The main idea of ​​Chronoblog is to allow you not only to write a personal blog but also to keep a record of everything important that you have done.

Home Page: https://chronoblog.now.sh

License: MIT License

JavaScript 100.00%
blog gatsby gatsbyjs gatsby-plugin gatsby-starter gatsby-theme react theme-ui mdx feed timeline chronoblog

gatsby-theme-chronoblog's Introduction


Chronoblog - Gatsby Theme

Chronoblog - Gatsby Theme

npm node Contributor Covenant

Chronoblog is a Gatsby js theme specifically designed to create a personal website.

The main idea of ​​Chronoblog is to allow you not only to write a personal blog but also to keep a record of everything important that you have done.

I never liked the blog format so that, regardless of the platform (be it Medium or WordPress), they all expect that the content that I will create is text, and this should be a long article. A blog consisting of long articles looks and works organically (on any platform). But a blog consisting of any other content (video, presentations, links to articles on other sites, or even just short notes) - it feels and works "somehow wrong".

Many people solve this problem like this - create separate pages on their website for a blog, for talks, for podcasts, for a portfolio, etc. But it is difficult to maintain and update.

But what if we make a blog theme based on a feed? Something like twitter or hackernews or reddit, but without restrictions, and in the form of a personal blog?

Chronoblog is a theme that allows you to do just that - create a more universal personal website.

Despite the fact that versions start with "0.", I want to make the Chronoblog API as stable as possible.

Demo and Starters


Chronoblog - Gatsby Theme

Gatsby Starter Chronoblog

This starter is the standard way to start a Chronoblog Gatsby Theme website.

Demo: chronoblog.now.sh
Repo: github.com/Chronoblog/gatsby-starter-chronoblog

Deploy to Netlify Deploy with ZEIT Now





Chronoblog - Gatsby Theme

Gatsby Starter Chronoblog Profile

This starter will help you launch a personal website with a simple text feed on the main page.

Demo: chronoblog-profile.now.sh
Repo: github.com/Chronoblog/gatsby-starter-chronoblog-profile

Deploy to Netlify Deploy with ZEIT Now





Chronoblog - Gatsby Theme

Gatsby Starter Chronoblog Hacker

A dark (but with ability to switch to light) starter that uses the Source Code Pro font and minimalistic UI (without emoji, as by default in Chronoblog Theme).

Demo: chronoblog-hacker.now.sh
Repo: github.com/Chronoblog/gatsby-starter-chronoblog-hacker

Deploy to Netlify Deploy with ZEIT Now



Examples

Examples are the same standard starter, but with some additional features. You can use the example to start your site or see how this feature was added.

  • Chronoblog with Netlify CMS | Repo | Demo

Use one of the starters as the basis for your unique site

To make your website look unique, you first need to work with the file src/gatsby-plugin-theme-ui/index.js with which you can control the style of the entire site. Basically, starters look different because of the different settings of this file. More about it here: Style settings.

Also, all starters have a different main page, src/pages/index.mdx and content. Read about all this below in the guide.


Table of Contents


Guide - How to start working with Chronoblog Gatsby Theme

This guide will show how to create a personal website using Gatsby Theme Chronoblog.

To create a website using the Chronoblog theme, you do not need to be an expert in using Gatsbyjs. However, it’s still recommended that you complete the basic tutorial: Gatsby.js Tutorials

Installation and Development

In this guide, we will set up our new site using this starter: gatsby-starter-chronoblog

If you have gatsby-cli:

gatsby new chronoblog-site https://github.com/Chronoblog/gatsby-starter-chronoblog

cd chronoblog-site

gatsby develop

Or using git clone:

git clone [email protected]:Ganevru/gatsby-starter-chronoblog.git chronoblog-site

cd chronoblog-site

npm i

npm start

Your site is now running at http://localhost:8000

You can start developing your site.

If you want to use some other starter for Chronoblog, for example, a Profile Starter, just install it according to the instructions from its readme, or just change the name during installation to:

gatsby new chronoblog-site https://github.com/Chronoblog/gatsby-starter-chronoblog-profile

or, if using git clone:
git clone [email protected]:Ganevru/gatsby-starter-chronoblog-profile.git chronoblog-site.

Folder structure

Here's how the Chronoblog Starter is organized:

chronoblog-site
  ├─ content // unique site content is located here
  │  ├─ links // content type - link cards
  │  ├─ notes // content type - note cards
  │  └─ posts // content type - blog posts
  ├─ gatsby-config.js
  ├─ package.json
  ├─ src
  │  ├─ assets
  │  ├─ gatsby-plugin-theme-ui // style of the site
  │  │  └─ index.js
  │  ├─ gatsby-theme-chronoblog // chronoblog shadow
  │  │  ├─ post-footer.mdx // what comes after every blog post
  │  │  ├─ site-footer.mdx // site footer
  │  │  └─ site-header.mdx // where is the main menu of the site
  │  └─ pages // pages of the site
  │     ├─ index.mdx // the main page of the site
  │     └─ projects.mdx // optional site page
  └─ static
     └─ robots.txt

Below will be more explanation about various aspects of the site.

Gatsby Config

gatsby-config.js located in the root of your site and looks like this:

module.exports = {
  siteMetadata: {
    siteTitle: 'Chronoblog Starter',
    siteDescription: 'Starter for Gatsby Theme Chronoblog',
    siteImage: '/banner.png', // main image of the site for metadata
    siteUrl: 'https://chronoblog.now.sh/',
    pathPrefix: '/',
    siteLanguage: 'en',
    ogLanguage: `en_US`,
    author: 'Site Author', // for example - 'Ivan Ganev'
    authorDescription: 'short author description', // short text about the author
    avatar: '/avatar.jpg',
    twitterSite: '', // website account on twitter
    twitterCreator: '', // creator account on twitter
    social: [
      {
        icon: `envelope`,
        url: `mailto:[email protected]`,
      },
      {
        icon: `twitter`,
        url: `https://twitter.com/ganevru`,
      },
      {
        icon: `github`,
        url: `https://github.com/Chronoblog/gatsby-theme-chronoblog`,
      },
      {
        icon: `node-js`,
        url: `https://www.npmjs.com/package/gatsby-theme-chronoblog`,
      },
    ],
  },
  plugins: [
    {
      resolve: 'gatsby-theme-chronoblog',
      options: {
        uiText: {
          // ui text fot translate
          feedShowMoreButton: 'show more',
          feedSearchPlaceholder: 'search',
          cardReadMoreButton: 'read more →',
          allTagsButton: 'all tags',
        },
        feedItems: {
          // global settings for feed items
          limit: 50,
          yearSeparator: true,
          yearSeparatorSkipFirst: true,
          contentTypes: {
            links: {
              beforeTitle: '🔗 ',
            },
          },
        },
        feedSearch: {
          symbol: '🔍',
        },
      },
    },
    {
      resolve: `gatsby-plugin-manifest`,
      options: {
        name: `Chronoblog Gatsby Theme`,
        short_name: `Chronoblog`,
        start_url: `/`,
        background_color: `#fff`,
        theme_color: `#3a5f7d`,
        display: `standalone`,
        icon: `src/assets/favicon.png`,
      },
    },
    {
      resolve: `gatsby-plugin-sitemap`,
    },
    {
      resolve: `gatsby-plugin-google-analytics`,
      options: {
        // replace "UA-XXXXXXXXX-X" with your own Tracking ID
        trackingId: 'UA-XXXXXXXXX-X',
      },
    },
  ],
};

This is the standard file for the gatsby starter.

Site Metadata

In siteMetadata, replace information about:

siteTitle - The main name of your site, if this is your personal site, you can simply write your name.

siteDescription - description of the website.

siteImage - image for metadata. Default: static/banner.png - you can simply replace this image with your own.

siteUrl - a domain where the site will be located. Example: https://chronoblog.now.sh.

author - the author of the site. For information at the end of each blog post, as well as for site metadata. Just write your name.

authorDescription - short description of the author. For example, "web developer", "designer", "front-end engineer" and so on.

avatar - author avatar. The file is located here: static/avatar.jpg. Replace this file with yours. It is recommended to use image with a resolution of 1:1 (the size of the default picture - 300x300).

twitterSite - twitter account of this site. Needed for twitter metadata.

twitterCreator - same as twitterSite, but for the author.

social - your social networks. List the links to your social networks in the format presented. All of them will be automatically used in the SocialLinks component (in this starter this is the main menu, footer and the author banner).

  • url - link to your social network profile. In general, it can be a link anywhere.
  • icon - name of the icon of this social network. Icons use brand icons from fontawesome.com/icons?d=gallery&s=brands - most likely, there are icons for any site on which you have a profile. Additionally you can use icons at and envelope (a good option if you want to place a link to your email) and phone.

favicon

Thanks to the plugin gatsby-plugin-manifest, you can use one image as an icon (including favicon) for all devices. Just replace src/assets/favicon.png image with your own. It is better to use the size of 512x512.

Global settings

In options for gatsby-theme-chronoblog you can find various global settings.

uiText - Here you can replace the default values of the UI of the elements of the Chronoblog. This is done to simplify the localization of the site in various languages. If your site is in English, you can leave it as it is. If the site will use any other language - translate the default values right here.

feedItems - global options for feedItems component. Inside any feedItems component on the site, you can specify other settings. Settings that are set through props are always in priority.

feedSearch - global options for feedSearch component.

Plugins

All other plugins are optional. Chronoblog does not rely on them, so if you do not need, say, gatsby-plugin-google-analytics, you can ignore it or remove it from the list of plugins.

And of course, you can use any other plugins. Gatsby Plugin Ecosystem: www.gatsbyjs.org/plugins

Style settings

Chronoblog allows you to change many style settings of the site. You can change the primary and secondary colors, fonts, border-radius of most elements, etc. All this happens thanks to the Theme-UI library.

Browse to the /src/gatsby-plugin-theme-ui/index.js file. This file already exists in the starter.

This file looks like this:

import chronoblogTheme from 'gatsby-theme-chronoblog/src/gatsby-plugin-theme-ui';

export default {
  ...chronoblogTheme,
  initialColorMode: 'light',
  colors: {
    ...chronoblogTheme.color,
    text: '#222',
    background: '#fff',
    link: '#3d7e9a',
    primary: '#3a5f7d',
    secondary: '#5a809e',
    muted: '#dae1e3',
    modes: {
      ...chronoblogTheme.colors.modes,
      dark: {
        ...chronoblogTheme.colors.modes.dark,
        text: '#eaeaea',
        background: '#0e0f17',
        muted: '#161b1d',
      },
    },
  },
  fontSizes: [14, 16, 18, 20, 22, 24, 28, 36],
  borderRadius: {
    ...chronoblogTheme.borderRadius,
    card: 6,
    button: 6,
    search: 6,
    code: 6,
    img: 6,
    authorBanner: 6,
  },
  borderWidth: {
    ...chronoblogTheme.borderWidth,
    card: 2,
    search: 2,
  },
  fonts: {
    ...chronoblogTheme.fonts,
    body: '-apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif',
    heading: 'inherit',
    monospace: 'Menlo, monospace',
  },
};

In general, this file explains itself. The easiest way to understand what and how it works is simply to “play” with it. Try changing the primary and secondary colors, double the rounding of all elements, and so on.

initialColorMode - here you can select the starting color mode of the site. My be light or dark.

colors - site color management.

borderRadius - controlling rounding of various elements of a site, as a rule, it is better to use the same value. Usually, you want to have a lower value (for example 4) for a more formal and serious appearance of the site, and a larger value (12 for example) for a more informal and playful.

borderWidth - the width of the border of some elements of the site. It is recommended to use the value 2, it is still possible 1 or 3. The rest usually look very strange.

fonts - the choice of fonts for sites. Just enter the name of the font.
Value inherit in the heading means that in this case the headers will use the same font as for the body.

chronoblogTheme - you may have noticed this object throughout the file. This is done in order to add default values from the Chronoblog theme.

Content

Chronoblog has three types of content: posts, links, and notes.

All of them are in the content folder. They are located in the appropriate folders.

Chronoblog has pages, but they are not in the content folder, why? The fact is that everything in the content folder is not just website content, it is Feed content. Everything in the content folder is displayed in the feed (sorted by date, filtered by tags, etc.). But pages are not a feed content.

All types of content use markdown syntax, you can read more about this in the Gatsby documentation (markdown-syntax). Especially useful to know about frontmatter.

Markdown is a great format for content like articles - the reason is not an only confirmation but also because if you write your posts on the site in Markdown format, you will not depend on the theme (Chronoblog in this case) or even on the chosen engine (i.e. from Gatsby). At any time, you can easily change the platform on which your site is running, to any other platform that supports Markdown (now many support it).

Content Types

Posts

Posts are regular blog posts.

Place your posts inside content/posts:

chronoblog-site
  ├─ content
  │  ├─ links
  │  ├─ notes
  │  └─ posts // <- your blog posts folder
  │     └─ some-blog-post // <- one blog post
  │        ├─ image.jpg // <- cover
  │        └─ index.md // <- post file
  ├─ gatsby-config.js
  ├─ package.json
  └─ src

A typical post looks like this:

content/posts/some-blog-post/index.md

---
title: Full Blog Post Example
cover: ./image.jpg
date: 2019-11-05
description: All the usual blog post.
tags: ['post']
---

Some blog post text

Each post should have a title and date.

The cover should lead to a picture file, in this case, the file is located in the same folder as the blog post itself.

The description will appear in the post card in the feed, and will also be used for post meta tags (for SEO). If there is no description, then the text of the beginning of the post itself will be used instead.

tags are needed for organization within the Chronoblog, they are displayed in the post itself and the post card in the feed.

Links

Links in the feed aren’t very different from blog posts. But when clicked, the user will follow the link.

The basic idea of ​​links is that they work and feel "equivalent" to blog posts - the link also has a cover, title, tags, date, description, etc.

Links are needed for materials that you consider important to post in your feed, but for some reason, you can’t post them in the form of posts. This can be your articles on other sites (which you do not have the right to host), interviews, your projects (say on the GitHub), received certificates, completed courses, etc.

To prevent users of the site from confusing posts and links, links have additional distinctive elements - emoji (🔗) in front of the title, path where the link leads under the heading, an outgoing link icon in the card. Also, links do not have a "read more ->" button like posts.

Place your links inside content/links:

chronoblog-site
  ├─ content
  │  ├─ links // <- your links folder
  │  │  └─ link-to-chronoblog // <- one link folder
  │  │     ├─ image.jpg // <- link cover
  │  │     └─ index.md // <- link file
  │  ├─ notes
  │  └─ posts
  ├─ gatsby-config.js
  ├─ package.json
  └─ src

A typical link looks like this:

content/links/link-to-chronoblog/index.md

---
title: 'Link to Chronoblog Theme repo'
cover: ./image.jpg
date: 2019-11-12
link: https://github.com/Chronoblog/gatsby-theme-chronoblog
tags: ['link', 'project']
---

Link card is a card when clicked, the user goes to the specified link.

Like a post, a link must have a title and a date, and also, of course, the link must have a link.

All other elements are the same as the post. Only in contrast to the post, the body of the link is fully displayed in the feed - because when you click, the user will follow the link, and not the "full version". So do not make the link body too large.

Notes

Notes are a type of content that is fully located in the feed. Cards of notes do not refer anywhere and do not lead anywhere.

At the same time, notes allow you to place almost anything in the feed. The starter (demo: chronoblog.now.sh) shows different options for how you can use notes - post podcasts, YouTube videos, presentations, post links or, in fact, text notes.

Place your notes inside content/notes:

chronoblog-site
  ├─ content
  │  ├─ links
  │  ├─ notes // <- notes folder
  │  │  └─ note-chronoblog // <- one note folder
  │  │     └─ index.md // <- note file
  │  └─ posts
  ├─ gatsby-config.js
  ├─ package.json
  └─ src

A typical note:

content/notes/note-chronoblog/index.md

---
date: 2019-11-02
tags: ['note']
---

Note card - the type of content that is fully displayed in the feed of the site.

A note only needs a date.

Adding Content

To add content locally, you need to create a folder in content/posts/ (if you are creating a new blog post). Give this folder any name (some-blog-post for example), and create file index.md inside this folder.

The file index.md maybe something like this:

---
title: Some Blog Post Example
cover: ./image.jpg
date: 2019-11-05
tags: ['post']
---

Some blog post text

Put some image in the same folder (in some-blog-post). If its name matches the cover from the index.md file, then this image will become the post cover.

To create a new link you need to do the same thing but in the folder content/links/ (and do not forget that the link must have link:).

And to create a new note, yes, again the same thing, but in the folder content/notes/.

The type of content is determined by the folder in which it is located!

Additional options available to content

All types of content have additional, optional options that can help you manage the content on the site.

hide - if the content has hide: true, then this content will not be displayed in the feed on the site (in any feed). But at the same time, this content itself will exist and will be available.

draft - if the content has draft: true, this content will not be on the site in any form.

frontmatter-placeholder

After you understand the content of the starter, you can delete the default content and start filling the site with your content.

However, it is better to leave the file content/links/frontmatter-placeholder in place and do not delete it. This content still doesn’t appear on the site (since it has draft: true). But its existence prevents some errors related to Gatsby and GraphQL, which may appear on an empty site.

Permanent parts of the site

It makes sense to change the default values of some parts of the site.

All these parts are just theme components. Starter replaces them with its using Component Shadowing.

Component Shadowing lets you replace the theme’s original file

You can replace any component of Chronoblog. But the parts listed here are not just possible to replace - it is recommended to do to make your site unique.

site-header

You can find this file here: src/gatsby-theme-chronoblog/site-header.mdx

Usually here is the main menu of the site. By default, it looks like this:

<MenuMain>
  <MenuBlock>
    <Link to="/">Home</Link>
    <Link to="/projects">Projects</Link>
  </MenuBlock>
  <MenuBlock>
    <SocialLinks />
    <span>&nbsp;&nbsp;</span>
    <LightDarkSwitchButton darkLabel="🌙" lightLabel="☀️" />
  </MenuBlock>
</MenuMain>

By default, the starter has two links in the menu - to the main page of the site (<Link to="/">Home</Link>) and to the additional page of the site (<Link to="/projects">Projects</Link>). The additional page of the site in the menu exists only as an example, you can change it or delete it if you do not need it. Then this file will look like this:

<MenuMain>
  <MenuBlock>
    <Link to="/">Home</Link>
  </MenuBlock>
  <MenuBlock>
    <SocialLinks />
    <span>&nbsp;&nbsp;</span>
    <LightDarkSwitchButton darkLabel="🌙" lightLabel="☀️" />
  </MenuBlock>
</MenuMain>

You may also have noticed the <SocialLinks />. This component is designed to display social network icons. Read more about this component here: SocialLinks

More about the button for switching between light and dark: LightDarkSwitchButton

site-footer

You can find this file here: src/gatsby-theme-chronoblog/site-footer.mdx

This is a footer of your site, place here everything that you consider necessary to see in the footer.

By default, this file looks like this:

<div style={{textAlign: 'center'}}>
  <SocialLinks justifyContent='center' fontSize={40} />
  <p>&nbsp;</p>
  <div>© {new Date().getFullYear()}</div>
</div>

post-footer

Footer of the post is what comes after every post on the blog. Usually, information about the author is placed here.

You can find this file here: src/gatsby-theme-chronoblog/post-footer.mdx

By default, this file looks like this:

<AuthorBanner></AuthorBanner>

The whole point of this file is to show how you can use it! Feel free to modify this file. Or, if you do not need it, remove everything from it and leave it blank.

By default, there is the author’s banner component that displays the author of the site.

More about AuthorBanner component: AuthorBanner Component.

Get post data in post footer

You can get data about the post under which the footer is located:

Post Slug: {{props.postData.fields.slug}}  // /full-blog-post/
Post Title: {{props.postData.frontmatter.title}} // Full Blog Post Example
Post Date: {{props.postData.frontmatter.date}} // 2019-12-01T00:00:00.000Z
Post id: {{props.postData.id}} // 0ff66c75-f55f-5a87-9652-e2998c7148e0

This can be useful, for example, to connect a comment system to the site. Example of how you can use Chronoblog and Gatsby Plugin Disqus:

import { Disqus } from 'gatsby-plugin-disqus';

<AuthorBanner></AuthorBanner>
<p>&nbsp;</p>
<Disqus
	config={{
		url: props.siteMetadata.siteUrl + props.postData.fields.slug,
		title: props.postData.frontmatter.title,
		id: props.postData.id
	}}
/>

Pages

Site pages can be found here: src/pages

In Chronoblog starter you can find two pages:

index.mdx - the main page of the site

projects.mdx - example page that you can rename, change, or simply delete

A path where you can find page corresponds to the name of the file, that is, the page projects.mdx can be found at http://localhost:8000/projects.

index is an exception to this.

Pages can be used to create: contact pages, portfolio/project pages, pages dedicated to one type of content (articles on a specific topic filtered by tags), etc.

Just remember to add a link to the page in the main menu (if you want to see this page in the menu). Read more about it here: site-header

Due to how Chronoblog works, pages are not the primary way to provide information. It’s quite normal not to use a single page at all (except for the main page). The main way to organize content in Chronoblog is tags, not pages.

index.mdx - homepage of your site

By default, it looks something like this:

src/pages/index.mdx

<AuthorBanner />

Welcome to the Gatsby Starter Chronoblog! This starter will help you quickly and
easily create a website using Chronoblog Gatsby Theme. What you see is the main
page of the site. Replace everything here with your own content by editing this
file: `src/pages/index.mdx` ---

<FeedSearch />
<Tags />
<FeedItems />

You should replace the content of the main page with your own.

Pay attention to these components:

<FeedSearch />
<Tags />
<FeedItems />

You can read more about them here:

Documentation

Here is more in-depth information about various aspects of Chronoblog.

Feed

Feed displays site content.

The standard way to use these components is how the main page of the site uses them:

src/pages/index.mdx

<FeedSearch />
<Tags />
<FeedItems />

How do these components work in mdx files if we did not import them there? They are already imported to mdx inside Chronoblog! So you do not need to do this. You can read about this technique here: mdxjs.com/advanced/components

FeedItems component

The most important component of the feed - this component displays content.

In this form, it is used, for example, on the main page of the site (src/pages/index.mdx):

<FeedItems />
Prop Required Type Description
filterByTags optional string[] takes an array of tags and displays all content that have at least one of these tags
filterByTypes optional string[] takes an array of content types (links, posts, notes) and displays only this content type
itemsFormat optional string show compact or card items format
limit optional number number of content items to be displayed
showMoreButton optional boolean show or not to show the button "show more".
yearSeparator optional "year" / "space" / boolean show or not the separator by year, and if the separator is displayed, then show the year or the gap of empty space

filterByTags example. This component will display all site content that have the project tag:

<FeedItems filterByTags={['project']} />

Tags component

This component displays all tags available on the site.

<Tags />

FeedSearch component

The search string to search feed items. It makes no sense to put this component if there is no <FeedItems /> component nearby.

<FeedSearch /> <FeedItems />

SocialLinks component

SocialLinks component displays links to your profiles on social networks in the form of icons. The information about what to display this component takes from gatsby-config.js, from siteMetadata.social.

<SocialLinks /> already included in all mdx, it can simply be used in any .mdx file:

<SocialLinks />
Prop Required Type Description
fontSize optional number / string size of the icons
justifyContent optional string[] / string
socialLinks optional array allows you to set any links, instead of those taken from siteMetadata.social

This component also accepts any other props, this can be used to, say, set the style you need. For example, change color:

<SocialLinks sx={{ color: "#407b6e" }} />

AuthorBanner component

AuthorBanner component displays information about the author of the site. First of all, this component is needed to display the author at the end of each blog post (see post-footer). But it can be used in any .mdx file.

Information about the author (name, description of the author, avatar and links to social networks) are taken from gatsby-config.js.

<AuthorBanner></AuthorBanner>

AuthorBanner accepts children, together with them it can be much more specific:

<AuthorBanner sx={{color: '#f1f2f6', backgroundColor: `#222`}}>
  <AuthorBannerAvatar />
  <div>
    <AuthorBannerHeading as='h1' sx={{fontSize: [7]}} />
    <AuthorBannerDescription />
    <SocialLinks fontSize="30px" />
  </div>
</AuthorBanner>

This way you can more specifically customize the look of the banner.

LightDarkSwitchButton component

This component displays a button for switching between light and dark themes.

In the starter, it is used in the main menu: site-header

<LightDarkSwitchButton />
Prop Required Type Description
fontSize optional number / string size of the font
darkLabel optional string dark mode label
lightLabel optional string light mode label

You can use any text for switches (including emoji):

<LightDarkSwitchButton darkLabel="🌙" lightLabel="☀️" />

Content Cover

Any content can have a cover.

You most likely want to keep the cover image in the same folder as your blog post (or link, or note). But this is optional:

chronoblog-site
  └─ content
     ├─ links
     ├─ notes
     └─ posts
        └─ some-blog-post // <- blog post with cover
           ├─ image.jpg // <- cover image
           └─ index.md // <- post file

In index.md or in index.mdx file of the post:

---
title: Full Blog Post Example
cover: ./image.jpg <- cover image
date: 2019-11-05
---

Some blog post text

Cover used in the feed, in the full blog post, as well as the main image for the metadata of the content.

Cover very forgiving to the size of the image, it is always in the center and always retains its proportions.

Font Awesome Icons

Chronoblog uses react-fontawesome for icons. Brand icons (they call them “fab”) are already built into all .mdx files - you don’t need to import them from anywhere, just use them, for example like this:

<FontAwesomeIcon icon={['fab', 'twitter']} /> <FontAwesomeIcon icon={['fab',
'github']} /> <FontAwesomeIcon icon={['fab', 'instagram']} />

These three icons that were not related to any brands were also built in:

<FontAwesomeIcon icon="at" />
<FontAwesomeIcon icon="envelope" />
<FontAwesomeIcon icon="phone" />

You can use the icons inside the text in the .md and .mdx files:

Some Text. Text with <FontAwesomeIcon icon={['fab', 'github']} /> Icon

SEO and metadata

To work with metadata, Chronoblog relies on react-helmet and gatsby-plugin-react-helmet.

Most of the work related to SEO and metadata goes automatically. Just based on what information you most likely would like to see in metadata. It is enough for the user to correctly fill in the information about the site in gatsby-config.js - gatsby-config.

Metadata generation

Basic metadata:

  • title is taken from the post title + site name.
  • description is taken from the description of the post, or, if there is no description, from the beginning of the post itself.
  • cover (if any) is used as the main image.

The same logic generates metadata for Open Graph and for Twitter Cards.

Metadata Verification Tools

See how Chronoblog works with metadata using these tools. For example, copy this link and paste it into the validation tool:

https://chronoblog.now.sh/full-blog-post/

Twitter card validator: cards-dev.twitter.com/validator
Facebook debug OG: developers.facebook.com/tools/debug/og/object

SEO component in .mdx

You can use SEO component in any .mdx file (it does not need to be imported). This component accepts child elements and you can set any metatags inside it as if you used the react-helmet plugin on its own.

This can be useful if you need to set, for example, a special title for some page on the site.

Prism Code Highlight

Chronoblog already has built-in code highlighting for posts and other content. This is done thanks to Prism and @theme-ui/prism. There is already built in support for many programming languages.

Adding support for additional programming languages

Shadowing in Chronoblog Gatsby Theme

Shadowing is a feature of any Gatsby Theme. You can read more about this in Gatsby docs: Shadowing in Gatsby Themes

This feature allows users to replace a file in the src directory that is included in the webpack bundle with their own implementation. This works for React components, pages in src/pages, JSON files, TypeScript files, as well as any other imported file (such as .css) in your site.

This all works in the case of Chronoblog Theme. However, there are components that are still better not to touch so as not to break anything when updating Chronoblog.

For example, if you want to change the site menu, you need to create file site-header.mdx here: src/gatsby-theme-chronoblog/site-header.mdx. This will automatically replace default file of Chronoblog itself (which you can see here: github.com/Chronoblog/gatsby-theme-chronoblog/blob/master/packages/gatsby-theme-chronoblog/src/site-header.mdx)

Components that can and should be shadowed

Components that were specially created for you to change them:

shadow name description
src/gatsby-theme-chronoblog/post-footer.mdx read: post-footer
src/gatsby-theme-chronoblog/site-header.mdx read: site-header
src/gatsby-theme-chronoblog/site-footer.mdx read: post-footer
src/gatsby-theme-chronoblog/content-bottom.mdx

Feedback

🤝 If you have any problems with the Chronoblog, or you have interesting ideas, write to the github issue: github.com/Chronoblog/gatsby-theme-chronoblog/issues

🐦 You can also contact me on Twitter: twitter.com/Ganevru, I will be glad to know your opinion about Chronoblog.

✍️ If you made a site using Chronoblog - write to me about it!

Credits

Art

Illustrations and Images that are used in the project (usually in Starters).

  • Illlustrations, open source illustrations kit: illlustrations.co
  • Lukasz Adam free illustrations: lukaszadam.com/illustrations
  • Deszone: deszone.net, free vector graphics ratterns, illustrations, icons.
  • Unsplash: unsplash.com, the internet’s source of freely usable images. Powered by creators everywhere.
  • Undraw: undraw.co, open-source illustrations for every project you can imagine and create.

gatsby-theme-chronoblog's People

Contributors

druwadi avatar ganevdev avatar jamstack-elise avatar lucasrla avatar reallymello avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

gatsby-theme-chronoblog's Issues

warnings in link.js and note.js?

In the latest gatsby CLI when I compile I get a couple warnings that I am not sure are problematic

warn The GraphQL query in the non-page component "/node_modules/gatsby-theme-chronoblog/src/templates/link.js" will not be run.
warn The GraphQL query in the non-page component "/node_modules/gatsby-theme-chronoblog/src/templates/note.js" will not be run.

<a> cannot appear as a descendant of <a>

Checking out a new hacker starter, and rendering the index page (https://github.com/Chronoblog/gatsby-theme-chronoblog/blob/master/starters/hacker/src/pages/index.mdx) you will receive an error in the console of chrome:

index.js:2177 Warning: validateDOMNesting(...): <a> cannot appear as a descendant of <a>.
    in a (created by Context.Consumer)
    in Styled(div) (created by ForwardRef)
    in ForwardRef (at root.js:39)

It appears that the code in root.js

const Link = ({ to, children, ...props }) => (
  <LinkGatsby to={to} {...props}>
    <LinkThemeUi>{children}</LinkThemeUi>
  </LinkGatsby>
);

Is creating two anchors when using Link in the MDX. For instance, in index.mdx:

<h3>
  Posts and Articles / <Link to='posts-and-articles'>All of Them</Link>
</h3>

Not exactly sure how to combine GatsbyLinks with the LinkThemeUI, or I would create a PR.
Maybe something like using <LinkThemeUI as={LinkGatsby} or LinkGatsby as={LinkThemeUI}

Thoughts?

No routing on local dev server

Heya, I'm having an issue where routing isn't working on the dev server launched by gatsby develop.

Recreating the behaviour

  1. Create a fresh starter
  2. Navigate to localhost:8000 and click on on the full blog post example
  3. Result is that the page navigates to http://full-blog-post/
  4. Try navigating to http://localhost:8000/full-blog-post --> you get a blank page

Once published online the routing works normally.

Multi-colored tags

💡 UI-Idea:

  1. Format current Theme-UI component Button/Badge similar to the appearance of preformatted text tags
  2. Assign each tag a color

🎯 Goal
Viewers of the profile can easily identify tags by way of color and formatting.

📋 Initial steps to solve the problem
(for 1)

(for 2)
TBD

End goal: Celebrate🎉!

Getting error when running gatsby build!

Running gatsby build throws following error:

ERROR #11328 

A page component must export a React component for it to be valid. Please make sure this file exports a React component:

undefined

not finished createPagesStatefully - 0.079s

Could be due to one of the plugins versions, tried solving locally but couldn't get it!

gatsby develop gives below errors in browser:

Screenshot 2020-06-06 at 3 19 43 AM

URL path for "full-blog-post" getting built incorrectly?

New to gatsby, created a site with this fantastic starter blog, and it appears to work with the exception of the "full-blog-post" example. The link goes to http://full-blog-post/ so it is a broken link.

Inspecting the dom it looks like
<a class="hover-on css-wioi95" href="/\full-blog-post\">

What could be wrong if the paths aren't building out correctly?

Won't load local file GIF in md or mdx blog file

So I'm trying to load a local save file GIF that I want to put in markdown for a blog but it won't load all it shows is the alt text, but when I use other GIFs from online it works. I don't know if it because of the file size or what. When I try to other gatsby starter templates it works but not in this theme.

I use the standard MD format to include a media file but won't show
Screen Shot 2020-07-21 at 21 53 34

This is the directory and its file
Screen Shot 2020-07-21 at 21 54 24

The result
Screen Shot 2020-07-21 at 21 53 45

Feed menu for dates - years and months

Something like scrollspy, to the left of the feed, with date navigation.

Something like:

2019 (5) <
2018 (7) <
2017 (5) ↓
---- January (1)
---- February (2)month in the feed where the user is now
---- March (1)
---- ...
2016 (6) <
2015 (2) <

`getItemYear` does not handle locale properly

I've noticed an incosistency of handling "year locale":

const getYears = (items, lang = 'en-US') => {
let years = items.map((item) => getItemYear(item, lang));

Above code passes lang parameter, but in the below code, lang is not given and thus remaining undefined:

This will lead to the comparison of two different locale years, one is en-US, the other is undefined (default locale). So in my case that uses zh-CN locale, latter will produce "2020年" instead of "2020".

FontAwesome solid icons

💡 UI-Idea: Include FontAwesome's solid icon svgs in the codebase library

🎯 Goal
Include the {faEnvelopeSquare} object for developer's who want to use an 'email' button
Or via array-- icon={['fas', icon]}

📋 Initial steps to solve the problem

  • explore gatsby-theme-chronoblog/packages/src/components/social-links.js codebase
  • test

End goal: the code works, and celebrate🎉!

Badge styling

It'd be a nice add to be able to have a way of easily changing the sizing or style of the tag buttons. As it is now, they tend to be a bit large relative to the page content taking focus away from the posts themselves. This is especially true for more heavily tagged posts.

Microsoft Edge compatibility issue. Errors in commons

On Edge 44 on Windows the console has "security" errors so the site functionality doesn't load. You get a base UI, but none of the blog images size correctly and navigation doesn't work. Chrome and Firefox don't appear to be affected.

[object Error]: {description: "A security problem occurred. ", message: "A security problem occurred. ", number: -2146697202, stack: "Error: A security problem occurred. at l (https://chronoblog.now.sh/commons-831fa7fe1a4518f96da1.js:1:275197) at s (https://chronoblog.now.sh/commons-831fa7fe1a4518f96da1.js:1:6426) at f (https://chronoblog.now.sh/commons-831fa7fe1a4518f96da1.js:1:6910) at si (https://chronoblog.now.sh/commons-831fa7fe1a4518f96da1.js:1:354464) at Mc (https://chronoblog.now.sh/commons-831fa7fe1a4518f96da1.js:1:399508) at ml (https://chronoblog.now.sh/commons-831fa7fe1a4518f96da1.js:1:385219) at dl (https://chronoblog.now.sh/commons-831fa7fe1a4518f96da1.js:1:385147) at ol (https://chronoblog.now.sh/commons-831fa7fe1a4518f96da1.js:1:382498) at el (https://chronoblog.now.sh/commons-831fa7fe1a4518f96da1.js:1:379229) at Fl (https://chronoblog.now.sh/commons-831fa7fe1a4518f96da1.js:1:407048)"}

brokenPage

How do I add/edit the CSS?

I love this site but it completely baffles me how any of it works. I can't find anywhere to simply add/edit the CSS of the site. Where the heck is it all coming from because it is nowhere to be found in the src folder like I am used to. There must be something I am missing, could somebody please point me in the right direction?

Add fallback for backdrop-filter on cover image

By default backdrop-filter is disabled on Firefox and needs to be enabled manually through a flag.

So that the website remains aesthetic on firefox, I think it would be best to add a fallback for the backdrop-filter that works on Firefox.

Perhaps something like this:

<Image
    css={`
    @supports (backdrop-filter: blur(5px)) {
        background-color: rgba(255,255,255,0);
    }
    background-color: rgba(255,255,255,0.6);
    `}
    sx={{
    backdropFilter: 'blur(5px) contrast(50%)',
    WebkitBackdropFilter: 'blur(5px) contrast(50%)',
    maxHeight: height,
    minHeight: height,
    borderRadius: 'card',
    ...borderRadiusForCard
    }}
    imgStyle={{
    objectFit,
    objectPosition: '50% 50%'
    }}
    alt={imageTitle}
    title={imageTitle}
    fluid={coverFluidImage}
/>

There is probably a better way to recreate the blur, I'm using something similar to this (with the colour of the transparent background matching my primary colour) as a stop gap in the meantime.

Frontmatter dates a day off?

In my post if I have a frontmatter like

---
title: Chronoblog is amazing
cover: ./chrono.png
date: 2020-01-14
description: Dates are a day behind
tags: ['post']
---

The date will show as January 13th instead of the 14th. Is this expected behavior or an off by 1 or internationalization defect?

Commenting solution

Hello!

I know this goes somewhat against the philosophy of Chronoblog, still I need a commenting solution for posts.

After looking at various solutions, I tried Disqus with no success.

Did try:

Seems that there are no easy solutions to implement Disqus on Markdown pages/posts.

I could use another commenting system if that could work with Chronoblog.

Any ideas?

François Meehan

gatsby components not getting mounted in build on github pages with actions

It was working fine last month, yesterday and today i made few commits and run the action to get the below errors. I tried to go back for old working commit but get same errors again. website deploys but homepage doesn't get any content.

works well on my machine both gatsby develop and gatsby build and also only static query warning but not the component errrors

2020-08-20T15:26:46.5311328Z ##[group]Run enriikke/[email protected]
2020-08-20T15:26:46.5311604Z with:
2020-08-20T15:26:46.5311922Z   access-token: ***
2020-08-20T15:26:46.5312139Z   deploy-branch: gh-pages
2020-08-20T15:26:46.5312513Z   gatsby-args: --prefix-paths
2020-08-20T15:26:46.5312734Z ##[endgroup]
2020-08-20T15:26:46.6669899Z Installing your site's dependencies using npm.
2020-08-20T15:26:46.6670722Z [command]npm install
2020-08-20T15:26:59.6439396Z npm WARN deprecated @hapi/[email protected]: joi is leaving the @hapi organization and moving back to 'joi' (https://github.com/sideway/joi/issues/2411)
2020-08-20T15:27:02.6162979Z npm WARN deprecated @hapi/[email protected]: This version has been deprecated and is no longer supported or maintained
2020-08-20T15:27:02.6195325Z npm WARN deprecated @hapi/[email protected]: This version has been deprecated and is no longer supported or maintained
2020-08-20T15:27:02.6209330Z npm WARN deprecated @hapi/[email protected]: This version has been deprecated and is no longer supported or maintained
2020-08-20T15:27:02.6223977Z npm WARN deprecated @hapi/[email protected]: This version has been deprecated and is no longer supported or maintained
2020-08-20T15:27:03.0491917Z npm WARN deprecated [email protected]: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
2020-08-20T15:27:06.7404309Z npm WARN deprecated [email protected]: request has been deprecated, see https://github.com/request/request/issues/3142
2020-08-20T15:27:08.0075209Z npm WARN deprecated [email protected]: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.
2020-08-20T15:27:08.4089201Z npm WARN deprecated [email protected]: GraphQL Import has been deprecated and merged into GraphQL Tools, so it will no longer get updates. Use GraphQL Tools instead to stay up-to-date! Check out https://www.graphql-tools.com/docs/migration-from-import for migration and https://the-guild.dev/blog/graphql-tools-v6 for new changes.
2020-08-20T15:27:11.5436907Z npm WARN deprecated [email protected]: this library is no longer supported
2020-08-20T15:27:12.8453411Z npm WARN deprecated [email protected]: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
2020-08-20T15:27:13.1427965Z npm WARN deprecated [email protected]: Please see https://github.com/lydell/urix#deprecated
2020-08-20T15:27:13.2091697Z npm WARN deprecated [email protected]: https://github.com/lydell/resolve-url#deprecated
2020-08-20T15:27:14.8113433Z npm WARN deprecated @types/[email protected]: This is a stub types definition. vfile-message provides its own type definitions, so you do not need this installed.
2020-08-20T15:27:51.2793413Z 
2020-08-20T15:27:51.2795527Z > [email protected] install /home/runner/work/********/********/node_modules/sharp
2020-08-20T15:27:51.2808928Z > (node install/libvips && node install/dll-copy && prebuild-install --runtime=napi) || (node-gyp rebuild && node install/dll-copy)
2020-08-20T15:27:51.2844045Z 
2020-08-20T15:27:58.7575623Z info sharp Downloading https://github.com/lovell/sharp-libvips/releases/download/v8.9.1/libvips-8.9.1-linux-x64.tar.gz
2020-08-20T15:28:00.1907406Z 
2020-08-20T15:28:00.1910226Z > [email protected] postinstall /home/runner/work/**/**/node_modules/babel-runtime/node_modules/core-js
2020-08-20T15:28:00.1911621Z > node -e "try{require('./postinstall')}catch(e){}"
2020-08-20T15:28:00.1912972Z 
2020-08-20T15:28:00.3259141Z 
2020-08-20T15:28:00.3262200Z > [email protected] postinstall /home/runner/work/**/**/node_modules/core-js
2020-08-20T15:28:00.3269329Z > node -e "try{require('./postinstall')}catch(e){}"
2020-08-20T15:28:00.3276273Z 
2020-08-20T15:28:00.3925524Z 
2020-08-20T15:28:00.3927479Z > [email protected] postinstall /home/runner/work/**/**/node_modules/core-js-pure
2020-08-20T15:28:00.3936172Z > node -e "try{require('./postinstall')}catch(e){}"
2020-08-20T15:28:00.3995136Z 
2020-08-20T15:28:01.4155760Z 
2020-08-20T15:28:01.4157335Z > [email protected] postinstall /home/runner/work/**/**/node_modules/gatsby-telemetry
2020-08-20T15:28:01.4157658Z > node src/postinstall.js || true
2020-08-20T15:28:01.4157819Z 
2020-08-20T15:28:01.5321184Z 
2020-08-20T15:28:01.5328444Z > [email protected] postinstall /home/runner/work/**/**/node_modules/mozjpeg
2020-08-20T15:28:01.5329440Z > node lib/install.js
2020-08-20T15:28:01.5330167Z 
2020-08-20T15:28:01.8314478Z   ✔ mozjpeg pre-build test passed successfully
2020-08-20T15:28:01.8415406Z 
2020-08-20T15:28:01.8416359Z > [email protected] postinstall /home/runner/work/**/**/node_modules/pngquant-bin
2020-08-20T15:28:01.8416548Z > node lib/install.js
2020-08-20T15:28:01.8416681Z 
2020-08-20T15:28:02.1432997Z   ✔ pngquant pre-build test passed successfully
2020-08-20T15:28:02.1619932Z 
2020-08-20T15:28:02.1620800Z > [email protected] postinstall /home/runner/work/**/**/node_modules/gatsby/node_modules/gatsby-cli
2020-08-20T15:28:02.1621028Z > node scripts/postinstall.js
2020-08-20T15:28:02.1621095Z 
2020-08-20T15:28:02.2452696Z 
2020-08-20T15:28:02.2454185Z > [email protected] postinstall /home/runner/work/**/**/node_modules/gatsby
2020-08-20T15:28:02.2454597Z > node scripts/postinstall.js
2020-08-20T15:28:02.2454957Z 
2020-08-20T15:28:03.9249533Z npm notice created a lockfile as package-lock.json. You should commit this file.
2020-08-20T15:28:03.9293696Z npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.2.7 (node_modules/babel-plugin-add-module-exports/node_modules/chokidar/node_modules/fsevents):
2020-08-20T15:28:03.9294429Z npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
2020-08-20T15:28:03.9305621Z npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@~2.1.2 (node_modules/chokidar/node_modules/fsevents):
2020-08-20T15:28:03.9306043Z npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
2020-08-20T15:28:03.9322816Z npm WARN notsup Unsupported engine for [email protected]: wanted: {"node":"<8.10.0"} (current: {"node":"12.18.3","npm":"6.14.7"})
2020-08-20T15:28:03.9323651Z npm WARN notsup Not compatible with your version of node/npm: [email protected]
2020-08-20T15:28:03.9343879Z npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@~2.1.2 (node_modules/watchpack/node_modules/chokidar/node_modules/fsevents):
2020-08-20T15:28:03.9344436Z npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
2020-08-20T15:28:03.9362462Z npm WARN @pmmmwh/[email protected] requires a peer of react-refresh@^0.8.2 but none is installed. You must install peer dependencies yourself.
2020-08-20T15:28:03.9393086Z npm WARN [email protected] requires a peer of typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta but none is installed. You must install peer dependencies yourself.
2020-08-20T15:28:03.9443089Z npm WARN [email protected] requires a peer of [email protected] but none is installed. You must install peer dependencies yourself.
2020-08-20T15:28:03.9469827Z npm WARN [email protected] requires a peer of [email protected] but none is installed. You must install peer dependencies yourself.
2020-08-20T15:28:03.9490850Z npm WARN [email protected] requires a peer of [email protected] but none is installed. You must install peer dependencies yourself.
2020-08-20T15:28:03.9516670Z npm WARN [email protected] requires a peer of acorn@^6.0.0 but none is installed. You must install peer dependencies yourself.
2020-08-20T15:28:03.9542627Z npm WARN [email protected] requires a peer of @mdx-js/react@^1.0.0 but none is installed. You must install peer dependencies yourself.
2020-08-20T15:28:03.9567146Z npm WARN [email protected] requires a peer of @mdx-js/mdx@^1.0.0 but none is installed. You must install peer dependencies yourself.
2020-08-20T15:28:03.9597416Z npm WARN [email protected] requires a peer of @mdx-js/react@^1.0.0 but none is installed. You must install peer dependencies yourself.
2020-08-20T15:28:03.9597588Z 
2020-08-20T15:28:03.9688079Z added 2480 packages from 1348 contributors and audited 2485 packages in 67.403s
2020-08-20T15:28:05.0351075Z 
2020-08-20T15:28:05.0351549Z 173 packages are looking for funding
2020-08-20T15:28:05.0351768Z   run `npm fund` for details
2020-08-20T15:28:05.0351844Z 
2020-08-20T15:28:05.0360743Z found 0 vulnerabilities
2020-08-20T15:28:05.0360946Z 
2020-08-20T15:28:05.0938775Z Finished installing dependencies.
2020-08-20T15:28:05.0942314Z Ready to build your Gatsby site!
2020-08-20T15:28:05.0945569Z Building with: npm run build --prefix-paths
2020-08-20T15:28:05.0946809Z [command]npm run build --prefix-paths
2020-08-20T15:28:05.3441641Z 
2020-08-20T15:28:05.3443052Z > ****@0.1.0 build /home/runner/work/********/*********
2020-08-20T15:28:05.3443434Z > gatsby build
2020-08-20T15:28:05.3448770Z 
2020-08-20T15:28:08.0211475Z success open and validate gatsby-configs - 0.058s
2020-08-20T15:28:08.8156759Z success load plugins - 0.793s
2020-08-20T15:28:08.8603089Z success onPreInit - 0.044s
2020-08-20T15:28:08.8635009Z success delete html and css files from previous builds - 0.003s
2020-08-20T15:28:08.8705976Z success initialize cache - 0.006s
2020-08-20T15:28:09.0994535Z success copy gatsby files - 0.225s
2020-08-20T15:28:09.1081046Z success onPreBootstrap - 0.011s
2020-08-20T15:28:09.1555821Z success createSchemaCustomization - 0.007s
2020-08-20T15:28:10.1820895Z success Checking for changed pages - 0.000s
2020-08-20T15:28:10.1822901Z success source and transform nodes - 1.023s
2020-08-20T15:28:10.5798586Z success building schema - 0.397s
2020-08-20T15:28:11.4705477Z success createPages - 0.888s
2020-08-20T15:28:11.4711623Z success Checking for changed pages - 0.000s
2020-08-20T15:28:11.6145924Z success createPagesStatefully - 0.142s
2020-08-20T15:28:11.6385735Z success update schema - 0.024s
2020-08-20T15:28:11.6392640Z success onPreExtractQueries - 0.000s
2020-08-20T15:28:12.0642616Z success extract queries from components - 0.424s
2020-08-20T15:28:12.0697749Z warning The GraphQL query in the non-page component "/home/runner/work/**/**/node_modules/gatsby-theme-chronoblog/src/templates/post.js" will not be run.
2020-08-20T15:28:12.0704987Z Exported queries are only executed for Page components. It's possible you're
2020-08-20T15:28:12.0705469Z trying to create pages in your gatsby-node.js and that's failing for some
2020-08-20T15:28:12.0707760Z reason.
2020-08-20T15:28:12.0708072Z 
2020-08-20T15:28:12.0708302Z If the failing component(s) is a regular component and not intended to be a page
2020-08-20T15:28:12.0708852Z component, you generally want to use a <StaticQuery> (https://gatsbyjs.org/docs/static-query)
2020-08-20T15:28:12.0709040Z instead of exporting a page query.
2020-08-20T15:28:12.0709131Z 
2020-08-20T15:28:12.0709455Z If you're more experienced with GraphQL, you can also export GraphQL
2020-08-20T15:28:12.0709620Z fragments from components and compose the fragments in the Page component
2020-08-20T15:28:12.0710015Z query and pass data down into the child component — https://graphql.org/learn/queries/#fragments
2020-08-20T15:28:12.0728998Z success write out redirect data - 0.001s
2020-08-20T15:28:12.1885440Z success Build manifest and related icons - 0.114s
2020-08-20T15:28:12.1888785Z success onPostBootstrap - 0.115s
2020-08-20T15:28:12.1892073Z info bootstrap finished - 6.836s
2020-08-20T15:28:12.2119199Z success run static queries - 0.019s - 2/2 106.85/s
2020-08-20T15:28:12.2415517Z success run page queries - 0.029s - 22/22 760.37/s
2020-08-20T15:28:12.2450350Z success write out requires - 0.003s
2020-08-20T15:28:35.0097386Z success Building production JavaScript and CSS bundles - 22.761s
2020-08-20T15:28:35.1063823Z success Rewriting compilation hashes - 0.001s
2020-08-20T15:28:41.0476313Z Component MenuMain was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.0481144Z Component MenuBlock was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.0483244Z Component Link was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.0489198Z Component Link was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.0492760Z Component MenuBlock was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.0494645Z Component SocialLinks was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.0497419Z Component LightDarkSwitchButton was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.2333632Z Component Embed was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.2380369Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.2384080Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.2414703Z Component SocialLinks was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.2418507Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.2421479Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.2427696Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.2515482Z Component MenuMain was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.2516871Z Component MenuBlock was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.2520425Z Component Link was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.2523791Z Component Link was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.2526470Z Component MenuBlock was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.2529890Z Component SocialLinks was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.2532792Z Component LightDarkSwitchButton was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.2746979Z Component SocialLinks was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.2754315Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.2760270Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.2768277Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.2902202Z Component MenuMain was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.2903015Z Component MenuBlock was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.2906381Z Component Link was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.2909018Z Component Link was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.2911313Z Component MenuBlock was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.2913450Z Component SocialLinks was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.2916687Z Component LightDarkSwitchButton was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.3073116Z Component SocialLinks was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.3074600Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.3083390Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.3084585Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.3134710Z Component MenuMain was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.3135230Z Component MenuBlock was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.3136244Z Component Link was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.3137635Z Component Link was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.3139973Z Component MenuBlock was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.3140933Z Component SocialLinks was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.3142050Z Component LightDarkSwitchButton was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.3309942Z Component SocialLinks was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.3312536Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.3322501Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.3327810Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.3465577Z Component MenuMain was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.3467389Z Component MenuBlock was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.3467819Z Component Link was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.3469925Z Component Link was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.3471712Z Component MenuBlock was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.3472793Z Component SocialLinks was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.3516042Z Component LightDarkSwitchButton was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.3739338Z Component SocialLinks was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.3740852Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.3741073Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.3743106Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.3779010Z Component MenuMain was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.3779231Z Component MenuBlock was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.3779397Z Component Link was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.3779555Z Component Link was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.3779711Z Component MenuBlock was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.3779867Z Component SocialLinks was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.3780254Z Component LightDarkSwitchButton was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.3887903Z Component SocialLinks was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.3888305Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.3890735Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.3890929Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.3923414Z Component MenuMain was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.3927495Z Component MenuBlock was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.3927697Z Component Link was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.3927850Z Component Link was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.3928016Z Component MenuBlock was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.3928165Z Component SocialLinks was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.3928307Z Component LightDarkSwitchButton was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4115951Z Component SocialLinks was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4116173Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4116342Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4116500Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4130921Z Component MenuMain was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4131146Z Component MenuBlock was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4131320Z Component Link was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4131481Z Component Link was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4131637Z Component MenuBlock was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4131800Z Component SocialLinks was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4131969Z Component LightDarkSwitchButton was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4197767Z Component Embed was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4219967Z Component SocialLinks was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4221154Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4222580Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4225296Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4254972Z Component MenuMain was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4255988Z Component MenuBlock was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4256863Z Component Link was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4257990Z Component Link was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4259178Z Component MenuBlock was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4260079Z Component SocialLinks was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4261185Z Component LightDarkSwitchButton was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4325097Z Component Embed was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4343869Z Component SocialLinks was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4345481Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4346974Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4349738Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4380722Z Component MenuMain was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4382229Z Component MenuBlock was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4382691Z Component Link was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4383972Z Component Link was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4385147Z Component MenuBlock was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4386115Z Component SocialLinks was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4387059Z Component LightDarkSwitchButton was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4446107Z Component Embed was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4464920Z Component SocialLinks was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4466579Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4468010Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4489748Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4523459Z Component MenuMain was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4526075Z Component MenuBlock was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4528556Z Component Link was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4532041Z Component Link was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4535097Z Component MenuBlock was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4537589Z Component SocialLinks was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4540137Z Component LightDarkSwitchButton was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4645415Z Component SocialLinks was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4648766Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4652512Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4657160Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4692066Z Component MenuMain was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4695529Z Component MenuBlock was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4698504Z Component Link was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4702498Z Component Link was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4705921Z Component MenuBlock was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4708649Z Component SocialLinks was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4711600Z Component LightDarkSwitchButton was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4811786Z Component SocialLinks was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4812047Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4834065Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4834311Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4867739Z Component MenuMain was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4869783Z Component MenuBlock was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4871182Z Component Link was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4873529Z Component Link was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4875603Z Component MenuBlock was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4876752Z Component SocialLinks was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.4878619Z Component LightDarkSwitchButton was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5059433Z Component Embed was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5086063Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5087765Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5097738Z Component SocialLinks was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5099125Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5100505Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5103003Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5136366Z Component MenuMain was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5137208Z Component MenuBlock was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5137561Z Component Link was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5138366Z Component Link was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5139324Z Component MenuBlock was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5140137Z Component SocialLinks was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5140932Z Component LightDarkSwitchButton was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5273311Z Component Embed was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5299454Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5301545Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5359698Z Component SocialLinks was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5363707Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5366917Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5371786Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5405643Z Component MenuMain was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5408454Z Component MenuBlock was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5411963Z Component Link was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5413552Z Component Link was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5414775Z Component MenuBlock was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5415777Z Component SocialLinks was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5416726Z Component LightDarkSwitchButton was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5575444Z Component Embed was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5599300Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5600863Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5634229Z Component SocialLinks was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5635519Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5636726Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5639242Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5670728Z Component MenuMain was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5672648Z Component MenuBlock was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5673135Z Component Link was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5674473Z Component Link was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5675869Z Component MenuBlock was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5676340Z Component SocialLinks was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5677386Z Component LightDarkSwitchButton was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5697718Z Component Embed was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5854683Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5855985Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5886569Z Component SocialLinks was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5887932Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5889353Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5891757Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5922595Z Component MenuMain was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5923943Z Component MenuBlock was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5924321Z Component Link was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5925350Z Component Link was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5926635Z Component MenuBlock was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5927515Z Component SocialLinks was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5928567Z Component LightDarkSwitchButton was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5947158Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.5949255Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6140211Z Component Embed was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6169448Z Component SocialLinks was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6172955Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6176155Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6180219Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6223191Z Component MenuMain was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6225830Z Component MenuBlock was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6228479Z Component Link was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6231698Z Component Link was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6234585Z Component MenuBlock was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6236615Z Component SocialLinks was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6238870Z Component LightDarkSwitchButton was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6362593Z Component Embed was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6387628Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6391336Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6424801Z Component SocialLinks was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6428282Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6431543Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6435789Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6466370Z Component MenuMain was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6470097Z Component MenuBlock was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6471315Z Component Link was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6474569Z Component Link was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6475585Z Component MenuBlock was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6476601Z Component SocialLinks was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6477492Z Component LightDarkSwitchButton was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6664909Z Component Embed was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6665327Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6665618Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6689186Z Component SocialLinks was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6690550Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6691821Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6694439Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6750343Z Component MenuMain was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6750653Z Component MenuBlock was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6750827Z Component Link was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6750995Z Component Link was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6751177Z Component MenuBlock was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6751346Z Component SocialLinks was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6751530Z Component LightDarkSwitchButton was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6858148Z Component Embed was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6877714Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6878655Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6942380Z Component SocialLinks was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6942916Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6943302Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6943679Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6973606Z Component MenuMain was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6974655Z Component MenuBlock was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6975552Z Component Link was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6976423Z Component Link was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6977280Z Component MenuBlock was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6977704Z Component SocialLinks was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6978061Z Component LightDarkSwitchButton was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6979383Z Component AuthorBanner was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6983940Z Component FeedSearch was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6984871Z Component Tags was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6985276Z Component FeedItems was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6988878Z Component SocialLinks was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6990093Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6991783Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.6993440Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.7024091Z Component MenuMain was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.7024502Z Component MenuBlock was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.7024964Z Component Link was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.7026670Z Component Link was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.7026981Z Component MenuBlock was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.7027266Z Component SocialLinks was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.7028063Z Component LightDarkSwitchButton was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.7136956Z Component FeedItems was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.7140510Z Component SocialLinks was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.7141830Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.7143068Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.7145460Z Component FontAwesomeIcon was not imported, exported, or provided by MDXProvider as global scope
2020-08-20T15:28:41.7510070Z success Building static HTML for pages - 6.563s - 22/22 3.35/s
2020-08-20T15:28:41.7518890Z success Generating image thumbnails - 31.984s - 5/5 0.16/s
2020-08-20T15:28:41.7658845Z success onPostBuild - 0.014s
2020-08-20T15:28:41.7683692Z info Done building in 36.414933382 sec
2020-08-20T15:28:42.6150487Z Finished building your site.
2020-08-20T15:28:42.6164675Z Ready to deploy your new shiny site!
2020-08-20T15:28:42.6165534Z Deploying to repo: **/** and branch: gh-pages
2020-08-20T15:28:42.6166050Z You can configure the deploy branch by setting the `deploy-branch` input for this action.
2020-08-20T15:28:42.6166272Z [command]git init
2020-08-20T15:28:42.6214901Z Initialized empty Git repository in /home/runner/work/*******/*******/public/.git/
2020-08-20T15:28:42.6220422Z [command]git config user.name py563
2020-08-20T15:28:42.6260682Z [command]git config user.email ******@users.noreply.github.com
2020-08-20T15:28:42.6298679Z [command]git add .
2020-08-20T15:28:42.8114713Z [command]git commit -m deployed via Gatsby Publish Action 🎩 for fa66dcec43db3650d0f61e34e1863c1bb341f001
2020-08-20T15:28:42.8387002Z [master (root-commit) 100c7a9] deployed via Gatsby Publish Action 🎩 for fa66dcec43db3650d0f61e34e1863c1bb341f001
2020-08-20T15:28:42.8387734Z  102 files changed, 212 insertions(+)
2020-08-20T15:28:42.8388765Z  create mode 100644 29107295-140c057c8acedd8599ef.js
2020-08-20T15:28:42.8389213Z  create mode 100644 29107295-140c057c8acedd8599ef.js.map
2020-08-20T15:28:42.8389393Z  create mode 100644 404.html
2020-08-20T15:28:42.8389774Z  create mode 100644 404/index.html
2020-08-20T15:28:42.8389992Z  create mode 100644 CNAME
2020-08-20T15:28:42.8390358Z  create mode 100644 a9a7754c-c677f595e03aa48988d0.js
2020-08-20T15:28:42.8390751Z  create mode 100644 a9a7754c-c677f595e03aa48988d0.js.map
2020-08-20T15:28:42.8391049Z  create mode 100644 app-452955284926ea757e5e.js
2020-08-20T15:28:42.8391422Z  create mode 100644 app-452955284926ea757e5e.js.map
2020-08-20T15:28:42.8391599Z  create mode 100644 banner.png
2020-08-20T15:28:42.8391938Z  create mode 100644 cb1608f2-69a4a7cc8c52be22c4d5.js
2020-08-20T15:28:42.8392978Z  create mode 100644 cb1608f2-69a4a7cc8c52be22c4d5.js.map
2020-08-20T15:28:42.8393315Z  create mode 100644 chunk-map.json
2020-08-20T15:28:42.8393693Z  create mode 100644 commons-3f3e23bd343eaba68ea5.js
2020-08-20T15:28:42.8394042Z  create mode 100644 commons-3f3e23bd343eaba68ea5.js.map
2020-08-20T15:28:42.8394486Z  create mode 100644 component---node-modules-gatsby-theme-chronoblog-src-pages-404-js-0d2d700089ff46118aa8.js
2020-08-20T15:28:42.8395137Z  create mode 100644 component---node-modules-gatsby-theme-chronoblog-src-pages-404-js-0d2d700089ff46118aa8.js.map
2020-08-20T15:28:42.8395586Z  create mode 100644 component---node-modules-gatsby-theme-chronoblog-src-pages-tags-js-d3efa322ffe864a00ef0.js
2020-08-20T15:28:42.8396132Z  create mode 100644 component---node-modules-gatsby-theme-chronoblog-src-pages-tags-js-d3efa322ffe864a00ef0.js.map
2020-08-20T15:28:42.8396575Z  create mode 100644 component---node-modules-gatsby-theme-chronoblog-src-templates-link-js-64d9185d04798bf69021.js
2020-08-20T15:28:42.8397023Z  create mode 100644 component---node-modules-gatsby-theme-chronoblog-src-templates-link-js-64d9185d04798bf69021.js.map
2020-08-20T15:28:42.8397494Z  create mode 100644 component---node-modules-gatsby-theme-chronoblog-src-templates-note-js-cd07067fc1835d86758c.js
2020-08-20T15:28:42.8397965Z  create mode 100644 component---node-modules-gatsby-theme-chronoblog-src-templates-note-js-cd07067fc1835d86758c.js.map
2020-08-20T15:28:42.8398438Z  create mode 100644 component---node-modules-gatsby-theme-chronoblog-src-templates-tag-template-js-e5071c973a5ba8990e0d.js
2020-08-20T15:28:42.8398903Z  create mode 100644 component---node-modules-gatsby-theme-chronoblog-src-templates-tag-template-js-e5071c973a5ba8990e0d.js.map
2020-08-20T15:28:42.8399310Z  create mode 100644 component---src-pages-index-mdx-a7f6439e43f5ef2aaa64.js
2020-08-20T15:28:42.8399701Z  create mode 100644 component---src-pages-index-mdx-a7f6439e43f5ef2aaa64.js.map
2020-08-20T15:28:42.8400094Z  create mode 100644 component---src-pages-projects-mdx-136d092f0745607a06c0.js
2020-08-20T15:28:42.8400486Z  create mode 100644 component---src-pages-projects-mdx-136d092f0745607a06c0.js.map
2020-08-20T15:28:42.8400850Z  create mode 100644 favicon-32x32.png
2020-08-20T15:28:42.8401209Z  create mode 100644 framework-1a1efb3f5c798a012f4a.js
2020-08-20T15:28:42.8401571Z  create mode 100644 framework-1a1efb3f5c798a012f4a.js.map
2020-08-20T15:28:42.8401861Z  create mode 100644 icons/icon-144x144.png
2020-08-20T15:28:42.8402196Z  create mode 100644 icons/icon-192x192.png
2020-08-20T15:28:42.8402521Z  create mode 100644 icons/icon-256x256.png
2020-08-20T15:28:42.8402845Z  create mode 100644 icons/icon-384x384.png
2020-08-20T15:28:42.8403177Z  create mode 100644 icons/icon-48x48.png
2020-08-20T15:28:42.8404264Z  create mode 100644 icons/icon-512x512.png
2020-08-20T15:28:42.8404663Z  create mode 100644 icons/icon-72x72.png
2020-08-20T15:28:42.8404985Z  create mode 100644 icons/icon-96x96.png
2020-08-20T15:28:42.8405151Z  create mode 100644 index.html
2020-08-20T15:28:42.8405487Z  create mode 100644 links/link-to-chronoblog/index.html
2020-08-20T15:28:42.8405663Z  create mode 100644 logo_t.png
2020-08-20T15:28:42.8405827Z  create mode 100644 manifest.webmanifest
2020-08-20T15:28:42.8406164Z  create mode 100644 notes/introtohtml-curran/index.html
2020-08-20T15:28:42.8406538Z  create mode 100644 notes/kali-linux-wsl2-win-kex/index.html
2020-08-20T15:28:42.8406903Z  create mode 100644 notes/note-contactus/index.html
2020-08-20T15:28:42.8407231Z  create mode 100644 notes/versions-in-package-dotjson-file/index.html
2020-08-20T15:28:42.8407585Z  create mode 100644 page-data/404.html/page-data.json
2020-08-20T15:28:42.8407925Z  create mode 100644 page-data/404/page-data.json
2020-08-20T15:28:42.8408250Z  create mode 100644 page-data/app-data.json
2020-08-20T15:28:42.8408577Z  create mode 100644 page-data/index/page-data.json
2020-08-20T15:28:42.8408934Z  create mode 100644 page-data/links/link-to-chronoblog/page-data.json
2020-08-20T15:28:42.8409298Z  create mode 100644 page-data/notes/introtohtml-curran/page-data.json
2020-08-20T15:28:42.8409684Z  create mode 100644 page-data/notes/kali-linux-wsl2-win-kex/page-data.json
2020-08-20T15:28:42.8410075Z  create mode 100644 page-data/notes/note-contactus/page-data.json
2020-08-20T15:28:42.8410453Z  create mode 100644 page-data/notes/versions-in-package-dotjson-file/page-data.json
2020-08-20T15:28:42.8410802Z  create mode 100644 page-data/projects/page-data.json
2020-08-20T15:28:42.8411254Z  create mode 100644 page-data/sq/d/1961101537.json
2020-08-20T15:28:42.8411593Z  create mode 100644 page-data/sq/d/2542493696.json
2020-08-20T15:28:42.8411938Z  create mode 100644 page-data/tags/html/page-data.json
2020-08-20T15:28:42.8412371Z  create mode 100644 page-data/tags/json/page-data.json
2020-08-20T15:28:42.8412708Z  create mode 100644 page-data/tags/kali/page-data.json
2020-08-20T15:28:42.8413061Z  create mode 100644 page-data/tags/link/page-data.json
2020-08-20T15:28:42.8413363Z  create mode 100644 page-data/tags/linux/page-data.json
2020-08-20T15:28:42.8413720Z  create mode 100644 page-data/tags/nodejs/page-data.json
2020-08-20T15:28:42.8414063Z  create mode 100644 page-data/tags/note/page-data.json
2020-08-20T15:28:42.8414404Z  create mode 100644 page-data/tags/npm/page-data.json
2020-08-20T15:28:42.8414741Z  create mode 100644 page-data/tags/page-data.json
2020-08-20T15:28:42.8415106Z  create mode 100644 page-data/tags/project/page-data.json
2020-08-20T15:28:42.8415465Z  create mode 100644 page-data/tags/svg/page-data.json
2020-08-20T15:28:42.8415807Z  create mode 100644 page-data/tags/video/page-data.json
2020-08-20T15:28:42.8416172Z  create mode 100644 page-data/tags/wsl/page-data.json
2020-08-20T15:28:42.8416520Z  create mode 100644 polyfill-93bd3faeb9d183e9f37e.js
2020-08-20T15:28:42.8416865Z  create mode 100644 polyfill-93bd3faeb9d183e9f37e.js.map
2020-08-20T15:28:42.8417040Z  create mode 100644 projects/index.html
2020-08-20T15:28:42.8417216Z  create mode 100644 robots.txt
2020-08-20T15:28:42.8417380Z  create mode 100644 sitemap.xml
2020-08-20T15:28:42.8417764Z  create mode 100644 static/dfc05ab35a09883a08540902b1ab33b1/3470a/image-in-post.jpg
2020-08-20T15:28:42.8418162Z  create mode 100644 static/dfc05ab35a09883a08540902b1ab33b1/38ece/image-in-post.jpg
2020-08-20T15:28:42.8418580Z  create mode 100644 static/dfc05ab35a09883a08540902b1ab33b1/63a81/image-in-post.jpg
2020-08-20T15:28:42.8418978Z  create mode 100644 static/dfc05ab35a09883a08540902b1ab33b1/bd2b6/image-in-post.jpg
2020-08-20T15:28:42.8419335Z  create mode 100644 static/dfc05ab35a09883a08540902b1ab33b1/ceeba/image-in-post.jpg
2020-08-20T15:28:42.8419689Z  create mode 100644 styles-c6fefb7f482bcee5f133.js
2020-08-20T15:28:42.8420035Z  create mode 100644 styles-c6fefb7f482bcee5f133.js.map
2020-08-20T15:28:42.8420227Z  create mode 100644 styles.7ef24f4ebf4486cb8d4a.css
2020-08-20T15:28:42.8420396Z  create mode 100644 tags/html/index.html
2020-08-20T15:28:42.8420559Z  create mode 100644 tags/index.html
2020-08-20T15:28:42.8420722Z  create mode 100644 tags/json/index.html
2020-08-20T15:28:42.8420910Z  create mode 100644 tags/kali/index.html
2020-08-20T15:28:42.8421071Z  create mode 100644 tags/link/index.html
2020-08-20T15:28:42.8421230Z  create mode 100644 tags/linux/index.html
2020-08-20T15:28:42.8421411Z  create mode 100644 tags/nodejs/index.html
2020-08-20T15:28:42.8421577Z  create mode 100644 tags/note/index.html
2020-08-20T15:28:42.8421749Z  create mode 100644 tags/npm/index.html
2020-08-20T15:28:42.8421920Z  create mode 100644 tags/project/index.html
2020-08-20T15:28:42.8422083Z  create mode 100644 tags/svg/index.html
2020-08-20T15:28:42.8422208Z  create mode 100644 tags/video/index.html
2020-08-20T15:28:42.8422392Z  create mode 100644 tags/wsl/index.html
2020-08-20T15:28:42.8422756Z  create mode 100644 webpack-runtime-073fe899f37182d45c42.js
2020-08-20T15:28:42.8423213Z  create mode 100644 webpack-runtime-073fe899f37182d45c42.js.map
2020-08-20T15:28:42.8423402Z  create mode 100644 webpack.stats.json
2020-08-20T15:28:42.8424745Z [command]git push -f https://***@github.com/******/*********.git master:gh-pages
2020-08-20T15:28:49.5100339Z To https://github.com/******/*********.git
2020-08-20T15:28:49.5101931Z  + ddd914b...100c7a9 master -> gh-pages (forced update)
2020-08-20T15:28:49.5223381Z Finished deploying your site.
2020-08-20T15:28:49.5224569Z Enjoy! ✨

"compact" feed type

At the moment, there is only one type of feed - a feed with cards. Make another type - compact. Feed with only dates, titles, and tags.

Trouble updating banner.png

Hi there,

I'm new to chronoblog and I love the work you're doing. Thank you for making such a great project available to us all!

I'm experiencing some difficulty updating my banner.png file. I am able to get the file to update locally, but the original starter banner.png appears when I try to link to my website on LinkedIn, Slack, etc. Can you help me determine if this is user error?

More information:

I have the file located at static/banner.png, and if I navigate to <my_url>/banner.png in my browser, I can see the updated image. But when I try to link to it, I see this:

image

This is the case across browsers, across apps, across devices.

I have checked to confirm that my latest deployment has the most recent build and confirmed that banner.png in my deployed codebase is the same file as I have locally. My website is hosted on GitHub pages if that makes any difference, but I have also tested this and found the same results with a dummy host through surge.sh.

Any advice on where I can poke around to solve this issue? Any other helpful info I can provide?

Embedding github gists?

I'm trying to embed a GitHub gist into a page, and I can't seem to get it to render. Tried using the script tag that it gives me and it's not working out (and the iframe isn't exactly pretty, but it works). I tried using the gatsby-remark-embed-gist plugin in gatsby and I managed to get all the errors to go away, but....it still doesn't render. Probably because it's not using remark for markdown parsing of the pages, right?

Here's my gatsby-config.js file:

module.exports = {
  siteMetadata: {
    siteTitle: 'macintacos',
    siteDescription: 'this is a place where I occasionally write stuff',
    siteImage: '/banner.png', // main image of the site for metadata
    siteUrl: 'https://macintacos.github.io/',
    pathPrefix: '/',
    siteLanguage: 'en',
    ogLanguage: `en_US`,
    author: 'Julian Torres', // for example - 'Ivan Ganev'
    authorDescription: 'this is a place where I occasionally write stuff', // short text about the author
    avatar: '/avatar.jpg',
    twitterSite: 'https://twitter.com/macintacos', // website account on twitter
    twitterCreator: '', // creator account on twitter
    social: [
      {
        icon: `twitter`,
        url: `https://twitter.com/macintacos`
      },
      {
        icon: `github`,
        url: `https://github.com/macintacos`
      }
    ]
  },
  plugins: [
    {
      resolve: 'gatsby-theme-chronoblog',
      options: {
        uiText: {
          // ui text fot translate
          feedShowMoreButton: 'show more',
          feedSearchPlaceholder: 'search',
          cardReadMoreButton: 'read more →',
          allTagsButton: 'all tags'
        },
        feedItems: {
          // global settings for feed items
          limit: 50,
          yearSeparator: false,
          yearSeparatorSkipFirst: true,
          contentTypes: {
            links: {
              beforeTitle: '🔗 '
            }
          }
        },
        feedSearch: {
          symbol: '🔍'
        }
      }
    },
    {
      resolve: `gatsby-plugin-manifest`,
      options: {
        name: `Chronoblog Gatsby Theme`,
        short_name: `Chronoblog`,
        start_url: `/`,
        background_color: `#fff`,
        theme_color: `#3a5f7d`,
        display: `standalone`,
        icon: `src/assets/favicon.png`
      }
    },
    {
      resolve: `gatsby-plugin-sitemap`
    },
    {
      resolve: `gatsby-transformer-remark`,
      options: {
        plugins: [
          {
            resolve: 'gatsby-remark-embed-gist',
            options: {
              // Optional:

              // the github handler whose gists are to be accessed
              username: 'weirdpattern',

              // a flag indicating whether the github default gist css should be included or not
              // default: true
              includeDefaultCss: true
            }
          }
        ]
      }
    }
  ]
};

Any help would be greatly appreciated! Thanks!

Creating new site banner

Hi all,

Ivan, I really like chronoblog what a nice theme!

I have been trying to do something simple on the surface, to create a site banner very very similar to AuthorBanner, with 2 columns, with the avatar image, having different background colours.

Tried to create a new banner, fmBlogBanner by writing a new component alongside author-banner.js, and inserted it in index.mdx with <fmBlogBanner /> statement, added import fmBlogBanner from './fmBlogBanner'; in root.js, that does not render anything at all.

Am I missing something or is there and easier way to create a column box in an MDX document?

Thanks in advance,

François

Change search to select list and eliminate tag cloud

As I blog about different things I noticed my tag cloud is taking up way too much space on the page. I'd like to recommend eliminating the tag cloud and changing the search to a drop down / select list that has all the tags in there for the user to filter by ordered by count descending.

What do you think?

Make an easy way to access post data from post-footer.mdx

I'm using Disqus to add comments on my blog posts, but I need a unique identifier that allows me to know to which post a comment belongs.

A simple way to achieve this is to use the post's title, but I'd have to add a PostComments component to each blog post with its title.

What I'd like to do is to use some kind of variable referencing the post's title inside the post footer like this:

// post-comments.mdx

import { DiscussionEmbed } from "disqus-react"

export const PostComments = (props) => {
  	const disqusConfig = {
  		shortname: 'your-short-name',
  		config: { 
			identifier: props.title, 
	  		title: props.title,
  		},
  	}
  	return (
		<DiscussionEmbed {...disqusConfig} />
	);
}
// post-footer.mdx

import { PostComments } from './post-comments.mdx';

<PostComments title={post.title} />
<AuthorBanner />

I want that post.title variable to be a reference on the current post title.

Is there a simple way to achieve this?

Global Tag Management

Create an opportunity for global site tag management. In its raw form, it may look something like this (in gatsby-config.js):

gatsby-config.js in gatsby-theme-chronoblog plugin options

tagsManagement: [{
  tagName: "post", // main name of the tag
  replacement: ["posts", "blog-posts"], // all tags matching those listed in this array will be replaced with the one specified in tagName
  hide: true, // if true, this tag will not be displayed to site visitors, but technically it will continue to exist
  textColor: "white", // any css color for text in a tag
  backgroundColor: "#a7d0e0" // any css color for tag background
}]

Since this is an array with objects, you can list any number of tags here (including if such tags do not yet exist on the site). The most important option is the tagName.

This option allows developers to give tags a style (see this: #26)

It will also allow developers to hide any tags from view, but at the same time, technically, they will continue to exist, so that developers can use these hidden tags to, say, filter content. This issue was mentioned here: #32

Author banner component for post footer

A component that takes information from gatsby-config, about the author’s name, social networks, his avatar, and background img.

The component can be placed anywhere on the site, but the most sense is to place it in the blog post footer.

Local copy of theme with updated plugins?

Hello.

I started playing around with 'Gatsby Starter Chronoblog' since yesterday. Today, I noticed that this theme is using outdated versions of various dependencies. While, it's understandable that the developer can't keep updating this repository everytime a dependency is updated, but, since I would be working on it daily for at least a few weeks now, maybe, I can keep a local copy of the theme up-to-date on dependencies.

So, my question is, how do I do it? It won't make sense to update the package.json in the theme folder from node_modules of my project. Even if I manually add the dependencies in the package.json of my project, how can I make sure the theme would use the latest versions and not download the ones mentioned in its package.json every time I run npm install in terminal?

-webkit-appearance is not supported by theme-ui sx property

The code in feed-search.js (the reference to -webkit-appearance):

       <Box sx={{ flexGrow: 1 }}>
          <input
            type="search"
            aria-label="search"
            sx={{
              '-webkit-appearance': 'textfield',
              width: ['100%'],
              ...

Is causing theme-ui to throw an error:

Using kebab-case for css properties in objects is not supported. Did you mean WebkitAppearance?

Should that be pulled out to a local style? Global style? Not sure the best approach here.

Chronoblog requires at least one post with a "cover" in frontmatter

Sorry about that, posted this before I actually wanted to.

While editing the theme, I removed the last example post in the posts folder and got the following errors:


 ERROR #85922  GRAPHQL

There was an error in your GraphQL query:

Field "cover" must not have a selection since type "String" has no subfields.

This can happen if you e.g. accidentally added { } to the field "cover". If you didn't expect "cover" to be of type "String" make sure that your input source and/or plugin is correct.

File: node_modules/gatsby-theme-chronoblog/src/hooks/use-feed.js:61:19


 ERROR #85922  GRAPHQL

There was an error in your GraphQL query:

Field "cover" must not have a selection since type "String" has no subfields.

This can happen if you e.g. accidentally added { } to the field "cover". If you didn't expect "cover" to be of type "String" make sure that your input source and/or plugin is correct.

File: node_modules/gatsby-theme-chronoblog/src/templates/link.js:17:15


 ERROR #85922  GRAPHQL

There was an error in your GraphQL query:

Field "cover" must not have a selection since type "String" has no subfields.

This can happen if you e.g. accidentally added { } to the field "cover". If you didn't expect "cover" to be of type "String" make sure that your input source and/or plugin is correct.

File: node_modules/gatsby-theme-chronoblog/src/templates/note.js:16:15


 ERROR #85922  GRAPHQL

There was an error in your GraphQL query:

Field "cover" must not have a selection since type "String" has no subfields.

This can happen if you e.g. accidentally added { } to the field "cover". If you didn't expect "cover" to be of type "String" make sure that your input source and/or plugin is correct.

File: node_modules/gatsby-theme-chronoblog/src/templates/post.js:17:15

failed extract queries from components - 0.330s

Upon further inspection, it appears that you need at least one post with a cover image, otherwise you get that error. If you supply a post with a cover image, you don't get the error. Took me forever to figure it out, because the errors weren't exactly the most helpful thing in the world.

Is the cover field required in frontmatter? I had thought that it wasn't.

Component _____ was not imported, exported, or provided by MDXProvider as global scope

First of all, thanks for creating this theme, @ganevru. It looks great!

Unfortunately, I couldn't make it work on my machine yet – it seems to fail silently.

The console output is fine:

npm start

> [email protected] start /Users/[REDACTED]/gatsby-theme-chronoblog/starters/chronoblog
> gatsby develop

Debugger listening on ws://127.0.0.1:9229/4669eeb3-9aea-4c5c-9201-aa6add10631b
For help, see: https://nodejs.org/en/docs/inspector
success open and validate gatsby-configs - 0.098s
success load plugins - 1.405s
success onPreInit - 0.054s
success initialize cache - 0.008s
success copy gatsby files - 0.121s
success onPreBootstrap - 0.018s
success createSchemaCustomization - 0.009s
success Checking for changed pages - 0.003s
success source and transform nodes - 0.344s
success building schema - 0.432s
success createPages - 0.094s
success Checking for changed pages - 0.002s
success createPagesStatefully - 0.324s
success update schema - 0.032s
success write out redirect data - 0.003s
success Build manifest and related icons - 0.177s
success onPostBootstrap - 0.190s
info bootstrap finished - 7.115s
success onPreExtractQueries - 0.004s
success extract queries from components - 0.494s
success write out requires - 0.062s
success run static queries - 0.128s - 1/1 7.82/s
success run page queries - 0.038s - 14/14 369.09/s
⠀
You can now view chronoblog in the browser.
⠀
  http://localhost:8000/
⠀
View GraphiQL, an in-browser IDE, to explore your site's data and schema
⠀
  http://localhost:8000/___graphql
⠀
Note that the development build is not optimized.
To create a production build, use gatsby build
⠀
success Building development bundle - 4.990s

But when I open the browser, here is how it looks:

Screen Shot 2020-08-12 at 21 24 23

There are several warnings in the browser console, all of them related to MDXProvider Components:

[Warning] Component MenuMain was not imported, exported, or provided by MDXProvider as global scope (commons.js, line 118016)
[Warning] Component MenuBlock was not imported, exported, or provided by MDXProvider as global scope (commons.js, line 118016)
[Warning] Component Link was not imported, exported, or provided by MDXProvider as global scope (commons.js, line 118016, x2)
[Warning] Component MenuBlock was not imported, exported, or provided by MDXProvider as global scope (commons.js, line 118016)
[Warning] Component SocialLinks was not imported, exported, or provided by MDXProvider as global scope (commons.js, line 118016)
[Warning] Component LightDarkSwitchButton was not imported, exported, or provided by MDXProvider as global scope (commons.js, line 118016)
[Warning] Component AuthorBanner was not imported, exported, or provided by MDXProvider as global scope (commons.js, line 118209)
[Warning] Component FeedSearch was not imported, exported, or provided by MDXProvider as global scope (commons.js, line 118209)
[Warning] Component Tags was not imported, exported, or provided by MDXProvider as global scope (commons.js, line 118209)
[Warning] Component FeedItems was not imported, exported, or provided by MDXProvider as global scope (commons.js, line 118209)
[Warning] Component SocialLinks was not imported, exported, or provided by MDXProvider as global scope (commons.js, line 117873)

I am not sure, but maybe my issue is somehow related to #50?

Also, I should add that I do not have yarn installed (only npm).

I would really appreciate any pointers you could share with me. Thank you in advance!


Steps to reproduce:

# either
git clone https://github.com/Chronoblog/gatsby-theme-chronoblog/ 
cd gatsby-theme-chronoblog/starters/chronoblog
npm install
npm start

# or
gatsby new chronoblog-site https://github.com/Chronoblog/gatsby-starter-chronoblog
cd chronoblog-site
gatsby develop

Environment:

gatsby info

  System:
    OS: macOS 10.15.6
    CPU: [REDACTED]
    Shell: 5.7.1 - /bin/zsh
  Binaries:
    Node: 14.4.0 - ~/.nvm/versions/node/v14.4.0/bin/node
    npm: 6.14.7 - ~/.nvm/versions/node/v14.4.0/bin/npm
  Languages:
    Python: 3.8.2 - /Users/[REDACTED]/.pyenv/shims/python
  Browsers:
    Safari: 13.1.2
  npmPackages:
    gatsby: ^2.23.3 => 2.24.47
    gatsby-plugin-google-analytics: ^2.1.23 => 2.3.13
    gatsby-plugin-manifest: ^2.4.11 => 2.4.23
    gatsby-plugin-sitemap: ^2.2.21 => 2.4.11
    gatsby-theme-chronoblog: ^0.23.0 => 0.23.0
  npmGlobalPackages:
    gatsby-cli: 2.12.87

Ability to select multiple tags at a time?

Would it be possible to edit the tag filters on the home page so that you could select as many tags as you want? Therefore if I selected a few tags, it would filter the results to only show anything that has any of the selected tags?

I am imagining this to work as so...

When you click a tag, it changes the background color of the tag button like it currently does. But if you click another tag afterward, it would select that tag as well and obviously change the background color of it too. Instead of changing to that tag like it currently does.

Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.