# managed by chef, changes will be overwritten
CHECK PROCESS sshd WITH PIDFILE /var/run/sshd.pid
  START PROGRAM "/usr/sbin/service ssh start"
  STOP PROGRAM "/usr/sbin/service ssh stop"
  # under load a check may fail intermittently, so give it a few tries before restarting
  IF FAILED PORT 22 PROTOCOL ssh 4 TIMES WITHIN 6 CYCLES THEN RESTART

# managed by chef, changes will be overwritten
CHECK PROCESS sshd WITH PIDFILE /var/run/sshd.pid
  START PROGRAM "/usr/sbin/service ssh start"
  STOP PROGRAM "/usr/sbin/service ssh stop"
  # under load a check may fail intermittently, so give it a few tries before restarting
  IF FAILED PORT 22022 PROTOCOL ssh 4 TIMES WITHIN 6 CYCLES THEN RESTART

Change ssh port to 22022.

Change ssh port to 22022.


 <%= @Blog.title %>

 <%= simple_format(@Blog.body) %>

  <%= link_to "Back", blogs_path %>

Add Back button to blog show

Add Back button to blog show


<% unless ua.blank? %>
    <script type="text/javascript">
      var _gaq = _gaq || [];
      _gaq.push(['_setAccount', '<%= ua %>']);
      _gaq.push(['_setDomainName', 'cartodb.com']);
      _gaq.push(['_setAllowLinker', true]);
      _gaq.push(['_setCustomVar', 1, 'Member Type', '<%= stringified_member_type %>', 1]);

      _gaq.push(['_trackPageview']);

      (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })();
    </script>
<% end %>

<% unless ua.blank? %>
    <script type="text/javascript">
      var _gaq = _gaq || [];
      _gaq.push(['_setAccount', '<%= ua %>']);
      _gaq.push(['_setDomainName', '<%= Rails.env.staging? ? "cartodb-staging.com" : "cartodb.com" %>']);
      _gaq.push(['_setAllowLinker', true]);
      _gaq.push(['_setCustomVar', 1, 'Member Type', '<%= stringified_member_type %>', 1]);

      _gaq.push(['_trackPageview']);

      (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })();
    </script>
<% end %>

Change domain name on staging google analytics


# automatically generated by chef cookbook opsmatic-cookbook
# additional info -> https://opsmatic.com/app/docs/agent-configuration

<% if node["opsmatic"]["host_alias"] && !node["opsmatic"]["host_alias"].empty? %>
# Host Alias
host_alias = "<%= node["opsmatic"]["host_alias"] %>"
<% end %>
<% if node["opsmatic"]["groups"] && !node["opsmatic"]["groups"].empty? %>
# Group(s) that include this host_alias, comma separated
groups = "<%= node["opsmatic"]["groups"].join(',') %>"
<% end %>

# automatically generated by chef cookbook opsmatic-cookbook
# additional info -> https://opsmatic.com/app/docs/agent-configuration

<% if node["opsmatic"]["host_alias"] %>
# Host Alias
host_alias = "<%= node["opsmatic"]["host_alias"] %>"
<% end %>
<% if node["opsmatic"]["groups"] && !node["opsmatic"]["groups"].empty? %>
# Group of which this host is a memeber (comma separated)
groups = "<%= node["opsmatic"]["groups"].join(',') %>"
<% end %>

Remove pointless boolean check for empty values...should just keep going


Add new bookmark

Please enter the following fields to create a new bookmark

  <%= form_tag :action => "create" do %>
    <%= hidden_field_tag("topic_id", @topic.id) %>

      <%= label_tag 'Title' %>

      <%= text_field_tag :title %>

      <%= label_tag 'Url' %>

      <%= text_field_tag :url %>

      <%= label_tag 'Description' %>

      <%= text_area_tag :description %>

       <%= submit_tag "Add new bookmark" %> |
        <%= link_to 'Back', '#', :onclick => 'pageBack()' %>

  <% end %>

Add new bookmark

Please enter the following fields to create a new bookmark

  <%= form_tag :action => "create" do %>
    <%= hidden_field_tag("topic_id", @topic.id) %>

      <%= label_tag 'Title' %>

      <%= text_field_tag :title, params[:title], :required => true %>

      <%= label_tag 'Url' %>

      <%= text_field_tag :url, params[:url], :required => true %>

      <%= label_tag 'Description' %>

      <%= text_area_tag :description, params[:description], :required => true %>

       <%= submit_tag "Add new bookmark" %> |
        <%= link_to 'Back', '#', :onclick => 'pageBack()' %>

  <% end %>

Check that all text fields in new bookmark form present


<title>Aqueous | Groove Rock <%= "| #{@title}" if @title %></title>
<%= csrf_meta_tags %>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
<meta name="keywords" content="Aqueous, Band, Aqueous Band, Buffalo, New York, Rock, Jamband, Progessive" />
<meta name="description" content="Groovy rock band that uses gratifying harmonies and multiple soundscapes to build an intense bond with the crowd through an improvisational foundation." />

<meta property="og:site_name" content="Aqueous">
<%= tag :meta, property: "og:url",   content: request.url %>
<%= tag :meta, property: "og:title", content: @title || "Aqueous - Groove Rock" %>
<%= tag :meta, property: "og:image", content: @og_image || "https://s3.amazonaws.com/files.aqueousband.net/images/bestinshow_albumart.jpg" %>
<%= tag :meta, property: "og:description", content: @og_description if @og_description %>
<%= tag :meta, property: "og:updated_time", content: @og_updated_time.to_i if @og_updated_time %>

<link href='https://fonts.googleapis.com/css?family=Oxygen:400,700' rel='stylesheet' type='text/css'>

<title>Aqueous | Groove Rock <%= "| #{@title}" if @title %></title>
<%= csrf_meta_tags %>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
<meta name="keywords" content="Aqueous, Band, Aqueous Band, Buffalo, New York, Rock, Jamband, Progessive" />
<meta name="description" content="Groovy rock band that uses gratifying harmonies and multiple soundscapes to build an intense bond with the crowd through an improvisational foundation." />

<meta property="og:site_name" content="Aqueous">
<%= tag :meta, property: "og:url",   content: request.url %>
<%= tag :meta, property: "og:title", content: @title || "Aqueous - Groove Rock" %>
<%= tag :meta, property: "og:image", content: @og_image || asset_url('photos/fall2016.jpg') %>
<%= tag :meta, property: "og:description", content: @og_description if @og_description %>
<%= tag :meta, property: "og:updated_time", content: @og_updated_time.to_i if @og_updated_time %>

<link href='https://fonts.googleapis.com/css?family=Oxygen:400,700' rel='stylesheet' type='text/css'>

Change the og:image to the band photo

Change the og:image to the band photo


<%= myp_text_field(f, :amount, "myplaceonline.weights.amount", obj.amount, autofocus) %>
<%= myp_select(f, :amount_type, "myplaceonline.weights.amount_type", Myp.translate_options(Myp::WEIGHTS), obj.amount_type) %>
<%= myp_date_field(f, :measure_date, "myplaceonline.weights.measure_date", obj.measure_date) %>
<%= myp_text_field(f, :source, "myplaceonline.weights.source", obj.source) %>

<%= myp_text_field(f, :amount, "myplaceonline.weights.amount", obj.amount, autofocus) %>
<%= myp_select(f, :amount_type, "myplaceonline.weights.amount_type", Myp.translate_options(Myp::WEIGHTS), obj.amount_type) %>
<%= myp_date_field(f, :measure_date, "myplaceonline.weights.measure_date", obj.measure_date) %>
<%= myp_text_field(f, :source, "myplaceonline.weights.source", obj.source, remote_autocomplete_model: obj.class, remote_autocomplete_all: true) %>

Add auto-complete for weight measurement source


#!/bin/sh

#
# chkconfig: 35 99 99
# description: For the puma app in <%= @working_dir %>

# load some init.d helper functions
. /etc/rc.d/init.d/functions

APPNAME="<%= @name %>"
USERNAME="<%= @owner %>"
APP_DIR="<%= @directory %>"

PUMA_DIR="$APP_DIR/shared/puma"
PIDFILE="$APP_DIR/shared/pids/$APPNAME.pid"
STARTUP="$PUMA_DIR/puma_start.sh"
cleanup() {
  rm -f $PUMA_DIR/$APPNAME*.{pid,state,sock}
}

start() {
  echo -n "Starting $APPNAME.."
  daemon --user $USERNAME --pidfile $PIDFILE $STARTUP && success || failure
}

stop() {
  echo -n "Shutting down $APPNAME.."
  killproc -p $PIDFILE puma && cleanup && success || failure
}

restart() {
  if [ -e $PIDFILE ]; then
    echo -n "Hot Restarting $APPNAME"
    killproc -p $PIDFILE puma -USR1 && success || failure
  else
    echo "$APPNAME isn't running.."
    start
  fi
}

case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  restart)
    restart
    ;;
  hard-restart)
    stop
    start
    ;;
  *)
    echo "Usage: $0 {start|stop|restart|hard-restart}"
    exit 2
esac

exit $?

# vim: set filetype=sh :

#!/bin/sh

#
# chkconfig: 35 99 99
# description: For the puma app in <%= @working_dir %>

# load some init.d helper functions
. /etc/rc.d/init.d/functions

APPNAME="<%= @name %>"
APP_DIR="<%= @directory %>"

PUMA_DIR="$APP_DIR/shared/puma"
PIDFILE="$APP_DIR/shared/pids/$APPNAME.pid"
STARTUP="$PUMA_DIR/puma_start.sh"
cleanup() {
  rm -f $PUMA_DIR/$APPNAME*.{pid,state,sock}
}

start() {
  echo -n "Starting $APPNAME.."
  daemon --pidfile $PIDFILE $STARTUP && success || failure
}

stop() {
  echo -n "Shutting down $APPNAME.."
  killproc -p $PIDFILE puma && cleanup && success || failure
}

restart() {
  if [ -e $PIDFILE ]; then
    echo -n "Hot Restarting $APPNAME"
    killproc -p $PIDFILE puma -USR1 && success || failure
  else
    echo "$APPNAME isn't running.."
    start
  fi
}

case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  restart)
    restart
    ;;
  hard-restart)
    stop
    start
    ;;
  *)
    echo "Usage: $0 {start|stop|restart|hard-restart}"
    exit 2
esac

exit $?

# vim: set filetype=sh :

Stop specifying the user since this can't run as deploy


backend default {
  .host = "<%= @ipaddress_vmhost -%>";
  .port = "8080";
}

# Please add the minimal amount of code required to implement/mimic the
# functionality you need to test. This shouldn't match our real config
# line-by-line, otherwise we'll have trouble maintaining parity.

acl purge {
  "192.168.0.1";
}

sub vcl_recv {
  if (req.request == "PURGE") {
    if (client.ip ~ purge) {
      return (lookup);
    }
    error 403 "Forbidden";
  }

  if (!req.http.Fastly-SSL) {
     error 801 "Force SSL";
  }

  set req.http.True-Client-IP = req.http.Fastly-Client-IP;
}

sub vcl_error {
  if (obj.status == 801) {
     set obj.status = 301;
     set obj.response = "Moved Permanently";
     set obj.http.Location = "https://" + req.http.host + req.url;
     synthetic {""};
     return (deliver);
  }
}

backend default {
  .host = "<%= @ipaddress_vmhost -%>";
  .port = "8080";
}

# Please add the minimal amount of code required to implement/mimic the
# functionality you need to test. This shouldn't match our real config
# line-by-line, otherwise we'll have trouble maintaining parity.

acl purge {
  "192.168.0.1";
}

sub vcl_recv {
  if (req.request == "PURGE") {
    if (client.ip ~ purge) {
      return (lookup);
    }
    error 403 "Forbidden";
  }

  if (!req.http.Fastly-SSL) {
     error 801 "Force SSL";
  }

  set req.http.True-Client-IP = req.http.Fastly-Client-IP;
}

sub vcl_deliver {

  if(!resp.http.X-Cache-Hits) {
    set resp.http.X-Cache-Hits = obj.hits;
  } else {
    set resp.http.X-Cache-Hits = resp.http.X-Cache-Hits + ", " + obj.hits;
  }

}

sub vcl_error {
  if (obj.status == 801) {
     set obj.status = 301;
     set obj.response = "Moved Permanently";
     set obj.http.Location = "https://" + req.http.host + req.url;
     synthetic {""};
     return (deliver);
  }
}

Add mock VCL to emulate X-Cache-Hits behaviour


<%- if @articles.empty? %>

    <%= t(".no_articles") %>

<%- end %>

<% for article in @articles %>

    <%- if article.published %>
      <%= link_to_permalink(article, article.title, nil, 'published')%>
    <%- else %>
      <%= link_to(article.title, {controller: '/articles', action: "preview", id: article.id}, {class: 'unpublished', target: '_new'}) %>
    <%- end %>
    <%= show_actions article %>

    <%= author_link(article)%>

    <%= l(article.published_at) %>

    <%= (article.allow_comments?) ? link_to("#{article.comments.ham.size.to_s} ".html_safe, :controller => '/admin/feedback', :id => article.id, :action => 'article') : '-' %>

