Merge pull request #703 from matthojo/Dashboard-Removal

Temporarily removed the Dashboard and all references
This commit is contained in:
Hannah Wolfe 2013-09-12 06:19:59 -07:00
commit 4cd9f79116
30 changed files with 24 additions and 3144 deletions

View File

@ -1,821 +0,0 @@
/*
* These are the styles used to control the look and feel of the widgetised
* dashboard of the Ghost admin system. The first screen you see on login.
*
* Table of Contents:
* Widget Base
* Widget Sizes
* Widget Variations
* Individual Widgets
* Clock / Date
* Ghost Image
* Unique Visitors
* Facebook Likes
* Google Plus
* Twitter
* Campaign Monitor
* Upcoming Posts
* Most Popular Posts
* Posts This Week
* Instagram
* RSS
* Klout
* Bounce Rate
* Average time On Site
* Last.Fm
* Post Ideas
* Tweets
* Backups
*/
/* ==========================================================================
Widget Base
========================================================================== */
.js-widget-container {
padding-bottom: 15px;
}
%widget, .widget {
width: 340px;
height: 300px;
float:left;
position:relative;
background-color:#fff;
box-shadow: $shadow;
@include breakpoint($mobile) {
width: 100%;
}
.widget-content {
@include box-sizing(border-box);
margin-bottom: 40px;
padding: 20px;
}
.widget-footer, .widget-header {
@include box-sizing(border-box);
width: 100%;
height: 40px;
font-size: 1.2em;
color: $midbrown;
border-top: 1px solid $lightbrown;
.widget-title {
display: inline-block;
padding-top: 7px;
padding-left: 15px;
vertical-align: middle;
text-transform: uppercase;
}
}
.widget-settings-toggle {
@include box-sizing(border-box);
display: block;
height: 39px;
width: 46px;
float: right;
padding: 7px 14px;
border-left: 1px solid $lightbrown;
cursor: pointer;
@include icon($i-settings, 1em);
}
.widget-footer {
position: absolute;
bottom: 0;
}
} //%widget, .widget
.ui-draggable-dragging {
z-index: 9999; // Keep dragged widget on top
}
/* ==========================================================================
Widget Sizes
========================================================================== */
.widget-1x2 {
height: 610px;
}
.widget-2x2 {
width: 690px;
height: 610px;
}
.widget-2x1 {
width: 690px;
}
/* ==========================================================================
Widget Variations
========================================================================== */
/* ==========================================================================
Number Widgets base styles
========================================================================== */
%widget-number, .widget-number {
@extend %widget;
.widget-content {
.info {
margin-top: 30px;
.count {
display: block;
font-size: 5em;
line-height: 1em;
font-weight: 400;
color: $darkgrey;
}
.sub {
font-size: 2em;
color: #9b9b9b;
mark {
background-color: transparent;
font-weight: bold;
&.up {
color: $green;
}
&.down {
color: $red;
}
}
}
}
} // .widget-content
&.widget-2x2 {
.widget-content {
.info {
margin-top: 100px;
.count {
font-size: 9em;
}
.sub {
font-size: 2.5em;
}
}
}
}
} // %widget-number, .widget-number
/* ==========================================================================
Settings panel base styles
========================================================================== */
.widget-settings {
@extend %widget;
background-color: #2d3032;
.widget-header {
height: 40px;
border-top: none;
border-bottom: 1px solid #4a4a4a;
color: $midgrey;
}
.widget-content {
padding: 0;
}
label {
width:100%;
height: 40px;
display: block;
border-bottom: 1px solid #4a4a4a;
font-size: 1.2em;
}
.title {
@include box-sizing(border-box);
display: inline-block;
width: 100px;
height: 100%;
padding: 8px;
color: #E3EDF2;
text-transform: uppercase;
text-align: right;
}
input[type="text"] {
@include box-sizing(border-box);
height: 100%;
padding: 8px;
color: $midgrey;
text-transform: none;
background: none;
border: none;
border-left: 1px solid #4a4a4a;
}
.widget-footer, .widget-header {
border-color: #4a4a4a;
}
.widget-size-options {
display: inline-block;
height: 100%;
padding-top: 10px;
padding-left: 10px;
.size-options-container {
@include box-sizing(border-box);
display: inline-block;
width: 20px;
height: 20px;
padding: 3px;
cursor: pointer;
}
.mini-widget {
background: $midgrey;
margin: 1px;
float: left;
&.active {
background: #ffffff;
}
}
.size-1x1 {
width: 5px;
height: 5px;
}
.size-2x1 {
width: 12px;
height: 5px;
}
.size-1x2 {
width: 5px;
height: 12px;
}
.size-2x2 {
width: 12px;
height: 12px;
}
.active {
background: #171819;
}
} // .widget-size-options
.widget-settings-toggle {
border-color: #4a4a4a;
&.close {
@include icon($i-x, 1em);
}
&.done {
background-color: $green;
color: rgba(255,255,255,0.7);
@include icon($i-check, 1em);
}
}
} // .widget-settings
/* ==========================================================================
Individual Widgets
========================================================================== */
/* ==========================================================================
Clock / Date
========================================================================== */
.widget-time {
@extend %widget;
.summary {
margin-bottom: 30px;
font-size: 1.4em;
color: #9b9b9b;
.day {
float: left;
}
.weather {
float: right;
@include icon-after($i-weather-sun);
}
}
time {
margin-top: 30px;
.clock {
display: block;
font-size: 5em;
line-height: 1em;
font-weight: 400;
color: $darkgrey;
}
.date {
font-size: 2em;
color: #9b9b9b;
}
}
} // .widget-time
/* ==========================================================================
Ghost Image
========================================================================== */
.widget-image {
@extend %widget;
.widget-content {
height: 100%;
background-image: url(../img/dash/Image@2x.png);
background-size: 100% 100%;
}
.widget-footer {
margin-top: -40px;
opacity: 0;
background: #ffffff;
@include transition(opacity 200ms linear);
}
&:hover {
.widget-footer {
opacity: 1;
}
}
&.widget-settings {
.widget-content {
background-image: none;
}
.widget-footer {
background: inherit;
opacity: 1;
}
}
} // .widget-image
/* ==========================================================================
Unique Visitors
========================================================================== */
.widget-stats {
@extend %widget-number;
}
/* ==========================================================================
Facebook Likes
========================================================================== */
.widget-facebook {
@extend %widget-number;
.info {
.faces {
display: block;
width: 100%;
height: 30px;
margin-top: 25px;
background-image: url("../img/dash/Facebook_Images@2x.png");
background-size: 100% 100%;
}
}
}
/* ==========================================================================
Google Plus
========================================================================== */
.widget-gplus {
@extend %widget-number;
}
/* ==========================================================================
Twitter
========================================================================== */
.widget-twitter {
@extend %widget;
}
/* ==========================================================================
Campaign Monitor
========================================================================== */
.widget-campaignmonitor {
@extend %widget-number;
}
/* ==========================================================================
Upcoming Posts
========================================================================== */
.widget-posts {
@extend %widget;
position: relative;
.chart {
@include box-sizing(border-box);
width: 250px;
height: 250px;
position: relative;
z-index: 1;
margin: 0 auto;
background: #242628;
border: #efefef 54px solid;
border-radius: 250px;
.sheen {
width: 71px;
height: 142px;
position: absolute;
top: 0;
background-image: -webkit-gradient(linear, left bottom, right top, from(rgba(251, 255, 242, 0.00)), to(rgba(254, 253, 255, 1.00)));
background-image: -webkit-linear-gradient(left bottom, rgba(251, 255, 242, 0.00), rgba(254, 253, 255, 1.00));
background-image: -moz-linear-gradient(left bottom, rgba(251, 255, 242, 0.00), rgba(254, 253, 255, 1.00));
background-image: -o-linear-gradient(left bottom, rgba(251, 255, 242, 0.00), rgba(254, 253, 255, 1.00));
background-image: -ms-linear-gradient(left bottom, rgba(251, 255, 242, 0.00), rgba(254, 253, 255, 1.00));
background-image: linear-gradient(left bottom, rgba(251, 255, 242, 0.00), rgba(254, 253, 255, 1.00));
filter: progid:DXImageTransform.Microsoft.gradient(GradientType=1,StartColorStr='#fbfff2', EndColorStr='#fefdff');
border-radius: 71px 0 0 71px;
@include transform(rotate(45deg));
@include transform-origin(100% 50%);
opacity: 0.05;
}
#poststats {
position: relative;
top:-54px;
left: -54px;
}
.data {
position: absolute;
top: 5px;
color: $midgrey;
font-size: 13px;
list-style: none;
.ready {
font-size: 18px;
vertical-align: -5%;
margin-right: 5px;
color: $green;
}
.pending {
font-size: 18px;
vertical-align: -5%;
margin-right: 5px;
color: #f9e15d;
}
.draft {
font-size: 18px;
vertical-align: -5%;
margin-right: 5px;
color: $red;
}
}
}
} // .widget-posts
/* ==========================================================================
Popular Posts
========================================================================== */
.widget-popular {
@extend %widget;
background: none;
.widget-content {
padding: 0;
}
.nav {
list-style: none;
width: 100%;
margin: 0;
padding: 0;
}
.tab {
@include box-sizing(border-box);
display: inline-block;
height: 35px;
margin: 0;
margin-top: 5px;
padding: 5px 15px 0;
float: left;
vertical-align: bottom;
background: #CDCCC5;
border-left: 1px solid $midbrown;
&:first-child {
border: none;
}
&.active {
height: 40px;
margin: 0;
padding-top: 10px;
background: #ffffff;
}
a {
vertical-align: middle;
display: inline-block;
color: #8D8C85;
}
}
.post-list {
max-height: 538px; // TODO: What the fuck is this? : For overflow, dont way to make dynamic
background: #ffffff;
overflow: auto;
}
.post-item {
@include box-sizing(border-box);
display: block;
min-height: 80px;
width: 100%;
padding: 20px;
border-bottom: 1px solid $lightbrown;
}
.post-title {
font-size: 1.25em;
font-weight: normal;
}
.post-date {
@include icon($i-calendar);
margin-right: 20px;
color: $brown;
}
.post-count {
@include icon($i-stats);
color: $brown;
}
.widget-footer {
background: #ffffff;
}
} // .widget-popular
/* ==========================================================================
Posts This Week
========================================================================== */
.widget-postsWeek {
@extend %widget;
}
/* ==========================================================================
Instagram
========================================================================== */
.widget-instagram {
@extend %widget;
overflow: hidden;
.widget-content {
padding: 0;
}
.photo {
height: 100%;
width: 100%;
}
.widget-footer {
background: rgba(0,0,0,0.4);
border: none;
.widget-title {
color: #fff;
}
}
.widget-settings-toggle {
border: none;
}
} // .widget-instagram
/* ==========================================================================
RSS
========================================================================== */
.widget-rss {
@extend %widget;
}
/* ==========================================================================
Klout
========================================================================== */
.widget-klout {
@extend %widget-number;
}
/* ==========================================================================
Bounce Rate
========================================================================== */
.widget-bounce {
@extend %widget-number;
}
/* ==========================================================================
Average Time On Site
========================================================================== */
.widget-avgTime {
@extend %widget-number;
}
/* ==========================================================================
Last.Fm
========================================================================== */
.widget-lastfm {
@extend %widget;
overflow: hidden;
.widget-content {
padding: 0;
}
.cover {
height: 100%;
width: 100%;
}
.banner {
@include box-sizing(border-box);
display: block;
width: 100%;
padding: 20px;
position: absolute;
top: 80px;
background: rgba(0,0,0,0.7);
.song-artist, .song-title {
display: block;
color: #ffffff;
}
.song-artist {
font-size: 2em;
font-weight: bold;
line-height: 1em;
}
.song-title {
font-size: 1.2em;
}
}
.widget-footer {
background: #ffffff;
}
} // .widget-lastfm
/* ==========================================================================
Post Ideas
========================================================================== */
.widget-ideas {
@extend %widget;
.widget-content {
padding: 0;
}
.idea-title {
@include box-sizing(border-box);
display: block;
width: 100%;
height: 80px;
margin-bottom: 10px;
padding: 20px;
font-size: 2em;
border: none;
border-bottom: 1px solid $lightbrown;
}
.idea-content {
@include box-sizing(border-box);
width: 100%;
padding: 20px;
font-size: 1.2em;
border: none;
resize: none;
}
.idea-title:focus, .idea-content:focus {
outline: none;
}
} // .widget-ideas
/* ==========================================================================
Tweets
========================================================================== */
.widget-tweets {
@extend %widget;
.twitter-display-image {
width: 30px;
height: 30px;
margin-right: 10px;
display: inline-block;
float: left;
border-radius: 15px;
img {
width: 100%;
height: 100%;
border-radius: 15px;
}
}
.twitter-name {
font-weight: bold;
font-size: 1.5em;
margin-right: 5px;
}
.twitter-handle {
color: $midbrown;
font-size: 1.2em;
}
.latest-tweet {
margin-top: 15px;
margin-bottom: 15px;
font-size: 1.5em;
a {
color: $orange;
font-weight: bold;
}
}
.tweet-time {
color: $midbrown;
}
.twitter-functions {
float: right;
font-size: 1.2em;
a:hover {
text-decoration: none;
}
.reply {
@include icon($i-reply, '', $midbrown);
margin-right: 5px;
}
.retweet {
@include icon($i-repost, '', $midbrown);
margin-right: 5px;
}
.favourite {
@include icon($i-unfeatured, '', $midbrown);
}
}
} // .widget-tweets
/* ==========================================================================
Backups
========================================================================== */
.widget-backups {
@extend %widget;
}

