Compare commits

...

29 Commits
1.3.1 ... 1.4.0

Author SHA1 Message Date
1deac8284c Upgrading Casper to 1.4.0
- version bump commit
2017-07-20 20:52:40 +01:00
4c5a48af97 Update readme for Casper 1.4 2017-06-19 13:55:18 +01:00
3888fd30fc fixed input for checkboxes and radio buttons on chrome and safari (#299)
closes #271
2017-06-19 13:27:49 +01:00
2ed0e02eae Revert #310
This breaks line wrapping completely, so text does not wrap to a new line when it reaches the width of its containing element
2017-06-19 13:25:53 +01:00
7dd5f54e69 Add beta warning to README 2017-06-08 19:17:04 +01:00
51d444f32f Merge branch 'ghost-1.0' 2017-06-08 19:09:49 +01:00
2334ca8aa4 Allow line breaks from Bio (#310) 2017-06-05 09:06:47 +01:00
be6b9750d9 add default posts per page to package.json (#309)
refs https://github.com/TryGhost/Ghost/issues/8131, refs https://github.com/TryGhost/gscan/issues/40

- we would like to show a recommendation for theme validation
- this recommendation could look like "package.json `config.posts_per_page` is recommended. Default is 5`
2017-06-01 13:10:23 +07:00
5487b4da8d 🔥 rename images (#304)
refs https://github.com/TryGhost/Ghost/issues/8348
- `profile_image` && `cover_image` for author and fallback
- `feature_image` for tag/post
2017-04-24 17:00:00 +01:00
ccf903feff 🤖 Remove favcicon html tag (#282)
refs TryGhost/Ghost#7688

Removes `<link rel="shortcut icon" href="{{asset "favicon.ico"}}">` from `default.hbs` as it will be rendered now via `ghost_head`.
2017-03-14 18:12:07 +01:00
3d74b1b918 Remove explicit {{meta_description}}
refs TryGhost/Ghost#4424

- as  of https://github.com/TryGhost/Ghost/pull/8150, `{{ghost_head}}` will output the meta description if Ghost is able to determine a sensible value to output.
2017-03-14 18:12:07 +01:00
26a25208e1 Upgrading Casper to 1.3.6 2017-03-01 13:47:57 +01:00
805925528c move font above css include (#279) 2017-02-24 12:23:02 +07:00
68e48cfb04 Remove role attributes intended for tabbed navigation
Closes #285
2017-02-23 13:25:47 +07:00
c578765491 Upgrading Casper to 1.3.5 2017-01-12 12:41:55 +01:00
ba5d559d8c 2017 2017-01-04 10:53:34 +00:00
b06c57f1e1 Upgrading Casper to 1.3.4 2016-10-24 16:51:12 +01:00
99ff118174 Merge pull request #274 from eibt/patch-1
Use protocol-relative URL for jQuery script
2016-10-24 14:35:22 +01:00
054cd87653 No margin-bottom for last p inside li tags (#262)
Fixes #241.
2016-10-24 20:17:30 +07:00
5060c945e6 Fixed page title and description being visible before fading in (#268) 2016-10-24 20:15:01 +07:00
d07d6dee09 🐛 Fix .post-title (#273)
no issue

fixes the post-title font-size again, as it didn't work with two body:notstatements.
2016-10-24 20:11:49 +07:00
0d8228ff05 Use protocol-relative URL for jQuery script
Use protocol-relative URL in the script element that includes jQuery to improve availability and consistency as it's being used for Google Fonts too.
2016-10-13 17:03:11 -06:00
27270d3de3 Upgrading Casper to 1.3.3 2016-10-07 16:08:38 +01:00
09476487f0 🐛 Fixing package.json engines & repo URL
no issue

- semver caret ranges don't apply pre-1.0.0, therefore we need to use a more explicit range
- repo URL should be a valid url
2016-10-07 16:05:10 +01:00
d2d796241b 🎨 Removing homepage from package.json
no issue

- this is not going to be a required field, and for Casper is the same as the repo
2016-10-07 15:56:54 +01:00
c1b77b74cb Remove old body classes (#272)
refs TryGhost/Ghost#2597

Make Casper work without old body classes `.archive-template`, `.page` and use `.page-template` *only* for pages, as `.post-template` will not be available for pages anymore.
2016-10-07 14:02:00 +02:00
95cec988f5 Upgrading Casper to 1.3.2 2016-09-27 16:48:51 +01:00
12e897d374 📚 Expand package.json ready for gpm
no issue

- Our new marketplace (gpm) will make heavy use of package.json files
- Full details, spec, and validator are coming soon. In the meantime here's the basics:
   - `name` must be lowercase and hypenated
   - `version` must be semver compliant
   - `homepage` should be a valid URL (GitHub URL is ok)
   - `demo` should be a working Ghost install that uses your theme
   - `engines` should contain a Ghost key indicating which version of Ghost the theme is compatible with
   - `license` is required, we recommend `MIT`
   - `screenshots` should provide a relative path or absolute URL to both `desktop` & `mobile` screenshots
   - `author` should be an object. It must contain an email, and can also include a name and url.
   - the `gpm` object should:
	- indicate the package type (`theme` for now, later `app` or `adapter` etc)
   	- list out at most 2 marketplace categories for inclusion. Categories can be found in https://gist.github.com/ErisDS/d0674f57eaa087c9f92cbfc8e984d2d6 but are subject to change.
   - other fields can be included as per a normal npm package, we recommend including the repostory & keywords with `ghost` & `theme` listed.
2016-09-27 16:43:44 +01:00
d6998b3ba5 Add screenshot assets 2016-09-27 14:27:58 +02:00
14 changed files with 105 additions and 56 deletions

View File

@ -1,4 +1,4 @@
Copyright (c) 2013-2016 Ghost Foundation
Copyright (c) 2013-2017 Ghost Foundation
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation

View File

@ -1,16 +1,7 @@
# Casper
The default theme for [Ghost](http://github.com/tryghost/ghost/).
To download, visit the [releases](https://github.com/TryGhost/Casper/releases) page.
The default theme for [Ghost](http://github.com/tryghost/ghost/). Casper 1.4 is the last release of Casper's original design, created to be compatible **ONLY with Ghost 1.0** and above. If you are running an earlier version of Ghost, you will need [Casper 1.3.7](https://github.com/TryGhost/Casper/releases/tag/1.3.7). For all other versions of Ghost, we recommend switching to the [latest release](https://github.com/TryGhost/Casper/releases) of Casper, with an updated design.
## Copyright & License
Copyright (c) 2013-2016 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:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Copyright (c) 2013-2017 Ghost Foundation - Released under the [MIT license](LICENSE).

View File

@ -295,6 +295,10 @@ li li {
margin: 0;
}
li > p:last-of-type {
margin-bottom: 0;
}
hr {
display: block;
height: 1px;
@ -442,7 +446,7 @@ margin on the iframe, cause it breaks stuff. */
margin: 0;
}
textarea, select, input {
textarea, select, input:not([type="radio"]):not([type="checkbox"]){
width: 260px;
padding: 6px 9px;
margin: 0 0 5px 0;
@ -833,8 +837,8 @@ body.nav-opened .nav {
/* Hide when there's no cover image or on page2+ */
.no-cover .scroll-down,
.no-cover.main-header:after,
.archive-template .scroll-down,
.archive-template .main-header:after {
.paged .scroll-down,
.paged .main-header:after {
display: none
}
@ -976,13 +980,13 @@ body.nav-opened .nav {
/* Add subtle load-in animation for content on the home page */
.home-template .page-title {
-webkit-animation: fade-in-down 0.6s;
animation: fade-in-down 0.6s;
animation: fade-in-down 0.6s both;
-webkit-animation-delay: 0.2s;
animation-delay: 0.2s;
}
.home-template .page-description {
-webkit-animation: fade-in-down 0.9s;
animation: fade-in-down 0.9s;
animation: fade-in-down 0.9s both;
-webkit-animation-delay: 0.1s;
animation-delay: 0.1s;
}
@ -1019,6 +1023,10 @@ body:not(.post-template) .post-title {
font-size: 3.6rem;
}
body.page-template .post-title {
font-size: 5rem;
}
.post-title a {
text-decoration: none;
}
@ -1117,19 +1125,23 @@ body:not(.post-template) .post-title {
5. Single Post - When you click on an individual post
========================================================================== */
.post-template .post-header {
.post-template .post-header,
.page-template .post-header {
margin-bottom: 3.4rem;
}
.post-template .post-title {
.post-template .post-title,
.page-template .post-title {
margin-bottom: 0;
}
.post-template .post-meta {
.post-template .post-meta,
.page-template .post-meta {
margin: 0;
}
.post-template .post-date {
.post-template .post-date,
.page-template .post-date {
padding: 0;
margin: 0;
border: none;
@ -1138,19 +1150,22 @@ body:not(.post-template) .post-title {
/* Stop elements, such as img wider than the post content, from
creating horizontal scroll - slight hack due to imperfections
with browser width % calculations and rounding */
.post-template .content {
.post-template .content,
.page-template .content {
overflow: hidden;
}
/* Tweak the .post wrapper style */
.post-template .post {
.post-template .post,
.page-template .post {
margin-top: 0;
border-bottom: none;
padding-bottom: 0;
}
/* Kill that stylish little circle that was on the border, too */
.post-template .post:after {
.post-template .post:after,
.page-template .post:after {
display: none;
}
@ -1400,7 +1415,7 @@ body:not(.post-template) .post-title {
/* Turn off meta for page2+ to make room for extra
pagination prev/next links */
.archive-template .author-profile .author-meta {
.paged .author-profile .author-meta {
display: none;
}
@ -1629,12 +1644,12 @@ body:not(.post-template) .post-title {
}
/* On page2+ make all the headers smaller */
.archive-template .main-header {
.paged .main-header {
max-height: 30vh;
}
/* On page2+ show extra pagination controls at the top of post list */
.archive-template .extra-pagination {
.paged .extra-pagination {
display: block;
}
@ -1758,7 +1773,7 @@ body:not(.post-template) .post-title {
.scroll-down,
.home-template .main-header:after { display: none; }
.archive-template .main-header {
.paged .main-header {
min-height: 180px;
padding: 10% 0;
}
@ -1785,6 +1800,10 @@ body:not(.post-template) .post-title {
font-size: 3.2rem;
}
body.page-template .post-title {
font-size: 4.5rem;
}
hr {
margin: 2.4em 0;
}
@ -1900,7 +1919,7 @@ body:not(.post-template) .post-title {
height: 30vh;
}
.archive-template .main-header {
.paged .main-header {
max-height: 20vh;
min-height: 160px;
padding: 10% 0;
@ -1987,11 +2006,13 @@ body:not(.post-template) .post-title {
display: none;
}
.post-template .post-header {
.post-template .post-header,
.page-template .post-header {
margin-bottom: 2rem;
}
.post-template .post-date {
.post-template .post-date,
.page-template .post-date {
display: inline-block;
}
@ -2051,7 +2072,12 @@ body:not(.post-template) .post-title {
font-size: 2.5rem;
}
.post-template .site-footer {
body.page-template .post-title {
font-size: 2.8rem;
}
.post-template .site-footer,
.page-template .site-footer {
margin-top: 0;
}
@ -2136,7 +2162,7 @@ body:not(.post-template) .post-title {
font-size: 1.4rem;
}
.archive-template .main-header .page-description {
.paged .main-header .page-description {
display: none;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 KiB

View File

@ -5,7 +5,7 @@
{{!-- 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}}">
<header class="main-header author-head {{#if cover_image}}" style="background-image: url({{cover_image}}){{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}}
{{#if @blog.navigation}}
@ -15,9 +15,9 @@
</header>
<section class="author-profile inner">
{{#if image}}
{{#if profile_image}}
<figure class="author-image">
<div class="img" style="background-image: url({{image}})"><span class="hidden">{{name}}'s Picture</span></div>
<div class="img" style="background-image: url({{profile_image}})"><span class="hidden">{{name}}'s Picture</span></div>
</figure>
{{/if}}
<h1 class="author-title">{{name}}</h1>

View File

@ -7,18 +7,15 @@
{{!-- 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 --}}
<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" />
<link rel="stylesheet" type="text/css" href="{{asset "css/screen.css"}}" />
{{!-- Ghost outputs important style and meta data with this tag --}}
{{ghost_head}}
@ -42,7 +39,7 @@
</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.12.0.min.js"></script>
<script type="text/javascript" src="//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 --}}

View File

@ -2,7 +2,7 @@
{{!-- 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 {{#if @blog.cover}}" style="background-image: url({{@blog.cover}}){{else}}no-cover{{/if}}">
<header class="main-header {{#if @blog.cover_image}}" style="background-image: url({{@blog.cover_image}}){{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}}
{{#if @blog.navigation}}

View File

@ -1,4 +1,39 @@
{
"name": "Casper",
"version": "1.3.1"
"name": "casper",
"description": "The default personal blogging theme for Ghost. Beautiful, minimal and responsive.",
"demo": "https://demo.ghost.io",
"version": "1.4.0",
"engines": {
"ghost": ">=0.9.0 <1.0.0"
},
"license": "MIT",
"screenshots": {
"desktop": "assets/screenshot-desktop.jpg",
"mobile": "assets/screenshot-mobile.jpg"
},
"author": {
"name": "Ghost Foundation",
"email": "hello@ghost.org",
"url": "https://ghost.org"
},
"gpm": {
"type": "theme",
"categories": [
"Minimal",
"Personal Blogs"
]
},
"config": {
"posts_per_page": 5
},
"keywords": [
"ghost",
"theme"
],
"repository": {
"type": "git",
"url": "https://github.com/TryGhost/Casper.git"
},
"bugs": "https://github.com/TryGhost/Casper/issues",
"contributors": "https://github.com/TryGhost/Casper/graphs/contributors"
}

View File

@ -6,8 +6,8 @@
{{!-- 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">
<header class="main-header post-head {{#if feature_image}}" style="background-image: url({{feature_image}}){{else}}no-cover{{/if}}">
<nav class="main-nav {{#if feature_image}}overlay{{/if}} clearfix">
{{#if @blog.logo}}<a class="blog-logo" href="{{@blog.url}}"><img src="{{@blog.logo}}" alt="{{@blog.title}}" /></a>{{/if}}
{{#if @blog.navigation}}
<a class="menu-button icon-menu" href="#"><span class="word">Menu</span></a>

View File

@ -13,7 +13,7 @@
<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.name}}" nopin="nopin" />{{/if}}
{{#if author.profile_image}}<img class="author-thumb" src="{{author.profile_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>

View File

@ -5,7 +5,7 @@
</a>
<ul>
{{#foreach navigation}}
<li class="nav-{{slug}}{{#if current}} nav-current{{/if}}" role="presentation"><a href="{{url absolute="true"}}">{{label}}</a></li>
<li class="nav-{{slug}}{{#if current}} nav-current{{/if}}"><a href="{{url absolute="true"}}">{{label}}</a></li>
{{/foreach}}
</ul>
{{#if @labs.subscribers}}

View File

@ -6,8 +6,8 @@
{{!-- 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">
<header class="main-header post-head {{#if feature_image}}" style="background-image: url({{feature_image}}){{else}}no-cover{{/if}}">
<nav class="main-nav {{#if feature_image}}overlay{{/if}} clearfix">
{{#if @blog.logo}}<a class="blog-logo" href="{{@blog.url}}"><img src="{{@blog.logo}}" alt="{{@blog.title}}" /></a>{{/if}}
{{#if @blog.navigation}}
<a class="menu-button icon-menu" href="#"><span class="word">Menu</span></a>
@ -34,9 +34,9 @@
{{!-- Everything inside the #author tags pulls data from the author --}}
{{#author}}
{{#if image}}
{{#if profile_image}}
<figure class="author-image">
<a class="img" href="{{url}}" style="background-image: url({{image}})"><span class="hidden">{{name}}'s Picture</span></a>
<a class="img" href="{{url}}" style="background-image: url({{profile_image}})"><span class="hidden">{{name}}'s Picture</span></a>
</figure>
{{/if}}
@ -90,7 +90,7 @@
{{!-- 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}}">
<a class="read-next-story {{#if feature_image}}" style="background-image: url({{feature_image}}){{else}}no-cover{{/if}}" href="{{url}}">
<section class="post">
<h2>{{title}}</h2>
<p>{{excerpt words="19"}}&hellip;</p>
@ -98,7 +98,7 @@
</a>
{{/next_post}}
{{#prev_post}}
<a class="read-next-story prev {{#if image}}" style="background-image: url({{image}}){{else}}no-cover{{/if}}" href="{{url}}">
<a class="read-next-story prev {{#if feature_image}}" style="background-image: url({{feature_image}}){{else}}no-cover{{/if}}" href="{{url}}">
<section class="post">
<h2>{{title}}</h2>
<p>{{excerpt words="19"}}&hellip;</p>

View File

@ -2,7 +2,7 @@
{{!-- 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 --}}
<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}}">
<header class="main-header tag-head {{#if tag.feature_image}}" style="background-image: url({{tag.feature_image}}){{else}}{{#if @blog.cover_image}}" style="background-image: url({{@blog.cover_image}}){{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}}
{{#if @blog.navigation}}