Compare commits

..

50 Commits
1.0.1 ... 1.1.6

Author SHA1 Message Date
94422fffe2 Upgrading Casper to 1.1.6 2015-02-28 16:15:47 +00:00
47e0b19562 Merge pull request #177 from ErisDS/global-nav
Switch navigation to be global
2015-02-28 15:54:15 +00:00
8ec65a45e4 Switch navigation to be global 2015-02-28 14:08:27 +00:00
8e220b089b Fix Safari mobile bug
Opacity: 0 on nav sidebar when closed
2015-02-28 16:07:43 +02:00
e4861a0d78 Fix for long nav items 2015-02-28 14:38:01 +02:00
243192f0d9 Updating nav styles 2015-02-28 14:34:58 +02:00
c516c10383 Merge pull request #175 from PaulAdamDavis/navigation
Navigation
2015-02-28 11:41:15 +02:00
46dc55769e Navigation 2015-02-27 19:33:27 +00:00
191f5f74f1 Merge pull request #174 from nicdutil/master
fixed ie9 rotate issue with scroll-down arrow
2015-02-24 09:44:03 +02:00
e559857b12 fixed ie9 rotate issue with scroll-down arrow 2015-02-24 00:45:08 -05:00
8f9a185a80 Merge pull request #171 from AlexanderGalen/master
Add geometricPrecision text-rendering on text elements to support ligatures
2015-02-23 11:31:08 +02:00
bcb586b862 add 'text-rendering:geometricPrecision;' anywhere that seemed appropriate to support ligatures. closes #167 2015-02-18 17:25:18 -08:00
70ad5bde8b Merge pull request #170 from mankittens/master
Fixed transition definitions
2015-02-18 10:36:53 +02:00
b064e9fc87 Fixed transition definitions
Made sure durations come before timing functions.

