All Projects → renestalder → Nuxt Netlify Cms Starter Template

renestalder / Nuxt Netlify Cms Starter Template

Licence: other
⚡ Build server-less, static websites with Vue.js and Netlify CMS.

Projects that are alternatives of or similar to Nuxt Netlify Cms Starter Template

Nitro Demo
nuxt nitro preview
Stars: ✭ 100 (-46.24%)
Mutual labels:  serverless, netlify
Jamstack.org
The official Jamstack site
Stars: ✭ 2,108 (+1033.33%)
Mutual labels:  serverless, static-site
Nuxt Firebase Pwa
Run the Nuxt.js application (SPA * SSR * PWA) on Firebase.
Stars: ✭ 103 (-44.62%)
Mutual labels:  serverless, nuxtjs
Vuecms
Static blogging for developers using NuxtJS + VueJS
Stars: ✭ 85 (-54.3%)
Mutual labels:  static-site, nuxtjs
Actions Netlify
🚀 Netlify deploy from GitHub Actions
Stars: ✭ 138 (-25.81%)
Mutual labels:  netlify, static-site
Rw
Ryan Wiemer's Digital Portfolio
Stars: ✭ 87 (-53.23%)
Mutual labels:  netlify, static-site
Jamstack Comments Engine
An example of a comments engine you could add to any JAMstack site hosted on Netlify
Stars: ✭ 112 (-39.78%)
Mutual labels:  netlify, static-site
Ecommerce Netlify
🛍 A JAMstack Ecommerce Site built with Nuxt and Netlify Functions
Stars: ✭ 1,147 (+516.67%)
Mutual labels:  serverless, netlify
Eleventy Starter Boilerplate
🚀 Eleventy Starter is production-ready with SEO-friendly for quickly starting a blog. ⚡ Built with Eleventy, ESLint, Prettier, Webpack, PostCSS, Tailwind CSS and Netlify CMS (optional).
Stars: ✭ 139 (-25.27%)
Mutual labels:  netlify, static-site
Next Js Blog Boilerplate
🚀 Nextjs Blog Boilerplate is starter code for your blog based on Next framework. ⚡️ Made with Nextjs, TypeScript, ESLint, Prettier, PostCSS, Tailwind CSS.
Stars: ✭ 134 (-27.96%)
Mutual labels:  netlify, static-site
Netlify Cms React Starter
A starter project for creating lightning-fast, offline-first websites with Netlify-CMS and React
Stars: ✭ 78 (-58.06%)
Mutual labels:  netlify, static-site
Cartoonify
Deploy and scale serverless machine learning app - in 4 steps.
Stars: ✭ 157 (-15.59%)
Mutual labels:  serverless, netlify
Cstate
🔥 Open source static (serverless) status page. Uses hyperfast Go & Hugo, minimal HTML/CSS/JS, customizable, outstanding browser support (IE8+), preloaded CMS, read-only API, badges & more.
Stars: ✭ 1,186 (+537.63%)
Mutual labels:  serverless, netlify
Nuxt Netlify
Dynamically generate `_headers` and `_redirects` files for Netlify in your Nuxt.js projects
Stars: ✭ 97 (-47.85%)
Mutual labels:  netlify, nuxtjs
Gp Vue Boilerplate
Grabarz & Partner Boilerplate is a professional front-end template for building fast, robust, and adaptable web apps or sites with vuejs.
Stars: ✭ 71 (-61.83%)
Mutual labels:  static-site, nuxtjs
Zip It And Ship It
Intelligently prepare Node.js Lambda functions for deployment
Stars: ✭ 104 (-44.09%)
Mutual labels:  serverless, netlify
Blog 2.0
🗣 A personal blog by Irfan Maulana built with Nuxt.js
Stars: ✭ 29 (-84.41%)
Mutual labels:  static-site, nuxtjs
Nuxt Netlify Functions Example
Nuxt.js example for running Netlify functions locally in a dev environment and as a generated static site deployed to Netlify
Stars: ✭ 59 (-68.28%)
Mutual labels:  netlify, nuxtjs
Build
Netlify Build runs the build command, Build Plugins and bundles Netlify Functions.
Stars: ✭ 135 (-27.42%)
Mutual labels:  serverless, netlify
Scar
Deploy static websites in seconds - with HTTPS, a global CDN, and custom domains.
Stars: ✭ 1,715 (+822.04%)
Mutual labels:  serverless, static-site

