{{#cardstack-session as |session|}}
  {{#if session.isAuthenticated }}
    <button id="logout-button" {{action session.logout}}>Logout {{session.user.name}}</button>
  {{else}}
    {{#mock-login as |login|}}
      <button id="login-button" {{action login "user1"}}>Login</button>
    {{/mock-login}}
  {{/if}}
{{/cardstack-session}}

{{#cardstack-edges}}
  {{#squishable-container}}
    {{outlet}}
  {{/squishable-container}}
{{/cardstack-edges}}

Fix positioning/displaying the login button

{{#cardstack-edges}}
  {{#squishable-container}}
    {{#cardstack-session as |session|}}
      {{#if session.isAuthenticated }}
        <button id="logout-button" {{action session.logout}}>Logout {{session.user.name}}</button>
      {{else}}
        {{#mock-login as |login|}}
          <button id="login-button" {{action login "user1"}}>Login</button>
        {{/mock-login}}
      {{/if}}
    {{/cardstack-session}}
    {{outlet}}
  {{/squishable-container}}
{{/cardstack-edges}}


    <form>

        <input id="searchBox" type="text" placeholder="Search by title, tag, or brand" />
        {{#if price}}

                price

                {{#each price}}
                    <input type="checkbox" name="prices[]" id="price-{{ @key }}" value="{{ @key }}" />
                    {{ @key }}

                {{/each}}

        {{/if}}
        {{#if labels}}

                Labels

                {{#each labels}}
                    <input type="checkbox" name="labels[]" id="labels-{{ @key }}" value="{{ @key }}" />
                    {{ @key }}

                {{/each}}

        {{/if}}
        <button id="searhButton" type="submit">Search</button>
    </form>

    {{#each forums}}

{{ this.createdOn }}

            {{ this.title }}

    {{/each}}

Fix accessibility with community forum search


  Image Editor
  By Emad Elsaid

    {{#devtools-file-button value=image format="url"}}
      image Open An Image
    {{/devtools-file-button}}

Add credit to darkroomjs developer

  Image Editor
  By
    Matthieu Moquet,
    Emad Elsaid

    {{#devtools-file-button value=image format="url"}}
      image Open An Image
    {{/devtools-file-button}}


import { createSelector } from 'reselect';

/**
 * Direct selector to the {{ camelCase name }} state domain
 */
const select{{ properCase name }}Domain = () => state => state.get('{{ camelCase name }}');

/**
 * Other specific selectors
 */

/**
 * Default selector used by {{ properCase name }}
 */

const select{{ properCase name }} = () => createSelector(
  select{{ properCase name }}Domain(),
  (substate) => substate
);

export default select{{ properCase name }};
export {
  select{{ properCase name }}Domain,
};

Fix selectors generator to not show an error message by default

import { createSelector } from 'reselect';

/**
 * Direct selector to the {{ camelCase name }} state domain
 */
const select{{ properCase name }}Domain = () => state => state.get('{{ camelCase name }}');

/**
 * Other specific selectors
 */

/**
 * Default selector used by {{ properCase name }}
 */

const select{{ properCase name }} = () => createSelector(
  select{{ properCase name }}Domain(),
  (substate) => substate.toJS()
);

export default select{{ properCase name }};
export {
  select{{ properCase name }}Domain,
};


{{#if submission_error}}
Something went wrong submitting. Please check you filled in all fields!
{{/if}}

<form action="/papers/submit" method="post">

Submitter:	<input type="text" value="{{user.email}}" disabled />

Your name:	<input type="text" name="submitter_name" value="{{user.name}}" disabled />

Paper title:	<input type="text" name="paper_title" value="{{paper.title}}" maxlength=50 />

Paper summary:
<textarea name="paper_summary">{{paper.summary}}</textarea>

Track:

<select name="track">
{{#each tracks}}
<option
{{#ifEqual ../paper.track this}}
selected="selected"
{{/ifEqual}}
>{{this}}</option>
{{/each}}
</select>

<input class="submit-talk" type="submit" value="Submit" />

</form>

Add hint about additional speakers

{{#if submission_error}}
Something went wrong submitting. Please check you filled in all fields!
{{/if}}

<form action="/papers/submit" method="post">

Submitter:	<input type="text" value="{{user.email}}" disabled />

Your name:	<input type="text" name="submitter_name" value="{{user.name}}" disabled />
You will be able to add extra speakers after you have submitted the paper

Paper title:	<input type="text" name="paper_title" value="{{paper.title}}" maxlength=50 />

Paper summary:
<textarea name="paper_summary">{{paper.summary}}</textarea>

Track:

<select name="track">
{{#each tracks}}
<option
{{#ifEqual ../paper.track this}}
selected="selected"
{{/ifEqual}}
>{{this}}</option>
{{/each}}
</select>

<input class="submit-talk" type="submit" value="Submit" />

</form>


import { StoreService, StoreSubscriber } from "../../../store.service"
import { IRootScopeService } from "angular"
import { {{properCase name}}Actions } from "./{{camelCase name}}.actions"
import { isActionOfType } from "../../../../util/actionHelper"

export interface {{properCase name}}Subscriber {
	on{{properCase name}}Changed({{camelCase name}}: {{type}})
}

export class {{properCase name}}Service implements StoreSubscriber {
	private static {{constantCase name}}_CHANGED_EVENT = "{{kebabCase name}}-changed"

	constructor(private $rootScope: IRootScopeService, private storeService: StoreService) {
		StoreService.subscribe(this.$rootScope, this)
	}

	public onStoreChanged(actionType: string) {
		if (isActionOfType(actionType, {{properName}}Actions)) {
			this.notify(this.select())
		}
	}

	private select() {
		return this.storeService.getState().{{camelCase subreducer}}.{{camelCase name}}
	}

	private notify(newState: {{type}}) {
		this.$rootScope.$broadcast({{properCase name}}Service.{{constantCase name}}_CHANGED_EVENT, { {{camelCase name}}: newState })
	}

	public static subscribe($rootScope: IRootScopeService, subscriber: {{properCase name}}Subscriber) {
		$rootScope.$on({{properCase name}}Service.{{constantCase name}}_CHANGED_EVENT, (event, data) => {
			subscriber.on{{properCase name}}Changed(data.{{camelCase name}})
		})
	}
}

Fix plop template variable usage

import { StoreService, StoreSubscriber } from "../../../store.service"
import { IRootScopeService } from "angular"
import { {{properCase name}}Actions } from "./{{camelCase name}}.actions"
import { isActionOfType } from "../../../../util/actionHelper"

export interface {{properCase name}}Subscriber {
	on{{properCase name}}Changed({{camelCase name}}: {{type}})
}

export class {{properCase name}}Service implements StoreSubscriber {
	private static {{constantCase name}}_CHANGED_EVENT = "{{kebabCase name}}-changed"

	constructor(private $rootScope: IRootScopeService, private storeService: StoreService) {
		StoreService.subscribe(this.$rootScope, this)
	}

	public onStoreChanged(actionType: string) {
		if (isActionOfType(actionType, {{properCase name}}Actions)) {
			this.notify(this.select())
		}
	}

	private select() {
		return this.storeService.getState().{{camelCase subreducer}}.{{camelCase name}}
	}

	private notify(newState: {{type}}) {
		this.$rootScope.$broadcast({{properCase name}}Service.{{constantCase name}}_CHANGED_EVENT, { {{camelCase name}}: newState })
	}

	public static subscribe($rootScope: IRootScopeService, subscriber: {{properCase name}}Subscriber) {
		$rootScope.$on({{properCase name}}Service.{{constantCase name}}_CHANGED_EVENT, (event, data) => {
			subscriber.on{{properCase name}}Changed(data.{{camelCase name}})
		})
	}
}


Treatises

  {{#each treatise in treatises}}

{{#link-to 'treatise' treatise}}{{treatise.title}}{{/link-to}}

  {{/each}}

{{title}}

  {{#each section in page.sections}}

{{#link-to 'page.section' id section.slug}}Panel {{section.sortOrder}}{{/link-to}}

  {{/each}}

{{treatise.title}}

  {{#each page in treatise.pagesSorted}}

{{#link-to 'page' page}}{{page.title}}{{/link-to}}

  {{/each}}

Fix section links. Conditionally display if page is active

Treatises

  {{#each treatise in treatises}}

{{#link-to 'treatise' treatise}}{{treatise.title}}{{/link-to}}

  {{/each}}

{{#if page}}

{{title}}

    {{#each section in page.sectionsSorted}}

{{#link-to 'page.section' page.id section.id}}Panel {{section.sortOrder}}{{/link-to}}

    {{/each}}

{{/if}}

{{treatise.title}}

  {{#each page in treatise.pagesSorted}}

{{#link-to 'page' page}}{{page.title}}{{/link-to}}

  {{/each}}


---
layout: partners.hbs
title: "Segment"
integrations: true
priority: 48
summary: "Pass your data from Optimizely to 122+ other tools with a single integration."
logo: "__"
website_link: "https://segment.com/"
website_display: "www.segment.com"
kb_article: "https://help.optimizely.com/hc/en-us/articles/200039775#segment"
stars: 0
industry:
locations:
- location:
    phone:
    email:
    region:
    city:
    state:
    address1:
    address2:
    zip:
    country:
contact: |
  Questions?
  techpartners@optimizely.com
languages:
tags:
---
##### Company

Segment is the customer data hub, enabling integrations with 122+ analytics and marketing tools with the flip of a switch.

##### Integration

Integrating with Segment enables customers to send custom event and revenue data to Optimizely. With Segment, customers can set up tracking for events once and then use that data across multiple analytics platforms. Additionally, Segment customers can send data from Optimizely to Segment's 122+ partners with a single integration.

Update link to partner logo

---
layout: partners.hbs
title: "Segment"
integrations: true
priority: 48
summary: "Pass your data from Optimizely to 122+ other tools with a single integration."
logo: "//d1qmdf3vop2l07.cloudfront.net/optimizely-marketer-assets.cloudvent.net/raw/partner-logos/segment-logo-black.svg"
website_link: "https://segment.com/"
website_display: "www.segment.com"
kb_article: "https://help.optimizely.com/hc/en-us/articles/200039775#segment"
stars: 0
industry:
locations:
- location:
    phone:
    email:
    region:
    city:
    state:
    address1:
    address2:
    zip:
    country:
contact: |
  Questions?
  techpartners@optimizely.com
languages:
tags:
---
##### Company

Segment is the customer data hub, enabling integrations with 122+ analytics and marketing tools with the flip of a switch.

##### Integration

Integrating with Segment enables customers to send custom event and revenue data to Optimizely. With Segment, customers can set up tracking for events once and then use that data across multiple analytics platforms. Additionally, Segment customers can send data from Optimizely to Segment's 122+ partners with a single integration.


<form class="form order-form">

      Заведение
      {{input value=place class="form__field"}}

      Ваше имя
      {{input value=manager class="form__field"}}

      Время заказа
      {{input value=orderTime class="form__field"}}

      Минимальный заказ, руб
      {{input value=amount class="form__field"}}

  <button {{action "submit"}} type="submit" class="button button_submit">Добавить заказ</button>
</form>

Add missed class to form row


<fieldset>
    <legend class="text-fields-legend">
        {{yield}}
    </legend>

        {{#each textFields key="id" as |field index|}}

                {{input data-test-multiple-textbox-input-index=index class="form-control ember-text-field" type="text" placeholder=placeholder value=field.value change=(action 'onChange') }}
                {{#if (and (gt textFields.length 1) (gt textFieldsLastIndex index) )}}
                    <button data-test-multiple-textbox-input-remove={{index}} class="btn btn-danger btn-small" onClick={{action 'removeTextField' index}} aria-label='Remove text field'>{{fa-icon 'minus'}}</button>
                {{else}}
                    <button data-test-multiple-textbox-input-add={{index}} class="btn btn-success btn-small" onClick={{action 'addTextField'}} aria-label='Add another text field'>{{fa-icon 'plus'}}</button>
                {{/if}}

        {{/each}}

</fieldset>

Add data-test attr to multi-text input wrapping div

<fieldset>
    <legend class="text-fields-legend">
        {{yield}}
    </legend>

        {{#each textFields key="id" as |field index|}}

                {{input class="form-control ember-text-field" type="text" placeholder=placeholder value=field.value change=(action 'onChange') }}
                {{#if (and (gt textFields.length 1) (gt textFieldsLastIndex index) )}}
                    <button data-test-multiple-textbox-input-remove={{index}} class="btn btn-danger btn-small" onClick={{action 'removeTextField' index}} aria-label='Remove text field'>{{fa-icon 'minus'}}</button>
                {{else}}
                    <button data-test-multiple-textbox-input-add={{index}} class="btn btn-success btn-small" onClick={{action 'addTextField'}} aria-label='Add another text field'>{{fa-icon 'plus'}}</button>
                {{/if}}

        {{/each}}

</fieldset>


{{!< default}}

Writings.

  {{#foreach posts}}

    {{title}}
    <time datetime="{{date format="YYYY-MM-DDTHH:MM"}}">{{date format="DD MMM YYYY"}}</time>
    {{tags separator=" "}}

  {{/foreach}}

{{pagination}}

Use the same date format

{{!< default}}

Writings.

  {{#foreach posts}}

    {{title}}
    <time datetime="{{date format="DD MMM YYYY"}}">{{date format="DD MMM YYYY"}}</time>
    {{tags separator=" "}}

  {{/foreach}}

{{pagination}}


{{additional.headline}}

        {{additional.SmartOSBinaries}}
        64-bit

        {{additional.DockerImage}}
        {{additional.officialDockerImage}}

        {{additional.LinuxPowerSystems}}
        64-bit

        {{additional.LinuxSystemZ}}
        64-bit

        {{additional.AIXPowerSystems}}
        64-bit

  {{> download-list }}

Remove SmartOS from download page

{{additional.headline}}

        {{additional.DockerImage}}
        {{additional.officialDockerImage}}

        {{additional.LinuxPowerSystems}}
        64-bit

        {{additional.LinuxSystemZ}}
        64-bit

        {{additional.AIXPowerSystems}}
        64-bit

  {{> download-list }}


<input type="checkbox" {{#if visible}}checked=true {{/if}}/>

{{name}}

Rework label to not hinder clicking the icons

<input type="checkbox" {{#if visible}}checked="checked"{{/if}}/> {{name}}


Run code

Result

                {{#each result in endResult}}

{{result}}

                {{/each}}

Move button to more sensible location


<paper-drawer-panel>
  <paper-header-panel drawer>
    <paper-toolbar>

Elements

    </paper-toolbar>
    <paper-menu>
      {{#link-to 'index' tabindex="-1"}}
        <paper-item>Home</paper-item>
      {{/link-to}}
      {{#each snippets.snippets as |snippet|}}
        {{#link-to snippet.name tabindex="-1"}}
          <paper-item>{{snippet.name}}</paper-item>
        {{/link-to}}
      {{/each}}
    </paper-menu>
  </paper-header-panel>
  <paper-header-panel main>
    <paper-toolbar>
      <paper-icon-button icon="menu" paper-drawer-toggle></paper-icon-button>

Ember Polymer Paper demo

    </paper-toolbar>

      {{outlet}}

  </paper-header-panel>
</paper-drawer-panel>

Add github logo and link to repo. ✨

<paper-drawer-panel>
  <paper-header-panel drawer>
    <paper-toolbar>

Elements

    </paper-toolbar>
    <paper-menu>
      {{#link-to 'index' tabindex="-1"}}
        <paper-item>Home</paper-item>
      {{/link-to}}
      {{#each snippets.snippets as |snippet|}}
        {{#link-to snippet.name tabindex="-1"}}
          <paper-item>{{snippet.name}}</paper-item>
        {{/link-to}}
      {{/each}}
    </paper-menu>
  </paper-header-panel>
  <paper-header-panel main>
    <paper-toolbar>
      <paper-icon-button icon="menu" paper-drawer-toggle></paper-icon-button>
      Ember Polymer Paper demo

        <paper-icon-button src="images/github.png" class="github-logo">
        </paper-icon-button>

    </paper-toolbar>

      {{outlet}}

  </paper-header-panel>
</paper-drawer-panel>


ivy-tabs

      {{outlet}}

        {{link-to "Basic Example" "index" class="list-group-item"}}
        {{link-to "Query Parameters Example" "query-params" class="list-group-item"}}
        {{link-to "Dynamic Tabs Example" "dynamic-tabs" class="list-group-item"}}

View source on GitHub.

Add version and link to gh-page deploy

ivy-tabs

      {{outlet}}

        {{link-to "Basic Example" "index" class="list-group-item"}}
        {{link-to "Query Parameters Example" "query-params" class="list-group-item"}}
        {{link-to "Dynamic Tabs Example" "dynamic-tabs" class="list-group-item"}}

    Version {{app-version hideSha=true}}.
    View source on GitHub.


{{title }}

Libbie makes logging your library of books in Goodreads faster and easier. Simply sign in with Goodreads and get started. There's no registration, fees, and Libbie will never send you emails.

Click here to sign in with Goodreads

How it works

    It's simple: enter in the ISBN number for your book and hit enter. Boom! It's added to Goodreads.

But wait! There's more. Consider getting a cheap barcode scanner, which makes the process as easy as plugging in the scanner and scanning the barcode on the back of each of your books. You can log your whole library in minutes like this. Want more info? The intro video below will tell you all about it.

2 Minute Introduction Video

    Video Here

    Powered by MichaelBlouin.ca

Add amazon link for scanner

{{title }}

Libbie makes logging your library of books in Goodreads faster and easier. Simply sign in with Goodreads and get started. There's no registration, fees, and Libbie will never send you emails.

Click here to sign in with Goodreads

How it works

    It's simple: enter in the ISBN number for your book and hit enter. Boom! It's added to Goodreads.

But wait! There's more. Consider getting a cheap barcode scanner (I have this one which required no configuration to work with Libbie), which makes the process as easy as plugging in the scanner and scanning the barcode on the back of each of your books. You can log your whole library in minutes like this. Want more info? The intro video below will tell you all about it.

2 Minute Introduction Video

    Video Here

    Powered by MichaelBlouin.ca


---
title: List Tests
layout: blank
---

Unordered Item

Unordered Item

Unordered Item

Ordered Item

Ordered Item

Ordered Item

Ordered Item

Ordered Item

Ordered Item

Ordered Item

Ordered Item

Ordered Item

Ordered Item

Ordered Item

Ordered Item

Ordered Item

Ordered Item

Ordered Item

Ordered Item

Ordered Item

Ordered Item

Update tests with bare list

---
title: List Tests
layout: blank
---

Unordered Item

Unordered Item

Unordered Item

Ordered Item

Ordered Item

Ordered Item

Ordered Item

Ordered Item

Ordered Item

Ordered Item

Ordered Item

Ordered Item

Ordered Item

Ordered Item

Ordered Item

Ordered Item

Ordered Item

Ordered Item

Ordered Item

Ordered Item

Ordered Item

Bare List Item

Bare List Item

Bare List Item


Content separated

In two equally wide columns

Different

Column

Widths

Add more example responsive column definitions


Subject: Expense paid on {{collective.name}}: {{{currency transaction.netAmountInCollectiveCurrency currency=transaction.currency}}} for {{transaction.description}}

{{> header}}

 Hi there! Just a note to let you know that an expense was paid in {{collective.name}}.

{{{currency transaction.netAmountInCollectiveCurrency currency=transaction.currency precision=2}}}

{{transaction.description}}

To: {{fromCollective.name}}

  {{#if payoutMethod}}
    {{#ifCond payoutMethod.type '===' 'PAYPAL'}}

Paypal Email: {{payoutMethod.data.email}}

    {{/ifCond}}
  {{/if}}

View Latest Expenses

{{> footer}}

Add link to expense to notification email

Subject: Expense paid on {{collective.name}}: {{{currency transaction.netAmountInCollectiveCurrency currency=transaction.currency}}} for {{transaction.description}}

{{> header}}

 Hi there! Just a note to let you know that an expense was paid in {{collective.name}}.

{{{currency transaction.netAmountInCollectiveCurrency currency=transaction.currency precision=2}}}

{{transaction.description}}

To: {{fromCollective.name}}

  {{#if payoutMethod}}
    {{#ifCond payoutMethod.type '===' 'PAYPAL'}}

Paypal Email: {{payoutMethod.data.email}}

    {{/ifCond}}
  {{/if}}

View Expense

{{> footer}}


Add a New Element

<form>
	<fieldset>

			Name
			<input name="elementName" type="text" />

			Description
			<textarea name="elementDescription"></textarea>

			<input type="submit" value="Submit" />

	</fieldset>
</form>

Set the Add form to POST.

Add a New Element

<form method="POST">
	<fieldset>

			Name
			<input name="elementName" type="text" />

			Description
			<textarea name="elementDescription"></textarea>

			<input type="submit" value="Submit" />

	</fieldset>
</form>


        {{#if @blog.logo}}

        {{/if}}

                {{{@blog.title}}}

                {{@blog.description}}

Add option to use different cover image per post


{{!
The partial can be overridden to render the main content. It is rendered inside a Bootstrap-container.
@public
}}

Comment changed for test with "verb"

{{!
    The partial can be overridden to render the main content. It is rendered inside a
    Bootstrap-container.
    @api public
}}


{{! Previous/next page links - only displayed on page 2+ }}

    {{pagination}}

{{! This is the post loop - each post will be output using this markup }}
{{#foreach posts}}

{{{title}}}

{{excerpt words="26"}} »

        {{#if primary_author.profile_image}}{{/if}}
        {{primary_author}}
        {{tags prefix=" on "}}
        <time class="post-date" datetime="{{date format='YYYY-MM-DD'}}">{{date format="DD MMMM YYYY"}}</time>
        0 Comments

{{/foreach}}

{{! Previous/next page links - displayed on every page }}
{{pagination}}

Fix author name on the home page

{{! Previous/next page links - only displayed on page 2+ }}

    {{pagination}}

{{! This is the post loop - each post will be output using this markup }}
{{#foreach posts}}

{{{title}}}

{{excerpt words="26"}} »

        {{#if primary_author.profile_image}}{{/if}}
        {{primary_author.name}}
        {{tags prefix=" on "}}
        <time class="post-date" datetime="{{date format='YYYY-MM-DD'}}">{{date format="DD MMMM YYYY"}}</time>
        0 Comments

{{/foreach}}

{{! Previous/next page links - displayed on every page }}
{{pagination}}


<!DOCTYPE html>

    <meta charset="utf-8" />

    <meta http-equiv="X-UA-Compatible"
          content="IE=edge" />

    <title>
      {{meta_title}}
    </title>

    <meta name="description"
          content="{{meta_description}}" />

    <meta name="viewport"
          content="width=device-width, initial-scale=1.0" />

    <link href="{{asset "images/favicon.ico"}}"
          rel="shortcut icon" />

    <link href="//fonts.googleapis.com/css?family=Antic+Slab"
          rel="stylesheet" />

    <link href="{{asset "css/styles.min.css"}}"
          rel="stylesheet" />

    {{ghost_head}}

        {{#if @blog.logo}}

        {{/if}}

          {{@blog.title}}

      {{> nav}}

    {{{body}}}

    {{> footer}}

Remove favicon from template as handled by express

<!DOCTYPE html>

    <meta charset="utf-8" />

    <meta http-equiv="X-UA-Compatible"
          content="IE=edge" />

    <title>
      {{meta_title}}
    </title>

    <meta name="description"
          content="{{meta_description}}" />

    <meta name="viewport"
          content="width=device-width, initial-scale=1.0" />

    <link href="//fonts.googleapis.com/css?family=Antic+Slab"
          rel="stylesheet" />

    <link href="{{asset "css/styles.min.css"}}"
          rel="stylesheet" />

    {{ghost_head}}

        {{#if @blog.logo}}

        {{/if}}

          {{@blog.title}}

      {{> nav}}

    {{{body}}}

    {{> footer}}


{{#link-to 'new-portion-order' order class="order-preview"}}

{{order.vendor.title}}/{{order.location}}

    <time class="order-preview__time">{{order.time}}</time>

{{order.manager}}

{{/link-to}}

Use computed account display name in templates

{{#link-to 'new-portion-order' order class="order-preview"}}

{{order.vendor.title}}/{{order.location}}

    <time class="order-preview__time">{{order.time}}</time>

{{order.manager.displayName}}

{{/link-to}}


      {{#each model as |fav|}}
          {{fav-head fav=fav removeFav='removeFromFavorites'}}
      {{/each}}

      {{outlet}}

Add title to favorite journeys page

Favorite Journeys

      {{#each model as |fav|}}
          {{fav-head fav=fav removeFav='removeFromFavorites'}}
      {{/each}}

      {{outlet}}


ddns-update-style none;

default-lease-time 600;
max-lease-time 7200;

authoritative;

# Use this to send dhcp log messages to a different log file (you also
# have to hack syslog.conf to complete the redirection).
log-facility local7;

{{#each subnets}}
subnet {{join address '.'}} netmask {{join netmask '.'}} {
	range {{join range.start '.'}} {{join range.end '.'}};
	option broadcast-address {{join broadcast_address '.'}};
	option routers {{join router_address '.'}};
}
{{/each}}

Add domain-name-servers option to DHCP subnets

ddns-update-style none;

default-lease-time 600;
max-lease-time 7200;

authoritative;

# Use this to send dhcp log messages to a different log file (you also
# have to hack syslog.conf to complete the redirection).
log-facility local7;

{{#each subnets}}
subnet {{join address '.'}} netmask {{join netmask '.'}} {
	range {{join range.start '.'}} {{join range.end '.'}};
	option broadcast-address {{join broadcast_address '.'}};
	option routers {{join router_address '.'}};
	option domain-name-servers 8.8.8.8, 8.8.4.4;
}
{{/each}}


    {{{nav}}}

↑ up to Pubrules home

Pubrules documentation

Publication rules

      {{#each profiles}}

{{this.name}} ({{this.abbr}})

      {{/each}}

Transitions

See the transition guide

Use latest version link to transition requirements


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    <meta http-equiv="X-UA-Compatible" content="IE=edge" />

    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title></title>
    <link rel="stylesheet" type="text/css" href="../src/css/styles.css" />

            {{ body }}

Use html5 doctype for html buttons

<!DOCTYPE html>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    <meta http-equiv="X-UA-Compatible" content="IE=edge" />

    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title></title>
    <link rel="stylesheet" type="text/css" href="../src/css/styles.css" />

            {{ body }}


<!doctype html>

  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width">
  <title>OpenGraph Spy</title>
  <link rel="stylesheet" href="/css/bootstrap.css">
  <link rel="stylesheet" href="/css/style.css">
  <link rel="icon" type="image/x-icon" href="/favicon.ico">
  <link rel="shortcut icon" type="image/x-icon" href="/favicon.ico">
  {{#if ENV_DEVELOPMENT}}

  {{/if}}

  {{{body}}}

© 2017 Brian Holley

Fork me on GitHub

Add open graph metadata headers

<!doctype html>

  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width">
  <title>OpenGraph Spy</title>
  <link rel="stylesheet" href="/css/bootstrap.css">
  <link rel="stylesheet" href="/css/style.css">
  <link rel="icon" type="image/x-icon" href="/favicon.ico">
  <link rel="shortcut icon" type="image/x-icon" href="/favicon.ico">
  <meta property="og:type" content="website" />
  <meta property="og:title" content="OpenGraph Spy" />
  <meta property="og:image" content="https://ogspy.tech/img/logo.png" />
  <meta property="og:url" content="https://ogspy.tech" />
  {{#if ENV_DEVELOPMENT}}

  {{/if}}

  {{{body}}}

© 2017 Brian Holley

Fork me on GitHub


{{title}}

        {{blogger.name}}, {{semesterName}}

      {{formattedDateTime}}

{{{content}}}

Originally published here: {{blogUrl}}

Revert "Don't display tags, to avoid confusion"

{{title}}

        {{blogger.name}}, {{semesterName}}

      {{formattedDateTime}}

{{{content}}}

Tags

      {{#each tags}}

{{tag}}

      {{/each}}

Originally published here: {{blogUrl}}


{{#link-to "participants.profile" record.shortId}}View profile{{/link-to}}
<!-- TODO: Make this a button -->

Change link to use long ID

{{#link-to "participants.profile" record}}View profile{{/link-to}}
<!-- TODO: Make this a button -->


Home

Menu1

Menu2

Update the Breadcrumbs code example to include an inverted version


    {{search-preprints}}

            {{taxonomy-tree filter="filter"}}

Tags

                <button type="button" class="btn btn-info">talk</button>
                <button type="button" class="btn btn-info">CREP</button>
                <button type="button" class="btn btn-info">Poster</button>
                <button type="button" class="btn btn-info">Randolph-Macon</button>
                <button type="button" class="btn btn-info">replication</button>

            {{#each filteredPreprints as |preprintEntry|}}
                {{preprint-entry preprint=preprintEntry}}
            {{/each}}

Remove tags from browse page

    {{search-preprints}}

            {{taxonomy-tree filter="filter"}}

            {{#each filteredPreprints as |preprintEntry|}}
                {{preprint-entry preprint=preprintEntry}}
            {{/each}}


  {{#each toolbarLinks}}

      {{#link-to route}}

        {{text}}
      {{/link-to}}

  {{/each}}

{{outlet}}

Use partial to render the toolbar links


{{!< default}}

{{> header}}

	{{#foreach posts}}

{{content}}

{{title}}

						{{excerpt words="40"}}...

	{{/foreach}}

{{pagination}}

{{> footer}}

Reduce number of words in summary

{{!< default}}

{{> header}}

	{{#foreach posts}}

{{content}}

{{title}}

						{{excerpt words="30"}}...

	{{/foreach}}

{{pagination}}

{{> footer}}


{{!< default}}
{{! The tag above means - insert everything in this file into the {body} of the default.hbs template }}

{{! The main content area on the homepage }}

  {{! The tag below includes the post loop - partials/loop.hbs }}
  {{> "carousel"}}

Proyectos

nam ea quod aperiri eruditi.

      {{#get "posts" limit="3" include="tags" as |projects|}}
        {{#foreach projects}}
          {{#has tag="proyectos"}}

                {{#if image}}

{{content}}

                {{else}}

{{content}}

                {{/if}}

{{title}}

          {{/has}}
        {{/foreach}}
      {{/get}}

Change filter in home page

{{!< default}}
{{! The tag above means - insert everything in this file into the {body} of the default.hbs template }}

{{! The main content area on the homepage }}

  {{! The tag below includes the post loop - partials/loop.hbs }}
  {{> "carousel"}}

Proyectos

nam ea quod aperiri eruditi.

      {{#get "posts" limit="3" filter="tag:proyectos"  as |projects|}}
        {{#foreach projects}}

              {{#if image}}

{{content}}

              {{else}}

{{content}}

              {{/if}}

{{title}}

        {{/foreach}}
      {{/get}}


Here are a few ways to use transitionTo

ember-route-action allows use the router transitionTo without a link-to helper.

Go to test route.

{{some-link click=(transitionTo "test" 'arg-to-route')}}

{{some-link action=(transitionTo "test" 'arg-to-route')}}

The usage

<a onclick=\{{transitionTo "test" 'some-arg'}}>Go to test route.</a>

\{{some-link click=(transitionTo "test" 'arg-to-route')}}

\{{some-link action=(transitionTo "test" 'arg-to-route')}}

The sample component

import Ember from 'ember';

export default Ember.Component.extend({
  click() {
    this.sendAction('action');
  }
});

Use dasherized names for helpers for consistency

Here are a few ways to use transition-to

ember-route-action allows use the router transitionTo without a link-to helper.

Go to test route.

{{some-link click=(transition-to "test" 'arg-to-route')}}

{{some-link action=(transition-to "test" 'arg-to-route')}}

The usage

<a onclick=\{{transition-to "test" 'some-arg'}}>Go to test route.</a>

\{{some-link click=(transition-to "test" 'arg-to-route')}}

\{{some-link action=(transition-to "test" 'arg-to-route')}}

The sample component

import Ember from 'ember';

export default Ember.Component.extend({
  click() {
    this.sendAction('action');
  }
});


---
layout: partners.hbs
title: "Prodigal Solutions"
solutions: true
priority: 50
summary:
logo: "https://d1qmdf3vop2l07.cloudfront.net/optimizely-marketer-assets.cloudvent.net/raw/partner-logos/solutions/prodigal_solutions.png"
website_link: "http://prodigalsolutions.com"
website_display: "www.prodigalsolutions.com"
kb_article:
stars: 1
industry: "Executive Consulting, Strategic consulting, Custom Implementation, Test Development, Execution & Management"
locations:
- location:
    phone: "7246408671"
    email: "joe@prodigalsolutions.com"
    region: "North America - US East"
    city: "Pittsburgh"
    state: "PA"
    address1: "600 Grant Street"
    address2:
    zip: "15219"
    country: "USA"
contact: Joe@prodigalsolutions.com
languages:
- "English"
tags:
- "E-Commerce / Retail"
- "Travel"
- "B2B / SaaS"
- "Lead gen"
- "Insurance"
- "Finance"
- "Education"
---
Prodigal Solutions develops groundbreaking solutions to increase conversion rates and profits for some of the fastest growing eCommerce companies. We prefer to be a small, fast moving agency and focus on fewer clients so we can generate amazing results every time.

Make phone number nice, lowercase email

---
layout: partners.hbs
title: "Prodigal Solutions"
solutions: true
priority: 50
summary:
logo: "https://d1qmdf3vop2l07.cloudfront.net/optimizely-marketer-assets.cloudvent.net/raw/partner-logos/solutions/prodigal_solutions.png"
website_link: "http://prodigalsolutions.com"
website_display: "www.prodigalsolutions.com"
kb_article:
stars: 1
industry: "Executive Consulting, Strategic consulting, Custom Implementation, Test Development, Execution & Management"
locations:
- location:
    phone: "(724)640-8671"
    email: "joe@prodigalsolutions.com"
    region: "North America - US East"
    city: "Pittsburgh"
    state: "PA"
    address1: "600 Grant Street"
    address2:
    zip: "15219"
    country: "USA"
contact: joe@prodigalsolutions.com
languages:
- "English"
tags:
- "E-Commerce / Retail"
- "Travel"
- "B2B / SaaS"
- "Lead gen"
- "Insurance"
- "Finance"
- "Education"
---
Prodigal Solutions develops groundbreaking solutions to increase conversion rates and profits for some of the fastest growing eCommerce companies. We prefer to be a small, fast moving agency and focus on fewer clients so we can generate amazing results every time.


            {{t "Stream" }}
            {{t "Topic" }}
            {{t "Actions" }}

Fix spelled of muted topics message.


    Back

Tags

        <button type="button" class="btn btn-green" {{action "newTag"}}>New Tag</button>

    {{#each tag in tags}}

            <button class="tag-edit-button" {{action "editTag" tag}}>
                {{tag.name}}
                /{{tag.slug}}

{{tag.description}}

                {{tag.post_count}}
            </button>

    {{/each}}

Fix back button on tag UI page

Tags

        {{#link-to 'settings' class='btn btn-default btn-back'}}Back{{/link-to}}

        <button type="button" class="btn btn-green" {{action "newTag"}}>New Tag</button>

    {{#each tag in tags}}

            <button class="tag-edit-button" {{action "editTag" tag}}>
                {{tag.name}}
                /{{tag.slug}}

{{tag.description}}

                {{tag.post_count}}
            </button>

    {{/each}}


        {{#if icon}}

        {{/if}}
        {{#if stream_settings_link}}
        {{title}}
        {{else}}
        {{title}}
        {{/if}}

    {{#if sub_count}}
    {{formatted_sub_count}}
    {{/if}}
    {{#if rendered_narrow_description}}
    {{rendered_markdown rendered_narrow_description}}
    {{/if}}

Drop obsolete data attribute on ".stream_settings_link".


{{!-- Previous/next page links - only displayed on page 2+ --}}

    {{pagination}}

{{!-- This is the post loop - each post will be output using this markup --}}
{{#foreach posts}}

{{title}}

{{excerpt words="26"}} »

        {{#if author.image}}{{/if}}
        {{author}}
        {{tags prefix=" on "}}
        <time class="post-date" datetime="{{date format="YYYY-MM-DD"}}">{{date format="DD MMMM YYYY"}}</time>

{{/foreach}}

{{!-- Previous/next page links - displayed on every page --}}
{{pagination}}

Increase Except for a nicer summary

{{!-- Previous/next page links - only displayed on page 2+ --}}

    {{pagination}}

{{!-- This is the post loop - each post will be output using this markup --}}
{{#foreach posts}}

{{title}}

{{excerpt words="36"}} »

        {{#if author.image}}{{/if}}
        {{author}}
        {{tags prefix=" on "}}
        <time class="post-date" datetime="{{date format="YYYY-MM-DD"}}">{{date format="DD MMMM YYYY"}}</time>

{{/foreach}}

{{!-- Previous/next page links - displayed on every page --}}
{{pagination}}


    {{#each @comments as |comment index|}}

          {{#if comment.user}}

              <LinkTo @route="user" @model={{comment.user.id}} data-test-user>{{comment.user.name}}</LinkTo>:

          {{/if}}

          {{markdown comment.text}}

    {{else}}

        {{t "no-comments-yet"}}

    {{/each}}

    {{#if account.user.id}}

          <form {{action (perform this.addCommentTask) on="submit"}} data-test-add-comment>
            <Textarea @value={{this.addCommentText}} class="form-control" @disabled={{this.addCommentTask.isRunning}} data-test-input />

            <input type="submit" value={{t "add-comment"}} class="btn btn-primary" disabled={{this.addCommentTask.isRunning}} data-test-submit>
          </form>

    {{/if}}

Convert submit input to button

    {{#each @comments as |comment index|}}

          {{#if comment.user}}

              <LinkTo @route="user" @model={{comment.user.id}} data-test-user>{{comment.user.name}}</LinkTo>:

          {{/if}}

          {{markdown comment.text}}

    {{else}}

        {{t "no-comments-yet"}}

    {{/each}}

    {{#if account.user.id}}

          <form {{action (perform this.addCommentTask) on="submit"}} data-test-add-comment>
            <Textarea @value={{this.addCommentText}} class="form-control" @disabled={{this.addCommentTask.isRunning}} data-test-input />

            <button type="submit" class="btn btn-primary" disabled={{this.addCommentTask.isRunning}} data-test-submit>{{t "add-comment"}}</button>
          </form>

    {{/if}}


    {{#with model.picture as |picture|}}

    {{/with}}

{{model.name}}

      {{#with model.website as |website|}}

          {{website}}

      {{/with}}
      {{#with model.company as |company|}}

{{company}}

      {{/with}}

  {{outlet}}

Use dashes instead of camelcase for helper


Last 3 Pull Requests to Ember.js

{{#each pr in model}}

#{{pr.number}}

      {{pr.title}}

      Opened by @{{pr.head.user.login}}

{{/each}}

Fix minor bug in the "Loading data from a server" example


{{!-- template-lint-disable no-nested-interactive --}}
{{!-- @todo fix this, see https://github.com/kaliber5/ember-bootstrap/issues/999 --}}
{{#if (macroCondition (macroGetOwnConfig "isBS5"))}}

    <button
      class="accordion-button {{if @disabled "disabled"}} {{if @collapsed "collapsed"}}"
      type="button"
      disabled={{@disabled}}
      {{on "click" this.handleClick}}
    >
      {{yield}}
    </button>

{{else}}

    {{#if (macroCondition (macroGetOwnConfig "isBS4"))}}

        <button class="btn btn-link {{if @disabled "disabled"}} {{if @collapsed "collapsed" "expanded"}}" type="button" disabled={{@disabled}}>
          {{yield}}
        </button>

    {{/if}}
    {{#if (macroCondition (macroGetOwnConfig "isBS3"))}}

          {{yield}}

    {{/if}}

{{/if}}

Remove disabled attribute for BS3


Review Your Team's Performance

{{model.name}}

  {{teammate-review model=model.owner problem=model action="reviewTeammate"}}
  {{#if model.member1}}
    {{teammate-review model=model.member1  action="reviewTeammate"}}
  {{/if}}
  {{#if model.member2}}
    {{teammate-review model=model.member2 action="reviewTeammate"}}
  {{/if}}
  {{#if model.member3}}
    {{teammate-review model=model.member3 action="reviewTeammate"}}
  {{/if}}
  {{#if model.member4}}
    {{teammate-review model=model.member4 action="reviewTeammate"}}
  {{/if}}
  {{#if model.member5}}
    {{teammate-review model=model.member5 action="reviewTeammate"}}
  {{/if}}

{{yield}}

Add problem context to all member components after confirmation of reviewKey concept works

Review Your Team's Performance

{{model.name}}

  {{teammate-review model=model.owner problem=model action="reviewTeammate"}}
  {{#if model.member1}}
    {{teammate-review model=model.member1  problem=model action="reviewTeammate"}}
  {{/if}}
  {{#if model.member2}}
    {{teammate-review model=model.member2 problem=model action="reviewTeammate"}}
  {{/if}}
  {{#if model.member3}}
    {{teammate-review model=model.member3 problem=model action="reviewTeammate"}}
  {{/if}}
  {{#if model.member4}}
    {{teammate-review model=model.member4 problem=model action="reviewTeammate"}}
  {{/if}}
  {{#if model.member5}}
    {{teammate-review model=model.member5 problem=model action="reviewTeammate"}}
  {{/if}}

{{yield}}


{{! Previous/next page links - only displayed on page 2+ }}

    {{pagination}}

{{! This is the post loop - each post will be output using this markup }}
{{#foreach posts}}

{{{title}}}

            <time class="post-date" datetime="{{date format='YYYY-MM-DD'}}">{{date format="DD MMMM YYYY"}}</time> {{tags prefix=" on "}}

    {{#if image}}

    {{/if}}

{{excerpt words="26"}} »

        {{#if author.image}}{{/if}}
        {{author}}
        {{tags prefix=" on "}}
        <time class="post-date" datetime="{{date format='YYYY-MM-DD'}}">{{date format="DD MMMM YYYY"}}</time>

{{/foreach}}

{{! Previous/next page links - displayed on every page }}
{{pagination}}

Revert previous commit; noticed it was already there, just lower

{{! Previous/next page links - only displayed on page 2+ }}

    {{pagination}}

{{! This is the post loop - each post will be output using this markup }}
{{#foreach posts}}

{{{title}}}

    {{#if image}}

    {{/if}}

{{excerpt words="26"}} »

        {{#if author.image}}{{/if}}
        {{author}}
        {{tags prefix=" on "}}
        <time class="post-date" datetime="{{date format='YYYY-MM-DD'}}">{{date format="DD MMMM YYYY"}}</time>

{{/foreach}}

{{! Previous/next page links - displayed on every page }}
{{pagination}}


 {{title}}

	{{#if showingProjectDescript}}

    	Sample Project Descript
      x

  {{else}}

      ßß
      Project Description

  {{/if}}

  {{render "progressBarSection" auth.currentUser}}
  {{render "groupMemberProgressBars" groupMembers}}

Move project description to the right of the global progress bar

 {{title}}

    {{render "progressBarSection" auth.currentUser}}
    {{render "groupMemberProgressBars" groupMembers}}

    {{#if showingProjectDescript}}

        Sample Project Descript x

    {{else}}

         Project Description
    {{/if}}


  {{badge-box badge=badge}}

Add the "close" action to the mask


<form {{submit "register"}}>

Register

      Username
      {{validated-input type="text" autofocus="autofocus" value=model.id errors=errors.model.id}}

      E-mail
      {{validated-input type="email" value=model.email errors=errors.model.email}}

      Password
      {{validated-input type="password" value=model.password errors=errors.model.password}}

       Confirm password
      {{validated-input type="password" value=model.passwordConfirmation errors=errors.model.passwordConfirmation}}

    {{partial "users/-tos-area"}}
    <button  {{bind-attr disabled=isInvalid}} {{action "register"}}>Register</button>

      Already have an account? Sign in {{#link-to 'users.login'}} here {{/link-to}}.

</form>

Add 3rd-party logins to the registration page also

<form {{submit "register"}}>

Register

    {{#link-to "auth.oauth_login" "facebook" class="fb auth"}}

      Facebook Login
    {{/link-to}}
    {{#link-to "auth.oauth_login" "github" class="gh auth"}}

      GitHub Login
    {{/link-to}}
    {{#link-to "auth.oauth_login" "google" class="google auth"}}

      Google Login
    {{/link-to}}

      Username
      {{validated-input type="text" autofocus="autofocus" value=model.id errors=errors.model.id}}

      E-mail
      {{validated-input type="email" value=model.email errors=errors.model.email}}

      Password
      {{validated-input type="password" value=model.password errors=errors.model.password}}

       Confirm password
      {{validated-input type="password" value=model.passwordConfirmation errors=errors.model.passwordConfirmation}}

    {{partial "users/-tos-area"}}
    <button  {{bind-attr disabled=isInvalid}} {{action "register"}}>Register</button>

      Already have an account? Sign in {{#link-to 'users.login'}} here {{/link-to}}.

</form>


<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta name="description" content="mas chat service">
        <meta name="author" content="Ilkka Oksanen">
        <link rel="shortcut icon" href="/favicon.png">

        <title>MAS - {{title}}</title>

        <link href="/dist/pages.css" rel="stylesheet">

        <script src="/dist/pages-libs.js"></script>
        <script src="/javascripts/{{getPageJSFile}}"></script>
    </head>
    <body>
        {{{body}}}
    </body>
</html>

Prepare layout file for react website app

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">

        <meta name="description" content="mas chat service">
        <meta name="author" content="Ilkka Oksanen">
        <link rel="shortcut icon" href="/favicon.png">

        <title>MAS</title>
    </head>
    <body>
        {{{body}}}
    </body>

    <script src="/dist/app.js"></script>
</html>


  Give

  {{programDetails.referredRewardDetails.credit}}

  Months

  and Get

  {{programDetails.referredRewardDetails.credit}}

  Months!

Update to add variables for widget customization

{{stringFormat "%s" (variables 'widgetCustomization.heading')}}


{{ name }}

  {{{ description }}}

{{#if edit}}

       Edit Chapter

       Delete Chapter

{{/if}}

Comment delete chapter button by now

{{ name }}

{{#if image}}

{{/if}}

  {{{ description }}}

{{#if edit}}

       Edit Chapter

{{/if}}


Welcome to Traffic Tracker

        Tweets by Ma3Route

Legends

    {{#each model.legends as |legend|}}
        {{legend-tile legend=legend}}
    {{/each}}

Remove Extra Div Remove extra closing div tag


    {{#if canStepBackward}}

        «

    {{else}}

        «

    {{/if}}

    {{#each item in pageItems}}
      {{#if item.dots}}

          ...

      {{/if}}
      {{#if item.current}}

          {{item.page}}

      {{else}}

          {{item.page}}

      {{/if}}
    {{/each}}

    {{#if canStepForward}}

        »

    {{else}}

        »

    {{/if}}

Move to new each syntax

    {{#if canStepBackward}}

        «

    {{else}}

        «

    {{/if}}

    {{#each pageItems as |item|}}
      {{#if item.dots}}

          ...

      {{/if}}
      {{#if item.current}}

          {{item.page}}

      {{else}}

          {{item.page}}

      {{/if}}
    {{/each}}

    {{#if canStepForward}}

        »

    {{else}}

        »

    {{/if}}


            Pořadí
    Jméno
    Trofeje
    Skóre
            Počet vyřešených úloh

    {{#each model as |res|}}

                {{res.num}}
          {{#link-to "user-profile" res.user}}{{res.user.first_name}} {{res.user.last_name}}{{/link-to}}

            {{#each res.user.achievements as |achievement|}}
                        {{#link-to 'achievements'}}{{achievement-small model=achievement}}{{/link-to}}
            {{/each}}

          {{res.user.score}}
                {{res.user.tasks_num}}

    {{else}}

Výsledková listina je zatím prázdná.

    {{/each}}

Remove print caption iof achievements in results.

            Pořadí
    Jméno
    Trofeje
    Skóre
            Počet vyřešených úloh

    {{#each model as |res|}}

                {{res.num}}
          {{#link-to "user-profile" res.user}}{{res.user.first_name}} {{res.user.last_name}}{{/link-to}}

            {{#each res.user.achievements as |achievement|}}
                        {{#link-to 'achievements' class='noContent'}}{{achievement-small model=achievement}}{{/link-to}}
            {{/each}}

          {{res.user.score}}
                {{res.user.tasks_num}}

    {{else}}

Výsledková listina je zatím prázdná.

    {{/each}}


<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>WebRTC LiveChat</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" type="text/css" href="css/style.css">
</head>
<body>
123
    {{{body}}}
	<script src="js/bundle.js"></script>
</body>
</html>

Change Riot to React. Add homepage, tmplating, configuring express

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>WebRTC LiveChat</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" type="text/css" href="css/style.css">
</head>
<body>
    {{{body}}}
	<script src="js/bundle.js"></script>
</body>
</html>


 {{downloads}} {{favers}}

Use bullet divider in Packagist tiles

     {{downloads}}
    •

         {{favers}}


    {{#if canStepBackward}}

        «

    {{else}}

        «

    {{/if}}

    {{#each item in pageItems}}
      {{#if item.dots}}

          ...

      {{/if}}
      {{#if item.current}}

          {{item.page}}

      {{else}}

          {{item.page}}

      {{/if}}
    {{/each}}

    {{#if canStepForward}}

        »

    {{else}}

        »

    {{/if}}

Fix deprecation notices with each


Survey Question

{{question.title}}

            {{#each question.choices}}
                {{text}}
            {{/each}}

Prepare IDs/classes for jQuery usage.


    {{#each _markers itemViewClass=markerViewClass as |marker|}}

{{marker.title}} @ {{marker.lat}},{{marker.lng}}

      {{#if view.hasInfoWindow}}
        {{view 'google-map/info-window' context=marker}}
      {{/if}}
    {{/each}}

    {{#each _infoWindows as |iw|}}
      {{view infoWindowViewClass context=iw}}
    {{/each}}

    {{each _polylines itemViewClass=polylineViewClass as |polyline|}}

    {{each _polygons itemViewClass=polygonViewClass as |polygon|}}

    {{each _circles itemViewClass=circleViewClass as |circle|}}

Change `each` helpers to block form.

    {{#each _markers itemViewClass=markerViewClass as |marker|}}

{{marker.title}} @ {{marker.lat}},{{marker.lng}}

      {{#if view.hasInfoWindow}}
        {{view 'google-map/info-window' context=marker}}
      {{/if}}
    {{/each}}

    {{#each _infoWindows as |iw|}}
      {{view infoWindowViewClass context=iw}}
    {{/each}}

    {{#each _polylines itemViewClass=polylineViewClass as |polyline|}}
    {{/each}}

    {{#each _polygons itemViewClass=polygonViewClass as |polygon|}}
    {{/each}}

    {{#each _circles itemViewClass=circleViewClass as |circle|}}
    {{/each}}


  {{input type="text" name="name" value=funder.name class="form-control" placeholder="Funder"}}
  {{input type="text" name="grant_number" value=funder.grantNumber class="form-control" placeholder="Grant Number"}}
  {{input type="text" name="website" value=funder.website class="form-control" placeholder="Website"}}

Authors who received funding

      {{chosen content=allAuthors
        name="authors"
          data-placeholder="Choose Author Name"
          selection=fundedAuthors
          optionValuePath="content"
          optionLabelPath="content.fullName"
          class="chosen-author form-control"
          multiple=true
          changeAction="addFundedAuthors"}}

    OR
    Add author

      Did the funder have a role in study design, data collection and analysis, decision to publish, or preparation of the manuscript?

    {{binary-radio-button name="funder-had-influence" selection=funder.funderHadInfluence}}

    {{#if funder.funderHadInfluence}}

      Describe the role of any sponsors or funders in the study design, data collection and analysis, decision to publish, or preparation of the manuscript.
      {{textarea value=funder.funderInfluenceDescription class="form-control"}}

    {{/if}}

Hide add authors link …till we decide how we implement it

  {{input type="text" name="name" value=funder.name class="form-control" placeholder="Funder"}}
  {{input type="text" name="grant_number" value=funder.grantNumber class="form-control" placeholder="Grant Number"}}
  {{input type="text" name="website" value=funder.website class="form-control" placeholder="Website"}}

Authors who received funding

      {{chosen content=allAuthors
        name="authors"
          data-placeholder="Choose Author Name"
          selection=fundedAuthors
          optionValuePath="content"
          optionLabelPath="content.fullName"
          class="chosen-author form-control"
          multiple=true
          changeAction="addFundedAuthors"}}

      Did the funder have a role in study design, data collection and analysis, decision to publish, or preparation of the manuscript?

    {{binary-radio-button name="funder-had-influence" selection=funder.funderHadInfluence index=funder.id}}

    {{#if funder.funderHadInfluence}}

      Describe the role of any sponsors or funders in the study design, data collection and analysis, decision to publish, or preparation of the manuscript.
      {{textarea value=funder.funderInfluenceDescription class="form-control"}}

    {{/if}}


{{customer.email}}

    {{#if bill_address.firstname }}
      {{t 'bill_address' }}
      {{bill_address.firstname}} {{bill_address.lastname}}

      {{bill_address.address1}}, {{bill_address.address2}}

      {{bill_address.city}}

      {{#if bill_address.state_id }}
        {{bill_address.state.name}}
      {{else}}
        {{bill_address.state_name}}
      {{/if}}
      {{bill_address.country.name}}
    {{/if}}

Fix style looking an user on admin


extends base

block title
  | Manage {{name}}s

block main
  h2 Manage {{name}}s

  if message != ''
    .alert
      button.close(data-dismiss="alert", href="#") ×
      | #{message}

  table.table.table-striped
    tr
      {{#each fields}}th {{#camelize}}{{field}}{{/camelize}}
      {{/each}}
    each {{name}} in {{name}}s
      tr
        {{#each fields}}td= {{field}}
        {{/each}}
        td
          a(href='/{{name}}s/{{#tovar}}{{name}}.id{{/tovar}}/edit') edit
          |  |
          a(href='/{{name}}s/{{#tovar}}{{name}}.id{{/tovar}}/destroy', onclick='return confirm("Are you sure you want to delete this?") ? true : false') delete

Add header column of manage links

extends base

block title
  | Manage {{name}}s

block main
  h2 Manage {{name}}s

  if message != ''
    .alert
      button.close(data-dismiss="alert", href="#") ×
      | #{message}

  table.table.table-striped
    tr
      {{#each fields}}th {{#camelize}}{{field}}{{/camelize}}
      {{/each}}th
    each {{name}} in {{name}}s
      tr
        {{#each fields}}td= {{field}}
        {{/each}}
        td
          a(href='/{{name}}s/{{#tovar}}{{name}}.id{{/tovar}}/edit') edit
          |  |
          a(href='/{{name}}s/{{#tovar}}{{name}}.id{{/tovar}}/destroy', onclick='return confirm("Are you sure you want to delete this?") ? true : false') delete


Problem

{{model.content}}

Solution

    {{code-box answer = model.answer submit="createSolution"}}

Add padding to problem text


<select class="form-control auto-width" onchange={{action (mut value) value="target.value"}}>
  <option value=null>Please select</option>
  {{#each options as |option|}}
    <option value={{option}} selected={{eq value option}}>{{t option}}</option>
  {{/each}}
</select>

Replace "Please Select" with variable

<select class="form-control auto-width" onchange={{action (mut value) value="target.value"}}>
  <option value=null>{{t 'global.selectUnselected'}}</option>
  {{#each options as |option|}}
    <option value={{option}} selected={{eq value option}}>{{t option}}</option>
  {{/each}}
</select>


angular.module('app.filters').filter('{{#lowercamelize}}{{name}}{{/lowercamelize}}', function() {
  return function() {

  };
});

Add more detail into the filter generator

angular.module('app.filters').filter('{{#lowercamelize}}{{name}}{{/lowercamelize}}', function() {
  return function(input) {

  };
});


{{#this}}

	{{#each content.tabs}}

		{{content.title}}

{{content.body}}

	{{/each}}

{{/this}}

Update to Accordion label speeling and aria role


    Hi {{user.firstName}},

    Welcome to MLA Connect!

    - The MLA Team

Add warning to account creation email.

    Hi {{user.firstName}},

    Welcome to MLA Connect!

    - The MLA Team

    If you feel this email has been sent to you in error, please contact support@mlaconnect.zendesk.com


Home

        {{!-- {{#link-to "index"}}Home{{/link-to}} --}}

Menu
{{!--  --}}

        {{!--
Right Button Active
 --}}

          Data Options

Full Dataset

'Lean' Dataset

          Theme

White Label

{{#link-to "index"}}Home{{/link-to}}

{{!--

        {{#link-to "index"}}Home{{/link-to}}

--}}

Remove 2nd home link in top nav

{{#link-to "index"}}Home{{/link-to}}

Menu
{{!--  --}}

        {{!--
Right Button Active
 --}}

          Data Options

Full Dataset

'Lean' Dataset

          Theme

White Label


{{!-- Urls for different language versions of the current page --}}
{{#if_eq language "en"}}
    //{{#if (containsAny location.hostname "ons.gov.uk" "local.onsdigital.co.uk")}}www.{{/if}}{{replace location.host "cy." ""}}{{uri}}{{> list/partials/parameters}}
{{/if_eq}}

{{#if_eq language "cym"}}
    //cy.{{replace location.host "www." ""}}{{uri}}{{> list/partials/parameters}}
{{/if_eq}}

Use hostname not host in lanugage toggle

{{!-- Urls for different language versions of the current page --}}
{{#if_eq language "en"}}
    //{{#if (containsAny location.hostname "ons.gov.uk" "local.onsdigital.co.uk")}}www.{{/if}}{{replace location.hostname "cy." ""}}{{uri}}{{> list/partials/parameters}}
{{/if_eq}}

{{#if_eq language "cym"}}
    //cy.{{replace location.hostname "www." ""}}{{uri}}{{> list/partials/parameters}}
{{/if_eq}}


      {{#if this.empty}}

∅  {{this.name}}

      {{else if this.error}}

🙅  {{this.name}}

      {{/if}}
      {{#if this.data}}
        {{#if this.editUrl}}
          <button class="feature-edit call-to-action" data-edit-url="{{this.editUrl}}">Edit</button>
        {{/if}}

{{this.data.name}}

          {{#if this.data.description }}

{{this.data.description}}

          {{/if }}

      {{/if}}

Move the edit button into a partial so it is easier to reuse.

      {{#if this.empty}}

∅  {{this.name}}

      {{else if this.error}}

🙅  {{this.name}}

      {{/if}}
      {{#if this.data}}
        {{> edit_button url=this.editUrl}}

{{this.data.name}}

          {{#if this.data.description }}

{{this.data.description}}

          {{/if }}

      {{/if}}


GitHub

LinkedIn

Twitter

Google+

YouTube

Contact

Update external links with new FA icons

GitHub

LinkedIn

Twitter

Google+

YouTube

Steam

Last.fm

Contact


<script src="{{baseUrl}}/app/WarpJSModelParser.js"></script>
<script src="{{baseUrl}}/app/WarpJSClientLib.js"></script>

<style>
    .tab-pane.active {
        padding-top: 10px;
    }
</style>

<script>
    $(document).ready(function () {
        var config = {
            viewName: "DefaultPageView",
            htmlElements: {
                rootElem: "warpPageRoot",
                saveButton: "NavButtonSaveA"
            }
        };
        initializeWarpJS (config, function () {
            console.log("WarpJS: Initialization successful!");
        });
    });
</script>
<div id="warpPageRoot">
</div>

Support for fully dynamic UI

<script src="{{baseUrl}}/app/WarpJSClientLib.js"></script>
<script src="{{baseUrl}}/app/WarpJSModelParser.js"></script>

<style>
    .tab-pane.active {
        padding-top: 10px;
    }
</style>

<script>
    $(document).ready(function () {
        var config = {
            viewName: "DefaultPageView",
            htmlElements: {
                rootElem: "warpPageRoot",
                saveButton: "NavButtonSaveA"
            }
        };
        initializeWarpJS (config, function () {
            console.log("MyComplex Shop: Initialization successful!");
        });
    });
</script>
<div id="warpPageRoot">
</div>


            {{#if title}}
{{title}}
{{/if}}
            {{#if showClose}}Close{{/if}}

                {{yield}}

            {{#if confirm}}

                <button type="button" {{bind-attr class="acceptButtonClass :js-button-accept"}} {{action "confirm" "accept"}}>
                    {{confirm.accept.text}}
                </button>
                <button type="button" {{bind-attr class="rejectButtonClass :js-button-reject"}} {{action "confirm" "reject"}}>
                    {{confirm.reject.text}}
                </button>

            {{/if}}

Swap button-order on modal dialogs

            {{#if title}}
{{title}}
{{/if}}
            {{#if showClose}}Close{{/if}}

                {{yield}}

            {{#if confirm}}

                <button type="button" {{bind-attr class="rejectButtonClass :js-button-reject"}} {{action "confirm" "reject"}}>
                    {{confirm.reject.text}}
                </button>
                <button type="button" {{bind-attr class="acceptButtonClass :js-button-accept"}} {{action "confirm" "accept"}}>
                    {{confirm.accept.text}}
                </button>

            {{/if}}


{{layer.settings.properties.sectionTitle}}

    {{#if layer.settings.description}}

            {{layer.settings.description}}

    {{/if}}

    {{#if layer.settings.properties.showFileviewer}}
    	{{file-renderer download=layer.settings.properties.downloadLink width="100%" height="1000" allowfullscreen=true}}
    {{/if}}

     Download {{fa-icon "download"}}

Add spacing to file viewer


{{! Explanation of the stream email address }}

{{#tr this}}You can send emails to __page_params.product_name__! Just copy and use this address as an email recipient, and:{{/tr}}

{{t "The email will be forwarded to this stream" }}

{{#tr this}}The email subject will become the __page_params.product_name__ topic{{/tr}}

{{#tr this}}The email body will become the __page_params.product_name__ message{{/tr}}

Fix URL for zulip_main.png for i18n site.


<!doctype html>
<html>
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>iFixit Progressive Web App</title>
    <link rel="icon" sizes="192x192" href="/images/fist-enclosed-black.png">
    <link rel="manifest" href="/manifest.json">
    <base target="_blank">
    <style>
      {{inlineStyles}}
    </style>
  </head>
  <body>
    <main>{{{reactHtml}}}</main>
    <script>
      window.__STATE__ = {{{state}}};
    </script>
    <link rel="stylesheet" href="/rev/{{revManifest.[styles/all.css]}}">
    <script src="/rev/{{revManifest.[js/third-party.js]}}"></script>
    <script src="/rev/{{revManifest.[js/app.js]}}"></script>
    <script src="/rev/{{revManifest.[js/register-service-worker.js]}}"></script>
  </body>
</html>

Load all.css via JS element insertion.

<!doctype html>
<html>
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>iFixit Progressive Web App</title>
    <link rel="icon" sizes="192x192" href="/images/fist-enclosed-black.png">
    <link rel="manifest" href="/manifest.json">
    <base target="_blank">
    <style>
      {{inlineStyles}}
    </style>
  </head>
  <body>
    <main>{{{reactHtml}}}</main>
    <script>
      window.__STATE__ = {{{state}}};
    </script>
    <script>
      (function() {
        var linkElement = document.createElement('link');
        linkElement.rel = 'stylesheet';
        linkElement.type = 'text/css';
        linkElement.media = 'screen';
        linkElement.href = '/rev/{{revManifest.[styles/all.css]}}';
        document.querySelector('head').appendChild(linkElement);
      })();
    </script>
    <script src="/rev/{{revManifest.[js/third-party.js]}}"></script>
    <script src="/rev/{{revManifest.[js/app.js]}}"></script>
    <script src="/rev/{{revManifest.[js/register-service-worker.js]}}"></script>
  </body>
</html>


 {{legend.legendName}}

  {{#each legend.reviews as |review|}}
    {{review-tile review=review}}

    on {{moment-format review.createdAt 'LLL'}}
  {{/each}}

Add Tag for Timestamp Put Timestamp in Small Tag to match author of the review


<!DOCTYPE html>
<html lang="en">
<body>

  <script>

    // Clear the auth tokens and redirect to Universe so it can clear its session

    localStorage.removeItem('universeAccessToken');
    localStorage.removeItem('universeAccessTokenExpiration');
    localStorage.removeItem('universeRefreshToken');
    localStorage.removeItem('universeRefreshTokenExpiration');

    window.location.href = '{{{ fanclub.links.logout }}}';

  </script>

</body>
</html>

Remove the referrer path when logging out, to prevent a redirect loop

<!DOCTYPE html>

  <meta name="referrer" content="origin">


{{#if event.temp}}{{event.temp}}C{{/if}}
{{event.dayLabel}}
{{event.time}}

{{yield}}

Use inputs for the event data.

Temperature: {{input type="number" value=event.temp}}
Day: {{input type="number" value=event.day}}
Time: {{input value=event.time}}

{{yield}}


{{#is lang "de"}}Damit diese Website korrekt und mit vollem Funktionsumfang angezeigt wird, benötigen Sie JavaScript. Wie Sie JavaScript in Ihrem Browser einschalten.{{else}}For full functionality of this site it is necessary to enable JavaScript. Here are the instructions how to enable JavaScript in your web browser.{{/is}}

Edit German text of the enable JS msg

{{#is lang "de"}}Um diese Website in vollem Funktionsumfang anzuzeigen wird JavaScript benötigt. Wie Sie JavaScript in Ihrem Browser einschalten.{{else}}For full functionality of this site it is necessary to enable JavaScript. Here are the instructions how to enable JavaScript in your web browser.{{/is}}


<button id="save-content" type="button" class="btn disabled" data-placement="bottom" title="Save all changes"> Save</button>

{{#if id}}
  <form action="logout">
    <button type="submit" id="sign-out" class="btn btn-link">Sign Out</button>
    [{{name}}]
  </form>
{{else}}

  Sign In
{{/if}}

Clean up sign-in/out a bit

<button id="save-content" type="button" class="btn disabled" data-placement="bottom" title="Save all changes"> Save</button>

{{#if id}}

  Sign Out
  {{#if name}}
    [{{name}}]
  {{/if}}
{{else}}

  Sign In
{{/if}}


{{!< default}}

            {{#foreach posts }}

{{ title }}

{{date published_at format="MMMM Do, YYYY"}}

                    {{#if featured}}

✭ Featured

                    {{else}}{{/if}}

{{excerpt}} …

            {{/foreach}}

{{pagination}}

Fix a html markup error


{% load bb_ember %}
{% load i18n %}
{% load static %}

{% include 'projects/manage/main.hbs' %}

{% include 'projects/manage/basics.hbs' %}
{% include 'projects/manage/description.hbs' %}
{% include 'projects/manage/location.hbs' %}

{% include 'projects/manage/details.hbs' %}

{% include 'projects/manage/project_list.hbs' %}
{% include 'projects/manage/top.hbs' %}
{% include 'projects/manage/updates.hbs' %}

{% include 'projects/manage/generic_field.hbs' %}

{% include "projects/manage.hbs" %}

{% include "projects/index.hbs" %}
{% include "projects/project.hbs" %}

{% include "projects/bb_progressbar.hbs" %}
{% include "projects/project_donation.hbs" %}
{% include "projects/project_list.hbs" %}
{% include "projects/project_members.hbs" %}
{% include "projects/project_plan.hbs" %}
{% include "projects/project_preview.hbs" %}
{% include "projects/project_search_form.hbs" %}
{% include "projects/project_supporter_list.hbs" %}
{% include "projects/project_supporter.hbs" %}

Add project media to project create

{% load bb_ember %}
{% load i18n %}
{% load static %}

{% include 'projects/manage/main.hbs' %}

{% include 'projects/manage/basics.hbs' %}
{% include 'projects/manage/description.hbs' %}
{% include 'projects/manage/location.hbs' %}

{% include 'projects/manage/details.hbs' %}
{% include 'projects/manage/media.hbs' %}

{% include 'projects/manage/project_list.hbs' %}
{% include 'projects/manage/top.hbs' %}
{% include 'projects/manage/updates.hbs' %}

{% include 'projects/manage/generic_field.hbs' %}

{% include "projects/manage.hbs" %}

{% include "projects/index.hbs" %}
{% include "projects/project.hbs" %}

{% include "projects/bb_progressbar.hbs" %}
{% include "projects/project_donation.hbs" %}
{% include "projects/project_list.hbs" %}
{% include "projects/project_members.hbs" %}
{% include "projects/project_plan.hbs" %}
{% include "projects/project_preview.hbs" %}
{% include "projects/project_search_form.hbs" %}
{% include "projects/project_supporter_list.hbs" %}
{% include "projects/project_supporter.hbs" %}


{{#click-outside action=(action (mut isOpen) false)}}
  <button
    aria-label={{t (concat "general.language." locale.id)}}
    class="toggle"
    aria-haspopup="true"
    aria-expanded={{if isOpen "true" "false"}}
    data-level="toggle"
    data-test-toggle
    {{action "toggleMenu"}}
  >
    {{fa-icon "globe"}} {{t (concat "general.language." locale.id)}}
  </button>
  {{#if isOpen}}

      {{#each locales as |loc|}}
        <button
          role="menuitemradio"
          lang={{loc.id}}
          tabindex="-1"
          aria-checked={{if (eq locale.id loc.id) "true" "false"}}
          data-level="item"
          data-test-item
          {{action "changeLocale" loc.id}}
        >
          {{loc.text}}
        </button>
      {{/each}}

  {{/if}}
{{/click-outside}}

Add menuitem role to button

{{#click-outside action=(action (mut isOpen) false)}}
  <button
    aria-label={{t (concat "general.language." locale.id)}}
    role="menuitem"
    class="toggle"
    aria-haspopup="true"
    aria-expanded={{if isOpen "true" "false"}}
    data-level="toggle"
    data-test-toggle
    {{action "toggleMenu"}}
  >
    {{fa-icon "globe"}} {{t (concat "general.language." locale.id)}}
  </button>
  {{#if isOpen}}

      {{#each locales as |loc|}}
        <button
          role="menuitemradio"
          lang={{loc.id}}
          tabindex="-1"
          aria-checked={{if (eq locale.id loc.id) "true" "false"}}
          data-level="item"
          data-test-item
          {{action "changeLocale" loc.id}}
        >
          {{loc.text}}
        </button>
      {{/each}}

  {{/if}}
{{/click-outside}}


{{#extend "blank" htmlclass="drizzle-Layout" bodyclass="drizzle-Layout-body"}}
  {{#content "head" mode="append"}}
    <link rel="stylesheet" href="{{baseurl}}/assets/drizzle/styles/drizzle.css">
    <link rel="stylesheet" href="{{baseurl}}/assets/toolkit/styles/toolkit.css">
  {{/content}}
  {{#content "wrapper"}}
    {{> drizzle.nav}}

        {{#block "body"}}

        {{/block}}

    {{#content "footer"}}

    {{/content}}
  {{/content}}
{{/extend}}

Add the footer as a block

{{#extend "blank" htmlclass="drizzle-Layout" bodyclass="drizzle-Layout-body"}}
  {{#content "head" mode="append"}}
    <link rel="stylesheet" href="{{baseurl}}/assets/drizzle/styles/drizzle.css">
    <link rel="stylesheet" href="{{baseurl}}/assets/toolkit/styles/toolkit.css">
  {{/content}}
  {{#content "wrapper"}}
    {{> drizzle.nav}}

        {{#block "body"}}

        {{/block}}
        {{#block "footer"}}

        {{/block}}

  {{/content}}
{{/extend}}


    {{team-list teams=teams}}

    {{#link-to 'team.settings' local-class='aside-item' activeClass=(local-class 'aside-item--active')}}
      {{svg-jar "Gear" height="32" width="32"}}
    {{/link-to}}

    {{#intercom-launcher local-class='aside-item'}}
      {{svg-jar "Help" height="32" width="32"}}
    {{/intercom-launcher}}

      {{#basic-dropdown as |dropdown|}}
        {{#dropdown.trigger}}
          {{svg-jar "More" height="32" width="32"}}
        {{/dropdown.trigger}}

        {{#dropdown.content}}
          {{#ui-menu as |menu|}}
            {{#if changelogURL}}
              {{#menu.item link=changelogURL}}What's new?{{/menu.item}}
            {{/if}}

            {{#menu.item route=(array 'logout')}}Log Out...{{/menu.item}}
          {{/ui-menu}}
        {{/dropdown.content}}
      {{/basic-dropdown}}

  {{yield}}

Remove team-list gear icon (link to team settings)

    {{team-list teams=teams}}

    {{#intercom-launcher local-class='aside-item'}}
      {{svg-jar "Help" height="32" width="32"}}
    {{/intercom-launcher}}

      {{#basic-dropdown as |dropdown|}}
        {{#dropdown.trigger}}
          {{svg-jar "More" height="32" width="32"}}
        {{/dropdown.trigger}}

        {{#dropdown.content}}
          {{#ui-menu as |menu|}}
            {{#if changelogURL}}
              {{#menu.item link=changelogURL}}What's new?{{/menu.item}}
            {{/if}}

            {{#menu.item route=(array 'logout')}}Log Out...{{/menu.item}}
          {{/ui-menu}}
        {{/dropdown.content}}
      {{/basic-dropdown}}

  {{yield}}


<!DOCTYPE html>

        <meta charset="utf-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <title>Browser Compatibility Error</title>
        {{> meta}}
        <link rel="stylesheet" type="text/css" href="{{asset "css/caffeine-theme.css"}}" />
        {{> head-css}}
        {{ghost_head}}

                    Looks like your coffee's gone stale. It's time for a new cup!

                     {{meta_title}} runs on the latest Chrome, Firefox, Safari, and IE10+. Your browser is outdated and it may be time to upgrade.

                                Click here to find out more!

    {{ghost_foot}}

    {{> google-analytics}}

Fix title in browser compatibility page

<!DOCTYPE html>

        <meta charset="utf-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <title>Browser Compatibility Error</title>
        {{> meta}}
        <link rel="stylesheet" type="text/css" href="{{asset "css/caffeine-theme.css"}}" />
        {{> head-css}}
        {{ghost_head}}

                    Looks like your coffee's gone stale. It's time for a new cup!

                     {{@blog.title}} runs on the latest Chrome, Firefox, Safari, and IE10+. Your browser is outdated and it may be time to upgrade.

                                Click here to find out more!

    {{ghost_foot}}

    {{> google-analytics}}


(function (root, factory) {
  if (typeof define === 'function' && define.amd) {
    // AMD. Register as an anonymous module unless amdModuleId is set
    define({{#if amdModuleId}}'{{amdModuleId}}', {{/if}}[{{{amdDependencies.wrapped}}}], function ({{{amdDependencies.normal}}}) {
      return ({{#if objectToExport}}root['{{{objectToExport}}}'] = {{/if}}factory({{dependencies}}));
    });
  } else if (typeof exports === 'object') {
    // Node. Does not work with strict CommonJS, but
    // only CommonJS-like environments that support module.exports,
    // like Node.
    module.exports = factory({{{cjsDependencies.wrapped}}});
  } else {
    {{#if globalAlias}}root['{{{globalAlias}}}'] = {{else}}{{#if objectToExport}}root['{{{objectToExport}}}'] = {{/if}}{{/if}}factory({{{globalDependencies.normal}}});
  }
}(this, function ({{dependencies}}) {

{{{code}}}
{{#if objectToExport}}
return {{{objectToExport}}};
{{/if}}

}));

Fix amd section of the default template

(function (root, factory) {
  if (typeof define === 'function' && define.amd) {
    // AMD. Register as an anonymous module unless amdModuleId is set
    define({{#if amdModuleId}}'{{amdModuleId}}', {{/if}}[{{{amdDependencies.wrapped}}}], function ({{{amdDependencies.normal}}}) {
      return ({{#if objectToExport}}root['{{{objectToExport}}}'] = {{/if}}factory({{{amdDependencies.normal}}}));
    });
  } else if (typeof exports === 'object') {
    // Node. Does not work with strict CommonJS, but
    // only CommonJS-like environments that support module.exports,
    // like Node.
    module.exports = factory({{{cjsDependencies.wrapped}}});
  } else {
    {{#if globalAlias}}root['{{{globalAlias}}}'] = {{else}}{{#if objectToExport}}root['{{{objectToExport}}}'] = {{/if}}{{/if}}factory({{{globalDependencies.normal}}});
  }
}(this, function ({{dependencies}}) {

{{{code}}}
{{#if objectToExport}}
return {{{objectToExport}}};
{{/if}}

}));


{{#bs-form}}
  {{#each-in questions as |question parts|}}
    {{#bs-form-group}}
      {{parts.question}}
      {{#if (eq parts.type 'radio')}}
        {{#each-in parts.items as |item data|}}
          {{#if data.description}}

{{data.description}}

          {{/if}}
          {{radio-group options=parts.scale labelTop=data.labelTop labels=data.labels value=data.value}}
        {{/each-in}}
      {{else if (eq parts.type 'select')}}
        {{select-input options=parts.scale value=parts.items.item1.value}}
      {{else if (eq parts.type 'radio-input')}}
          {{radio-group options=parts.scale value=parts.items.radio.value}}
          {{#if (eq parts.items.radio.value 'Yes')}}

{{parts.items.input.description}}

            {{#input value=parts.input.value}}{{/input}}

          {{/if}}
      {{else if (eq parts.type 'textarea')}}
        {{#textarea value=parts.input.value cols="100" rows="6"}}{{/textarea}}
      {{/if}}
    {{/bs-form-group}}
  {{/each-in}}

Continue

{{/bs-form}}

Add progress-bar to last page

{{#bs-form}}
  {{#each-in questions as |question parts|}}
    {{#bs-form-group}}
      {{parts.question}}
      {{#if (eq parts.type 'radio')}}
        {{#each-in parts.items as |item data|}}
          {{#if data.description}}

{{data.description}}

          {{/if}}
          {{radio-group options=parts.scale labelTop=data.labelTop labels=data.labels value=data.value}}
        {{/each-in}}
      {{else if (eq parts.type 'select')}}
        {{select-input options=parts.scale value=parts.items.item1.value}}
      {{else if (eq parts.type 'radio-input')}}
          {{radio-group options=parts.scale value=parts.items.radio.value}}
          {{#if (eq parts.items.radio.value 'Yes')}}

{{parts.items.input.description}}

            {{#input value=parts.input.value}}{{/input}}

          {{/if}}
      {{else if (eq parts.type 'textarea')}}
        {{#textarea value=parts.input.value cols="100" rows="6"}}{{/textarea}}
      {{/if}}
    {{/bs-form-group}}
  {{/each-in}}

Continue

  {{progress-bar pageNumber=5}}
{{/bs-form}}


<a href="https://ci.appveyor.com/project/{{ repository }}">
    <img
        src="https://ci.appveyor.com/api/projects/status/{{ service }}/{{ repository }}?svg=true&branch={{ branch }}"
        alt="{{ text }}"
        title="{{ text }}" />
</a>

Add explicit size to appveyor badge


{{#if isEditing}}
  <form {{action "doneEditing" on="submit"}}>
    {{#if isTypeInput}}
      {{input value=value}}
    {{else}}
      {{textarea value=value}}
    {{/if}}
  </form>
{{else}}

    {{#if displayPlaceholder}}

        {{placeholder}}

    {{else}}
      {{text}}
    {{/if}}

    {{#if editIcon}}

    {{else}}
      edit
    {{/if}}

{{/if}}

Use button for edit action

{{#if isEditing}}
  <form {{action "doneEditing" on="submit"}}>
    {{#if isTypeInput}}
      {{input value=value}}
    {{else}}
      {{textarea value=value}}
    {{/if}}
  </form>
{{else}}

    {{#if displayPlaceholder}}

        {{placeholder}}

    {{else}}
      {{text}}
    {{/if}}

    {{#if editIcon}}

    {{else}}
      <button {{action "toggleEditing"}} >edit</button>
    {{/if}}

{{/if}}


{{model.name}}

    {{#md-tabs selected=selectedTab}}
      {{#link-to 'tournament.tablescore'}}
        {{md-tab value='tablescore' title='Tablescore'}}
      {{/link-to}}

      {{#link-to 'tournament.matches'}}
        {{md-tab value='matches' title='Matches'}}
      {{/link-to}}

      {{#link-to 'tournament.teams'}}
        {{md-tab value='teams' title='Teams'}}
      {{/link-to}}

      {{#if session.isAuthenticated}}
        {{#link-to 'tournament.settings'}}
          {{md-tab value='settings' title='Settings'}}
        {{/link-to}}
      {{/if}}

    {{/md-tabs}}

    {{outlet}}

Use custom md-tab component on the tournament page

{{model.name}}

    {{#md-tabs selected=selectedTab}}
        {{ggf-md.md-tab value='tablescore' title='Tablescore' link='tournament.tablescore'}}
        {{ggf-md.md-tab value='matches' title='Matches' link='tournament.matches'}}
        {{ggf-md.md-tab value='teams' title='Teams' link='tournament.teams'}}

        {{#if session.isAuthenticated}}
          {{ggf-md.md-tab value='settings' title='Settings' link='tournament.settings'}}
        {{/if}}
    {{/md-tabs}}

    {{outlet}}


Video Title Here

Video Title Here

Video Title Here

Video Title Here

Video Title Here

Video Title Here

Add in the handlebars logic.

    {{#if items.length}}

        {{#each items}}

{{ title }}

        {{/each}}

    {{/if}}

{{#if items.length}}
  {{#each items}}

  {{/each}}
{{/if}}


{{#partial "content"}}

All greetings

      Id
      Template
      Examples

    {{#greetings}}
      {{> greeting/_detail this.names}}
    {{/greetings}}

  Add a new greeting

{{/partial}}

{{> layouts/base title="All greetings"}}

Add Font Awesome-ness to the greetings index.


<div id="{{>component-id component}}" class="chart"> </div>
<script type="text/javascript">
(function() {
    var f = createFixture('#{{>component-id component}}', null, null, null, function() { return true; });
    var container = f.container, data = f.data
      xScale = f.xScale, yScale = f.yScale,
      height = f.dimensions.height, width = f.dimensions.width;

    {{{example-code}}}
}());
</script>

Fix width issues for components on smaller screens

<div id="{{>component-id component}}" class="chart" style="width: 100%"> </div>
<script type="text/javascript">
(function() {
    var desiredWidth = $('#{{>component-id component}}').width(),
        desiredHeight = desiredWidth / 2.4; //keeps the width-height ratio at 600-250 (defaults for createFixture)
    var f = createFixture('#{{>component-id component}}', desiredWidth, desiredHeight, null, function() { return true; });
    var container = f.container, data = f.data,
      xScale = f.xScale, yScale = f.yScale,
      height = f.dimensions.height, width = f.dimensions.width;

    {{{example-code}}}
}());
</script>


{{#unless @root.config.noHOC}}
    {{#each operations }}
        {{#unless @root.config.noNamespaces}}
        export namespace {{toPascalCase name}} {
        {{/unless}}
            export function {{#if @root.config.noNamespaces}}{{ toPascalCase name }}{{/if}}HOC<TProps = {}>(operationOptions: ReactApollo.OperationOption<TProps, {{toPascalCase operationType}}, Variables>){
                return ReactApollo.graphql<TProps, {{#if @root.config.noNamespaces}}{{ toPascalCase name }}{{/if}}{{toPascalCase operationType}}, {{#if @root.config.noNamespaces}}{{ toPascalCase name }}{{/if}}Variables>(
                    {{#unless @root.config.noGraphqlTag}}gql` {{ document }} `{{else}}{{{ gql document }}}{{/unless}},
                    operationOptions
                )
            };
        {{#unless @root.config.noNamespaces}}
        }
        {{/unless}}
    {{/each}}
{{/unless}}

Use extended types when noNamespaces is true

{{#unless @root.config.noHOC}}
    {{#each operations }}
        {{#unless @root.config.noNamespaces}}
        export namespace {{toPascalCase name}} {
        {{/unless}}
            export function {{#if @root.config.noNamespaces}}{{ toPascalCase name }}{{/if}}HOC<TProps = {}>(operationOptions: ReactApollo.OperationOption<TProps, {{#if @root.config.noNamespaces}}{{ toPascalCase name }}{{/if}}{{toPascalCase operationType}}, {{#if @root.config.noNamespaces}}{{ toPascalCase name }}{{/if}}Variables>){
                return ReactApollo.graphql<TProps, {{#if @root.config.noNamespaces}}{{ toPascalCase name }}{{/if}}{{toPascalCase operationType}}, {{#if @root.config.noNamespaces}}{{ toPascalCase name }}{{/if}}Variables>(
                    {{#unless @root.config.noGraphqlTag}}gql` {{ document }} `{{else}}{{{ gql document }}}{{/unless}},
                    operationOptions
                )
            };
        {{#unless @root.config.noNamespaces}}
        }
        {{/unless}}
    {{/each}}
{{/unless}}


<select {{action 'change' on='change'}} class="form-control {{mainComponent.elementClass}}" id={{mainComponent.id}}>
{{#if mainComponent.prompt}}
  <option value="null" selected={{eq null selectedValue}}>
    {{mainComponent.prompt}}
  </option>
{{/if}}
{{#each (get mainComponent "content") key="@index" as |item|}}
  <option value="{{get item mainComponent.optionValuePath}}" selected={{eq (get item mainComponent.optionValuePath) selectedValue}}>
    {{get item mainComponent.optionLabelPath}}
  </option>
  {{/each}}
</select>

Enable HTML5 required validation on em-selects

<select {{action 'change' on='change'}} class="form-control {{mainComponent.elementClass}}" id={{mainComponent.id}} required=mainComponent.required>
{{#if mainComponent.prompt}}
  <option value="" selected={{eq "" selectedValue}}>
    {{mainComponent.prompt}}
  </option>
{{/if}}
{{#each (get mainComponent "content") key="@index" as |item|}}
  <option value="{{get item mainComponent.optionValuePath}}" selected={{eq (get item mainComponent.optionValuePath) selectedValue}}>
    {{get item mainComponent.optionLabelPath}}
  </option>
  {{/each}}
</select>


    {{i18n admin.email.sent_at}}
    {{i18n admin.email.user}}
    {{i18n admin.email.to_address}}
    {{i18n admin.email.email_type}}
    {{i18n admin.email.reply_key}}

  {{#if model.length}}
    {{#group}}
      {{#collection contentBinding="model" tagName="tbody" itemTagName="tr"}}
          {{date created_at}}

            {{#if user}}
              {{#linkTo 'adminUser' user}}{{avatar user imageSize="tiny"}}{{/linkTo}}
              {{#linkTo 'adminUser' user}}{{user.username}}{{/linkTo}}
            {{else}}
              —
            {{/if}}

          {{to_address}}
          {{email_type}}
          {{reply_key}}
      {{/collection}}
    {{/group}}
  {{/if}}

Fix rendering of email logs rows. Needed thead around the first row.


<meta name="twitter:card" content="product">
<meta name="twitter:title" content="{{title}}">
<meta name="twitter:description" content="{{> about}}">
<meta name="twitter:image:src" content="http://enviroecon.org/img/logo-square.png">
<meta name="twitter:data1" content="{{eventDay event.start}}">
<meta name="twitter:label1" content="DATE">
<meta name="twitter:data2" content="{{#with event.venue.address}}{{city}}, {{region}}{{/with}}">
<meta name="twitter:label2" content="LOCATION">
<meta name="twitter:domain" content="enviroecon.org">

Update title in Twitter Card

<meta name="twitter:card" content="product">
<meta name="twitter:title" content="{{title}} Conference">
<meta name="twitter:description" content="{{> about}}">
<meta name="twitter:image:src" content="http://enviroecon.org/img/logo-square.png">
<meta name="twitter:data1" content="{{eventDay event.start}}">
<meta name="twitter:label1" content="DATE">
<meta name="twitter:data2" content="{{#with event.venue.address}}{{city}}, {{region}}{{/with}}">
<meta name="twitter:label2" content="LOCATION">
<meta name="twitter:domain" content="enviroecon.org">


        {{#foreach navigation}}
            {{#if current}}>> {{/if}}{{label}}

        {{/foreach}}
    Subscribe

Put current page carat inside of href in nav


Menu

        {{#foreach navigation}}

{{label}}

        {{/foreach}}

    Subscribe

Fix identation & Delete class


{{! Part of taskBase }}

        {{! Left side }}

            {{#with data.task.taskRequest}}

                    Request

                        {{ request.id }}

            {{/with}}

                {{ data.task.taskId.id }}

                <button data-clipboard-text="{{ data.task.taskId.id }}" class='btn btn-link copy-link'>
                    Copy
                </button>

        {{! Right side, buttons }}

                JSON

                Kill task

{{#if data.taskUpdates}}
    {{#withLast data.taskUpdates}}

            {{humanizeText taskState}} as of
            {{timestampFromNow timestamp}} ({{timestampFormatted timestamp}})
            {{#if statusMessage}}
                — {{ statusMessage }}
            {{/if}}

    {{/withLast}}
{{/if}}

Kill button is only there for running tasks

{{! Part of taskBase }}

        {{! Left side }}

            {{#with data.task.taskRequest}}

                    Request

                        {{ request.id }}

            {{/with}}

                {{ data.task.taskId.id }}

        {{! Right side, buttons }}

                JSON

            {{#if data.taskUpdates}}
                {{#withLast data.taskUpdates}}
                    {{#ifEqual taskState 'TASK_RUNNING'}}

                            Kill task

                    {{/ifEqual}}
                {{/withLast}}
            {{/if}}

{{#if data.taskUpdates}}
    {{#withLast data.taskUpdates}}

            {{humanizeText taskState}} as of
            {{timestampFromNow timestamp}} ({{timestampFormatted timestamp}})
            {{#if statusMessage}}
                — {{ statusMessage }}
            {{/if}}

    {{/withLast}}
{{/if}}


  {{#ui-popup content=(t 'Edit') class='ui icon button'}}

  {{/ui-popup}}
  {{#ui-popup tagName='a' click=(action moveToUserDetails record.id) content=(t 'View') class='ui icon button'}}

  {{/ui-popup}}
  {{#ui-popup content=(t 'Delete') click=(action (confirm (t 'Are you sure you would like to delete this user?') (action deleteUser record))) class='ui icon button'}}

  {{/ui-popup}}

Update column Actions for admin/users

  {{#ui-popup tagName='a' click=(action moveToUserDetails record.id) content=(t 'View') class='ui icon button'}}

  {{/ui-popup}}
  {{#unless record.isSuperAdmin}}
    {{#ui-popup content=(t 'Edit') class='ui icon button'}}

    {{/ui-popup}}
    {{#ui-popup content=(t 'Delete') click=(action (confirm (t 'Are you sure you would like to delete this user?') (action deleteUser record))) class='ui icon button'}}

    {{/ui-popup}}
  {{/unless}}


Are you sure you want to bounce this request?

{{ id }}

	Bouncing a request will cause replacement tasks to be scheduled
	(and under normal conditions) executed immediately.

    <input type="radio" name="incremental" value="false" checked> Kill old tasks once ALL new tasks are healthy

    <input type="radio" name="incremental" id="incremental-bounce" value="true"> Kill old tasks as new tasks become healthy

	<input type="checkbox" name="skip-healthchecks" id="skip-healthchecks">

		<input name="duration" id="bounce-expiration" type="text" placeholder="Expiration (optional - default {{ config.defaultBounceExpirationMinutes }}m)" />

If an expiration duration is specified, this bounce will be aborted if not finished. Accepts any english time duration. (Days, Hr, Min...)

Fix change to unrelated file that broke checkbox in bounce dialogue

Are you sure you want to bounce this request?

{{ id }}

	Bouncing a request will cause replacement tasks to be scheduled
	(and under normal conditions) executed immediately.

    <input type="radio" name="incremental" value="false" checked> Kill old tasks once ALL new tasks are healthy

    <input type="radio" name="incremental" id="incremental-bounce" value="true"> Kill old tasks as new tasks become healthy

	<input type="checkbox" name="skip-healthchecks" id="skip-healthchecks"> Skip healthchecks during bounce

		<input name="duration" id="bounce-expiration" type="text" placeholder="Expiration (optional - default {{ config.defaultBounceExpirationMinutes }}m)" />

If an expiration duration is specified, this bounce will be aborted if not finished. Accepts any english time duration. (Days, Hr, Min...)


{{security-header}}

    {{#each drivers as |driver|}}
      {{#if driver.available}}
        {{#if (eq driver.label "Active Directory")}}
          {{#if (eq app.environment "development")}}
            {{#link-to driver.route alt=driver.label classNames=(concat "col span-2 nav-box-item driver auth-driver " driver.css) href=false}}

{{driver.label}}

            {{/link-to}}
          {{else}}

          {{/if}}
        {{else}}
          {{#link-to driver.route alt=driver.label classNames=(concat "col span-2 nav-box-item driver auth-driver " driver.css) href=false}}

{{driver.label}}

          {{/link-to}}
        {{/if}}
      {{/if}}
    {{/each}}

{{outlet}}

Add ad auth back to ui

{{security-header}}

    {{#each drivers as |driver|}}
      {{#if driver.available}}
        {{#link-to driver.route alt=driver.label classNames=(concat "col span-2 nav-box-item driver auth-driver " driver.css) href=false}}

{{driver.label}}

        {{/link-to}}
      {{/if}}
    {{/each}}

{{outlet}}


"@type": "Dataset",
{{> partials/json-ld/author }}
"headline": "{{description.title}}",
"datePublished": "{{description.releaseDate}}",
"dateModified": "{{description.releaseDate}}",
"discussionURL": "{{location.hostname}}{{relatedDocuments.0.uri}}",
"keywords": ["{{description.cdid}}", "{{description.datasetId}}"],
{{> partials/json-ld/publisher }}
"image": "{{location.hostname}}{{uri}}/linechartimage",
"distribution":[
    {
        "@type":"DataDownload",
        "encodingFormat":"XLS",
        "contentUrl": "https://{{location.hostname}}/generator?format=xls&uri={{uri}}"
    },
    {
        "@type":"DataDownload",
        "encodingFormat":"CSV",
        "contentUrl": "https://{{location.hostname}}/generator?format=csv&uri={{uri}}"
    }
],

Add https to missed fields

"@type": "Dataset",
{{> partials/json-ld/author }}
"headline": "{{description.title}}",
"datePublished": "{{description.releaseDate}}",
"dateModified": "{{description.releaseDate}}",
"discussionURL": "https://{{location.hostname}}{{relatedDocuments.0.uri}}",
"keywords": ["{{description.cdid}}", "{{description.datasetId}}"],
{{> partials/json-ld/publisher }}
"image": "https://{{location.hostname}}{{uri}}/linechartimage",
"distribution":[
    {
        "@type":"DataDownload",
        "encodingFormat":"XLS",
        "contentUrl": "https://{{location.hostname}}/generator?format=xls&uri={{uri}}"
    },
    {
        "@type":"DataDownload",
        "encodingFormat":"CSV",
        "contentUrl": "https://{{location.hostname}}/generator?format=csv&uri={{uri}}"
    }
],


  {{outlet groups}}    {{!-- list of groups --}}

  {{outlet items}}     {{!-- list of items from a group --}}

    {{outlet group}}     {{!-- itemized description of a group --}}
    {{outlet groupEdit}} {{!-- group edit view --}}

    {{outlet item}}      {{!-- itemized description of an item --}}
    {{outlet itemEdit}}  {{!-- item edit view --}}

Remove extra container div around a group and its items


    {{avatar currentUser "thumb_small"}}

{{#link-to 'user' currentUser}} View Profile{{/link-to}}

 Account Settings

 Sign Out

Add kotodama link for admins.

    {{avatar currentUser "thumb_small"}}

{{#link-to 'user' currentUser}} View Profile{{/link-to}}

 Account Settings

    {{#if currentUser.isAdmin}}

 Kotodama

    {{/if}}

 Sign Out


import { IsNotEmpty } from 'class-validator';
import { RequestBody } from '../../{{deepness}}core/api/RequestBody';

export class {{name.capitalize}}Request extends RequestBody {
    {{#if hasProperties}}
    {{#each properties}}

    @IsNotEmpty()
    {{name.camelCase}}: {{type.script}};
    {{/each}}
    {{else}}

    // TODO Define your props here and add your needed validator annotations
    @IsNotEmpty()
    propName: string;
    {{/if}}

}

Add public key word to example prop

import { IsNotEmpty } from 'class-validator';
import { RequestBody } from '../../{{deepness}}core/api/RequestBody';

export class {{name.capitalize}}Request extends RequestBody {
    {{#if hasProperties}}
    {{#each properties}}

    @IsNotEmpty()
    {{name.camelCase}}: {{type.script}};
    {{/each}}
    {{else}}

    // TODO Define your props here and add your needed validator annotations
    @IsNotEmpty()
    public propName: string;
    {{/if}}

}


The scheduler tool lets you set up time slots that students (or student groups) can sign up for. To get started, click the button below.

  <button class="create_link btn">{{#t "create_a_new_set_of_appointments"}}Create an appointment group{{/t}}</button>

Add i18n to scheduler info text

{{#t}}The scheduler tool lets you set up time slots that students (or student groups) can sign up for. To get started, click the button below.{{/t}}

  <button class="create_link btn">{{#t "create_a_new_set_of_appointments"}}Create an appointment group{{/t}}</button>


  {{#link-to 'anime' anime.id}}{{anime.canonicalTitle}}{{/link-to}}
   Reviews

  Create a new review

  {{#each itemController="review"}}
    {{partial "media/review_summary"}}
  {{else}}
    {{#unless canLoadMore}}

 Well, this is pretty awkward.

          You came to us for reviews and it seems nobody has written one yet. We're going to take a cold shower to wash away the shame. In the meantime, maybe you could write the first review? The fame and fortune are yours for the taking.

          Write the first review

    {{/unless}}
  {{/each}}
  {{#if canLoadMore}}
    {{load-more action="loadNextPage"}}
  {{/if}}

Remove extra space before header text.


<label> 1. Upload your preprint </label>
{{dropzone-widget
    url=url
    options=dropzoneOptions
    sending=(action 'sending')
    buildUrl=(action 'getUrl')
    complete=(action 'complete')
    preUpload=(action 'preUpload')
    defaultMessage='Drop preprint file here to upload'
    maxfilesexceeded=(action 'maxfilesexceeded')
}}

{{#liquid-if hasFile use='crossFade'}}
    {{#liquid-bind hasFile use='crossFade'}}
        <label> 2. Enter preprint title </label>
        {{validated-input model=this valuePath='nodeTitle' placeholder="Title" value=nodeTitle}}
    {{/liquid-bind}}
{{/liquid-if}}

<div class="p-t-xs pull-right">
    <button class="btn btn-primary" disabled={{not (and hasFile titleValid)}} {{action 'createProjectAndUploadFile'}}>Next</button>
</div>

Remove numbering from upload steps.

<label> Upload your preprint </label>
{{dropzone-widget
    url=url
    options=dropzoneOptions
    sending=(action 'sending')
    buildUrl=(action 'getUrl')
    complete=(action 'complete')
    preUpload=(action 'preUpload')
    defaultMessage='Drop preprint file here to upload'
    maxfilesexceeded=(action 'maxfilesexceeded')
}}

{{#liquid-if hasFile use='crossFade'}}
    {{#liquid-bind hasFile use='crossFade'}}
        <label> Enter preprint title </label>
        {{validated-input model=this valuePath='nodeTitle' placeholder="Title" value=nodeTitle}}
    {{/liquid-bind}}
{{/liquid-if}}

<div class="p-t-xs pull-right">
    <button class="btn btn-primary" disabled={{not (and hasFile titleValid)}} {{action 'createProjectAndUploadFile'}}>Next</button>
</div>