View File

@ -31,9 +31,6 @@
Layouts - Styles for specific admin screen layouts, grouped by screen.
========================================================================== */
@import "layouts/dashboard";
/* The default admin page, the dashboard. */
@import "layouts/manage";
/* The manage posts screen. */

View File

@ -5,7 +5,7 @@
Ghost.Router = Backbone.Router.extend({
routes: {
'' : 'dashboard',
'' : 'blog',
'content/' : 'blog',
'settings/' : 'settings',
'settings(/:pane)' : 'settings',
@ -68,417 +68,6 @@
debug: function () {
Ghost.currentView = new Ghost.Views.Debug({ el: "#main" });
},
dashboard: function () {
var widgets = new Ghost.Collections.Widgets();
widgets.add({
title: "LINZ, AUSTRIA",
name: "time",
author: "Matthew Harrison-Jones",
applicationID: "com.ghost.time",
content: {
template: 'custom/time',
data: {
day: "Today",
weather: "12",
time: "12:42PM",
date: "Monday / March 5 / 2013"
}
},
settings: {
settingsPane: true,
options: [{
title: "Timezone",
value: "GMT"
}]
}
});
widgets.add({
title: "Ghost",
name: "image",
author: "Matthew Harrison-Jones",
applicationID: "com.ghost.image",
size: "2x1",
content: {
template: 'default/blank'
},
settings: {
settingsPane: true
}
});
widgets.add({
title: "Upcoming Posts",
name: "posts",
author: "Matthew Harrison-Jones",
applicationID: "com.ghost.posts",
content: {
template: 'custom/upcoming-posts',
data: {
ready: 9,
pending: 4,
draft: 1
}
},
settings: {
settingsPane: true
}
});
widgets.add({
title: "Unique Visitors (7 days)",
name: "stats",
author: "Matthew Harrison-Jones",
applicationID: "com.ghost.stats",
size: "2x2",
content: {
template: 'default/number',
data: {
number: {
count: "293,051",
sub: {
value: "+14%",
dir: "up",
item: "",
period: "in the last 7 days"
}
}
}
},
settings: {
settingsPane: true
}
});
widgets.add({
title: "Facebook Likes",
name: "facebook",
author: "Matthew Harrison-Jones",
applicationID: "com.ghost.facebook",
content: {
template: 'default/number',
data: {
number: {
count: "12,329",
sub: {
value: "-3",
dir: "down",
item: "likes",
period: "today"
}
}
}
},
settings: {
settingsPane: true
}
});
widgets.add({
title: "Google Plus",
name: "gplus",
author: "Matthew Harrison-Jones",
applicationID: "com.ghost.gplus",
content: {
template: 'default/number',
data: {
number: {
count: "4,103",
sub: {
item: "have you in circles"
}
}
}
},
settings: {
settingsPane: true
}
});
widgets.add({
title: "Twitter",
name: "twitter",
author: "Matthew Harrison-Jones",
applicationID: "com.ghost.twitter",
content: {
template: 'default/blank'
},
settings: {
settingsPane: true,
enabled: true,
options: [
{
title: "Account",
value: "@JohnONolan"
},
{
title: "Display",
value: "Last Tweets"
},
{
title: "Quantity",
value: 6
}
]
}
});
widgets.add({
title: "Campaign Monitor",
name: "campaignmonitor",
author: "Matthew Harrison-Jones",
applicationID: "com.ghost.campaignmonitor",
content: {
template: 'default/number',
data: {
number: {
count: "5,693",
sub: {
value: "+63",
dir: "up",
item: "subscribers",
period: "this week"
}
}
}
},
settings: {
settingsPane: true
}
});
widgets.add({
title: "Most Popular Posts",
name: "popular",
author: "Matthew Harrison-Jones",
applicationID: "com.ghost.popular",
size: "1x2",
content: {
template: 'custom/popular-posts',
data: {
posts: [
{
title: "The Night of The Headless Horseman Part II",
time: "Yesterday",
count: "3,128"
},
{
title: "Latin Script & Why it's Particularly Boring to Read",
time: "Wednesday",
count: "1,345"
},
{
title: "59 Signs Your Cat and/or Dog Might be Planning To Kill You",
time: "Tuesday",
count: "824"
},
{
title: "A Love Letter to Emma Stone",
time: "Today",
count: "293"
},
{
title: "Lorem Ipsum Dolor Sit Amet & Other Funny Moments",
time: "Yesterday",
count: "124"
},
{
title: "Matt Does Git",
time: "Thursday",
count: "100"
}
]
}
}
});
widgets.add({
title: "Posts This Week (Out Of 20)",
name: "postsWeek",
author: "Matthew Harrison-Jones",
applicationID: "com.ghost.postsWeek",
content: {
template: 'default/blank'
}
});
widgets.add({
title: "Your RSS News Feed",
name: "rss",
author: "Matthew Harrison-Jones",
applicationID: "com.ghost.rss",
size: "2x2",
content: {
template: 'default/blank'
},
settings: {
settingsPane: true
}
});
widgets.add({
title: "Instagram",
name: "instagram",
author: "Matthew Harrison-Jones",
applicationID: "com.ghost.instagram",
content: {
template: 'custom/instagram',
data: {
image: "http://f.cl.ly/items/303f3y1n3I2L1F10343E/instagram.jpg"
}
},
settings: {
settingsPane: true,
options: [{
title: "Account",
value: "@JohnONolan"
}]
}
});
widgets.add({
title: "Klout",
name: "klout",
author: "Matthew Harrison-Jones",
applicationID: "com.ghost.klout",
content: {
template: 'default/number',
data: {
number: {
count: "64.23",
sub: {
value: "-0.42",
dir: "down",
item: "",
period: "in the last 30 days"
}
}
}
},
settings: {
settingsPane: true
}
});
widgets.add({
title: "Bounce Rate",
name: "bounce",
author: "Matthew Harrison-Jones",
applicationID: "com.ghost.bounce",
content: {
template: 'default/number',
data: {
number: {
count: "40.21%",
sub: {
value: "-2.53%",
dir: "up",
item: "",
period: "in the last month"
}
}
}
},
settings: {
settingsPane: true
}
});
widgets.add({
title: "Average Time On Site",
name: "avgTime",
author: "Matthew Harrison-Jones",
applicationID: "com.ghost.avgTime",
content: {
template: 'default/number',
data: {
number: {
count: "2m 16s",
sub: {
value: "+31.4%",
dir: "up",
item: "",
period: "in the last month"
}
}
}
},
settings: {
settingsPane: true
}
});
widgets.add({
title: "Last.fm",
name: "lastfm",
author: "Matthew Harrison-Jones",
applicationID: "com.ghost.lastfm",
content: {
template: 'custom/lastfm',
data: {
cover: "http://f.cl.ly/items/0p0r3T3v3M0R0H1k1p0S/imagine_dragons.png",
artist: "Imagine Dragons",
title: "On Top of The World"
}
},
settings: {
settingsPane: true
}
});
widgets.add({
title: "Post Ideas",
name: "ideas",
author: "Matthew Harrison-Jones",
applicationID: "com.ghost.ideas",
size: "2x1",
content: {
template: 'custom/post-ideas'
},
settings: {
settingsPane: true
}
});
widgets.add({
title: "Twitter",
name: "tweets",
author: "Matthew Harrison-Jones",
applicationID: "com.ghost.tweets",
content: {
template: 'custom/tweets',
data: {
avatar: "http://f.cl.ly/items/1A1S0D3T3p1g1B2Z3J0u/ghost_twitter.jpeg",
name: "Ghost",
handle: "@TryGhost",
tweet: "If you're exploring the <a href='#'>@twitterapi</a>, be sure and bring the new field guide along. <a href='#'>dev.twitter.com/blog/...</a>",
time: "3 May 12"
}
},
settings: {
settingsPane: true
}
});
widgets.add({
title: "Backups",
name: "backups",
author: "Matthew Harrison-Jones",
applicationID: "com.ghost.backups",
content: {
template: 'default/blank'
},
settings: {
settingsPane: true
}
});
//widgets.fetch().then(function () {
Ghost.currentView = new Ghost.Views.Dashboard({ el: '#main', collection: widgets });
//});
}
});
}());

