├── .gitignore ├── netlify.toml ├── src ├── favicon.png ├── data │ ├── Hero.yml │ ├── Contact.yml │ ├── SocialMedia.yml │ ├── Portfolio.yml │ └── About.yml ├── assets │ ├── images │ │ └── gridsome.png │ └── css │ │ └── style.sass ├── layouts │ └── Default.vue ├── main.js ├── pages │ └── Index.vue ├── components │ ├── Footer.vue │ ├── About.vue │ ├── Header.vue │ ├── Hero.vue │ ├── Blog.vue │ ├── Portfolio.vue │ └── Contact.vue └── templates │ └── BlogPost.vue ├── blog ├── 2018-11-10-poor-sick-man.md ├── 2016-09-14-god-zilla.md ├── 2018-11-10-wrath-of-the-dragon-god.md └── 2017-08-14-justice-league.md ├── static ├── images │ ├── galina-n-200668-unsplash.jpg │ ├── malte-wingen-381988-unsplash.jpg │ ├── mitchell-griest-687949-unsplash.jpg │ ├── ruslan-bardash-351288-unsplash.jpg │ ├── Behance.svg │ ├── Twitter.svg │ ├── Instagram.svg │ ├── RSS.svg │ └── GitHub.svg └── admin │ ├── index.html │ └── config.yml ├── package.json ├── gridsome.config.js └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | *.log 2 | .cache 3 | src/.temp 4 | node_modules 5 | dist 6 | -------------------------------------------------------------------------------- /netlify.toml: -------------------------------------------------------------------------------- 1 | [build] 2 | publish = "dist" 3 | command = "gridsome build" -------------------------------------------------------------------------------- /src/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mittalyashu/gridsome-starter-netlifycms/HEAD/src/favicon.png -------------------------------------------------------------------------------- /src/data/Hero.yml: -------------------------------------------------------------------------------- 1 | title: Gridsome Starter NetlifyCMS 2 | description: I think you will love this starter kit. 3 | -------------------------------------------------------------------------------- /src/data/Contact.yml: -------------------------------------------------------------------------------- 1 | title: Contact 2 | description: You can catch me on social media or drop a message by filling the form. 3 | -------------------------------------------------------------------------------- /src/assets/images/gridsome.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mittalyashu/gridsome-starter-netlifycms/HEAD/src/assets/images/gridsome.png -------------------------------------------------------------------------------- /src/layouts/Default.vue: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /blog/2018-11-10-poor-sick-man.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Poor Sick man 3 | date: 2018-11-10 20:08:08 -0700 4 | slug: poor-sick-man 5 | --- 6 | 7 | Just simple second. -------------------------------------------------------------------------------- /static/images/galina-n-200668-unsplash.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mittalyashu/gridsome-starter-netlifycms/HEAD/static/images/galina-n-200668-unsplash.jpg -------------------------------------------------------------------------------- /static/images/malte-wingen-381988-unsplash.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mittalyashu/gridsome-starter-netlifycms/HEAD/static/images/malte-wingen-381988-unsplash.jpg -------------------------------------------------------------------------------- /static/images/mitchell-griest-687949-unsplash.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mittalyashu/gridsome-starter-netlifycms/HEAD/static/images/mitchell-griest-687949-unsplash.jpg -------------------------------------------------------------------------------- /static/images/ruslan-bardash-351288-unsplash.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mittalyashu/gridsome-starter-netlifycms/HEAD/static/images/ruslan-bardash-351288-unsplash.jpg -------------------------------------------------------------------------------- /blog/2016-09-14-god-zilla.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: God zilla 3 | date: 2016-09-14T15:34:11.331Z 4 | slug: god-zilla 5 | --- 6 | The god zilla is a word and that's all I know. 7 | -------------------------------------------------------------------------------- /src/main.js: -------------------------------------------------------------------------------- 1 | import DefaultLayout from '~/layouts/Default.vue' 2 | require('~/assets/css/style.sass') 3 | 4 | export default function (Vue) { 5 | Vue.component('Layout', DefaultLayout) 6 | } -------------------------------------------------------------------------------- /src/data/SocialMedia.yml: -------------------------------------------------------------------------------- 1 | title: Social Media Icons 2 | items: 3 | - name: Twitter 4 | url: 'https://example.com' 5 | - name: RSS 6 | url: 'https://example.com' 7 | - name: Behance 8 | url: 'https://example.com' 9 | - name: GitHub 10 | url: 'https://example.com' 11 | -------------------------------------------------------------------------------- /src/data/Portfolio.yml: -------------------------------------------------------------------------------- 1 | title: Portfolio 2 | items: 3 | - image: /static/images/ruslan-bardash-351288-unsplash.jpg 4 | title: Stool 5 | - image: /static/images/galina-n-200668-unsplash.jpg 6 | title: Plants 7 | - image: /static/images/mitchell-griest-687949-unsplash.jpg 8 | title: Bags 9 | - image: /static/images/malte-wingen-381988-unsplash.jpg 10 | title: Headphone 11 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "gridsome-starter-netlifycms", 3 | "scripts": { 4 | "build": "gridsome build", 5 | "develop": "gridsome develop", 6 | "explore": "gridsome explore" 7 | }, 8 | "dependencies": { 9 | "@gridsome/source-filesystem": "^0.6.0", 10 | "@gridsome/transformer-remark": "^0.3.3", 11 | "gridsome": "^0.7.1", 12 | "node-sass": "^4.11.0", 13 | "sass-loader": "^8.0.0" 14 | }, 15 | "license": "MIT" 16 | } 17 | -------------------------------------------------------------------------------- /gridsome.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | siteName: 'Gridsome Starter NetlifyCMS', 3 | siteUrl: 'https://www.gridsome.org', 4 | siteDescription: 'Gridsome is a blazing-fast static site generator...', 5 | titleTemplate: `%s - Gridsome`, 6 | 7 | plugins: [ 8 | { 9 | use: '@gridsome/source-filesystem', 10 | options: { 11 | path: 'blog/*.md', 12 | typeName: 'BlogPost', 13 | route: '/blog/:slug' 14 | } 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Gridsome Starter NetlifyCMS 2 | 3 | Now modify your website directly from NetlifyCMS, no need to mess around with coding. 😅 4 | 5 | [![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?repository=https://github.com/mittalyashu/gridsome-starter-netlifycms) 6 | 7 | ## Donate 8 | 9 | I've put a lot of time and effort into making **Gridsome Starter NetlifyCMS** project. If you love it, you can Become a Patron. I promise it will be a good investment 😉. 10 | 11 | [![Become a Patron](https://i.imgur.com/wYOr44L.png)](https://www.patreon.com/bePatron?u=8494594) 12 | -------------------------------------------------------------------------------- /blog/2018-11-10-wrath-of-the-dragon-god.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Wrath of the dragon god 3 | date: 2018-11-10 20:08:08 -0700 4 | slug: wrath-of-the-dragon-god 5 | --- 6 | 7 | Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa.liquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. 8 | 9 | Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. 10 | 11 | Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet. -------------------------------------------------------------------------------- /src/assets/css/style.sass: -------------------------------------------------------------------------------- 1 | @import url('https://fonts.googleapis.com/css?family=Nunito:400,700') 2 | 3 | * 4 | padding: 0 5 | margin: 0 6 | box-sizing: border-box 7 | 8 | body 9 | font-family: 'Nunito', sans-serif 10 | line-height: 1.5 11 | font-size: 16px 12 | 13 | a 14 | text-decoration: none 15 | color: #4DBA87 16 | cursor: pointer 17 | 18 | ul 19 | list-style: none 20 | 21 | h6 22 | font-size: 1rem 23 | 24 | .container 25 | padding-right: 15px 26 | padding-left: 15px 27 | margin-right: auto 28 | margin-left: auto 29 | 30 | @media (min-width:768px) 31 | .container 32 | width: 750px 33 | 34 | @media (min-width:992px) 35 | .container 36 | width: 970px 37 | 38 | @media (min-width:1200px) 39 | .container 40 | width: 1170px -------------------------------------------------------------------------------- /src/pages/Index.vue: -------------------------------------------------------------------------------- 1 | 12 | 13 | -------------------------------------------------------------------------------- /src/components/Footer.vue: -------------------------------------------------------------------------------- 1 | 14 | 15 | -------------------------------------------------------------------------------- /blog/2017-08-14-justice-league.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Justice League 3 | date: 2017-08-14 20:08:08 -0700 4 | slug: justice-league 5 | --- 6 | 7 | Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. 8 | 9 | Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. 10 | 11 | Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. 12 | 13 | Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. 14 | 15 | Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet. -------------------------------------------------------------------------------- /src/components/About.vue: -------------------------------------------------------------------------------- 1 | 11 | 12 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/components/Header.vue: -------------------------------------------------------------------------------- 1 | 24 | 25 | -------------------------------------------------------------------------------- /static/admin/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | GitHub Authentication Example 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 27 | 28 | 29 | 30 |

