Compare commits

...

10 Commits
1.2.7 ... 1.3.0

Author SHA1 Message Date
531eacc180 Merge pull request #248 from ErisDS/hannahs-fixes
Minor consistency fixups
2016-05-08 17:21:17 +02:00
8778126d8f Minor consistency fixups
- use a `{{#tag}}{{/tag}}` block for tag in tag.hbs
- use two braces consistently for `{{title}}`
- use double quotes consistently for attributes (quote switching is unnecessary)
2016-05-08 17:09:29 +02:00
09b4830398 Add new subscribers form + visual fixes
- New opt-in form for subscribers features
- Bumped version to 1.3.0
- Resolved author image alignment, closes #238
2016-05-08 10:50:20 +02:00
c1a3840cbe Upgrading Casper to 1.2.8 2016-02-03 09:33:34 +00:00
7f400e46a0 Merge pull request #232 from FongWan/screen.css-normalize-v3.0.3-patch
Update normalize.css to v3.0.3 on 'screen.css'
2016-01-23 11:06:37 +02:00
84148db8eb Merge pull request #233 from FongWan/default.hbs-jquery-v1.12.0-patch
Update JQuery to v1.12.0 on 'default.hbs'
2016-01-23 11:05:45 +02:00
fd7967cb2f Update JQuery to v1.12.0 on 'default.hbs'
Changelog: https://blog.jquery.com/2016/01/08/jquery-2-2-and-1-12-released/
2016-01-22 12:44:49 -04:00
591d1fb782 Update normalize.css to v3.0.3 on 'screen.css' 2016-01-22 12:42:31 -04:00
a5591f03ce Merge pull request #228 from jegtnes/patch-1
Disable ligatures in code blocks
2016-01-21 08:31:53 +02:00
f0ce0d8718 Disable ligatures in code blocks
I recently created a new Ghost blog and a colleague pointed out that ligatures for code blocks looked a bit off. They weren't enabled in Firefox by default, but in Chrome (possibly different browser defaults?). This PR standardises it and removes any ligatures from `<code>` and `<tt>` blocks.
2016-01-20 22:31:24 +00:00
10 changed files with 278 additions and 101 deletions

View File

