Compare commits

...

28 Commits
1.2.7 ... 1.3.4

Author SHA1 Message Date
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
5c51195ca6 Upgrading Casper to 1.3.1 2016-07-26 13:01:26 +01:00
234be3c976 Merge pull request #254 from sergioaugrod/fix-invalid-css-property
Fix invalid css property declaration
2016-06-26 12:26:43 -06:00
146f2ecaab Fix invalid css property declaration 2016-06-26 15:21:32 -03:00
5e679999e7 Merge pull request #251 from max-nova/css-ToC-fixes
Fixing Table of Contents in CSS
2016-05-22 10:34:35 -06:00
4614c6a162 Fixing Table of Contents in CSS 2016-05-22 12:31:02 -04:00
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
12 changed files with 366 additions and 130 deletions

View File

@ -10,94 +10,93 @@
3. Utilities 3. Utilities
4. General 4. General
5. Single Post 5. Single Post
6. Tag Archive 6. Author Profile
7. Read Next 7. Read More
8. Third Party Elements 8. Third Party Elements
9. Pagination 9. Pagination
10. Footer 10. Subscribe
11. Media Queries (Tablet) 11. Footer
12. Media Queries (Mobile) 12. Media Queries (Tablet)
13. Animations 13. Media Queries (Mobile)
14. Animations
*/ */
/* ========================================================================== /* ==========================================================================
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 { html {
font-family: sans-serif; font-family: sans-serif;
-ms-text-size-adjust: 100%; -ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%; -webkit-text-size-adjust: 100%
} }
body { margin: 0; } body { margin: 0; }
a { background: transparent; } article, aside, details,
a:focus { outline: thin dotted; } figcaption, figure,
a:active, a:hover { outline: 0; } footer, header,
h1 { font-size: 2em; margin: 0.67em 0; } main, menu, nav,
abbr[title] { border-bottom: 1px dotted; } section, summary { display:block; }
b, strong { font-weight: 700; } audio, canvas, progress, video {
dfn { font-style: italic; } display: inline-block;
hr { vertical-align: baseline;
-moz-box-sizing: content-box;
box-sizing: content-box;
height: 0;
} }
mark { background: #FF0; color: #000; } audio:not([controls]) { display: none; height: 0; }
code, kbd, pre, [hidden], template { display: none; }
samp { font-family: monospace, serif; font-size: 1em; } a { background-color: transparent;}
pre { white-space: pre-wrap; } a:active, a:hover { outline: 0; }
q { quotes: "\201C" "\201D" "\2018" "\2019"; } 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%; } small { font-size: 80%; }
sub, sup { sub, sup {
font-size: 75%; font-size: 75%;
line-height: 0; line-height: 0;
position: relative; position: relative;
vertical-align: baseline; vertical-align: baseline;
} }
sup { top: -0.5em; } sup { top: -0.5em; }
sub { bottom: -0.25em; } sub { bottom: -0.25em; }
img { border: 0; } img { border: 0; }
svg:not(:root) { overflow: hidden; } svg:not(:root) { overflow: hidden; }
figure { margin: 0; } figure { margin: 1em 40px; }
fieldset { hr { box-sizing: content-box; height: 0; }
border: 1px solid #c0c0c0; pre { overflow: auto; }
margin: 0 2px; code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; }
padding: 0.35em 0.625em 0.75em; button, input, optgroup, select, textarea {
color: inherit;
font: inherit;
margin: 0;
} }
legend { border: 0; padding: 0; } button { overflow: visible; }
button, input, select,
textarea { font-family: inherit; font-size: 100%; margin: 0; }
button, input { line-height: normal; }
button, select { text-transform: none; } button, select { text-transform: none; }
button, html input[type="button"], button, html input[type="button"],
input[type="reset"], input[type="submit"] { input[type="reset"], input[type="submit"] {
-webkit-appearance: button; -webkit-appearance: button;
cursor: pointer; cursor: pointer;
} }
button[disabled], html input[disabled] { cursor: default; } 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="checkbox"],
input[type="radio"] { box-sizing: border-box; padding: 0; } input[type="radio"] { box-sizing: border-box; padding: 0; }
input[type="search"] { input[type="number"]::-webkit-inner-spin-button,
-webkit-appearance: textfield; input[type="number"]::-webkit-outer-spin-button { height: auto; }
-moz-box-sizing: content-box; input[type="search"] { -webkit-appearance: textfield; }
-webkit-box-sizing: content-box;
box-sizing: content-box;
}
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
button::-moz-focus-inner, fieldset {
input::-moz-focus-inner { border: 0; padding: 0; } border: 1px solid #c0c0c0;
textarea { overflow: auto; vertical-align: top; } margin: 0 2px;
table { border-collapse: collapse; border-spacing: 0; } 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 +228,7 @@ h2 {
h3 { h3 {
font-size: 3rem; font-size: 3rem;
letter-spacing: -0.6px;
} }
h4 { h4 {
@ -295,6 +295,10 @@ li li {
margin: 0; margin: 0;
} }
li > p:last-of-type {
margin-bottom: 0;
}
hr { hr {
display: block; display: block;
height: 1px; height: 1px;
@ -344,6 +348,9 @@ code, tt {
border: #E3EDF3 1px solid; border: #E3EDF3 1px solid;
background: #F7FAFB; background: #F7FAFB;
border-radius: 2px; border-radius: 2px;
-webkit-font-feature-settings: "liga" 0;
-moz-font-feature-settings: "liga" 0;
font-feature-settings: "liga" 0;
} }
pre { pre {
@ -439,6 +446,78 @@ margin on the iframe, cause it breaks stuff. */
margin: 0; 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; /* Hacks targeting Firefox. */
line-height: 13px; /* Hacks targeting Firefox. */
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 3. Utilities - These things get used a lot
@ -758,8 +837,8 @@ body.nav-opened .nav {
/* Hide when there's no cover image or on page2+ */ /* Hide when there's no cover image or on page2+ */
.no-cover .scroll-down, .no-cover .scroll-down,
.no-cover.main-header:after, .no-cover.main-header:after,
.archive-template .scroll-down, .paged .scroll-down,
.archive-template .main-header:after { .paged .main-header:after {
display: none display: none
} }
@ -901,13 +980,13 @@ body.nav-opened .nav {
/* Add subtle load-in animation for content on the home page */ /* Add subtle load-in animation for content on the home page */
.home-template .page-title { .home-template .page-title {
-webkit-animation: fade-in-down 0.6s; -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; -webkit-animation-delay: 0.2s;
animation-delay: 0.2s; animation-delay: 0.2s;
} }
.home-template .page-description { .home-template .page-description {
-webkit-animation: fade-in-down 0.9s; -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; -webkit-animation-delay: 0.1s;
animation-delay: 0.1s; animation-delay: 0.1s;
} }
@ -944,6 +1023,10 @@ body:not(.post-template) .post-title {
font-size: 3.6rem; font-size: 3.6rem;
} }
body.page-template .post-title {
font-size: 5rem;
}
.post-title a { .post-title a {
text-decoration: none; text-decoration: none;
} }
@ -1042,19 +1125,23 @@ body:not(.post-template) .post-title {
5. Single Post - When you click on an individual post 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; margin-bottom: 3.4rem;
} }
.post-template .post-title { .post-template .post-title,
.page-template .post-title {
margin-bottom: 0; margin-bottom: 0;
} }
.post-template .post-meta { .post-template .post-meta,
.page-template .post-meta {
margin: 0; margin: 0;
} }
.post-template .post-date { .post-template .post-date,
.page-template .post-date {
padding: 0; padding: 0;
margin: 0; margin: 0;
border: none; border: none;
@ -1063,19 +1150,22 @@ body:not(.post-template) .post-title {
/* Stop elements, such as img wider than the post content, from /* Stop elements, such as img wider than the post content, from
creating horizontal scroll - slight hack due to imperfections creating horizontal scroll - slight hack due to imperfections
with browser width % calculations and rounding */ with browser width % calculations and rounding */
.post-template .content { .post-template .content,
.page-template .content {
overflow: hidden; overflow: hidden;
} }
/* Tweak the .post wrapper style */ /* Tweak the .post wrapper style */
.post-template .post { .post-template .post,
.page-template .post {
margin-top: 0; margin-top: 0;
border-bottom: none; border-bottom: none;
padding-bottom: 0; padding-bottom: 0;
} }
/* Kill that stylish little circle that was on the border, too */ /* 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; display: none;
} }
@ -1120,7 +1210,7 @@ body:not(.post-template) .post-title {
.post-footer { .post-footer {
position: relative; position: relative;
margin: 6rem 0 0 0; margin: 6rem 0 0 0;
padding: 6rem 0 0 0; padding: 3rem 0 0 0;
border-top: #EBF2F6 1px solid; border-top: #EBF2F6 1px solid;
} }
@ -1173,7 +1263,7 @@ body:not(.post-template) .post-title {
links remain at a fixed width the whole time */ links remain at a fixed width the whole time */
.post-footer .share { .post-footer .share {
position: absolute; position: absolute;
top: 6rem; top: 3rem;
right: 0; right: 0;
width: 140px; width: 140px;
} }
@ -1325,7 +1415,7 @@ body:not(.post-template) .post-title {
/* Turn off meta for page2+ to make room for extra /* Turn off meta for page2+ to make room for extra
pagination prev/next links */ pagination prev/next links */
.archive-template .author-profile .author-meta { .paged .author-profile .author-meta {
display: none; display: none;
} }
@ -1554,18 +1644,76 @@ body:not(.post-template) .post-title {
} }
/* On page2+ make all the headers smaller */ /* On page2+ make all the headers smaller */
.archive-template .main-header { .paged .main-header {
max-height: 30vh; max-height: 30vh;
} }
/* On page2+ show extra pagination controls at the top of post list */ /* On page2+ show extra pagination controls at the top of post list */
.archive-template .extra-pagination { .paged .extra-pagination {
display: block; display: block;
} }
/* ========================================================================== /* ==========================================================================
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 { .site-footer {
@ -1603,7 +1751,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) { @media only screen and (max-width: 900px) {
@ -1625,7 +1773,7 @@ body:not(.post-template) .post-title {
.scroll-down, .scroll-down,
.home-template .main-header:after { display: none; } .home-template .main-header:after { display: none; }
.archive-template .main-header { .paged .main-header {
min-height: 180px; min-height: 180px;
padding: 10% 0; padding: 10% 0;
} }
@ -1652,6 +1800,10 @@ body:not(.post-template) .post-title {
font-size: 3.2rem; font-size: 3.2rem;
} }
body.page-template .post-title {
font-size: 4.5rem;
}
hr { hr {
margin: 2.4em 0; margin: 2.4em 0;
} }
@ -1719,6 +1871,18 @@ body:not(.post-template) .post-title {
padding: 0; padding: 0;
} }
.gh-subscribe {
padding: 2rem;
}
.gh-subscribe-title {
font-size: 2rem
}
.gh-subscribe p {
font-size: 1.4rem;
}
.read-next { .read-next {
-webkit-box-orient: vertical; -webkit-box-orient: vertical;
-webkit-box-direction: normal; -webkit-box-direction: normal;
@ -1741,7 +1905,7 @@ body:not(.post-template) .post-title {
/* ========================================================================== /* ==========================================================================
12. Media Queries - Smaller than 500px 13. Media Queries - Smaller than 500px
========================================================================== */ ========================================================================== */
@media only screen and (max-width: 500px) { @media only screen and (max-width: 500px) {
@ -1755,7 +1919,7 @@ body:not(.post-template) .post-title {
height: 30vh; height: 30vh;
} }
.archive-template .main-header { .paged .main-header {
max-height: 20vh; max-height: 20vh;
min-height: 160px; min-height: 160px;
padding: 10% 0; padding: 10% 0;
@ -1842,11 +2006,13 @@ body:not(.post-template) .post-title {
display: none; display: none;
} }
.post-template .post-header { .post-template .post-header,
.page-template .post-header {
margin-bottom: 2rem; margin-bottom: 2rem;
} }
.post-template .post-date { .post-template .post-date,
.page-template .post-date {
display: inline-block; display: inline-block;
} }
@ -1906,7 +2072,12 @@ body:not(.post-template) .post-title {
font-size: 2.5rem; 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; margin-top: 0;
} }
@ -1979,6 +2150,10 @@ body:not(.post-template) .post-title {
height: 20vh; height: 20vh;
} }
.post-footer .author-image {
top: -60px;
}
.author-profile .author-image { .author-profile .author-image {
margin-top: -70px; margin-top: -70px;
} }
@ -1987,10 +2162,18 @@ body:not(.post-template) .post-title {
font-size: 1.4rem; font-size: 1.4rem;
} }
.archive-template .main-header .page-description { .paged .main-header .page-description {
display: none; display: none;
} }
.gh-subscribe {
padding: 15px;
}
.gh-subscribe form {
margin-top: 10px;
}
.read-next { .read-next {
margin-top: 2rem; margin-top: 2rem;
margin-bottom: -37px; margin-bottom: -37px;
@ -2004,7 +2187,7 @@ body:not(.post-template) .post-title {
/* ========================================================================== /* ==========================================================================
13. Animations 14. Animations
========================================================================== */ ========================================================================== */
/* Used to fade in title/desc on the home page */ /* Used to fade in title/desc on the home page */
@ -2049,15 +2232,15 @@ body:not(.post-template) .post-title {
} }
} }
@keyframes bounce { @keyframes bounce {
0%, 20%, 50%, 80%, 100% { 0%, 10%, 25%, 40%, 50% {
-webkit-transform: translateY(0) rotate(-90deg); -webkit-transform: translateY(0) rotate(-90deg);
transform: translateY(0) rotate(-90deg); transform: translateY(0) rotate(-90deg);
} }
40% { 20% {
-webkit-transform: translateY(-10px) rotate(-90deg); -webkit-transform: translateY(-10px) rotate(-90deg);
transform: translateY(-10px) rotate(-90deg); transform: translateY(-10px) rotate(-90deg);
} }
60% { 30% {
-webkit-transform: translateY(-5px) rotate(-90deg); -webkit-transform: translateY(-5px) rotate(-90deg);
transform: translateY(-5px) rotate(-90deg); transform: translateY(-5px) rotate(-90deg);
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 KiB

View File

@ -1,9 +1,9 @@
{{!< default}} {{!< 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}} {{#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}}" style="background-image: url({{cover}}){{else}}no-cover{{/if}}">
<nav class="main-nav overlay clearfix"> <nav class="main-nav overlay clearfix">
@ -32,10 +32,10 @@
</section> </section>
{{/author}} {{/author}}
{{! The main content area on the homepage }} {{!-- The main content area on the homepage --}}
<main class="content" role="main"> <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"}} {{> "loop"}}
</main> </main>

View File

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

View File

@ -1,7 +1,7 @@
{{!< default}} {{!< 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}}"> <header class="main-header {{#if @blog.cover}}" style="background-image: url({{@blog.cover}}){{else}}no-cover{{/if}}">
<nav class="main-nav overlay clearfix"> <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.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> <a class="scroll-down icon-arrow-left" href="#content" data-offset="-45"><span class="hidden">Scroll Down</span></a>
</header> </header>
{{! The main content area on the homepage }} {{!-- The main content area on the homepage --}}
<main id="content" class="content" role="main"> <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"}} {{> "loop"}}
</main> </main>

View File

@ -1,4 +1,36 @@
{ {
"name": "Casper", "name": "casper",
"version": "1.2.7" "description": "The default personal blogging theme for Ghost. Beautiful, minimal and responsive.",
"demo": "https://demo.ghost.io",
"version": "1.3.4",
"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"
]
},
"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

@ -1,9 +1,9 @@
{{!< default}} {{!< default}}
{{! This is a page template. A page outputs content just like any other post, and has all the same {{!-- 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. }} 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}} {{#post}}
<header class="main-header post-head {{#if image}}" style="background-image: url({{image}}){{else}}no-cover{{/if}}"> <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"> <div class="extra-pagination inner">
{{pagination}} {{pagination}}
</div> </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}} {{#foreach posts}}
<article class="{{post_class}}"> <article class="{{post_class}}">
<header class="post-header"> <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> </header>
<section class="post-excerpt"> <section class="post-excerpt">
<p>{{excerpt words="26"}} <a class="read-more" href="{{url}}">&raquo;</a></p> <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}} {{#if author.image}}<img class="author-thumb" src="{{author.image}}" alt="{{author.name}}" nopin="nopin" />{{/if}}
{{author}} {{author}}
{{tags prefix=" on "}} {{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> </footer>
</article> </article>
{{/foreach}} {{/foreach}}
{{! Previous/next page links - displayed on every page }} {{!-- Previous/next page links - displayed on every page --}}
{{pagination}} {{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> <li class="nav-{{slug}}{{#if current}} nav-current{{/if}}" role="presentation"><a href="{{url absolute="true"}}">{{label}}</a></li>
{{/foreach}} {{/foreach}}
</ul> </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> </div>
<span class="nav-cover"></span> <span class="nav-cover"></span>

View File

@ -1,9 +1,9 @@
{{!< default}} {{!< default}}
{{! The comment above "< default" means - insert everything in this file into {{!-- The comment above "< default" means - insert everything in this file into
the {body} of the default.hbs template, which contains our header/footer. }} 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}} {{#post}}
<header class="main-header post-head {{#if image}}" style="background-image: url({{image}}){{else}}no-cover{{/if}}"> <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"> <header class="post-header">
<h1 class="post-title">{{title}}</h1> <h1 class="post-title">{{title}}</h1>
<section class="post-meta"> <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> </section>
</header> </header>
@ -31,7 +31,7 @@
<footer class="post-footer"> <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}} {{#author}}
{{#if image}} {{#if image}}
@ -72,11 +72,22 @@
</a> </a>
</section> </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> </footer>
</article> </article>
</main> </main>
{{!-- Links to Previous/Next posts --}}
<aside class="read-next"> <aside class="read-next">
{{#next_post}} {{#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 image}}" style="background-image: url({{image}}){{else}}no-cover{{/if}}" href="{{url}}">

18
tag.hbs
View File

@ -1,7 +1,7 @@
{{!< default}} {{!< 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}}"> <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"> <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.logo}}<a class="blog-logo" href="{{@blog.url}}"><img src="{{@blog.logo}}" alt="{{@blog.title}}" /></a>{{/if}}
@ -10,23 +10,25 @@
{{/if}} {{/if}}
</nav> </nav>
<div class="vertical"> <div class="vertical">
{{#tag}}
<div class="main-header-content inner"> <div class="main-header-content inner">
<h1 class="page-title">{{tag.name}}</h1> <h1 class="page-title">{{name}}</h1>
<h2 class="page-description"> <h2 class="page-description">
{{#if tag.description}} {{#if description}}
{{tag.description}} {{description}}
{{else}} {{else}}
A {{pagination.total}}-post collection A {{../pagination.total}}-post collection
{{/if}} {{/if}}
</h2> </h2>
</div> </div>
{{/tag}}
</div> </div>
</header> </header>
{{! The main content area on the homepage }} {{!-- The main content area on the homepage --}}
<main class="content" role="main"> <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"}} {{> "loop"}}
</main> </main>