Nuxt Netlify Logo

Nuxt.js + Netlify CMS starter template

Build Status

Build server-less, static websites with Vue.js and Netlify CMS.

This is a starter template to build static websites with Vue.js and Netlify CMS, based on Nuxt v1.x. What it covers:

  • Setup via Vue CLI 🏗
    Easily setup a nearly blank Nuxt.js project.
    Currently not optimized for Vue CLI v3.0.

  • Content editing via Netlify CMS ✏️
    Netlify CMS is a client-side CMS connecting directly to your git repository to edit markdown files.
    Also supports other file formats, but this template only works with the default, frontmatter markdown format.

  • Show content in Vue.js via Nuxtent/Nuxtdown module 🔍️
    The Nuxtdown module (fixed fork from Nuxtent) allows querying the content and show in the UI.

  • Static-site generation via Nuxt.js
    Nuxt.js, the famous framework to build universal Vue.js applications, generates a static-site.


Prerequisites

  • Make sure to have node 8.0+ and npm 5.0+ installed
  • You know what Netlify CMS and Nuxt.js is.

Setup

  1. Install via vue-cli: If you use newer version of Vue CLI, you probably will have to install an additional package for vue init to work, as this template is not yet optimized for the newer Vue CLI.
$ vue init renestalder/nuxt-netlify-cms-starter-template my-project  
$ cd my-project                  
# install dependencies
$ npm install # Or yarn install
  1. Push the project to your git repository: To be able to edit content at all, you need to push your project to a git repository. The CMS always connects directly to the git repository and edits the content on the branch set in static/admin/config.yml.

Nice, you did the the important steps to get started. Now configure all the components correctly for your infrastructure.

Usage

Configuration

  • CMS authentication & models Configure where your repository is hosted and how users of the CMS will login to edit content. Also define files and fields for your content.
    File: static/admin/config.yml
    Documentation: Official Netlify CMS documentation -> Configuration
  • Routing & querying
    Out of the box, the UI doesn't have a clue where your content is stored and which dynamic routes belong to which content. Nuxt.js can only map static pages by default. Dynamic routes like blog posts with different file names are not detected. The configuration for this happens by Nuxtdown.
    File: nuxtdown.config.js
    Documentation: Nuxtdown Readme
  • General website information
    General information like HTML <head> tags and page titles are set via Nuxt.js. Don't bother with routing configuration for Nuxt.js, this is solved by Nuxtdown.
    File: nuxt.config.js
    Documentation: Official Nuxt.js Documentation -> Configuration

Development

During development, run the client-side SPA version of your application. Use the dev or serve task, whatever fits you better. They do the same.

# serve with hot reloading at localhost:3000
$ npm run dev

Go to http://localhost:3000

Production

For production, generate the static-site.

# generate a static project
$ npm run generate

Manual deployment via FTP

To make it work on your production server, the build needs to know the final url/domain where the site will run. For this, you can edit the npm generate:manual task in the package.json and set your production URL. This is useful when you manually deploy your website:

# generate a static project that will be hosted on the URL given in package.json
$ npm run generate:manual

Deploy to Netlify

The folder of your generated project will contain a netlify-example.toml file you can rename to netlify.toml to get started with Netlify deployment. It automatically sets the BASE_URL based on your Netlify configuration and the type of deployment (Production deployment, branch deployment, preview deployment). So no need to set the production URL in the package.json.

Deploy with other CI solutions

If you use other CI solutions, you always have to make sure, that the environment variable BASE_URL is set to the URL where the website will run. Tools like GitLab allow you to set environment variables in the settings of the project and make it easy to use what ever way you want to deploy your project.

Known issues

  • Doesn't work with Nuxt v2.3.0 and higher: There are some changes in Nuxt v2.3.0 that are not compatible with Nuxtdown/Nuxtent. That's why the version is currently fixed at v2.2.x.

Contribution

If you're interested in contributing to the project, see CONTRIBUTING.md

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].