<% end %>
<%= display_pagination(@articles, 5, 'first', 'last')%>

<%- if @articles.empty? %>

    <%= t(".no_articles") %>

<%- end %>

<% for article in @articles %>

    <%- if article.published %>
      <%= link_to_permalink(article, article.title, nil, 'published')%>
    <%- else %>
      Draft:
      <%= link_to(article.title, {controller: '/articles', action: "preview", id: article.id}, {class: 'unpublished', target: '_new'}) %>
    <%- end %>
    <%= show_actions article %>

    <%= author_link(article)%>

    <%= l(article.published_at) %>

    <%= (article.allow_comments?) ? link_to("#{article.comments.ham.size.to_s} ".html_safe, :controller => '/admin/feedback', :id => article.id, :action => 'article') : '-' %>

<% end %>
<%= display_pagination(@articles, 5, 'first', 'last')%>

Make draft articles a bit easier to recognise in the article list.


datacenter=<%= @datacenter %>
pod=<%= @pod %>
topology=<%= @topology %>
kafka.host=<%= @streaming_data_mover %>
geo.host=<%= @netacuity %>
cd.url=<%= @config_distrib %>
sapi.host=<%= @sapi %>
debug=<%= @debug %>
cam.url=<%= @cam %>/cam/dcsid
dcsid.whitelist=<%= @dcsid_whitelist %>
hbase.pool.size=10
hbase.zookeeper.quorum=<%= @zk_quorum  %>

# Kafka broker connection info (use this or audit.zk.connect)
audit.broker.list=0:<%= @streaming_data_mover %>:9092
# The kafka producer type (defaults to async)
audit.producer.type=async
# The time span (in minutes) between each audit flush (defaults to 10)
audit.bucket.timespan=<%= @audit_bucket_timespan %>
# The topic used for auditing (defaults to stream-audit)
audit.topic=<%= <%= @audit_topic %>

datacenter=<%= @datacenter %>
pod=<%= @pod %>
topology=<%= @topology %>
kafka.host=<%= @streaming_data_mover %>
geo.host=<%= @netacuity %>
cd.url=<%= @config_distrib %>
sapi.host=<%= @sapi %>
debug=<%= @debug %>
cam.url=<%= @cam %>/cam/dcsid
dcsid.whitelist=<%= @dcsid_whitelist %>
hbase.pool.size=10
hbase.zookeeper.quorum=<%= @zk_quorum  %>

# Kafka broker connection info (use this or audit.zk.connect)
audit.broker.list=0:<%= @streaming_data_mover %>:9092
# The kafka producer type (defaults to async)
audit.producer.type=async
# The time span (in minutes) between each audit flush (defaults to 10)
audit.bucket.timespan=<%= @audit_bucket_timespan %>
# The topic used for auditing (defaults to stream-audit)
audit.topic=<%= @audit_topic %>

Fix a bad template that preventing wt_storm from deploying

Former-commit-id: 0a26f316c175249ae08a175b5a38e5fb6a60aab7 [formerly 64dbb8f99f66026888fead6d3b07789b471da3fe] [formerly 03b1366b81b1318d14a5f6901a12fa0fab777726 [formerly 9182a903473ffe8f6a6827273c9968d447aa2f30]]
Former-commit-id: 402bd9e0a4d251bf27fdf8351d8ae6087cc45eab [formerly 8df73c615452022f2c9cc28c05612f81830037cc]
Former-commit-id: 4ff6f4ec8d196fc848aac384a9ccbfda0a218ccb


<% if Date.today == Date.new(2016,9,28) %>
  It's International Right To Know Day.
  Do your friends know they have a right to information?
  Let them know.
  Share on Facebook
  or Twitter
<% end %>

<%#- anything you put here will appear in a green bar on the top of every screen in Alaveteli -%>

Revert "Add a banner for Right To Know Day 2016"

This reverts commit 869eeef3cd898e7e074edd5618dfeafbb4fd3ed7.


  <%= t("coronavirus_landing_page.topic_section.header") %>

  <%= t("coronavirus_landing_page.topic_section.text") %>

<% t("coronavirus_landing_page.topic_section.links").each do | link | %>

    <%= link_to link[:label].html_safe, link[:url] %>

<% end %>

<%= render "govuk_publishing_components/components/heading", {
  text: t("coronavirus_landing_page.topic_section.header"),
  padding: true,
  border_top: 2
} %>

  <%= t("coronavirus_landing_page.topic_section.text") %>

  <% t("coronavirus_landing_page.topic_section.links").each do | link | %>

      <%= link_to link[:label].html_safe, link[:url] %>

  <% end %>

Tidy topic section of coronavirus landing page


---
layout: header_footer_only
title: Page not found
---

      <%= partial 'partials/header' %>

      If you entered a web address please check it was correct.

Add error page for S3 bucket

Add error page for S3 bucket


<%= t 'bootsy.image.new' %>

<%= form_for [bootsy, resource_or_nil(image.image_gallery), image], remote: true, html: {:class => 'bootsy form-inline'} do |f| %>
  <% if image.errors.any? %>
    <% image.errors.full_messages.each do |msg| %>

<%= msg %>

    <% end %>
  <% end %>

  <%= f.file_field :image_file %>

  <%= f.submit t('bootsy.action.load'), :class => 'btn btn-primary' %>
<% end %>

<%= t 'bootsy.image.new' %>

<%= form_for [bootsy, resource_or_nil(image.image_gallery), image], remote: true, html: {:class => 'bootsy form-inline'} do |f| %>
  <%= hidden_field_tag :authenticity_token, form_authenticity_token %>
  <% if image.errors.any? %>
    <% image.errors.full_messages.each do |msg| %>

<%= msg %>

    <% end %>
  <% end %>

  <%= f.file_field :image_file %>

  <%= f.submit t('bootsy.action.load'), :class => 'btn btn-primary' %>
<% end %>

Add the form authenticity token

Add the form authenticity token


<tr id="collaborator-<%= user.id %>">
  <%= user.username %>

    <%= link_to 'Remove', remove_collaborator_path(bot: bot.id, collaborator: user.id), :method => :delete, :remote => true, :data => { :confirm => "Are you sure you want to do this?" } %>

<tr id="collaborator-<%= user.id %>">
  <%= user.username %>

    <%= link_to 'Remove', remove_collaborator_path(bot: bot.id, collaborator: user.id), :method => :delete, :remote => true %>

Remove confirmation when removing collaborators


<%- if @intervention.present? %>
  var data = {
    name: "<%= @intervention.name %>",
    comment: "<%= @intervention.comment %>",
    start_date: "<%= @intervention.start_date.strftime('%B %e, %Y') %>",
    end_date: "<%= @intervention.end_date.strftime('%B %e, %Y') if @intervention.end_date.present? %>",
    educator_email: "<%= @intervention.educator.email if @intervention.educator.present? %>",
    id: "<%= @intervention.id %>"
  }
  var cell_template = $('#intervention-cell-template').html();
  var detail_template = $('#intervention-detail-template').html();
  var cell = Mustache.render(cell_template, data);
  var detail = Mustache.render(detail_template, data);
  $('#intervention-cell-list').prepend(cell);
  $('#intervention-detail-list').prepend(detail);
  $('#open-intervention-form').removeClass('solo');
  $('#new_intervention').hide();s
<%- else %>
  $('#interventions-tab form').prepend("Something went wrong!");
<%- end %>

<%- if @intervention.present? %>
  var data = {
    name: "<%= @intervention.name %>",
    comment: "<%= @intervention.comment %>",
    goal: "<%= @intervention.goal %>",
    start_date: "<%= @intervention.start_date.strftime('%B %e, %Y') %>",
    end_date: "<%= @intervention.end_date.strftime('%B %e, %Y') if @intervention.end_date.present? %>",
    educator_email: "<%= @intervention.educator.email if @intervention.educator.present? %>",
    id: "<%= @intervention.id %>"
  }
  var cell_template = $('#intervention-cell-template').html();
  var detail_template = $('#intervention-detail-template').html();
  var cell = Mustache.render(cell_template, data);
  var detail = Mustache.render(detail_template, data);
  $('#intervention-cell-list').prepend(cell);
  $('#intervention-detail-list').prepend(detail);
  $('#open-intervention-form').removeClass('solo');
  $('#new_intervention').hide();s
<%- else %>
  $('#interventions-tab form').prepend("Something went wrong!");
<%- end %>

Add intervention goal to AJAX response

Add intervention goal to AJAX response

+ Fixes https://github.com/codeforamerica/somerville-teacher-tool/issues/312#issuecomment-150339290
+ #312


<%= raw User.find(params[:id]).to_json %>

<%= raw inside_something(User.find(params[:id]).to_json) %>

<%= raw call_something(params).to_json %>

<%= raw params[:stuff].to_json %>

Add the tests for to_json XSS in Rails 4

this was supposed to be part of 5ffafd809fbfdd0481609210443fcec7fd5a08b8


// listen for changes in firebase
// refresh partial when change occurs

// Current user
var firebaseListen = function (userId) {
  var dataRef = new Firebase('https://crossfithub.firebaseio.com/' + userId);
  dataRef.on('child_added', function(snapshot) {
    // remove entry from firebase to keep page from reloading infinitely
    dataRef.remove();

    // should render partial instead of reloading entire page

    $.get('http://localhost:3000/completions').done(function( data ) {
      $('#completions').html(data)
    })
    //location.reload();
  });

}

// Followers of current user
// var firebaseNotify = function (userId) {
//   var dataRef = new Firebase('https://crossfithub.firebaseio.com/' + userId);
//   dataRef.on('child_added', function(snapshot) {
//     dataRef.remove();
//   });
// }

// listen for changes in firebase
// refresh partial when change occurs

// Current user
var firebaseListen = function (userId) {
  var dataRef = new Firebase('https://crossfithub.firebaseio.com/' + userId);
  dataRef.on('child_added', function(snapshot) {
    // remove entry from firebase to keep page from reloading infinitely
    dataRef.remove();

    // should render partial instead of reloading entire page

    $.get('http://crossfithub.herokuapp.com/completions').done(function( data ) {
      $('#completions').html(data)
    })
    //location.reload();
  });

}

// Followers of current user
// var firebaseNotify = function (userId) {
//   var dataRef = new Firebase('https://crossfithub.firebaseio.com/' + userId);
//   dataRef.on('child_added', function(snapshot) {
//     dataRef.remove();
//   });
// }

Change url to point to heroku in firebase_listener


before_install:
  - "echo '--colour' > ~/.rspec"
  - "echo 'gem: --no-document' > ~/.gemrc"
  - export DISPLAY=:99.0
  - sh -e /etc/init.d/xvfb start
before_script:
  - cp .sample.env .env
  <% if options[:database] == 'postgresql' %>
  - psql -c 'create database "<%= app_name %>_test";' -U postgres
  <% end %>
branches:
  only:
    - master
cache:
  - bundler
language:
  - ruby
notifications:
  campfire:
    on_failure:
      - always
    on_success:
      - change
    template:
      - '(%{branch} - %{author}): %{message} - %{build_url}'
  email:
    - false
rvm:
  - <%= Suspenders::RUBY_VERSION %>
addons:
  postgresql: "9.3"

Use PostgreSQL 9.3 on Travis CI

Use PostgreSQL 9.3 on Travis CI

Heroku's default is Postgres 9.3 [1], but Travis' default is Postgres 9.1
[2]. This can occasionally cause problems which are difficult to debug.

[1]: https://devcenter.heroku.com/articles/heroku-postgresql#version-support
[2]: http://docs.travis-ci.com/user/using-postgresql/


<% if comment.user.id == -1 %>

      <%= raw(sanitize(PostCommentsController.renderer.render(comment.text), scrubber: PostComment.scrubber)) %>
      <%= time_ago_in_words comment.created_at %> ago

<% else %>
  <div class="panel panel-default abuse-comment" data-cid="<%= comment.id %>">

      <%= comment.user.username %>
      <span title="<%= comment.created_at %>"><%= time_ago_in_words comment.created_at %> ago
      <% if current_user == comment.user || current_user&.has_role?(:admin) %>

        <%= link_to delete_abuse_comment_path(comment.id), method: :delete do %>

        <% end %>

      <% end %>

      <%= raw(sanitize(PostCommentsController.renderer.render(comment.text), scrubber: PostComment.scrubber)) %>

<% end %>

<% if comment.user.id == -1 %>

      <%= raw(sanitize(PostCommentsController.renderer.render(comment.text), scrubber: PostComment.scrubber)) %>
      <%= time_ago_in_words comment.created_at %> ago

