Coder Social home page Coder Social logo

kelyvin / ghost-caffeine-theme Goto Github PK

View Code? Open in Web Editor NEW
335.0 16.0 98.0 4.29 MB

A minimalist, Material Design inspired Ghost Theme for optimal desktop and mobile experiences

Home Page: https://caffeinecoding.com

License: MIT License

JavaScript 22.57% Handlebars 36.68% SCSS 40.75%
ghost ghost-theme ghost-blog ghost-themes ghost-installation caffeine blogging themes publishing

ghost-caffeine-theme's Introduction

Caffeine Theme Build Status GitHub version

Caffeine Coding

Read before use

Thank you so much for your support and contributions for the past 6+ years. The Ghost Foundation has evolved immensely in the past several years and their current collection of free/paid themes have gone a lot further than when I originally started this project. Because of this and a shift of personal priorities, I will no longer be actively developing this theme and any future updates will no longer be coming from me. I will still try to merge in a PR every now and then, and if anyone is passionate about continuing support, plesae reach out to me and I can make you a contributor. Thank you again for your years of support!

Introduction

Caffeine Theme is a Material Design inspired theme for the Ghostpublishing platform. It originally began as a fork of Uno-Zen, but has since been drastically changed. Huge thanks to the original creator for the original theme layout and inspiration.

The theme is super easy to configure, with almost no code change necessary! Simply follow the customization options below.

You can check out the theme in action on my official blog Caffeine Coding

Ghost Versions Support

This theme has been upgraded to v4.0.0 to support the latest version of Ghost v2.*. If you still need theme support for Ghost v1.*, you can download the Caffeine Theme v3.0.6 release. If you are still on Ghost v0.11.*, you can download Caffeine Theme v2.9.0 release.

Note: because this theme maintains a certain style, you will not be able to take advantage of the Image Size Options of Ghost v2. If you'd like to have more image sizing options, please provide a potential solution (that works well with the design) and make a pull request.

Table of Contents

Theme Features

Because Caffeine Theme draws inspiration from Material design practices, you'll see familiar design patterns throughout the theme, such as cards, several buttons, etc.

Like the original Uno-zen theme that helped provide the skeleton for this project, there may still be some shared similiaries with the original project. However, there are some vast changes as well, especially around the mobile experience and animation logic.

The following is a list of key differences that include, but are not limited to:

  • Masonry support for pinterest-esque grid layouts
  • Scroll reveal support for Google+ like rendering
  • Mailchimp integration and support for email subscriptions
  • Font-awesome support to use the latest icons from Font Awesome
  • Toast notifications support to keep your users informed when they hit your home page
  • Prismjs support for syntax highlighting in your posts
  • Special browser compatibility page for IE9 and below.
  • Mobile-first driven experience
  • Improved responsiveness for dynamic screen widths (no more hard-refreshing the page)
  • A search and tag overlay that can be used on both the desktop and mobile experience
  • Bigger emphasis on the splash page
  • Smoother animations and style

Installation

You can install this theme in one of three ways, but the last two options require git.

Option 1

Download the latest release on Github, download the zip, extract the folder, and paste it into your theme folder (content/themes) of your Ghost installation

Option 2

Enter the theme folder (content/themes) of your Ghost installation and paste the following command:

$ git clone https://github.com/kelyvin/caffeine-theme

Option 3

If you have your Ghost blog hosted on git and you want to continuously get the latest updates, you can add this repo as a submodule. Create a .gitmodules file in your root Ghost installation and add the following like so:

Add JQuery and other libraries

This theme needs jQuery to work, but jQuery is not provided by the theme. Instead, you need to inject it into the Blog Footer in the Code injection of your Ghost installation:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>

In addition, this theme also takes advantage of Masonry to provide a nicer grid layout and Scroll Reveal for sleek scrolling animations. These are not mandatory and fallbacks are also provided for both. If you would like these feature(s), inject the following code as well. (Note: imagesloaded is not necessary, but recommended for smooth masonry layouts).

<script type="text/javascript" src="https://unpkg.com/[email protected]/imagesloaded.pkgd.min.js"></script>
<script type="text/javascript" src="https://unpkg.com/[email protected]/dist/masonry.pkgd.min.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/scrollreveal.js/3.0.9/scrollreveal.min.js"></script>