@ -22,82 +22,80 @@
*/
/* ==========================================================================
0. Normalize.css v2.1.3 | MIT License | git.io/normalize | (minified)
0. normalize.css v3.0.3 | MIT License | git.io/normalize | (minified)
========================================================================== */
article, aside, details,
figcaption, figure,
footer, header, hgroup,
main, nav, section,
summary { display: block; }
audio, canvas, video { display: inline-block; }
audio:not([controls]) { display: none; height: 0; }
[hidden], template { display: none; }
html {
font-family: sans-serif;
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
font-family: sans-serif;
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%
}
body { margin: 0; }
a { background: transparent; }
a:focus { outline: thin dotted; }
a:active, a:hover { outline: 0; }
h1 { font-size: 2em; margin: 0.67em 0; }
abbr[title] { border-bottom: 1px dotted; }
b, strong { font-weight: 700; }
dfn { font-style: italic; }
hr {
-moz-box-sizing: content-box;
box-sizing: content-box;
height: 0;
article, aside, details,
figcaption, figure,
footer, header,
main, menu, nav,
section, summary { display:block; }
audio, canvas, progress, video {
display: inline-block;
vertical-align: baseline;
}
mark { background: #FF0; color: #000; }
code, kbd, pre,
samp { font-family: monospace, serif; font-size: 1em; }
pre { white-space: pre-wrap; }
q { quotes: "\201C" "\201D" "\2018" "\2019"; }
audio:not([controls]) { display: none; height: 0; }
[hidden], template { display: none; }
a { background-color: transparent;}
a:active, a:hover { outline: 0; }
abbr[title] { border-bottom: 1px dotted; }
b, strong { font-weight: bold; }
dfn { font-style: italic; }
h1 { font-size: 2em; margin: 0.67em 0; }
mark { background: #ff0; color: #000; }
small { font-size: 80%; }
sub, sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sup { top: -0.5em; }
sub { bottom: -0.25em; }
img { border: 0; }
svg:not(:root) { overflow: hidden; }
figure { margin: 0; }
fieldset {
border: 1px solid #c0c0c0;
margin: 0 2px;
padding: 0.35em 0.625em 0.75em;
figure { margin: 1em 40px; }
hr { box-sizing: content-box; height: 0; }
pre { overflow: auto; }
code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; }
button, input, optgroup, select, textarea {
color: inherit;
font: inherit;
margin: 0;
}
legend { border: 0; padding: 0; }
button, input, select,
textarea { font-family: inherit; font-size: 100%; margin: 0; }
button, input { line-height: normal; }
button { overflow: visible; }
button, select { text-transform: none; }
button, html input[type="button"],
input[type="reset"], input[type="submit"] {
-webkit-appearance: button;
cursor: pointer;
-webkit-appearance: button;
cursor: pointer;
}
button[disabled], html input[disabled] { cursor: default; }
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
input { line-height: normal; }
input[type="checkbox"],
input[type="radio"] { box-sizing: border-box; padding: 0; }
input[type="search"] {
-webkit-appearance: textfield;
-moz-box-sizing: content-box;
-webkit-box-sizing: content-box;
box-sizing: content-box;
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button { height: auto; }
input[type="search"] { -webkit-appearance: textfield; }
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
button::-moz-focus-inner,
input::-moz-focus-inner { border: 0; padding: 0; }
textarea { overflow: auto; vertical-align: top; }
table { border-collapse: collapse; border-spacing: 0; }
fieldset {
border: 1px solid #c0c0c0;
margin: 0 2px;
padding: 0.35em 0.625em 0.75em;
}
legend { border: 0; padding: 0; }
textarea { overflow: auto; }
optgroup { font-weight: bold; }
table{ border-collapse: collapse; border-spacing: 0; }
td, th{ padding: 0; }
/* ==========================================================================
@ -229,6 +227,7 @@ h2 {
h3 {
font-size: 3rem;
letter-spacing: -0.6px;
}
h4 {
@ -344,6 +343,9 @@ code, tt {
border: #E3EDF3 1px solid;
background: #F7FAFB;
border-radius: 2px;
-webkit-font-feature-settings: "liga" 0;
-moz-font-feature-settings: "liga" 0;
font-feature-settings: "liga" 0;
}
pre {
@ -439,6 +441,78 @@ margin on the iframe, cause it breaks stuff. */
margin: 0;
}
textarea, select, input {
width: 260px;
padding: 6px 9px;
margin: 0 0 5px 0;
outline: 0;
font-family: 'Open Sans', sans-serif;
font-size: 1.6rem;
font-weight: 100;
line-height: 1.4em;
background: #fff;
border: #e7eef2 1px solid;
border-radius: 4px;
box-shadow: none;
-webkit-appearance: none;
}
textarea {
width: 100%;
max-width: 340px;
min-width: 250px;
height: auto;
min-height: 80px;
}
input[type="text"]:focus,
input[type="email"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="number"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
textarea:focus {
border: #bbc7cc 1px solid;
background: #fff;
outline: none;
outline-width: 0;
}
select {
width: 270px;
height: 30px;
line-height: 30px;
}
button {
min-height: 35px;
width: auto;
display: inline-block;
padding: 0.1rem 1.5rem;
cursor: pointer;
outline: none;
text-decoration: none;
color: #fff;
font-family: 'Open Sans', sans-serif;
font-size: 11px; // Hack because Firefox sucks ass.
line-height: 13px; // Hack because Firefox sucks ass.
font-weight: 300;
text-align: center;
letter-spacing: 1px;
text-transform: uppercase;
text-shadow: none;
border-radius: 0.3rem;
border: rgba(0,0,0,0.05) 0.1em solid;
background: #5ba4e5;
}
/* ==========================================================================
3. Utilities - These things get used a lot
@ -1120,7 +1194,7 @@ body:not(.post-template) .post-title {
.post-footer {
position: relative;
margin: 6rem 0 0 0;
padding: 6rem 0 0 0;
padding: 3rem 0 0 0;
border-top: #EBF2F6 1px solid;
}
@ -1173,7 +1247,7 @@ body:not(.post-template) .post-title {
links remain at a fixed width the whole time */
.post-footer .share {
position: absolute;
top: 6rem;
top: 3rem;
right: 0;
width: 140px;
}
@ -1565,7 +1639,65 @@ body:not(.post-template) .post-title {
/* ==========================================================================
10. Footer - The bottom of every page
10. Subscribe - Generate those email subscribers
========================================================================== */
.gh-subscribe {
border: #e7eef2 1px solid;
padding: 3rem;
margin-top: 3rem;
text-align: center;
background: #f5f8fa;
border-radius: 5px;
}
.gh-subscribe-title {
margin-bottom: 0;
font-size: 2.4rem
}
.gh-subscribe p {
margin-top: 0;
font-size: 1.5rem;
}
.gh-subscribe form {
display: flex;
justify-content: center;
margin: 20px 0 0 0;
}
.gh-subscribe .form-group {
flex-grow: 1;
max-width: 300px;
}
.gh-subscribe .subscribe-email {
box-sizing: border-box;
width: 100%;
margin: 0;
border-radius: 4px 0 0 4px;
transition: all ease 0.5s;
}
.gh-subscribe .subscribe-email:focus {
border: #5ba4e5 1px solid;
transition: all ease 0.2s;
}
.gh-subscribe button {
margin-left: -1px;
border-radius: 0 4px 4px 0;
}
.gh-subscribe-rss {
font-family: 'Open Sans', sans-serif;
font-size: 1.2rem;
line-height: 1.4em;
}
/* ==========================================================================
11. Footer - The bottom of every page
========================================================================== */
.site-footer {
@ -1603,7 +1735,7 @@ body:not(.post-template) .post-title {
/* ==========================================================================
11. Media Queries - Smaller than 900px
12. Media Queries - Smaller than 900px
========================================================================== */
@media only screen and (max-width: 900px) {
@ -1719,6 +1851,18 @@ body:not(.post-template) .post-title {
padding: 0;
}
.gh-subscribe {
padding: 2rem;
}
.gh-subscribe-title {
font-size: 2rem
}
.gh-subscribe p {
font-size: 1.4rem;
}
.read-next {
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
@ -1979,6 +2123,10 @@ body:not(.post-template) .post-title {
height: 20vh;
}
.post-footer .author-image {
top: -60px;
}
.author-profile .author-image {
margin-top: -70px;
}
@ -1991,6 +2139,14 @@ body:not(.post-template) .post-title {
display: none;
}
.gh-subscribe {
padding: 15px;
}
.gh-subscribe form {
margin-top: 10px;
}
.read-next {
margin-top: 2rem;
margin-bottom: -37px;
@ -2049,15 +2205,15 @@ body:not(.post-template) .post-title {
}
}
@keyframes bounce {
0%, 20%, 50%, 80%, 100% {
0%, 10%, 25%, 40%, 50% {
-webkit-transform: translateY(0) rotate(-90deg);
transform: translateY(0) rotate(-90deg);
}
40% {
20% {
-webkit-transform: translateY(-10px) rotate(-90deg);
transform: translateY(-10px) rotate(-90deg);
}
60% {
30% {
-webkit-transform: translateY(-5px) rotate(-90deg);
transform: translateY(-5px) rotate(-90deg);
}

View File

@ -1,9 +1,9 @@
{{!< default}}
{{! The tag above means - insert everything in this file into the {body} of the default.hbs template }}
{{!-- The tag above means - insert everything in this file into the {body} of the default.hbs template --}}
{{! The big featured header }}
{{!-- The big featured header --}}
{{! Everything inside the #author tags pulls data from the author }}
{{!-- Everything inside the #author tags pulls data from the author --}}
{{#author}}
<header class="main-header author-head {{#if cover}}" style="background-image: url({{cover}}){{else}}no-cover{{/if}}">
<nav class="main-nav overlay clearfix">
@ -32,10 +32,10 @@
</section>
{{/author}}
{{! The main content area on the homepage }}
{{!-- The main content area on the homepage --}}
<main class="content" role="main">
{{! The tag below includes the post loop - partials/loop.hbs }}
{{!-- The tag below includes the post loop - partials/loop.hbs --}}
{{> "loop"}}
</main>

View File

@ -1,35 +1,39 @@
<!DOCTYPE html>
<html>
<head>
{{! Document Settings }}
{{!-- Document Settings --}}
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
{{! Page Meta }}
{{!-- Page Meta --}}
<title>{{meta_title}}</title>
<meta name="description" content="{{meta_description}}" />
{{!-- Mobile Meta --}}
<meta name="HandheldFriendly" content="True" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
{{!-- Brand icon --}}
<link rel="shortcut icon" href="{{asset "favicon.ico"}}">
{{! Styles'n'Scripts }}
{{!-- Styles'n'Scripts --}}
<link rel="stylesheet" type="text/css" href="{{asset "css/screen.css"}}" />
<link rel="stylesheet" type="text/css" href="//fonts.googleapis.com/css?family=Merriweather:300,700,700italic,300italic|Open+Sans:700,400" />
{{! Ghost outputs important style and meta data with this tag }}
{{!-- Ghost outputs important style and meta data with this tag --}}
{{ghost_head}}
</head>
<body class="{{body_class}} nav-closed">
{{!-- The blog navigation links --}}
{{navigation}}
<div class="site-wrapper">
{{! Everything else gets inserted here }}
{{!-- All the main content gets inserted here, index.hbs, post.hbs, etc --}}
{{{body}}}
{{!-- The tiny footer at the very bottom --}}
<footer class="site-footer clearfix">
<section class="copyright"><a href="{{@blog.url}}">{{@blog.title}}</a> &copy; {{date format="YYYY"}}</section>
<section class="poweredby">Proudly published with <a href="https://ghost.org">Ghost</a></section>
@ -38,12 +42,12 @@
</div>
{{!-- jQuery needs to come before `{{ghost_foot}}` so that jQuery can be used in code injection --}}
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
{{! Ghost outputs important scripts and data with this tag }}
<script type="text/javascript" src="https://code.jquery.com/jquery-1.12.0.min.js"></script>
{{!-- Ghost outputs important scripts and data with this tag --}}
{{ghost_foot}}
{{!-- Fitvids makes video embeds responsive and awesome --}}
<script type="text/javascript" src="{{asset "js/jquery.fitvids.js"}}"></script>
{{! The main JavaScript file for Casper }}
{{!-- The main JavaScript file for Casper --}}
<script type="text/javascript" src="{{asset "js/index.js"}}"></script>
</body>

View File

@ -1,7 +1,7 @@
{{!< default}}
{{! The tag above means - insert everything in this file into the {body} of the default.hbs template }}
{{!-- The tag above means - insert everything in this file into the {body} of the default.hbs template --}}
{{! The big featured header }}
{{!-- The big featured header --}}
<header class="main-header {{#if @blog.cover}}" style="background-image: url({{@blog.cover}}){{else}}no-cover{{/if}}">
<nav class="main-nav overlay clearfix">
{{#if @blog.logo}}<a class="blog-logo" href="{{@blog.url}}"><img src="{{@blog.logo}}" alt="{{@blog.title}}" /></a>{{/if}}
@ -18,10 +18,10 @@
<a class="scroll-down icon-arrow-left" href="#content" data-offset="-45"><span class="hidden">Scroll Down</span></a>
</header>
{{! The main content area on the homepage }}
{{!-- The main content area on the homepage --}}
<main id="content" class="content" role="main">
{{! The tag below includes the post loop - partials/loop.hbs }}
{{!-- The tag below includes the post loop - partials/loop.hbs --}}
{{> "loop"}}
</main>

View File

@ -1,4 +1,4 @@
{
"name": "Casper",
"version": "1.2.7"
"version": "1.3.0"
}

View File

@ -1,9 +1,9 @@
{{!< default}}
{{! This is a page template. A page outputs content just like any other post, and has all the same
attributes by default, but you can also customise it to behave differently if you prefer. }}
{{!-- This is a page template. A page outputs content just like any other post, and has all the same
attributes by default, but you can also customise it to behave differently if you prefer. --}}
{{! Everything inside the #post tags pulls data from the page }}
{{!-- Everything inside the #post tags pulls data from the page --}}
{{#post}}
<header class="main-header post-head {{#if image}}" style="background-image: url({{image}}){{else}}no-cover{{/if}}">

View File

@ -1,13 +1,13 @@
{{! Previous/next page links - only displayed on page 2+ }}
{{!-- Previous/next page links - only displayed on page 2+ --}}
<div class="extra-pagination inner">
{{pagination}}
</div>
{{! This is the post loop - each post will be output using this markup }}
{{!-- This is the post loop - each post will be output using this markup --}}
{{#foreach posts}}
<article class="{{post_class}}">
<header class="post-header">
<h2 class="post-title"><a href="{{url}}">{{{title}}}</a></h2>
<h2 class="post-title"><a href="{{url}}">{{title}}</a></h2>
</header>
<section class="post-excerpt">
<p>{{excerpt words="26"}} <a class="read-more" href="{{url}}">&raquo;</a></p>
@ -16,10 +16,10 @@
{{#if author.image}}<img class="author-thumb" src="{{author.image}}" alt="{{author.name}}" nopin="nopin" />{{/if}}
{{author}}
{{tags prefix=" on "}}
<time class="post-date" datetime="{{date format='YYYY-MM-DD'}}">{{date format="DD MMMM YYYY"}}</time>
<time class="post-date" datetime="{{date format="YYYY-MM-DD"}}">{{date format="DD MMMM YYYY"}}</time>
</footer>
</article>
{{/foreach}}
{{! Previous/next page links - displayed on every page }}
{{!-- Previous/next page links - displayed on every page --}}
{{pagination}}

View File

@ -8,6 +8,10 @@
<li class="nav-{{slug}}{{#if current}} nav-current{{/if}}" role="presentation"><a href="{{url absolute="true"}}">{{label}}</a></li>
{{/foreach}}
</ul>
<a class="subscribe-button icon-feed" href="{{@blog.url}}/rss/">Subscribe</a>
{{#if @labs.subscribers}}
<a class="subscribe-button" href="{{@blog.url}}/subscribe/">Subscribe</a>
{{else}}
<a class="subscribe-button icon-feed" href="{{@blog.url}}/rss/">Subscribe</a>
{{/if}}
</div>
<span class="nav-cover"></span>

View File

@ -1,9 +1,9 @@
{{!< default}}
{{! The comment above "< default" means - insert everything in this file into
the {body} of the default.hbs template, which contains our header/footer. }}
{{!-- The comment above "< default" means - insert everything in this file into
the {{{body}}} of the default.hbs template, containing the blog header/footer. --}}
{{! Everything inside the #post tags pulls data from the post }}
{{!-- Everything inside the #post tags pulls data from the post --}}
{{#post}}
<header class="main-header post-head {{#if image}}" style="background-image: url({{image}}){{else}}no-cover{{/if}}">
@ -21,7 +21,7 @@
<header class="post-header">
<h1 class="post-title">{{title}}</h1>
<section class="post-meta">
<time class="post-date" datetime="{{date format='YYYY-MM-DD'}}">{{date format="DD MMMM YYYY"}}</time> {{tags prefix=" on "}}
<time class="post-date" datetime="{{date format="YYYY-MM-DD"}}">{{date format="DD MMMM YYYY"}}</time> {{tags prefix=" on "}}
</section>
</header>
@ -31,7 +31,7 @@
<footer class="post-footer">
{{! Everything inside the #author tags pulls data from the author }}
{{!-- Everything inside the #author tags pulls data from the author --}}
{{#author}}
{{#if image}}
@ -72,11 +72,22 @@
</a>
</section>
{{!-- Email subscribe form at the bottom of the page --}}
{{#if @labs.subscribers}}
<section class="gh-subscribe">
<h3 class="gh-subscribe-title">Subscribe to {{@blog.title}}</h3>
<p>Get the latest posts delivered right to your inbox.</p>
{{subscribe_form placeholder="Your email address"}}
<span class="gh-subscribe-rss">or subscribe <a href="http://cloud.feedly.com/#subscription/feed/{{@blog.url}}/rss/">via RSS</a> with Feedly!</span>
</section>
{{/if}}
</footer>
</article>
</main>
{{!-- Links to Previous/Next posts --}}
<aside class="read-next">
{{#next_post}}
<a class="read-next-story {{#if image}}" style="background-image: url({{image}}){{else}}no-cover{{/if}}" href="{{url}}">

18
tag.hbs
View File

@ -1,7 +1,7 @@
{{!< default}}
{{! The tag above means - insert everything in this file into the {body} of the default.hbs template }}
{{!-- The tag above means - insert everything in this file into the {body} of the default.hbs template --}}
{{! If we have a tag cover, display that - else blog cover - else nothing }}
{{!-- If we have a tag cover, display that - else blog cover - else nothing --}}
<header class="main-header tag-head {{#if tag.image}}" style="background-image: url({{tag.image}}){{else}}{{#if @blog.cover}}" style="background-image: url({{@blog.cover}}){{else}}no-cover{{/if}}{{/if}}">
<nav class="main-nav overlay clearfix">
{{#if @blog.logo}}<a class="blog-logo" href="{{@blog.url}}"><img src="{{@blog.logo}}" alt="{{@blog.title}}" /></a>{{/if}}
@ -10,23 +10,25 @@
{{/if}}
</nav>
<div class="vertical">
{{#tag}}
<div class="main-header-content inner">
<h1 class="page-title">{{tag.name}}</h1>
<h1 class="page-title">{{name}}</h1>
<h2 class="page-description">
{{#if tag.description}}
{{tag.description}}
{{#if description}}
{{description}}
{{else}}
A {{pagination.total}}-post collection
A {{../pagination.total}}-post collection
{{/if}}
</h2>
</div>
{{/tag}}
</div>
</header>
{{! The main content area on the homepage }}
{{!-- The main content area on the homepage --}}
<main class="content" role="main">
{{! The tag below includes the post loop - partials/loop.hbs }}
{{!-- The tag below includes the post loop - partials/loop.hbs --}}
{{> "loop"}}
</main>