<% else %>
  <div class="panel panel-default abuse-comment" data-cid="<%= comment.id %>">

      <%= comment.user.username %>
      <span title="<%= comment.created_at %>"><%= time_ago_in_words comment.created_at %> ago
      <% if current_user == comment.user || current_user&.has_role?(:core) %>

        <%= link_to delete_abuse_comment_path(comment.id), method: :delete do %>

        <% end %>

      <% end %>

      <%= raw(sanitize(PostCommentsController.renderer.render(comment.text), scrubber: PostComment.scrubber)) %>

<% end %>

Update abuse comment view to allow core to edit/delete


<% content_for(:page_title) do %>
  Your mobile apps |
<% end %>
<%= content_for(:js) do %>

  <%= javascript_include_tag 'common', 'common_vendor', 'mobile_apps' %>
<% end %>
<%= content_for(:css) do %>
  <%= stylesheet_link_tag 'mobile_apps.css', :media => 'all' %>
<% end %>

<%= render :partial => 'shared/flash_message' %>
<%= render :partial => 'admin/shared/trial_notification' %>

  <%= render :partial => 'admin/shared/pages_subheader' %>

    <%= render :partial => 'admin/shared/api_keys_subheader' %>

    <%= render :partial => 'carto/admin/mobile_apps/mobile_plan_info' %>

    <% if @mobile_apps.empty? %>
      <%= render :partial => 'carto/admin/mobile_apps/no_mobile_apps' %>
    <% else %>
      <%= render :partial => 'carto/admin/mobile_apps/show' %>
    <% end %>

<%= render 'admin/shared/new_private_footer' %>

Remove an overlapping separator in mobile apps page


      Send us your CV

      Claire is our “people gardener” and she would love to hear from you.

      We like to do the most valuable things first - employing you could be exactly that.

      Send your CV through to Claire at:
      iwantajob@unboxed.co

      From there, she'll be in touch. Good luck!

    <%= image_tag '/jobs/images/ubxd-gardener.jpg', alt: 'Our gardener', class: "image-tile__image", srcset: retina_srcset('/jobs/images/ubxd-gardener.jpg') %>

      Send us your CV

      Claire is our “people gardener” and she would love to hear from you.

      We like to do the most valuable things first - employing you could be exactly that.

      Send your CV through to Claire at:
      iwantajob@unboxed.co

      From there, she'll be in touch. Good luck!

      (No recruiters please, we do all our hiring

      in-house)

    <%= image_tag '/jobs/images/ubxd-gardener.jpg', alt: 'Our gardener', class: "image-tile__image", srcset: retina_srcset('/jobs/images/ubxd-gardener.jpg') %>

Copy changes in jobs pages

Copy changes in jobs pages


		URL
		<input type="url" id="link_url" name="link[url]"  value="<%= @link.url %>">

		Title
		<input type="text" id="link_title" name="link[title]"  value="<%= @link.title %>">

		Body
		<textarea id="link_body" name="link[body]"><%= @link.body %></textarea>

		<button type="submit">Submit</button>

		URL
		<input type="url" id="link_url" name="link[url]" required value="<%= @link.url %>">

		Title
		<input type="text" id="link_title" name="link[title]" required value="<%= @link.title %>">

		Body
		<textarea id="link_body" name="link[body]"><%= @link.body %></textarea>

		<button type="submit">Submit</button>

Add required attribute to form fields.

Add required attribute to form fields.


<%
  featured_item = section[:promoted_content].first
  featured_item_layout_class = "taxon-page__featured-item--single" if section[:documents].empty?
%>

  <div class="taxon-page__featured-item column-one-third <%= featured_item_layout_class %>" <%= "data-module=track-click" if track_click?(section[:promoted_content]) %>>
    <% metadata = featured_item[:metadata].map do |metadata_key, metadata_value|
        if metadata_key.to_s.eql?("public_updated_at")
          l(metadata_value, format: '%e %B %Y')
        else
          metadata_value
        end
      end
    %>
    <%= render "govuk_publishing_components/components/image_card", {
        href: featured_item[:link].fetch(:path),
        image_src: featured_item[:image][:url],
        heading_text: featured_item[:link].fetch(:text),
        metadata: metadata.delete_if { |metadatum| metadatum.blank? }.join(" - ")
    } %>

  <% if section[:documents].any? %>
    <div class="column-two-thirds" <%= "data-module=track-click" if track_click?(section[:documents]) %>>
      <%= render 'govuk_publishing_components/components/document_list',
        items: section[:documents],
        margin_top: true,
        margin_bottom: true
      %>
  <% else %>

  <% end %>
    <%= link_to(
      section[:see_more_link][:text],
      section[:see_more_link][:url]
    )%>

<%
  featured_item = section[:promoted_content].first
  featured_item_layout_class = "taxon-page__featured-item--single" if section[:documents].empty?
%>

  <div class="taxon-page__featured-item column-one-third <%= featured_item_layout_class %>" <%= "data-module=track-click" if track_click?(section[:promoted_content]) %>>
    <%= render "govuk_publishing_components/components/image_card", {
        href: featured_item[:link].fetch(:path),
        image_src: featured_item[:image][:url],
        heading_text: featured_item[:link].fetch(:text),
        metadata: featured_item[:metadata][:organisations],
        context: {
          date: featured_item[:metadata][:public_updated_at],
          text: featured_item[:metadata][:document_type]
        }
    } %>

  <% if section[:documents].any? %>
    <div class="column-two-thirds" <%= "data-module=track-click" if track_click?(section[:documents]) %>>
      <%= render 'govuk_publishing_components/components/document_list',
        items: section[:documents],
        margin_top: true,
        margin_bottom: true
      %>
  <% else %>

  <% end %>
    <%= link_to(
      section[:see_more_link][:text],
      section[:see_more_link][:url]
    )%>

Update image card usage on topic pages

Update image card usage on topic pages


<div id='modal-photo-<%= "#{obj.id}" %>' class="modal">
    <%= form_tag user_photo_path(user_id: obj.user.id, id: obj.id), method: :put do %>

Edit Post

                    file_upload
                    <%= file_field_tag :picture, value: obj.picture%>

                    Upload photo
                    <input class="file-path validate" type="text" placeholder="Upload photo">

                <%= label_tag :text, "Write the post content" %>
                <%= text_field_tag :text, nil, placeholder: "Write a comment", value: obj.text%>

        <%= submit_tag "Edit Comment", class: "modal-action modal-close waves-effect waves-green btn-flat" %>
        Cancel

    <% end %>

Create edit photo modal partial

Create edit photo modal partial


<%= form_for([:admin, @age_group_type, @age_group_entry]) do |f| %>
  <% if @age_group_entry.errors.any? %>

<%= pluralize(@age_group_entry.errors.count, "error") %> prohibited this age_group_entry from being saved:

      <% @age_group_entry.errors.full_messages.each do |msg| %>

<%= msg %>

      <% end %>

  <% end %>

    <%= f.label :short_description %>

    <%= f.text_field :short_description %>

    <%= f.label :long_description %>

    <%= f.text_field :long_description %>

    <%= f.label :start_age %>

    <%= f.number_field :start_age %>

    <%= f.label :end_age %>

    <%= f.number_field :end_age %>

    <%= f.label :gender %>

    <%= f.text_field :gender %>

    <%= f.submit %>

<% end %>

<%= form_for([:admin, @age_group_type, @age_group_entry]) do |f| %>
  <% if @age_group_entry.errors.any? %>

<%= pluralize(@age_group_entry.errors.count, "error") %> prohibited this age_group_entry from being saved:

      <% @age_group_entry.errors.full_messages.each do |msg| %>

<%= msg %>

      <% end %>

  <% end %>

    <%= f.label :short_description %>

    <%= f.text_field :short_description %>

    <%= f.label :long_description %>

    <%= f.text_field :long_description %>

    <%= f.label :start_age %>

    <%= f.number_field :start_age %>

    <%= f.label :end_age %>

    <%= f.number_field :end_age %>

    <%= f.label :gender %>

    <%= f.select :gender, ['Male', 'Female', 'Mixed'] %>

    <%= f.submit %>

<% end %>

Adjust the way that age group entries see the 'gender' options


            <% if (@applications.empty?) %>

No applications to display.

            <% else %>

                    ID
                    Student ID
                    Name

                <% @applications.each do |application| %>

                    <%= application.id %>
                    <%= application.student_id %>
                    <%= application.name %>

                        <a href="<%= application_edit_path(application) %>" class="glyphicon glyphicon-pencil">

                <% end %>

        <% end %>

            <% if (@applications.empty?) %>

No applications to display.

            <% else %>

                    ID
                    Student ID
                    Name
                    Email
                    Phone
                    GPA

                <% @applications.each do |application| %>

                    <%= application.id %>
                    <%= application.studentNum %>
                    <%= "#{application.firstName} #{application.lastName}" %>
                    <%= application.email %>
                    <%= application.cellPhone || appliaction.homePhone %>
                    <%= application.GPA %>

                        <a href="<%# application_edit_path(application) %>" class="glyphicon glyphicon-pencil">

                <% end %>

        <% end %>

Change applications index to use correct application parameters


<!doctype html>

    <meta charset="utf-8">
    <title><%= @title %> | Compass Poliedro</title>

    <link rel="stylesheet" href="/css/features/index.css?t=<%= Time.new.to_time.to_i %>">

<%= @title %>

<%= @section %>

      <%= yield %>

      <%= render 'shared/site-header' %>
      <%= render 'shared/site-nav' %>

<!doctype html>

    <meta charset="utf-8">
    <title><%= @title %> | Compass Poliedro</title>

    <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/normalize/3.0.0/normalize.css">
    <link rel="stylesheet" href="/css/features/index.css?t=<%= Time.new.to_time.to_i %>">

<%= @title %>

<%= @section %>

      <%= yield %>

      <%= render 'shared/site-header' %>
      <%= render 'shared/site-nav' %>

Normalize added to features via CDN

Normalize added to features via CDN


/* DO NOT EDIT: File is auto-generated */
package <%= to_package(asset_directory.gwt.qualified_bundle_name) %>;

@javax.annotation.Generated( "Resgen" )
public interface <%= asset_directory.gwt.bundle_name %>
  extends com.google.gwt.resources.client.ClientBundle<%= asset_directory.gwt.with_lookup? ? 'WithLookup' : '' %>
{
  public static final <%= asset_directory.gwt.bundle_name %> INSTANCE = com.google.gwt.core.shared.GWT.create( <%= asset_directory.gwt.bundle_name %>.class );

<% asset_directory.css_files.each do |css_file| -%>
  interface <%= Reality::Naming.pascal_case(css_file.name) %>
    extends com.google.gwt.resources.client.CssResource
  {
<% css_file.css_classes.each do |key| -%>
    String <%= key -%>();
<% end -%>
  }
<% end -%>
<% asset_directory.image_files.keys.each do |image_key| -%>
  com.google.gwt.resources.client.ImageResource <%= image_key -%>();
<% end -%>
<% asset_directory.css_files.each do |css_file| -%>
  <%= Reality::Naming.pascal_case(css_file.name) %> <%= css_file.name %>();
<% end -%>
}

/* DO NOT EDIT: File is auto-generated */
package <%= to_package(asset_directory.gwt.qualified_bundle_name) %>;

@javax.annotation.Generated( "Resgen" )
public interface <%= asset_directory.gwt.bundle_name %>
  extends com.google.gwt.resources.client.ClientBundle<%= asset_directory.gwt.with_lookup? ? 'WithLookup' : '' %>
{
  <%= asset_directory.gwt.bundle_name %> INSTANCE = com.google.gwt.core.shared.GWT.create( <%= asset_directory.gwt.bundle_name %>.class );

<% asset_directory.css_files.each do |css_file| -%>
  interface <%= Reality::Naming.pascal_case(css_file.name) %>
    extends com.google.gwt.resources.client.CssResource
  {
<% css_file.css_classes.each do |key| -%>
    String <%= key -%>();
<% end -%>
  }
<% end -%>
<% asset_directory.image_files.keys.each do |image_key| -%>
  com.google.gwt.resources.client.ImageResource <%= image_key -%>();
<% end -%>
<% asset_directory.css_files.each do |css_file| -%>
  <%= Reality::Naming.pascal_case(css_file.name) %> <%= css_file.name %>();
<% end -%>
}

Remove qualifiers implied by the context


<%= t('app.counts.propositions', count: @propositions.size).html_safe %>

  <% if @layout %>

          Id
          <%= Proposition.human_attribute_name :body %>

        <% @propositions.each do |prop| %>

            <%= prop.id %>
            <%= prop.body.html_safe %>

        <% end %>

  <% else %>
    <%# admin search view %>
    <% @propositions.each do |prop| %>
      <%= prop.body.html_safe %>
    <% end %>
  <% end %>

Fix background color of proposition

Fix background color of proposition


<%= @pokemon.parent_name %>様

ポケモン素材の申し込みありがとうございます。

ポケモン素材の利用規約をいつでも見れるように案内のメールをお送りしています。

利用規約を読む

<%= @pokemon.parent_name %>様

ポケモン素材の申し込みありがとうございます。