At the end, it should probably look something like this:

Customizations

As mentioned earlier, this theme is very easily configurable to suit your needs. Every feature of the theme that you can easily customize will be listed below.

General Settings

Make sure to set up some of your default settings within your Ghost Admin panel → General. By setting your blog title, description, cover, logo, and posts per page, you will be able to maximize the capabilities of this theme.

Number of Posts

With ghost migrating to v1, to set the number of posts per page, you'll have to configure a file within the theme directly. The configuration is set within the package.json. To adjust it, you'll need to modify the following:

"config": {
    "posts_per_page": 6
}

Header icon

On every page there is an icon on the upper-left hand corner that will open the splash screen. If you'd rather set your own icon, overwrite the icon.png within assets/img/icon. Or, if you rather not use an icon, you can simply open up the partials/header.hbs and uncomment the following line:

<img src="{{@site.logo}}" alt="{{@site.title}} avatar" class="avatar rounded hvr-buzz-out" />

and delete the following line:

 <img src="{{asset "img/icons/icon.png"}}" alt="{{@site.title}} icon" class="icon rounded hvr-buzz-out" />

Favicons

Create your favicons with Favicon Generator and place them in in assets/img/icons or whatever folder you feel comfortable with.

Tags Overlay

To purpose of the tags overlay is to display a list of popular tags that you want your users to easily find and navigate to. You can continuously add to this list to create an "infinite" list of tags.

Go to Ghost Admin panel → Code InjectionBlog Header and add:

<script>
var tag_names = ['code', 'career'];
</script>

Note: Ghost currently does not have a "production" ready feature to easily find your list of tags, so this is the temporary solution until that feature is more broadly supported.

Google Analytics

Go to Ghost Admin panel → Code InjectionBlog Header and add:

<script>
var ga_id = 'UA-YOUR_ID_HERE';
</script>

Disqus Comments

Go to Ghost Admin panel → Code InjectionBlog Header and add:

<script>
var disqus_shortname = 'YOUR_DISQUS_SHORTCUT_HERE';
</script>

Masonry Grid Layout (beta)

By default this theme will create a two column grid layout if you decided to import the Masonry package as described in the instructions above. If you didn't import the package, the theme will render a single column grid.

You can customize the number of columns you'd like your home page to render by simply specifying the number in the following option.

Go to Ghost Admin panel → Code InjectionBlog Header and add:

<script>
var gridOptions = {
    columns: 3
};
</script>

This will change the theme to use a 3 column grid. Feel free to experiment the grid columns with the number of posts you want to show on each page to get the experience that you want!

Note: This feature is still somewhat experimental and you may see some jumpy animations

Mailchimp

This theme easily enables you to create a Mailchimp subscription sign-up. We are using Hello Byte's subbscribe library to create an opt-in popup form. Due to its lack of support for a package manager, I have included its assets as part of this project. I will try to keep that updated regularly as needed.

To enable this feature, you'll need to obtain your Mailchimp embed signup form action URL, which is documented here. Then inject it into your blog header like the example below.

Go to Ghost Admin panel → Code InjectionBlog Header and add:

<script>
var mailchimpOptions = {
    url: "//1bytebeta.us9.list-manage.com/subscribe/post?u=1c261e60d8259c0c636801494&amp;id=7fa99bf359"
};
</script>

You must set the url option for the subscribe button to appear properly. Otherwise, you can modify the contents of the subscribe button by simply adding more options to mailchimpOptions. The following list of options are supported and you can edit them to your liking:

var mailchimpOptions = {
    url: "//1bytebeta.us9.list-manage.com/subscribe/post?u=1c261e60d8259c0c636801494&amp;id=7fa99bf359",
    title: "Never miss a post!",
    text: "Stay up to the date with the latest posts from Caffeine Coding!",
    name: "<a href='https://www.facebook.com/caffeinecoding' target='_blank'>@caffeinecoding</a>",
    color: "#56817A",
    thumbnail: "http://i.imgur.com/39erIwp.png"
};

Toast Notifications