https://github.com/TryGhost/Casper/issues/168#issuecomment-74828463
2015-02-18 03:31:26 -05:00
1e6e807f94 Merge pull request #163 from janoskk/gist_fix
Fix gist line numbering issue #162
2015-01-22 11:17:34 -08:00
9cf7aea47c Merge pull request #141 from rglyall/master
Add conditional around 'bio' in author.hbs
2015-01-22 08:51:14 -08:00
6db90c9fec Fix gist line numbering issue #162 2015-01-22 11:49:02 +01:00
bc7b44f01b Merge pull request #159 from crepererum/css_warnings
Fix multiple CSS problems, mostly reported by Firefox
2015-01-15 07:33:45 -08:00
db4979d32d Fix multiple CSS problems, mostly reported by Firefox
- typo: `*zoom: ...;` should be `zoom: ...;`
 - outdated prefix: `white-space: -moz-pre-wrap;` is [not required as of Firefox 3.0](https://developer.mozilla.org/en-US/docs/Web/CSS/white-space)
 - outdated prefix: `-moz-border-radius: ...;` is [not required as of Firefox 4.0](https://developer.mozilla.org/en-US/docs/Web/CSS/border-radius)
 - outdated prefix: `-webkit-border-radius: ...;` is [not required as of Chrome 4.0 and Safari 5.0](https://developer.mozilla.org/en-US/docs/Web/CSS/border-radius)
 - outdated prefix: for `background` `-moz-radial-gradient`, `-webkit-radial-gradient` and `-webkit-gradient` is [not required as of Firefox 16, Chrome 26 and Safari 6.1](http://www.w3schools.com/Css/css3_gradients.asp)
 - wrong attribute: `word-break: break-word;` should be `word-wrap: break-word;` (this makes sense because `hyphens: auto;` is set)
 - missing prefix: add `-moz-hyphens: auto;`, `-ms-hyphens: auto;` and `-webkit-hyphens: auto;` to `hyphens: auto;` (other browser [do not support `auto` mode](http://caniuse.com/#feat=css-hyphens))
2015-01-15 14:38:24 +01:00
dd4ca42280 Version bump to 1.1.5 2015-01-12 17:20:31 +00:00
3bdd10a37a Merge pull request #155 from razzius/master
Fix indentation in footer
2015-01-05 07:34:08 +02:00
56c766303f Fix indentation 2015-01-04 19:57:11 -06:00
bf37631aa2 Update copyright 2015-01-02 16:12:55 +02:00
82253b06f2 Derp 2014-12-23 14:21:53 +02:00
969a20ef6d Add tag mgmt support to Casper 2014-12-23 13:50:59 +02:00
dbaaf955af Version bump to 1.1.3 2014-12-04 15:32:09 +00:00
de94edc8a8 Merge pull request #149 from conradkleinespel/master
Support for Pastebin embeds
2014-11-29 11:12:20 +01:00
1292f2e22b support for pastebin 2014-11-29 00:09:46 +01:00
933ebb86ca Version bump to 1.1.2 2014-11-17 17:24:50 +00:00
cb1196630b Merge pull request #147 from novaugust/page-fix
Move page #post helper to encapsulate image references
2014-11-11 07:34:45 +01:00
bcdbdab861 Move page #post helper to encapsulate image references
Ref #143
- Fixes header images for static pages
2014-11-10 22:02:52 -07:00
9a1988aa6d Merge pull request #143 from cubb/master
Fixes to visual bugs on static pages
2014-10-29 18:31:04 +01:00
e2911f2d46 Changed button background fix to match post.hbs
As per JohnONolan’s suggestion, I have edited the nav to match the code
in post.hbs: https://github.com/TryGhost/Casper/blob/master/post.hbs#L9
2014-10-29 10:14:00 -07:00
df09b7c375 Fixed bottom margin on static page post-title h1
Static pages were previously missing a margin on the bottom of the
post-title h1. By adding <header> with a post-header class around the
h1, we gain the exact same bottom margin as seen on post (non-static)
pages.
2014-10-29 09:24:31 -07:00
09d827249f Removed button backgrounds on static pages
The home and subscribe buttons had backgrounds on static pages, but not
post pages. The backgrounds are now removed from these buttons on
static pages.
2014-10-29 09:17:57 -07:00
ff591092e2 Add conditional around 'bio' in author.hbs 2014-10-21 16:10:20 +01:00
e264f609de Version bump to 1.1.1 2014-10-18 21:43:45 +02:00
12ad5f5404 Merge pull request #136 from novaugust/master
Remove old reference to medium desktop media queries from ToC
2014-09-29 09:09:01 +02:00
ba798581ec Remove old reference to medium desktop media queries from ToC 2014-09-28 14:19:58 -06:00
8bf2b72e69 Remove MS specific font feature styling 2014-09-25 19:28:43 +03:00
5968231807 Fix IE font feature rendering
See #124 (again)
2014-09-25 19:23:25 +03:00
e07d0d8775 Post image support 2014-09-25 17:35:06 +03:00
63535cf5ce 1.1.0 2014-09-25 16:42:27 +03:00
75c81be9c3 Typography overhaul 2014-09-25 16:41:04 +03:00
144be310a0 Merge pull request #132 from jeremija/image-width-fix
Fixed bug where image width changes on refresh
2014-09-15 20:57:47 +01:00
a149b03a2f Fixes variable image width bug
closes #95
 - added onload event listeners to images
2014-09-15 21:51:59 +02:00
72ba094f2f Merge pull request #130 from jillesme/master
Optimize index.js and add style consistency
2014-09-15 18:46:46 +01:00
2cf5c0cb87 Optimize index.js and add style consistency
Declared all jQuery objects once where needed instead of diving into the DOM multiple times for the same object.

Added style consistency between variable declarations, if/else statements and functions.
2014-09-07 23:34:40 +02:00
e669b29895 Merge pull request #129 from Douten/patch-1
Fix bouncing scroll-down arrow bug in webkit
2014-09-03 13:13:01 +01:00
bcce1e9a08 Fix bouncing scroll-down arrow bug in webkit
Webkit transform currently requires a vendor prefix. Without it, the arrow bounces and rotate to the original un-rotated state. See https://www.dropbox.com/s/46sjiihtjya42s8/wk-rotate.mov
2014-09-03 01:16:53 -04:00
13 changed files with 544 additions and 403 deletions

View File

@ -1,4 +1,4 @@
Copyright (c) 2013-2014 Ghost Foundation - Released under The MIT License.
Copyright (c) 2013-2015 Ghost Foundation
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation

View File

@ -6,7 +6,7 @@ To download, visit the [releases](https://github.com/TryGhost/Casper/releases) p
## Copyright & License
Copyright (c) 2013-2014 Ghost Foundation - Released under the MIT License.
Copyright (c) 2013-2015 Ghost Foundation - Released under the MIT License.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

File diff suppressed because it is too large Load Diff

View File

@ -2,89 +2,102 @@
* Main JS file for Casper behaviours
*/
/*globals jQuery, document */
(function ($) {
/* globals jQuery, document */
(function ($, sr, undefined) {
"use strict";
$(document).ready(function(){
var $document = $(document),
$(".post-content").fitVids();
// debouncing function from John Hann
// http://unscriptable.com/index.php/2009/03/20/debouncing-javascript-methods/
debounce = function (func, threshold, execAsap) {
var timeout;
function casperFullImg() {
$("img").each( function() {
var contentWidth = $(".post-content").outerWidth(); // Width of the content
var imageWidth = $(this)[0].naturalWidth; // Original image resolution
if (imageWidth >= contentWidth) {
$(this).addClass('full-img');
} else {
$(this).removeClass('full-img');
return function debounced () {
var obj = this, args = arguments;
function delayed () {
if (!execAsap) {
func.apply(obj, args);
}
timeout = null;
}
});
if (timeout) {
clearTimeout(timeout);
} else if (execAsap) {
func.apply(obj, args);
}
timeout = setTimeout(delayed, threshold || 100);
};
};
$document.ready(function () {
var $postContent = $(".post-content");
$postContent.fitVids();
function updateImageWidth() {
var $this = $(this),
contentWidth = $postContent.outerWidth(), // Width of the content
imageWidth = this.naturalWidth; // Original image resolution
if (imageWidth >= contentWidth) {
$this.addClass('full-img');
} else {
$this.removeClass('full-img');
}
}
var $img = $("img").on('load', updateImageWidth);
function casperFullImg() {
$img.each(updateImageWidth);
}
casperFullImg();
$(window).smartresize(casperFullImg);
$(".scroll-down").arctic_scroll();
$(".menu-button, .nav-cover, .nav-close").on("click", function(e){
e.preventDefault();
$("body").toggleClass("nav-opened nav-closed");
});
});
}(jQuery));
// smartresize
jQuery.fn[sr] = function(fn) { return fn ? this.bind('resize', debounce(fn)) : this.trigger(sr); };
(function($,sr){
// debouncing function from John Hann
// http://unscriptable.com/index.php/2009/03/20/debouncing-javascript-methods/
var debounce = function (func, threshold, execAsap) {
var timeout;
return function debounced () {
var obj = this, args = arguments;
function delayed () {
if (!execAsap)
func.apply(obj, args);
timeout = null;
};
if (timeout)
clearTimeout(timeout);
else if (execAsap)
func.apply(obj, args);
timeout = setTimeout(delayed, threshold || 100);
};
}
// smartresize
jQuery.fn[sr] = function(fn){ return fn ? this.bind('resize', debounce(fn)) : this.trigger(sr); };
})(jQuery,'smartresize');
// Arctic Scroll by Paul Adam Davis
// https://github.com/PaulAdamDavis/Arctic-Scroll
(function ($) {
// Arctic Scroll by Paul Adam Davis
// https://github.com/PaulAdamDavis/Arctic-Scroll
$.fn.arctic_scroll = function (options) {
var defaults = {
elem: $(this),
speed: 500
};
var options = $.extend(defaults, options);
},
options.elem.click(function(event){
allOptions = $.extend(defaults, options);
allOptions.elem.click(function (event) {
event.preventDefault();
var offset = ($(this).attr('data-offset')) ? $(this).attr('data-offset') : false,
position = ($(this).attr('data-position')) ? $(this).attr('data-position') : false;
var $this = $(this),
$htmlBody = $('html, body'),
offset = ($this.attr('data-offset')) ? $this.attr('data-offset') : false,
position = ($this.attr('data-position')) ? $this.attr('data-position') : false,
toMove;
if (offset) {
var toMove = parseInt(offset);
$('html,body').stop(true, false).animate({scrollTop: ($(this.hash).offset().top + toMove) }, options.speed);
toMove = parseInt(offset);
$htmlBody.stop(true, false).animate({scrollTop: ($(this.hash).offset().top + toMove) }, allOptions.speed);
} else if (position) {
var toMove = parseInt(position);
$('html,body').stop(true, false).animate({scrollTop: toMove }, options.speed);
toMove = parseInt(position);
$htmlBody.stop(true, false).animate({scrollTop: toMove }, allOptions.speed);
} else {
$('html,body').stop(true, false).animate({scrollTop: ($(this.hash).offset().top) }, options.speed);
$htmlBody.stop(true, false).animate({scrollTop: ($(this.hash).offset().top) }, allOptions.speed);
}
});
};
})(jQuery);
})(jQuery, 'smartresize');

View File

@ -7,8 +7,10 @@
{{#author}}
<header class="main-header author-head {{#if cover}}" style="background-image: url({{cover}}){{else}}no-cover{{/if}}">
<nav class="main-nav overlay clearfix">
<a class="back-button icon-arrow-left" href="{{@blog.url}}">Home</a>
<a class="subscribe-button icon-feed" href="{{url}}rss/">{{name}}</a>
{{#if @blog.logo}}<a class="blog-logo" href="{{@blog.url}}"><img src="{{@blog.logo}}" alt="Blog Logo" /></a>{{/if}}
{{#if @blog.navigation}}
<a class="menu-button" href="#"><span class="burger">&#9776;</span><span class="word">Menu</span></a>
{{/if}}
</nav>
</header>
@ -19,7 +21,9 @@
</figure>
{{/if}}
<h1 class="author-title">{{name}}</h1>
<h2 class="author-bio">{{bio}}</h2>
{{#if bio}}
<h2 class="author-bio">{{bio}}</h2>
{{/if}}
<div class="author-meta">
{{#if location}}<span class="author-location icon-location">{{location}}</span>{{/if}}
{{#if website}}<span class="author-link icon-link"><a href="{{website}}">{{website}}</a></span>{{/if}}
@ -34,4 +38,4 @@
{{! The tag below includes the post loop - partials/loop.hbs }}
{{> "loop"}}
</main>
</main>

View File

@ -16,20 +16,26 @@
{{! 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=PT+Serif:400,700,400italic|Open+Sans:700,400" />
<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_head}}
</head>
<body class="{{body_class}}">
<body class="{{body_class}} nav-closed">
{{! Everything else gets inserted here }}
{{{body}}}
{{navigation}}
<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>
</footer>
<div class="site-wrapper">
{{! Everything else gets inserted here }}
{{{body}}}
<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>
</footer>
</div>
{{! Ghost outputs important scripts and data with this tag }}
{{ghost_foot}}

View File

@ -5,7 +5,9 @@
<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 Logo" /></a>{{/if}}
<a class="subscribe-button icon-feed" href="{{@blog.url}}/rss/">Subscribe</a>
{{#if @blog.navigation}}
<a class="menu-button" href="#"><span class="burger">&#9776;</span><span class="word">Menu</span></a>
{{/if}}
</nav>
<div class="vertical">
<div class="main-header-content inner">
@ -22,4 +24,4 @@
{{! The tag below includes the post loop - partials/loop.hbs }}
{{> "loop"}}
</main>
</main>

View File

@ -1,5 +1,4 @@
{
"name": "Casper",
"version": "1.0.1"
"version": "1.1.6"
}

View File

@ -3,24 +3,29 @@
{{! 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. }}
<nav class="main-nav clearfix">
<a class="back-button icon-arrow-left" href="{{@blog.url}}">Home</a>
<a class="subscribe-button icon-feed" href="{{@blog.url}}/rss/">Subscribe</a>
</nav>
{{! 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}}">
<nav class="main-nav {{#if image}}overlay{{/if}} clearfix">
{{#if @blog.logo}}<a class="blog-logo" href="{{@blog.url}}"><img src="{{@blog.logo}}" alt="Blog Logo" /></a>{{/if}}
{{#if @blog.navigation}}
<a class="menu-button" href="#"><span class="burger">&#9776;</span><span class="word">Menu</span></a>
{{/if}}
</nav>
</header>
<main class="content" role="main">
<article class="{{post_class}}">
{{! Everything inside the #post tags pulls data from the post }}
{{#post}}
<h1 class="post-title">{{title}}</h1>
<header class="post-header">
<h1 class="post-title">{{title}}</h1>
</header>
<section class="post-content">
{{content}}
</section>
{{/post}}
</article>
</main>
{{/post}}

View File

@ -10,13 +10,13 @@
<h2 class="post-title"><a href="{{url}}">{{{title}}}</a></h2>
</header>
<section class="post-excerpt">
<p>{{excerpt words="30"}} <a class="read-more" href="{{url}}">&raquo;</a></p>
<p>{{excerpt words="26"}} <a class="read-more" href="{{url}}">&raquo;</a></p>
</section>
<footer class="post-meta">
{{#if author.image}}<img class="author-thumb" src="{{author.image}}" alt="Author image" nopin="nopin" />{{/if}}
{{author}}
{{tags prefix=" on "}}
<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>
</footer>
</article>
{{/foreach}}

13
partials/navigation.hbs Normal file
View File

@ -0,0 +1,13 @@
<div class="nav">
<h3 class="nav-title">Menu</h3>
<a href="#" class="nav-close">
<span class="hidden">Close</span>
</a>
<ul>
{{#foreach navigation}}
<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>
</div>
<span class="nav-cover"></span>

View File

@ -3,16 +3,20 @@
{{! The comment above "< default" means - insert everything in this file into
the {body} of the default.hbs template, which contains our header/footer. }}
<nav class="main-nav clearfix">
<a class="back-button icon-arrow-left" href="{{@blog.url}}">Home</a>
<a class="subscribe-button icon-feed" href="{{@blog.url}}/rss/">Subscribe</a>
</nav>
{{! 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}}">
<nav class="main-nav {{#if image}}overlay{{/if}} clearfix">
{{#if @blog.logo}}<a class="blog-logo" href="{{@blog.url}}"><img src="{{@blog.logo}}" alt="Blog Logo" /></a>{{/if}}
{{#if @blog.navigation}}
<a class="menu-button" href="#"><span class="burger">&#9776;</span><span class="word">Menu</span></a>
{{/if}}
</nav>
</header>
<main class="content" role="main">
<article class="{{post_class}}">
{{! Everything inside the #post tags pulls data from the post }}
{{#post}}
<header class="post-header">
<h1 class="post-title">{{title}}</h1>
@ -70,7 +74,7 @@
</footer>
{{/post}}
</article>
</main>
{{/post}}

20
tag.hbs
View File

@ -1,16 +1,24 @@
{{!< default}}
{{! The tag above means - insert everything in this file into the {body} of the default.hbs template }}
{{! The big featured header }}
<header class="main-header tag-head {{#if @blog.cover}}" style="background-image: url({{@blog.cover}}){{else}}no-cover{{/if}}">
{{! 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">
<a class="back-button icon-arrow-left" href="{{@blog.url}}">Home</a>
<a class="subscribe-button icon-feed" href="{{@blog.url}}/tag/{{tag.slug}}/rss/">{{tag.name}}</a>
{{#if @blog.logo}}<a class="blog-logo" href="{{@blog.url}}"><img src="{{@blog.logo}}" alt="Blog Logo" /></a>{{/if}}
{{#if @blog.navigation}}
<a class="menu-button" href="#"><span class="burger">&#9776;</span><span class="word">Menu</span></a>
{{/if}}
</nav>
<div class="vertical">
<div class="main-header-content inner">
<h1 class="page-title">{{tag.name}}</h1>
<h2 class="page-description">A {{pagination.total}}-post collection</h2>
<h2 class="page-description">
{{#if tag.description}}
{{tag.description}}
{{else}}
A {{pagination.total}}-post collection
{{/if}}
</h2>
</div>
</div>
</header>
@ -21,4 +29,4 @@
{{! The tag below includes the post loop - partials/loop.hbs }}
{{> "loop"}}
</main>
</main>