ポケモン素材の利用規約を再度見れるように案内のメールをお送りしています。

コチラから利用規約をご参照ください。

Fix email message to evade spam filter

Fix email message to evade spam filter


<% content_for :sidebar do %>

    <% if "products" == params[:controller] && @taxon %>
      <%= render :partial => 'spree/shared/filters' %>
    <% else %>
      <%= render :partial => 'spree/shared/taxonomies' %>
    <% end %>

<% end %>

<% if params[:keywords] %>

    <% if @products.empty? %>

<%= t(:no_products_found) %>

    <% else %>
      <%= render :partial => 'spree/shared/products', :locals => { :products => @products, :taxon => @taxon } %>
    <% end %>

<% else %>

    <%= render :partial => 'spree/shared/products', :locals => { :products => @products, :taxon => @taxon } %>

<% end %>

<% content_for :sidebar do %>

    <% if "spree/products" == params[:controller] && @taxon %>
      <%= render :partial => 'spree/shared/filters' %>
    <% else %>
      <%= render :partial => 'spree/shared/taxonomies' %>
    <% end %>

<% end %>

<% if params[:keywords] %>

    <% if @products.empty? %>

<%= t(:no_products_found) %>

    <% else %>
      <%= render :partial => 'spree/shared/products', :locals => { :products => @products, :taxon => @taxon } %>
    <% end %>

<% else %>

    <%= render :partial => 'spree/shared/products', :locals => { :products => @products, :taxon => @taxon } %>

<% end %>

Update controller check to have spree namespace.

Fixes #2686


# Example template for PHP-FPM based projects
#
# The template which nginx uses within a boxen::project can be overridden
# to a specific template such as this one.
#
# You will likely need to change both the root and SCRIPT_FILENAME parameters below
# to match your setup
#
server {
  access_log <%= scope.lookupvar "nginx::config::logdir" %>/<%= @name %>.access.log main;
  listen 80;
  root <%= @repo_dir %>/src;
  server_name quehambre.dev quehambre.local www.quehambre.cl;

  client_max_body_size 50M;

  error_page 500 502 503 504 /50x.html;

  location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|xml|woff|ttf)$ {
    access_log        off;
    expires           30d;
  }

  location / {
    include <%= scope.lookupvar "nginx::config::configdir" %>/fastcgi_params;
    keepalive_timeout 0;
    fastcgi_pass unix:<%= scope.lookupvar "boxen::config::socketdir" %>/<%= @name %>;
    fastcgi_param SCRIPT_FILENAME <%= @repo_dir %>/src/index.php;
  }
}

# Example template for PHP-FPM based projects
#
# The template which nginx uses within a boxen::project can be overridden
# to a specific template such as this one.
#
# You will likely need to change both the root and SCRIPT_FILENAME parameters below
# to match your setup
#
upstream php {
        server unix:<%= scope.lookupvar "boxen::config::socketdir" %>/<%= @name %>;
}
server {
  error_log <%= scope.lookupvar "nginx::config::logdir" %>/<%= @name %>.error.log notice;
  access_log <%= scope.lookupvar "nginx::config::logdir" %>/<%= @name %>.access.log main;
  listen 80;
  root <%= @repo_dir %>/src;
  server_name quehambre.dev quehambre.local www.quehambre.cl;

  client_max_body_size 50M;

  error_page 500 502 503 504 /50x.html;

  index index.php;
  location / {
    try_files $uri $uri/ /index.php$is_args$args;
  }

  location ~ \.php$ {
    include <%= scope.lookupvar "nginx::config::configdir" %>/fastcgi_params;
    fastcgi_pass php;
    fastcgi_param SCRIPT_FILENAME <%= @repo_dir %>/src/index.php;
  }
}

Fix quehambre nginx template with codeigniter support


<%

# Use local copy of jquery for development.
# see also: /app/views/layouts/application.html.erb
if Rails.env.development?
  require_asset("lodash/lodash")
  require_asset("jquery/jquery")
  require_asset("core.js/core.js")
end

# Our dependencies and load priority sorted in this file.
require_asset("main_include")

%>

/* Initialize application after all components loaded. *
 * see also: /app/assets/javascripts/shreds/main.es6   */
window.shreds = {
  root_path: '<%= ActionController::Base.relative_url_root || '/' %>'
};
var debugmode = <%= Rails.env.development? %>;
$(function () { require('shreds/main').init(debugmode); });

<%

# Use local copy of jquery for development.
# see also: /app/views/layouts/application.html.erb
if Rails.env.development?
  require_asset("lodash/lodash")
  require_asset("jquery/jquery")
  require_asset("core.js/core.js")
end

# Our dependencies and load priority sorted in this file.
require_asset("main_include")

%>

/* Initialize application after all components loaded. *
 * see also: /app/assets/javascripts/shreds/main.es6   */
window.shreds = {
  root_path: '<%= ActionController::Base.relative_url_root || '/' %>'
};

window.MessageBus.baseUrl = (window.shreds.root_path + '/').replace(/\/{2,}/g, '/');

var debugmode = <%= Rails.env.development? %>;
$(function () { require('shreds/main').init(debugmode); });

Set message_bus base URL according to shreds relative root


<%= model.passenger_env %>:
  sessions:
    default:
      hosts:
      <% if model.deploy_mongodb_replication_set -%>
        <% model.deploy_mongodb_replication_set.services.each do |service| -%>
        - <%= service.guest.private_address %>:<%= service.port %>
        <% end -%>
      options:
        read: :nearest
      <% else -%>
        - <%= model.deploy_mongodb_host %>:<%= model.deploy_mongodb_port %>
      <% end -%>
      database: <%= model.deploy_mongodb_database %>
  clients:
    default:
      hosts:
      <% if model.deploy_mongodb_replication_set -%>
        <% model.deploy_mongodb_replication_set.services.each do |service| -%>
        - <%= service.guest.private_address %>:<%= service.port %>
        <% end -%>
      options:
        read: :nearest
      <% else -%>
        - <%= model.deploy_mongodb_host %>:<%= model.deploy_mongodb_port %>
      <% end -%>
      database: <%= model.deploy_mongodb_database %>

Allow newer mongoid to find db

Allow newer mongoid to find db


  <% if @endpoints.size %>

    Name
    Status
    Jobs running
    Jobs queued
    Average runtime (s)

  <% end %>
  <% @endpoints.each do |endpoint| %>
  <%
    if @endpoint_server_statuses[endpoint.id]['backend_status'] == 'good'
      status_class = 'good_status'
    else
      status_class = 'fail_status'
    end
  %>

    <%= link_to endpoint.name, endpoint_path(endpoint.id) %>
    <td class="<%= status_class %>"><%= @endpoint_server_statuses[endpoint.id]['backend_status'] %>
    <%= @endpoint_server_statuses[endpoint.id]['running'] %>
    <%= @endpoint_server_statuses[endpoint.id]['queued'].to_i %>
    <%= "%0.2f" % @endpoint_server_statuses[endpoint.id]['avg_runtime'] %>
    <%= button_to 'Delete', endpoint, confirm: 'Are you sure you wish to delete this endpoint?', method: :delete, title:"Delete" if current_user.admin?  %>

  <% end %>

  <% if @endpoints.size %>

    Name
    Status
    Jobs running
    Jobs queued
    Average runtime (s)

  <% end %>
  <% @endpoints.each do |endpoint| %>
  <%
    if @endpoint_server_statuses[endpoint.id]['backend_status'] == 'good'
      status_class = 'good_status'
    else
      status_class = 'fail_status'
    end
  %>

    <%= link_to endpoint.name, endpoint_path(endpoint.id) %>
    <td class="<%= status_class %>"><%= @endpoint_server_statuses[endpoint.id]['backend_status'] %>
    <%= @endpoint_server_statuses[endpoint.id]['running'] %>
    <%= @endpoint_server_statuses[endpoint.id]['queued'].to_i %>
    <% avg_runtime = @endpoint_server_statuses[endpoint.id]['avg_runtime'] %>
    <% avg_runtime = "%0.2f" % avg_runtime if avg_runtime.class==Float  %>
    <%= avg_runtime %>
    <%= button_to 'Delete', endpoint, confirm: 'Are you sure you wish to delete this endpoint?', method: :delete, title:"Delete" if current_user.admin?  %>

  <% end %>

Fix (hopefully) a continuous integration error that doesn't show up locally when running the tests


<%= link_to [:ngos, event], class: 'list-group-item' do %>

<%= event.description %>

<%= event.address %> — <%= I18n.localize(event.earliest_shift.starts_at, format:'%d. %b %Y') %>

<% end %>

<%= link_to [:ngos, event], class: 'list-group-item' do %>

<%= event.title %>

<%= event.address %> — <%= I18n.localize(event.earliest_shift.starts_at, format:'%d. %b %Y') %>

<%= event.description %>

<% end %>

Add title and clean up events list

Add title and clean up events list


<% @categories.each do |category| %>
  <%
    bar_1 = 40 + category_profiles_ratio(category.id)
    bar_2 = 100 - bar_1
  %>

<%= category_link(category) %>

<%= category_profiles_count(category.id) %>

    <div class="progress-bar category_item_<%=category.short_name%>" role="progressbar" style="width: <%=bar_1%>%" aria-valuenow="<%=bar_1%>" aria-valuemin="0" aria-valuemax="100">

    <div class="progress-bar category_item_<%=category.short_name%>_numbers text-right pr-3" role="progressbar" style="width: <%=bar_2%>%" aria-valuenow="<%=bar_2%>" aria-valuemin="0" aria-valuemax="100">

<% end %>

<% @categories.each do |category| %>
  <%
    bar_1 = 40 + category_profiles_ratio(category.id)
    bar_2 = 100 - bar_1
  %>
  <a href="<%= category_path(category.id) %>"class="progress">

<%= category.name %>

<%= category_profiles_count(category.id) %>

    <div class="progress-bar category_item_<%=category.short_name%>" role="progressbar" style="width: <%=bar_1%>%" aria-valuenow="<%=bar_1%>" aria-valuemin="0" aria-valuemax="100">

    <div class="progress-bar category_item_<%=category.short_name%>_numbers text-right pr-3" role="progressbar" style="width: <%=bar_2%>%" aria-valuenow="<%=bar_2%>" aria-valuemin="0" aria-valuemax="100">

<% end %>

Add the link to the whole bar when choosing a category


<%
  items ||= []
  see_more_link ||= false
  small ||= false
  margin_bottom ||= false
  component_size = "app-c-topic-list--small" if small
  margin_bottom_class = "app-c-topic-list--margin-bottom" if margin_bottom

  brand ||= false
  brand_helper = GovukPublishingComponents::AppHelpers::BrandHelper.new(brand)
%>
<% if items.any? %>
  <ol class="app-c-topic-list <%= component_size %> <%= brand_helper.brand_class %> <%= margin_bottom_class %>">
    <% items.each do |item| %>

        <%=
          link_to(
            item[:text],
            item[:path],
            data: item[:data_attributes],
            "aria-label": item[:aria_label],
            class: "govuk-link app-c-topic-list__link app-c-topic-list__link--no-underline #{brand_helper.color_class}"
          )
        %>

    <% end %>
    <% if see_more_link %>

        <%=
          link_to(
            see_more_link[:text],
            see_more_link[:path],
            data: see_more_link[:data_attributes],
            class: "govuk-link app-c-topic-list__link #{brand_helper.color_class}"
          )
        %>

    <% end %>

<% end %>

<%
  items ||= []
  see_more_link ||= false
  small ||= false
  margin_bottom ||= false
  component_size = "app-c-topic-list--small" if small
  margin_bottom_class = "app-c-topic-list--margin-bottom" if margin_bottom

  brand ||= false
  brand_helper = GovukPublishingComponents::AppHelpers::BrandHelper.new(brand)
%>
<% if items.any? %>
  <%= tag.ul(class: ["app-c-topic-list", component_size, brand_helper.brand_class, margin_bottom_class]) do %>
    <% items.each do |item| %>

        <%=
          link_to(
            item[:text],
            item[:path],
            data: item[:data_attributes],
            "aria-label": item[:aria_label],
            class: "govuk-link app-c-topic-list__link app-c-topic-list__link--no-underline #{brand_helper.color_class}"
          )
        %>

    <% end %>
    <% if see_more_link %>

        <%=
          link_to(
            see_more_link[:text],
            see_more_link[:path],
            data: see_more_link[:data_attributes],
            class: "govuk-link app-c-topic-list__link #{brand_helper.color_class}"
          )
        %>

    <% end %>
  <% end %>
<% end %>

Change topic-list list type from ol to ul

I've inspected each use of the topic-list component in this app. There is no
clear benefit as far as I can see to having these as an ordered list.

Org pages use it to present lists of corporate information links. They are
not in any discernable order, and it would not make sense to number them.

Org and courts pages use it to present featured links. They are short lists
of "useful" things, but there's no real order to them.