GitHub Auth Demo:

31 |

Authenticate

32 |

33 | 34 | 35 | -------------------------------------------------------------------------------- /src/data/About.yml: -------------------------------------------------------------------------------- 1 | title: About 2 | items: 3 | - description: >- 4 | Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod 5 | tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim 6 | veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea 7 | commodo consequat. 8 | title: JavaScript 9 | - description: >- 10 | Duis aute irure dolor in reprehenderit in voluptate velit esse cillum 11 | dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non 12 | proident, sunt in culpa qui officia deserunt mollit anim id est laborum 13 | title: Ruby on Rails 14 | - description: >- 15 | Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium 16 | doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo 17 | inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. 18 | title: Branding 19 | - description: >- 20 | Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam 21 | nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas 22 | nulla pariatur? 23 | title: UI/UX 24 | -------------------------------------------------------------------------------- /src/components/Hero.vue: -------------------------------------------------------------------------------- 1 | 14 | 15 | 31 | 32 | -------------------------------------------------------------------------------- /static/images/Behance.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/components/Blog.vue: -------------------------------------------------------------------------------- 1 | 11 | 12 | 13 | query Blog { 14 | allBlogPost(sortBy: "DESC") { 15 | edges { 16 | node { 17 | id 18 | title 19 | date (format: "YYYY") 20 | path 21 | } 22 | } 23 | } 24 | } 25 | 26 | 27 | 57 | -------------------------------------------------------------------------------- /static/images/Twitter.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/images/Instagram.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/images/RSS.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/components/Portfolio.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /src/templates/BlogPost.vue: -------------------------------------------------------------------------------- 1 | 14 | 15 | 31 | 32 | 33 | query BlogPost ($path: String!) { 34 | blogPost (path: $path) { 35 | title 36 | date (format: "DD MMMM YYYY") 37 | content 38 | } 39 | } 40 | 41 | 42 | -------------------------------------------------------------------------------- /static/images/GitHub.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/admin/config.yml: -------------------------------------------------------------------------------- 1 | backend: 2 | # Choose the backend you prefer (GitHub, GitLab, BitBucket) 3 | # Reference: https://www.netlifycms.org/docs/authentication-backends/ 4 | name: github 5 | branch: master 6 | repo: mittalyashu/gridsome-starter-netlifycms 7 | 8 | media_folder: "static/images" 9 | public_folder: "static/images" 10 | 11 | collections: 12 | - name: "blogs" 13 | label: "Blogs" 14 | folder: "blog" 15 | create: true 16 | slug: "{{year}}-{{month}}-{{day}}-{{slug}}" 17 | fields: 18 | - { label: "title", name: "title", widget: "string" } 19 | - { label: "date", name: "date", widget: "date" } 20 | - { label: "slug", name: "slug", widget: "string" } 21 | - { label: "body", name: "body", widget: "markdown" } 22 | 23 | - name: "data" 24 | label: "Data" 25 | files: 26 | - name: "about" 27 | label: "About" 28 | file: "src/data/About.yml" 29 | fields: 30 | - { label: "Title", name: "title", widget: "string", default: "About" } 31 | - name: "items" 32 | label: "Items" 33 | widget: "list" 34 | fields: 35 | - { label: "Title", name: "title", widget: "string" } 36 | - { label: "Description", name: "description", widget: "text" } 37 | 38 | - name: "contact" 39 | label: "Contact" 40 | file: "src/data/Contact.yml" 41 | fields: 42 | - { label: "Title", name: "title", widget: "string", default: "Contact" } 43 | - { label: "Description", name: "description", widget: "text" } 44 | 45 | - name: "hero" 46 | label: "Hero" 47 | file: "src/data/Hero.yml" 48 | fields: 49 | - { label: "Title", name: "title", widget: "string" } 50 | - { label: "Description", name: "description", widget: "text" } 51 | 52 | - name: "portfolio" 53 | label: "Portfolio" 54 | file: "src/data/Portfolio.yml" 55 | fields: 56 | - { label: "Title", name: "title", widget: "string", default: "Portfolio" } 57 | - name: "items" 58 | label: "Work" 59 | widget: "list" 60 | fields: 61 | - { label: "Title", name: "title", widget: "string" } 62 | - { label: "Image", name: "image", widget: "image" } 63 | 64 | - name: "socialmedia" 65 | label: "Social Media" 66 | file: "src/data/SocialMedia.yml" 67 | fields: 68 | - { label: "Title", name: "title", widget: "string", default: "Social Media" } 69 | - name: "items" 70 | label: "Social Media" 71 | widget: "list" 72 | fields: 73 | - { label: "Name", name: "name", widget: "string" } 74 | - { label: "URL", name: "url", widget: "string" } -------------------------------------------------------------------------------- /src/components/Contact.vue: -------------------------------------------------------------------------------- 1 |