Integrate new admin frame

This commit is contained in:
John O'Nolan 2015-04-24 16:44:18 +03:00 committed by Hannah Wolfe
parent 1d3a0366c2
commit 1802442d40
36 changed files with 477 additions and 175 deletions

View File

@ -1,7 +1,7 @@
import Ember from 'ember';
var ApplicationController = Ember.Controller.extend({
// jscs: disable
hideNav: Ember.computed.match('currentPath', /(error|signin|signup|setup|forgotten|reset)/),
signedOut: Ember.computed.match('currentPath', /(signin|signup|setup|forgotten|reset)/),
// jscs: enable
topNotificationCount: 0,

View File

@ -0,0 +1,75 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>2</title>
<link rel="stylesheet" href="../../../built/assets/ghost.css">
</head>
<body>
<div class="gh-viewport">
<nav class="gh-nav">
<header class="gh-nav-menu">
<div class="gh-nav-menu-icon" style="background-image: url(https://s3.amazonaws.com/f.cl.ly/items/3I0g431b2b3q00253K1V/d16dc430c9c4f5c09d6ca09be3e5c72fdb21c1ac.png)"></div>
<div class="gh-nav-menu-details">
<div class="gh-nav-menu-details-blog">Ghost</div>
<div class="gh-nav-menu-details-user">John O'Nolan</div>
</div>
<i class="icon-arrow"></i>
</header>
<section class="gh-nav-body">
<section class="gh-nav-search">
<input class="gh-nav-search-input gh-input" type="text" placeholder="Search">
<button class="gh-nav-search-button"><i class="icon-search"></i><span class="sr-only">Search</span></button>
</section>
<ul class="gh-nav-list gh-nav-main">
<li><a href="#"><i class="icon-dash"></i>Dashboard</a></li>
<li><a href="#"><i class="icon-team"></i>Team</a></li>
<li class="current"><a href="#"><i class="icon-content"></i>Content</a></li>
<li><a href="#"><i class="icon-user"></i>My Posts</a></li>
<li><a href="#"><i class="icon-idea"></i>Ideas</a></li>
</ul>
<ul class="gh-nav-list gh-nav-settings">
<li class="gh-nav-list-h">Settings</li>
<li><a href="#"><i class="icon-settings"></i>General</a></li>
<li><a href="#"><i class="icon-design"></i>Design</a></li>
<li><a href="#"><i class="icon-compass"></i>Navigation</a></li>
<li><a href="#"><i class="icon-tag"></i>Tags</a></li>
<li><a href="#"><i class="icon-code"></i>Code Injection</a></li>
<li><a href="#"><i class="icon-apps"></i>Apps</a></li>
</ul>
</section>
<footer class="gh-nav-footer">
foot
</footer>
</nav>
<main class="gh-main">
<p>Just a year ago we launched our **Ghost(Pro)** hosted platform to allow people to easily deploy and run Ghost blogs.</p>
<p>Weve come a long way.</p>
<p>From the very beginning, during the [Kickstarter Campaign](https://www.kickstarter.com/projects/johnonolan/ghost-just-a-blogging-platform), we put forward the idea of a hosted platform for an Open Source project as a means to make it both sustainable and profitable.</p>
<p>At that point it was really just a theory and a dream. No Open Source project had ever done anything quite like it before.</p>
<p>**Today, the Ghost Foundation turns over $350,000 and, even more significantly: is profitable.**</p>
<p>2014 was a pretty incredible year. Its surreal to look back at just how far weve come. 2015 is set to be even bigger, and weve got a lot of plans.</p>
<p>## A Bigger Focus on Transparency</p>
<p>For the last year weve realised that a lot of things were passionate about are symptoms of something larger. Ghost is Open Source because we believe in free and open software which is available to everyone to use, hack and redistribute as they see fit. Ghost is not-for-profit because we believe in building an incredible company which is dedicated to its users, rather than creating wealth for its founders.</p>
<p>Weve realised the larger umbrella that embodies all of these elements that ties them all together is quite simple: Transparency.</p>
<p>What were really excited about is building a company with integrity thats completely open about what it does and why.</p>
<p>This year were going to place a much bigger focus on being even more aggressive about the number of things which we open up to the public. Weve learned a lot from our friends over at [Buffer](http://bufferapp.com) and were going to be taking a leaf out of their book in several ways.</p>
</main>
</div>
</body>

View File

@ -50,6 +50,5 @@
<script src="{{asset "ghost.js" ghost="true" minifyInProduction="true"}}"></script>
{{content-for 'body-footer'}}
</body>
</html>

View File

@ -5,6 +5,7 @@
@import "modules/variables";
@import "modules/mixins";
@import "modules/icons";
@import "modules/icons-new";
@import "modules/animations";
@ -51,6 +52,7 @@
// Layouts: Groups of Components
// --------------------------------------------------
@import "layouts/main";
@import "layouts/default";
@import "layouts/setup";
@import "layouts/auth";

View File

@ -18,6 +18,7 @@
// The dropdown wrapper <div>
.dropdown {
position: relative;
z-index: 1000;
}
// Prevent the focus on the dropdown toggle when closing dropdowns
@ -30,7 +31,6 @@
position: absolute;
top: 100%;
left: 0;
z-index: 1000;
float: left;
min-width: 220px;
@ -39,7 +39,7 @@
background-color: #fff;
border: darken($lightgrey, 15%) 1px solid;
border-radius: 2px;
border-radius: 4px;
box-shadow: rgba(0,0,0,0.175) 0 2px 6px;
background-clip: padding-box;

View File

@ -18,13 +18,14 @@
top: 0;
right: 0;
bottom: 0;
z-index: 500;
width: 350px;
border: #efefef 1px solid;
background: $lightestgrey;
width: 100%;
max-width: 350px;
overflow: hidden;
transition: transform $settings-menu-transition cubic-bezier($settings-menu-bezier);
transform: translate3d(60px, 0px, 0px);
transform: translate3d(350px, 0px, 0px);
// This selector ends up being `body.settings-menu-expanded .settings-menu-container`
body.settings-menu-expanded & {

View File

@ -14,21 +14,6 @@
// ------------------------------------------------------------
//
// Container
// --------------------------------------------------
.content-view-container {
position: relative;
height: 100%;
width: 100%;
@media (max-width: 900px) {
overflow-x: hidden;
}
}
//
// Show/Hide on mobile
// --------------------------------------------------
@ -105,7 +90,6 @@
right: 0;
bottom: 0;
left: 0;
padding-top: 40px;
overflow: auto;
-webkit-overflow-scrolling: touch;
}
@ -214,9 +198,8 @@
}//a
}//li
li.active {
.active {
@media (min-width: 901px) {
border-bottom: lighten($midgrey, 40%) 1px solid;
background: lighten($lightbrown, 5%);
}
}

View File

@ -84,17 +84,13 @@
.page-content {
position: absolute;
top: 60px;
top: 0;
right: 0;
bottom: 0;
left: 0;
background: #fff;
overflow-y: auto;
overflow-x: hidden;
@media (max-width: 900px) {
top: 44px;
}
}

View File

@ -22,7 +22,7 @@
.entry-container .entry-title {
height: 60px;
padding: 0 20px;
padding: 0;
position: relative;
input {
@ -31,9 +31,10 @@
border: 0;
margin: 0;
padding: 0;
font-size: 3.6rem;
font-size: 3.2rem;
font-weight: bold;
letter-spacing: -1px;
text-indent: 20px;
background: transparent;
&:focus {
@ -55,11 +56,6 @@
}
}
.entry-container {
position: relative;
height: 100%;
}
// The two content panel wrappers, positioned left/right
.entry-markdown {
left: 0;

View File

@ -0,0 +1,169 @@
// Layout
.gh-viewport {
display: flex;
height: 100vh;
overflow: hidden;
}
.gh-nav {
display: flex;
flex-direction: column;
flex: 0 0 220px;
border-right: #E1E1E1 1px solid;
background: #F6F6F6;
}
.gh-main {
position: relative;
flex-grow: 1;
overflow-y: auto;
}
//GH-NAV
.gh-nav-menu {
flex-shrink: 0;
display: flex;
align-items: center;
padding: 15px;
i {
height: 11px;
width: 11px;
margin-right: 8px;
font-size: 11px;
line-height: 11px;
}
}
.gh-nav-menu:hover { cursor: pointer; }
.gh-nav-menu-icon {
flex-shrink: 0;
margin-right: 10px;
width: 34px;
height: 34px;
background-size: 34px;
background-color: #222;
border-radius: 4px;
}
.gh-nav-menu-details {
flex-grow: 1;
padding-right: 10px;
}
.gh-nav-menu-details-blog {
margin-bottom: 1px;
font-size: 1.5rem;
line-height: 1.3em;
font-weight: 600;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
}
.gh-nav-menu-details-user {
font-size: 1.2rem;
line-height: 1.2em;
color: $midgrey;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
}
.gh-nav-body {
flex-grow: 1;
overflow-y: auto;
}
.gh-nav-search {
position: relative;
margin: 0 15px 10px;
}
.gh-nav-search-input {
padding: 5px 8px;
border-radius: 4px;
font-size: 1.3rem;
}
.gh-nav-search-button {
display: flex;
align-items: center;
position: absolute;
top: 0;
right: 0;
bottom: 0;
padding: 0 6px 0 5px;
i {
width: 16px;
height: 16px;
font-size: 13px;
color: $midgrey;
transform: rotate(90deg);
transition: color 0.2s ease;
}
&:hover i {
color: $darkgrey;
}
}
.gh-nav-list {
list-style: none;
margin: 0;
padding: 0 15px 0 0;
font-size: 1.3rem;
line-height: 1.5em;
}
.gh-nav-list-h {
margin-top: 15px;
padding: 5px 10px 5px 15px;
text-transform: uppercase;
letter-spacing: 1px;
color: #828282;
font-size: 1.2rem;
line-height: 1.1em;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
}
.gh-nav-list a {
display: flex;
align-items: center;
padding: 5px 10px 5px 15px;
color: $darkgrey;
border-radius: 0 5px 5px 0;
transition: none;
}
.gh-nav-list .active {
color: #fff;
background: lighten($blue, 10%);
}
.gh-nav-list a:not(.active):hover {
color: $darkgrey;
background: lighten($blue, 30%);
}
.gh-nav-list i {
width: 15px;
height: 15px;
margin-right: 8px;
font-size: 15px;
text-align: center;
}
.gh-nav-footer {
flex-shrink: 0;
align-items: center;
height: 40px;
padding: 0 20px;
border-top: #E1E1E1 1px solid;
}

View File

@ -147,21 +147,6 @@
// The main content panel on the right
.settings-content {
@media (max-width: 900px) {
&.fade-in {
animation: none;
}
}
@media (min-width: 901px) {
position: absolute;
top: 0;
right: 0;
left: 25%;
bottom: 0;
overflow: auto;
-webkit-overflow-scrolling: touch;
}
.settings-general img {
max-width: 100%;

View File

@ -0,0 +1,95 @@
// ------------------------------------------------------------
// Icons
// ------------------------------------------------------------
//
// Font-face rule
// --------------------------------------------------
@font-face {
font-family: "ghosticons";
src:url("fonts/ghosticons.eot");
src:url("fonts/ghosticons.eot?#iefix") format("embedded-opentype"),
url("fonts/ghosticons.woff") format("woff"),
url("fonts/ghosticons.ttf") format("truetype"),
url("fonts/ghosticons.svg#ghosticons") format("svg");
font-weight: normal;
font-style: normal;
}
[data-icon]:before {
font-family: "ghosticons" !important;
content: attr(data-icon);
font-style: normal !important;
font-weight: normal !important;
font-variant: normal !important;
text-transform: none !important;
speak: none;
line-height: 1;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
[class^="icon-"]:before,
[class*=" icon-"]:before {
font-family: "ghosticons" !important;
font-style: normal !important;
font-weight: normal !important;
font-variant: normal !important;
text-transform: none !important;
speak: none;
line-height: 1;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.icon-user:before {
content: "\e000";
}
.icon-search:before {
content: "\e001";
}
.icon-design:before {
content: "\e003";
}
.icon-content:before {
content: "\e004";
}
.icon-x:before {
content: "\e005";
}
.icon-add:before {
content: "\e006";
}
.icon-apps:before {
content: "\e007";
}
.icon-settings:before {
content: "\e008";
}
.icon-front-end:before {
content: "\e00a";
}
.icon-dash:before {
content: "\e00b";
}
.icon-tag:before {
content: "\e009";
}
.icon-compass:before {
content: "\e002";
}
.icon-code:before {
content: "\e00c";
}
.icon-team:before {
content: "\e00d";
}
.icon-idea:before {
content: "\e00e";
}
.icon-arrow:before {
content: "\e00f";
}

View File

@ -170,16 +170,7 @@ legend {
// Inputs, selects, and textareas
// --------------------------------------------------
.input,
input[type="email"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="text"],
input[type="url"],
input[type="date"],
textarea,
.gh-input,
.gh-select,
select {
display: block;

View File

@ -0,0 +1,45 @@
<nav class="gh-nav">
{{#gh-dropdown-button tagName="header" class="gh-nav-menu" dropdownName="user-menu"}}
<div class="gh-nav-menu-icon" style="background-image: url(https://s3.amazonaws.com/f.cl.ly/items/3I0g431b2b3q00253K1V/d16dc430c9c4f5c09d6ca09be3e5c72fdb21c1ac.png)"></div>
<div class="gh-nav-menu-details">
<div class="gh-nav-menu-details-blog">{{config.blogTitle}}</div>
<div class="gh-nav-menu-details-user">{{session.user.name}}</div>
</div>
<i class="icon-arrow"></i>
{{/gh-dropdown-button}}
{{#gh-dropdown tagName="div" classNames="dropdown" name="user-menu" closeOnClick="true"}}
<ul class="dropdown-menu dropdown-triangle-top js-user-menu-dropdown-menu" role="menu" style="right:-50%;left:auto;margin-right:40px">
<li role="presentation">{{#link-to "settings.about" classNames="dropdown-item js-nav-item" role="menuitem" tabindex="-1"}}About Ghost{{/link-to}}</li>
<li class="divider"></li>
<li role="presentation">{{#link-to "settings.users.user" session.user.slug classNames="dropdown-item user-menu-profile js-nav-item" role="menuitem" tabindex="-1"}}<i class="icon-user"></i> Your Profile{{/link-to}}</li>
<li class="divider"></li>
<li role="presentation">{{#link-to "signout" classNames="dropdown-item user-menu-signout" role="menuitem" tabindex="-1"}}<i class="icon-power"></i> Sign Out{{/link-to}}</li>
</ul>
{{/gh-dropdown}}
<section class="gh-nav-body">
<section class="gh-nav-search">
<input class="gh-nav-search-input gh-input" type="text" placeholder="Search">
<button class="gh-nav-search-button"><i class="icon-search"></i><span class="sr-only">Search</span></button>
</section>
<ul class="gh-nav-list gh-nav-main">
{{!<li><i class="icon-dash"></i>Dashboard</li>}}
<li>{{#link-to "editor.new"}}<i class="icon-content"></i>New Post{{/link-to}}</li>
<li>{{#link-to "posts"}}<i class="icon-content"></i>Content{{/link-to}}</li>
{{!<li><a href="#"><i class="icon-user"></i>My Posts</a></li>}}
<li>{{#link-to "settings.users"}}<i class="icon-team"></i>Team{{/link-to}}</li>
{{!<li><a href="#"><i class="icon-idea"></i>Ideas</a></li>}}
</ul>
<ul class="gh-nav-list gh-nav-settings">
<li class="gh-nav-list-h">Settings</li>
<li>{{#link-to "settings.general"}}<i class="icon-settings"></i>General{{/link-to}}</li>
{{!<li><i class="icon-design"></i>Themes</li>}}
<li>{{#link-to "settings.navigation"}}<i class="icon-compass"></i>Navigation{{/link-to}}</li>
<li>{{#link-to "settings.tags"}}<i class="icon-tag"></i>Tags{{/link-to}}</li>
<li>{{#link-to "settings.code-injection"}}<i class="icon-code"></i>Code Injection{{/link-to}}</li>
<li>{{#link-to "settings.labs"}}<i class="icon-apps"></i>Labs{{/link-to}}</li>
</ul>
</section>
<footer class="gh-nav-footer">
foot
</footer>
</nav>

View File

@ -1,16 +1,18 @@
<div class="gh-viewport">
<a class="sr-only sr-only-focusable" href="#gh-main">Skip to main content</a>
{{#unless hideNav}}
{{partial "navbar"}}
{{#unless signedOut}}
{{partial "nav-menu"}}
{{/unless}}
{{gh-notifications location="top" notify="topNotificationChange"}}
<main id="gh-main" class="viewport" role="main" data-notification-count={{topNotificationCount}}>
<main id="gh-main" class="gh-main" role="main" data-notification-count={{topNotificationCount}}>
{{outlet}}
{{gh-notifications location="bottom"}}
</main>
{{outlet "modal"}}
{{outlet "settings-menu"}}
</div>{{!gh-viewport}}

View File

@ -1,4 +1,4 @@
<input data-url="upload" class="btn btn-green" type="file" name="importfile" accept="{{options.acceptEncoding}}">
<input data-url="upload" class="gh-input btn btn-green" type="file" name="importfile" accept="{{options.acceptEncoding}}">
<button type="submit" class="btn btn-blue" id="startupload" disabled={{uploadButtonDisabled}} {{action "upload"}}>
{{uploadButtonText}}
</button>

View File

@ -5,10 +5,10 @@
{{/unless}}
<div class="navigation-inputs">
<span class="navigation-item-label">
{{gh-trim-focus-input focus=navItem.last placeholder="Label" value=navItem.label}}
{{gh-trim-focus-input class="gh-input" focus=navItem.last placeholder="Label" value=navItem.label}}
</span>
<span class="navigation-item-url">
{{gh-navitem-url-input baseUrl=baseUrl url=navItem.url last=navItem.last change="updateUrl"}}
{{gh-navitem-url-input class="gh-input" baseUrl=baseUrl url=navItem.url last=navItem.last change="updateUrl"}}
</span>
</div>
<span class="navigation-item-action">

View File

@ -3,4 +3,4 @@
</span>
<img class="js-upload-target" src="{{imageSource}}" />
<div class="description">{{description}}<strong></strong></div>
<input data-url="upload" class="js-fileupload main fileupload" type="file" name="uploadimage">
<input data-url="upload" class="gh-input js-fileupload main fileupload" type="file" name="uploadimage">

View File

@ -6,7 +6,7 @@
<div class="page-content">
<header>
<section class="box entry-title">
{{gh-trim-focus-input type="text" id="entry-title" placeholder="Your Post Title" value=model.titleScratch
{{gh-trim-focus-input type="text" id="entry-title" class="gh-input" placeholder="Your Post Title" value=model.titleScratch
tabindex="1" focus=shouldFocusTitle}}
</section>
</header>

View File

@ -1,7 +1,7 @@
<section class="forgotten-box js-forgotten-box fade-in">
<form id="forgotten" class="forgotten-form" method="post" novalidate="novalidate">
<div class="email-wrap">
{{gh-trim-focus-input value=email class="email" type="email" placeholder="Email Address" name="email"
{{gh-trim-focus-input value=email class="gh-input email" type="email" placeholder="Email Address" name="email"
autofocus="autofocus" autocapitalize="off" autocorrect="off"}}
</div>
<button class="btn btn-blue" type="submit" {{action "submit"}} disabled={{submitting}}>Send new password</button>

View File

@ -3,7 +3,7 @@
<form id="login" class="login-form" method="post" novalidate="novalidate" {{action "validateAndAuthenticate" on="submit"}}>
<div class="password-wrap">
{{input class="password" type="password" placeholder="Password" name="password" value=password}}
{{input class="gh-input password" type="password" placeholder="Password" name="password" value=password}}
</div>
<button class="btn btn-blue" type="submit" {{action "validateAndAuthenticate"}} disabled={{submitting}}>Log in</button>
</form>

View File

@ -22,7 +22,7 @@
{{/if}}
<span class="input-icon icon-link">
{{gh-input class="post-setting-slug" id="url" value=slugValue name="post-setting-slug" focus-out="updateSlug" selectOnClick="true" stopEnterKeyDownPropagation="true"}}
{{gh-input class="gh-input post-setting-slug" id="url" value=slugValue name="post-setting-slug" focus-out="updateSlug" selectOnClick="true" stopEnterKeyDownPropagation="true"}}
</span>
{{gh-url-preview slug=slugValue tagName="p" classNames="description"}}
</div>
@ -30,7 +30,7 @@
<div class="form-group">
<label for="post-setting-date">Publish Date</label>
<span class="input-icon icon-calendar">
{{gh-input class="post-setting-date" id="post-setting-date" value=publishedAtValue name="post-setting-date" focus-out="setPublishedAt" stopEnterKeyDownPropagation="true"}}
{{gh-input class="gh-input post-setting-date" id="post-setting-date" value=publishedAtValue name="post-setting-date" focus-out="setPublishedAt" stopEnterKeyDownPropagation="true"}}
</span>
</div>
@ -62,13 +62,13 @@
<div class="form-group for-checkbox">
<label class="checkbox" for="static-page" {{action "togglePage" bubbles="false"}}>
{{input type="checkbox" name="static-page" id="static-page" class="post-setting-static-page" checked=model.page}}
{{input type="checkbox" name="static-page" id="static-page" class="gh-input post-setting-static-page" checked=model.page}}
<span class="input-toggle-component"></span>
<p>Turn this post into a static page</p>
</label>
<label class="checkbox" for="featured" {{action "toggleFeatured" bubbles="false"}}>
{{input type="checkbox" name="featured" id="featured" class="post-setting-featured" checked=model.featured}}
{{input type="checkbox" name="featured" id="featured" class="gh-input post-setting-featured" checked=model.featured}}
<span class="input-toggle-component"></span>
<p>Feature this post</p>
</label>
@ -90,13 +90,13 @@
<form>
<div class="form-group">
<label for="meta-title">Meta Title</label>
{{gh-input class="post-setting-meta-title" id="meta-title" value=metaTitleScratch name="post-setting-meta-title" focus-out="setMetaTitle" stopEnterKeyDownPropagation="true"}}
{{gh-input class="gh-input post-setting-meta-title" id="meta-title" value=metaTitleScratch name="post-setting-meta-title" focus-out="setMetaTitle" stopEnterKeyDownPropagation="true"}}
<p>Recommended: <b>70</b> characters. Youve used {{gh-count-down-characters metaTitleScratch 70}}</p>
</div>
<div class="form-group">
<label for="meta-description">Meta Description</label>
{{gh-textarea class="post-setting-meta-description" id="meta-description" value=metaDescriptionScratch name="post-setting-meta-description" focus-out="setMetaDescription" stopEnterKeyDownPropagation="true"}}
{{gh-textarea class="gh-input post-setting-meta-description" id="meta-description" value=metaDescriptionScratch name="post-setting-meta-description" focus-out="setMetaDescription" stopEnterKeyDownPropagation="true"}}
<p>Recommended: <b>156</b> characters. Youve used {{gh-count-down-characters metaDescriptionScratch 156}}</p>
</div>

View File

@ -1,16 +1,5 @@
<header class="page-header">
<button class="menu-button js-menu-button" {{action "toggleGlobalMobileNav"}}><span class="sr-only">Menu</span></button>
<h2 class="page-title">Content</h2>
</header>
<div class="page-content">
<section class="content-list js-content-list {{if postListFocused 'keyboard-focused'}}">
<header class="floatingheader">
<section class="content-filter">
<small>All Posts</small>
</section>
{{#link-to "editor.new" class="btn btn-green" title="New Post"}}<span class="hidden">New Post</span>{{/link-to}}
</header>
{{#view "paginated-scroll-box" tagName="section" classNames="content-list-content js-content-scrollbox"}}
<ol class="posts-list">
{{#each post in controller itemController="posts/post" itemView="post-item-view" itemTagName="li"}}

View File

@ -1,10 +1,10 @@
<section class="reset-box js-reset-box fade-in">
<form id="reset" class="reset-form" method="post" novalidate="novalidate" {{action "submit" on="submit"}}>
<div class="password-wrap">
{{input value=newPassword class="password" type="password" placeholder="Password" name="newpassword" autofocus="autofocus" }}
{{input value=newPassword class="gh-input password" type="password" placeholder="Password" name="newpassword" autofocus="autofocus" }}
</div>
<div class="password-wrap">
{{input value=ne2Password class="password" type="password" placeholder="Confirm Password" name="ne2password" }}
{{input value=ne2Password class="gh-input password" type="password" placeholder="Confirm Password" name="ne2password" }}
</div>
<button class="btn btn-blue" type="submit" disabled={{submitting}}>Reset Password</button>
</form>

View File

@ -1,45 +1 @@
<header class="page-header">
<button class="menu-button js-menu-button" {{action "toggleGlobalMobileNav"}}><span class="sr-only">Menu</span></button>
<h2 class="page-title">Settings</h2>
</header>
<div class="page-content">
<nav class="settings-nav js-settings-menu">
<ul>
{{#if showGeneral}}
{{gh-activating-list-item route="settings.general" title="General" classNames="settings-nav-general icon-settings"}}
{{/if}}
{{#if showUsers}}
{{gh-activating-list-item route="settings.users" title="Users" classNames="settings-nav-users icon-users"}}
{{/if}}
{{#if showTags}}
{{gh-activating-list-item route="settings.tags" title="Tags" classNames="settings-nav-tags icon-tag"}}
{{/if}}
{{#if showNavigation}}
{{gh-activating-list-item route="settings.navigation" title="Navigation" classNames="settings-nav-navigation icon-compass"}}
{{/if}}
{{#if showCodeInjection}}
{{gh-activating-list-item route="settings.code-injection" title="Code Injection" classNames="settings-nav-code icon-code"}}
{{/if}}
{{#if showPassProtection}}
{{gh-activating-list-item route="settings.pass-protect" title="Password Protection" classNames="settings-nav-pass icon-lock"}}
{{/if}}
{{#if showLabs}}
{{gh-activating-list-item route="settings.labs" title="Labs" classNames="settings-nav-labs icon-atom"}}
{{/if}}
{{#if showAbout}}
{{gh-activating-list-item route="settings.about" title="About" classNames="settings-nav-about icon-pacman"}}
{{/if}}
</ul>
</nav>
{{outlet}}
</div>

View File

@ -16,13 +16,13 @@
<div class="form-group">
<label for="ghost-head">Blog Header</label>
<p>Code here will be injected into the <code>\{{ghost_head}}</code> tag on every page of your blog</p>
{{gh-cm-editor id="ghost-head" name="codeInjection[ghost_head]" class="settings-code-editor" type="text" value=model.ghost_head}}
{{gh-cm-editor id="ghost-head" class="gh-input" name="codeInjection[ghost_head]" class="settings-code-editor" type="text" value=model.ghost_head}}
</div>
<div class="form-group">
<label for="ghost-foot">Blog Footer</label>
<p>Code here will be injected into the <code>\{{ghost_foot}}</code> tag on every page of your blog</p>
{{gh-cm-editor id="ghost-foot" name="codeInjection[ghost_foot]" class="settings-code-editor" type="text" value=model.ghost_foot}}
{{gh-cm-editor id="ghost-foot" class="gh-input" name="codeInjection[ghost_foot]" class="settings-code-editor" type="text" value=model.ghost_foot}}
</div>
</fieldset>
</form>

View File

@ -12,13 +12,13 @@
<div class="form-group">
<label for="blog-title">Blog Title</label>
{{input id="blog-title" name="general[title]" type="text" value=model.title}}
{{input id="blog-title" class="gh-input" name="general[title]" type="text" value=model.title}}
<p>The name of your blog</p>
</div>
<div class="form-group description-container">
<label for="blog-description">Blog Description</label>
{{textarea id="blog-description" name="general[description]" value=model.description}}
{{textarea id="blog-description" class="gh-input" name="general[description]" value=model.description}}
<p>
Describe what your blog is about
{{gh-count-characters model.description}}
@ -50,21 +50,21 @@
<fieldset>
<div class="form-group">
<label for="email-address">Email Address</label>
{{input id="email-address" name="general[email-address]" type="email" value=model.email autocapitalize="off" autocorrect="off"}}
{{input id="email-address" class="gh-input" name="general[email-address]" type="email" value=model.email autocapitalize="off" autocorrect="off"}}
<p>Address to use for admin notifications</p>
</div>
<div class="form-group">
<label for="postsPerPage">Posts per page</label>
{{! `pattern` brings up numeric keypad allowing any number of digits}}
{{input id="postsPerPage" name="general[postsPerPage]" focus-out="checkPostsPerPage" value=model.postsPerPage min="1" max="1000" type="number" pattern="[0-9]*"}}
{{input id="postsPerPage" class="gh-input" name="general[postsPerPage]" focus-out="checkPostsPerPage" value=model.postsPerPage min="1" max="1000" type="number" pattern="[0-9]*"}}
<p>How many posts should be displayed on each page</p>
</div>
<div class="form-group for-checkbox">
<label for="permalinks">Dated Permalinks</label>
<label class="checkbox" for="permalinks">
{{input id="permalinks" name="general[permalinks]" type="checkbox" checked=isDatedPermalinks}}
{{input id="permalinks" class="gh-input" name="general[permalinks]" type="checkbox" checked=isDatedPermalinks}}
<span class="input-toggle-component"></span>
<p>Include the date in your post URLs</p>
</label>

View File

@ -12,18 +12,18 @@
<form>
<div class="form-group">
<label>Name</label>
{{gh-input type="text" value=activeTagNameScratch focus-out="saveActiveTagName"}}
{{gh-input class="gh-input" type="text" value=activeTagNameScratch focus-out="saveActiveTagName"}}
</div>
<div class="form-group">
<label>URL</label>
{{gh-input type="text" value=activeTagSlugScratch focus-out="saveActiveTagSlug"}}
{{gh-input class="gh-input" type="text" value=activeTagSlugScratch focus-out="saveActiveTagSlug"}}
{{gh-url-preview prefix="tag" slug=activeTagSlugScratch tagName="p" classNames="description"}}
</div>
<div class="form-group">
<label>Description</label>
{{gh-textarea value=activeTagDescriptionScratch focus-out="saveActiveTagDescription"}}
{{gh-textarea class="gh-input" value=activeTagDescriptionScratch focus-out="saveActiveTagDescription"}}
</div>
<ul class="nav-list nav-list-block">
@ -53,13 +53,13 @@
<form>
<div class="form-group">
<label for="meta-title">Meta Title</label>
{{gh-input type="text" value=activeTagMetaTitleScratch focus-out="saveActiveTagMetaTitle"}}
{{gh-input class="gh-input" type="text" value=activeTagMetaTitleScratch focus-out="saveActiveTagMetaTitle"}}
<p>Recommended: <b>70</b> characters. Youve used {{gh-count-down-characters activeTagMetaTitleScratch 70}}</p>
</div>
<div class="form-group">
<label for="meta-description">Meta Description</label>
{{gh-textarea value=activeTagMetaDescriptionScratch focus-out="saveActiveTagMetaDescription"}}
{{gh-textarea class="gh-input" value=activeTagMetaDescriptionScratch focus-out="saveActiveTagMetaDescription"}}
<p>Recommended: <b>156</b> characters. Youve used {{gh-count-down-characters activeTagMetaDescriptionScratch 156}}</p>
</div>

View File

@ -41,7 +41,7 @@
<div class="form-group first-form-group">
<label for="user-name">Full Name</label>
{{input value=user.name id="user-name" class="user-name" placeholder="Full Name" autocorrect="off"}}
{{input value=user.name id="user-name" class="gh-input user-name" placeholder="Full Name" autocorrect="off"}}
<p>Use your real name so people can recognise you</p>
</div>
@ -51,13 +51,13 @@
<div class="form-group">
<label for="user-slug">Slug</label>
{{gh-input class="user-name" id="user-slug" value=slugValue name="user" focus-out="updateSlug" placeholder="Slug" selectOnClick="true" autocorrect="off"}}
{{gh-input class="gh-input user-name" id="user-slug" value=slugValue name="user" focus-out="updateSlug" placeholder="Slug" selectOnClick="true" autocorrect="off"}}
<p>{{gh-blog-url}}/author/{{slugValue}}</p>
</div>
<div class="form-group">
<label for="user-email">Email</label>
{{input type="email" value=user.email id="user-email" placeholder="Email Address" autocapitalize="off" autocorrect="off" autocomplete="off"}}
{{input type="email" value=user.email id="user-email" class="gh-input" placeholder="Email Address" autocapitalize="off" autocorrect="off" autocomplete="off"}}
<p>Used for notifications</p>
</div>
{{#if view.rolesDropdownIsVisible}}
@ -72,19 +72,19 @@
{{/if}}
<div class="form-group">
<label for="user-location">Location</label>
{{input type="text" value=user.location id="user-location"}}
{{input type="text" value=user.location id="user-location" class="gh-input"}}
<p>Where in the world do you live?</p>
</div>
<div class="form-group">
<label for="user-website">Website</label>
{{input type="url" value=user.website id="user-website" autocapitalize="off" autocorrect="off" autocomplete="off"}}
{{input type="url" value=user.website id="user-website" class="gh-input" autocapitalize="off" autocorrect="off" autocomplete="off"}}
<p>Have a website or blog other than this one? Link it!</p>
</div>
<div class="form-group bio-container">
<label for="user-bio">Bio</label>
{{textarea id="user-bio" value=user.bio}}
{{textarea id="user-bio" class="gh-input" value=user.bio}}
<p>
Write about you, in 200 characters or less.
{{gh-count-characters user.bio}}
@ -99,18 +99,18 @@
{{#unless view.isNotOwnProfile}}
<div class="form-group">
<label for="user-password-old">Old Password</label>
{{input value=user.password type="password" id="user-password-old"}}
{{input value=user.password type="password" id="user-password-old" class="gh-input"}}
</div>
{{/unless}}
<div class="form-group">
<label for="user-password-new">New Password</label>
{{input value=user.newPassword type="password" id="user-password-new"}}
{{input value=user.newPassword type="password" id="user-password-new" class="gh-input"}}
</div>
<div class="form-group">
<label for="user-new-password-verification">Verify Password</label>
{{input value=user.ne2Password type="password" id="user-new-password-verification"}}
{{input value=user.ne2Password type="password" id="user-new-password-verification" class="gh-input"}}
</div>
<div class="form-group">
<button type="button" class="btn btn-red button-change-password" {{action "password"}}>Change Password</button>

View File

@ -2,12 +2,12 @@
<form id="login" class="login-form" method="post" novalidate="novalidate" {{action 'validateAndAuthenticate' on='submit'}}>
<div class="email-wrap">
<span class="input-icon icon-mail">
{{gh-trim-focus-input class="email" type="email" placeholder="Email Address" name="identification" autocapitalize="off" autocorrect="off" value=model.identification}}
{{gh-trim-focus-input class="gh-input email" type="email" placeholder="Email Address" name="identification" autocapitalize="off" autocorrect="off" value=model.identification}}
</span>
</div>
<div class="password-wrap">
<span class="input-icon icon-lock">
{{input class="password" type="password" placeholder="Password" name="password" value=model.password}}
{{input class="gh-input password" type="password" placeholder="Password" name="password" value=model.password}}
</span>
</div>
<button class="btn btn-blue" type="submit" {{action "validateAndAuthenticate"}} disabled={{submitting}}>Log in</button>

View File

@ -12,17 +12,17 @@
</header>
<div class="form-group">
<label for="email">Email Address</label>
{{input type="email" name="email" autocorrect="off" value=model.email }}
{{input class="gh-input" type="email" name="email" autocorrect="off" value=model.email }}
<p>Used for important notifications</p>
</div>
<div class="form-group">
<label for="name">Full Name</label>
{{gh-trim-focus-input type="text" name="name" autofocus="autofocus" autocorrect="off" value=model.name }}
{{gh-trim-focus-input class="gh-input" type="text" name="name" autofocus="autofocus" autocorrect="off" value=model.name }}
<p>The name that you will sign your posts with</p>
</div>
<div class="form-group">
<label for="password">Password</label>
{{input type="password" name="password" autofocus="autofocus" autocorrect="off" value=model.password }}
{{input class="gh-input" type="password" name="password" autofocus="autofocus" autocorrect="off" value=model.password }}
<p>Must be at least 8 characters</p>
</div>
<footer>

View File

@ -27,14 +27,6 @@ var ApplicationView = Ember.View.extend({
});
});
function swapUserMenuDropdownTriangleClasses(mq) {
if (mq.matches) {
$('.js-user-menu-dropdown-menu').removeClass('dropdown-triangle-top-right ').addClass('dropdown-triangle-bottom');
} else {
$('.js-user-menu-dropdown-menu').removeClass('dropdown-triangle-bottom').addClass('dropdown-triangle-top-right');
}
}
// #### Listen to the viewport and change user-menu dropdown triangle classes accordingly
this.set('swapUserMenuDropdownTriangleClasses', Ember.run.bind(this, swapUserMenuDropdownTriangleClasses));

Binary file not shown.

View File

@ -0,0 +1,26 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg">
<metadata>Generated by Fontastic.me</metadata>
<defs>
<font id="ghosticons" horiz-adv-x="512">
<font-face font-family="ghosticons" units-per-em="512" ascent="480" descent="-32"/>
<missing-glyph horiz-adv-x="512" />
<glyph unicode="&#57344;" d="M256 512c-141 0-256-115-256-256 0-68 26-132 74-180 49-49 113-76 182-76 69 0 134 27 182 76 0 0 0 0 0 0 48 48 74 112 74 180 0 141-115 256-256 256z m0-491c-59 0-114 22-157 61 22 12 54 23 86 35 11 4 22 8 32 12 4 1 7 5 7 10l0 53c0 5-3 9-7 10-1 0-25 10-25 54 0 6-4 11-10 11-1 0-3 4-3 10 0 6 2 10 2 11 6 0 11 5 11 11 0 2-1 5-3 11-3 11-11 41-4 51 1 1 3 3 8 3 3 0 5-1 8-1 5-1 11 2 12 8 3 14 28 24 59 24 31 0 56-10 59-24 5-20-4-47-8-60-2-6-3-9-3-12 0-6 4-11 10-11 1-1 3-5 3-11 0-6-2-10-2-10-6 0-11-5-11-11 0-44-24-54-25-54-4-1-7-5-7-10l0-53c0-5 3-9 7-10 11-5 23-9 34-13 32-12 63-23 84-34-43-39-98-61-157-61z m173 76c-22 14-55 26-92 39-9 3-19 7-28 10l0 39c11 7 30 24 32 63 8 5 14 16 14 29 0 13-5 23-12 28 6 16 15 46 9 71-8 30-48 40-80 40-29 0-64-8-76-31-15 1-23-6-28-11-13-18-4-51 1-69-7-5-12-15-12-28 0-13 6-24 14-29 2-39 21-56 32-63l0-39c-9-3-17-6-25-9-35-13-71-26-95-40-40 44-62 100-62 159 0 129 106 235 235 235 129 0 235-106 235-235 0-59-22-115-62-159z"/>
<glyph unicode="&#57345;" d="M509 18l-192 192c0 0 0 0 0 0 28 32 46 74 46 121 0 100-82 181-182 181-100 0-181-81-181-181 0-100 81-182 181-182 47 0 89 18 121 46 0 0 0 0 0 0l192-192c2-2 5-3 7-3 3 0 6 1 8 3 4 4 4 11 0 15z m-328 153c-88 0-160 71-160 160 0 88 72 160 160 160 89 0 160-72 160-160 0-89-71-160-160-160z"/>
<glyph unicode="&#57347;" d="M437 416c-48 48-113 75-181 75-68 0-133-27-181-75-100-100-100-263 0-362 10-10 23-16 38-16 14 0 27 6 37 16 21 20 21 54 0 75-2 2-3 5-3 8 0 2 1 5 3 7 4 4 11 4 15 0l91-90c24-25 56-38 91-38 34 0 66 13 90 38 100 99 100 262 0 362z m-15-347c-20-20-47-32-75-32-29 0-56 12-76 32l-90 90c-6 6-14 10-23 10-9 0-17-4-23-10-6-6-9-14-9-22 0-9 3-17 9-23 13-12 13-33 0-45-12-12-33-12-45 0-91 91-91 240 0 332 44 44 103 68 166 68 63 0 122-24 166-68 91-92 91-241 0-332z m-75 229c11 0 22 4 30 12 8 8 12 19 12 30 0 12-4 22-12 30-16 17-45 17-61 0-8-8-12-18-12-30 0-11 4-22 12-30 8-8 19-12 31-12z m-16 57c4 4 10 7 16 7 5 0 11-3 15-7 4-4 6-9 6-15 0-5-2-11-6-15-8-8-23-8-31 0-4 4-6 10-6 15 0 6 2 11 6 15z m97-98c-12 12-33 12-45 0-13-12-13-32 0-45 6-6 14-9 22-9 9 0 17 3 23 9 6 6 9 14 9 23 0 8-3 16-9 22z m-15-30c-4-4-11-4-15 0-4 4-4 11 0 15 2 2 4 3 7 3 3 0 6-1 8-3 2-2 3-4 3-7 0-3-1-6-3-8z m-67-45c-14 0-27-5-37-15-10-10-16-24-16-38 0-14 6-28 16-38 10-10 23-15 38-15 14 0 27 5 37 15 10 10 16 24 16 38 0 14-6 28-16 38-10 10-23 15-38 15z m23-76c-12-12-33-12-45 0-6 6-9 15-9 23 0 9 3 17 9 23 6 6 14 9 23 9 8 0 16-3 22-9 6-6 10-14 10-23 0-8-4-17-10-23z m-181 287c-8-8-12-19-12-30 0-12 4-22 12-30 8-8 19-13 30-13 12 0 22 5 30 13 9 8 13 19 13 30 0 11-5 22-13 30-16 16-44 16-60 0z m45-45c-8-8-22-8-30 0-4 4-6 9-6 15 0 6 2 11 6 15 4 4 10 6 15 6 6 0 11-2 15-6 4-4 7-9 7-15 0-6-3-11-7-15z"/>
<glyph unicode="&#57348;" d="M459 512l-406 0c-6 0-10-5-10-11l0-490c0-6 4-11 10-11l406 0c6 0 10 5 10 11l0 490c0 6-4 11-10 11z m-11-491l-384 0 0 470 53 0 0-22-10 0 0-42 42 0 0 42-10 0 0 22 64 0 0-22-11 0 0-42 43 0 0 42-11 0 0 22 64 0 0-22-11 0 0-42 43 0 0 42-11 0 0 22 64 0 0-22-10 0 0-42 42 0 0 42-10 0 0 22 53 0z m-75 342l-234 0c-6 0-11-5-11-11 0-6 5-11 11-11l234 0c6 0 11 5 11 11 0 6-5 11-11 11z m0-64l-234 0c-6 0-11-5-11-11 0-6 5-11 11-11l234 0c6 0 11 5 11 11 0 6-5 11-11 11z m0-64l-234 0c-6 0-11-5-11-11 0-6 5-11 11-11l234 0c6 0 11 5 11 11 0 6-5 11-11 11z m0-64l-234 0c-6 0-11-5-11-11 0-6 5-11 11-11l234 0c6 0 11 5 11 11 0 6-5 11-11 11z m0-64l-234 0c-6 0-11-5-11-11 0-6 5-11 11-11l234 0c6 0 11 5 11 11 0 6-5 11-11 11z"/>
<glyph unicode="&#57349;" d="M271 256l238 237c5 4 5 11 0 15-4 5-11 5-15 0l-238-237-237 238c-4 5-11 5-15 0-5-4-5-11 0-15l237-238-238-237c-5-4-5-11 0-15 2-2 4-4 7-4 3 0 6 2 8 4l238 237 237-238c2-2 5-3 8-3 3 0 5 1 7 3 5 4 5 11 0 15z"/>
<glyph unicode="&#57350;" d="M480 277l-224 0 0 224c0 6-4 11-10 11 0 0 0 0 0 0-6 0-11-5-11-11l0-224-224 0c-6 0-11-4-11-10 0-6 5-11 11-11l224 0 0-224c0-6 4-11 10-11 6 0 11 5 11 11l0 224 224 0c6 0 11 5 11 11 0 6-5 10-11 10z"/>
<glyph unicode="&#57351;" d="M481 164c-26 26-64 35-99 23l-67 67 67 68c10-3 20-5 31-5 26 0 50 10 68 28 28 28 35 68 20 104-1 3-4 5-8 6-3 1-7 0-9-3l-38-39-30 0 0 33 38 38c2 2 3 6 3 9-1 4-3 7-7 8-12 5-24 8-37 8-26 0-50-10-68-28-26-26-35-64-23-99l-68-67-67 67c12 35 3 73-23 99-28 28-68 36-104 20-3-1-6-4-6-8-1-3 0-7 3-9l39-38 0-33-33 0-38 39c-2 3-6 4-10 3-3-1-6-3-7-6-16-36-8-77 20-105 26-26 64-34 99-22l67-68-67-67c-10 3-21 5-31 5-26 0-50-10-68-28-28-28-36-69-20-105 1-4 4-6 7-7 4 0 7 1 10 3l38 38 33 0 0-30-39-38c-3-2-4-6-3-10 0-3 3-6 6-7 12-5 25-8 37-8 26 0 50 10 68 28 25 26 34 64 22 99l67 67 68-67c-12-35-3-73 23-99 18-18 43-28 68-28 12 0 25 2 37 8 4 1 6 4 7 7 0 4-1 7-3 10l-38 38 0 30 30 0 38-38c2-2 6-3 9-3 4 1 7 3 8 7 16 36 8 77-20 105z m-344 178c-3 3-8 3-12 2-28-12-60-6-82 15-17 18-25 42-21 65l29-29c2-2 4-3 7-3l49 0c6 0 10 4 10 10l0 49c0 2-1 5-3 7l-29 28c23 4 46-3 64-20 21-22 28-54 16-82-2-4-1-9 2-12l72-72-30-31z m28-217c12-28 6-61-15-82-18-17-42-25-65-21l29 29c2 2 3 4 3 7l0 45c0 6-4 11-10 11l-49 0c-3 0-5-1-7-3l-29-28c-4 24 4 48 21 66 14 14 33 22 53 22 10 0 20-2 29-6 4-2 9-1 12 2l205 205c3 3 4 8 2 12-12 28-6 60 16 82 14 14 33 21 53 21 4 0 9 0 13-1l-28-28c-2-2-3-5-3-7l0-49c0-6 4-10 10-10l46 0c2 0 5 1 7 3l28 29c4-23-3-46-20-64-14-14-33-22-53-22-10 0-20 2-29 6-4 2-9 1-12-2l-205-205c-3-3-4-8-2-12z m321-42l-28 28c-2 2-5 3-7 3l-46 0c-6 0-10-5-10-11l0-45c0-3 1-5 3-7l28-29c-24-4-48 4-66 21-22 22-28 54-16 82 2 4 1 9-2 12l-73 72 31 30 72-72c3-3 8-4 12-2 28 12 60 5 82-16 17-18 25-42 20-66z"/>
<glyph unicode="&#57352;" d="M501 299l-61 0c-4 17-9 35-16 49l43 44c2 2 3 4 3 7 0 3-1 6-3 8l-60 60c-4 4-11 4-15 0l-44-43c-14 7-32 12-49 16l0 61c0 6-5 11-11 11l-64 0c-6 0-11-5-11-11l0-61c-17-4-35-9-49-16l-44 43c-4 4-11 4-15 0l-60-60c-4-4-4-11 0-15l43-44c-7-14-12-32-16-49l-61 0c-6 0-11-5-11-11l0-64c0-6 5-11 11-11l61 0c4-17 9-35 16-49l-43-44c-2-2-3-4-3-7 0-3 1-6 3-8l60-60c4-4 11-4 15 0l44 43c14-7 32-12 49-16l0-61c0-6 5-11 11-11l64 0c6 0 11 5 11 11l0 61c17 4 35 9 49 16l44-43c4-4 11-4 15 0l60 60c4 4 4 11 0 15l-43 44c7 14 12 32 16 49l61 0c6 0 11 5 11 11l0 64c0 6-5 11-11 11z m-10-64l-59 0c-5 0-9-4-10-8-3-12-11-44-20-60-3-4-2-9 1-13l42-41-46-46-41 42c-4 3-9 4-13 1-16-9-48-17-60-20-4-1-8-5-8-10l0-59-42 0 0 59c0 5-4 9-8 10-12 3-44 11-60 20-4 3-9 2-13-1l-41-42-46 46 42 41c3 4 4 9 1 13-9 16-17 48-20 60-1 4-5 8-10 8l-59 0 0 42 59 0c5 0 9 4 10 8 3 12 11 44 20 60 3 4 2 9-1 13l-42 41 46 46 41-42c4-3 9-4 13-1 16 9 48 17 59 20 5 1 9 5 9 10l0 59 42 0 0-59c0-5 4-9 8-10 19-5 46-12 60-20 4-3 9-2 13 1l41 42 46-46-42-41c-3-4-4-9-1-13 9-16 17-48 20-59 1-5 5-9 10-9l59 0z m-235 128c-59 0-107-48-107-107 0-59 48-107 107-107 59 0 107 48 107 107 0 59-48 107-107 107z m0-192c-47 0-85 38-85 85 0 47 38 85 85 85 47 0 85-38 85-85 0-47-38-85-85-85z"/>
<glyph unicode="&#57354;" d="M501 448l-490 0c-6 0-11-5-11-11l0-384c0-6 5-10 11-10l490 0c6 0 11 4 11 10l0 384c0 6-5 11-11 11z m-10-384l-470 0 0 363 470 0z m-438 235l406 0c6 0 10 4 10 10l0 64c0 6-4 11-10 11l-406 0c-6 0-10-5-10-11l0-64c0-6 4-10 10-10z m11 64l384 0 0-43-384 0z m160-107l-128 0c-6 0-11-5-11-11 0-6 5-10 11-10l128 0c6 0 11 4 11 10 0 6-5 11-11 11z m0-43l-149 0c-6 0-11-4-11-10 0-6 5-11 11-11l149 0c6 0 11 5 11 11 0 6-5 10-11 10z m0-42l-149 0c-6 0-11-5-11-11 0-6 5-11 11-11l149 0c6 0 11 5 11 11 0 6-5 11-11 11z m0-43l-149 0c-6 0-11-5-11-11 0-6 5-10 11-10l149 0c6 0 11 4 11 10 0 6-5 11-11 11z m213 128l-149 0c-6 0-11-5-11-11 0-6 5-10 11-10l149 0c6 0 11 4 11 10 0 6-5 11-11 11z m0-43l-149 0c-6 0-11-4-11-10 0-6 5-11 11-11l149 0c6 0 11 5 11 11 0 6-5 10-11 10z m0-42l-149 0c-6 0-11-5-11-11 0-6 5-11 11-11l149 0c6 0 11 5 11 11 0 6-5 11-11 11z m-21-43l-128 0c-6 0-11-5-11-11 0-6 5-10 11-10l128 0c6 0 11 4 11 10 0 6-5 11-11 11z"/>
<glyph unicode="&#57355;" d="M256 512c-141 0-256-115-256-256 0-141 115-256 256-256 141 0 256 115 256 256 0 141-115 256-256 256z m0-491c-129 0-235 106-235 235 0 129 106 235 235 235 129 0 235-106 235-235 0-129-106-235-235-235z m136 371c-4 4-11 4-15 0l-99-99c-7 3-14 6-22 6-24 0-43-19-43-43 0-24 19-43 43-43 24 0 43 19 43 43 0 8-3 15-6 22l99 99c4 4 4 11 0 15z m-136-157c-12 0-21 9-21 21 0 12 9 21 21 21 12 0 21-9 21-21 0-12-9-21-21-21z m-151 17c0 6-4 11-10 11l-43 0c-6 0-11-5-11-11 0-6 5-11 11-11l43 0c6 0 10 5 10 11z m-1-47l-39-17c-6-2-8-8-6-14 2-4 6-6 10-6 1 0 2 0 4 1l39 16c6 2 8 8 6 14-2 5-8 8-14 6z m343-17l-39 17c-6 2-12-1-14-6-2-6 0-12 6-14l39-16c1-1 3-1 4-1 4 0 8 2 10 6 2 6 0 12-6 14z m12 79l-43 0c0 0 0 0 0 0-6 0-11-5-11-11 0-6 5-11 11-11l43 0c6 0 10 5 10 11 0 6-4 11-10 11z m-55 40c1 0 3 0 4 0l39 17c6 2 8 8 6 14-2 5-8 8-14 5l-39-16c-6-2-8-8-6-14 2-4 6-6 10-6z m-91 87c1-1 3-1 4-1 4 0 8 3 10 7l16 39c3 6 0 12-5 14-6 2-12 0-14-6l-17-39c-2-6 1-12 6-14z m-58 7c6 0 10 5 10 11l0 43c0 6-4 10-10 10-6 0-11-4-11-10l0-43c0-6 5-11 11-11z m-70-1c2-4 6-7 10-7 1 0 3 0 4 1 5 2 8 8 6 14l-17 39c-2 6-8 8-14 6-5-2-8-8-5-14z m-35-23l-30 30c-4 4-11 4-15 0-4-4-4-11 0-15l30-30c2-2 5-4 8-4 3 0 5 2 7 4 5 4 5 10 0 15z m-38-50l-39 16c-6 3-12 0-14-5-2-6 0-12 6-14l39-17c1 0 3 0 4 0 4 0 8 2 10 6 2 6 0 12-6 14z m240-156l-192 0c-6 0-11-5-11-11l0-64c0-6 5-11 11-11l192 0c6 0 11 5 11 11l0 64c0 6-5 11-11 11z m-11-64l-170 0 0 42 170 0z"/>
<glyph unicode="&#57353;" d="M509 199l-310 310c-2 2-4 3-7 3l-181 0 0 0c-3 0-6-1-8-3-2-2-3-5-3-8l0-181c0-3 1-5 3-7l310-310c2-2 5-3 7-3 1 0 2 0 3 0 4 1 6 4 8 8l40 133 133 40c4 2 7 4 8 8 1 4 0 8-3 10z m-149-39c-4-2-7-4-8-8l-37-121-294 294 0 166 166 0 294-294z m-243 288c-29 0-53-24-53-53 0-30 24-54 53-54 30 0 54 24 54 54 0 29-24 53-54 53z m0-85c-17 0-32 14-32 32 0 17 15 32 32 32 18 0 32-15 32-32 0-18-14-32-32-32z"/>
<glyph unicode="&#57346;" d="M358 372l-267-139c-4-2-7-7-5-12 1-4 5-8 10-8l117 0 0-117c0-5 4-9 8-10 1-1 2-1 3-1 4 0 8 2 9 6l139 267c2 4 2 9-2 12-3 4-8 4-12 2z m-123-232l0 84c0 6-5 11-11 11l-84 0 198 103z m21 372c-141 0-256-115-256-256 0-141 115-256 256-256 141 0 256 115 256 256 0 141-115 256-256 256z m0-491c-129 0-235 106-235 235 0 129 106 235 235 235 129 0 235-106 235-235 0-129-106-235-235-235z"/>
<glyph unicode="&#57356;" d="M200 445c-5 4-11 4-16 0l-181-181c-4-5-4-11 0-16l181-181c3-2 5-3 8-3 3 0 5 1 8 3 4 4 4 11 0 15l-174 174 174 174c4 4 4 11 0 15z m309-181l-181 181c-5 4-11 4-16 0-4-4-4-11 0-15l174-174-174-174c-4-4-4-11 0-15 3-2 5-3 8-3 3 0 5 1 8 3l181 181c4 5 4 11 0 16z"/>
<glyph unicode="&#57357;" d="M128 277l107 0 0 22c0 16-13 33-29 37l-46 13 0 17c19 14 32 38 32 66 0 44-33 80-75 80-41 0-74-36-74-80 0-28 12-52 32-66l0-17-47-13c-16-4-28-21-28-37l0-22z m-11 214c24 0 45-18 51-42-3-1-7-2-12-1-5 1-14 3-19 12-1 3-4 5-7 6-4 0-7-1-10-3-15-16-39-17-53-12 8 23 27 40 50 40z m-53-61c19-6 43-4 62 10 7-7 16-12 27-13 2-1 5-1 8-1 3 0 6 1 9 1-1-30-25-55-53-55-29 0-52 26-53 58z m-30-114l62 17 0 21c7-2 14-3 21-3 8 0 15 1 22 3l0-21 62-17c6-2 12-10 12-17l-192 0c0 7 6 15 13 17z m450 20l-47 13 0 17c20 14 32 38 32 66 0 44-33 80-74 80-42 0-75-36-75-80 0-28 13-52 32-66l0-17-46-13c-16-4-29-21-29-37l0-22 235 0 0 22c0 16-12 33-28 37z m-89 155c24 0 44-18 51-42-4-1-8-2-13-1-5 1-14 3-18 12-2 3-5 5-8 6-3 0-7-1-9-3-16-16-39-17-54-12 8 23 28 40 51 40z m-54-61c19-6 43-4 63 10 6-7 16-12 26-13 3 0 5-1 8-1 3 0 7 1 10 2-2-31-25-56-53-56-29 0-53 26-54 58z m64-131l-106 0c0 7 6 15 12 17l62 17 0 21c7-2 14-3 22-3 7 0 14 1 21 3l0-21 62-17c7-2 13-10 13-17z m-60-240l-46 13 0 16c19 15 32 39 32 66 0 45-34 81-75 81-41 0-75-36-75-81 0-27 13-51 32-66l0-16-46-13c-16-5-28-21-28-38l0-21 234 0 0 21c0 17-12 33-28 38z m-89 154c24 0 44-17 51-41-4-1-8-2-13-1-5 1-13 3-18 12-2 3-4 5-8 5-3 1-6 0-9-3-15-15-39-17-53-11 7 23 27 39 50 39z m-53-60c19-6 43-4 62 9 7-6 16-11 26-12 2 0 5-1 7-1 4 0 8 1 11 2-1-31-25-56-53-56-29 0-52 26-53 58z m64-132l-107 0c0 7 6 15 13 17l62 18 0 21c6-2 14-3 21-3 7 0 15 1 21 3l0-21 62-18c7-2 13-10 13-17z m-121 163c4 5 4 11 0 16l-53 53c-4 4-11 4-15 0-4-4-4-11 0-15l53-54c2-2 5-3 8-3 2 0 5 1 7 3z m273 69l-53-53c-4-5-4-11 0-16 2-2 5-3 7-3 3 0 6 1 8 3l53 54c4 4 4 11 0 15-4 4-11 4-15 0z"/>
<glyph unicode="&#57358;" d="M256 405c-76 0-139-62-139-138 0-61 39-114 96-132l0-18c0-6 5-10 11-10l64 0c6 0 11 4 11 10l0 18c57 18 96 71 96 132 0 76-63 138-139 138z m29-252c-4-1-8-5-8-10l0-15-42 0 0 15c0 5-4 9-8 10-52 14-88 60-88 114 0 64 52 117 117 117 65 0 117-53 117-117 0-54-36-100-88-114z m-18-110l-22 0c-6 0-10-5-10-11 0-6 4-11 10-11l22 0c6 0 10 5 10 11 0 6-4 11-10 11z m21 42l-64 0c-6 0-11-4-11-10 0-6 5-11 11-11l64 0c6 0 11 5 11 11 0 6-5 10-11 10z m-32 342c6 0 11 4 11 10l0 43c0 6-5 11-11 11-6 0-11-5-11-11l0-43c0-6 5-10 11-10z m213-150l-42 0c-6 0-11-4-11-10 0-6 5-11 11-11l42 0c6 0 11 5 11 11 0 6-5 10-11 10z m-384 0l-42 0c-6 0-11-4-11-10 0-6 5-11 11-11l42 0c6 0 11 5 11 11 0 6-5 10-11 10z m43 103c2-2 5-3 7-3 3 0 6 1 8 3 4 4 4 11 0 15l-45 45c-5 4-11 4-16 0-4-4-4-11 0-15z m249-3c2 0 5 1 7 3l45 45c5 4 5 11 0 15-4 4-10 4-15 0l-45-45c-4-4-4-11 0-15 2-2 5-3 8-3z"/>
<glyph unicode="&#57359;" d="M508 404c-4 4-11 4-15-1l-237-271-237 271c-4 5-11 5-15 1-5-4-5-10-1-15l245-280c2-3 5-4 8-4 3 0 6 1 8 4l245 280c4 5 4 11-1 15z"/>
</font></defs></svg>

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Binary file not shown.