The same goes for [topic pages](gov.uk/topic/benefits-credits/child-benefit)
and the finders list at the foot of the [transition landing page](https://www.gov.uk/transition).

These are failures of WCAG SC 1.3.1

https://trello.com/c/O3Mck5D5/441-transition-page-incorrect-list-type


<div class="emergency-banner emergency-banner--<%= campaign_class %>" role="banner" data-nosnippet>

<%= heading %>

        <% if short_description %>

<%= short_description %>

        <% end %>
        <% if link %>
          <a href="<%= link %>" class="emergency-banner__link govuk-link"><%= link_text %>
        <% end %>

<div class="emergency-banner emergency-banner--<%= campaign_class %>" role="banner" data-nosnippet>

<%= heading %>

        <% if short_description %>

<%= short_description %>

        <% end %>
        <% if link %>
          <a href="<%= link %>" class="emergency-banner__link"><%= link_text %>
        <% end %>

Remove govuk-link css from emergency banner link


  <% @cards.each do |card| %>

    <form>

Question <%=card.id%>) <%= card.question %>

  			<input type="radio" name="answer<%=card.id%>" value="true" checked> True

  			<input type="radio" name="answer<%=card.id%>" value="false"> False

	  </form>

  <% end %>

<input class="btn-primary" style="padding: 2%, width: 45%" type="submit" value="Submit">

	</form>

  <% @cards.each do |card| %>

    <form>

Question <%=card.id%>.
 <%= card.question %>

  			<input type="radio" name="answer<%=card.id%>" value="true" checked> True

  			<input type="radio" name="answer<%=card.id%>" value="false"> False

	  </form>

  <% end %>

<input class="btn-primary" type="submit" value="Submit">

	</form>

Add new line for question

Add new line for question


Social Media Posts

            Need a little more information? Click here.

Hide

Below are the last posts made from the Volunteer Dashboard.

        <% @posts.each do |post| %>

            <% if post.is_a?(Posts::Twitter) %>

            <% elsif post.is_a?(Posts::Facebook) %>

            <% end %>
            <%= post.content.body %>

            <%= link_to post.content.link_domain, post.content.link_url %>

        <% end %>

      <%= will_paginate @posts %>

Use suggest.svg for posts header icon

Use suggest.svg for posts header icon


  <% if @master_tree.title == 'New Master Tree' %>
    <input type="text" id="master_tree_title">Enter a title for your newly created tree.
  <% else %>

<%= @master_tree.title %>

  <% end %>

          <%= link_to edit_master_tree_path do %>
            Edit Tree Info
          <% end %>

          Add Node

        <div id="tree-container" data-database-id="<%= @master_tree.id %>">

      <%= render :partial => 'metadata' %>

<% content_for :javascript do %>
  <%= javascript_include_tag 'jquery.jstree.min' %>

<% end %>

<%= render :partial => "reference_trees" %>

  <% if @master_tree.title == 'New Master Tree' %>
    <input type="text" id="master_tree_title">Enter a title for your newly created tree.
  <% else %>

<%= @master_tree.title %>

  <% end %>

Master tree

          <%= link_to edit_master_tree_path do %>
            Edit Tree Info
          <% end %>

          Add Node

        <div id="tree-container" data-database-id="<%= @master_tree.id %>">

      <%= render :partial => 'metadata' %>

<% content_for :javascript do %>
  <%= javascript_include_tag 'jquery.jstree.min' %>

<% end %>

<%= render :partial => "reference_trees" %>

Put breadcrumb back, but simplify to show just 'master tree'


#!/bin/bash
# Managed by puppet
# This file manages the atop binary files. It will keep binary files for last
# <%= @rotate %> days instead of 30 days provided by atop.
PATH=/sbin:/bin:/usr/sbin:/usr/bin

# remove files older than <%= @rotate %> days
find <%= @logpath %> -type f -name 'atop_*' -mtime +<%= @rotate %> -delete

# remove atop_current if it is a broken symlink
test -L <%= @logpath %>/atop_current -a ! -e <%= logpath %>/atop_current && \
  rm <%= @logpath %>/atop_current

# link current to most recent file if it exists
recent=$(find <%= @logpath %>/atop_* -type f | tail -1)
if [ -n "$recent" ]; then
  ln -f -s "$recent" <%= @logpath %>/atop_current
fi

#!/bin/bash
# Managed by puppet
# This file manages the atop binary files. It will keep binary files for last
# <%= @rotate %> days instead of 30 days provided by atop.
PATH=/sbin:/bin:/usr/sbin:/usr/bin

# remove files older than <%= @rotate %> days
find <%= @logpath %> -type f -name 'atop_*' -mtime +<%= @rotate %> -delete

# remove atop_current if it is a broken symlink
test -L <%= @logpath %>/atop_current -a ! -e <%= @logpath %>/atop_current && \
  rm <%= @logpath %>/atop_current

# link current to most recent file if it exists
recent=$(find <%= @logpath %>/atop_* -type f | tail -1)
if [ -n "$recent" ]; then
  ln -f -s "$recent" <%= @logpath %>/atop_current
fi

Fix depricated variable call in template

It may fire an error in future versions

Change-Id: Icc059375ce1887029dadb4c3072bd13976bf2b8b
Closes-bug: #1554477


Make the new purchase view popup compliant


Listing translations for <%= @locale.code %>

    Key
    Value
    Pluralization index

<% for translation in @translations %>

    <%=h translation.key %>
    <%=h translation.value %>
    <%=h translation.pluralization_index %>
    <%= link_to 'Show', locale_translation_path(@locale, translation) %>
    <%= link_to 'Edit', edit_locale_translation_path(@locale, translation) %>
    <%= link_to 'Destroy', locale_translation_path(@locale, translation), :confirm => 'Are you sure?', :method => :delete %>

<% end %>

<%= link_to 'New translation', new_locale_translation_path %> |
<%= link_to 'Back', locales_path %>

Listing translations for <%= @locale.code %>

    Key
    Value
    Default Locale Value
    Pluralization index

<% for translation in @translations %>

    <%=h translation.key %>
    <%=h translation.value %>
    <%=h translation.default_locale_value %>
    <%=h translation.pluralization_index %>
    <%= link_to 'Show', locale_translation_path(@locale, translation) %>
    <%= link_to 'Edit', edit_locale_translation_path(@locale, translation) %>
    <%= link_to 'Destroy', locale_translation_path(@locale, translation), :confirm => 'Are you sure?', :method => :delete %>

<% end %>

<%= link_to 'New translation', new_locale_translation_path %> |
<%= link_to 'Back', locales_path %>

Add locale_default_value to list of translations.


<!DOCTYPE html>

    <meta content="text/html;charset=UTF-8" http-equiv="Content-Type"/>
    <title>Jasmine Specs</title>

    <%= stylesheet_link_tag *jasmine_css_files %>

    <%= yield %>
    <%= javascript_include_tag *jasmine_js_files %>

<!DOCTYPE html>

    <meta content="text/html;charset=UTF-8" http-equiv="Content-Type"/>
    <title>Jasmine Specs</title>

    <%= stylesheet_link_tag *jasmine_css_files %>
    <%= javascript_include_tag *jasmine_js_files %>

    <%= yield %>

Revert "javascripts at the bottom of the <body>"

This reverts commit e0a8446a08597705b14321da441fbe0d053d28a5.

It also (supposedly) fixes #109


[Unit]
Description=<%= @daemon_name %> daemon

[Service]
User=<%= @user %>
EnvironmentFile=<%= @env_path %>
ExecStart=/bin/bash $KAFKA_RUN $KAFKA_ARGS $KAFKA_CONFIG
TimeoutSec=10
<%= if node.kafka.ulimit_file %>
LimitNOFILE=<%= node.kafka.ulimit_file %>
<% end %>

[Install]
WantedBy=multi-user.target

[Unit]
Description=<%= @daemon_name %> daemon

[Service]
User=<%= @user %>
EnvironmentFile=<%= @env_path %>
ExecStart=/bin/bash $KAFKA_RUN $KAFKA_ARGS $KAFKA_CONFIG
TimeoutSec=10
<% if node.kafka.ulimit_file %>
LimitNOFILE=<%= node.kafka.ulimit_file -%>
<% end %>

[Install]
WantedBy=multi-user.target

Fix syntax error in systemd template

Fix syntax error in systemd template


<% unless @place.photos.empty? %>
  <%#= thumb_for(@place.photos.first, '80x113#') %>
  <% @place.photos.each do |p| %>
  	<%= thumb_for(p, '80x113#') %>
  <% end %>
<% end %>

<% photos = @place.photos %>
<% unless photos.empty? %>
  <% if photos.length == 1 %>
    <%= thumb_for(photos.first, '80x113#') %>
  <% else %>

<%= thumb_for(photos.first, '80x113#') %>

        <% photos[1..(photos.length() -1)].each do |p| %>

<%= thumb_for(p, '80x113#') %>

        <% end %>

      ‹
      ›

  <% end %>
<% end %>

Add a photo carousel when many place photos


<%= @resource.username %>さん、こんにちは。

Annictをご利用の前に、下のリンクをクリックしてメールアドレスの確認をお願いします。

<%= link_to 'メールアドレスを確認する', confirmation_url(confirmation_token: @token) %>

<%= @resource.username %>さん、こんにちは。

Annictをご利用の前に、下のリンクをクリックしてメールアドレスの確認をお願いします。

<%= link_to 'メールアドレスを確認する', confirmation_url(confirmation_token: @token, host: @resource.annict_host) %>

Switch host by user locale

Switch host by user locale


#!/bin/bash -e

JOB_DIR=/var/vcap/jobs/syslog-configurator
PIDFILE=/var/vcap/sys/run/syslog-configurator.pid
declare -a LOG_DIRS=(
  "/var/vcap/sys/log/service-backup"
  "/var/vcap/sys/log/service-metrics"
)

source /var/vcap/packages/redis-common/utils.sh

case $1 in

  start)
    <% if_p("syslog_aggregator.address", "syslog_aggregator.port") do %>

      CONFIG_DIR=$JOB_DIR/config

      if [ ! -d $CONFIG_DIR ]
      then
        echo "$CONFIG_DIR not found"
        exit 1
      fi

      cp $CONFIG_DIR/syslog_forwarder.conf /etc/rsyslog.d/01-syslog_forwarder.conf

      for dir in "${LOG_DIRS[@]}"; do
        mkdir -p $dir
        if [ ! -f $dir/out.log ]; then
          touch $dir/out.log
        fi
      done

      /usr/sbin/service rsyslog restart

    <% end %>

    echo $$ > $PIDFILE

    while true; do sleep 10000; done

    ;;

  stop)
    kill_and_wait $PIDFILE 55
    ;;

  *)
    echo "Usage: syslog-configurator_ctl {start|stop}"
    ;;

esac

#!/bin/bash -e

JOB_DIR=/var/vcap/jobs/syslog-configurator
PIDFILE=/var/vcap/sys/run/syslog-configurator.pid
declare -a LOG_DIRS=(
  "/var/vcap/sys/log/service-backup"
  "/var/vcap/sys/log/service-metrics"
)

source /var/vcap/packages/redis-common/utils.sh

case $1 in

  start)
    <% if_p("syslog_aggregator.address", "syslog_aggregator.port") do %>

      CONFIG_DIR=$JOB_DIR/config

      if [ ! -d $CONFIG_DIR ]
      then
        echo "$CONFIG_DIR not found"
        exit 1
      fi

      cp $CONFIG_DIR/syslog_forwarder.conf /etc/rsyslog.d/05-syslog_forwarder.conf

      for dir in "${LOG_DIRS[@]}"; do
        mkdir -p $dir
        if [ ! -f $dir/out.log ]; then
          touch $dir/out.log
        fi
      done

      /usr/sbin/service rsyslog restart

    <% end %>

    echo $$ > $PIDFILE

    while true; do sleep 10000; done

    ;;

  stop)
    kill_and_wait $PIDFILE 55
    ;;

  *)
    echo "Usage: syslog-configurator_ctl {start|stop}"
    ;;

esac

Update syslog forwarder conf filename

Update syslog forwarder conf filename