This theme has support with toastr to create custom notifications on your blog for your users to see. You can configure the notification through the Ghost admin panel, as seen in the example below:

Go to Ghost Admin panel → Code InjectionBlog Header and add:

<script>
var notificationOptions = {
    type: "info",
    message: "I want to show this message",
    isShownOnce: true,
    escapeHtml: false
};
</script>

The type will define the type of notification to render, the message will display the message to render, escapeHtml will specify whether to escape the message to render HTML, and isShownOnce will set whether to only show our users the notification once.

Note: isShownOnce will be determined by setting a value in local storage that is set to the message. So if your message changes, the local storage value will be set to the new message. We determine whether to show the notification based on whether the current notification message is equal to their last visit.

Cover

Go to Ghost Admin panel → General → Blog Cover

Cover title

By default, the title that you see in the cover page of your blog is extracted from your blog settings (Admin panel → Blog Title).

If you want to customize it, you can do it like so:

Go to Ghost Admin panel → Code InjectionBlog Header and add:

<script>
var profile_title = 'Caffeine Theme';
</script>

Cover subtitle

The purpose of the subtitle is to describe your bio in a quick phrase.

Go to Ghost Admin panel → Code InjectionBlog Header and add:

<script>
var profile_resume ='Software Engineer';
</script>

Disable Cover

If you'd like to disable the cover and go directly to the home page, you can simply add the following code to the code injection.

Go to Ghost Admin panel → Code InjectionBlog Header and add:

<script>
var disableCover = true;
</script>

Links

Go to Ghost Admin panel → Navigation and add/edit items.

The "Home" link is always included by default, so you don't need to add it manually.

Browser Compatibility Page

This theme includes a special browser compatibility page for users who use IE9 and below. You can enable it by creating a static page with the post url as browser-compatbility, as seen in the example below.

Custom static pages

Check out the official documentation on Ghost.org.

Social Networks

To manage your social networks, you'll need to provide a custom config option.

For Facebook and Twitter links, go to Ghost Admin panel → General → Social accounts. For LinkedIn and Github links, go to Ghost Admin panel → Code InjectionBlog Header and add:

<script>
    var socialConfig = {
        facebook: {
            title: "Caffeine Coding on Facebook"
        },
        twitter: {
            title: "@KelyvinN on Twitter"
        },
        linkedIn: {
            link: "https://linkedin.com/in/kelyvin",
            title: "Kelyvin on LinkedIn"
        },
        github: {
            link: "https://github.com/kelyvin",
            title: "Kelyvin on Github"
        }
    };
</script>

If you don't provide a config for any of these, they will automatically be omitted. If you want other social links besides these four, you'll have to get your hands a little dirty. You can edit the file partials/social.hbs with all the social networks you want to show, following the same HTML markup pattern that you see. You can find the right social icon for you by searching through Font Awesome's icon list.

AMP Support

As of Ghost v0.10.0, Ghost supports and will automatically render AMP (accelerated mobile pages) versions of your posts. You can read more about the AMP project here.

Included in this theme is an amp.hbs file that represents the AMP template. This template is simply a clone of Ghost's default template but with some some slight modifications to better fit the style of this theme.

For example, if you'd like to change the default header color to match your theme's default color, simply open up amp.hbs and modify the following line with the HEX color of your choice:

.main-header {
    ...
    background: #56817A no-repeat center center;
    ...
}

To see how the AMP version of a post looks, append /amp to the end of the URL of your post. So if you had a blog post with the url: https://www.caffeinecoding.com/why-intuit/, it's AMP equivalent would be: https://www.caffeinecoding.com/why-intuit/amp.

Syntax highlight support for additional languages

Prism.js includes only some basic languages such as html, markdown, css and javascript. Add the Prism.js autoloader plugin to dynamically load additional languages. You need to inject it into the Blog Footer in the Code injection of your Ghost installation:

<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.15.0/components/prism-core.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.15.0/plugins/autoloader/prism-autoloader.js"></script>
<script>Prism.plugins.autoloader.languages_path = 'https://cdnjs.cloudflare.com/ajax/libs/prism/1.15.0/components/'</script>

Developing and Contributing

