Skip to content

marcomelilli/gatsby-airtable-advanced-starter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

2a715b5 Â· Feb 28, 2024

History

25 Commits
Jul 8, 2019
Jul 8, 2019
Jul 17, 2019
Jul 8, 2019
Jul 4, 2019
Jul 4, 2019
Jul 4, 2019
Jul 4, 2019
Jul 4, 2019
Jul 4, 2019
Jul 4, 2019
Feb 28, 2024
Jul 8, 2019
Jul 8, 2019
Jul 4, 2019
Jul 4, 2019
Jul 4, 2019
Jul 4, 2019
Jul 4, 2019

Repository files navigation

Logo

Gatsby Airtable Advanced Starter

This is a blog starter skeleton for Gatsby v2 using Airtable as source.

This project aims to provide a minimal base for building advanced GatsbyJS powered blog, without UI limitations.

NOTE: This project is based on Gatsby Advanced Starter, thanks Vagr9K for the inspiration.

Demo

These are the airtable bases used to generate posts and authors:

airtable screenshot 👉 Navigate the view Blog

airtable screenshot 👉 Navigate the view Authors

Getting Started

Fork the project or clone it:

git clone https://github.com/marcomelilli/gatsby-airtable-advanced-starter YourProjectName # Clone the project
cd YourProjectname
rm -rf .git # So you can have your own changes stored in VCS.
npm install # or yarn install
gatsby develop 

create files .env.development and .env.production to set Airtable config:

AIRTABLE_API_KEY=XXXXXXXXXXX
AIRTABLE_BASE=XXXXXXXXXXXX
AIRTABLE_TABLE_NAME=Blog
AIRTABLE_TABLE_NAME_LINKED=Authors

NOTE: remember to not commit these files in your repository for security reason.

Now you are ready to start editing the data/SiteConfig.js.

module.exports = {
  siteTitle: "Gastsby Airtable Advanced Starter", // Site title.
  siteTitleShort: "Gatsby Airtable", // Short site title for homescreen (PWA). Preferably should be under 12 characters to prevent truncation.
  siteTitleAlt: "Starter Blog with Gatsby and Airtable", // Alternative site title for SEO.
  siteLogo: "/logos/logo-1024.png", // Logo used for SEO and manifest.
  siteUrl: "https://gatsby-airtable-advanced-starter.marcomelilli.com", // Domain of your website without pathPrefix.
  pathPrefix: "/gatsby-airtable-advanced-starter", // Prefixes all links. For cases when deployed to example.github.io/gatsby-airtable-advanced-starter/ 
  siteDescription: "A GatsbyJS stater blog with Airtable.", // Website description used for RSS feeds/meta description tag.
  siteRss: "/rss.xml", // Path to the RSS file.
  siteFBAppID: "1XXXXXXXXXXX9", // FB Application ID for using app insights
  googleAnalyticsID: "MM-XXXXXXXX-1", // GA tracking ID.
  disqusShortname: "gatsby-airtable-advanced-starter", // Disqus shortname.
  postDefaultCategoryID: "Tech", // Default category for posts.
  dateFormat: "DD/MM/YYYY", // Date format for display.
  ],
  copyright: "Copyright © 2019", // Copyright string for the footer of the website and RSS feed.
  themeColor: "#c62828", // Used for setting manifest and progress theme colors.
  backgroundColor: "#e0e0e0" // Used for setting manifest background color.
};

Features

  • Gatsby v2 support
  • Posts in Markdown
    • Code syntax highlighting
    • Embed YouTube videos
    • Embed Tweets
  • Tags
    • Separate page for posts under each tag
  • Categories
    • Separate page for posts under each category
  • Disqus support
  • Google Analytics support
  • Social features
    • Twitter tweet button
    • Facebook, Reddit, LinkedIn, Telegram share/share count
  • SEO
    • Sitemap generation
    • robots.txt
    • ...
  • RSS feeds
  • Offline support
  • Web App Manifest support
  • /static/ and content folders are available to use with gatsby-image out of the box
  • Netlify deploy configuration
  • And More!

WARNING: Make sure to edit static/robots.txt to include your domain for the sitemap!

Contributing

If you want to contribute to this starter, consider:

  • Creating new features and pull requests
  • Improve UI
  • Improve the documentation

All contributions are welcome!