Skip to content

A customizable Next.js and Tailwind blog starter with visual editing and Git Content Source. Designed by the Bejamas agency.

License

Notifications You must be signed in to change notification settings

netlify-templates/nextjs-blog-theme

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Netlify Next.js Blog Template designed by Bejamas

Deploy to Netlify Button

A customizable blog starter using:

Preview of blog theme. Author named Jay Doe and blog's name is "Next.js Blog Theme" with one blog post

Take a gander at the demo.

Click here to watch the template walkthrough!

Table of Contents:

Getting Started


You can get started with this project in two ways: locally or using the setup wizard.

Setting Up Locally

If you're doing it locally, start with clicking the use this template button on GitHub. This will create a new repository with this template's files on your GitHub account. Once that is done, clone your new repository and navigate to it in your terminal.

From there, you can install the project's dependencies by running:

yarn install

Finally, you can run your project locally with:

yarn run dev

Open your browser and visit http://localhost:3000, your project should be running!

Using the Setup Wizard

Preview of Setup Wizard showing the initial page of a setup form

Through the setup wizard, you can create your blog in a few clicks and deploy to Netlify.

Configuring the blog

The config is based on environment variables to make it easy to integrate with any Jamstack platform, like Netlify.

Here are the variables you can edit:

Variable Description Options
BLOG_NAME the name of your blog, displayed below the avatar
BLOG_TITLE the main header (h1) on the home page
BLOG_FOOTER_TEXT the text in the footer
BLOG_THEME the theme to pass to Tailwind default
BLOG_FONT_HEADINGS the font-family for all HTML headings, from h1 to h6 sans-serif (default), serif, monospace
BLOG_FONT_PARAGRAPHS the font-family for all other HTML elements sans-serif (default), serif, monospace

All of the env variables can be configured through the Wizard or through setting the project's environment variables. You can do this in your Netlify dashaboard (Site settings/Build & deploy/Environment/Environment variables).

bejamas_env-vars_short.mp4

[alt: video walkthrough of editing env vars]

If setting an environment variable isn't your cup of tea, the defaults can be changed in utils/global-data.js. You can also remove the variables and hard code blog information where these variables are used in the code base.

Adding new posts

All posts are stored in /posts directory. To make a new post, create a new file with the .mdx extension.

Since the posts are written in MDX format you can pass props and components. That means you can use React components inside your posts to make them more interactive. Learn more about how to do so in the MDX docs on content.

nextjs-bejamas-blog_new-post.mp4

[alt: video walkthrough of adding a new blog post]

Netlify Visual Editor

This template is configured to work with visual editing and Git Content Source.

Develop with Netlify Visual Editor Locally

The typical development process is to begin by working locally. Clone this repository, then run npm install in its root directory.

Run the Next.js development server:

cd nextjs-blog-theme
npm run dev

Install the Netlify Visual Editor CLI. Then open a new terminal window in the same project directory and run the Netlify visual editor dev server:

npm install -g @stackbit/cli
stackbit dev

This outputs your own Netlify visual editor URL. Open this, register, or sign in, and you will be directed to Netlify's visual editor for your new project.

Next.js Dev + Visual Editor Dev

Next Steps

Here are a few suggestions on what to do next if you're new to Netlify Visual Editor:

Testing

Included Default Testing

We’ve included some tooling that helps us maintain these templates. This template currently uses:

  • Renovate - to regularly update our dependencies

If your team is not interested in this tooling, you can remove them with ease!

Removing Renovate

In order to keep our project up-to-date with dependencies we use a tool called Renovate. If you’re not interested in this tooling, delete the renovate.json file and commit that onto your main branch.

Support

If you get stuck along the way, get help in our support forums.