Too busy to start from scratch, but excited to start learning how to use an API-based CMS? Get a blog up and running in minutes. Modify and adapt it to your liking, it's all yours!

Setting up a Prismic project from a sample

The first step will be to install the 'prismic-cli' package. Launch a terminal instance, from where you will run the command to globally install the package. 

npm install -g prismic-cli

Once it's been installed run the following command. This will create a new Prismic content repository, set up the custom types, and install the project code:

prismic theme --theme-url

Navigate to the folder you have just created, and open prismic-configuration.js
Confirm that the name you have chosen for your content repository has been set up as the API endpoint that the web application will use to fetch the content you create in Prismic.

Write some content

Visit the repository you have just created in your Prismic Dashboard, select your master language, and create some content!

Go to Content and hit New, choose the Blog's home type, and fill it with your own content. Save and publish!

Now, write a few blog posts. Make sure to fill the mandatory UID field that is used for your post's URL. Save and publish!

Run the blog

Now that we have some content to show off, let's check back on the code that will run your blog. Open your project folder once more in the terminal and run the development command.

npm run dev

This will launch a local development server at http://localhost:3000.

Deploys made easy with Vercel

Sign up to Vercel and follow the deployment documentation to quickly deploy your project.

Handle previews

Follow this link to learn how to handle Previews in NextJS.

Customize to your liking

You should easily find what to modify in the code to customize the website: just edit the stylesheets and the templates to fit your design!

Just curious about the code?

If you aren't interested in recreating this project and would just like to look at the code then you can download the project here.

Did this answer your question?