Theme Info
Name: Dashi
Description: a Community & Platform Ghost Theme
Released: 2020-12-30
Creator: Biron Themes
Requirements
Ghost version: 3.0 or higher
Ghost Content API: v3 or v4
Content API
As mentioned in the Requirements section, this theme uses the Content API v3, so in order to take advantage of all the theme features make sure the Content API v3 is used, this is set in the theme by default.
You can check this in the theme's package.json
file:
{
"name": "...",
"description": "...",
"demo": "...",
"version": "...",
"engines": {
"ghost": ">=4.0.0",
"ghost-api": "v4"
},
...
Install Theme
- Log in to your publication admin section at
yourblog.com/ghost/signin
- Go to Settings > Design from the admin menu
- Under the Themes section click
Upload a theme
- Click inside the upload box to select a dashi.zip, or drag-and-drop the dashi.zip into the upload box
- If you want to activate the theme immediately click
Activate Now
orClose
if you want to do it later
Publication Settings
Some basic settings for your publication:
Language
To set the publication language follow the steps below.
- Log in to your publication admin section at
yourblog.com/ghost/signin
- Go to General from the admin menu
- Under Publication Language, click
Expand
and set the language/locale to be used on the site. The default is set to English (en).
- Click
Save settings
Icon
To upload a new icon follow these steps:
- Log in to your publication admin section at
yourblog.com/ghost/signin
- Click General under the settings menu.
- Under Publication icon, click
Upload Image
and select your icon - Finally click
Save settings
Logo
To Upload a new logo follow these steps:
- Log in to your publication admin section at
yourblog.com/ghost/signin
- Click General under the settings menu.
- Under Publication logo, click
Upload Image
and select your logo - Finally click
Save settings
Cover
To Upload a new cover image follow these steps:
- Log in to your publication admin section at
yourblog.com/ghost/signin
- Click General under the settings menu.
- Under Publication cover, click
Upload Image
and select your cover image - Finally click
Save settings
Navigation
To add menu items to your publication, follow the steps below.
- Log in to your publication admin section at
yourblog.com/ghost/signin
- Click Design from the admin menu
- Under Navigation, enter a label for the menu item in the label field
- In the URL field, enter the destination for the menu item to link
- Click
Save
As of Ghost v3 there is also secondary navigation and it can be found in the same path as the normal navigation, under the Secondary Navigation.
Members
Dashi completely supports the Ghost Members feature. To activate the feature follow the steps below.
- Log in to your publication admin section at
yourblog.com/ghost/signin
- Click Settings > Labs.
- Toggle the
Enable members
switch, under the Members section.
Within the members the following settings are available:
Connect to stripe
- where you have to configure the connection to your stripe account to be able to accept/process payments.Subscription pricing
- you can define the monthly and yearly price for full access to your publication.Allow free member signup
- Toggle switch to allow or not free membership signup.Default post access
- Define the default post access. Can be:Public
,Members only
,Paid-members only
Email settings
- for sending emails for member signup/sign in, you have to provide the Mailgun configuration.
Besides this configuration, you also have to upload the routes.yaml
file (you can find it in the root folder of the theme).
To access the overview of members click Members from the admin menu.
Portal
By default Dashi comes with individual pages in support of the members feature,
however if you prefer the Portal for handling members, go to Members > Portal settings,
click on Customize
and under the links section you should have the following:
You will need to update where the signin, signup and account links point to. Edit the following files:
- site-header.hbs
- change href="/signin/" to the sign in link from
Portal settings
==> href="#/portal/signin" - change href="/signup/" to the sign up link from
Portal settings
==> href="#/portal/signup"
- site-user-menu.hbs
- change href="/account/" to the account link from
Portal settings
==> href="#/portal/account" - change href="/signin/" to the sign in link from
Portal settings
==> href="#/portal/signin" - change href="/signup/" to the sign up link from
Portal settings
==> href="#/portal/signup"
- page-membership.hbs
- change href="/signup/" to the sign up link from
Portal settings
==> href="#/portal/signup/free" - look for data-members-plan="Monthly" and change href="javascript:void(0)" to the sign up link
from
Portal settings
==> href="#/portal/signup/monthly" - look for data-members-plan="Yearly" and change href="javascript:void(0)" to the sign up link
from
Portal settings
==> href="#/portal/signup/yearly"
- post-access-cta.hbs
- change href="/signin/" to the sign in link from
Portal settings
==> href="#/portal/signin" - change href="/signup/" to the sign up link from
Portal settings
==> href="#/portal/signup"
- welcome.hbs
- change href="/account/" to the account link from
Portal settings
==> href="#/portal/account"
Routes
Routing is the system that maps URL patterns to data and templates within Ghost.
To enable signin, signup and account pages you need to upload the routes.yaml
file.
- Log in to your publication admin section at
yourblog.com/ghost/signin
- Click Settings > Labs.
- Click on
Upload routes YAML
button and select the file from the root folder of the theme.
Basic configuration with member features enabled:
routes:
/signup/:
template: members/signup
#data: page.signup # When active data will be taken from the "/signup/" page
/signin/:
template: members/signin
#data: page.signin # When active data will be taken from the "/signin/" page
/account/:
template: members/account
#data: page.account # When active data will be taken from the "/account/" page
/archive/:
controller: channel
template: archive
data: page.archive
collections:
/:
permalink: /{slug}/
template: index
taxonomies:
tag: /tag/{slug}/
author: /author/{slug}/
As the comment says, to modify the data of the templates, you have to uncomment the lines starting "data", this will make those routes take data from the corresponding page from the Admin.
Integrations
You can access Integrations in the admin section. Integrations can be used to connect built-in or custom functions to Ghost. How to create a custom integration:
- Log in to your publication admin section at
yourblog.com/ghost/signin
- Click Settings > Integrations.
- Under Custom Integrations, click
Add custom integration
- Provide a name for it
- Add description
Content API Key
is generated, which will be needed by the custom function to access Ghost data.
Post Templates
Dashi comes with 3
different post templates:
post.hbs
- defaultcustom-with-sidebar.hbs
- post with sidebarcustom-with-table-of-contents.hbs
- post with table of contents
When a new post is created, automatically the default post template is assigned.
You can change it by going to Post Settings
, and under the Template
section select the template you would like for the post.
Static Pages
Besides having posts, you can also create pages. For this:
- Log in to your publication admin section at
yourblog.com/ghost/signin
- Go to Manage > Pages.
- Click
New page
. - Add the page name (which will be the slug/url for the page as well).
- Add content for the page.
- Click
Publish
.
Customization
The basic customization you can do for the theme is available through the theme-config.hbs
file,
located in the partials folder.
theme-config.hbs
In this file you will find a config array where you can change the following options:
GHOST_URL - set your ghost URL here (will be used for the search)
GHOST_KEY - set the Content API Key here from a custom integration (will be used for the search)
GHOST_SEARCH_LIMIT - Search result limit
DEFAULT_VIEW_TYPE - set the default view type (this refers to the post grid on home page, author and tag pages). Two possible values:
grid
- two or three column layoutlist
- single column layout will be used
DEFAULT_GRID_COLUMNS - - set the number of columns you would like to have on the (home page, author and tag pages). Two possible values:
3
- default is 3 column layout2
- you can have two column layout as well
DEFAULT_COLOR_SCHEME - set the default color scheme. Values depend on how many color schemes you define within the theme. By default the theme comes with 4, additional to the preference:
preference
- will detect the user preference (os color scheme)light
- the light theme will be set as default, until the user changes itdark
- the dark theme will be set as default, until the user changes itwhitesmoke
- the whitesmoke theme will be default, until the user changes itmidnight
- the midnight theme will be default, until the user changes it
ENABLE_COLOR_SCHEME_PICKER - you can enable or disable the color scheme picker for the user, if you only have one theme, the color scheme picker will not be shown. Possible values:
true
- enabledfalse
- disabled
ENABLE_IMAGE_LIGHTBOX - enable or disable the image lightbox on posts. Possible values:
true
- image lightbox will be enabledfalse
- image lightbox will be disabled
ENABLE_SCROLL_TO_TOP - enable or disable the scroll to top function. Possible values:
true
- scroll to top will be enabledfalse
- scroll to top will be disabled
ENABLE_FILTER - enable or disable the filter on home and tag page. Possible values:
true
- enabledfalse
- disabled
ENABLE_HYPHENS - enable or disable hyphens. Possible values:
true
- enabledfalse
- disabled
ENABLE_PWA - enable or disable Progressive web app functionality. Check the progressive web app section in the documentation to see what you have to add for this to work. Possible values:
true
- enabledfalse
- disabled
ENABLE_STICKY_HEADER - enable or disable the sticky header. Possible values:
true
- enabled, header will remain on top as you scrollfalse
- disabled, header will not be visible as you scroll
DISQUS_SHORTNAME - set your own disqus_shortname here
COVE_ID - if you are using Cove, set your cove id here
OPEN_LINKS_IN_NEW_TAB - when set to
true
the external links in posts will be opened in a new tabCOLOR_SCHEMES - is an array of json, with a specific layout, you can add more or modify the existing ones. Example of one color scheme layout:
{
"id": "light",
"name": "Light",
"colors": {
"primary": "hsl(253,91%,64%)",
"primary_dark": "hsl(253,91%,67%)",
"primary_light": "hsl(253,91%,61%)",
"secondary": "hsl(20, 92%, 60%)",
"secondary_dark": "hsl(20, 92%, 63%)",
"secondary_light": "hsl(20, 92%, 57%)",
"text": "hsl(0, 0%, 10%)",
"text_acc_1": "hsl(0, 0%, 20%)",
"text_acc_2": "hsl(0, 0%, 30%)",
"text_acc_3": "hsl(0, 0%, 40%)",
"text_reverse": "hsl(0, 0%, 90%)",
"bg": "hsl(0, 100%, 100%)",
"bg_body": "hsl(219,23%,97%)",
"bg_acc_1": "hsl(0, 0%, 98%)",
"bg_acc_2": "hsl(0, 0%, 96%)",
"bg_acc_3": "hsl(0, 0%, 94%)",
"bg_reverse": "hsl(0, 0%, 10%)",
"neutral": "hsl(0, 0%, 50%)",
"border": "hsl(0, 0%, 95%)"
}
},
If you add a new one, modify the id, name and all the colors according to your liking (it can be rgb, hex or hsl).
You can either change the theme-config.hbs file or you can also use the Ghost Admin to change these values. In Ghost Admin go to Code Injection then in the Site Header section you can change the config like this:
<script>
CONFIG.DEFAULT_COLOR_SCHEME = 'dark';
CONFIG.GRID_COLUMNS = '3';
CONFIG.SCROLL_TOP = false;
CONFIG.IMAGE_LIGHTBOX = false;
</script>
Similarly, you can overwrite all the config values, this has the advantage that even if you download another version of the theme your settings will persist.
CSS properties
If you need heavy customization regarding styling it's a good approach to check out the theme development section, on the other hand, if you would like to change some colors and other minor settings, you can also do that from theme-config.hbs or the Ghost Admin.
To overwrite the primary color in Ghost Admin go to Code Injection then in the Site Header section add these lines:
<style>
body {
--color-primary: #123456; //add your color here
}
</style>
To check out all other properties you can overwrite here open the _settings.css
file in the assets/css/settings
directory.
Posts Per Page
You can set it in the package.json
of the theme:
"config": {
"posts_per_page": 12
}
For Dashi the default value is 12
, you can change it to any suitable value.
Ghost Search
Dashi uses the Ghost Search Plugin.
To activate the search and make it work, you need to edit the theme-config.hbs
file (in the partials folder):
<script>
...
// Basic Config
let CONFIG = {
...
/* Replace it with your domain: ghost_host: 'https://yoursite.domain' */
GHOST_HOST: 'http://localhost:3368',
/* Settings > Integrations > New Custom Integration. Copy Content API Key. Replace ghost_key below. */
GHOST_KEY: '55a4116f266aa7f13f51a90d72',
...
}
</script>
You will have to replace the GHOST_HOST and GHOST_KEY values.
GHOST_HOST
should be the domain of your blog (ex. 'https://example.com').
GHOST_KEY
has to be generated by creating a custom integration in the admin panel.
- Create a new custom integration and name it Ghost Search
- Copy the generated
Content API key
- Add this key in theme-config.hbs in the
GHOST_KEY
section.
Other possible options to add Search to Ghost CMS Themes.
Google Fonts
Dashi comes with Google Fonts integrated, using the 'Jost' font. To change the fonts you have to change the default.hbs file.
<link rel="preload" href="https://fonts.googleapis.com/css2?family=Jost:wght@300;400;500;600;700;800&display=swap" as="font" onload="this.onload=null;this.rel='stylesheet'">
{{!-- No Js --}}
<noscript>
<link href="https://fonts.googleapis.com/css2?family=Jost:wght@300;400;500;600;700;800&display=swap" rel="stylesheet">
</noscript>
Go to Google Fonts and choose the font and styles you would like.
Then click Embed
and copy the link provided and replace the current one in default.hbs.
Then you have to overwrite the settings in css, here you have two options:
- Code injection
Overwrite the font setting in Ghost Admin. Go to Code Injection then in the Site Header section add these lines:
<style>
body {
--font-sans: 'your font name';
}
</style>
- Modify the css file
Open settings.css
file located in assets/css/settings folder.
Replace the font setting with your new font:
--font-sans: 'Jost', Tahoma, Arial, sans-serif;
Build the assets (check theme development) and everything should be ready.
Check out this tutorial for a more detailed guide about Google Fonts with Ghost.
Home Page
You have the possibility to customize the Home page, for this, you will have to change the index.hbs file.
If you want to have the sidebar on the homepage as well, just copy the code from index2.hbs to index.hbs.
To change from the 3 column layout to a 2 column layout, simply change the theme-config.hbs file
DEFAULT_GRID_COLUMNS
to 2
.
To change the default view from grid to list open the theme-config.hbs file, change the property DEFAULT_VIEW_TYPE
from grid
to list
.
To do not display post images in the post card change the show_img=true
to show_img=false
.
Dashi comes with 3 different home pages:
- index.hbs - 3 column post layout
- index2.hbs - 2 column post layout + sidebar
- index3.hbs - featured section + 2 column post layout + sidebar
If you want to set one of the alternatives as your default home page, open the file copy the code and paste it in index.hbs replacing the current code.
If you use the featured section and want to remove the featured posts from the rest
of the home page, you can do that by modifying the routes.yaml
file.
More specifically the collections section, adding the filter:
collections:
/:
permalink: /{slug}/
template: index
filter: featured:false
Home page Hero
The Home page Hero contains a welcome section, which can have different content based on the @member status.
- regular user: call to action to "Subscribe", with a button pointing to the "Sign Up" page.
- signed in, free member: call to action to "Upgrade" pointing to the "Account" page.
- signed in, paying member: simple welcome message, and info about subscription, and link to the "Account" page.
This part can be removed in the index.hbs file. Look for the the following text and delete it:
{{> welcome}}
After you have deleted it upload the modified theme in your Admin section.
Sidebar
To change the content of the sidebar you have to edit the sidebar.hbs file in the partials folder. By default the theme contains the following sections:
- subscribe/upgrade section (on posts only)
- featured posts (on posts only)
- tag cloud
- latest posts - sorted by published date (on posts only)
- authors (on the homepage only)
Custom Pages
Dashi comes with several custom pages by default:
- Contact Page
- Tags Page
- Membership Page
- Archive Page
- Bookmarks Page
To add these pages to the navigation, please check the Navigation section above.
Contact Page
To create the Contact page, do as follows:
- Create a new page and call it Contact.
- Make sure the Page URL is
contact
. - Click
Publish
.
There is a contact form included, which requires you to create a formspree account and after you have created your form, copy the endpoint and add it to the action attribute. The link should look like this:
https://formspree.io/f/moqppoep
Open page-contact.hbs
in the root folder of the theme and replace the action
value with your formspree link.
<form action="https://formspree.io/f/moqppoep" id="contact-form" class="contact-form" method="post">
You can also replace the form with your own if you have one.
Tags Page
To create the Tags page, do as follows:
- Create a new page and call it Tags.
- Make sure the Page URL is
tags
. - Click
Publish
.
Membership Page
To create the Membership page, do as follows:
- Create a new page and call it Membership.
- Make sure the Page URL is
membership
. - Click
Publish
.
Archive Page
The archive page will list all posts starting from the latest, grouped by year. To create the Archive page, do as follows:
- Create a new page and call it Archive.
- Make sure the Page URL is
archive
. - Click
Publish
.
Bookmarks Page
The bookmarks page will list all the bookmarked posts by a user. To create the Bookmarks page, do as follows:
- Create a new page and call it Bookmarks.
- Make sure the Page URL is
bookmarks
. - Click
Publish
.
Translation
Dashi supports Ghost i18n and it comes with translations for the following languages:
en
for Englishde
for Germanfr
for Frenches
for Spanishit
for Italianpr
for Portuguese
To change the publication language to one of the available languages check out this guide.
Editing the translations
The translation files are stored in the locales
folder within the theme folder.
|-- locales
| |-- de.json
| |__en.json
| |__es.json
| |__fr.json
Open up the file for the language you want to edit. Example en.json
:
{
"Sign in": "Sign in",
"Sign up": "Sign up",
"Subscribe": "Subscribe",
...
}
Each line consists of a key-value pair.
"key": "value"
The key is on the left side and it should not be changed (it's the same in all the files) and right value which you can adapt if necessary.
If you have suggestions to improve the translations or adding a new language, drop us a line.
Adding a new language
To add a new language you have to create a new translation file with the language code of the desired language.
For example if you want to create new translation for hungarian language you
have to create hu.json
within the locales folder.
And add the translations for each key
value.
For more details check the Official Ghost Documentation.
Social Media Links
The social media links are stored in a partial file partials/social-links.hbs
.
Ghost supports Facebook and Twitter social accounts, to change them do the following
- Log in to your publication admin section at
yourblog.com/ghost/signin
- Go to General from the admin menu
- Click
Expand
under Social Accounts, and enter the URLs for your Facebook and Twitter. - Click
Save settings
To edit the other social links follow the steps below. Open up the social-links.hbs
file and change the href value to your profile's URL for that specific social platform.
...
{{!-- Instagram --}}
<a class="social-links__item instagram"
href="https://instagram.com" target="_blank" title="Instagram" aria-label="Instagram">
{{>icon name="instagram"}}
</a>
...
</div>
For example, to change the Instagram link, you have to change the existing href value:
href="https://instagram.com"
Add your instagram account link, example:
href="https://instagram.com/bironthemes"
Comments
Dashi comes with Cove and Disqus.
To change the default comment system you will have to adapt the the comments.hbs
file in the partials directory.
In this file the cove_comments are included using {{> comments-cove.hbs}}
you can change that to {{> comments-disqus.hbs}}
to switch to disqus instead.
Cove
Cove is a commenting platform built on top of Ghostβs Memberships feature.
For the comments to work, you have to create an account at cove.chat and change the theme-config.hbs
file in the partials folder:
...
// Basic Config
let CONFIG = {
...
/* To use Cove, replace the below id with your cove publication id*/
COVE_ID: '9a56f94608ec8169ab6bb8asfdsffa'
...
}
</script>
Replace the value for the COVE_ID with the one from your Cove account.
Disqus
Dashi comes with Disqus comments as well.
Make sure you have registered your website with Disqus and you know your disqus_shortname
.
Open theme-config.hbs
file located in partials
folder.
Change the biron-demo value to match your Disqus account shortname.
<script>
...
// Basic Config
let CONFIG = {
...
/* Replace 'biron-demo' with your disqus account shortname */
DISQUS_SHORTNAME: 'biron-demo',
...
}
</script>
That's all, Disqus comments should work now.
If you don't want comments at all you can delete the comments.hbs
file located
in the partials folder. And delete the following section from post.hbs
, custom-no-sidebar.hbs
, custom-with-table-of-contents.hbs
files located in the root folder of the theme:
{{!-- Include Comments --}}
{{> comments}}
Google Analytics
To add Google Analytics to Ghost follow this tutorial from our blog.
Progressive Web App
Progressive Web Apps allow your website to be installed by anyone, anywhere, on any device with a single codebase.
To enable this feature, you have to change the theme-config.hbs
:
<script>
...
// Basic Config
let CONFIG = {
...
/* Enable PWA - Progressive Web App */
ENABLE_PWA: true,
...
}
</script>
Set the ENABLE_PWA
to true
.
You have to upload three icons in the assets folder:
- icon-48x48.png - icon must be of size 48x48px
- icon-192x192.png - icon must be of size 192x192px
- icon-512x512.png - icon must be of size 512x512px
In the default.hbs
uncomment the code right below the {{!-- PWA --}}
line and
change the content
value of the meta name="theme-color"
with your primary color.
{{!-- PWA --}}
<link rel="manifest" href="{{asset 'manifest.webmanifest'}}">
<meta name="theme-color" content="#6751EB">
<link rel="apple-touch-icon" href="{{asset 'icon-192x192.png'}}">
Next open the manifest.webmanifest
file:
{
"name":"Dashi Ghost Theme",
"short_name":"Dashi",
"description":"Dashi - a Community & Platform Ghost Theme",
"lang":"en",
"start_url":"/",
"background_color":"#ffffff",
"display":"standalone",
"theme_color":"#6751EB",
"icons":[
{
"src":"/assets/icon-48x48.png",
"sizes":"48x48",
"type":"image/png"
},
{
"src": "/assets/icon-192x192.png",
"type": "image/png",
"sizes": "192x192"
},
{
"src": "/assets/icon-512x512.png",
"type": "image/png",
"sizes": "512x512"
}
]
}
Replace all the relevant information like name
, short_name
and description
.
Make sure the icon names are correctly linked.
That's it.
Visit our blog post for more information about Progressive Web App for Ghost Themes.
Announcements
The announcement feature was added with version 1.2.0
and you can use it to highlight some of your posts
which will appear when the user presses the bell icon in the header section.
The bell icon will appear if you have posts with the internal tag #announcement
.
When the user presses the icon the posts will be shown and it's possible to navigate to that post to read the complete content.
By default the limit is set to 3 but it can be changed in the partials/announcement.hbs file.
Theme Development
Dashi is developer friendly, if you need to make advanced customization you will take advantage of the Gulp tasks that are set up for compiling Javascript and PostCSS.
All the assets are combined and minified for better speed and performance. In order to customize the theme make sure you have Node.js and npm installed.
Tutorial on How to Install Ghost.
Run the following commands in the Dashi theme directory:
npm install
This will install all the dependencies for the theme
Then run:
gulp
This will compile PostCSS and javascript and will watch for changes.
So when you edit .hbs
, .css
or .js
file the change will trigger the gulp watch
task and this will compile the assets with your changes.
If you want to compile css or javascript separately, you can run:
gulp css
For compiling CSS files.
Or:
gulp js
For compiling javascript files.
You also have the option to use Code Injection to do customizations. For example, if you want to change the brand color of the theme, add the following code in the Blog Header section.
body {
--color-primary: pink;
}
Credits
Dashi uses the following packages/pulgins:
- Prism.js - Syntax Highlighter
- FitVids - Responsive video embeds
- Lazysizes - Lazy loading images
- Ghost Search - Ghost search plugin
- Tocbot - Generate Table of Contents
- fslightbox - Image Lightbox
- Google Fonts
- Feather Icons - Icon pack
- Drawkit - Demo Images
Images are not included in the download files!
Support
Don't hesitate to contact us if you have any suggestion or need help.
ContactChange Log
v2.0.0 - 19 Mar 2021β¨ Ghost v4 compatibility
- renamed the post-access-cta to content-cta (as ghost uses it by default)
- fixed visibility usage
- updated the ghost engine
- using to the {{price}} helper
β¨ possibility to fade the content preview
π fixed a small bug with the filter bar (when very long tag names are used)
π fixed translations for some "sign out"
New files:
[+] partials/content-cta.hbs
Deleted files:
[-] partials/post-access-cta.hbs
Changed files:
[*] locales/de.json
[*] locales/en.json
[*] locales/es.json
[*] locales/fr.json
[*] locales/pt.json
[*] locales/it.json
[*] locales/tr.json
[*] default.hbs
[*] archive.hbs
[*] author.hbs
[*] error-404.hbs
[*] index.hbs
[*] index2.hbs
[*] index3.hbs
[*] custom-with-sidebar.hbs
[*] custom-with-table-of-contents.hbs
[*] page.hbs
[*] post.hbs
[*] tag.hbs
[*] page-membership.hbs
[*] members/account.hbs
[*] partials/comments-cove.hbs
[*] partials/featured.hbs
[*] partials/post-card.hbs
[*] partials/related-posts.hbs
[*] partials/sidebar.hbs
[*] partials/site-footer.hbs
[*] partials/site-header.hbs
[*] partials/social-share.hbs
[*] partials/welcome.hbs
[*] partials/theme-config.hbs
[*] partials/pricing/free.hbs
[*] partials/pricing/monthly.hbs
[*] partials/pricing/yearly.hbs
[*] assets/css/components/_post.css
[*] assets/css/components/_members.css
[*] assets/css/components/_filter.css
[*] assets/js/script.js
[*] assets/dist/app.min.css (generated file)
[*] assets/dist/app.min.js (generated file)
[*] package.json
β¨ extracted pricing info in separate files for easier maintenance (partials/pricing)
β¨ added translation for the bookmark feature
β¨ added translation for "subscription cancel" and "subscription continue"
π fixed translations for some header items
π fixed a small bug on the post layout (dark theme)
π implemented some checks before rendering content when {{#get}} helper is used
New files:
[+] partials/pricing/free.hbs
[+] partials/pricing/monthly.hbs
[+] partials/pricing/yearly.hbs
Changed files:
[*] locales/de.json
[*] locales/en.json
[*] locales/es.json
[*] locales/fr.json
[*] locales/pt.json
[*] locales/it.json
[*] locales/tr.json
[*] error-404.hbs
[*] page-membership.hbs
[*] page-bookmarks.hbs
[*] members/account.hbs
[*] partials/site-header.hbs
[*] partials/sidebar.hbs
[*] partials/related-posts.hbs
[*] partials/featured.hbs
[*] assets/css/components/_post.css
[*] assets/dist/app.min.css (generated file)
[*] assets/dist/app.min.js (generated file)
[*] package.json
β¨ added the announcement feature
π fixed a bug for the bookmark card on dark theme
π fixed a button alignment issue on mobile for premium members
New files:
[+] assets/css/components/_announcement.css
[+] partials/announcement.hbs
Changed files:
[*] locales/de.json
[*] locales/en.json
[*] locales/es.json
[*] locales/fr.json
[*] locales/pt.json
[*] locales/it.json
[*] locales/tr.json
[*] members/account.hbs
[*] partials/site-header.hbs
[*] assets/css/components/_members.css
[*] assets/css/app.css
[*] assets/dist/app.min.css (generated file)
[*] assets/js/script.js
[*] assets/dist/app.min.js (generated file)
[*] package.json
β¨ added new CONFIG option to open external links in posts in a new tab
π fixed a display bug on bookmarks page
π commented out PWA related links in the head (for the default use without PWA)
βοΈ updated the dependencies
Changed files:
[*] default.hbs
[*] partials/theme-config.hbs
[*] assets/css/components/_bookmarks.css
[*] assets/dist/app.min.css (generated file)
[*] assets/js/script.js
[*] assets/dist/app.min.js (generated file)
[*] package.json
β¨ improved menu & search handling on mobile
β¨ added turkish language
π fixed some translations
π fixed header search on tablet (overlay)
π removed view toggle on mobile
π fixed minor sidebar alignment issue on mobile
π fixed some image alignment issues and details element
π fixed billing update messages
π fixed subscription cancel error message
Changed files:
[*] index2.hbs
[*] index3.hbs
[*] partials/site-header.hbs
[*] partials/site-footer.hbs
[*] members/account.hbs
[*] locales/de.json
[*] locales/en.json
[*] locales/es.json
[*] locales/fr.json
[*] locales/pt.json
[*] locales/it.json
[*] assets/css/components/_menu.css
[*] assets/css/components/_search.css
[*] assets/css/components/_toc.css
[*] assets/css/components/_header.css
[*] assets/css/components/_filter.css
[*] assets/css/components/_post-card.css
[*] assets/css/components/_buttons.css
[*] assets/css/components/_members.css
[*] assets/css/elements/_body.css
[*] assets/css/elements/_text.css
[*] assets/css/tools/_mixins.css
[*] assets/css/utilities/_color.css
[*] assets/dist/app.min.css (generated file)
[*] assets/js/script.js
[*] assets/dist/app.min.js (generated file)
[*] package.json
Added files:
[+] locales/tr.json
Changes:
β¨ added a new home page with featured posts slider
β¨ improved the post layout with sidebar
π fixed a small bug for code highlighting
π fixed a small bug when color picker is disabled
π fixed the post content link color
π fixed the search limit config option
π moved webmanifest to the root folder
βοΈ updated the dependencies
Changed files:
[*] default.hbs
[*] custom-with-sidebar.hbs
[*] partials/comments-cove.hbs
[*] partials/theme-scripts.hbs
[*] partials/theme-color-scheme.hbs
[*] locales/it.json
[*] assets/css/components/_sections.css
[*] assets/css/components/_comments.css
[*] assets/css/components/_menu.css
[*] assets/css/components/_post.css
[*] assets/css/elements/_text.css
[*] assets/css/objects/_flexgrid.css
[*] assets/css/app.css
[*] assets/dist/app.min.css (generated file)
[*] assets/js/script.js
[*] assets/dist/app.min.js (generated file)
[*] gulpfile.js
[*] package.json
Added files:
[+] index3.hbs
[+] partials/featured.hbs
[+] assets/css/components/_featured.css
[+] manifest.webmanifest
Removed files:
[-] assets/manifest.webmanifest
Changes:
β¨ improved "<code>" element style
π fixed small bug on user-menu (very long email address)
βοΈ updated the dependencies
Changed files:
[*] default.hbs
[*] assets/css/components/_code.css
[*] assets/css/components/_user-menu.css
[*] assets/dist/app.min.css (generated file)
[*] assets/js/script.js
[*] assets/dist/app.min.js (generated file)
[*] gulpfile.js
[*] package.json
Changes:
π fixed CTA for premium members
Changed files:
[*] partials/sidebar.hbs
[*] partials/site-footer.hbs
[*] page-membership.hbs
[*] package.json
Changes:
π fixed "load more posts" function
Changed files:
[*] assets/js/script.js
[*] assets/dist/app.min.js (generated file)
[*] package.json
Changes:
π fixed menu scroll-bar on Firefox
π fixed search-result scroll-bar on Firefox
π fixed font preloading on Firefox
Changed files:
[*] default.hbs
[*] assets/css/settings/_settings.css
[*] assets/css/components/_menu.css
[*] assets/css/components/_search.css
[*] assets/dist/app.min.css (generated file)
[*] package.json
[+] Initial release