There may be a situation where you want to pull the code and modify the code directly, or you may even want to contribute! You may do this to simply change the base colors, add additional features, or even help me fix some bugs! Follow the instructions below on how to get started with this.

File System

The code for the theme is divided into 3 main sections: static files (as HTML and images), CSS and JS. Check out the directory structure below:

.
├── LICENSE.md
├── README.md
├── assets
│   ├── css
│   │   └── caffeine-theme.css //production css
│   ├── fonts
│   ├── img //favicons and cover image
│   ├── js
│   │   ├── src //all the code that will be compiled, concatenated, and minified
│   │   │   ├── __init.js
│   │   │   ├── cover.js
│   │   │   ├── main.js
│   │   │   └── search.js
│   │   └── caffeine-theme.js //production js
│   └── scss //all the sass stylsheets that will be bundled together
│   │   ├── components //stylesheets for specific components
│   │   ├── _aside.scss
│   │   ├── _loading.scss
│   │   ├── _media-queries.scss
│   │   ├── _page-error.scss
│   │   ├── _pagination.scss
│   │   ├── _post.scss
│   │   └── _search.scss
│   ├── modules //stylesheets for generic modules
│   │   ├── _buttons.scss
│   │   ├── _effects.scss
│   │   ├── _fonts.scss
│   │   ├── _forms.scss
│   │   ├── _global.scss
│   │   ├── _grid.scss
│   │   ├── _mixins.scss
│   │   ├── _reset.scss
│   │   └── _variables.scss
│   └── caffeine-theme.scss //parent sass file
|   
├── default.hbs
├── error.hbs
├── gulpfile.js
├── index.hbs
├── node_modules
├── package.json
├── partials //partial hbs views
│   ├── aside.hbs
│   ├── comments.hbs
│   ├── footer.hbs
│   ├── google-analytics.hbs
│   ├── links.hbs
│   ├── meta.hbs
│   ├── pagination.hbs
│   ├── search.hbs
│   └── social.hbs
├── post.hbs
└── tag.hbs

Putting the files in context:

  • The JS inside assets/js/src is compiled into assets/js/caffeine-theme.js
  • The SCSS (we use SASS) files inside assets/scss are compiled into assets/css/caffeine-theme.css
  • We have some static files like post.hbs, tag.hbs, default.hbs, index.hbs... the partials views inside assets/partials are used in these views.

To bundle, minify, and compile the stylesheets and js files, we use Gulp, check gulpfile.js for the build tasks.

Building

For local development you need to have to install some core node modules and have a locally running Ghost server.

Assuming you already have Node and npm installed, follow the instructions to install Gulp.

Run your Ghost server separately like this:

npm start

Migrations: Up to date at version 004
Ghost is running in development...
Listening on 127.0.0.1:2368
Url configured as: http://localhost:2368
Ctrl+C to shut down

Note that my local Ghost is running in the port 2368.

With your local Ghost running, open another terminal and enter in the folder content/themes of your local Ghost and clone the theme repository and install the dependencies for local development:

$ git clone https://github.com/kelyvin/caffeine-theme && cd caffeine-theme && npm install

Then run npm start or the gulp command in the theme terminal. This should set you up for a development scenario, and looks like this:

With the gulp command you are automatically launching the task to compile the assets and reload the server when your assets change. To do this, we use BrowserSync. It is set up as middleware between the theme and Ghost. You can connect different devices and try the responsive of the website as well.

You need to use the same port as your Ghost server for proxying. If your Ghost server is in a different port than 2368 you need to modify gulpfile.js and put the correct port.

Note: I recommend using the npm start command since it will automatically run npm install for simplicity's sake.

Colors

Edit the file assets/scss/modules/_variables.scss. Remember that before you deploy your changes to prod, it is necessary to compile the build to rebuild your new stylesheet, so keep running your gulp process in background.

Preparing for production

When you are ready and want to deploy a new version, package your code using gulp build command, that will minify and concatenate all the necessary code.

ghost-caffeine-theme's People

Contributors

0t2 avatar andrewlock avatar antranthien avatar baankeybihari avatar dependabot[bot] avatar geertjanvdb avatar hmobius avatar kelyvin avatar lehmamic avatar nickjamesio avatar npmcdn-to-unpkg-bot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ghost-caffeine-theme's Issues

