Getting Started

Kalvin is a Simple and Minimal Ghost Theme. This theme is for bloggers, journalists, activists, writers, authors, publishers, entrepreneurs. This will support all devices like desktop, tablet, mobile. Kalvin is fully responsive, light-weight, superfast ghost theme and built with html, css, js, scss and ready for premium subscription features.

Support

If you have any questions that are beyond the scope of this help file, please feel free to send your questions to our support email: [email protected] Our support team will reply you within 6 hours.

Support includes

  • Responding to questions or problems regarding the item and its features
  • Fixing bugs and reported issues
  • Feature Request
  • Providing updates to ensure compatibility with new software versions

Item support does not include

  • Customization and installation services. (You can ask for paid support; [email protected])
  • Support for third party software and plug-ins

Template Information

  • Name: Kalvin
  • Author: Electronthemes
  • Platform: Ghost
  • Demo: Kalvin
  • Created: 14 Aug 2020
  • Last Update: 14 September 20
  • Version: 1.0.2

Theme Setup

Kalvin theme setup is very easy. If you have already installed a server for Ghost you can easily setup Kalvin theme. If you don’t have server suported with Ghost, you can set up reading Ghost Install. When you have the server, follow the instructions for setting up the theme.

Upload the theme

You can upload the theme file from ghost dashboard. to do this

  • Log in into your Ghost admin panel.
  • Go to settings (design section) and upload “kalvin.zip
  • Click Activate.

Uploading the theme via (FTP)

Follow the instructions

  • Login to your FTP account.
  • Unzip the kalvin.zip file and copy Kalvin folder to your /ghost_installation/content/themes
  • Restart your installation if necessary. You can ask for help from your hosting provider if you don’t know how to do this step.
  • Login to your ghost admin panel.
  • Go to settings (general) and select theme “Kalvin
  • Click Save.

Here I have used Cyberduck to upload file on server and I used subdomain. That is why I used Docslab Folder

General Setup

Publication Info

To change publication info, go to Dashboard > General > Publication Info. Here you can change the followings:

  • Title
  • Description
  • Site Timezone
  • Publication Language

We have used SVG Logo for the theme . You can change SVG Logo from Dashboard > General > Publication Identity

Please upload SVG Logo image so it will support dark and light mode also

Favicon Icon

Ghost shows his ghost logo in your site by default. You can change Favicon Icon or Publication Icon from Dashboard > General > Publication Identity

Publication Cover

This is for showing site bookmark image. If you upload a cover image, it will in your site bookmark

Site Meta Settings

This is for Meta data. It will help to get on search using search engine. You can add also Twitter and Facebook card image, content here.

You can add/edit the content from Dashboard > General > Site Meta Settings

Social Accounts

Social account section is for showing Facebook, Twitter links of your site. Go to Dashboard > Settings > Social Accounts

Primary Navigation

Ghost only support two types of Navigation. Primary and Secondary Navigation Menu. On header, primary navigation is showing and On Footer secondary navigation is showing. Go to Dashboard > Design > Navigation

Secondary Navigation

You can change menu item on secondary Design > Secondary Navigation

Create a Post

Ghost has a beautiful dashboard design. You can easily create a post. Go to Dashboard > Posts > New Post

  • Post Title
  • Post Contents
  • Feature image
  • Tags
  • Authors

Create a page

As like as post, you can create a new page from Dashboard > Pages > New Page. You can add:

  • Title
  • Contents
  • Tags
  • Authors
  • Feature Image
  • Excerpt
  • more…

Featured Post

Ghost has awesome featured posts option to show some of your chosen posts as featured for the visitors. To add a post as featured, go to Post > Settings and scroll down. Select the checkbox Feature this post

Create Tag

To create a new tag, go to Dashboard > Tags > New Tag

Create Author

You can create multiple author in your site from dashboard. Go to Dashboard > Stuff > Invite people

Click on Invite people and you will get a new popup. You have to add Email Address and select the staff Role. Lastly click on Send Invitation now button. An email notification will be sent to create an account on the specific Role.

Code Injection

Code injection is a great feature on Ghost. You can easily write styles and scripts for your site without editing the theme file. You can add various plugins code here like Google analytics

Here you will two text field for code injections. 1. Site Header and 2. Site Footer

Site Header

If you write scripts on site header, it will show in <head> tag of header. It will load first in your site

Site Footer

If you write scripts on site footer, it will show at the closing of <body> tag. It will load last in your site

Integrations and Custom Integrations

Integrations are another cool feature of Ghost. You can connect a lot of thirdparty plugins or API using integrations. To check the integrations, go to Dashboard > Integrations. You will get some inbuilt integrations and custom integrations options

Custom integrations

To create custom integrations, click on + Add custom integration at the bottom of the page and you will get a popup and add a name of the integration and Create. I have create here Search and Github Deploy integration

Labs