[#117896407]

Signed-off-by: Henry Stanley <b0b1d04541cab6bb75fdc9ee8f1c2e7f813af8bc@pivotal.io>


<% content_for :breadcrumbs do %>

<%= link_to "Your manuals", manuals_path %>

<%= link_to manual.title, manual_path(manual) %>

Reorder sections

<% end %>

  Reorder sections

      <% documents.each do |document| %>

<%= document.title %>

      <% end %>

      <%= form_tag(update_order_manual_documents_path(manual), method: :post) do %>
        <button name="submit" class="btn btn-primary">Save section order</button>
      <% end %>
      <%= link_to "Back", manual_path(manual), class: "action-link" %>

<% content_for :breadcrumbs do %>

<%= link_to "Your manuals", manuals_path %>

<%= link_to manual.title, manual_path(manual) %>

Reorder sections

<% end %>

  Reorder sections

<%= form_tag(update_order_manual_documents_path(manual), method: :post) do %>

        <% documents.each do |document| %>

            <input type="hidden" name="section_order[]" value="<%= document.id %>">
            <%= document.title %>

        <% end %>

        <button name="submit" class="btn btn-primary">Save section order</button>
        <%= link_to "Back", manual_path(manual), class: "action-link" %>

<% end %>

Send section IDs to reorder

Send section IDs to reorder

So that the reordering is saved, send it to the server on submit.


<% if edition.locale_can_be_changed? %>
  <fieldset class="foreign-language">

      <%= label_tag :create_foreign_language_only, nil, class: [:checkbox, "js-toggle-scheduled-publication-date-picker"] do %>
        <%= check_box_tag :create_foreign_language_only, "1", form.object.primary_locale != "en" %> Create a foreign language only news article
      <% end %>

      <%= form.label :primary_locale, 'Document language' %>

        <%= form.select :primary_locale, options_for_foreign_language_locale(edition), {}, {class: 'form-control input-md-6'} %>

Warning: News stories without an English version cannot have other translations.

  </fieldset>
<% end %>

<% if edition.locale_can_be_changed? %>
  <fieldset class="foreign-language">

      <%= label_tag :create_foreign_language_only, nil, class: [:checkbox, "js-toggle-scheduled-publication-date-picker"] do %>
        <%= check_box_tag :create_foreign_language_only, "1", form.object.primary_locale != "en" %> <%="Create a foreign language only #{edition.model_name.human.downcase}"%>
      <% end %>

      <%= form.label :primary_locale, 'Document language' %>

        <%= form.select :primary_locale, options_for_foreign_language_locale(edition), {}, {class: 'form-control input-md-6'} %>

      <% if edition.is_a?(NewsArticle) %>

Warning: News stories without an English version cannot have other translations.

      <% end %>

  </fieldset>
<% end %>

Allow locale_fields partial to apply to multiple Edition types


<?xml version="1.0" encoding="UTF-8"?>
<module>
  <inherits name='org.realityforge.gwt.datatypes.Datatypes'/>

  <inherits name="com.google.gwt.json.JSON"/>
  <inherits name="org.realityforge.replicant.Replicant"/>
<% if repository.keycloak? -%>
  <inherits name="org.realityforge.gwt.keycloak.Keycloak"/>
<% end -%>

<%
packages =
  [
    repository.gwt.client_data_type_package,
    repository.gwt.client_event_package,
    repository.gwt.client_entity_package,
    repository.gwt.client_service_package,
    repository.gwt.shared_data_type_package,
    repository.gwt.shared_service_package,
    repository.imit.client_ioc_package,
    repository.imit.client_comm_package,
    repository.imit.shared_comm_package
  ]

  prefix = repository.imit.model_module.gsub(/\.[^\.]+$/,'')
%>
  <source path=''>
<% packages.select{|p|p =~ /^#{Regexp.escape(prefix)}/}.each do |pkg| -%>
    <include name="<%= pkg.gsub("#{prefix}.",'').gsub('.','/') %>/**/*.java"/>
<% end -%>
  </source>
</module>

<?xml version="1.0" encoding="UTF-8"?>
<!-- DO NOT EDIT: File is auto-generated -->
<module>
  <inherits name='org.realityforge.gwt.datatypes.Datatypes'/>

  <inherits name="com.google.gwt.json.JSON"/>
  <inherits name="org.realityforge.replicant.Replicant"/>
<% if repository.keycloak? -%>
  <inherits name="org.realityforge.gwt.keycloak.Keycloak"/>
<% end -%>

<%
packages =
  [
    repository.gwt.client_data_type_package,
    repository.gwt.client_event_package,
    repository.gwt.client_entity_package,
    repository.gwt.client_service_package,
    repository.gwt.shared_data_type_package,
    repository.gwt.shared_service_package,
    repository.imit.client_ioc_package,
    repository.imit.client_comm_package,
    repository.imit.shared_comm_package
  ]

  prefix = repository.imit.model_module.gsub(/\.[^\.]+$/,'')
%>
  <source path=''>
<% packages.select{|p|p =~ /^#{Regexp.escape(prefix)}/}.each do |pkg| -%>
    <include name="<%= pkg.gsub("#{prefix}.",'').gsub('.','/') %>/**/*.java"/>
<% end -%>
  </source>
</module>

Add DO NOT EDIT banner

Add DO NOT EDIT banner


<!DOCTYPE html>

  <title>Wellspring</title>
  <%= stylesheet_link_tag    "wellspring/application", media: "all" %>
  <%= javascript_include_tag "wellspring/application" %>
  <%= csrf_meta_tags %>

Wellspring

        <%= link_to wellspring.root_path do %>
           Dashboard
        <% end %>

        <%= link_to '#' do %>
           Categories
        <% end %>

      <% Wellspring.configuration.content_classes.each do |class_name| %>

          <%= link_to class_name.tableize.titleize, entries_path(content_class: class_name.tableize) %>

      <% end %>

      <%= render partial: "wellspring/shared/flash_messages", flash: flash %>

    <%= yield %>

<!DOCTYPE html>

  <title>Wellspring</title>
  <%= stylesheet_link_tag    "wellspring/application", media: "all" %>
  <%= javascript_include_tag "wellspring/application" %>
  <%= csrf_meta_tags %>

Wellspring

        <%= link_to wellspring.root_path do %>
           Dashboard
        <% end %>

      <% Wellspring.configuration.content_classes.each do |class_name| %>

          <%= link_to class_name.tableize.titleize, entries_path(content_class: class_name.tableize) %>

      <% end %>

      <%= render partial: "wellspring/shared/flash_messages", flash: flash %>

    <%= yield %>

Remove "categories" from the sidebar, for now


<% if cached_recently_viewed_products.any? %>

<%= Spree.t(:recently_viewed_products) %>

      <% cached_recently_viewed_products.each do |product| %>

<%= link_to product.name, product %>

      <% end %>

<% end %>

Update classes to use bootstrap-4

Update classes to use bootstrap-4


;Precip php.ini Overrides.
max_execution_time=600
max_input_time=300
post_max_size=50M
upload_max_filesize=50M
memory_limit=256M
max_input_vars=10000
realpath_cache_size=1024
display_errors=On
html_errors=On
session_save_path=/tmp
sendmail_path=/usr/bin/mailhog sendmail noreply@precip.vm
date.timezone=America/New_York

;Precip php.ini Overrides.
max_execution_time=300
post_max_size=256M
upload_max_filesize=256M
max_input_time=120
memory_limit=384M
max_input_vars=5000
realpath_cache_size=900K
error_reporting=E_ALL
display_errors=On
display_startup_errors=1
html_errors=On
session_save_path=/tmp
sendmail_path=/usr/bin/mailhog sendmail noreply@precip.vm
always_populate_raw_post_data=-1
date.timezone=UTC

[php-settings] Update php settings to closer match acquia


search results: <%= @results.length %>

		<% @results.each do |item| %>

			<a data-toggle="modal" data-target="#schoolModal" data-dbn=<%= item.dbn%> data-school="<%= item.school  %>" data-enrollment=<%= item.total_enrollment %> data-owed=<%= item.amount_owed %>>
<%= item.dbn%> <%= item.school %>

			<% end %>

Add clickable class to each result item

Add clickable class to each result item


start on runlevel [2345]
stop on runlevel [!2345]

script
        test -f /etc/default/locale && . /etc/default/locale || true
        export LANG
        exec start-stop-daemon --start -c jenkins --exec /usr/bin/java \
                --name jenkins-agent --  -jar <%= @swarm_client_dest %> \
                -username jenkins_agent -password <%= @agent_user_api_token %> \
                -name <%= @hostname %> -executors <%= @executors %> \
                -master https://<%= @ci_master %>/ \
                -fsroot <%= @fsroot %> -labels '<%= @labels %>'
end script

start on runlevel [2345]
stop on runlevel [!2345]

respawn
respawn limit 5 20

script
        test -f /etc/default/locale && . /etc/default/locale || true
        export LANG
        exec start-stop-daemon --start -c jenkins --exec /usr/bin/java \
                --name jenkins-agent --  -jar <%= @swarm_client_dest %> \
                -username jenkins_agent -password <%= @agent_user_api_token %> \
                -name <%= @hostname %> -executors <%= @executors %> \
                -master https://<%= @ci_master %>/ \
                -fsroot <%= @fsroot %> -labels '<%= @labels %>'
end script

Add respawn to jenkins-agent upstart

Add respawn to jenkins-agent upstart

We should try restarting the service if it crashes before the CI master
determines that is unable to connect to it.


Recent Expenses

  <% @expenses.each do |group, expenses| %>

<%= group %>

      <% expenses.each do |expense| -%>

<%= number_to_currency expense.cost %> on <%= h expense.item %>.

      <% end %>

  <% end %>

Averages

Average per month

<%= number_to_currency(@averages[:month] || 0) %>

Average per week

<%= number_to_currency(@averages[:week] || 0) %>

Average per day

<%= number_to_currency(@averages[:day] || 0) %>

Recent Expenses

  <% if @expenses.length > 0 %>
    <% @expenses.each do |group, expenses| %>

<%= group %>

        <% expenses.each do |expense| -%>

<%= number_to_currency expense.cost %> on <%= h expense.item %>.

        <% end %>

    <% end %>
  <% else %>

No Expenses

You do not have any expenses, yet. Once you spend some money add it using the field above.

  <% end %>

Averages

Average per month

<%= number_to_currency(@averages[:month] || 0) %>

Average per week

<%= number_to_currency(@averages[:week] || 0) %>

Average per day

<%= number_to_currency(@averages[:day] || 0) %>

Add a message for users with no expenses.


I am the about page. This is content. Youre reading it. High five!

This is a demo service-oriented architecture app which uses a stack of Rails 4, jQuery, Bootstrap, PostgreSQL,
      Puma, and Heroku. Two API endpoints are utilized to return gas price information to the user.  Once a day,
      the application checks when each state's regular unleaded gas price was last updated, and scrapes
      the aaa.com website for
      updated information. This application's states are then updated, and you have the incredible pleasure of reading
      each state's regular unleaded gasoline per gallon price right here in your very own web browser.

      Site by Todd Morningstar |
      https://github.com/stratigos

I am a sidebar element

I am another sidebar element

I am the about page. This is content. Youre reading it. High five!

This is a demo of a service-oriented architecture app. It employs a stack of Rails 4, jQuery, Bootstrap, PostgreSQL,
      Puma, and Heroku. Two API endpoints are utilized to return gas price information to the user.  Once a day,
      the application checks when each state's regular unleaded gas price was last updated, and scrapes
      the aaa.com website for
      updated information. This application's states are then updated, and you have the incredible pleasure of reading
      each state's regular unleaded gasoline per gallon price right here in your very own web browser.

      Site by Todd Morningstar |
      https://github.com/stratigos

I am a sidebar element

I am another sidebar element

Correct grammar / wording on About page;


<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8" />
  <meta name="ROBOTS" content="NOODP" />
  <meta name="viewport" content="initial-scale=1" />
  <title><%= title %></title>
  <%= favicon_link_tag "favicon.ico" %>
  <%= stylesheet_link_tag :normalize, media: "all" %>
  <%= stylesheet_link_tag :application, media: "all" %>
  <%= csrf_meta_tags %>
</head>
<body class="<%= body_class %>">
  <%= render "flashes" -%>
  <%= yield %>
  <%= render "javascript" %>
</body>
</html>

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8" />
  <meta name="ROBOTS" content="NOODP" />
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <title><%= title %></title>
  <%= favicon_link_tag "favicon.ico" %>
  <%= stylesheet_link_tag :normalize, media: "all" %>
  <%= stylesheet_link_tag :application, media: "all" %>
  <%= csrf_meta_tags %>
</head>
<body class="<%= body_class %>">
  <%= render "flashes" -%>
  <%= yield %>
  <%= render "javascript" %>
</body>
</html>

Set width to device width to be nice to iPhones


<!DOCTYPE html>

  <%= content_for :head %>
  <meta name=viewport content="width=device-width, initial-scale=1">
  <%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track' => true %>
  <%= jquery_include_tag :google %>
  <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
  <%= csrf_meta_tags %>
  <%= render_custom_partial :bottom_of_head %>

<body class="<%= render_body_classes %>">

  <%= render_custom_partial :top_of_header %>

<%= link_to @board.name, board_path %>

<%= yield %>

  <%= link_to 'Board Index', board_path %>
  <%= render_custom_partial :bottom_of_footer %>

Add og namespace to <head>

Add og namespace to <head>


<!DOCTYPE html>
<html>
<head>
  <title>CommitAuditor</title>
  <%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track' => true %>
  <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
  <%= csrf_meta_tags %>
</head>
<body>

<%= yield %>

</body>
</html>

<!DOCTYPE html>
<html>
<head>
  <title>Commit Watcher</title>
  <%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track' => true %>
  <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
  <%= csrf_meta_tags %>
</head>
<body>

<%= yield %>

</body>
</html>

Change web UI project name

Change web UI project name


<!DOCTYPE html>
<html>
<head>
  <title>Mguides</title>
  <%= stylesheet_link_tag :all %>
  <script type="text/javascript" charset="utf-8" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
  <%= javascript_include_tag 'jquery.mustache.js', 'jquery-ui-1.8.14.custom.min.js' %>
  <%# javascript_include_tag :defaults %>
  <%= csrf_meta_tag %>
</head>
<body>

<%= yield %>

</body>
</html>

<!DOCTYPE html>
<html>
<head>
  <title>Mguides</title>
  <%= stylesheet_link_tag '/guide-assets/stylesheets/formtastic.css', '/guide-assets/stylesheets/formtastic_changes.css' %>
  <script type="text/javascript" charset="utf-8" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
  <%= javascript_include_tag '/guide-assets/javascripts/jquery.mustache.js', '/guide-assets/javascripts/jquery-ui-1.8.14.custom.min.js' %>
  <%# javascript_include_tag :defaults %>
  <%= csrf_meta_tag %>
</head>
<body>

  <div id="wrapper">
    <%= yield %>
  </div>

</body>
</html>

Update layout to use new (correct) asset paths, and wrap content in div required by slimmer


 <%= response.user ? response.user.name : 'Default' %>

<%= response.content %>

   Comments
  <%= link_to 'Add Comment', new_response_comment_path(response) %>
  <% response.comments.each do |comment| %>
    <%= render partial: 'comment', locals: {comment: comment} %>
  <% end %>
   <button data-id="<%response.id%>" class="upvote">UpVote</button>

 <%= response.user ? response.user.name : 'Default' %>

<%= response.content %>

   Comments
  <%= link_to 'Add Comment', new_response_comment_path(response) %>
  <% response.comments.each do |comment| %>
    <%= render partial: 'comment', locals: {comment: comment} %>
  <% end %>
   <button data-id="<%= response.id %>" class="upvote">UpVote</button>

Fix erb tag to populate data id attribute.


<%= response.content %>

Commented by: <%= response.responder_name %>

<%= render "votes/vote_count", :object => response%>
<% if !Vote.find_by(voter_id: current_user.id, votable_id: response.id, votable_type: "Response") && current_user.id != response.responder.id  %>
  <%= render "votes/vote_form", :object => response, :vote => @vote %>
<% end %>

Add vote count partial and vvote form partial to response partial


<%= heading %>

    <%= summary %>

    <%= introduction %>

Remove homepage intro class from view.

Remove homepage intro class from view.


<% unless Spree::Config.facebook_app_id.nil? %>
  <% content_for :head do %>
    <meta property="og:title" content="<%= @product.name %>" />
    <meta property="og:type" content="product" />
    <meta property="og:url" content="<%= product_url(@product) %>" />
    <meta property="og:description" content="<%= @product.description %>" />
    <meta property="fb:app_id" content="<%= Spree::Config.facebook_app_id %>" />
  <% end %>

<% end %>

Remove channelUrl from FB.init call

Remove channelUrl from FB.init call


<%# blocks for govuk_admin_template %>
<% content_for :page_title do %>page_title<% end %>
<% content_for :app_title do %>app_title<% end %>
<% content_for :head do %>
  <%= stylesheet_link_tag "application", :media => "all" %>
  <%= javascript_include_tag "application" %>
<% end %>

<% content_for :navbar_items do %>

    navbar_item

<% end %>
<% content_for :navbar_right do %>navbar_right<% end %>

<% content_for :footer_top do %>footer_top<% end %>
<% content_for :footer_version do %>footer_version<% end %>
<% content_for :body_end do %>body_end<% end %>

<%# use the govuk_admin_foundation layout %>
<%= render :template => 'layouts/govuk_admin_template' %>

<%# blocks for govuk_admin_template %>
<% content_for :page_title do %>page_title<% end %>
<% content_for :app_title do %>app_title<% end %>
<% content_for :head do %>
  <%= stylesheet_link_tag "application", :media => "all" %>
  <%= javascript_include_tag "application" %>
<% end %>

<% content_for :navbar_items do %>

    navbar_item

<% end %>
<% content_for :navbar_right do %>navbar_right<% end %>

<% content_for :footer_top do %>footer_top<% end %>
<% content_for :footer_version do %>footer_version<% end %>
<% content_for :body_end do %>body_end<% end %>

<%# use the govuk_admin_template layout %>
<%= render :template => 'layouts/govuk_admin_template' %>

Remove comment reference to old repository


About

Getting Started

Help

  <% if !current_user.guest? %>
    <%= erb :"nav/nitpicker_languages" %>
    <%= erb :"nav/ongoing_exercises" %>
    <%= erb :"nav/teams" %>
    <%= erb :"nav/notifications" %>
    <%= erb :"nav/account" %>
  <% else %>

Log in with GitHub

  <% end %>
  <% if settings.development? %>
    <%= erb :"nav/backdoor" %>
  <% end %>

Put the backdoor back in

Put the backdoor back in


IUCN Management categories

          Management categories
          Count
          %

        <% location.protected_areas_per_iucn_category.each do |row| %>

            <%= link_to row["iucn_category_name"], search_url("#{location.class.name.downcase}" => location.name, designation: row["iucn_category_name"], main: location.class.name.downcase.to_sym) %>
            <%= row["count"] %>
            <%= row["percentage"].to_f.round(2) %>

        <% end %>

IUCN Management categories

          Management categories
          Count
          %

        <% location.protected_areas_per_iucn_category.each do |row| %>

            <%= link_to row["iucn_category_name"], search_url("#{location.class.name.downcase}" => location.name, iucn_category: row["iucn_category_name"], main: location.class.name.downcase.to_sym) %>
            <%= row["count"] %>
            <%= row["percentage"].to_f.round(2) %>

        <% end %>

Fix search under IUCN categories tab in country pages


---
layout: default
title: Community
---

Friends and buddies

Some awesome people have taken the time to make localised Setup-style sites, picking the brains of the people around them, or those within a particular field of interest. Others have written up personal interviews with themselves. All are awesome.

Inspired

      <% @site.links[:inspired].each do |link| %>

        <a href="<%= link.url %>" title="View <%= link.name %>."><%= link.name %>

        <%= link.description %>

      <% end %>

Personal

      <% @site.links[:personal].each do |link| %>

<a href="<%= link.url %>" title="View <%= link.name %>."><%= link.name %>

      <% end %>

---
layout: default
title: Community
---

Friends and buddies

Some awesome people have taken the time to make their localised versions of the site, picking the brains of the people around them, or those within a particular field of interest. Others have written up their own personal interviews. All of them are awesome.

Inspired

      <% @site.links[:inspired].each do |link| %>

        <a href="<%= link.url %>" title="View <%= link.name %>."><%= link.name %>

        <%= link.description %>

      <% end %>

Personal

      <% @site.links[:personal].each do |link| %>

<a href="<%= link.url %>" title="View <%= link.name %>."><%= link.name %>

      <% end %>

Change up the text, remove the 'Setup' bit.


<% content_for :title do %>
  Do you have a valid Article 10 residence card?
<% end %>

<% content_for :body do %>
  <% if calculator.family_visit? %>
    The person you’re staying with must be your sponsor.
  <% else %>
    The person you’re visiting or travelling with must be your sponsor.
  <% end %>
<% end %>

<% options(
  "yes": "Yes",
  "no": "No"
) %>

<% content_for :title do %>
  Do you have an Article 10 or 20 card?
<% end %>

<% content_for :body do %>

  You only get one of these if you're both of the following:

  - the family member of an EEA citizen
  - living in a different EEA country than the one your family member is from

  Find out more about [Article 10 or 20 cards](/government/publications/entering-the-uk-as-the-holder-of-an-article-10-residence-card/entering-the-uk-as-the-holder-of-an-article-10-residence-card).

<% end %>

<% options(
  "yes": "Yes",
  "no": "No"
) %>

Clarify wording on article 10/20 check visa page

Clarify wording on check uk visa journey on article 10/20 page

Trello card: https://trello.com/c/4W4XrkFj/1872-update-article-10-20-residence-cards-in-visa-checker-tool


<% if @wip.main_thread? %>

New here?

      This is a great time to briefly introduce yourself, skills you'd like to contribute, and what you'd like to get out of <%= @wip.product.name %> (eg. experience, profit sharing, etc.)

<% end %>

<% if @wip.main_thread? && @wip.product.for_profit? %>

New here?

      This is a great time to briefly introduce yourself, skills you'd like to contribute, and what you'd like to get out of <%= @wip.product.name %> (eg. experience, profit sharing, etc.)

<% end %>

Hide intro link on meta products

Hide intro link on meta products


<!DOCTYPE html>

  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <title>Udongo</title>

  <%= stylesheet_link_tag 'backend/application', media: 'all' %>
  <%= javascript_include_tag 'modernizr' %>
  <%= javascript_include_tag 'backend/application' %>
  <%= csrf_meta_tags %>

      <%= yield %>

<!DOCTYPE html>

  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <title>Udongo</title>

  <%= stylesheet_link_tag 'backend/application', media: 'all' %>
  <%= yield(:stylesheets) %>
  <%= javascript_include_tag 'modernizr' %>
  <%= csrf_meta_tags %>

      <%= yield %>

  <%= yield(:javascripts_early) %>
  <%= javascript_include_tag 'backend/application' %>
  <%= yield(:javascripts) %>

Make sure the inline js loading works for the lightbox template.


Social Media Navigation

  <%= mail_to "mailto:downeydillon@gmail.com", itemprop:"email" do %>
    <%= image_tag("https://#{ENV["S3_HOST_ALIAS"]}/#{ENV["S3_BUCKET_NAME"]}/images/icons/gmail-64x64.png", width:"64", height:"64", alt:"Gmail link icon", id:"gmail-icon") %>
  <% end %>
  <%= link_to "https://github.com/downeyd27", itemprop:"url" do %>
    <%= image_tag("https://#{ENV["S3_HOST_ALIAS"]}/#{ENV["S3_BUCKET_NAME"]}/images/icons/github-64x64.png", width:"64", height:"64", alt:"Github link icon", class:"github-icon") %>
  <% end %>
  <%= link_to "https://www.linkedin.com/in/dillondowney", itemprop:"url" do %>
    <%= image_tag("https://#{ENV["S3_HOST_ALIAS"]}/#{ENV["S3_BUCKET_NAME"]}/images/icons/linkedin-64x64.png", width:"64", height:"64", alt:"Linkedin link icon", class:"linkedin-icon") %>
  <% end %>

Social Media Navigation

  <%= mail_to "mailto:downeydillon@gmail.com", itemprop:"email" do %>
    <%= image_tag("https://s3-us-west-2.amazonaws.com/downeyd27/images/icons/gmail-64x64.png", width:"64", height:"64", alt:"Gmail link icon", id:"gmail-icon") %>
  <% end %>
  <%= link_to "https://github.com/downeyd27", itemprop:"url" do %>
    <%= image_tag("https://s3-us-west-2.amazonaws.com/downeyd27/images/icons/github-64x64.png", width:"64", height:"64", alt:"Github link icon", class:"github-icon") %>
  <% end %>
  <%= link_to "https://www.linkedin.com/in/dillondowney", itemprop:"url" do %>
    <%= image_tag("https://s3-us-west-2.amazonaws.com/downeyd27/images/icons/linkedin-64x64.png", width:"64", height:"64", alt:"Linkedin link icon", class:"linkedin-icon") %>
  <% end %>

Fix image url path to cloudfront.

Fix image url path to cloudfront.


<% img_root = "https://s3.us-east-2.amazonaws.com/pbogardcom-images/" %>
<% img_path = "computers/old/#{computer["name"].parameterize}" %>

<%
uri = URI("#{img_root}#{img_path}.png")
request = Net::HTTP.new(uri.host)
response = request.request_head(uri.path)
img = response.code.to_i == 200 ? "#{img_path}.png" : "#{img_path}.jpg" %>

Response <%= response.code %>

<div id="<%= computer["name"].parameterize %>" class="container computer-summary">

    <h3 id="<%= computer["name"].parameterize %>"><%= computer["name"] %> <%= [computer["from"],computer["to"]].join("–").html_safe if computer["from"] && computer["to"]%>

    <%= "
#{computer["description"]}
".html_safe if computer["description"] %>

<%= project_image(img, attribution: computer["attribution"]) %>

    <%= "
#{computer["model"]}
".html_safe if computer["model"] %>
    <%= [%Q(
), computer["specs"].map{|spec| "
#{spec}
"}, %Q(
)].join.html_safe if computer["specs"] %>

<% img_root = "https://s3.us-east-2.amazonaws.com/pbogardcom-images/" %>
<% img_path = "computers/old/#{computer["name"].parameterize}" %>

<%
uri = URI("#{img_root}#{img_path}.png")
request = Net::HTTP.new(uri.host)
response = request.request_head(uri.path)
img = response.code.to_i == 200 ? "#{img_path}.png" : "#{img_path}.jpg" %>

<div id="<%= computer["name"].parameterize %>" class="container computer-summary">

    <h3 id="<%= computer["name"].parameterize %>"><%= computer["name"] %> <%= [computer["from"],computer["to"]].join("–").html_safe if computer["from"] && computer["to"]%>

    <%= "
#{computer["description"]}
".html_safe if computer["description"] %>

<%= project_image(img, attribution: computer["attribution"]) %>

    <%= "
#{computer["model"]}
".html_safe if computer["model"] %>
    <%= [%Q(
), computer["specs"].map{|spec| "
#{spec}
"}, %Q(
)].join.html_safe if computer["specs"] %>

Remove status text from computer summary partial


<% if request.image? %>

<%= image_tag request.image %>

<% end %>

<% if request.video_id %>

<%= embed_video(request, '100%', '100%') %>

<% end %>

<% if request.image? %>

<%= image_tag request.image %>

<% end %>

<% if request.video? %>

<%= embed_video(request, '100%', '100%') %>

<% end %>

Use the new embeddable predicate .video?


    Letters

      <%= link_to letters_path, class: 'btn btn-primary refresh' do %>
        Refresh
      <% end %>
      <%= link_to clear_letters_path, method: 'delete', data: { confirm: 'Are you sure?' }, class: 'btn btn-danger' do %>
        Clear
      <% end %>

  <% if first_letter = @letters.shift %>
    <div class="letter-opener" data-letters-path="<%= letters_path %>">

        <%= render partial: "item", locals: { letter: first_letter, active: true } %>
        <%= render partial: "item", collection: @letters, as: :letter, locals: { active: false } %>

  <% end %>

  <iframe name="mail" id="mail" src="<%= first_letter.present? ? letter_path(first_letter, style: first_letter.default_style) : 'about:blank' %>">

    Letters

      <%= link_to letters_path, class: 'btn btn-primary refresh' do %>
        Refresh
      <% end %>
      <%= link_to clear_letters_path, method: 'delete', data: { confirm: 'Are you sure?' }, class: 'btn btn-danger' do %>
        Clear
      <% end %>

    <div class="letter-opener" data-letters-path="<%= letters_path %>">

        <% if first_letter = @letters.shift %>
          <%= render partial: "item", locals: { letter: first_letter, active: true } %>
        <% end %>
        <%= render partial: "item", collection: @letters, as: :letter, locals: { active: false } %>

  <iframe name="mail" id="mail" src="<%= first_letter.present? ? letter_path(first_letter, style: first_letter.default_style) : 'about:blank' %>">

Make refresh work when no emails have been sent yet


    <%= image_tag "sotechsha-1_book-cover.png",
	class: "img-responsive center-block",
	alt: "Scratchでつくる! たのしむ! プログラミング道場",
        style: "width: 90%"
	%>

ソーテック社書籍詳細はこちら

本ページでは書籍内に利用する素材や、課題の答えを掲載しています。

    <% @sts_posts.each do |sts_post| %>

<%= content_tag(:strong, scrivito_value(sts_post.title)) %>

    <%= content_tag(:p, truncate(scrivito_value(sts_post.abstract),
                    :length => 250, :escape => false)) %>
    <%= link_to("もっと見る", scrivito_path(sts_post), :class => "btn btn-warning btn-block") %>

    <% end %>

<%= render 'shared/social_buttons' %>
<%= render 'shared/sitemap_sotechsha' %>
<%= render 'shared/footer' %>

    <%= image_tag "sotechsha-1_book-cover.png",
	class: "img-responsive center-block",
	alt: "Scratchでつくる! たのしむ! プログラミング道場",
        style: "width: 90%"
	%>

ソーテック社の書籍詳細はコチラ。

本ページでは書籍内で利用する素材や、課題の答えを掲載しています。

    <% @sts_posts.each do |sts_post| %>

<%= content_tag(:strong, scrivito_value(sts_post.title)) %>

    <%= content_tag(:p, truncate(scrivito_value(sts_post.abstract),
                    :length => 250, :escape => false)) %>
    <%= link_to("もっと見る", scrivito_path(sts_post), :class => "btn btn-warning btn-block") %>

    <% end %>

<%= render 'shared/social_buttons' %>
<%= render 'shared/sitemap_sotechsha' %>
<%= render 'shared/footer' %>

Tweak top description a bit in 公式ブック

Tweak top description a bit in 公式ブック


<%= render 'filters' %>

<%= render 'result_table', { submissions: submissions_participants,
                             table_title: "confirmed",
                             filter: :participants } %>

<%= render 'filters' %>

<% if submissions_participants.empty? %>
  <%= render 'empty_table', message: "No participants confirmed attending yet" %>
<% else %>
  <%= render 'result_table', { submissions: submissions_participants,
                               table_title: "participants",
                               filter: :participants } %>
<% end %>

Add empty box to participants if none

[144] Add empty box to participants if none


# Ernest environment
export ERNEST_ENV=<%= @env %>

# Rack environment
<% if @env == 'dev' %>
export RACK_ENV=development
<% elsif @env == 'test' %>
export RACK_ENV=test
<% else %>
export RACK_ENV=production
<% end %>

export NATS_URI=<%= @nats_uri %>
<% if ['dev', 'test'].include? @env %>
export NATS_URI_TEST=<%= @nats_uri_test %>
<% end %>

# Ernest environment
export ERNEST_ENV=<%= @env %>

export NATS_URI=<%= @nats_uri %>
<% if ['dev', 'test'].include? @env %>
export NATS_URI_TEST=<%= @nats_uri_test %>
<% end %>

Remove RACK_ENV as it is not used anymore


[Unit]
Description=The Apache HTTP Server
After=network.target remote-fs.target nss-lookup.target

[Service]
<% if platform_family?('debian') %>
Type=simple
<% else %>
Type=notify
<% end %>
Environment=LANG=C

ExecStart=/usr/sbin/<%= @binary_name %> -f /etc/<%= @apache_name %>/<%= @config_relative_path %> -DFOREGROUND
ExecReload=/usr/sbin/<%= @binary_name %> -f /etc/<%= @apache_name %>/<%= @config_relative_path %> -k graceful
ExecStop=/bin/kill -WINCH ${MAINPID}

KillSignal=SIGCONT
PrivateTmp=true

[Install]
WantedBy=multi-user.target

[Unit]
Description=The Apache HTTP Server
After=network.target remote-fs.target nss-lookup.target

[Service]
<% if node['platform_family'] == 'debian' %>
Type=simple
<% else %>
Type=notify
<% end %>
Environment=LANG=C

ExecStart=/usr/sbin/<%= @binary_name %> -f /etc/<%= @apache_name %>/<%= @config_relative_path %> -DFOREGROUND
ExecReload=/usr/sbin/<%= @binary_name %> -f /etc/<%= @apache_name %>/<%= @config_relative_path %> -k graceful
ExecStop=/bin/kill -WINCH ${MAINPID}

KillSignal=SIGCONT
PrivateTmp=true

[Install]
WantedBy=multi-user.target

Fix a failure in the systemd template

Fix a failure in the systemd template

Signed-off-by: Tim Smith <764ef62106582a09ed09dfa0b6bff7c05fd7d1e4@chef.io>


<%= render :partial => "/shared/submenu" if (show_submenu ||= true) and RefinerySetting.find_or_set(:show_submenu_on_content_pages, true) %>

<%= page_title %>

    <%= (body_content_left = yield :body_content_left).blank? ? @page[:body] : body_content_left %>

    <%= (body_content_right = yield :body_content_right).blank? ? @page[:side_body] : body_content_right %>

<% unless @page.live? %>

    This page is NOT live for public viewing.

<% end %>

Add new content page partial which pages can render for easier overriding of the global markup.


---
title: Habitat Docs - Using Habitat
description: Documentation and tutorials for Habitat including getting started; creating, building, and running Habitat packages; and dynamic configuration updates.
---
<%
=begin
%>
For now this is incomplete. Let's wrap this in a comment and use the refactored overview until we get this in the appropriate shape.
<%= partial "/partials/docs/quickstart"%>
<%
=end
%>
<%= partial "/partials/docs/using-hab-overview"%>
---
<%= partial "/partials/docs/using-hab-packages"%>
---
<%= partial "/partials/docs/using-hab-service-groups"%>
---
<%= partial "/partials/docs/using-hab-topologies"%>
---
<%= partial "/partials/docs/using-hab-config-updates"%>
---
<%= partial "/partials/docs/using-hab-file-uploads"%>
---
<%= partial "/partials/docs/using-hab-encryption"%>
---
<%= partial "/partials/docs/using-hab-update-strategy"%>
---
<%= partial "/partials/docs/using-hab-continuous-deployment"%>

---
title: Habitat Docs - Using Habitat
description: Documentation and tutorials for Habitat including getting started; creating, building, and running Habitat packages; and dynamic configuration updates.
---
<%
=begin
%>
For now this is incomplete. Let's wrap this in a comment and use the refactored overview until we get this in the appropriate shape.
<%= partial "/partials/docs/quickstart"%>
<%
=end
%>
<%= partial "/partials/docs/using-hab-overview"%>
---
<%= partial "/partials/docs/using-hab-packages"%>
---
<%= partial "/partials/docs/setting-up-a-ring"%>
---
<%= partial "/partials/docs/using-hab-service-groups"%>
---
<%= partial "/partials/docs/using-hab-topologies"%>
---
<%= partial "/partials/docs/using-hab-config-updates"%>
---
<%= partial "/partials/docs/using-hab-file-uploads"%>
---
<%= partial "/partials/docs/using-hab-encryption"%>
---
<%= partial "/partials/docs/using-hab-update-strategy"%>
---
<%= partial "/partials/docs/using-hab-continuous-deployment"%>

Add setting up a ring to partials

Add setting up a ring to partials

Signed-off-by: Tasha Drew <428a8f4391ea71add99cf4c8f8df7a5b6006c196@gmail.com>


[kunstmaan]
max_execution_time = 7200
max_input_time = 7200
memory_limit = -1
post_max_size = 200M
upload_max_filesize = 200M
max_file_uploads = 100
date.timezone = Europe/Brussels
date.default_latitude = 50.877369
date.default_longitude = 4.684167
xdebug.max_nesting_level = 1000

Fix the "Maximum function nesting level of 100 reached" error with Symfony2


  <% Competition.current.each do |competition| %>

<%= competition.name %>

    <% if can? :manage, Performance %>

Verwalten

      <%= nav_link_to "Benutzer", jmd_users_path if can? :manage, User %>
      <%= nav_link_to "Wettbewerbe", jmd_competitions_path if can? :manage, Competition %>
      <%= nav_link_to "Aktuelle Vorspiele", current_jmd_performances_path %>
      <%= nav_link_to "Ergebnisse", jmd_appearances_path %>

Ausgeben

      <%= nav_link_to "Jurybögen", make_jury_sheets_jmd_competition_performances_path(competition) %>
      <%= nav_link_to "Urkunden", make_certificates_jmd_competition_performances_path(competition) %>

    <% elsif can? :read, Performance %>

Einsehen

      <%= nav_link_to "Aktuelle Vorspiele", current_jmd_performances_path %>

    <% end %>
  <% end %>

  <% if can? :manage, Performance %>

Verwalten

    <%= nav_link_to "Benutzer", jmd_users_path if can? :manage, User %>
    <%= nav_link_to "Wettbewerbe", jmd_competitions_path if can? :manage, Competition %>
    <%= nav_link_to "Aktuelle Vorspiele", current_jmd_performances_path %>
    <%= nav_link_to "Ergebnisse", jmd_appearances_path %>

  <% elsif can? :read, Performance %>

Einsehen

    <%= nav_link_to "Aktuelle Vorspiele", current_jmd_performances_path %>

  <% end %>

Clean up sidebar for signed-in users

Clean up sidebar for signed-in users


<%= render_message do %>
  <%= Alchemy.t("You are about to leave Alchemy") %>
<% end %>

  <%= Alchemy.t("Do you want to") %>
  <%= link_to Alchemy.t('stay logged in'), alchemy.root_path, class: 'button' %>

<%= form_tag Alchemy.logout_path, method: 'delete', class: 'buttons' do %>
  <%= Alchemy.t('or to completely') %>
  <%= button_tag Alchemy.t(:logout), autofocus: true %>
<% end %>

<%= render_message do %>
  <%= Alchemy.t("You are about to leave Alchemy") %>
<% end %>

  <%= Alchemy.t("Do you want to") %>
  <%= link_to Alchemy.t('stay logged in'), alchemy.root_path, class: 'button secondary' %>

<%= form_tag Alchemy.logout_path, method: 'delete', class: 'buttons' do %>
  <%= Alchemy.t('or to completely') %>
  <%= button_tag Alchemy.t(:logout), autofocus: true %>
<% end %>

Use a secondary button in leave dialog

Use a secondary button in leave dialog

The secondary action is to stay logged in while chosing to leave alchemy admin.