MailChimp Content Modification

I am trying to modify the mailchimp content by editing the cover.js files as the README instructs. Here is my code:

if (window.mailchimp_url) {
    $("body").subbscribe({
        title: "Never miss a post!",
        text: "Stay up to the date with the latest posts!",
        name: "<a href='https://twitter.com/fbgrecojr' target='_blank'>@fbgrecojr</a>",
        color: "#56817A",
        thumbnail: "http://i.imgur.com/39erIwp.png",
        list: "MailChimp",
        url : window.mailchimp_url
    });
}

However, after zipping up the updated package and uploading it to Ghost, it still shows the original CaffeineCoding content

Search field not working

Hello,

I downloaded the caffeine-theme, installed it, added jQuery and other libraries.
Everything works fine except that the search field and popular tag are not working!
I get one error in the console: "Failed to load resource: the server responded with a status of 404 (Not Found)" for the file /rss.

Can you help me please ?

I have found the solution to the block rendering problem

The layout action would be executed after all resources finished, like this

$(window).load(function() {
  window.sr = window.ScrollReveal().reveal(cardName, {
      afterReveal: function () {
          if ($postsGrid) {
              $postsGrid.masonry("layout");
          }
      }
  });
});

So if there were any external resources can't be downloaded, the downloading would block the rendering.

My solution is s.setAttribute('external_src', url)

var s = document.createElement('script'); s.async = true;
        s.type = 'text/javascript';
        s.setAttribute('external_src', '//' + window.disqus_shortname + '.disqus.com/count.js');

So that the count.js would not block the load() function.

After layout being executed, we can append a function like this

$(window).load(function() {
    $('[external_src]').each(function() {
        var external_src = $(this).attr("external_src");
        $(this).attr("src", $(this).attr("external_src")).removeAttr("external_src");
    });
});

Refactor code to modern standards

It's been a long time since the code has been cleaned up. It originally started as a fork of another project but has since deviated drastically. As a result, it's appropriate to make updates to the internals. The refactor the code to leverage the following:

  1. Update gulp builds
  2. Remove bower and switch to npm/yarn full-time
  3. Update code to ES6 standards
  4. Font awesome 5 upgrade
  5. Improve JS code with better architecture and ghost v2 compliance
  6. Replace gulp to webpack for modern client-side bundling

It's difficult trying to find the time to do this myself, so if anyone would like to volunteer, you'd be the real mvp.

Some tables are not known to be scrollable on mobile

Hi @kelyvin ,
I'm reopening the previous issue #26, the tables on mobiles does not reveal to the user that they are scrollable.
For example with this table:
screenshot_20161212-151219

You can't really know that there is a third column except if you magically scroll horizontally:
screenshot_20161212-151236

Moreover the tables seems to be completely shrank on desktop:
activity_as_context__you_re_doing_it_wrong_

Thank you for your consideration 🙏

Tables in html are not well rendered

I just noticed that tables in html (and maybe other html objects?) are not well rendered.
For example take this table:

<table border="1">
  <tr>
    <td></td>
    <td>Application context</td>
    <td>Activity context</td>
    <td>Service context</td>
  </tr>
  <tr>
    <td>Show an ui component</td>
    <td>NO<sup>1</sup></td>
    <td>YES</td>
    <td>NO<sup>1</sup></td>
  </tr>
</table>

Here is how it looks like with the casper theme:
table1

And how it looks like with caffeine theme:

table2

Any advise for a possible workaround? Creating a table in ascii with a markdown code snippet is not visually great :(

Browser compatibility page is broken

The browser compatibility page uses the title of the page instead of the blog's title.

Also, the conditional directive in default.hbs only redirects IE 9 to the browser compatibility page, not IE7, IE 8 etc

Author Bio and Author Page

It's a feature request, but it'd be nice to have an Author bio at the bottom of every post and a separate Author Page, just like the default theme.
Thanks :-)

Add social_links and no icon shown

For example I add a commet link like this

    <!-- Comments-->
    <li class="social item hvr-grow-rotate">
        <a rel="me" target="_blank" href="http://blablabla" title="chat with us">
            <i class="fas fa-comments"></i>
            <span class="label">comments</span>
        </a>
    </li>

