2017-02-17 06:50:07 +01:00
|
|
|
<section class="gh-canvas">
|
|
|
|
<header class="gh-canvas-header">
|
2017-05-30 15:23:38 +02:00
|
|
|
<h2 class="gh-canvas-title" data-test-screen-title>General</h2>
|
2015-06-13 16:34:09 +02:00
|
|
|
<section class="view-actions">
|
2017-04-07 17:23:45 +02:00
|
|
|
{{gh-task-button "Save settings" task=save class="gh-btn gh-btn-blue gh-btn-icon" data-test-save-button=true}}
|
2015-06-13 16:34:09 +02:00
|
|
|
</section>
|
|
|
|
</header>
|
2014-03-10 04:44:08 +01:00
|
|
|
|
2017-02-17 06:50:07 +01:00
|
|
|
<section class="view-container">
|
2017-02-21 09:18:15 +01:00
|
|
|
|
|
|
|
<div class="gh-setting-header">Publication info</div>
|
|
|
|
<div class="gh-setting">
|
|
|
|
<div class="gh-setting-content">
|
|
|
|
<div class="gh-setting-title">Title & description</div>
|
|
|
|
<div class="gh-setting-desc">The details used to identify your publication around the web</div>
|
2017-02-21 13:28:05 +01:00
|
|
|
{{#liquid-if pubInfoOpen}}
|
2017-02-21 09:18:15 +01:00
|
|
|
<div class="gh-setting-content-extended">
|
|
|
|
{{#gh-form-group errors=model.errors hasValidated=model.hasValidated property="title"}}
|
2017-02-21 11:43:20 +01:00
|
|
|
{{gh-input model.title type="text" focusOut=(action "validate" "title" target=model) update=(action (mut model.title)) data-test-title-input=true}}
|
2017-02-21 09:18:15 +01:00
|
|
|
{{gh-error-message errors=model.errors property="title"}}
|
|
|
|
<p>The name of your site</p>
|
|
|
|
{{/gh-form-group}}
|
|
|
|
|
|
|
|
{{#gh-form-group errors=model.errors hasValidated=model.hasValidated property="description" class="description-container"}}
|
2017-02-21 11:43:20 +01:00
|
|
|
{{gh-input model.description type="text" focusOut=(action "validate" "description" target=model) update=(action (mut model.description)) data-test-description-input=true}}
|
2017-02-21 09:18:15 +01:00
|
|
|
{{gh-error-message errors=model.errors property="description"}}
|
|
|
|
<p>Used in your theme, meta data and search results</p>
|
|
|
|
{{/gh-form-group}}
|
|
|
|
</div>
|
2017-02-21 13:28:05 +01:00
|
|
|
{{/liquid-if}}
|
2017-02-21 09:18:15 +01:00
|
|
|
</div>
|
|
|
|
<div class="gh-setting-action">
|
2017-02-27 07:31:01 +01:00
|
|
|
<button type="button" class="gh-btn gh-btn-hover-blue" {{action (toggle "pubInfoOpen" this)}} data-test-toggle-pub-info><span>{{if pubInfoOpen "Close" "Expand"}}</span></button>
|
2017-02-21 09:18:15 +01:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="gh-setting">
|
|
|
|
<div class="gh-setting-content">
|
|
|
|
<div class="gh-setting-title">Site timezone</div>
|
|
|
|
<div class="gh-setting-desc">Set the time and date of your publication, used for all published posts</div>
|
2017-02-21 13:28:05 +01:00
|
|
|
{{#liquid-if timezoneOpen}}
|
2017-02-21 09:18:15 +01:00
|
|
|
<div class="gh-setting-content-extended">
|
|
|
|
{{gh-timezone-select
|
|
|
|
activeTimezone=model.activeTimezone
|
|
|
|
availableTimezones=availableTimezones
|
|
|
|
update=(action "setTimezone")}}
|
|
|
|
</div>
|
2017-02-21 13:28:05 +01:00
|
|
|
{{/liquid-if}}
|
2017-02-21 09:18:15 +01:00
|
|
|
</div>
|
|
|
|
<div class="gh-setting-action">
|
2017-02-27 07:31:01 +01:00
|
|
|
<button type="button" class="gh-btn gh-btn-hover-blue" {{action (toggle "timezoneOpen" this)}} data-test-toggle-timezone><span>{{if timezoneOpen "Close" "Expand"}}</span></button>
|
2017-02-21 09:18:15 +01:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="gh-setting-header">Publication identity</div>
|
2017-05-23 10:50:04 +02:00
|
|
|
<div class="gh-setting" data-test-setting="icon">
|
|
|
|
{{#gh-uploader
|
|
|
|
files=iconUpload
|
|
|
|
extensions=iconExtensions
|
|
|
|
uploadUrl="/uploads/icon/"
|
|
|
|
onComplete=(action "imageUploaded" "icon")
|
|
|
|
as |uploader|
|
|
|
|
}}
|
2017-02-21 09:18:15 +01:00
|
|
|
<div class="gh-setting-content">
|
|
|
|
<div class="gh-setting-title">Publication icon</div>
|
|
|
|
<div class="gh-setting-desc">A square, social icon used in the UI of your publication, at least 60x60px</div>
|
2017-05-23 10:50:04 +02:00
|
|
|
{{#if uploader.errors}}
|
|
|
|
{{#each uploader.errors as |error|}}
|
|
|
|
<div class="gh-setting-error" data-test-error="icon">{{error.message}}</div>
|
|
|
|
{{/each}}
|
|
|
|
{{/if}}
|
2017-02-21 09:18:15 +01:00
|
|
|
</div>
|
2017-02-27 07:31:01 +01:00
|
|
|
<div class="gh-setting-action gh-setting-action-smallimg">
|
2017-02-21 09:18:15 +01:00
|
|
|
{{#if model.icon}}
|
2017-05-23 10:50:04 +02:00
|
|
|
<img class="blog-icon" src="{{model.icon}}" alt="icon" data-test-icon-img>
|
|
|
|
<button type="button" class="gh-setting-action-smallimg-delete" {{action "removeImage" "icon"}} data-test-delete-image="icon">
|
|
|
|
<span>delete</span>
|
|
|
|
</button>
|
|
|
|
{{else if uploader.isUploading}}
|
|
|
|
{{uploader.progressBar}}
|
2017-02-21 09:18:15 +01:00
|
|
|
{{else}}
|
2017-05-23 10:50:04 +02:00
|
|
|
<button type="button" class="gh-btn" onClick={{action "triggerFileDialog"}} data-test-image-upload-btn="icon">
|
|
|
|
<span>Upload Image</span>
|
|
|
|
</button>
|
2017-02-21 09:18:15 +01:00
|
|
|
{{/if}}
|
2017-05-23 10:50:04 +02:00
|
|
|
<div style="display:none">
|
|
|
|
{{gh-file-input multiple=false action=(action (mut iconUpload)) accept=iconMimeTypes data-test-file-input="icon"}}
|
|
|
|
</div>
|
2017-02-21 09:18:15 +01:00
|
|
|
</div>
|
2017-05-23 10:50:04 +02:00
|
|
|
{{/gh-uploader}}
|
2017-02-21 09:18:15 +01:00
|
|
|
</div>
|
2017-05-23 10:50:04 +02:00
|
|
|
<div class="gh-setting" data-test-setting="logo">
|
|
|
|
{{#gh-uploader
|
|
|
|
files=logoUpload
|
|
|
|
extensions=imageExtensions
|
|
|
|
onComplete=(action "imageUploaded" "logo")
|
|
|
|
as |uploader|
|
|
|
|
}}
|
2017-02-21 09:18:15 +01:00
|
|
|
<div class="gh-setting-content">
|
|
|
|
<div class="gh-setting-title">Publication logo</div>
|
|
|
|
<div class="gh-setting-desc">The primary logo for your brand displayed across your theme, should be transparent and at least 600px x 72px</div>
|
2017-05-23 10:50:04 +02:00
|
|
|
{{#if uploader.errors}}
|
|
|
|
{{#each uploader.errors as |error|}}
|
|
|
|
<div class="gh-setting-error" data-test-error="logo">{{error.message}}</div>
|
|
|
|
{{/each}}
|
|
|
|
{{/if}}
|
2017-02-21 09:18:15 +01:00
|
|
|
</div>
|
2017-02-27 07:31:01 +01:00
|
|
|
<div class="gh-setting-action gh-setting-action-smallimg">
|
2015-06-13 16:34:09 +02:00
|
|
|
{{#if model.logo}}
|
2017-05-23 10:50:04 +02:00
|
|
|
<img class="blog-logo" src="{{model.logo}}" alt="logo" data-test-logo-img>
|
|
|
|
<button type="button" class="gh-setting-action-smallimg-delete" {{action "removeImage" "logo"}} data-test-delete-image="logo">
|
|
|
|
<span>delete</span>
|
|
|
|
</button>
|
|
|
|
{{else if uploader.isUploading}}
|
|
|
|
{{uploader.progressBar}}
|
2015-06-13 16:34:09 +02:00
|
|
|
{{else}}
|
2017-05-23 10:50:04 +02:00
|
|
|
<button type="button" class="gh-btn" onClick={{action "triggerFileDialog"}} data-test-image-upload-btn="logo">
|
|
|
|
<span>Upload Image</span>
|
|
|
|
</button>
|
2015-11-18 11:50:48 +01:00
|
|
|
{{/if}}
|
2017-05-23 10:50:04 +02:00
|
|
|
<div style="display:none">
|
|
|
|
{{gh-file-input multiple=false action=(action (mut logoUpload)) accept=imageMimeTypes data-test-file-input="logo"}}
|
|
|
|
</div>
|
2014-03-10 04:44:08 +01:00
|
|
|
</div>
|
2017-05-23 10:50:04 +02:00
|
|
|
{{/gh-uploader}}
|
2017-02-21 09:18:15 +01:00
|
|
|
</div>
|
2017-05-23 10:50:04 +02:00
|
|
|
<div class="gh-setting" data-test-setting="coverImage">
|
|
|
|
{{#gh-uploader
|
|
|
|
files=coverImageUpload
|
|
|
|
extensions=imageExtensions
|
|
|
|
onComplete=(action "imageUploaded" "coverImage")
|
|
|
|
as |uploader|
|
|
|
|
}}
|
2017-02-21 09:18:15 +01:00
|
|
|
<div class="gh-setting-content">
|
|
|
|
<div class="gh-setting-title">Publication cover</div>
|
|
|
|
<div class="gh-setting-desc">An optional large background image for your site</div>
|
2017-05-23 10:50:04 +02:00
|
|
|
{{#if uploader.errors}}
|
|
|
|
{{#each uploader.errors as |error|}}
|
|
|
|
<div class="gh-setting-error" data-test-error="coverImage">{{error.message}}</div>
|
|
|
|
{{/each}}
|
|
|
|
{{/if}}
|
2017-02-21 09:18:15 +01:00
|
|
|
</div>
|
2017-02-27 07:31:01 +01:00
|
|
|
<div class="gh-setting-action gh-setting-action-largeimg">
|
2017-04-24 19:42:43 +02:00
|
|
|
{{#if model.coverImage}}
|
2017-05-23 10:50:04 +02:00
|
|
|
<img class="blog-cover" src="{{model.coverImage}}" alt="cover photo" data-test-cover-img>
|
|
|
|
<button type="button" class="gh-setting-action-largeimg-delete" {{action "removeImage" "coverImage"}} data-test-delete-image="coverImage">
|
|
|
|
<span>delete</span>
|
|
|
|
</button>
|
|
|
|
{{else if uploader.isUploading}}
|
|
|
|
{{uploader.progressBar}}
|
2015-06-13 16:34:09 +02:00
|
|
|
{{else}}
|
2017-05-23 10:50:04 +02:00
|
|
|
<button type="button" class="gh-btn" onClick={{action "triggerFileDialog"}} data-test-image-upload-btn="coverImage">
|
|
|
|
<span>Upload Image</span>
|
|
|
|
</button>
|
2015-11-18 11:50:48 +01:00
|
|
|
{{/if}}
|
2017-05-23 10:50:04 +02:00
|
|
|
<div style="display:none">
|
|
|
|
{{gh-file-input multiple=false action=(action (mut coverImageUpload)) accept=imageMimeTypes data-test-file-input="coverImage"}}
|
|
|
|
</div>
|
2014-03-10 04:44:08 +01:00
|
|
|
</div>
|
2017-05-23 10:50:04 +02:00
|
|
|
{{/gh-uploader}}
|
2017-02-21 09:18:15 +01:00
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="gh-setting-header">Social accounts</div>
|
|
|
|
<div class="gh-setting">
|
|
|
|
<div class="gh-setting-content">
|
|
|
|
<div class="gh-setting-title">Social accounts</div>
|
|
|
|
<div class="gh-setting-desc">Link your social accounts for full structured data and rich card support</div>
|
2017-02-21 13:28:05 +01:00
|
|
|
{{#liquid-if socialOpen}}
|
2017-02-21 09:18:15 +01:00
|
|
|
<div class="gh-setting-content-extended">
|
2016-03-03 09:52:27 +01:00
|
|
|
{{#gh-form-group errors=model.errors hasValidated=model.hasValidated property="facebook"}}
|
2017-02-21 11:43:20 +01:00
|
|
|
<input value={{model.facebook}} oninput={{action (mut _scratchFacebook) value="target.value"}} {{action "validateFacebookUrl" on="focusOut"}} type="url" class="gh-input" placeholder="https://www.facebook.com/ghost" autocorrect="off" data-test-facebook-input />
|
|
|
|
{{gh-error-message errors=model.errors property="facebook" data-test-facebook-error=true}}
|
2017-02-21 09:18:15 +01:00
|
|
|
<p>URL of your publication's Facebook Page</p>
|
2016-03-03 09:52:27 +01:00
|
|
|
{{/gh-form-group}}
|
|
|
|
{{#gh-form-group errors=model.errors hasValidated=model.hasValidated property="twitter"}}
|
2017-02-21 11:43:20 +01:00
|
|
|
<input value={{model.twitter}} oninput={{action (mut _scratchTwitter) value="target.value"}} {{action "validateTwitterUrl" on="focusOut"}} type="url" class="gh-input" placeholder="https://twitter.com/tryghost" autocorrect="off" data-test-twitter-input />
|
|
|
|
{{gh-error-message errors=model.errors property="twitter" data-test-twitter-error=true}}
|
2017-02-21 09:18:15 +01:00
|
|
|
<p>URL of your publication's Twitter profile</p>
|
2016-03-03 09:52:27 +01:00
|
|
|
{{/gh-form-group}}
|
|
|
|
</div>
|
2017-02-21 13:28:05 +01:00
|
|
|
{{/liquid-if}}
|
2017-02-21 09:18:15 +01:00
|
|
|
</div>
|
|
|
|
<div class="gh-setting-action">
|
2017-02-27 07:31:01 +01:00
|
|
|
<button type="button" class="gh-btn gh-btn-hover-blue" {{action (toggle "socialOpen" this)}} data-test-toggle-social><span>{{if socialOpen "Close" "Expand"}}</span></button>
|
2017-02-21 09:18:15 +01:00
|
|
|
</div>
|
|
|
|
</div>
|
2016-03-03 09:52:27 +01:00
|
|
|
|
2017-02-21 09:18:15 +01:00
|
|
|
<div class="gh-setting-header">Advanced settings</div>
|
|
|
|
<div class="gh-setting">
|
|
|
|
<div class="gh-setting-content">
|
|
|
|
<div class="gh-setting-title">Use dated permalinks</div>
|
|
|
|
<div class="gh-setting-desc">Include the date in your post URLs, eg. <strong>blogurl.com/2017/01/post-title/</strong></div>
|
|
|
|
</div>
|
|
|
|
<div class="gh-setting-action">
|
2017-04-11 11:10:56 +02:00
|
|
|
<div class="for-checkbox">
|
|
|
|
<label class="checkbox" for="settings-dated-permalinks">
|
|
|
|
{{one-way-checkbox isDatedPermalinks id="settings-dated-permalinks" type="checkbox" update=(action (mut isDatedPermalinks)) data-test-dated-permalinks-checkbox=true}}
|
|
|
|
<span class="input-toggle-component"></span>
|
|
|
|
</label>
|
|
|
|
</div>
|
2017-02-21 09:18:15 +01:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="gh-setting">
|
|
|
|
<div class="gh-setting-content">
|
|
|
|
<div class="gh-setting-title">Make this site private</div>
|
|
|
|
<div class="gh-setting-desc">Enable protection with simple shared password, All search engine optimization and social features will be disabled.</div>
|
2015-06-13 16:34:09 +02:00
|
|
|
{{#if model.isPrivate}}
|
2017-02-21 09:18:15 +01:00
|
|
|
<div class="gh-setting-content-extended">
|
2015-11-18 11:50:48 +01:00
|
|
|
{{#gh-form-group errors=model.errors hasValidated=model.hasValidated property="password"}}
|
2017-02-21 11:43:20 +01:00
|
|
|
{{gh-input model.password name="general[password]" type="text" focusOut=(action "validate" "password" target=model) update=(action (mut model.password)) data-test-password-input=true}}
|
|
|
|
{{gh-error-message errors=model.errors property="password" data-test-password-error=true}}
|
2017-02-21 09:18:15 +01:00
|
|
|
<p>Set the password for this site</p>
|
2015-11-18 11:50:48 +01:00
|
|
|
{{/gh-form-group}}
|
2017-02-21 09:18:15 +01:00
|
|
|
</div>
|
2015-06-13 16:34:09 +02:00
|
|
|
{{/if}}
|
2017-02-21 09:18:15 +01:00
|
|
|
</div>
|
|
|
|
<div class="gh-setting-action">
|
2017-04-11 11:10:56 +02:00
|
|
|
<div class="for-checkbox">
|
|
|
|
<label class="checkbox" for="settings-private">
|
|
|
|
{{one-way-checkbox model.isPrivate id="settings-private" type="checkbox" update=(action (mut model.isPrivate)) data-test-private-checkbox=true}}
|
|
|
|
<span class="input-toggle-component"></span>
|
|
|
|
</label>
|
|
|
|
</div>
|
2017-02-21 09:18:15 +01:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
2015-06-13 16:34:09 +02:00
|
|
|
</section>
|
2014-12-30 03:11:24 +01:00
|
|
|
</section>
|
2016-08-17 17:01:46 +02:00
|
|
|
|
|
|
|
{{outlet}}
|