Labs is another very important and beta tester parts of Ghost. Here your will get some core features as follows: Go to Dashboard > Labs

  1. Membership
  2. Import Content
  3. Export your content
  4. Delete All Content
  5. Night shift
  6. Redirects
  7. Routes

Members

If you want to get subscriptions and paid customers, you can use Members option in this panel. When you click on this you will get in details

Migration Options

You will get some options here like Import content, export content and delete content options

Routes

Routes is another important part. When you want to use different path link or custom files for pages and different homepage, you can use routes.yaml file to do that. Here is default .yaml for ghost.

routes:

collections:
  /:
    permalink: /{slug}/
    template: index

taxonomies:
  tag: /tag/{slug}/
  author: /author/{slug}/

Headers

For header, we have used {{> header}} partials in folder partials/ header.hbs. In this file you can change the followings:

  1. Logo
  2. Primary Navigation
  3. Dark Light Icon
  4. Search
  5. Signin/Signup
Logo

To change the logo markup or text, find this structure on header.hbs file. We have used 2 logos for Dark and Light mode. Light mode logo is a default logo. You can change the logo:

  • To change light mode logo: Dashboard > General > Publication Logo
  • Dark mode logo is a custom logo. To change this logo, go to theme-file > assets > img > logo folder and you will find the dark mode logo logo-dark.svg for dark mode. Use same size logo as light mode
<a href="{{@site.url}}">
    <img class="logo-light" src="{{@site.logo}}" alt="{{@site.title}}">
    <img class="logo-dark" src="{{asset "/img/logo/logo-dark.svg"}}" alt="{{@site.title}}">
</a>

We recommend to use .svg logo. If you use .svg logo, actual resolution will be kept.

Primary Navigation

For Primary navigation, go to Dashboard > Design > Primary Navigation

Dark Light Feature

Newsvolt supports dark light mode. By default, it is on Light mode. If you activate dark mode as default, use data-theme="dark" in HTML tag. Edit the file default.hbs in theme-file/default.hbs at line number 11 to 20

<script>
        if (typeof (Storage) !== 'undefined') {
            if (localStorage.getItem('selected-theme') == 'light') {
                document.documentElement.setAttribute('data-theme', 'light');
            }
            else if (localStorage.getItem('selected-theme') == 'dark') {
                document.documentElement.setAttribute('data-theme', 'dark');
            }
        }
</script>

Homepage

In homepage, you will get some sections.

  1. Featured Posts
  2. Daily Update News
  3. Popular Tags

Featured Posts

We have shown a slider on homepage will the featured posts. If you set a post as featured, it will be added automatically in the slider.

Featured slider post limit is 4. If you want to increase or decrease post limit, go to partials/hero-section.hbs and edit limit="4".