View File

@ -1,44 +0,0 @@
{{#if settings.enabled}}
<header class="widget-header">
<span class="widget-title">{{Title}} Settings</span>
<div class="widget-settings-toggle close js-view-widget"></div>
</header>
<section class="widget-content">
{{#each settings.options}}
<label>
<span class="title">{{this.title}}</span> <input type="text" value="{{this.value}}"/>
</label>
{{/each}}
</section>
<footer class="widget-footer">
<div class="widget-size-options">
<div class="size-options-container js-widget-resizer" data-size="1x1">
<span class="mini-widget size-1x1 active"></span>
<span class="mini-widget size-1x1"></span>
<span class="mini-widget size-1x1"></span>
<span class="mini-widget size-1x1"></span>
</div>
<div class="size-options-container js-widget-resizer" data-size="2x1">
<span class="mini-widget size-2x1 active"></span>
<span class="mini-widget size-1x1"></span>
<span class="mini-widget size-1x1"></span>
</div>
<div class="size-options-container js-widget-resizer" data-size="1x2">
<span class="mini-widget size-1x2 active"></span>
<span class="mini-widget size-1x1"></span>
<span class="mini-widget size-1x1"></span>
</div>
<div class="size-options-container js-widget-resizer" data-size="2x2">
<span class="mini-widget size-2x2 active"></span>
</div>
</div>
<div class="widget-settings-toggle done js-submit-changes"></div>
</footer>
{{else}}
<section class="widget-content">
</section>
<footer class="widget-footer">
<span class="widget-title">{{title}}</span>
{{#if settings.settingsPane}}<div class="widget-settings-toggle js-view-settings"></div>{{/if}}
</footer>
{{/if}}

View File

@ -1 +0,0 @@
<img class="photo" src="{{content.data.image}}" />

View File

@ -1,5 +0,0 @@
<img class="cover" src="{{content.data.cover}}" />
<section class="banner">
<span class="song-artist">{{content.data.artist}}</span>
<span class="song-title">{{oontent.data.title}}</span>
</section>

View File

@ -1,15 +0,0 @@
<ul class="nav clearfix">
<li class="tab active"><a href="#">This Week</a></li>
<li class="tab"><a href="#">Month</a></li>
<li class="tab"><a href="#">Year</a></li>
<li class="tab"><a href="#">Ever</a></li>
</ul>
<ul class="post-list nav">
{{#each content.data.posts}}
<li class="post-item">
<h1 class="post-title">{{this.title}}</h1>
<span class="post-date"> {{this.time}}</span>
<span class="post-count"> {{this.count}}</span>
</li>
{{/each}}
</ul>

View File

@ -1,2 +0,0 @@
<input type="text" class="idea-title" placeholder="Enter the title of your post idea...." />
<textarea class="idea-content" placeholder="This is a brief synopsis of the idea here with your key points. Paste in any relevant links to your reference material. Markdown is fully supported. Hit enter when your done."></textarea>

View File

@ -1,8 +0,0 @@
<header class="summary clearfix">
<span class="day">{{content.data.day}}</span>
<span class="weather">{{content.data.weather}}°</span>
</header>
<time>
<span class="clock">{{content.data.time}}</span>
<span class="date">{{content.data.date}}</span>
</time>

View File

@ -1,18 +0,0 @@
<header>
<div class="twitter-display-image">
<img src="{{content.data.avatar}}" />
</div>
<span class="twitter-name">{{content.data.name}}</span>
<span class="twitter-handle">{{contnet.data.handle}}</span>
</header>
<article class="latest-tweet">
{{{content.data.tweet}}}
</article>
<footer>
<time class="tweet-time">{{content.data.time}}</time>
<div class="twitter-functions">
<a href="#"><i class="reply"></i></a>
<a href="#"><i class="retweet"></i></a>
<a href="#"><i class="favourite"></i></a>
</div>
</footer>

View File

@ -1,9 +0,0 @@
<div class="chart">
<canvas id="poststats" width="250" height="250"></canvas>
<div class="sheen"></div>
<ul class="data">
<li><span class="ready">{{content.data.ready}}</span> Ready</li>
<li><span class="pending">{{content.data.pending}}</span> Pending</li>
<li><span class="draft">{{content.data.draft}}</span> Draft</li>
</ul>
</div>

View File

@ -1,4 +0,0 @@
<div class="info">
<span class="count">{{content.data.number.count}}</span>
<span class="sub"><mark class="{{content.data.number.sub.dir}}">{{content.data.number.sub.value}}</mark> {{content.data.number.sub.item}} {{content.data.number.sub.period}}</span>
</div>

View File

@ -1,162 +0,0 @@
/*global window, document, localStorage, Ghost, $, _, Backbone, JST */
(function () {
"use strict";
var Widgets,
Widget,
WidgetContent,
$widgetContainer,
$itemElems,
widgetPositions;
widgetPositions = {
mobile: {},
tablet: {},
netbook: {},
desktop: {}
};
// Base view
// ----------
Ghost.Views.Dashboard = Ghost.View.extend({
initialize: function (options) {
this.addSubview(new Widgets({ el: '.js-widget-container', collection: this.collection })).render();
}
});
// Widgets
// ----------
Widgets = Ghost.View.extend({
initialize: function () {
$widgetContainer = this.$el;
},
packeryInit: function () {
var self = this;
$widgetContainer.packery({
itemSelector: '.js-widget',
gutter: 10,
columnWidth: 340,
rowHeight: 300
});
$itemElems = $($widgetContainer.packery('getItemElements'));
// make item elements draggable
$itemElems.draggable();
// bind Draggable events to Packery
$widgetContainer.packery('bindUIDraggableEvents', $itemElems);
$widgetContainer.packery('on', 'dragItemPositioned', function () {
var viewportSize = $(window).width();
if (viewportSize <= 400) { // Mobile
widgetPositions.mobile = self.getWidgetOrder($itemElems);
} else if (viewportSize > 400 && viewportSize <= 800) { // Tablet
widgetPositions.tablet = self.getWidgetOrder($itemElems);
} else if (viewportSize > 800 && viewportSize <= 1000) { // Netbook
widgetPositions.netbook = self.getWidgetOrder($itemElems);
} else if (viewportSize > 1000) {
widgetPositions.desktop = self.getWidgetOrder($itemElems);
}
localStorage.setItem('widgetPositions', JSON.stringify(widgetPositions));
// Retrieve the object from storage with `JSON.parse(localStorage.getItem('widgetPositions'));`
});
},
getWidgetOrder: function (itemElems) {
// items are in order within the layout
var order = {};
_.each(itemElems, function (widget, index) {
order[widget.getAttribute("data-widget-id")] = index;
});
return order;
},
render: function () {
this.collection.each(function (model) {
this.$el.append(this.addSubview(new Widget({model: model})).render().el);
}, this);
this.packeryInit();
}
});
// Widget
// ----------
Widget = Ghost.View.extend({
tagName: 'article',
attributes: function () {
var size = (this.model.get('size')) ? " widget-" + this.model.get('size') : "",
settings = (this.model.attributes.settings.enabled) ? " widget-settings" : "";
return {
'class': 'widget-' + this.model.get('name') + size + settings + ' js-widget',
'data-widget-id': this.model.get('applicationID')
};
},
events: {
'click .js-widget-resizer': 'resizeWidget',
'click .js-view-settings': 'showSettings',
'click .js-view-widget': 'showWidget'
},
resizeWidget: function (e) {
e.preventDefault();
var data = $(e.currentTarget).data('size');
this.$el.removeClass("widget-1x2 widget-2x1 widget-2x2");
if (data !== "1x1") {
this.$el.addClass('widget-' + data);
$widgetContainer.packery('fit', this.el);
} else {
$widgetContainer.packery();
}
$(e.currentTarget).siblings('.active').removeClass('active');
$(e.currentTarget).addClass('active');
},
showSettings: function (e) {
e.preventDefault();
this.model.attributes.settings.enabled = true;
this.$el.addClass("widget-settings");
this.render();
},
showWidget: function (e) {
e.preventDefault();
this.model.attributes.settings.enabled = false;
this.$el.removeClass("widget-settings");
this.render();
},
templateName: "widget",
afterRender: function () {
if (!this.model.attributes.settings.enabled) {
this.$(".widget-content").html(this.addSubview(new WidgetContent({model: this.model})).render().el);
} else {
var size = !this.model.get('size') ? "1x1" : this.model.get('size');
this.$el.find("[data-size='" + size + "']").addClass('active');
}
return this;
}
});
// Widget Content
// ----------
WidgetContent = Ghost.View.extend({
template: function (data) {
return JST['widgets/' + this.model.attributes.content.template](data);
}
});
}());

View File

@ -18,17 +18,11 @@ var Ghost = require('../../ghost'),
// TODO: combine path/navClass to single "slug(?)" variable with no prefix
adminNavbar = {
dashboard: {
name: 'Dashboard',
navClass: 'dashboard',
key: 'admin.navbar.dashboard',
path: '/'
},
content: {
name: 'Content',
navClass: 'content',
key: 'admin.navbar.content',
path: '/content/'
path: '/'
},
add: {
name: 'New Post',
@ -241,9 +235,9 @@ adminControllers = {
});
},
'index': function (req, res) {
res.render('dashboard', {
bodyClass: 'dashboard',
adminNav: setSelected(adminNavbar, 'dashboard')
res.render('content', {
bodyClass: 'manage',
adminNav: setSelected(adminNavbar, 'content')
});
},
'editor': function (req, res) {

View File

@ -1,32 +0,0 @@
{{#contentFor 'bodyScripts'}}
<script src="/public/vendor/chart.min.js"></script>
<script>
$(document).ready(function(){
var ctx = $("#poststats").get(0).getContext("2d");
var data = [
{
value: 9,
color:"#9ec14a"
},
{
value : 4,
color : "#f9e15d"
},
{
value : 2,
color : "#EB5700"
}
];
var options = {
animationEasing: 'easeOutQuart',
percentageInnerCutout: 60,
segmentStrokeColor : "#efefef"
};
var poststats = new Chart(ctx).Doughnut(data, options);
});
</script>
{{/contentFor}}
{{!< default}}
<section class="js-widget-container">
</section>

View File

@ -84,7 +84,6 @@
<!-- // require '/public/views/*' -->
<script src="/public/views/base.js"></script>
<script src="/public/models/uploadModal.js"></script>
<script src="/public/views/dashboard.js"></script>
<script src="/public/views/blog.js"></script>
<script src="/public/views/editor.js"></script>
<script src="/public/views/editor-tag-widget.js"></script>

View File

@ -1,6 +1,5 @@
{
"__SECTION__": "admin core",
"admin.navbar.dashboard": "Dashboard",
"admin.navbar.blog": "Blog",
"admin.navbar.settings": "Settings",

View File

@ -1,6 +1,5 @@
{
"__SECTION__": "admin core",
"admin.navbar.dashboard": "Ashboarday",
"admin.navbar.blog": "Logbay",
"admin.navbar.settings": "Ettingsay",

View File

@ -140,7 +140,7 @@ casper.test.begin("Can login to Ghost", 4, function suite(test) {
casper.waitForResource(/ghost\/$/, function testForDashboard() {
test.assertUrlMatch(/ghost\/$/, 'We got redirected to the Ghost page');
test.assertExists("#global-header", "Global admin header is present");
test.assertExists(".dashboard", "We're now on the dashboard");
test.assertExists(".manage", "We're now on content");
}, function onTimeOut() {
test.fail('Failed to load ghost/ resource');
});

View File

@ -1,48 +0,0 @@
/*globals casper, __utils__, url */
casper.test.begin("Ghost dashboard is correct", 12, function suite(test) {
test.filename = "dashboard_test.png";
casper.start(url + "ghost", function testTitleAndUrl() {
test.assertTitle("", "Ghost admin has no title");
test.assertUrlMatch(/ghost\/$/, "Ghost doesn't require login this time");
test.assertExists(".ghost-logo", "Ghost is present");
}).viewport(1280, 1024);
casper.then(function testMenus() {
test.assertExists("#main-menu", "Main menu is present");
test.assertSelectorHasText("#main-menu .dashboard a", "Dashboard");
test.assertSelectorHasText("#main-menu .content a", "Content");
test.assertSelectorHasText("#main-menu .editor a", "New Post");
test.assertSelectorHasText("#main-menu .settings a", "Settings");
test.assertExists("#usermenu", "User menu is present");
test.assertSelectorHasText("#usermenu .usermenu-profile a", "Your Profile");
test.assertSelectorHasText("#usermenu .usermenu-help a", "Help / Support");
test.assertSelectorHasText("#usermenu .usermenu-signout a", "Sign Out");
});
casper.run(function () {
test.done();
});
});
casper.test.begin("Ghost dashboard interactions are correct", 2, function suite(test) {
test.filename = "dashboard_interactions_test.png";
casper.start(url + "ghost", function testTitleAndUrl() {
test.assertExists(".widget-time", "Time widget is present");
}).viewport(1280, 1024);
casper.then(function testWidgetDragAbility() {
var origPos = this.getElementBounds('.widget-time');
this.mouse.down('.widget-time .widget-footer');
this.mouse.move(150, 650);
this.mouse.up(150, 650);
test.assertNotEquals(this.getElementBounds('.widget-time'), origPos, 'Time Widget has moved');
});
casper.run(function () {
test.done();
});
});

View File

@ -1,6 +1,6 @@
/*globals casper, __utils__, url, testPost */
casper.test.begin("Content screen is correct", 9, function suite(test) {
casper.test.begin("Content screen is correct", 17, function suite(test) {
test.filename = "content_test.png";
casper.start(url + "ghost/content/", function testTitleAndUrl() {
@ -8,6 +8,18 @@ casper.test.begin("Content screen is correct", 9, function suite(test) {
test.assertUrlMatch(/ghost\/content\/$/, "Ghost doesn't require login this time");
}).viewport(1280, 1024);
casper.then(function testMenus() {
test.assertExists("#main-menu", "Main menu is present");
test.assertSelectorHasText("#main-menu .content a", "Content");
test.assertSelectorHasText("#main-menu .editor a", "New Post");
test.assertSelectorHasText("#main-menu .settings a", "Settings");
test.assertExists("#usermenu", "User menu is present");
test.assertSelectorHasText("#usermenu .usermenu-profile a", "Your Profile");
test.assertSelectorHasText("#usermenu .usermenu-help a", "Help / Support");
test.assertSelectorHasText("#usermenu .usermenu-signout a", "Sign Out");
});
casper.then(function testViews() {
test.assertExists(".content-view-container", "Content main view is present");
test.assertExists(".content-list-content", "Content list view is present");

View File

@ -1,78 +0,0 @@
<!doctype html>
<!--[if lt IE 7]><html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
<!--[if (IE 7)&!(IEMobile)]><html class="no-js lt-ie9 lt-ie8" lang="en"><![endif]-->
<!--[if (IE 8)&!(IEMobile)]><html class="no-js lt-ie9" lang="en"><![endif]-->
<head>
<meta charset="utf-8">
<title>Ghost</title>
<meta name="description" content="">
<meta name="author" content="">
<meta name="HandheldFriendly" content="True">
<meta name="MobileOptimized" content="320">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- For all browsers -->
<link rel="stylesheet" href="../../../core/client/assets/css/screen.css">
<link rel="shortcut icon" href="/favicon.ico">
<link rel="logo" type="image/svg" href="assets/images/logo.svg"/>
<meta http-equiv="cleartype" content="on">
</head>
<body class="dashboard">
<header id="global-header" class="navbar">
<a id="ghost" href="http://vip.tryghost.org" data-off-canvas="left"><span class="hidden">Ghost</span></a>
<nav id="global-nav" role="navigation">
<ul id="main-menu" >
<li class="dashboard active"><a href="/ghost/">Dashboard</a></li>
<li class="content"><a href="/ghost/content/">Content</a></li>
<li class="editor"><a href="/ghost/editor/">New Post</a></li>
<li class="settings"><a href="/ghost/settings/">Settings</a></li>
<li id="usermenu" class="subnav">
<a href="#" data-toggle="ul" class="dropdown">
<img class="avatar" src="/shared/img/default-user-profile-picture.jpg" alt="Avatar" />
<span class="name">Matthew Harrison-Jones v0.2.1</span>
</a>
<ul class="overlay">
<li class="usermenu-profile"><a href="/ghost/settings/user">Your Profile</a></li>
<li class="divider"></li>
<li class="usermenu-help"><a href="#">Help / Support</a></li>
<li class="usermenu-shortcuts"><a href="#">Keyboard Shortcuts</a></li>
<li class="divider"></li>
<li class="usermenu-signout"><a href="/signout/">Sign Out</a></li>
</ul>
</li>
</ul>
</nav>
</header>
<main role="main">
<section class="error-content error-404 js-error-container">
<figure class="error-image">
<img class="error-ghost" src="../../../core/client/assets/img/404-ghost@2x.png" srcset="../../../core/client/assets/img/404-ghost.png 1x, ../../../core/client/assets/img/404-ghost@2x.png 2x"/>
</figure>
<section class="error-message">
<h1 class="error-code">404</h1>
<h2 class="error-description">No Ghost Found</h2>
</section>
</section>
</main>
<script type="text/javascript" src="assets/js/jquery.js"></script>
</body>
</html>

View File

@ -1,252 +0,0 @@
<!doctype html>
<!--[if lt IE 7]><html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
<!--[if (IE 7)&!(IEMobile)]><html class="no-js lt-ie9 lt-ie8" lang="en"><![endif]-->
<!--[if (IE 8)&!(IEMobile)]><html class="no-js lt-ie9" lang="en"><![endif]-->
<head>
<meta charset="utf-8">
<title>Ghost</title>
<meta name="description" content="">
<meta name="author" content="">
<meta name="HandheldFriendly" content="True">
<meta name="MobileOptimized" content="320">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- For all browsers -->
<link rel="stylesheet" href="../core/admin/assets/css/screen.css">
<link rel="shortcut icon" href="/favicon.ico">
<link rel="logo" type="image/svg" href="assets/images/logo.svg"/>
<meta http-equiv="cleartype" content="on">
</head>
<body class="dashboard">
<header id="global-header" class="navbar">
<a id="ghost" class="icon-ghost" href="#"><span class="hidden">Ghost</span></a>
<nav id="global-nav" role="navigation">
<ul id="main-menu">
<li class="active"><a href="#">Dashboard</a></li>
<li><a href="#">Blog</a></li>
<li><a href="#">Pages</a></li>
<li><a href="#">Settings</a></li>
<li id="user-menu" class="subnav">
<a href="#" data-toggle="ul">
<img class="avatar" src="assets/img/user.jpg" alt="Avatar" />
<span class="name">John O'Nolan</span>
</a>
<ul>
<li><a href="#">Your Profile</a></li>
<li class="divider"></li>
<li><a href="#">Help / Support</a></li>
<li><a href="#">Keyboard Shortcuts</a></li>
<li class="divider"></li>
<li><a href="#">Sign Out</a></li>
</ul>
</li>
</ul>
</nav>
</header>
<main role="main">
<section class="dashboard-controls">
<div class="text left"><strong>Welcome back</strong>, John.</div>
<nav class="controls-nav">
<ul class="nav inline">
<li><a href="#"><span class="icon-new"></span> New Post</a></li>
<li><a href="#"><span class="icon-users"></span> Authors</a></li>
<li><a href="#"><span class="icon-analytics"></span> Analytics</a></li>
</ul>
</nav>
<div class="text right"><a href="#"><span class="icon-settings"></span><span class="hidden">Settings</span></a></div>
<div class="clearfix"></div><!--TODO: replace this later with something less shit-->
</section>
<section class="widget time-date">
<header>
London, United Kingdom
</header>
<section class="content">
<div class="time">
8:55<span>am</span>
</div>
<div class="date"><!--TODO: convert to html5 <date>-->
<span>Wednesday</span>
13 June 2012
</div>
</section>
<footer>
Timezone: UTC +1
</footer>
</section>
<section class="widget">
<header>
Top Authors This Month
</header>
<section class="content">
<table class="table">
<thead>
<tr>
<td>Name</td>
<td>Posts</td>
<td>Comments</td>
<td>tweets</td>
<td>Likes</td>
</tr>
</thead>
<tbody>
<tr>
<td><strong class="text-uppercase"><img class="user-img" src="assets/img/user.jpg" width="34px" height="34px" alt=""> John</strong></td>
<td><strong class="callout">32</strong> <span>Posts</span></td>
<td><strong>231</strong> <span>Comments</span></td>
<td><strong>103</strong> <span>tweets</span></td>
</tr>
<tr>
<td><strong class="text-uppercase"><img class="user-img" src="assets/img/user.jpg" width="34px" height="34px" alt=""> James</strong></td>
<td><strong>32</strong> <span>Posts</span></td>
<td><strong class="callout">231</strong> <span>Comments</span></td>
<td><strong>103</strong> <span>tweets</span></td>
</tr>
<tr>
<td><strong class="text-uppercase"><img class="user-img" src="assets/img/user.jpg" width="34px" height="34px" alt=""> Jerry</strong></td>
<td><strong>32</strong> <span>Posts</span></td>
<td><strong>231</strong> <span>Comments</span></td>
<td><strong class="callout">103</strong> <span>tweets</span></td>
</tr>
</tbody>
</table>
</section>
<footer>
Ghost Stats
</footer>
</section>
<section class="widget post-statuses">
<header>
Post Statuses
</header>
<section class="content">
<div class="status-levels left">
<div class="scheduled" style="height: 30px;">Scheduled</div>
<div class="pending" style="height: 50px;">Pending</div>
<div class="draft" style="height: 60px;">Draft</div>
</div>
<div class="status-text left">
<div class="scheduled"><strong>5</strong> Scheduled</div>
<div class="pending"><strong>12</strong> Pending</div>
<div class="draft"><strong>32</strong> Draft</div>
</div>
</section>
<footer>
Ghost Stats
</footer>
</section>
<section class="widget total-views">
<header>
Total Page Views (Last 30 Days)
</header>
<section class="content">
<div class="widget-stats">
<span>37,921</span>
<span>
Previous <strong>32,419</strong> / <strong class="positive-text">+15.4%</strong>
</span>
</div>
</section>
<footer>
Google Analytics
</footer>
</section>
<section class="widget live-visitors">
<header>
Live Visitors
</header>
<section class="content">
<div class="widget-stats">
<span>124</span>
<span>
<strong>391</strong> max this month
</span>
</div>
</section>
<footer>
Woopra
</footer>
</section>
<section class="widget">
<header>
Twitter Followers
</header>
<section class="content">
<div class="widget-stats">
<span>12,304</span>
<span>
<strong class="positive-text">+123</strong> this month
</span>
</div>
</section>
<footer>
@ghost
</footer>
</section>
<section class="widget todays-traffic">
<header>
Todays Traffic (Actions)
</header>
<section class="content">
<ul class="nav">
<li>
<div>Post Title Excerpt Which is Li... <strong class="right">327</strong></div>
</li>
<li>
<div>My homepage <strong class="right">327</strong></div>
</li>
<li>
<div>Another long ass post about som... <strong class="right">327</strong></div>
</li>
<li>
<div>Boracay time! <strong class="right">327</strong></div>
</li>
</ul>
</section>
<footer>
Woopra
</footer>
</section>
<section class="widget">
<header>
Total Likes
</header>
<section class="content">
<div class="widget-stats">
<span>6,931</span>
<span>
<strong class="negative-text">-23</strong> this month
</span>
</div>
</section>
<footer>
Facebook
</footer>
</section>
</main>
<script type="text/javascript" src="assets/js/jquery.js"></script>
</body>
</html>

View File

@ -1,51 +0,0 @@
<!doctype html>
<!--[if lt IE 7]><html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
<!--[if (IE 7)&!(IEMobile)]><html class="no-js lt-ie9 lt-ie8" lang="en"><![endif]-->
<!--[if (IE 8)&!(IEMobile)]><html class="no-js lt-ie9" lang="en"><![endif]-->
<head>
<meta charset="utf-8">
<title>Ghost</title>
<meta name="description" content="">
<meta name="author" content="">
<meta name="HandheldFriendly" content="True">
<meta name="MobileOptimized" content="320">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- For all browsers -->
<link rel="stylesheet" href="../core/admin/assets/css/screen.css">
<link rel="shortcut icon" href="/favicon.ico">
<link rel="logo" type="image/svg" href="assets/images/logo.svg"/>
<meta http-equiv="cleartype" content="on">
</head>
<body class="ghost-login">
<header id="login-header">
</header>
<main role="main">
<img class="login-logo" src="../core/admin/assets/img/logo.png" alt="" />
<form id="login" action="#">
<div class="email-wrap">
<input class="email" type="text" placeholder="Email Address">
</div>
<div class="password-wrap">
<input class="password" type="password" placeholder="Password">
</div>
<button class="button-save" type="submit">Log in</button>
</form>
</main>
<script type="text/javascript" src="assets/js/jquery.js"></script>
</body>
</html>

View File

@ -1,221 +0,0 @@
<!doctype html>
<!--[if lt IE 7]><html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
<!--[if (IE 7)&!(IEMobile)]><html class="no-js lt-ie9 lt-ie8" lang="en"><![endif]-->
<!--[if (IE 8)&!(IEMobile)]><html class="no-js lt-ie9" lang="en"><![endif]-->
<head>
<meta charset="utf-8">
<title>Ghost</title>
<meta name="description" content="">
<meta name="author" content="">
<meta name="HandheldFriendly" content="True">
<meta name="MobileOptimized" content="320">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- For all browsers -->
<link rel="stylesheet" href="../core/admin/assets/css/screen.css">
<link rel="shortcut icon" href="/favicon.ico">
<link rel="logo" type="image/svg" href="assets/images/logo.svg"/>
<meta http-equiv="cleartype" content="on">
</head>
<body class="manage">
<header id="global-header" class="navbar">
<a id="ghost" class="icon-ghost" href="#"><span class="hidden">Ghost</span></a>
<nav id="global-nav" role="navigation">
<ul id="main-menu">
<li class="active"><a href="#">Dashboard</a></li>
<li><a href="#">Blog</a></li>
<li><a href="#">Pages</a></li>
<li><a href="#">Settings</a></li>
<li id="user-menu" class="subnav">
<a href="#" data-toggle="ul">
<img class="avatar" src="assets/img/user.jpg" alt="Avatar" />
<span class="name">John O'Nolan</span>
</a>
<ul>
<li><a href="#">Your Profile</a></li>
<li class="divider"></li>
<li><a href="#">Help / Support</a></li>
<li><a href="#">Keyboard Shortcuts</a></li>
<li class="divider"></li>
<li><a href="#">Sign Out</a></li>
</ul>
</li>
</ul>
</nav>
</header>
<main role="main">
<div class="half-wrap left-panel">
<section class="box manage-posts">
<header>
Blog Posts <a href="#" class="right search">Search</a>
</header>
<ol class="post-list">
<li>
<a class="permalink" href="#">
<figure class="thumbnail"><img src="assets/img/user.jpg" alt="img" /></figure>
<h3 class="entry-title">Ut Enim ad Minim Veniam Quis Nostrud</h3>
<section class="entry-meta">
<time datetime="2013-01-04" class="date">Today</time>
<span class="category">News, Category</span>
<span class="views">1,934</span>
</section>
</a>
</li>
<li>
<a class="permalink" href="#">
<figure class="thumbnail"><img src="assets/img/user.jpg" alt="img" /></figure>
<h3 class="entry-title">Ut Enim ad Minim Veniam Quis Nostrud Exercitation Ullamco</h3>
<section class="entry-meta">
<time datetime="2013-01-04" class="date">Today</time>
<span class="category">News, Category</span>
<span class="views">1,934</span>
</section>
</a>
</li>
<li class="current featured">
<a class="permalink" href="#">
<figure class="thumbnail"><img src="assets/img/user.jpg" alt="img" /></figure>
<h3 class="entry-title">Ut Enim ad Minim Veniam Quis Nostrud Exercitation Ullamco</h3>
<section class="entry-meta">
<time datetime="2013-01-04" class="date">Today</time>
<span class="category">News, Category</span>
<span class="views">1,934</span>
</section>
</a>
</li>
<li>
<a class="permalink" href="#">
<figure class="thumbnail"><img src="assets/img/user.jpg" alt="img" /></figure>
<h3 class="entry-title">Ut Enim ad Minim Veniam Quis Nostrud Exercitation Ullamco</h3>
<section class="entry-meta">
<time datetime="2013-01-04" class="date">Today</time>
<span class="category">News, Category</span>
<span class="views">1,934</span>
</section>
</a>
</li>
<li>
<a class="permalink" href="#">
<figure class="thumbnail"><img src="assets/img/user.jpg" alt="img" /></figure>
<h3 class="entry-title">Ut Enim ad Minim Veniam Quis Nostrud Exercitation Ullamco</h3>
<section class="entry-meta">
<time datetime="2013-01-04" class="date">Today</time>
<span class="category">News, Category</span>
<span class="views">1,934</span>
</section>
</a>
</li>
<li class="featured">
<a class="permalink" href="#">
<figure class="thumbnail"><img src="assets/img/user.jpg" alt="img" /></figure>
<h3 class="entry-title">Ut Enim ad Minim Veniam Quis Nostrud Exercitation Ullamco</h3>
<section class="entry-meta">
<time datetime="2013-01-04" class="date">Today</time>
<span class="category">News, Category</span>
<span class="views">1,934</span>
</section>
</a>
</li>
<li>
<a class="permalink" href="#">
<figure class="thumbnail"><img src="assets/img/user.jpg" alt="img" /></figure>
<h3 class="entry-title">Ut Enim ad Minim Veniam Quis Nostrud Exercitation Ullamco</h3>
<section class="entry-meta">
<time datetime="2013-01-04" class="date">Today</time>
<span class="category">News, Category</span>
<span class="views">1,934</span>
</section>
</a>
</li>
<li>
<a class="permalink" href="#">
<figure class="thumbnail"></figure>
<h3 class="entry-title">Ut Enim ad Minim Veniam Quis Nostrud Exercitation Ullamco</h3>
<section class="entry-meta">
<time datetime="2013-01-04" class="date">Today</time>
<span class="category">News, Category</span>
<span class="views">1,934</span>
</section>
</a>
</li>
<li>
<a class="permalink" href="#">
<figure class="thumbnail"><img src="assets/img/user.jpg" alt="img" /></figure>
<h3 class="entry-title">Ut Enim ad Minim Veniam Quis Nostrud Exercitation Ullamco</h3>
<section class="entry-meta">
<time datetime="2013-01-04" class="date">Today</time>
<span class="category">News, Category</span>
<span class="views">1,934</span>
</section>
</a>
</li>
</ol>
</section>
</div>
<div class="half-wrap right-panel">
<section class="box preview-post featured">
<header>
Published + Featured
<section class="right">
<ul class="post-utility">
<li><a class="edit" href="#">Edit</a></li>
<li><a class="view" href="#">View</a></li>
<li><a class="delete" href="#">Delete</a></li>
</ul>
</section>
</header>
<section class="post-content">
<h2>Ut Enim ad Minim Veniam Quis Nostrud Exercitation Ullamco</h2>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis <a href="#">parturient</a> montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu.</p>
<h2>This is a Heading 2</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod <strong>tempor incididunt</strong> ut labore et dolore magna aliqua. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod <strong>tempor incididunt</strong> ut labore et dolore magna aliqua. Lorem ipsum dolor sit amet, consectetur adipisicing elit, Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. sed do eiusmod <strong>tempor incididunt</strong> ut labore et dolore magna aliqua. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod <strong>tempor incididunt</strong> ut labore et dolore magna aliqua. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod <strong>tempor incididunt</strong> ut labore et dolore magna aliqua.</p>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</p>
<img src="assets/img/postimg.jpg" alt="" />
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim.</p>
<ul>
<li>Lorem ipsum dolor sit amet</li>
<li>Lorem ipsum dolor sit amet</li>
<li>Lorem ipsum dolor sit amet</li>
<li>Lorem ipsum dolor sit amet</li>
<li>Lorem ipsum dolor sit amet</li>
</ul>
<h3>This is a Heading 3</h3>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</p>
<ol>
<li>Lorem ipsum dolor sit amet</li>
<li>Lorem ipsum dolor sit amet</li>
<li>Lorem ipsum dolor sit amet</li>
<li>Lorem ipsum dolor sit amet</li>
<li>Lorem ipsum dolor sit amet</li>
</ol>
</section>
</section>
</div>
</main>
<script type="text/javascript" src="assets/js/jquery.js"></script>
</body>
</html>

View File

@ -1,191 +0,0 @@
<!doctype html>
<!--[if lt IE 7]><html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
<!--[if (IE 7)&!(IEMobile)]><html class="no-js lt-ie9 lt-ie8" lang="en"><![endif]-->
<!--[if (IE 8)&!(IEMobile)]><html class="no-js lt-ie9" lang="en"><![endif]-->
<head>
<meta charset="utf-8">
<title>Ghost</title>
<meta name="description" content="">
<meta name="author" content="">
<meta name="HandheldFriendly" content="True">
<meta name="MobileOptimized" content="320">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- For all browsers -->
<link rel="stylesheet" href="../core/admin/assets/css/screen.css">
<link rel="shortcut icon" href="/favicon.ico">
<link rel="logo" type="image/svg" href="assets/images/logo.svg"/>
<meta http-equiv="cleartype" content="on">
</head>
<body class="editor">
<header id="global-header" class="navbar">
<a id="ghost" class="icon-ghost" href="#"><span class="hidden">Ghost</span></a>
<nav id="global-nav" role="navigation">
<ul id="main-menu">
<li><a href="#">Dashboard</a></li>
<li class="active"><a href="#">Blog</a></li>
<li><a href="#">Pages</a></li>
<li><a href="#">Settings</a></li>
<li id="user-menu" class="subnav">
<a href="#" data-toggle="ul">
<img class="avatar" src="assets/img/user.jpg" alt="Avatar" />
<span class="name">John O'Nolan</span>
</a>
<ul>
<li><a href="#">Your Profile</a></li>
<li class="divider"></li>
<li><a href="#">Help / Support</a></li>
<li><a href="#">Keyboard Shortcuts</a></li>
<li class="divider"></li>
<li><a href="#">Sign Out</a></li>
</ul>
</li>
</ul>
</nav>
</header>
<main role="main">
<section class="notification">
This is a general notification. The default. Gets your attention. Tells you stuff.
<a class="close" href="#"><span class="hidden">Close</span></a>
</section>
<section class="notification-success">
The action you attempted completed successfully.
<a class="close" href="#"><span class="hidden">Close</span></a>
</section>
<section class="notification-alert">
General information. Yay.
<a class="close" href="#"><span class="hidden">Close</span></a>
</section>
<section class="notification-error">
You done fucked up good.
<a class="close" href="#"><span class="hidden">Close</span></a>
</section>
<header>
<section class="box entry-title">
<input type="text" placeholder="The Post Title Gets Inserted Up Here">
<a class="icon-fullscreen" href="#" title="Enter full screen mode"><span class="hidden">Full Screen</span></a>
</section>
<span class="entry-permalink"><strong>Permalink:</strong> http://yoursite.com/<strong>the-post-title-goes-here</strong>/</span>
</header>
<div class="wrapper">
<div class="half-wrap">
<section class="box entry-content active">
<header>
Markdown <a href="#" title="What is Markdown?" class="right icon-faq"><span class="hidden">?</span></a>
</header>
<textarea class="markdown">
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu.
##This is a Heading 2
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim.
* Lorem ipsum dolor sit amet
* Lorem ipsum dolor sit amet
* Lorem ipsum dolor sit amet
* Lorem ipsum dolor sit amet
* Lorem ipsum dolor sit amet
###This is a Heading 3
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
1. Lorem ipsum dolor sit amet
2. Lorem ipsum dolor sit amet
3. Lorem ipsum dolor sit amet
4. Lorem ipsum dolor sit amet
5. Lorem ipsum dolor sit amet
</textarea>
</section>
</div>
<div class="half-wrap">
<section class="box entry-preview">
<header>
Preview <span class="right">561 words</span>
</header>
<section class="entry-preview-content">
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis <a href="#">parturient</a> montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu.</p>
<h2>This is a Heading 2</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod <strong>tempor incididunt</strong> ut labore et dolore magna aliqua.</p>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</p>
<div class="img-placeholder">
<span>Drag image here - or <a href="#" class="btn btn-light btn-rounded">Upload</a></span>
</div>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim.</p>
<ul>
<li>Lorem ipsum dolor sit amet</li>
<li>Lorem ipsum dolor sit amet</li>
<li>Lorem ipsum dolor sit amet</li>
<li>Lorem ipsum dolor sit amet</li>
<li>Lorem ipsum dolor sit amet</li>
</ul>
<h3>This is a Heading 3</h3>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</p>
<ol>
<li>Lorem ipsum dolor sit amet</li>
<li>Lorem ipsum dolor sit amet</li>
<li>Lorem ipsum dolor sit amet</li>
<li>Lorem ipsum dolor sit amet</li>
<li>Lorem ipsum dolor sit amet</li>
</ol>
</section>
</section>
</div>
</div>
<footer id="publish-bar">
<nav>
<a id="entry-categories" href="#" class="left"><span class="icon-tag"></span> Category: Default</a>
<div class="right">
<a id="entry-settings" href="#" class="button-settings"><span class="icon-settings"></span> <span class="hidden">Settings</span></a>
<a id="save-post" href="#" class="button button-save">Save Draft</a><a id="publish-post" href="#" class="button button-publish">Publish</a>
</div>
</nav>
</footer>
</main>
<script type="text/javascript" src="assets/js/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('.entry-content header, .entry-preview header').click(function(){
$('.entry-content, .entry-preview').removeClass('active');
$(this).closest('section').addClass('active');
});
});
</script>
</body>
</html>

View File

@ -1,556 +0,0 @@
<!doctype html>
<!--[if lt IE 7]><html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
<!--[if (IE 7)&!(IEMobile)]><html class="no-js lt-ie9 lt-ie8" lang="en"><![endif]-->
<!--[if (IE 8)&!(IEMobile)]><html class="no-js lt-ie9" lang="en"><![endif]-->
<head>
<meta charset="utf-8">
<title>Ghost</title>
<meta name="description" content="">
<meta name="author" content="">
<meta name="HandheldFriendly" content="True">
<meta name="MobileOptimized" content="320">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- For all browsers -->
<link rel="stylesheet" href="../core/admin/assets/css/screen.css">
<link rel="shortcut icon" href="/favicon.ico">
<link rel="logo" type="image/svg" href="assets/images/logo.svg"/>
<meta http-equiv="cleartype" content="on">
</head>
<body class="editor">
<header id="global-header" class="navbar">
<a id="ghost" class="icon-ghost" href="#"><span class="hidden">Ghost</span></a>
<nav id="global-nav" role="navigation">
<ul id="main-menu">
<li class="active"><a href="#">Dashboard</a></li>
<li><a href="#">Blog</a></li>
<li><a href="#">Pages</a></li>
<li><a href="#">Settings</a></li>
<li id="user-menu" class="subnav">
<a href="#" data-toggle="ul">
<img class="avatar" src="assets/img/user.jpg" alt="Avatar" />
<span class="name">John O'Nolan</span>
</a>
<ul>
<li><a href="#"><i class="icon-users"></i> Your Profile</a></li>
<li class="divider"></li>
<li><a href="#"><i class="icon-support"></i> Help / Support</a></li>
<li><a href="#"><i class="icon-pc"></i> Keyboard Shortcuts</a></li>
<li class="divider"></li>
<li><a href="#"><i class="icon-settings"></i> Sign Out</a></li>
</ul>
</li>
</ul>
</nav>
</header>
<main role="main">
<div style="max-width:700px;margin:0 auto;background:#fff;padding:40px;" >
<header>
<hgroup>
<h1>Grouped Heading 1</h1>
<h2>Grouped Heading 2 and <a href="#">linked text</a> too.</h2>
</hgroup>
<nav>
<ul>
<li><a href="#">navigation item #1</a></li>
<li><a href="#">navigation item #2</a></li>
<li><a href="#">navigation item #3</a></li>
</ul>
</nav>
</header>
<section class="palette">
<h3>UI Colours</h3>
<div>
<section class="brown">#aaa9a2 <small>Text</small></section>
<section class="midbrown">#c0bfb6 <small>Icons</small></section>
<section class="lightbrown">#edece4 <small>Dividers</small></section>
</div>
<div class="clearfix"></div>
<div>
<section class="darkgrey">#242628 <small>BG</small></section>
<section class="grey">#35393b <small>Dividers</small></section>
<section class="midgrey">#7d878a <small>Text/Icons</small></section>
<section class="lightgrey">#e2edf2 <small>Highlight</small></section>
</div>
<div class="clearfix"></div>
</section>
<section class="palette">
<h3>Actions</h3>
<div>
<section class="blue">#4090ba <small>Save</small></section>
<section class="red">#e25440 <small>Delete/Publish</small></section>
<section class="orange">#f59b0d <small>Notifcation</small></section>
</div>
<div class="clearfix"></div>
</section>
<div class="clearfix"></div>
<article role="main">
<header>
<hgroup>
<h1>An Article Headline</h2>
<h2>A longer article subheading that explains the article in a sentence</h2>
</hgroup>
<time datetime="2011-09-06">Tuesday, September 6<sup>th</sup> 2011</time>
</header>
<p><strong>Pellentesque habitant morbi tristique</strong> senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. <em>Aenean ultricies mi vitae est.</em> Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, <code>commodo vitae</code>, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. <a href="#">Donec non enim</a> in turpis pulvinar facilisis. Ut felis.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
<aside>
<p>An aside to illustrate a key point in the article, maybe with a list</p>
<ul>
<li>Lorem ipsum dolor</li>
<li>Consectetur adipisicing elit</li>
<li>Eiusmod tempor incididunt</li>
</ul>
</aside>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</article>
<section id="headers">
<h1>H1 Header + <a href="#">Link</a></h1>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
<h2>H2 Header + <a href="#">Link</a></h2>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
<h3>H3 Header + <a href="#">Link</a></h3>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
<h4>H4 Header + <a href="#">Link</a></h4>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
<h5>H5 Header + <a href="#">Link</a></h5>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
<h6>H6 Header + <a href="#">Link</a></h6>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</section>
<section id="text">
<h2>Text-level semantics</h2>
<p>
The <a href="#">a element</a> example<br>
The <abbr>abbr element</abbr> and <abbr title="Title text">abbr element with title</abbr> examples<br>
The <b>b element</b> example<br>
The <cite>cite element</cite> example<br>
The <code>code element</code> example<br>
The <del>del element</del> example<br>
The <dfn>dfn element</dfn> and <dfn title="Title text">dfn element with title</dfn> examples<br>
The <em>em element</em> example<br>
The img element <img src="http://placekitten.com/16/16" alt=""> example<br>
The <ins>ins element</ins> example<br>
The <kbd>Ctrl</kbd> + <kbd>R</kbd> kbd example<br>
The <mark>mark element</mark> example<br>
The <q>q element <q>inside</q> a q element</q> example<br>
The <s>s element</s> example<br>
The <samp>samp element</samp> example<br>
The <small>small element</small> example<br>
The <span>span element</span> example<br>
The <strong>strong element</strong> example<br>
The <sub>sub element</sub> example<br>
The <sup>sup element</sup> example<br>
The <var>var element</var> example<br>
The <u>u element</u> example
</p>
<h2>Blockquote</h2>
<blockquote>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus magna. Cras in mi at felis aliquet congue. Ut a est eget ligula molestie gravida. Curabitur massa.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus magna. Cras in mi at felis aliquet congue. Ut a est eget ligula molestie gravida. Curabitur massa. Ut a est eget ligula molestie gravida. Curabitur massa.</p>
<small>Someone famous, in <cite>Source Title - <a href="#">The New Yorker, September 2009</a></cite></small>
</blockquote>
<h2>Pre</h2>
<pre>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et me.</pre>
<pre><code>&lt;html>
&lt;head>
&lt;/head>
&lt;body>
&lt;div class="main"> &lt;div>
&lt;/body>
&lt;/html></code></pre>
</section>
<section id="lists">
<h2>List Types</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip.</p>
<h3>Ordered Lists</h3>
<ol>
<li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</li>
<li><a href="#" title="#">Aliquam tincidunt mauris eu risus.</a></li>
<li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. This bullet tests content going onto two lines</li>
</ol>
<h3>Un-ordered Lists</h3>
<ul>
<li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</li>
<li><a href="#" title="#">Aliquam tincidunt mauris eu risus.</a></li>
<li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. This bullet tests content going onto two lines</li>
</ul>
<h3>Lists Inside Lists Inside Lists</h3>
<ul>
<li>Morbi in sem quis dui placerat ornare. Pellentesque odio nisi, euismod in, pharetra a, ultricies in, diam. Sed arcu. Cras consequat.</li>
<li>
Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus.
<ul>
<li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</li>
<li>
Aliquam tincidunt mauris eu risus:
<ol>
<li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</li>
<li>Aliquam tincidunt mauris eu risus.</li>
<li>Vestibulum auctor dapibus neque.</li>
</ol>
</li>
<li>Vestibulum auctor dapibus neque.</li>
</ul>
</li>
<li>Phasellus ultrices nulla quis nibh. Quisque a lectus. Donec consectetuer ligula vulputate sem tristique cursus. Nam nulla quam, gravida non, commodo a, sodales sit amet, nisi.</li>
<li>Pellentesque fermentum dolor. Aliquam quam lectus, facilisis auctor, ultrices ut, elementum vulputate, nunc.</li>
</ul>
<h3>Definition Lists</h3>
<dl>
<dt>Definition Title</dt>
<dd>Consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco.</dd>
<dt>Lorem ipsum dolor sit amet</dt>
<dd>Consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris commodo consequat.</dd>
</dl>
</section>
<section id="embedded-content">
<h2>Embedded content</h2>
<h3>audio</h3>
<audio controls></audio>
<audio></audio>
<h3>img</h3>
<img src="http://placekitten.com/100/100" alt="">
<a href="#"><img src="http://placekitten.com/100/100" alt=""></a>
<h3>figure</h3>
<figure>
<img src="http://placekitten.com/400/200" alt="">
<figcaption>Figcaption content</figcaption>
</figure>
<h3>svg</h3>
<svg width="100px" height="100px">
<circle cx="100" cy="100" r="100" fill="#ff0000" />
</svg>
<h3>video</h3>
<video controls></video>
<video></video>
</section>
<section id="tables-and-forms">
<h3>Form</h3>
<!--Minimal semantic form markup, based on the work of Sam Croft http://samcroft.co.uk/2011/minimal-form-markup-simple-slender-and-semantic/-->
<form>
<fieldset>
<legend>Inputs as descendents of labels (form legend)</legend>
<label>
<b>Text input</b>
<input type="text" value="default value">
</label>
<label>
<b>Email input</b>
<input type="email">
</label>
<label>
<b>Search input</b>
<input type="search">
</label>
<label>
<b>Tel input</b>
<input type="tel">
</label>
<label>
<b>URL input</b>
<input type="url" placeholder="http://">
</label>
<label>
<b>Password input</b>
<input type="password" value="password">
</label>
<label>
<b>File input</b>
<input type="file">
</label>
<label>
<b>Radio input</b>
<input type="radio" name="rad">
</label>
<label>
<b>Checkbox input</b>
<input type="checkbox">
</label>
<label>
<input type="radio" name="rad"> Radio input
</label>
<label>
<input type="checkbox"> Checkbox input
</label>
<label>
<b>Select field</b>
<select>
<option>Option 01</option>
<option>Option 02</option>
</select>
</label>
<label>
<b>Textarea</b>
<textarea cols="30" rows="5" >Textarea text</textarea>
</label>
</fieldset>
<fieldset>
<legend>Clickable inputs and buttons</legend>
<input type="image" src="http://placekitten.com/90/24" alt="Image (input)">
<input type="reset" value="Reset (input)">
<input type="button" value="Button (input)">
<input type="submit" value="Submit (input)">
<button type="reset">Reset (button)</button>
<button type="button">Button (button)</button>
<button type="submit">Submit (button)</button>
</fieldset>
<fieldset id="boxsize">
<legend>box-sizing tests</legend>
<div><input type="text" value="text"></div>
<div><input type="email" value="email"></div>
<div><input type="search" value="search"></div>
<div><input type="url" value="http://example.com"></div>
<div><input type="password" value="password"></div>
<div><input type="color" value="#000000"></div>
<div><input type="number" value="5"></div>
<div><input type="range" value="10"></div>
<div><input type="date" value="1970-01-01"></div>
<div><input type="month" value="1970-01"></div>
<div><input type="week" value="1970-W01"></div>
<div><input type="time" value="18:23"></div>
<div><input type="datetime" value="1970-01-01T00:00:00Z"></div>
<div><input type="datetime-local" value="1970-01-01T00:00"></div>
<div><input type="radio"></div>
<div><input type="checkbox"></div>
<div><select><option>Option 01</option><option>Option 02</option></select></div>
<div><textarea cols="30" rows="5" >Textarea text</textarea></div>
<div><input type="image" src="http://placekitten.com/90/24" alt="Image (input)"></div>
<div><input type="reset" value="Reset (input)"></div>
<div><input type="button" value="Button (input)"></div>
<div><input type="submit" value="Submit (input)"></div>
<div><button type="reset">Reset (button)</button></div>
<div><button type="button">Button (button)</button></div>
<div><button type="submit">Submit (button)</button></div>
</fieldset>
</form>
<table class="plain">
<thead>
<tr>
<th>Button</th>
<th>class=""</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><button type="button" class="button">Default</button></td>
<td><code>button</code></td>
<td>Standard boring default button.</td>
</tr>
<tr>
<td><button type="button" class="button-save">Save This</button></td>
<td><code>button-save</code></td>
<td>Stands out, identifies a "save" or "confirm" or "continue" action.</td>
</tr>
<tr>
<td><button type="button" class="button-add">Add New</button></td>
<td><code>button-new</code></td>
<td>Used to indicate an action that will create something new.</td>
</tr>
<tr>
<td><button type="button" class="button-delete">Delete</button></td>
<td><code>button-delete</code></td>
<td>Strong warning - Used to indicate an action that will delete something.</td>
</tr>
<td><button type="button" class="button-alt">Alternative</button></td>
<td><code>button-alt</code></td>
<td>Alternate dark gray button, not tied to a semantic action or use.</td>
</tr>
<tr>
<td><button type="button" class="button-link">Link</button></td>
<td><code>button-link</code></td>
<td>Deemphasize a button by making it look like a link, maintaining same behavior.</td>
</tr>
<tr>
<td>
<section class="splitbutton">
<button type="button" class="button">Split</button>
<a class="options" href="#"><span class="hidden">Options</span></a>
</section>
</td>
<td><code>splitbutton</code></td>
<td>Standard boring default button + options.</td>
</tr>
<tr>
<td>
<section class="splitbutton">
<button type="button" class="button">Split Up</button>
<a class="options up" href="#"><span class="hidden">Options</span></a>
</section>
</td>
<td><code>splitbutton up</code></td>
<td>The dropdown arrow points up on hover.</td>
</tr>
<tr>
<td>
<section class="splitbutton-save">
<button type="button" class="button-save">Split Save</button>
<a class="options" href="#"><span class="hidden">Options</span></a>
</section>
</td>
<td><code>splitbutton-save</code></td>
<td>Save button + options.</td>
</tr>
<tr>
<td>
<section class="splitbutton-add">
<button type="button" class="button-add">Split Add</button>
<a class="options" href="#"><span class="hidden">Options</span></a>
</section>
</td>
<td><code>splitbutton-add</code></td>
<td>Add button + options.</td>
</tr>
<tr>
<td>
<section class="splitbutton-delete">
<button type="button" class="button-delete">Split Delete</button>
<a class="options" href="#"><span class="hidden">Options</span></a>
</section>
</td>
<td><code>splitbutton-delete</code></td>
<td>Delete button + options.</td>
</tr>
<tr>
<td>
<section class="splitbutton-alt">
<button type="button" class="button-alt">Split Alt</button>
<a class="options" href="#"><span class="hidden">Options</span></a>
</section>
</td>
<td><code>splitbutton-alt</code></td>
<td>Alt button + options.</td>
</tr>
</tbody>
</table>
<table>
<thead>
<tr>
<th>Name</th>
<th>Phone Number</th>
<th>Gender</th>
</tr>
</thead>
<tfoot>
<tr>
<th>Name</th>
<th>Phone Number</th>
<th>Gender</th>
</tr>
</tfoot>
<tbody>
<tr>
<td>John Smith</td>
<td>555 - 3246591</td>
<td>Male</td>
</tr>
<tr>
<td>Lucy Carter</td>
<td>555 - 6327445</td>
<td>Female</td>
</tr>
<tr>
<td>Simon Fletcher</td>
<td>555 - 2335213</td>
<td>Male</td>
</tr>
<tr>
<td>Jeremy Edwards</td>
<td>555 - 4297642</td>
<td>Male</td>
</tr>
<tr>
<td>Sarah Jones</td>
<td>555 - 6678903</td>
<td>Female</td>
</tr>
</tbody>
</table>
</section>
<footer role="contentinfo">
<p>This page is a <a href="http://tryghost.org">Ghost</a> custom template for checking CSS consistency.</p>
</footer>
</div>
</main>
<script type="text/javascript" src="assets/js/jquery.js"></script>
<script type="text/javascript" src="assets/js/toggle.js"></script>
</body>
</html>

View File

@ -1,191 +0,0 @@
<!DOCTYPE html>
<html lang="en" class="no-js"><!--<![endif]--><head>
<meta charset="utf-8">
<title>Matthew Harrison-Jones</title>
<meta content="Interactive designer, public speaker, startup advisor and writer. Living in Austria, attempting world domination via keyboard." name="description">
<meta content="" name="author">
<meta content="True" name="HandheldFriendly">
<meta content="320" name="MobileOptimized">
<meta content="width=device-width, initial-scale=1.0" name="viewport">
<meta content="yes" name="apple-mobile-web-app-capable">
<link href="/favicon.ico" rel="shortcut icon">
<meta content="on" http-equiv="cleartype">
<link href="http://fonts.googleapis.com/css?family=Lato:300,400,700" type="text/css" rel="stylesheet">
<link href="../../client/assets/css/screen.css" rel="stylesheet">
</head>
<body class="settings">
<header class="navbar" id="global-header">
<a data-off-canvas="left" href="#" id="ghost"><span class="hidden">Ghost</span></a>
<nav role="navigation" id="global-nav">
<ul id="main-menu">
<li class="dashboard"><a href="/ghost/">Dashboard</a></li>
<li class="content"><a href="/ghost/content/">Content</a></li>
<li class="editor"><a href="/ghost/editor/">New Post</a></li>
<li class="settings active"><a href="/ghost/settings/">Settings</a></li>
<li class="subnav" id="usermenu">
<a data-toggle="ul" href="#">
<img alt="Avatar" src="../../client/assets/img/user.jpg" class="avatar">
<span class="name">John O'Nolan</span>
</a>
<ul style="display: none;">
<li class="usermenu-profile"><a href="#">Your Profile</a></li>
<li class="divider"></li>
<li class="usermenu-help"><a href="#">Help / Support</a></li>
<li class="usermenu-shortcuts"><a href="#">Keyboard Shortcuts</a></li>
<li class="divider"></li>
<li class="usermenu-signout"><a href="/signout/">Sign Out</a></li>
</ul>
</li>
</ul>
</nav>
</header>
<main id="main" role="main">
<div class="wrapper">
<aside role="complementary" class="settings-sidebar">
<header>
<h1 class="title">Settings</h1>
</header>
<nav class="settings-menu">
<ul>
<li class="general"><a href="#general">General</a></li>
<li class="publishing"><a href="#content">Content</a></li>
<li class="users"><a href="#users">Users</a></li>
<li class="appearance"><a href="#appearance">Theme</a></li>
<li class="services"><a href="#">Connected Services</a></li>
<li class="plugins"><a href="#">Plugins</a></li>
</ul>
</nav>
</aside>
<section class="settings-content active" id="user-profile">
<header>
<h2 class="title">Your Profile</h2>
<section class="page-actions">
<button class="button-save">Save</button>
</section>
</header>
<section class="content no-padding">
<header class="user-profile-header">
<figure class="cover-image">
<img src="http://f.cl.ly/items/2Q2y3E1n2v043X0v1d2G/bg.jpg" title="John O'Nolan Cover Image"/>
<button class="button-change-cover">Change Cover</button>
</figure>
</header>
<form class="user-details-container">
<fieldset class="user-details-top">
<figure class="user-avatar-image">
<img src="http://f.cl.ly/items/0O2g3h462E2r2y1g1v2s/gravatar-j7-200.jpg" title="John O'Nolan"/>
<button class="button-change-avatar">Update Avatar</button>
</figure>
<label>
<input type="text" value="John O'Nolan" id="user-name">
<p>Use your real name so people can recognise you.</p>
</label>
</fieldset>
<fieldset class="user-details-bottom">
<label>
<b>Email</b>
<input type="text" value="john@onolan.org" id="user-email">
<p>Email will not be publicly displayed. <a class="highlight" href="#" >Learn more</a>.</p>
</label>
<label>
<b>Location</b>
<input type="text" value="Linz, Austria" id="user-location">
<p>Where in the world do you live?</p>
</label>
<label>
<b>Website</b>
<input type="text" value="http://john.onolan.org" id="user-website">
<p>Have a website or blog other than this one? Link it.</p>
</label>
<label class="bio-container">
<b>Bio</b>
<textarea id="user-bio">Interactive designer, public speaker, startup advisor and writer. </textarea>
<p class="bio-desc">Write about you, in <strong>200</strong> characters or less.</p>
<span class="word-count">97</span>
</label>
<hr>
</fieldset>
<fieldset class="user-details-bottom">
<label>
<b>Old Password</b>
<input type="password" id="user-password-old">
<p><a href="#" >Forgot your password?</a></p>
</label>
<label>
<b>New Password</b>
<input type="password" id="user-password-new">
</label>
<label>
<b>Verify Password</b>
<input type="password" id="user-new-password-verification">
</label>
</fieldset>
</form>
</section>
</section>
</div>
</main>
<script src="../../client/assets/vendor/jquery/jquery.min.js"></script>
<script src="../../client/assets/vendor/icheck/jquery.icheck.min.js"></script>
<script src="../../client/assets/vendor/underscore.js"></script>
<script src="../../client/assets/vendor/backbone/backbone.js"></script>
<script src="../../client/assets/vendor/handlebars/handlebars-runtime.js"></script>
<script src="../../client/assets/vendor/codemirror/codemirror.js"></script>
<script src="../../client/assets/vendor/codemirror/mode/markdown/markdown.js"></script>
<script src="../../client/assets/vendor/showdown/showdown.js"></script>
<script src="../../client/assets/vendor/showdown/extensions/ghostdown.js"></script>
<script src="../../client/assets/vendor/shortcuts.js"></script>
<script src="../../client/assets/vendor/countable.js"></script>
<script src="../../client/assets/vendor/jquery/jquery-ui-1.10.3.custom.min.js"></script>
<script src="../../client/assets/vendor/packery.pkgd.min.js"></script>
<script src="../../client/assets/init.js"></script>
<script src="../../client/assets/tpl/hbs-tmpl.js"></script>
<script src="../../client/assets/toggle.js"></script>
<script src="../../client/assets/admin-ui-temp.js"></script>
<script src="../../client/assets/markdown-actions.js"></script>
<script src="../../client/assets/tagui.js"></script>
<!-- // require '../../client/assets/js/models/*' -->
<script src="../../client/assets/models/post.js"></script>
<script src="../../client/assets/models/widget.js"></script>
<script src="../../client/assets/models/settings.js"></script>
<!-- // require '../../client/assets/js/views/*' -->
<script src="../../client/assets/views/base.js"></script>
<script src="../../client/assets/views/dashboard.js"></script>
<script src="../../client/assets/views/blog.js"></script>
<script src="../../client/assets/views/editor.js"></script>
<script src="../../client/assets/views/settings.js"></script>
<script src="../../client/assets/router.js"></script>
</body></html>

View File

@ -54,9 +54,9 @@ function auth(req, res, next) {
}
// Check if we're logged in, and if so, redirect people back to dashboard
// Check if we're logged in, and if so, redirect people back to content
// Login and signup forms in particular
function redirectToDashboard(req, res, next) {
function redirectToIndex(req, res, next) {
if (req.session.user) {
return res.redirect('/ghost/');
}
@ -212,9 +212,9 @@ when.all([ghost.init(), helpers.loadCoreHelpers(ghost)]).then(function () {
ghost.app().get('/ghost/login/', function redirect(req, res) {
res.redirect(301, '/ghost/signin/');
});
ghost.app().get('/ghost/signin/', redirectToDashboard, admin.login);
ghost.app().get('/ghost/signup/', redirectToDashboard, admin.signup);
ghost.app().get('/ghost/forgotten/', redirectToDashboard, admin.forgotten);
ghost.app().get('/ghost/signin/', redirectToIndex, admin.login);
ghost.app().get('/ghost/signup/', redirectToIndex, admin.signup);
ghost.app().get('/ghost/forgotten/', redirectToIndex, admin.forgotten);
ghost.app().post('/ghost/forgotten/', admin.resetPassword);
ghost.app().post('/ghost/signin/', admin.auth);
ghost.app().post('/ghost/signup/', admin.doRegister);