├── static
├── robots.txt
├── tag.jpg
├── cover.jpg
├── logo.png
├── author.jpg
├── favicon.ico
├── favicon.png
├── facebookImage.png
├── twitterImage.png
├── images
│ └── logo.svg
├── logo.svg
└── alternateLogo.svg
├── src
└── @draftbox-co
│ └── gatsby-ghost-novela-theme
│ └── components
│ ├── fb-comments.jsx
│ └── disqus.jsx
├── starters.yml
├── LICENSE
├── package.json
├── .gitignore
├── gatsby-config.js
├── siteConfig.js
└── README.md
/static/robots.txt:
--------------------------------------------------------------------------------
1 | User-agent: *
2 | Allow: /
3 |
--------------------------------------------------------------------------------
/static/tag.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/draftbox-co/gatsby-ghost-novela-starter/HEAD/static/tag.jpg
--------------------------------------------------------------------------------
/static/cover.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/draftbox-co/gatsby-ghost-novela-starter/HEAD/static/cover.jpg
--------------------------------------------------------------------------------
/static/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/draftbox-co/gatsby-ghost-novela-starter/HEAD/static/logo.png
--------------------------------------------------------------------------------
/static/author.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/draftbox-co/gatsby-ghost-novela-starter/HEAD/static/author.jpg
--------------------------------------------------------------------------------
/static/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/draftbox-co/gatsby-ghost-novela-starter/HEAD/static/favicon.ico
--------------------------------------------------------------------------------
/static/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/draftbox-co/gatsby-ghost-novela-starter/HEAD/static/favicon.png
--------------------------------------------------------------------------------
/static/facebookImage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/draftbox-co/gatsby-ghost-novela-starter/HEAD/static/facebookImage.png
--------------------------------------------------------------------------------
/static/twitterImage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/draftbox-co/gatsby-ghost-novela-starter/HEAD/static/twitterImage.png
--------------------------------------------------------------------------------
/src/@draftbox-co/gatsby-ghost-novela-theme/components/fb-comments.jsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import { FacebookProvider, Comments } from 'react-facebook';
3 |
4 | const FbComments = props => {
5 | return process.env.GATSBY_FB_APP_ID ? (
6 |
7 |
8 |
9 | ) : (
10 | <>>
11 | );
12 | };
13 |
14 | export default FbComments;
15 |
--------------------------------------------------------------------------------
/src/@draftbox-co/gatsby-ghost-novela-theme/components/disqus.jsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import { DiscussionEmbed } from "disqus-react";
3 |
4 | const Disqus = props => {
5 | const disqusConfig = {
6 | shortname: process.env.GATSBY_DISQUS_SHORTNAME,
7 | identifier: props.slug,
8 | title: props.slug
9 | };
10 |
11 | return process.env.GATSBY_DISQUS_SHORTNAME ? (
12 |
13 | ) : (
14 | <>>
15 | );
16 | };
17 |
18 | export default Disqus;
19 |
--------------------------------------------------------------------------------
/starters.yml:
--------------------------------------------------------------------------------
1 | - url: https://ghost-novela-preview.draftbox.co/
2 | repo: https://github.com/draftbox-co/gatsby-ghost-novela-starter
3 | description: A Gatsby starter for creating blogs from headless Ghost CMS.
4 | tags:
5 | - AMP
6 | - Blog
7 | - CMS:Headless
8 | - CMS:Ghost
9 | - Disqus
10 | - Language:TypeScript
11 | - Markdown
12 | - MDX
13 | - Netlify
14 | - Pagination
15 | - PWA
16 | - RSS
17 | - SEO
18 | - Styling:CSS-in-JS - Novela
19 | - Styling:Theme-UI - Novela
20 | features:
21 | - Novela theme by Narrative
22 | - Data sourcing from headless Ghost
23 | - Responsive design
24 | - SEO optimized
25 | - OpenGraph structured data
26 | - Twitter Cards meta
27 | - Sitemap Generation
28 | - XML Sitemaps
29 | - Progressive Web App
30 | - Offline Support
31 | - RSS Feed
32 | - Composable and extensible
33 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2020 Draftbox
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "gatsby-ghost-novela-starter",
3 | "description": "A Gatsby starter for creating blogs from headless Ghost CMS.",
4 | "version": "1.0.0",
5 | "license": "MIT",
6 | "scripts": {
7 | "develop": "gatsby develop",
8 | "build": "gatsby build",
9 | "clean": "gatsby clean",
10 | "config": "git update-index --skip-worktree .ghost.json"
11 | },
12 | "devDependencies": {
13 | "babel-eslint": "^10.1.0",
14 | "eslint": "^6.8.0",
15 | "eslint-plugin-ghost": "^1.0.0",
16 | "eslint-plugin-react": "^7.19.0",
17 | "gatsby": "2.21.1",
18 | "gh-pages": "^2.2.0",
19 | "react": "^16.13.0",
20 | "react-dom": "^16.13.0"
21 | },
22 | "dependencies": {
23 | "@draftbox-co/gatsby-ghost-novela-theme": "1.0.34",
24 | "@draftbox-co/gatsby-plugin-crisp-chat-lazy": "^0.0.3",
25 | "@draftbox-co/gatsby-plugin-hotjar-lazy": "^0.0.1",
26 | "@draftbox-co/gatsby-plugin-olark-lazy": "^0.0.1",
27 | "@draftbox-co/gatsby-plugin-tawk-lazy": "^0.0.1",
28 | "dotenv": "^8.2.0",
29 | "gatsby": "2.21.1",
30 | "gatsby-plugin-disqus": "^1.1.4",
31 | "gatsby-plugin-google-analytics": "^2.2.2",
32 | "gatsby-plugin-google-tagmanager": "^2.3.5",
33 | "gatsby-plugin-mixpanel": "^3.1.6",
34 | "gatsby-plugin-segment-js": "^3.1.0",
35 | "react": "^16.13.0",
36 | "react-dom": "^16.13.0",
37 | "react-facebook": "^8.1.4"
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Node template
2 |
3 | # Logs
4 | logs
5 | *.log
6 | npm-debug.log*
7 | yarn-debug.log*
8 | yarn-error.log*
9 |
10 | # Runtime data
11 | pids
12 | *.pid
13 | *.seed
14 | *.pid.lock
15 |
16 | # Directory for instrumented libs generated by jscoverage/JSCover
17 | lib-cov
18 |
19 | # Coverage directory used by tools like istanbul
20 | coverage
21 |
22 | # nyc test coverage
23 | .nyc_output
24 |
25 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
26 | .grunt
27 |
28 | # Bower dependency directory (https://bower.io/)
29 | bower_components
30 |
31 | # node-waf configuration
32 | .lock-wscript
33 |
34 | # Compiled binary addons (https://nodejs.org/api/addons.html)
35 | build/Release
36 |
37 | # Dependency directories
38 | node_modules/
39 | jspm_packages/
40 |
41 | # Typescript v1 declaration files
42 | typings/
43 |
44 | # Optional npm cache directory
45 | .npm
46 |
47 | # Optional eslint cache
48 | .eslintcache
49 |
50 | # Optional REPL history
51 | .node_repl_history
52 |
53 | # Output of 'npm pack'
54 | *.tgz
55 |
56 | # Yarn Integrity file
57 | .yarn-integrity
58 |
59 | # dotenv environment variables file
60 | .env
61 | .ghost.json
62 |
63 | # IDE
64 | .idea/*
65 | *.iml
66 | *.sublime-*
67 |
68 | # OSX
69 | .DS_Store
70 | .vscode
71 |
72 | # Docs Custom
73 | .cache/
74 | public
75 | yarn-error.log
76 | .netlify/
77 | <<<<<<< HEAD
78 |
79 |
80 | .env.*
81 | =======
82 | >>>>>>> 5aabed8b04b189bc6e3111659d05be52c964befd
83 |
--------------------------------------------------------------------------------
/gatsby-config.js:
--------------------------------------------------------------------------------
1 | let siteConfig;
2 | let ghostConfig;
3 |
4 | // loading site config
5 | try {
6 | siteConfig = require(`./siteConfig`);
7 | } catch (e) {
8 | siteConfig = null;
9 | }
10 |
11 | // loading ghost config
12 | try {
13 | ghostConfig = require(`./.ghost`);
14 | } catch (e) {
15 | ghostConfig = {
16 | development: {
17 | apiUrl: process.env.GHOST_API_URL,
18 | contentApiKey: process.env.GHOST_CONTENT_API_KEY,
19 | version: process.env.GHOST_VERSION,
20 | },
21 | production: {
22 | apiUrl: process.env.GHOST_API_URL,
23 | contentApiKey: process.env.GHOST_CONTENT_API_KEY,
24 | version: process.env.GHOST_VERSION,
25 | },
26 | };
27 | } finally {
28 | const { apiUrl, contentApiKey } =
29 | process.env.NODE_ENV === `development`
30 | ? ghostConfig.development
31 | : ghostConfig.production;
32 |
33 | if (!apiUrl || !contentApiKey || contentApiKey.match(//)) {
34 | ghostConfig = null; //allow default config to take over
35 | }
36 | }
37 |
38 | // setting up plugins
39 | let gatsbyPlugins = [
40 | {
41 | resolve: `@draftbox-co/gatsby-ghost-novela-theme`,
42 | options: {
43 | ghostConfig: ghostConfig,
44 | siteConfig: siteConfig,
45 | },
46 | },
47 | ];
48 |
49 | if (process.env.SEGMENT_KEY) {
50 | gatsbyPlugins.push({
51 | resolve: `gatsby-plugin-segment-js`,
52 | options: {
53 | prodKey: process.env.SEGMENT_KEY,
54 | devKey: process.env.SEGMENT_KEY,
55 | trackPage: true,
56 | delayLoad: true,
57 | delayLoadTime: 1000,
58 | },
59 | });
60 | }
61 |
62 | if (process.env.GA) {
63 | gatsbyPlugins.unshift({
64 | resolve: `gatsby-plugin-google-analytics`,
65 | options: {
66 | trackingId: process.env.GA,
67 | head: true,
68 | },
69 | });
70 | }
71 |
72 | if (process.env.GATSBY_MIXPANEL_TOKEN) {
73 | gatsbyPlugins.push({
74 | resolve: `gatsby-plugin-mixpanel`,
75 | options: {
76 | apiToken: process.env.GATSBY_MIXPANEL_TOKEN,
77 | enableOnDevMode: true,
78 | pageViews: "all",
79 | },
80 | });
81 | }
82 |
83 | if (process.env.GATSBY_HOTJAR_ID) {
84 | gatsbyPlugins.push({
85 | resolve: `@draftbox-co/gatsby-plugin-hotjar-lazy`,
86 | options: {
87 | id: process.env.GATSBY_HOTJAR_ID,
88 | sv: 6,
89 | optimize: true,
90 | },
91 | });
92 | }
93 |
94 | if (process.env.GATSBY_GTAG_MANAGER_ID) {
95 | gatsbyPlugins.unshift({
96 | resolve: `gatsby-plugin-google-tagmanager`,
97 | options: {
98 | id: process.env.GATSBY_GTAG_MANAGER_ID,
99 | includeInDevelopment: true,
100 | },
101 | });
102 | }
103 |
104 | if (process.env.GATSBY_TAWK_ID) {
105 | gatsbyPlugins.push({
106 | resolve: `@draftbox-co/gatsby-plugin-tawk-lazy`,
107 | options: {
108 | tawkId: process.env.GATSBY_TAWK_ID,
109 | optimize: true
110 | },
111 | });
112 | }
113 |
114 | if (process.env.GATSBY_CRISP_ID) {
115 | gatsbyPlugins.push({
116 | resolve: `@draftbox-co/gatsby-plugin-crisp-chat-lazy`,
117 | options: {
118 | websiteId: process.env.GATSBY_CRISP_ID,
119 | enableDuringDevelop: true,
120 | optimize: true
121 | },
122 | });
123 | }
124 |
125 | if (process.env.GATSBY_OLARK_ID) {
126 | gatsbyPlugins.push({
127 | resolve: `@draftbox-co/gatsby-plugin-olark-lazy`,
128 | options: {
129 | olarkSiteID: process.env.GATSBY_OLARK_ID,
130 | optimize: true
131 | },
132 | });
133 | }
134 |
135 | module.exports = {
136 | plugins: gatsbyPlugins,
137 | };
138 |
--------------------------------------------------------------------------------
/static/images/logo.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/siteConfig.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | siteUrl: "https://ghost-novela-preview.draftbox.co",
3 | postsPerPage: 12,
4 | siteTitleMeta: "Built with Draftbox",
5 | siteDescriptionMeta:
6 | "Lightning fast, secure front-end for your WordPress or Ghost blog, without coding.",
7 | shareImageWidth: 1000,
8 | shareImageHeight: 523,
9 | shortTitle: "Built with Draftbox",
10 | siteIcon: "favicon.png",
11 | backgroundColor: "#e9e9e9",
12 | themeColor: "#15171A",
13 | apiUrl: "https://ghost.theasdfghjkl.com",
14 | header: {
15 | navigation: [
16 | {
17 | label: "Home",
18 | url: "https://ghost-novela-preview.draftbox.co/",
19 | },
20 | {
21 | label: "Contact",
22 | url: "https://ghost-novela-preview.draftbox.co/contact",
23 | },
24 | ],
25 | },
26 | footer: {
27 | copyright: "Built with Draftbox",
28 | navigation: [
29 | {
30 | label: "Home",
31 | url: "https://ghost-novela-preview.draftbox.co/",
32 | },
33 | {
34 | label: "Sitemap",
35 | url: "https://ghost-novela-preview.draftbox.co/sitemap.xml",
36 | },
37 | {
38 | label: "RSS",
39 | url: "https://ghost-novela-preview.draftbox.co/rss.xml",
40 | },
41 | {
42 | label: "Contact",
43 | url: "https://ghost-novela-preview.draftbox.co/contact",
44 | },
45 | {
46 | label: "External Link",
47 | url: "https://spectrum.chat/gatsby-js/themes?tab=posts",
48 | },
49 | ],
50 | },
51 | subscribeWidget: {
52 | visible: true,
53 | title: "Subscribe to Built with Draftbox",
54 | helpText: "Get the latest posts delivered right to your inbox.",
55 | successMessage: "Thanks for subscribing to Built with Draftbox.",
56 | },
57 | socialLinks: {
58 | twitter: "https://twitter.com/draftboxhq",
59 | facebook: "https://facebook.com/",
60 | instagram: "https://www.instagram.com/",
61 | linkedin: "https://linkedin.com",
62 | github: "https://github.com/draftbox-co",
63 | pinterest: "",
64 | youtube: "",
65 | dribbble: "",
66 | behance: "",
67 | externalLink: "",
68 | whatsapp: "",
69 | },
70 | contactWidget: {
71 | title: "Contact Built with Draftbox",
72 | successMessage: "We’ll get in touch with you soon.",
73 | },
74 | metadata: {
75 | title: "Built with Draftbox",
76 | description:
77 | "Lightning fast, secure front-end for your WordPress or Ghost blog, without coding. Draftbox is a new-age blogging platform for everyone, built on Gatsby.",
78 | },
79 | twitterCard: {
80 | title: "Built with Draftbox",
81 | description:
82 | "Lightning fast, secure front-end for your WordPress or Ghost blog, without coding. Draftbox is a new-age blogging platform for everyone, built on Gatsby.",
83 | imageUrl: "twitterImage.png",
84 | username: "@DraftboxHQ",
85 | },
86 | facebookCard: {
87 | title: "Built with Draftbox",
88 | description:
89 | "Lightning fast, secure front-end for your WordPress or Ghost blog, without coding. Draftbox is a new-age blogging platform for everyone, built on Gatsby.",
90 | imageUrl: "facebookImage.png",
91 | appId: "",
92 | width: 1000,
93 | height: 523,
94 | },
95 | siteTitle: "Built with Draftbox",
96 | siteDescription:
97 | "Lightning fast, secure front-end for your WordPress or Ghost blog, without coding.",
98 | language: "en",
99 | logoUrl: "logo.svg",
100 | iconUrl:
101 | "https://ghost.theasdfghjkl.com/content/images/2020/05/draftbox-colored-icon.png",
102 | coverUrl: "cover.jpg",
103 | alternateLogoUrl: "alternateLogo.svg",
104 | themeConfig: {
105 | variables: [
106 | { varName: "--accent-color", value: "#6166DC" },
107 | { varName: "--accent-color-dark", value: "#E9DAAC" },
108 | { varName: "--success-color", value: "#46B17B" },
109 | { varName: "--success-color-dark", value: "#46B17B" },
110 | {
111 | varName: "--merriweather-font",
112 | value: `Merriweather`,
113 | },
114 | {
115 | varName: "--merriweather-font-bold",
116 | value: `700`,
117 | },
118 | {
119 | varName: "--system-font",
120 | value: `system-ui`,
121 | },
122 | {
123 | varName: "--system-font-normal",
124 | value: `400`,
125 | },
126 | {
127 | varName: "--system-font-semibold",
128 | value: `600`,
129 | },
130 | {
131 | varName: "--system-font-bold",
132 | value: `700`,
133 | },
134 | {
135 | varName: "--monospace-font",
136 | value: `Source Code Pro`,
137 | },
138 | {
139 | varName: "--monospace-font-normal",
140 | value: `400`,
141 | },
142 | ],
143 | fonts: [
144 | {
145 | family: "Merriweather",
146 | variants: ["700"],
147 | //subsets: ['latin']
148 | //text: 'Hello'
149 | fontDisplay: "swap",
150 | strategy: "selfHosted", // 'base64' || 'cdn'
151 | },
152 | {
153 | family: "Source Code Pro",
154 | variants: ["400"],
155 | //subsets: ['latin']
156 | //text: 'Hello'
157 | fontDisplay: "swap",
158 | strategy: "selfHosted", // 'base64' || 'cdn'
159 | },
160 | ],
161 | },
162 | };
163 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | [](https://draftbox.co)
2 |
3 | # gatsby-ghost-novela-starter
4 |
5 | A Gatsby starter for creating blogs from headless Ghost CMS.
6 |
7 | Turn your Ghost blog into a lightning fast static website. This Gatsby theme is a front-end replacement of the Ghost Handlebars engine featuring the Novela skin and functionality. All content is sourced from a headless Ghost CMS.
8 |
9 | > This starter is being used at [Draftbox](https://draftbox.co). Get lightning fast, secure front-end for your WordPress or Ghost blog, in 5 minutes or less, without coding. For our fellow devs, we also provide code export feature.
10 |
11 | ## Demo
12 |
13 | > Play with the [Demo](https://ghost-novela-preview.draftbox.co/) to get a first impression.
14 |
15 |
16 |
17 | ## Features
18 |
19 | - Novela theme by Narrative
20 | - SEO optimized
21 | - Fully responsive
22 | - Gatsby images
23 | - Styled 404 page
24 | - RSS Feed
25 | - AMP Pages
26 | - Sitemap
27 | - Contact Form
28 | - Subscribe Form
29 | - Social Sharing
30 | - Google Analytics Integration
31 | - Segment Integration
32 | - Disqus Integration
33 | - Composable and extensible
34 |
35 | ## Getting Started
36 |
37 | 1. Install this starter by running
38 |
39 | ```bash
40 | gatsby new try-ghost https://github.com/draftbox-co/gatsby-ghost-novela-starter
41 | ```
42 |
43 | 2. Change directory
44 |
45 | ```bash
46 | cd try-ghost
47 | ```
48 |
49 | 3. Run
50 |
51 | ```bash
52 | gatsby develop
53 | ```
54 |
55 | and visit your site at `http://localhost:8000`.
56 |
57 | ## 🧐 What's inside?
58 |
59 | A quick look at the top-level files and directories you'll see in a Gatsby project.
60 |
61 | .
62 | ├── node_modules
63 | ├── static
64 | ├── .gitignore
65 | ├── gatsby-config.js
66 | ├── yarn.lock
67 | ├── package.json
68 | └── README.md
69 |
70 | 1. **`/node_modules`**: This directory contains all of the modules of code that your project depends on (npm packages) are automatically installed.
71 |
72 | 2. **`/static`**: This directory will contain all of the static files required by theme such as `favicon`, `logo` and `robot.txt`.
73 |
74 | 3. **`.gitignore`**: This file tells git which files it should not track / not maintain a version history for.
75 |
76 | 4. **`gatsby-config.js`**: This is the main configuration file for a Gatsby site. This is where you can specify information about your site (metadata) like the site title and description, which Gatsby plugins you’d like to include, etc. (Check out the [config docs](https://www.gatsbyjs.org/docs/gatsby-config/) for more detail).
77 |
78 | 5. **`yarn.lock`** (See `yarn.lock` below, first). This is an automatically generated file based on the exact versions of your npm dependencies that were installed for your project. **(You won’t change this file directly).**
79 |
80 | 6. **`package.json`**: A manifest file for Node.js projects, which includes things like metadata (the project’s name, author, etc). This manifest is how npm knows which packages to install for your project.
81 |
82 | 7. **`README.md`**: A text file containing useful reference information about your project.
83 |
84 | ## Configure
85 |
86 | ```js
87 | //siteConfig.js
88 | module.exports = {
89 | siteUrl: "https://ghost-novela-preview.draftbox.co",
90 | postsPerPage: 12,
91 | siteTitleMeta: "Built with Draftbox",
92 | siteDescriptionMeta:
93 | "Lightning fast, secure front-end for your WordPress or Ghost blog, without coding.",
94 | shareImageWidth: 1000,
95 | shareImageHeight: 523,
96 | shortTitle: "Built with Draftbox",
97 | siteIcon: "favicon.png",
98 | backgroundColor: "#e9e9e9",
99 | themeColor: "#15171A",
100 | apiUrl: "https://ghost.theasdfghjkl.com",
101 | header: {
102 | navigation: [
103 | {
104 | label: "Home",
105 | url: "https://ghost-novela-preview.draftbox.co/",
106 | },
107 | {
108 | label: "Contact",
109 | url: "https://ghost-novela-preview.draftbox.co/contact",
110 | },
111 | ],
112 | },
113 | footer: {
114 | copyright: "Built with Draftbox",
115 | navigation: [
116 | {
117 | label: "Home",
118 | url: "https://ghost-novela-preview.draftbox.co/",
119 | },
120 | {
121 | label: "Sitemap",
122 | url: "https://ghost-novela-preview.draftbox.co/sitemap.xml",
123 | },
124 | {
125 | label: "RSS",
126 | url: "https://ghost-novela-preview.draftbox.co/rss.xml",
127 | },
128 | {
129 | label: "Contact",
130 | url: "https://ghost-novela-preview.draftbox.co/contact",
131 | },
132 | {
133 | label: "External Link",
134 | url: "https://spectrum.chat/gatsby-js/themes?tab=posts",
135 | },
136 | ],
137 | },
138 | subscribeWidget: {
139 | title: "Subscribe to Built with Draftbox",
140 | helpText: "Get the latest posts delivered right to your inbox.",
141 | successMessage: "Thanks for subscribing to Built with Draftbox.",
142 | },
143 | socialLinks: {
144 | twitter: "https://twitter.com/draftboxhq",
145 | facebook: "https://facebook.com/",
146 | instagram: "https://www.instagram.com/",
147 | linkedin: "https://linkedin.com",
148 | github: "https://github.com/draftbox-co",
149 | },
150 | contactWidget: {
151 | title: "Contact Built with Draftbox",
152 | successMessage: "We’ll get in touch with you soon.",
153 | },
154 | };
155 | ```
156 |
157 | In the configuration shown above, the most important fields to be changed are `siteUrl`, `siteTitleMeta` and `siteDescriptionMeta`. Update at least those to fit your needs.
158 |
159 | ## Ghost Content API keys
160 |
161 | All content is sourced from a Ghost CMS. If you don't customize the file `.ghost.json` content is fetched from the demo location at `https://cms.gotsby.org`. Surely you want to source your own content. Change the keys to match your own Ghost CMS Content API keys:
162 |
163 | ```bash
164 |
165 | {
166 | "development": {
167 | "apiUrl": "http://localhost:2368",
168 | "contentApiKey": "9fccdb0e4ea5b572e2e5b92942"
169 | },
170 | "production": {
171 | "apiUrl": "http://localhost:2368",
172 | "contentApiKey": "9fccdb0e4ea5b572e2e5b92942"
173 | }
174 | }
175 | ```
176 |
177 | ## Deploy
178 |
179 | ```bash
180 | gatsby build
181 | ```
182 |
183 | After completion of the build process your static site can be found in the `public/` folder. Copy those files over to your webserver.
184 |
185 | ## Optimizing
186 |
187 | You can disable the default Ghost Handlebars theme front-end by enabling the `Make this site private` flag within your Ghost settings. This enables password protection in front of the Ghost install and sets `` so your Gatsby front-end becomes the source of truth for SEO.
188 |
189 | ## Authors
190 |
191 | - Arun Priyadarshi ([@Gunnerforlife](https://github.com/Gunnerforlife)) – [Draftbox](https://draftbox.co)
192 | - Keyur Raval ([@thandaanda](https://github.com/thandaanda)) – [Draftbox](https://draftbox.co)
193 | - Shyam Lohar ([@shyamlohar](https://github.com/shyamlohar)) – [Draftbox](https://draftbox.co)
194 | - Tanmay Desai ([@tanmaydesai89](https://github.com/tanmaydesai89)) – [Draftbox](https://draftbox.co)
195 |
196 | ## Contributions
197 |
198 | PRs are welcome! Consider contributing to this project if you are missing feature that is also useful for others.
199 |
200 | ## Credits
201 |
202 | Theme Ported from [Novela](https://github.com/narative/gatsby-theme-novela)
203 |
204 | Special Thanks to [Ghost](https://ghost.org)
205 |
206 | # Copyright & License
207 |
208 | Copyright (c) 2020 [Draftbox](https://draftbox.co) - Released under the [MIT license](LICENSE).
209 |
--------------------------------------------------------------------------------
/static/logo.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/static/alternateLogo.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------