And I don't get any icon shown. Any way to solve that ?
Thank you for coding and watching this issue.

Navigation buttons spacing

Hello,

Another quick issue & possible improvement: navigation buttons in the call to action container get squished when the screen width forces them on two lines.

It's mostly an issue with mobile browsers, could be an issue in a normal browser if someone had a ton of navigation links.


Fixed it on my end by adding a 5px vertical padding:
francoisgervais@c1441d9

Cards disappear in safari on first load

Loving the theme. Starting to build and modify it a bit for my site (https://mattwelch.io). One thing I've noticed, on my site and on yours, is that on first load in Safari, all the cards on the posts home page disappear after flashing visible for a split second.

If I go to another Safari tab and then back, they reappear. It sounds kind of like this issue but not only in private browsing mode.

How to remove disqus?

Hi, I'm a Ghost newbie and I come from China.
In China, people can't use Disqus normally, so I want to remove the Disqus. However when I deleted partials/disqus-comment-count.hbs & comments.hbs. The Ghost page showed 404.
I have tried to modify the code in such .hbs, but it didn't work.
Please tell me how to work it out. Thank you!

Back Arrow on Static Pages

Found an interesting error when creating static pages. Other than the "About" page, if you make a story with the title About and make it static, it appears that all other static pages have a back arrow that redirects to the URL domain.com/pagename/#open.

Anyone have any ideas on how to correct the URL or remove the arrow all together. I'll be searching around and see if I can fix it myself.

Some texts are out of bounds

Hello,
Some of the texts including news and tables are sometimes out of boundaries.
Here is an example of what I get on the desktop rendering (chrome):
tuatini_s_blog1

and for the <table> here is what I get on Chrome for Android:
screenshot_20161211-162329

GhostHunter search limited to 15 posts

It is a limitation of the current implementation of the ghosthunter plugin, but currently only the latest 15 posts will be searched.

The version of ghosthunter we're using uses the RSS feed as it's source, which according to this post is hard coded to 15 posts.

It looks like the latest version uses the public ghost API, but that does require you enable it, and looks like it may have some performance issues at present.

I suggest we keep an eye on the project for now till it looks like a good option 😄

Update close icon for subscribe button

The original close icon for the subscribe button was being pulled from some CDN source that no longer exists, so we'll need to provide a replacement or fix for this.

Fix issue with toast notifications

Toast notifications are not properly being displayed due to an issue with toastr. This probably related to our build and the built bundle.

Posts page broken in Safari Private browsing

Hi Kelvin,

First off nice theme - I plan on adapting it for my new blog soon.

I noticed you've switched to using localStorage in place of js-cookie. I was wondering what the bug you refer to is in the update?

Unfortunately the switch to store.js means the theme is currently broken when store is not available, which happens for example in Safari Private browsing mode. As someone that uses private browsing quite a lot that seems like a big limitation. Especially as there is no warning, the posts just don't load (see screenshot).

image

bourbon files are missing

/assets/scss/bourbon-custom.scss the following files are missing:
@import '../vendor/bourbon/app/assets/stylesheets/settings/prefixer.scss';
@import '../vendor/bourbon/app/assets/stylesheets/css3/transition.scss';
@import "../vendor/bourbon/app/assets/stylesheets/addons/prefixer.scss";

They are not present also in a fresh bourbon install. May be it`s time for some refactoring ;)

Contact page - disqus

Hi,
Loving the theme! Nice work.
I noticed that static pages 'About' and "Home' have disqus disabled. This is great. How do I go about disabling on 'Contact' page? Is a custom template required? page-contact.hbs for example?
Thanks

Printing is broken in Firefox and Edge

A niche issue I know, but someone just flagged it to me on my blog. It prints fine on Chrome.

If you view the theme in Edge and press ctrl+p, the resulting print preview is mostly white, only shows the header of the blog, and is only 1 page long.

I've checked on both our blogs, so it's definitely a theme issue - we probably just need to add some print media query css

How to remove the splash screen?

Hey there,
Thanks a lot for the theme. Just wanted to know, how can I remove the splash screen and move directly to the home?

MailChimp subscribe not working

I try to add MailChimp subscribe to my website.

This is what I add, exactly the same format as the example:

<script>
var mailchimpOptions = {
    url: "//janvdkolk.us14.list-manage1.com/subscribe?u=18abd455664ef9cbac66fd316&id=ac22da35f1"
};
</script>

The subscribe button appears, but after I fill in name and email and click send, nothing happens. The link works, you can check it.

When I try the code from the example it does work and I receive a confirmation email.

Theme not showing up after git clone?

I did a git clone to get the theme and I see it in my themes directory alongside the default Casper. But when I go to settings, only Casper shows up in the list.

About Page

Hello,
Loving the theme! Nice work.

I want to create an about page like your. Do i have to make a new post and make it static page? When i tried that i saw the circle image in the centre but it also changed the top banner image. In your web site the banner image shows the cover photo. Thank you

Adding Blog Description to Blog Header

I have switched to caffiene-theme because the theme I was using before didn't have an active community. I appreciate that there seem to be more contributors here and more responsive to issues and pull requests.

In my old blog, the blog description (from settings general) were displayed below the blog title in the header. However, with cover set to be off in my blog, it doesn't show — only the title. Poking around (I'm not a web expert, more a coder) I can't seem to find the right place. Which file and what html should I add to my fork of the template to turn this on?

My blog is at http://www.livelywork.com/

About code highlight

I want to change code highlight color,how should I do?if you can provide some options to fast change code block color,It is very friendly to people who can't use sass.
And I want to modify markdown style or use ghost default style,which files should I modify?
Thanks!

Word Wrap didn't work in <code> area

Hi there,

I had to add the following CSS to make "code" areas looking well in Chrome.

pre>code {
     white-space: pre-line !important;
}

Maybe it would be good to make a change in CSS for this.

Kind Regards,

Christian

Social Links

Hey,
could there be a way of setting the social links in a script block like this

<script>
var xyz = 'http://facebook.com/user';
</script>

Another thought would be to set additional info like the title and the service in an js object

<script>
var xyz = {
   service: fb,
   link:'http://face...',
   title: '',
   fa_icon: ''
};
</script>

Html <sup> are not rendered properly

The <sup> html directive used to make an exponent is weird. Here is an example of what we get with the caffeine theme below:
exponent1

and with the casper theme:
exponent2

with the code: NO<sup>1</sup>
The one with the caffeine theme looks more like a "minus 1" instead of an exponent.

Allow easier customising of AMP styles

I finally got round to taking a look at #18 (had to upgrade ghost) and all looks great.

The only thing I think we could improve would be to make it easier to update the custom styles in line with the scss variables

I've had a play with this locally, by using the following process

  1. Create an amp-theme.scss file
  2. Add a gulp task to process and minify the file, output it to partials/amp-theme.hbs
  3. Update the amp.hbs to render the partial inside the custom styles tag

This seems to work pretty well - you can then replace the colours etc with the theme variables, so when people customise the theme, they don't have to worry about doing the AMP styles manually. It's a bit hacky to be converting a scss file to a partial, but it does the job seeing as you can't link to a stylesheet separately..

If you're happy with that approach, I'll send a PR :)

How to support Scala/Java syntax highlight

I would like to add Scala/Java syntax highlight, but I don't know how to do it.

I tried to modify assets/vendor/prism/gulpfile.js and execute gulp build, but it doesn't work...

Please give me some hints, thanks

Invalid sass in _mixins.scss

When trying to build the project using gulp build, I get the following error:

'Error: ".call-to-action-container .navigation .links li" failed to @extend "btn-cover".
The selector "btn-cover" was not found.
Use "@extend btn-cover !optional" if the extend should be able to fail.
on line 47 of assets/scss/modules/_mixins.scss

This is caused by the mixin btn-cover-with-border:

@mixin btn-cover-with-border {
    border: 1px solid $slate-white;

    &:hover {
        border: 1px solid $primary-color;
    }
    @extend btn-cover;
}

The final @extend btn-cover; should probably be changed to @include btn-cover;.

I can create a quick PR if you like though presumably the build is working for you, so maybe there is a separate issue?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.