extends page block drawer .division-title Settings .division-description p Here you can change your account settings to track new Twitter or Facebook accounts or alert your Google Authentication .merlynne-img(style="width:90%;") img(src="images/merlynne/knobs.svg") block content #settings #account.settings-group .settings-title Account #email.setting-group .setting-title Email ul.inputs-container.js-inputs-container(data-setting-name="email") li form.parent-form.js-parent-form input.js-input-item(placeholder="Your email...", type="text" name="email") #password.setting-group .setting-title Change password ul.inputs-container.js-inputs-container(data-setting-name="password") li form.parent-form.js-parent-form input.input-item.js-input-item(type="password", data-which="old", placeholder="Old password...", name="old_password") input.input-item.js-input-item(type="password", data-which="new", placeholder="New password...") input.input-item.js-input-item(type="password", data-which="confirm", placeholder="Confirm...", name="new_password") #account-authentication.settings-group .settings-title Account authentication .setting-description p NewsLynx uses this data to show you things like pageviews and unique visitors from Google Analytics. It uses Twitter and Facebook tokens for things like retrieving all of the tweets from the lists designated above. NewsLynx cannot post to your accounts and it do not have access to your account password. p Please save your settings before authenticating. The authentication process will refresh the page and you will lose any unsaved changes. .setting-group .setting-title Google analytics .auth-container if (info.org.google_analytics_auth.is_authed) p.auth-result.success Authenticated. span ( a(href="/auths/google-analytics/grant") Change property | | a(href="/auths/google-analytics/revoke") Revoke access | ) ul.auth-list each propertyInfo in info.org.google_analytics_auth.properties li.auth-list-item #{propertyInfo.property} (#{propertyInfo.profile}) if (info['google-analytics_recipes']) if (info['google-analytics_recipes'].status != 500) .auth-list-header.success Initialized recipes! ul.auth-recipe-list each googleRecipe in info['google-analytics_recipes'].recipes li.auth-list-item #{googleRecipe.slug} else .auth-list-header.fail Recipe initialization failed! ul.auth-recipe-list li.auth-list-item #{JSON.stringify(info['google-analytics_recipes'].err)} else p.auth-result.fail Not authenticated. p a(href='/auths/google-analytics/grant').authenticate button Grant access .setting-group .setting-title Twitter .auth-container if (info.org.twitter_auth.is_authed) p.auth-result.success Authenticated. span ( a(href="/auths/twitter/revoke") Revoke access | ) if (info['twitter_recipes']) if (info['twitter_recipes'].status != 500) .auth-list-header.success Initialized recipes! ul.auth-recipe-list each twitterRecipe in info['twitter_recipes'].recipes li.auth-list-item #{twitterRecipe.slug} else .auth-list-header.fail Recipe initialization failed! ul.auth-recipe-list li.auth-list-item #{JSON.stringify(info['twitter_recipes'].err)} else p.auth-result.fail Not authenticated. p a(href='/auths/twitter/grant').authenticate button Grant access .setting-group .setting-title Facebook .auth-container if (info.org.facebook_auth.is_authed) p.auth-result.success Authenticated. span ( a(href="/auths/facebook/revoke") Revoke access | ) else p.auth-result.fail Not authenticated. p a(href='/auths/facebook/grant').authenticate button Grant access #site.settings-group .settings-title Site #home-page.setting-group .setting-title Home page ul.inputs-container.js-inputs-container(data-setting-name="homepage") li form.parent-form.js-parent-form input.js-input-item(placeholder="Home page url...", type="text" name="value") #timezone.setting-group .setting-title Time zone ul.inputs-container.js-inputs-container(data-setting-name="timezone") li form.parent-form.js-parent-form select.js-input-item(name='value') option(value='', selected=true) Select... option(value='Europe/Paris') Western Europe option(value='Europe/London') GMT option(value='US/Eastern') US / Eastern option(value='US/Central') US / Central option(value='US/Mountain') US / Mountain option(value='US/Pacific') US / Pacific option(value='US/Alaska') Alaska option(value='US/Hawaii') Hawaii .setting-group.js-setting-group(data-empty=(info.recipes['rss-feed-to-article'] == undefined).toString()) .setting-description p Does your site publish an RSS feed of all its articles? RSS feeds are the main way NewsLynx brings in articles. .setting-title RSS Feed URLs ul.inputs-container.js-inputs-container(data-setting-name="rss-feeds") button.add Add... #promotion.settings-group(data-required-fields-set=(info.org.homepage != undefined && info.org.timezone != undefined).toString()) .settings-title Promotion #staff-twitter-lists.setting-group.js-setting-group(data-empty=(info.recipes['twitter-list-to-event'] == undefined).toString()) .setting-description p If you want to track how your articles are shared among staff, create a Twitter list of their accounts and add the Twitter account name who owns the list and the list "slug". .setting-title Staff Twitter lists ul.inputs-container.js-inputs-container(data-setting-name="staff-twitter-lists") button.add Add... #twitter-accounts.setting-group.js-setting-group(data-empty=(info.recipes['twitter-users-to-event'] == undefined).toString()) .setting-description p What social accounts does your newsroom use? NewsLynx monitors them to know what’s being promoted. .setting-title Twitter accounts ul.inputs-container.js-inputs-container(data-setting-name="twitter-users") button.add Add... .setting-group.js-setting-group(data-empty=(info.recipes['facebook-pages-to-event'] == undefined).toString()) #facebook-accounts.setting-title Facebook accounts ul.inputs-container.js-inputs-container(data-setting-name="facebook-pages") button.add Add... #tags.settings-group .settings-title Tags #article-tags.setting-group(data-empty=(info.tags.subject.length == 0).toString()) .setting-title Subject tags ul.inputs-container.js-inputs-container(data-setting-name="subject-tags") button.add Add... #impact-tags.setting-group.js-setting-group(data-empty=(info.tags.impact.length == 0).toString()) .setting-flag Category .setting-flag Level .setting-title Impact tags ul.inputs-container.js-inputs-container(data-setting-name="impact-tags") button.add Add... block templates script(type="text/jst")#input-actions-templ .input-actions-container.js-input-actions-container input.input-action-btn(data-which="cancel", value="Cancel", type="button") input.input-action-btn(data-which="save", value="Save", type="Submit") script(type="text/jst")#subject-tag-templ form.parent-form.js-parent-form.multi.js-multi.modal-parent .multi-child.destroy.js-destroy × input.multi-child.input-item.js-input-item(type="text", placeholder="Subject tag name...", name="name") input.color-picker.input-item.js-input-item(type="text", value='#fc0', name="color") script(type="text/jst")#impact-tag-templ form.parent-form.js-parent-form.multi.js-multi.modal-parent .multi-child.destroy.js-destroy × input.multi-child.input-item.js-input-item(type="text", placeholder="Impact tag name...", name="name") select.input-item.js-input-item.multi-child(name="category") option(value="citation") Citation option(value="change") Change option(value="achievement") Achievement option(value="promotion") Promotion option(value="other") Other select.input-item.js-input-item.multi-child(name='level') option(value="institution") Institution option(value="community") Community option(value="individual") Individual option(value="internal") Internal option(value="media") Media input.color-picker.input-item.js-input-item(type="text", value='#fc0', name="color") script(type="text/jst")#rss-feed-templ form.parent-form.js-parent-form.multi.js-multi.modal-parent .multi-child.destroy.js-destroy × input.multi-child.input-item.js-input-item(type="text", placeholder="RSS Feed", name="options[feed_url]") script(type="text/jst")#staff-twitter-feed-templ form.parent-form.js-parent-form.multi.js-multi.modal-parent .multi-child.destroy.js-destroy × input.multi-child.input-item.js-input-item(type="text", placeholder="Owner handle...", name="options[list_owner_screen_name]") input.multi-child.input-item.js-input-item(type="text", placeholder="List slug...", name="options[list_slug]") script(type="text/jst")#twitter-user-templ form.parent-form.js-parent-form.multi.js-multi.modal-parent .multi-child.destroy.js-destroy × input.multi-child.input-item.js-input-item(type="text", placeholder="Handle...", name="options[screen_name]") script(type="text/jst")#facebook-page-templ form.parent-form.js-parent-form.multi.js-multi.modal-parent .multi-child.destroy.js-destroy × input.multi-child.input-item.js-input-item(type="text", placeholder="Page name...", name="options[page_id]") script(type="text/jst")#modal-templ .modal-outer .modal-overlay .modal-inner .modal-title Confirm delete form.js-destroy-form .description Is this for the best? .buttons-container button.cancel.modal-close Cancel //- input.save(type="submit", value="Save") //- span.submit-msg input.destroy.js-destroy(type="button", value="Delete") block bootstrap-data script(id="page-data"). var pageData =!{JSON.stringify(info)}; block css link(rel='stylesheet', href='/stylesheets/thirdparty/spectrum.css') block scripts script(src="javascripts/thirdparty/jquery-1.11.0.min.js") //- For electron app bundling (https://github.com/atom/electron/issues/345) script. if (typeof require === 'function') { window.$ = window.jQuery = module.exports } script(src="javascripts/thirdparty/underscore-min.js") script(src="javascripts/thirdparty/backbone-min.js") script(src="javascripts/thirdparty/spectrum.js") script(src="javascripts/thirdparty/d3.v3.min.js") script(src="javascripts/thirdparty/queue.min.js") script(src="javascripts/thirdparty/jquery.easing.js") script(src="javascripts/thirdparty/jquery.serializejson.min.js") script(src="javascripts/main.bundled.js")