{{#get "posts" filter="featured:true" limit="4" include="tags"}}

Add minimum 4 posts as featured posts to get the slide view as the demo

Daily Update News

Daily update news comes with the latest posts of the dashboard from 6 different tags. We have shown 6 latest posts.

Popular Tags

Popular tags come from partials > popular-tags.hbs. We have shown 4 limited tags on popular tags section. If you want to change the limit, change limit="4" at line number 1.

{{#get "tags" limit="4" include="count.posts" order="count.posts desc"}}

Footer

We used very minimal footer in our theme. You will get all footer code partials > footer.hbs file. Here are the following parts:

  1. Social Media
  2. Secondary Menu
Footer Social Profiles

Change footer social profile links at footer.hbs and you can add more links aftre copying this. Change # with your links.

<li>
    <a href="#">
        {{> icons/social-icons/instagram}}
    </a>
</li>

If you want to add new social icons, go to partials > icons > social-icons folder. I have used svg icons from Feathericons. Download icons from here and add it in the folder. Change the icon’s extension .svg to .hbs

facebook.svg --> facebook.hbs 

Copyright text

You can change at partials > footer.hbs file line number 32

<p>{{t "© Copyright 2018 Kalvin. Published with "}}<a href="https://ghost.org/">{{t "Ghost"}}</a></p>

Change the text inside {{t ""}}

Custom Templates

Custom template is a default setting on Ghost. It can be page template and post template. We have created some custom page and post template for the theme. The page template are as follows:

Page Template

  • Membership
  • Account
  • Tags
  • Authors
  • Signin
  • Signup
Selecting page template
  1. Create a new page
  2. Click on Settings to the right side and scroll down
  3. Select page template i.e. “Membership”
Page url

When you create page, please keep page slug like this.

Page titlePage URl
Membership/membership/
Account/account/
Signin/signin/
Signup/signup/

For other custom pages, you can add Authors, Tags, Contact page.

Membership and Subscriptions

This is an awesome features of Ghost. If you want to make money with publications, you can use Membership features of Ghost. To enable members, go to Dashboard > Labs > Members

Stripe connection 

Connect your stripe account to get the payment from your subscribers

Subscription Pricing

Add or change your subscription pricing from here

Post Access

When you enable members, you can manage your posts who will see your default posts.

Pricing Tables

Here we have used 3 pricing plans.

  1. Free/Basic Plan
  2. Monthly Plan
  3. Yearly Plan

Change the text inside <li>{{t "..."}}</li>

Free/Basic Plan: For changing basic plan {{> members/pricing-tables/plan-free}} partials is used. You will find partials > membership > pricing-table.hbs Line Number 13 to 17

<ul>
                <li>{{t "Access to all free private posts"}}</li>
                <li>{{t "Weekly updates with new content"}}</li>
                <li>{{t "Support independent publishing"}}</li>
</ul>

Monthly Plan: For monthly plan {{> members/pricing-tables/plan-monthly}} partials is used. You will find partials > membership > pricing-table.hbs Line Number 37 to 43

<ul>
                <li>{{t "Access to all free private posts"}}</li>
                <li>{{t "Weekly updates with new content"}}</li>
                <li>{{t "Support independent publishing"}}</li>
                <li>{{t "No card details required"}}</li>
                <li>{{t "Customer Support 24/7"}}</li>
</ul>

Yearly Plan: For yearly plan {{> members/pricing-table/plan-yearly}} partials is used. You will find partials > membership > pricing-table.hbs Line number 62 to 68

<ul>
                <li>{{t "Access to all free private posts"}}</li>
                <li>{{t "Weekly updates with new content"}}</li>
                <li>{{t "Support independent publishing"}}</li>
                <li>{{t "No card details required"}}</li>
                <li>{{t "Customer Support 24/7"}}</li>
</ul>

Account Informations

Free Subscriber information

You can change the account information text on header page also. To change the information, go to kalvin > partials > membership > free-subscriber-information.hbs file and you can change the information.

Paid subscriber information

You can change the account information text on header page also. To change the information, go to kalvin > partials > membership > subscriber-information.hbs

Third Party Plugins

We have created real time search options and Formspree for contact form.

Search Options

We have used Fuse.io for creating real time search. When you will type, you will get instant results. When you install the theme file, you have configure and add content api key on conde injection

  1. Create a custom integrations
  2. Copy Content Api Key from your created custom integration
  3. Go to Code Injection > Site Header as follows
<script>
    var contentApiKey = "your content api key"
</script>

Disqus Comment box

We have used discus comments for this theme. We have used our own discuss account. You can change easily with your Disqus shortname. Follow the process to create your disqus account and get a short-name.

  1. You can create your Disqus code in the next url: http://disqus.com/admin/create/
  2. Add a short-name for Website Name
  3. Your unique “Disqus URL” is your shortname copy that name and click finish registration.
  • Go to the directory where is your template.
  • Go to /content/themes/kalvin/partials/disqus and open the next file: disqus-comment.hbs and git to line number 11 for disqus_shortname = “kalvin-1”;
  • Change with your shortname, in this case ‘example-shortname’;
  • Save the file and upload to your ghost installation.
  • Optional, you can verify if all is correct clicking Verify on disqus steps (where we get our shortname).

Development and Customization

In this theme, we have used SCSS to develop and style fast. You can easily do it using Prepros. To edit SCSS code, follow the instruction:

  1. Unzip newsvolt.zip (this is the template only file) and remember where is the folder location.
  2. Install a SASS compiler, we recommend you to use Prepos 6, you can download it here.
  3. Click on “Browse” to add project on the middle side.

Credits

JAVASCRIPT FILES

FONTS USED

Supported Ghost

3.32.x, 3.31.x, 3.30.x, 3.29.x, 3.28.0, 3.27.0, 3.26.x, 3.25.0, 3.24.0, 3.23.x, 3.22.x, 3.21.x, 3.20.x, 3.19.x, 3.18.x, 3.17.x, 3.16.x, 3.15.x, 3.14.0, 3.13.x, 3.12.x, 3.11.0, 3.10.0, 3.9.0, 3.8.0, 3.7.0, 3.6.0, 3.5.x, 3.4.0, 3.3.0, 3.2.0, 3.1.x, 3.0.x

Changelog

We are showing all of our change log here. You can find our regular updates based on version.

------------  VERSION - 1.0.2: Release on 14 Sept 2020  ------------
[+] FILE CHANGED
    scss/_homepage.scss
    scss/_responsive.scss
    locales/en.json
    partials/membership/notifications.hbs
    package.json
                        
------------  VERSION - 1.0.1: Release on 13 Sept 2020  ------------
[+] FILE CHANGED
    scss/_notification.scss
    scss/_homepage.scss
    scss/_blog.scss
    partials/membership/notifications.hbs
    js/plugins.js
    default.hbs
    post.hbs

[+] NEWLY ADDED Features
    notification for expired links and updated cards
                        
------------  VERSION - 1.0.0: Release on 14 August 2020  ------------
[+] Initial Release