Start Development Server
npm run dev
Local Env Variables
Inside the .env
# For Contentful
TOPOS_CONTENTFUL_SPACE_ID=""
TOPOS_CONTENTFUL_ACCESS_TOKEN=""
# Google Analytics
TOPOS_GA_TRACKING_ID="A-TRACKING_ID"
# from contentful website settings
WEBSITE_SETTING_ENTRY_ID=""
Website Settings
Website Setting
is a model inside Contentful. It allows you to configure website title, home page, the main navigation and the footer navigation. You must set a Website Setting
entry ID as WEBSITE_SETTING_ENTRY_ID
in the env.
This Gatsby application generates pages and posts from contents from Contentful. Pages and posts are assembled with sections
and blocks
and other smaller elements such as media assets
and links.
It allows content writers to freely create and edit pages with minimum help from developers This type of block-based approach is used in conventional page builders such as Webflow, Elementor and Gutenberg editor.
The website is made of
- pages
- Sections in vertical scroll (default)
- Blocks
- Sections in horizontal scroll
- Block:Slide
- Slide:Card
- Block:Slide
- Sections in vertical scroll (default)
- posts
- Post blocks
The diagram shows how they are related and how styles are inherited.
- Form:Field
- Slide:Card
Every entry has a name that has no functional purpose but solely for internal reference, meaning you can enter whatever name and it will not affect the rendering.
For example, in the screenshot below, you can see 2 sections that are inside "Home" page. Without these names, users will not be able to tell what these sections are for. You might need a naming rule in the future that suits your organization's needs.