Updates Copyright information in footer.

<!doctype html>
<html lang="<%= @locale %>">

    <%= if @conn.assigns[:user] do %>
      <%= if @user.noindex? do %>
        <meta name="robots" content="noindex">
      <% end %>
    <% end %>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
        <title><%= if @conn.assigns[:user], do: "#{full_name(@conn.assigns[:user])} - vutuv", else: "vutuv" %></title>
        <%= if @conn.assigns[:user] do %>
        <meta name="description" content="<%= meta_description(@user, @conn.assigns[:user_tags]) %>">
        <% else %>
        <meta name="description" content="<%= gettext("Your Fast and Free Career Network. No expensive premium accounts! Get a free account in 30 seconds.") %>">
        <%= if @conn.assigns[:prefetch] do %>
          <link rel="prefetch" title="Most followed users" href="/listings/most_followed_users">
        <% end %>
        <% end %>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel="shortcut icon" href="/favicon.ico">
        <link rel="icon" href="/favicon.ico">
        <meta name="theme-color" content="#ffffff">
        <%= embed_css @conn %>

    <body class = "<%= @conn.assigns[:body_class] %>">

    <%= if @conn.assigns[:current_user] do %>
      <%= button to: session_path(@conn, :delete, @current_user), method: "delete", class: "button button--icon navigation__icon", form: [style: "flex: 1;", class: "button button--icon"] do %>
      <i title="<%= gettext("Log Out") %>" class="icon icon--lock">
      <% end %>
    <% else %>
      <%= link to: session_path(@conn, :new), class: "navigation__icon" do %>
      <i title="<%= gettext("Log In") %>" class="icon icon--lock">
      <% end %>
    <% end %>

      <img src="data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20134.35%2034.65%27%3E%3Ctitle%3Elogo%3C%2Ftitle%3E%3Cpath%20d%3D%27M10.19%2034.05q-2.56-5-5.19-11.7T0%207.75h7.9q.5%202%201.18%204.23t1.41%204.6q.73%202.32%201.46%204.52t1.43%204q.65-1.8%201.4-4t1.48-4.52q.73-2.33%201.41-4.6t1.18-4.23h7.7q-2.36%207.9-5%2014.6t-5.19%2011.7zM52.95%2033.15a41.42%2041.42%200%200%201-4.9%201%2040.27%2040.27%200%200%201-6.3.47%2014.94%2014.94%200%200%201-5.58-.9%208.46%208.46%200%200%201-3.53-2.5%209.85%209.85%200%200%201-1.85-3.88%2020.82%2020.82%200%200%201-.55-5V7.75h7.45V21.5a10.65%2010.65%200%200%200%201%205.2q.95%201.6%203.55%201.6.8%200%201.7-.08t1.6-.17V7.75h7.45zM59.7%201.2L67.15%200v7.75h9v6.2h-9v9.25a7.36%207.36%200%200%200%20.83%203.75q.82%201.4%203.32%201.4a14.2%2014.2%200%200%200%202.48-.23%2012.62%2012.62%200%200%200%202.33-.62l1%205.8a21.08%2021.08%200%200%201-3%20.95%2017.51%2017.51%200%200%201-4.05.4%2013.34%2013.34%200%200%201-5-.82%207.91%207.91%200%200%201-3.2-2.3%208.54%208.54%200%200%201-1.67-3.58%2021%2021%200%200%201-.48-4.65zM117.99%2034.05q-2.56-5-5.19-11.7t-5-14.6h7.9q.5%202%201.18%204.23t1.41%204.6q.73%202.32%201.46%204.52t1.43%204q.65-1.8%201.4-4t1.48-4.52q.73-2.33%201.41-4.6t1.17-4.23h7.7q-2.36%207.9-5%2014.6t-5.19%2011.7zM81.9%2033.15a41.38%2041.38%200%200%200%204.9%201%2040.26%2040.26%200%200%200%206.3.47%2014.94%2014.94%200%200%200%205.58-.9%208.46%208.46%200%200%200%203.53-2.52%209.84%209.84%200%200%200%201.85-3.88%2020.8%2020.8%200%200%200%20.55-5V7.75h-7.46V21.5a10.65%2010.65%200%200%201-1%205.2q-.95%201.6-3.55%201.6-.8%200-1.7-.08t-1.6-.17V7.75h-7.4z%27%20fill%3D%27%231a1918%27%2F%3E%3C%2Fsvg%3E">
      <%= link to: search_query_path(@conn, :new), class: "navigation__icon  navigation__icon--right" do %>
      <i title="<%= gettext "Search" %>" class="icon icon--search">
      <% end %>

  <%= render @view_module, @view_template, assigns %>

      Copyright © 2017 Wintermeyer Consulting |  Source-Code |
      <%= gettext "Submit a bugreport or a feature request." %> | <%= gettext "Privacy Policy" %> | <%= link gettext("About us"), to: page_path(@conn, :impressum) %> | vutuv <%= Application.spec(:vutuv, :vsn) %>

<!doctype html>
<html lang="<%= @locale %>">

    <%= if @conn.assigns[:user] do %>
      <%= if @user.noindex? do %>
        <meta name="robots" content="noindex">
      <% end %>
    <% end %>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
        <title><%= if @conn.assigns[:user], do: "#{full_name(@conn.assigns[:user])} - vutuv", else: "vutuv" %></title>
        <%= if @conn.assigns[:user] do %>
        <meta name="description" content="<%= meta_description(@user, @conn.assigns[:user_tags]) %>">
        <% else %>
        <meta name="description" content="<%= gettext("Your Fast and Free Career Network. No expensive premium accounts! Get a free account in 30 seconds.") %>">
        <%= if @conn.assigns[:prefetch] do %>
          <link rel="prefetch" title="Most followed users" href="/listings/most_followed_users">
        <% end %>
        <% end %>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel="shortcut icon" href="/favicon.ico">
        <link rel="icon" href="/favicon.ico">
        <meta name="theme-color" content="#ffffff">
        <%= embed_css @conn %>

    <body class = "<%= @conn.assigns[:body_class] %>">

    <%= if @conn.assigns[:current_user] do %>
      <%= button to: session_path(@conn, :delete, @current_user), method: "delete", class: "button button--icon navigation__icon", form: [style: "flex: 1;", class: "button button--icon"] do %>
      <i title="<%= gettext("Log Out") %>" class="icon icon--lock">
      <% end %>
    <% else %>
      <%= link to: session_path(@conn, :new), class: "navigation__icon" do %>
      <i title="<%= gettext("Log In") %>" class="icon icon--lock">
      <% end %>
    <% end %>

      <img src="data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20134.35%2034.65%27%3E%3Ctitle%3Elogo%3C%2Ftitle%3E%3Cpath%20d%3D%27M10.19%2034.05q-2.56-5-5.19-11.7T0%207.75h7.9q.5%202%201.18%204.23t1.41%204.6q.73%202.32%201.46%204.52t1.43%204q.65-1.8%201.4-4t1.48-4.52q.73-2.33%201.41-4.6t1.18-4.23h7.7q-2.36%207.9-5%2014.6t-5.19%2011.7zM52.95%2033.15a41.42%2041.42%200%200%201-4.9%201%2040.27%2040.27%200%200%201-6.3.47%2014.94%2014.94%200%200%201-5.58-.9%208.46%208.46%200%200%201-3.53-2.5%209.85%209.85%200%200%201-1.85-3.88%2020.82%2020.82%200%200%201-.55-5V7.75h7.45V21.5a10.65%2010.65%200%200%200%201%205.2q.95%201.6%203.55%201.6.8%200%201.7-.08t1.6-.17V7.75h7.45zM59.7%201.2L67.15%200v7.75h9v6.2h-9v9.25a7.36%207.36%200%200%200%20.83%203.75q.82%201.4%203.32%201.4a14.2%2014.2%200%200%200%202.48-.23%2012.62%2012.62%200%200%200%202.33-.62l1%205.8a21.08%2021.08%200%200%201-3%20.95%2017.51%2017.51%200%200%201-4.05.4%2013.34%2013.34%200%200%201-5-.82%207.91%207.91%200%200%201-3.2-2.3%208.54%208.54%200%200%201-1.67-3.58%2021%2021%200%200%201-.48-4.65zM117.99%2034.05q-2.56-5-5.19-11.7t-5-14.6h7.9q.5%202%201.18%204.23t1.41%204.6q.73%202.32%201.46%204.52t1.43%204q.65-1.8%201.4-4t1.48-4.52q.73-2.33%201.41-4.6t1.17-4.23h7.7q-2.36%207.9-5%2014.6t-5.19%2011.7zM81.9%2033.15a41.38%2041.38%200%200%200%204.9%201%2040.26%2040.26%200%200%200%206.3.47%2014.94%2014.94%200%200%200%205.58-.9%208.46%208.46%200%200%200%203.53-2.52%209.84%209.84%200%200%200%201.85-3.88%2020.8%2020.8%200%200%200%20.55-5V7.75h-7.46V21.5a10.65%2010.65%200%200%201-1%205.2q-.95%201.6-3.55%201.6-.8%200-1.7-.08t-1.6-.17V7.75h-7.4z%27%20fill%3D%27%231a1918%27%2F%3E%3C%2Fsvg%3E">
      <%= link to: search_query_path(@conn, :new), class: "navigation__icon  navigation__icon--right" do %>
      <i title="<%= gettext "Search" %>" class="icon icon--search">
      <% end %>

  <%= render @view_module, @view_template, assigns %>

      Copyright © 2016 AMOOMA |  Source-Code |
      <%= gettext "Submit a bugreport or a feature request." %> | <%= gettext "Privacy Policy" %> | <%= link gettext("About us"), to: page_path(@conn, :impressum) %> | vutuv <%= Application.spec(:vutuv, :vsn) %>


current_user display bug

current_user display bug

<!DOCTYPE html>

    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="">
    <meta name="author" content="">

    <title>Panoptikum</title>
    <link rel="stylesheet"
          href="<%= static_path(@conn, "/css/app.css") %>">
    <link href='https://fonts.googleapis.com/css?family=Ubuntu'
          rel='stylesheet'
          type='text/css'>

            <button type="button"
                    class="navbar-toggle collapsed"
                    data-toggle="collapse"
                    data-target="#navbar"
                    aria-expanded="false"
                    aria-controls="navbar">
              Toggle navigation

            </button>

            Panoptikum.io

<%= link "Categories", to: category_frontend_path(@conn, :index) %>

<%= link "Latest Episodes", to: episode_frontend_path(@conn, :latest) %>

              <%= if @current_user do %>

                    <%= link ["@", @current_user.username], to: user_frontend_path(@conn, :show) %>

                <%= if @current_user.admin do %>

                      Administration

<%= link "Categories",   to: category_path(@conn, :index) %>

<%= link "Feed Backlog", to: feed_backlog_path(@conn, :index) %>

<%= link "Languages",    to: language_path(@conn, :index) %>

<%= link "Podcasts",     to: podcast_path(@conn, :index) %>

<%= link "Users",        to: user_path(@conn, :index) %>

                <% end %>

                    <%= link "Log out", to: session_path(@conn, :delete, @current_user),
                                        method: "delete" %>

              <% else %>

<%= link "Register", to: user_path(@conn, :new) %>

<%= link "Log in", to: session_path(@conn, :new) %>

              <% end %>

<%= get_flash(@conn, :info) %>

<%= get_flash(@conn, :error) %>

        <%= render @view_module, @view_template, assigns %>


Improves the footer text.

Improves the footer text.


metadata corrections

metadata corrections

<!DOCTYPE html>

    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="A private blog">
    <meta name="author" content="Philip Müller">

    <title>Anna und Philips Kanada-Blog</title>
    <link rel="stylesheet" href="<%= static_path(@conn, "/css/app.css") %>">

            <%= if @current_user do %>

Eingeloggt als <%= @current_user.first_name <> " " <> @current_user.last_name %>

<%= link "Artikel-Übersicht", to: "/" %>

              <%= if @current_user.role == "admin" do %>

<%= link "Admin-Bereich", to: admin_article_path(@conn, :index) %>

              <% end %>
            <% end %>

<%= get_flash(@conn, :info) %>

<%= get_flash(@conn, :error) %>

<%= get_flash(@conn, :success) %>

        <%= render @view_module, @view_template, assigns %>

<!DOCTYPE html>

    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="TODO">
    <meta name="author" content="TODO">

    <title>Anna und Philips Kanada-Blog</title>
    <link rel="stylesheet" href="<%= static_path(@conn, "/css/app.css") %>">

            <%= if @current_user do %>

Eingeloggt als <%= @current_user.first_name <> " " <> @current_user.last_name %>

<%= link "Artikel-Übersicht", to: "/" %>

              <%= if @current_user.role == "admin" do %>

<%= link "Admin-Bereich", to: admin_article_path(@conn, :index) %>

              <% end %>
            <% end %>

<%= get_flash(@conn, :info) %>

<%= get_flash(@conn, :error) %>

<%= get_flash(@conn, :success) %>

        <%= render @view_module, @view_template, assigns %>


Add admin statistics icon back

Add admin statistics icon back

      <%= link(to: "#", class: "site_nav__link") do %>
        <%= icon("search", :large, "Search") %>
      <% end %>

        <%= form_tag Routes.post_path(@conn, :index), method: :get do %>
          <input type="search" name="q" id="q" aria-label="Search">
          <%= submit "Search" %>
        <% end %>

      <%= link(to: "#", class: "site_nav__link", aria_label: "About TIL") do %>
        <%= icon("help", :large, "About TIL") %>
      <% end %>

          Today I Learned is an open-source project by

            Hashrocket

          that exists to catalogue the sharing & accumulation of knowledge
          as it happens day-to-day. Posts have a 200-word limit, and
          posting is open to any Rocketeer as well as selected friends of
          Hashrocket. We hope you enjoy learning along with us.

              <%= link(to: "https://twitter.com/#{Application.get_env(:tilex, :default_twitter_handle)}", class: "social_twitter") do %>
                <%= icon("twitter") %>
                <%= "/#{Application.get_env(:tilex, :default_twitter_handle)}" %>
              <% end %>

              <%= link(to: "https://github.com/hashrocket/tilex", class: "social_github") do %>
                <%= icon("github") %>
                /hashrocket/tilex
              <% end %>

      <%= link(to: Routes.stats_path(@conn, :index), class: "site_nav__link") do %>
        <%= icon("stats", :large, "Statistics") %>
      <% end %>

      <%= link(to: "https://www.getrevue.co/profile/til/", class: "site_nav__link") do %>
        <%= icon("newsletter", :large, "Newsletter") %>
      <% end %>

      <%= link(to: Routes.post_path(@conn, :random), class: "site_nav__link", rel: "nofollow") do %>
        <%= icon("surprise", :large, "Surprise Me") %>
      <% end %>

    <%= if current_user(@conn) do %>

        <%= link(to: Routes.stats_path(@conn, :developer), class: "site_nav__link") do %>
          <%= icon("stats", :large, "Statistics") %>
        <% end %>

    <% end %>

      <%= link(to: "#", class: "site_nav__link") do %>
        <%= icon("search", :large, "Search") %>
      <% end %>

        <%= form_tag Routes.post_path(@conn, :index), method: :get do %>
          <input type="search" name="q" id="q" aria-label="Search">
          <%= submit "Search" %>
        <% end %>

      <%= link(to: "#", class: "site_nav__link", aria_label: "About TIL") do %>
        <%= icon("help", :large, "About TIL") %>
      <% end %>

          Today I Learned is an open-source project by

            Hashrocket

          that exists to catalogue the sharing & accumulation of knowledge
          as it happens day-to-day. Posts have a 200-word limit, and
          posting is open to any Rocketeer as well as selected friends of
          Hashrocket. We hope you enjoy learning along with us.

              <%= link(to: "https://twitter.com/#{Application.get_env(:tilex, :default_twitter_handle)}", class: "social_twitter") do %>
                <%= icon("twitter") %>
                <%= "/#{Application.get_env(:tilex, :default_twitter_handle)}" %>
              <% end %>

              <%= link(to: "https://github.com/hashrocket/tilex", class: "social_github") do %>
                <%= icon("github") %>
                /hashrocket/tilex
              <% end %>

      <%= link(to: Routes.stats_path(@conn, :index), class: "site_nav__link") do %>
        <%= icon("stats", :large, "Statistics") %>
      <% end %>

      <%= link(to: "https://www.getrevue.co/profile/til/", class: "site_nav__link") do %>
        <%= icon("newsletter", :large, "Newsletter") %>
      <% end %>

      <%= link(to: Routes.post_path(@conn, :random), class: "site_nav__link", rel: "nofollow") do %>
        <%= icon("surprise", :large, "Surprise Me") %>
      <% end %>

    <%= if current_user(@conn) do %>

      <%= link("Statistics", to: Routes.stats_path(@conn, :developer), class: "site_nav__link") %>

    <% end %>


Hide "in review" when the list is empty

Hide "in review" when the list is empty

<%= @project.name %>

<%= for batch <- @batches do %>

<%= stringify_state(batch.state) %>

<%= for patch <- batch.patches do %>

<%= patch.commit %>

<% end %>

<% end %>
<%= if @unbatched_patches != [] do %>

In review

<%= for patch <- @unbatched_patches do %>

<%= patch.commit %>

<% end %>

<% end %>

<%= @project.name %>

<%= for batch <- @batches do %>

<%= stringify_state(batch.state) %>

<%= for patch <- batch.patches do %>

<%= patch.commit %>

<% end %>

<% end %>

In review

<%= for patch <- @unbatched_patches do %>

<%= patch.commit %>

<% end %>


link to google auth

link to google auth

Meet POST Bot –

  the easiest way to get valuable feedback on your Articles

  <%= link to: auth_path(@conn, :request, :slack) do %>

  <% end %>

Welcome to POST Bot:

          <%= if @current_team && @current_team.google_token do %>

          <% else %>
            1
          <% end %>

Step 1 – Sign in with Slack

          <%= if @current_team && @current_team.google_token do %>
            DONE
          <% else %>
            <%= link to: auth_path(@conn, :request, :slack) do %>

            <% end %>
          <% end %>

          <%= if @current_team && @current_team.google_token do %>

          <% else %>
            2
          <% end %>

Step 2 – Authenticate Google Analytics

          <%= if @current_team && @current_team.google_token do %>
            Already Linked
          <% else %>
            <%= link to: auth_path(@conn, :request, :google) do %>
              Link your Google account
            <% end %>
          <% end %>

          3

Step 3 – Select your Google Analytics web property

          <%= if @current_team && @current_team.google_token do %>
            <%= form_for team_changeset(@current_team), team_path(@conn, :update, @current_team), fn form -> %>
              <%= select form, :google_property_id, web_properties(@current_team), class: "form-control", prompt: "Select Google Analytics Property" %>
              <%= submit "Submit" %>
            <% end %>
          <% else %>
            Link your Google account first.
          <% end %>

Try POST now:

      <%= link to: auth_path(@conn, :request, :slack) do %>

      <% end %>

Have feedback or questions? Contact us

Meet POST Bot –

  the easiest way to get valuable feedback on your Articles

  <%= link to: auth_path(@conn, :request, :slack) do %>

  <% end %>

Welcome to POST Bot:

          <%= if @current_team && @current_team.google_token do %>

          <% else %>
            1
          <% end %>

Step 1 – Sign in with Slack

          <%= if @current_team && @current_team.google_token do %>
            DONE
          <% else %>
            <%= link to: auth_path(@conn, :request, :slack) do %>

            <% end %>
          <% end %>

          <%= if @current_team && @current_team.google_token do %>

          <% else %>
            2
          <% end %>

Step 2 – Authenticate Google Analytics

          <%= if @current_team && @current_team.google_token do %>
            Already Linked
          <% else %>
            Link your Google account.
          <% end %>

          3

Step 3 – Select your Google Analytics web property

          <%= if @current_team && @current_team.google_token do %>
            <%= form_for team_changeset(@current_team), team_path(@conn, :update, @current_team), fn form -> %>
              <%= select form, :google_property_id, web_properties(@current_team), class: "form-control", prompt: "Select Google Analytics Property" %>
              <%= submit "Submit" %>
            <% end %>
          <% else %>
            Link your Google account first.
          <% end %>

Try POST now:

      <%= link to: auth_path(@conn, :request, :slack) do %>

      <% end %>

Have feedback or questions? Contact us


:skull: unused layout

:skull: unused layout

<!DOCTYPE html>

    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="">
    <meta name="author" content="">

    <title>Hello Codenames!</title>
    <link rel="stylesheet" href="<%= static_path(@conn, "/css/app.css") %>">

Get Started

<%= get_flash(@conn, :info) %>

<%= get_flash(@conn, :error) %>

        <%= render @view_module, @view_template, assigns %>


change font url to be https

change font url to be https

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="">
    <meta name="author" content="">

    <title>Whistler News Reader</title>

    <link href="https://fonts.googleapis.com/css?family=Merriweather:400,300" rel="stylesheet" type="text/css">
    <link href='https://fonts.googleapis.com/css?family=Lato:400,600' rel='stylesheet' type='text/css'>
  </head>

  <body>
    <%= render @view_module, @view_template, assigns %>
    <%= if Mix.env == :dev do %>
      <script src="http://localhost:4001/bundle.js"></script>
    <% else %>
      <script src="<%= static_path(@conn, "/js/bundle.js") %>"></script>
    <% end %>
  </body>
</html>

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="">
    <meta name="author" content="">

    <title>Whistler News Reader</title>

    <link href="http://fonts.googleapis.com/css?family=Merriweather:400,300" rel="stylesheet" type="text/css">
    <link href='https://fonts.googleapis.com/css?family=Lato:400,600' rel='stylesheet' type='text/css'>
  </head>

  <body>
    <%= render @view_module, @view_template, assigns %>
    <%= if Mix.env == :dev do %>
      <script src="http://localhost:4001/bundle.js"></script>
    <% else %>
      <script src="<%= static_path(@conn, "/js/bundle.js") %>"></script>
    <% end %>
  </body>
</html>


change the app. title

change the app. title

<!DOCTYPE html>

    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="">
    <meta name="author" content="">

    <title>PlanningPoker</title>
    <link rel="stylesheet" href="<%= static_path(@conn, "/css/app.css") %>">

Planning Poker

<%= get_flash(@conn, :info) %>

<%= get_flash(@conn, :error) %>

        <%= render @view_module, @view_template, assigns %>

<!DOCTYPE html>

    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="">
    <meta name="author" content="">

    <title>Hello PlanningPoker!</title>
    <link rel="stylesheet" href="<%= static_path(@conn, "/css/app.css") %>">

Planning Poker

<%= get_flash(@conn, :info) %>

<%= get_flash(@conn, :error) %>

        <%= render @view_module, @view_template, assigns %>


Change default welcome heading

Change default welcome heading

<%= gettext "Welcome to %{name}", name: "Chatroom!" %>

The world's simplest chat application.

    <input type='text' id='name' class='form-control' placeholder='Name' />

    <input type='text' id='message' class='form-control' placeholder='Message' />

<%= gettext "Welcome to %{name}", name: "Phoenix!" %>

A productive web framework that
does not compromise speed and maintainability.

    <input type='text' id='name' class='form-control' placeholder='Name' />

    <input type='text' id='message' class='form-control' placeholder='Message' />


Do not show opening_hours if they are nil

Show company

    Name:
    <%= @company.name %>

    Phone:
    <%= @company.phone %>

    Email:
    <%= @company.email %>

    Website:
    <a href="<%= @company.website_url %>"><%= @company.website_url %>

    Facebook:
    <a href="http://www.facebook.com/<%= @company.facebook %>"><%= @company.facebook %>

    Twitter:
    <a href="http://www.twitter.com/<%= @company.twitter %>"><%= @company.twitter %>

    Opening hours

      <%= if @company.opening_hours != nil do %>
        <%= for {day, arr} <- @company.opening_hours do %>

<%= String.capitalize(day) %>: <%= arr %>

        <% end %>
      <% end %>

    Location
    <%= @company.location_name %>
    <%= @company.location_street %>
    <%= @company.location_city %>
    <%= @company.location_zip %>
    <%= @company.location_country %>

    Description:
    <%= @company.description %>

Show company

    Name:
    <%= @company.name %>

    Phone:
    <%= @company.phone %>

    Email:
    <%= @company.email %>

    Website:
    <a href="<%= @company.website_url %>"><%= @company.website_url %>

    Facebook:
    <a href="http://www.facebook.com/<%= @company.facebook %>"><%= @company.facebook %>

    Twitter:
    <a href="http://www.twitter.com/<%= @company.twitter %>"><%= @company.twitter %>

    Opening hours

      <%= for {day, arr} <- @company.opening_hours do %>

<%= String.capitalize(day) %>: <%= arr %>

      <% end %>

    Location
    <%= @company.location_name %>
    <%= @company.location_street %>
    <%= @company.location_city %>
    <%= @company.location_zip %>
    <%= @company.location_country %>

    Description:
    <%= @company.description %>


better message admin index view

better message admin index view

Listing messages

    Type
    Creator
    Content
    Date
    Topic
    Subtopic
    Event
    Actions

    <%= for message <- @messages.entries do %>

        <span class="label label-<%= message.type %>"><%= message.type %>
        <nobr><%= message.creator.name %></nobr>
        <%= raw message.content %>
        <nobr><%= message.inserted_at %></nobr>
        <%= message.topic %>
        <%= message.subtopic %>
        <%= message.event %>

          <nobr>
            <%= link "Show", to: message_path(@conn, :show, message),
                             class: "btn btn-default btn-xs" %>
            <%= link "Edit", to: message_path(@conn, :edit, message),
                             class: "btn btn-default btn-xs" %>
            <%= link "Delete", to: message_path(@conn, :delete, message),
                               method: :delete,
                               data: [confirm: "Are you sure?"],
                               class: "btn btn-danger btn-xs" %>
          </nobr>

    <% end %>

<%= pagination_links @conn, @messages,
                     view_style: :bootstrap %>

<%= link "New message", to: message_path(@conn, :new) %>

Listing messages

    Type
    Creator
    Content
    Date
    Topic
    Subtopic
    Event
    Actions

    <%= for message <- @messages.entries do %>

        <span class="label label-<%= message.type %>"><%= message.type %>
        <%= message.creator.name %>
        <%= raw message.content %>
        <%= message.inserted_at %>
        <%= message.topic %>
        <%= message.subtopic %>
        <%= message.event %>

          <%= link "Show", to: message_path(@conn, :show, message), class: "btn btn-default btn-xs" %>
          <%= link "Edit", to: message_path(@conn, :edit, message), class: "btn btn-default btn-xs" %>
          <%= link "Delete", to: message_path(@conn, :delete, message), method: :delete, data: [confirm: "Are you sure?"], class: "btn btn-danger btn-xs" %>

    <% end %>

<%= pagination_links @conn, @messages,
                     view_style: :bootstrap %>

<%= link "New message", to: message_path(@conn, :new) %>


BugFix: Run Release with option foreground on Windows does not work. (#282)

#280

:: This batch file handles managing an Erlang node as a Windows service.
::
:: Check the :usage section for information about what this script provides

:: Set variables that describe the release
@set rel_name=<%= release_name %>
@set rel_vsn=<%= release_version %>
@set erts_vsn=<%= erts_vsn %>
@set erl_opts=<%= erl_opts %>

:: Discover the release root directory from the directory
:: of this script
@set script_dir=%~dp0
@for %%A in ("%script_dir%\..\..") do @(
  set release_root_dir=%%~fA
)
@set rel_dir=%release_root_dir%\releases\%rel_vsn%

@if "%RELEASE_MUTABLE_DIR%"=="" (
  set mutable_dir=%release_root_dir%\var
) else (
  set mutable_dir=%RELEASE_MUTABLE_DIR
)

@if "%RELEASE_CONFIG_DIR%"=="" (
  set config_dir=%release_root_dir%
) else (
  set config_dir=%RELEASE_CONFIG_DIR%
)

@set log_dir=%mutable_dir%\log

:: Create directories which don't exist
@if not exist %mutable_dir% mkdir %mutable_dir%
@if not exist %config_dir% mkdir %config_dir%
@if not exist %log_dir% mkdir %log_dir%

@call :find_erts_dir
@call :find_sys_config
@call :find_vm_args
@call :set_boot_script_var

@set service_name=%rel_name%_%rel_vsn%
@set bindir=%erts_dir%\bin
@set progname=erl.exe
@set clean_boot_script=%release_root_dir%\bin\start_clean
@set erlsrv="%bindir%\erlsrv.exe"
@set epmd="%bindir%\epmd.exe"
@set escript="%bindir%\escript.exe"
@set werl="%bindir%\werl.exe"
@set nodetool="%release_root_dir%\bin\nodetool"
@set consolidated_dir=%rootdir%\lib\%rel_name%-%rel_vsn%\consolidated
@set hook_dir=%rel_dir%\hooks
@set command_dir=%rel_dir%\commands

:: Extract node type and name from vm.args
@for /f "usebackq tokens=1-2" %%I in (`findstr /b "\-name \-sname" "%vm_args%"`) do @(
  set node_type=%%I
  set node_name=%%J
)

:: Extract cookie from vm.args
@for /f "usebackq tokens=1-2" %%I in (`findstr /b \-setcookie "%vm_args%"`) do @(
  set cookie=%%J
)

:: Write the erl.ini file to set up paths relative to this script
@call :write_ini

:: If a start.boot file is not present, copy one from the named .boot file
@if not exist "%rel_dir%\start.boot" (
  copy "%rel_dir%\%rel_name%.boot" "%rel_dir%\start.boot" >nul
)

@set taskname="%1"
@shift /1
@set args=

@setlocal EnableDelayedExpansion
:parse_args
@set param=%1
@if "!param!"=="" @goto :args_parsed
@if "!args!"=="" (
  @set largs=%param%
) else (
  @set largs=%largs% %param%
)
@set "delim= "
@shift /1
@goto :parse_args
:args_parsed
@endlocal & @set args=%largs%

@if %taskname%=="install" @goto install
@if %taskname%=="uninstall" @goto uninstall
@if %taskname%=="start" @goto start
@if %taskname%=="foreground" @goto foreground
@if %taskname%=="console" @goto console
@if %taskname%=="stop" @goto stop
@if %taskname%=="restart" @call :stop && @goto start
@if %taskname%=="reboot" @call :stop && @goto start
@if %taskname%=="reload_config" @goto reload_config
@if %taskname%=="upgrade" @goto upgrade
@if %taskname%=="downgrade" @goto upgrade
@if %taskname%=="attach" @goto remote_console
@if %taskname%=="remote_console" @goto remote_console
@if %taskname%=="pid" @goto pid
@if %taskname%=="ping" @goto ping
@if %taskname%=="pingpeer" @goto pingpeer
@if %taskname%=="escript" @goto escript
@if %taskname%=="rpc" @goto rpc
@if %taskname%=="rpcterms" @goto rpcterms
@if %taskname%=="eval" @goto eval
@if %taskname%=="command" @goto command
@if %taskname%=="describe" @goto describe
@if %taskname%=="" @goto usage
@if exist "%command_dir%\%taskname%" (
  @"%command_dir%\%taskname%" %*
) else (
  @echo Unknown command: %taskname%
)
@goto :eof

:: Find the ERTS dir
:find_erts_dir
@if "%erts_vsn%"=="" (
  call :use_system_erts
) else (
  call :use_bundled_erts
)
@goto :eof

:: Load system ERTS info
:use_system_erts
@for /f "delims=" %%i in ('where erl') do set system_erl="%%i"
@if %system_erl%=="" (
  echo failed to locate the Erlang Runtime System!
  exit 1
)
@set system_root_dir_cmd=%system_erl% -noshell -eval "io:format(\"~s\", [filename:nativename(code:root_dir())])." -s init stop
@for /f "delims=" %%i in (`%%system_root_dir_cmd%%`) do set system_root=%%i
@set system_erts_vsn_cmd=%system_erl% -noshell -eval "Ver=erlang:system_info(version),io:format(\"~s\", [Ver])" -s init stop
@for /f "delims=" %%i in (`%%system_erts_vsn_cmd%%`) do set system_erts_vsn=%%i
@set erl=%system_erl%
@set erts_vsn=%system_erts_vsn%
@set rootdir=%system_root%
@set erts_dir=%rootdir%\erts-%erts_vsn%
@goto :eof

:: Load bundled ERTS info
:use_bundled_erts
@set erts_dir=%release_root_dir%\erts-%erts_vsn%
@set erl=%erts_dir%\bin\erl
@set rootdir=%release_root_dir%
@goto :eof

:: Find the sys.config file
:find_sys_config
@set possible_sys=%release_config_dir%\sys.config
@if exist %possible_sys% (
  set sys_config_src=%possible_sys%
) else (
  set sys_config_src=%rel_dir%\sys.config
)
@set sys_config_target=%config_dir%\sys.config
:: Replace environment variables
@powershell -command "$content = get-content %sys_config_src%; [regex]::matches($content, '\${[\w\d_-]+}') | foreach { $content = $content.Replace($_.value, [System.Environment]::GetEnvironmentVariable($_.value)) }; out-file -filepath %sys_config_target% -inputobject $content -encoding ascii"
@set sys_config=%sys_config_target%
@goto :eof

:find_vm_args
@set possible_vmargs=%release_config_dir%\vm.args
@if exist %possible_vmargs% (
  set vmargs_src=%possible_vmargs%
) else (
  set vmargs_src=%rel_dir%\vm.args
)
@set vmargs_target=%config_dir%\vm.args
:: Replace environment variables
@powershell -command "$content = get-content %vmargs_src%; [regex]::matches($content, '\${[\w\d_-]+}') | foreach { $content = $content.Replace($_.value, [System.Environment]::GetEnvironmentVariable($_.value)) }; out-file -filepath %vmargs_target% -inputobject $content -encoding ascii"
@set vm_args=%vmargs_target%
@goto :eof

:: set boot_script variable
:set_boot_script_var
@if exist %rel_dir%\%rel_name%.boot (
  set boot_script=%rel_dir%\%rel_name%
) else (
  set boot_script=%rel_dir%\start
)
@goto :eof

:: Write the erl.ini file
:write_ini
@set erl_ini=%erts_dir%\bin\erl.ini
@set converted_bindir=%bindir:\=\\%
@set converted_rootdir=%rootdir:\=\\%
@echo [erlang] > "%erl_ini%"
@echo Bindir=%converted_bindir% >> "%erl_ini%"
@echo Progname=%progname% >> "%erl_ini%"
@echo Rootdir=%converted_rootdir% >> "%erl_ini%"
@goto :eof

:: Display usage information
:usage
@echo Usage: %~n0 ^<task^>
@echo.
@echo Service Control
@echo =====================
@echo install                             # installs the release as a service
@echo uninstall                           # uninstalls the release service
@echo start                               # starts the service
@echo start_boot                          # not implemented
@echo foreground                          # start the release in the foreground
@echo console                             # run the release in a local shell
@echo console_clean                       # not implemented
@echo stop                                # stops the service
@echo restart                             # restarts the release service
@echo reboot                              # alias for restart on Windows
@echo reload_config                       # reload the current system's configuration from disk
@echo.
@echo Upgrades
@echo =====================
@echo upgrade ^<version^>                   # upgrade the current release service
@echo downgrade ^<version^>                 # downgrade the current release service
@echo.
@echo Utilities
@echo =====================
@echo attach                              # alias for remote_console on Windows
@echo remote_console                      # open a remote console connected to the release
@echo pid                                 # get the process id of the running release
@echo ping                                # ping the current release service, pong is returned if ok
@echo pingpeer ^<peer^>                     # check if a peer node is running, pong is returned if ok
@echo escript ^<file^>                      # execute an escript
@echo rpc ^<mod^> ^<fun^> ^[^<args..^>^]          # execute an RPC call using the given MFA
@echo rpcterms ^<mod^> ^<fun^> ^[^<expr^>^]       # execute an RPC call using the given Erlang expr for args
@echo eval ^<expr^>                         # execute the given Erlang expr on the running node
@echo command ^<mod^> ^<fun^> ^[^<args..^>^]      # execute the given module/function in a clean VM
@echo describe                            # list details about the release
@echo.
@echo Custom Commands
@echo ======================
@for %%i in (%command_dir%\*.d\*.bat) do (
  echo %%~ni
)
@goto :eof

:: Install the release as a Windows service
:: or install the specified version passed as argument
:install
@setlocal EnableDelayedExpansion
@set service_args=%erl_opts% -setcookie "!cookie!" ++ ^
       -rootdir "%rootdir%" ^
       -reldir "%release_root_dir%\releases"
@set start_erl=%erts_dir%\bin\start_erl.exe
@set description=Erlang node %node_name% in %rootdir%
@if "" == "%args%" (
  :: Install the service
  %erlsrv% add %service_name% ^
            -c "%description%" ^
            %node_type% "%node_name%" ^
            -w "%rootdir%\var" ^
            -m "%start_erl%" ^
            -args "!service_args!" ^
            -debugtype new ^
            -stopaction "init:stop()."
  endlocal
) else (
  :: relup and reldown
  endlocal
  goto upgrade
)
@goto :eof

:: Uninstall the Windows service
:uninstall
@%erlsrv% remove %service_name%
@%epmd% -kill
@goto :eof

:: Start the Windows service
:start
@call :pre_configure_hooks
@call :pre_start_hooks
@%erlsrv% start %service_name%
@call :post_start_hooks
@goto :eof

:: Stop the Windows service
:stop
@call :pre_stop_hooks
@%erlsrv% stop %service_name%
@call :post_stop_hooks
@goto :eof

:: Upgrade this release
:upgrade
@setlocal EnableDelayedExpansion
@if "" == "%args%" (
  echo Missing version argument
  echo Usage: %rel_name% %taskname% {version}
  set ERRORLEVEL=1
  exit /b %ERRORLEVEL%
)
@set source_version=%rel_vsn%
@set target_version=%args%
:: Unpack
@%escript% "%root_dir%\bin\release_utils.escript" ^
    unpack_release %rel_name% "%node_type%" "%node_name%" "!cookie!" "%target_version%"
@if %ERRORLEVEL% GEQ 1 exit %ERRORLEVEL%
:: Update env
@set rel_vsn=%target_version%
@set rel_dir=%release_root_dir\releases\%target_version%
:: TODO: init_configs
if exists "%rel_dir%\sys.config.bak" do (
  @move /Y "%rel_dir%\sys.config.bak" "%rel_dir%\sys.config"
)
if exists "%rel_dir%\vm.args.bak" do (
  @move /Y "%rel_dir%\vm.args.bak" "%rel_dir%\vm.args"
)
@copy /B /Y "%rel_dir%/sys.config" "%rel_dir%\sys.config.bak"
@copy /B /Y "%rel_dir%/vm.args" "%rel_dir%\vm.args.bak"
@copy /B /Y "%sys_config" "%rel_dir%/sys.config"
@copy /B /Y "%vm_args%" "%rel_dir%/vm.args"
:: Run pre hooks
@call :pre_configure_hooks
@call :pre_upgrade_hooks
:: Perform upgrade
@%escript% "%rootdir%/bin/release_utils.escript" ^
    install_release "%rel_name%" "%node_type%" "%node_name%" "!cookie!" "%target_version%"
@if %ERRORLEVEL% GEQ 1 exit %ERRORLEVEL%
:: Cleanup
@move /Y "%rel_dir%\sys.config.bak" "%rel_dir%\sys.config"
@move /Y "%rel_dir%\vm.args.bak" "%rel_dir%\vm.args"
:: Run post hooks
@call :post_upgrade_hooks
@endlocal
@goto :eof

:: Start a console
:console
@call :pre_configure_hooks
@call :pre_start_hooks
@start "%rel_name% console" %werl% -boot "%boot_script%" ^
       -config "%sys_config%"  ^
       -args_file "%vm_args%" ^
       -user Elixir.IEx.CLI ^
       -extra --no-halt +iex
@goto :eof

:: Start the release in the foreground
:foreground
@call :pre_configure_hooks
@call :pre_start_hooks
@set EMU=beam
@set PROGNAME=%~n0
@start "" /B "%erl%" -noshell -noinput +Bd ^
       -boot "%boot_script%" ^
       -boot_var ERTS_LIB_DIR "%erts_dir%\..\lib" ^
       -env ERL_LIBS "%release_root_dir%\lib%" ^
       -pa "%consolidated_dir%" ^
       -args_file "%vm_args%" ^
       -config "%sys_config%" ^
       %erl_opts% ^
       -extra %extra_opts%
@call :set_pid
@call :post_start_hooks

:wait_for_exit
@tasklist /FI "PID eq %pid%" | find /I "erl.exe"
@if %ERRORLEVEL% geq 1 (
  :: Process has shutdown
  @call :post_stop_hooks
) else (
  @sleep 5
  @goto :wait_for_exit
)
@goto :eof

:: Ping the running node
:ping
@setlocal EnableDelayedExpansion
@%escript% %nodetool% ping %node_type% "%node_name%" -setcookie "!cookie!"
@endlocal
@goto :eof

:: Ping a peer node
:: Ping a peer node
:pingpeer
@setlocal EnableDelayedExpansion
@if "%args"=="" (
  echo "Peer name is required!"
  exit 1
) else (
  %escript% %nodetool% ping %node_type% "%args%" -setcookie "!cookie!"
)
@endlocal
@goto :eof

:: Execute an escript
:escript
@%escript% %args%
@goto :eof

:: Execute an RPC command
:rpc
@call :ping>NUL
@if %ERRORLEVEL% GEQ 1 exit %ERRORLEVEL%
@setlocal EnableDelayedExpansion
@%escript% %nodetool% rpc %node_type% %node_name% -setcookie "!cookie!" %args%
@endlocal
@goto :eof

:: Execute an RPC command where args are expressed
:: in the form of an Erlang expression
:rpcterms
@call :ping>NUL
@if %ERRORLEVEL% GEQ 1 exit %ERRORLEVEL%
@setlocal EnableDelayedExpansion
@%escript% %nodetool% rpcterms %node_type% %node_name% -setcookie "!cookie!" %args%
@endlocal
@goto :eof

:: Eval an expression on the running node
:eval
@call :ping>NUL
@if %ERRORLEVEL% GEQ 1 exit %ERRORLEVEL%
@setlocal EnableDelayedExpansion
@%escript% %nodetool% eval %node_type% %node_name% -setcookie "!cookie!" !args!
@endlocal
@goto :eof

:: Execute a command in a clean Erlang VM
:command
@for /f "tokens=1-2*" %%a in ("%args%") do (
  @set module=%%a
  @set function=%%b
  @set command_args=%%c
)
@%erl% -boot_var ERTS_LIB_DIR "%erts_dir%\..\lib" ^
       -hidden -noshell -boot start_clean ^
       -pa "%consolidated_dir%" ^
       -s %module% %function% -s init stop
       -extra %command_args%
@goto :eof

:: Get the process id of the running node
:pid
@call :ping>NUL
@if %ERRORLEVEL% GEQ 1 exit %ERRORLEVEL%
@setlocal EnableDelayedExpansion
@%escript% %nodetool% eval %node_type% %node_name% -setcookie "!cookie!" "erlang:list_to_integer(os:getpid())."
@endlocal
@goto :eof

:set_pid
@call :ping>NUL
@if %ERRORLEVEL% GEQ 1 exit %ERRORLEVEL%
@setlocal EnableDelayedExpansion
@set get_pid_cmd=%escript% %nodetool% eval %node_type% %node_name% -setcookie "!cookie!" "erlang:list_to_integer(os:getpid()).'
@for /f "delims=" %%i in (`%%get_pid_cmd%%`) do set pid=%%i
@endlocal
@goto :eof

:: Reload the running configuration
:reload_config
@call :ping>NUL
@if %ERRORLEVEL% GEQ 1 exit %ERRORLEVEL%
@call :pre_configure_hooks
@setlocal EnableDelayedExpansion
@%escript% %nodetool% reload_config %node_type% %node_name% -setcookie "!cookie!" "%sys_config%"
@endlocal
@goto :eof

:: Describe this release
:describe
@setlocal EnableDelayedExpansion
@echo Service Information
@echo =====================
@%erlsrv% list %service_name%
@echo.
@echo Release Metadata
@echo =====================
@echo ERTS                %erts_vsn%
@echo Release Directory   %rel_dir%
@echo Config File         %sys_config%
@echo Args File           %vm_args%
@echo Name Type           %node_type%
@echo Node Name           %node_name%
@echo Node Cookie         !cookie!
@echo Extra Opts          %erl_opts%
@echo.
@echo Hooks:
@for %%i in (%hook_dir%\*.d\*.bat) do (
  echo %%i
)
@echo.
@echo Commands:
@for %%i in (%command_dir%\*.d\*.bat) do (
  echo %%i
)
@endlocal
@goto :eof

:: Remote shell to a running node
:remote_console
@call :ping
@if %ERRORLEVEL% GEQ 1 exit %ERRORLEVEL%
@setlocal EnableDelayedExpansion
@set id=remsh%RANDOM%-%node_name%
@start "%node_name% attach" %werl% -hidden -noshell -boot "%clean_boot_script%" ^
       -user Elixir.IEx.CLI %node_type% %id% -setcookie "!cookie!" ^
       -extra --no-halt +iex -%node_type% %id% --cookie "!cookie!" --remsh %node_name%
@endlocal
@goto :eof

:: Hook helpers
:execute_hooks
@for /r "%hook_dir%\%1.d" %%f in (*.bat) do (
  @echo Running %1 hook: %%f
  %%f
  @if %ERRORLEVEL% GEQ 1 exit %ERRORLEVEL%
)
@goto :eof

:pre_configure_hooks
@call :execute_hooks pre_configure
@goto :eof

:pre_start_hooks
@call :execute_hooks pre_start
@goto :eof

:post_start_hooks
@call :execute_hooks post_start
@goto :eof

:pre_stop_hooks
@call :execute_hooks pre_stop
@goto :eof

:post_stop_hooks
@call :execute_hooks post_stop
@goto :eof

:pre_upgrade_hooks
@call :execute_hooks pre_upgrade
@goto :eof

:post_upgrade_hooks
@call :execute_hooks post_upgrade
@goto :eof

:: This batch file handles managing an Erlang node as a Windows service.
::
:: Check the :usage section for information about what this script provides

:: Set variables that describe the release
@set rel_name=<%= release_name %>
@set rel_vsn=<%= release_version %>
@set erts_vsn=<%= erts_vsn %>
@set erl_opts=<%= erl_opts %>

:: Discover the release root directory from the directory
:: of this script
@set script_dir=%~dp0
@for %%A in ("%script_dir%\..\..") do @(
  set release_root_dir=%%~fA
)
@set rel_dir=%release_root_dir%\releases\%rel_vsn%

@if "%RELEASE_MUTABLE_DIR%"=="" (
  set mutable_dir=%release_root_dir%\var
) else (
  set mutable_dir=%RELEASE_MUTABLE_DIR
)

@if "%RELEASE_CONFIG_DIR%"=="" (
  set config_dir=%release_root_dir%
) else (
  set config_dir=%RELEASE_CONFIG_DIR%
)

@set log_dir=%mutable_dir%\log

:: Create directories which don't exist
@if not exist %mutable_dir% mkdir %mutable_dir%
@if not exist %config_dir% mkdir %config_dir%
@if not exist %log_dir% mkdir %log_dir%

@call :find_erts_dir
@call :find_sys_config
@call :find_vm_args
@call :set_boot_script_var

@set service_name=%rel_name%_%rel_vsn%
@set bindir=%erts_dir%\bin
@set progname=erl.exe
@set clean_boot_script=%release_root_dir%\bin\start_clean
@set erlsrv="%bindir%\erlsrv.exe"
@set epmd="%bindir%\epmd.exe"
@set escript="%bindir%\escript.exe"
@set werl="%bindir%\werl.exe"
@set nodetool="%release_root_dir%\bin\nodetool"
@set consolidated_dir=%rootdir%\lib\%rel_name%-%rel_vsn%\consolidated
@set hook_dir=%rel_dir%\hooks
@set command_dir=%rel_dir%\commands

:: Extract node type and name from vm.args
@for /f "usebackq tokens=1-2" %%I in (`findstr /b "\-name \-sname" "%vm_args%"`) do @(
  set node_type=%%I
  set node_name=%%J
)

:: Extract cookie from vm.args
@for /f "usebackq tokens=1-2" %%I in (`findstr /b \-setcookie "%vm_args%"`) do @(
  set cookie=%%J
)

:: Write the erl.ini file to set up paths relative to this script
@call :write_ini

:: If a start.boot file is not present, copy one from the named .boot file
@if not exist "%rel_dir%\start.boot" (
  copy "%rel_dir%\%rel_name%.boot" "%rel_dir%\start.boot" >nul
)

@set taskname="%1"
@shift /1
@set args=

@setlocal EnableDelayedExpansion
:parse_args
@set param=%1
@if "!param!"=="" @goto :args_parsed
@if "!args!"=="" (
  @set largs=%param%
) else (
  @set largs=%largs% %param%
)
@set "delim= "
@shift /1
@goto :parse_args
:args_parsed
@endlocal & @set args=%largs%

@if %taskname%=="install" @goto install
@if %taskname%=="uninstall" @goto uninstall
@if %taskname%=="start" @goto start
@if %taskname%=="foreground" @goto foreground
@if %taskname%=="console" @goto console
@if %taskname%=="stop" @goto stop
@if %taskname%=="restart" @call :stop && @goto start
@if %taskname%=="reboot" @call :stop && @goto start
@if %taskname%=="reload_config" @goto reload_config
@if %taskname%=="upgrade" @goto upgrade
@if %taskname%=="downgrade" @goto upgrade
@if %taskname%=="attach" @goto remote_console
@if %taskname%=="remote_console" @goto remote_console
@if %taskname%=="pid" @goto pid
@if %taskname%=="ping" @goto ping
@if %taskname%=="pingpeer" @goto pingpeer
@if %taskname%=="escript" @goto escript
@if %taskname%=="rpc" @goto rpc
@if %taskname%=="rpcterms" @goto rpcterms
@if %taskname%=="eval" @goto eval
@if %taskname%=="command" @goto command
@if %taskname%=="describe" @goto describe
@if %taskname%=="" @goto usage
@if exist "%command_dir%\%taskname%" (
  @"%command_dir%\%taskname%" %*
) else (
  @echo Unknown command: %taskname%
)
@goto :eof

:: Find the ERTS dir
:find_erts_dir
@if "%erts_vsn%"=="" (
  call :use_system_erts
) else (
  call :use_bundled_erts
)
@goto :eof

:: Load system ERTS info
:use_system_erts
@for /f "delims=" %%i in ('where erl') do set system_erl="%%i"
@if %system_erl%=="" (
  echo failed to locate the Erlang Runtime System!
  exit 1
)
@set system_root_dir_cmd=%system_erl% -noshell -eval "io:format(\"~s\", [filename:nativename(code:root_dir())])." -s init stop
@for /f "delims=" %%i in (`%%system_root_dir_cmd%%`) do set system_root=%%i
@set system_erts_vsn_cmd=%system_erl% -noshell -eval "Ver=erlang:system_info(version),io:format(\"~s\", [Ver])" -s init stop
@for /f "delims=" %%i in (`%%system_erts_vsn_cmd%%`) do set system_erts_vsn=%%i
@set erl=%system_erl%
@set erts_vsn=%system_erts_vsn%
@set rootdir=%system_root%
@set erts_dir=%rootdir%\erts-%erts_vsn%
@goto :eof

:: Load bundled ERTS info
:use_bundled_erts
@set erts_dir=%release_root_dir%\erts-%erts_vsn%
@set erl=%erts_dir%\bin\erl
@set rootdir=%release_root_dir%
@goto :eof

:: Find the sys.config file
:find_sys_config
@set possible_sys=%release_config_dir%\sys.config
@if exist %possible_sys% (
  set sys_config_src=%possible_sys%
) else (
  set sys_config_src=%rel_dir%\sys.config
)
@set sys_config_target=%config_dir%\sys.config
:: Replace environment variables
@powershell -command "$content = get-content %sys_config_src%; [regex]::matches($content, '\${[\w\d_-]+}') | foreach { $content = $content.Replace($_.value, [System.Environment]::GetEnvironmentVariable($_.value)) }; out-file -filepath %sys_config_target% -inputobject $content -encoding ascii"
@set sys_config=%sys_config_target%
@goto :eof

:find_vm_args
@set possible_vmargs=%release_config_dir%\vm.args
@if exist %possible_vmargs% (
  set vmargs_src=%possible_vmargs%
) else (
  set vmargs_src=%rel_dir%\vm.args
)
@set vmargs_target=%config_dir%\vm.args
:: Replace environment variables
@powershell -command "$content = get-content %vmargs_src%; [regex]::matches($content, '\${[\w\d_-]+}') | foreach { $content = $content.Replace($_.value, [System.Environment]::GetEnvironmentVariable($_.value)) }; out-file -filepath %vmargs_target% -inputobject $content -encoding ascii"
@set vm_args=%vmargs_target%
@goto :eof

:: set boot_script variable
:set_boot_script_var
@if exist %rel_dir%\%rel_name%.boot (
  set boot_script=%rel_dir%\%rel_name%
) else (
  set boot_script=%rel_dir%\start
)
@goto :eof

:: Write the erl.ini file
:write_ini
@set erl_ini=%erts_dir%\bin\erl.ini
@set converted_bindir=%bindir:\=\\%
@set converted_rootdir=%rootdir:\=\\%
@echo [erlang] > "%erl_ini%"
@echo Bindir=%converted_bindir% >> "%erl_ini%"
@echo Progname=%progname% >> "%erl_ini%"
@echo Rootdir=%converted_rootdir% >> "%erl_ini%"
@goto :eof

:: Display usage information
:usage
@echo Usage: %~n0 ^<task^>
@echo.
@echo Service Control
@echo =====================
@echo install                             # installs the release as a service
@echo uninstall                           # uninstalls the release service
@echo start                               # starts the service
@echo start_boot                          # not implemented
@echo foreground                          # start the release in the foreground
@echo console                             # run the release in a local shell
@echo console_clean                       # not implemented
@echo stop                                # stops the service
@echo restart                             # restarts the release service
@echo reboot                              # alias for restart on Windows
@echo reload_config                       # reload the current system's configuration from disk
@echo.
@echo Upgrades
@echo =====================
@echo upgrade ^<version^>                   # upgrade the current release service
@echo downgrade ^<version^>                 # downgrade the current release service
@echo.
@echo Utilities
@echo =====================
@echo attach                              # alias for remote_console on Windows
@echo remote_console                      # open a remote console connected to the release
@echo pid                                 # get the process id of the running release
@echo ping                                # ping the current release service, pong is returned if ok
@echo pingpeer ^<peer^>                     # check if a peer node is running, pong is returned if ok
@echo escript ^<file^>                      # execute an escript
@echo rpc ^<mod^> ^<fun^> ^[^<args..^>^]          # execute an RPC call using the given MFA
@echo rpcterms ^<mod^> ^<fun^> ^[^<expr^>^]       # execute an RPC call using the given Erlang expr for args
@echo eval ^<expr^>                         # execute the given Erlang expr on the running node
@echo command ^<mod^> ^<fun^> ^[^<args..^>^]      # execute the given module/function in a clean VM
@echo describe                            # list details about the release
@echo.
@echo Custom Commands
@echo ======================
@for %%i in (%command_dir%\*.d\*.bat) do (
  echo %%~ni
)
@goto :eof

:: Install the release as a Windows service
:: or install the specified version passed as argument
:install
@setlocal EnableDelayedExpansion
@set service_args=%erl_opts% -setcookie "!cookie!" ++ ^
       -rootdir "%rootdir%" ^
       -reldir "%release_root_dir%\releases"
@set start_erl=%erts_dir%\bin\start_erl.exe
@set description=Erlang node %node_name% in %rootdir%
@if "" == "%args%" (
  :: Install the service
  %erlsrv% add %service_name% ^
            -c "%description%" ^
            %node_type% "%node_name%" ^
            -w "%rootdir%\var" ^
            -m "%start_erl%" ^
            -args "!service_args!" ^
            -debugtype new ^
            -stopaction "init:stop()."
  endlocal
) else (
  :: relup and reldown
  endlocal
  goto upgrade
)
@goto :eof

:: Uninstall the Windows service
:uninstall
@%erlsrv% remove %service_name%
@%epmd% -kill
@goto :eof

:: Start the Windows service
:start
@call :pre_configure_hooks
@call :pre_start_hooks
@%erlsrv% start %service_name%
@call :post_start_hooks
@goto :eof

:: Stop the Windows service
:stop
@call :pre_stop_hooks
@%erlsrv% stop %service_name%
@call :post_stop_hooks
@goto :eof

:: Upgrade this release
:upgrade
@setlocal EnableDelayedExpansion
@if "" == "%args%" (
  echo Missing version argument
  echo Usage: %rel_name% %taskname% {version}
  set ERRORLEVEL=1
  exit /b %ERRORLEVEL%
)
@set source_version=%rel_vsn%
@set target_version=%args%
:: Unpack
@%escript% "%root_dir%\bin\release_utils.escript" ^
    unpack_release %rel_name% "%node_type%" "%node_name%" "!cookie!" "%target_version%"
@if %ERRORLEVEL% GEQ 1 exit %ERRORLEVEL%
:: Update env
@set rel_vsn=%target_version%
@set rel_dir=%release_root_dir\releases\%target_version%
:: TODO: init_configs
if exists "%rel_dir%\sys.config.bak" do (
  @move /Y "%rel_dir%\sys.config.bak" "%rel_dir%\sys.config"
)
if exists "%rel_dir%\vm.args.bak" do (
  @move /Y "%rel_dir%\vm.args.bak" "%rel_dir%\vm.args"
)
@copy /B /Y "%rel_dir%/sys.config" "%rel_dir%\sys.config.bak"
@copy /B /Y "%rel_dir%/vm.args" "%rel_dir%\vm.args.bak"
@copy /B /Y "%sys_config" "%rel_dir%/sys.config"
@copy /B /Y "%vm_args%" "%rel_dir%/vm.args"
:: Run pre hooks
@call :pre_configure_hooks
@call :pre_upgrade_hooks
:: Perform upgrade
@%escript% "%rootdir%/bin/release_utils.escript" ^
    install_release "%rel_name%" "%node_type%" "%node_name%" "!cookie!" "%target_version%"
@if %ERRORLEVEL% GEQ 1 exit %ERRORLEVEL%
:: Cleanup
@move /Y "%rel_dir%\sys.config.bak" "%rel_dir%\sys.config"
@move /Y "%rel_dir%\vm.args.bak" "%rel_dir%\vm.args"
:: Run post hooks
@call :post_upgrade_hooks
@endlocal
@goto :eof

:: Start a console
:console
@call :pre_configure_hooks
@call :pre_start hooks
@start "%rel_name% console" %werl% -boot "%boot_script%" ^
       -config "%sys_config%"  ^
       -args_file "%vm_args%" ^
       -user Elixir.IEx.CLI ^
       -extra --no-halt +iex
@goto :eof

:: Start the release in the foreground
:foreground
@call :pre_configure_hooks
@call :pre_start_hooks
@set EMU=beam
@set PROGNAME=%~n0
@start /B "%erl%" -noshell -noinput +Bd ^
       -boot "%boot_script%" ^
       -boot_var ERTS_LIB_DIR "%erts_dir%\..\lib" ^
       -env ERL_LIBS "%release_root_dir%\lib%" ^
       -pa "%consolidated_dir%" ^
       -args_file "%vm_args%" ^
       -config "%sys_config%" ^
       %erl_opts% ^
       -extra %extra_opts%
@call :set_pid
@call :post_start_hooks

:wait_for_exit
@tasklist /FI "PID eq %pid%" | find /I "erl.exe"
@if %ERRORLEVEL% geq 1 (
  :: Process has shutdown
  @call :post_stop_hooks
) else (
  @sleep 5
  @goto :wait_for_exit
)
@goto :eof

:: Ping the running node
:ping
@setlocal EnableDelayedExpansion
@%escript% %nodetool% ping %node_type% "%node_name%" -setcookie "!cookie!"
@endlocal
@goto :eof

:: Ping a peer node
:: Ping a peer node
:pingpeer
@setlocal EnableDelayedExpansion
@if "%args"=="" (
  echo "Peer name is required!"
  exit 1
) else (
  %escript% %nodetool% ping %node_type% "%args%" -setcookie "!cookie!"
)
@endlocal
@goto :eof

:: Execute an escript
:escript
@%escript% %args%
@goto :eof

:: Execute an RPC command
:rpc
@call :ping>NUL
@if %ERRORLEVEL% GEQ 1 exit %ERRORLEVEL%
@setlocal EnableDelayedExpansion
@%escript% %nodetool% rpc %node_type% %node_name% -setcookie "!cookie!" %args%
@endlocal
@goto :eof

:: Execute an RPC command where args are expressed
:: in the form of an Erlang expression
:rpcterms
@call :ping>NUL
@if %ERRORLEVEL% GEQ 1 exit %ERRORLEVEL%
@setlocal EnableDelayedExpansion
@%escript% %nodetool% rpcterms %node_type% %node_name% -setcookie "!cookie!" %args%
@endlocal
@goto :eof

:: Eval an expression on the running node
:eval
@call :ping>NUL
@if %ERRORLEVEL% GEQ 1 exit %ERRORLEVEL%
@setlocal EnableDelayedExpansion
@%escript% %nodetool% eval %node_type% %node_name% -setcookie "!cookie!" !args!
@endlocal
@goto :eof

:: Execute a command in a clean Erlang VM
:command
@for /f "tokens=1-2*" %%a in ("%args%") do (
  @set module=%%a
  @set function=%%b
  @set command_args=%%c
)
@%erl% -boot_var ERTS_LIB_DIR "%erts_dir%\..\lib" ^
       -hidden -noshell -boot start_clean ^
       -pa "%consolidated_dir%" ^
       -s %module% %function% -s init stop
       -extra %command_args%
@goto :eof

:: Get the process id of the running node
:pid
@call :ping>NUL
@if %ERRORLEVEL% GEQ 1 exit %ERRORLEVEL%
@setlocal EnableDelayedExpansion
@%escript% %nodetool% eval %node_type% %node_name% -setcookie "!cookie!" "erlang:list_to_integer(os:getpid())."
@endlocal
@goto :eof

:set_pid
@call :ping>NUL
@if %ERRORLEVEL% GEQ 1 exit %ERRORLEVEL%
@setlocal EnableDelayedExpansion
@set get_pid_cmd=%escript% %nodetool% eval %node_type% %node_name% -setcookie "!cookie!" "erlang:list_to_integer(os:getpid()).'
@for /f "delims=" %%i in (`%%get_pid_cmd%%`) do set pid=%%i
@endlocal
@goto :eof

:: Reload the running configuration
:reload_config
@call :ping>NUL
@if %ERRORLEVEL% GEQ 1 exit %ERRORLEVEL%
@call :pre_configure_hooks
@setlocal EnableDelayedExpansion
@%escript% %nodetool% reload_config %node_type% %node_name% -setcookie "!cookie!" "%sys_config%"
@endlocal
@goto :eof

:: Describe this release
:describe
@setlocal EnableDelayedExpansion
@echo Service Information
@echo =====================
@%erlsrv% list %service_name%
@echo.
@echo Release Metadata
@echo =====================
@echo ERTS                %erts_vsn%
@echo Release Directory   %rel_dir%
@echo Config File         %sys_config%
@echo Args File           %vm_args%
@echo Name Type           %node_type%
@echo Node Name           %node_name%
@echo Node Cookie         !cookie!
@echo Extra Opts          %erl_opts%
@echo.
@echo Hooks:
@for %%i in (%hook_dir%\*.d\*.bat) do (
  echo %%i
)
@echo.
@echo Commands:
@for %%i in (%command_dir%\*.d\*.bat) do (
  echo %%i
)
@endlocal
@goto :eof

:: Remote shell to a running node
:remote_console
@call :ping
@if %ERRORLEVEL% GEQ 1 exit %ERRORLEVEL%
@setlocal EnableDelayedExpansion
@set id=remsh%RANDOM%-%node_name%
@start "%node_name% attach" %werl% -hidden -noshell -boot "%clean_boot_script%" ^
       -user Elixir.IEx.CLI %node_type% %id% -setcookie "!cookie!" ^
       -extra --no-halt +iex -%node_type% %id% --cookie "!cookie!" --remsh %node_name%
@endlocal
@goto :eof

:: Hook helpers
:execute_hooks
@for /r "%hook_dir%\%1.d" %%f in (*.bat) do (
  @echo Running %1 hook: %%f
  %%f
  @if %ERRORLEVEL% GEQ 1 exit %ERRORLEVEL%
)
@goto :eof

:pre_configure_hooks
@call :execute_hooks pre_configure
@goto :eof

:pre_start_hooks
@call :execute_hooks pre_start
@goto :eof

:post_start_hooks
@call :execute_hooks post_start
@goto :eof

:pre_stop_hooks
@call :execute_hooks pre_stop
@goto :eof

:post_stop_hooks
@call :execute_hooks post_stop
@goto :eof

:pre_upgrade_hooks
@call :execute_hooks pre_upgrade
@goto :eof

:post_upgrade_hooks
@call :execute_hooks post_upgrade
@goto :eof


trying to make the ui more relevant to rackit

            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
                Toggle navigation

            </button>
            SB Admin v2.0

                                John Smith

                                    Yesterday

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eleifend...

                                John Smith

                                    Yesterday

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eleifend...

                                John Smith

                                    Yesterday

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eleifend...

                            Read All Messages

                                    Task 1
                                    40% Complete

                                        40% Complete (success)

                                    Task 2
                                    20% Complete

                                        20% Complete

                                    Task 3
                                    60% Complete

                                        60% Complete (warning)

                                    Task 4
                                    80% Complete

                                        80% Complete (danger)

                            See All Tasks

                                 New Comment
                                4 minutes ago

                                 3 New Followers
                                12 minutes ago

                                 Message Sent
                                4 minutes ago

                                 New Task
                                4 minutes ago

                                 Server Rebooted
                                4 minutes ago

                            See All Alerts

 User Profile

 Settings

 Logout

                            <input type="text" class="form-control" placeholder="Search...">

                            <button class="btn btn-default" type="button">

                            </button>

                         Dashboard

                         Charts

                                Flot Charts

                                Morris.js Charts

                         Tables

                         Forms

                         UI Elements

                                Panels and Wells

                                Buttons

                                Notifications

                                Typography

                                 Icons

                                Grid

                         Multi-Level Dropdown

                                Second Level Item

                                Second Level Item

                                Third Level

                                        Third Level Item

                                        Third Level Item

                                        Third Level Item

                                        Third Level Item

                         Sample Pages

                                Blank Page

                                Login Page

Dashboard

26

Servers

                            View Details

12

Power

                            View Details

124

Network

                            View Details

13

Drives

                            View Details

                         Area Chart Example

                                <button type="button" class="btn btn-default btn-xs dropdown-toggle" data-toggle="dropdown">
                                    Actions

                                </button>

Action

Another action

Something else here

Separated link

                         Bar Chart Example

                                <button type="button" class="btn btn-default btn-xs dropdown-toggle" data-toggle="dropdown">
                                    Actions

                                </button>

Action

Another action

Something else here

Separated link

                                                #
                                                Date
                                                Time
                                                Amount

                                                3326
                                                10/21/2013
                                                3:29 PM
                                                $321.33

                                                3325
                                                10/21/2013
                                                3:20 PM
                                                $234.34

                                                3324
                                                10/21/2013
                                                3:03 PM
                                                $724.17

                                                3323
                                                10/21/2013
                                                3:00 PM
                                                $23.71

                                                3322
                                                10/21/2013
                                                2:49 PM
                                                $8345.23

                                                3321
                                                10/21/2013
                                                2:23 PM
                                                $245.12

                                                3320
                                                10/21/2013
                                                2:15 PM
                                                $5663.54

                                                3319
                                                10/21/2013
                                                2:13 PM
                                                $943.45

                         Responsive Timeline

Lorem ipsum dolor

 11 hours ago via Twitter

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Libero laboriosam dolor perspiciatis omnis exercitationem. Beatae, officia pariatur? Est cum veniam excepturi. Maiores praesentium, porro voluptas suscipit facere rem dicta, debitis.

Lorem ipsum dolor

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Autem dolorem quibusdam, tenetur commodi provident cumque magni voluptatem libero, quis rerum. Fugiat esse debitis optio, tempore. Animi officiis alias, officia repellendus.

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Laudantium maiores odit qui est tempora eos, nostrum provident explicabo dignissimos debitis vel! Adipisci eius voluptates, ad aut recusandae minus eaque facere.

Lorem ipsum dolor

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Repellendus numquam facilis enim eaque, tenetur nam id qui vel velit similique nihil iure molestias aliquam, voluptatem totam quaerat, magni commodi quisquam.

Lorem ipsum dolor

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptates est quaerat asperiores sapiente, eligendi, nihil. Itaque quos, alias sapiente rerum quas odit! Aperiam officiis quidem delectus libero, omnis ut debitis!

Lorem ipsum dolor

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nobis minus modi quam ipsum alias at est molestiae excepturi delectus nesciunt, quibusdam debitis amet, beatae consequuntur impedit nulla qui! Laborum, atque.

                                            <button type="button" class="btn btn-primary btn-sm dropdown-toggle" data-toggle="dropdown">

                                            </button>

Action

Another action

Something else here

Separated link

Lorem ipsum dolor

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sequi fuga odio quibusdam. Iure expedita, incidunt unde quis nam! Quod, quisquam. Officia quam qui adipisci quas consequuntur nostrum sequi. Consequuntur, commodi.

Lorem ipsum dolor

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Deserunt obcaecati, quaerat tempore officia voluptas debitis consectetur culpa amet, accusamus dolorum fugiat, animi dicta aperiam, enim incidunt quisquam maxime neque eaque.

                         Notifications Panel

                                 New Comment
                                4 minutes ago

                                 3 New Followers
                                12 minutes ago

                                 Message Sent
                                27 minutes ago

                                 New Task
                                43 minutes ago

                                 Server Rebooted
                                11:32 AM

                                 Server Crashed!
                                11:13 AM

                                 Server Not Responding
                                10:57 AM

                                 New Order Placed
                                9:49 AM

                                 Payment Received
                                Yesterday

                        View All Alerts

                         Donut Chart Example

                        View Details

                        Chat

                            <button type="button" class="btn btn-default btn-xs dropdown-toggle" data-toggle="dropdown">

                            </button>

                                         Refresh

                                         Available

                                         Busy

                                         Away

                                         Sign Out

                                        Jack Sparrow

                                             12 mins ago

                                        Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur bibendum ornare dolor, quis ullamcorper ligula sodales.

                                             13 mins ago
                                        Bhaumik Patel

                                        Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur bibendum ornare dolor, quis ullamcorper ligula sodales.

                                        Jack Sparrow

                                             14 mins ago

                                        Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur bibendum ornare dolor, quis ullamcorper ligula sodales.

                                             15 mins ago
                                        Bhaumik Patel

                                        Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur bibendum ornare dolor, quis ullamcorper ligula sodales.

                            <input id="btn-input" type="text" class="form-control input-sm" placeholder="Type your message here..." />

                                <button class="btn btn-warning btn-sm" id="btn-chat">
                                    Send
                                </button>

            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
                Toggle navigation

            </button>
            SB Admin v2.0

                                John Smith

                                    Yesterday

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eleifend...

                                John Smith

                                    Yesterday

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eleifend...

                                John Smith

                                    Yesterday

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eleifend...

                            Read All Messages

                                    Task 1
                                    40% Complete

                                        40% Complete (success)

                                    Task 2
                                    20% Complete

                                        20% Complete

                                    Task 3
                                    60% Complete

                                        60% Complete (warning)

                                    Task 4
                                    80% Complete

                                        80% Complete (danger)

                            See All Tasks

                                 New Comment
                                4 minutes ago

                                 3 New Followers
                                12 minutes ago

                                 Message Sent
                                4 minutes ago

                                 New Task
                                4 minutes ago

                                 Server Rebooted
                                4 minutes ago

                            See All Alerts

 User Profile

 Settings

 Logout

                            <input type="text" class="form-control" placeholder="Search...">

                            <button class="btn btn-default" type="button">

                            </button>

                         Dashboard

                         Charts

                                Flot Charts

                                Morris.js Charts

                         Tables

                         Forms

                         UI Elements

                                Panels and Wells

                                Buttons

                                Notifications

                                Typography

                                 Icons

                                Grid

                         Multi-Level Dropdown

                                Second Level Item

                                Second Level Item

                                Third Level

                                        Third Level Item

                                        Third Level Item

                                        Third Level Item

                                        Third Level Item

                         Sample Pages

                                Blank Page

                                Login Page

Dashboard

26

New Comments!

                            View Details

12

New Tasks!

                            View Details

124

New Orders!

                            View Details

13

Support Tickets!

                            View Details

                         Area Chart Example

                                <button type="button" class="btn btn-default btn-xs dropdown-toggle" data-toggle="dropdown">
                                    Actions

                                </button>

Action

Another action

Something else here

Separated link

                         Bar Chart Example

                                <button type="button" class="btn btn-default btn-xs dropdown-toggle" data-toggle="dropdown">
                                    Actions

                                </button>

Action

Another action

Something else here

Separated link

                                                #
                                                Date
                                                Time
                                                Amount

                                                3326
                                                10/21/2013
                                                3:29 PM
                                                $321.33

                                                3325
                                                10/21/2013
                                                3:20 PM
                                                $234.34

                                                3324
                                                10/21/2013
                                                3:03 PM
                                                $724.17

                                                3323
                                                10/21/2013
                                                3:00 PM
                                                $23.71

                                                3322
                                                10/21/2013
                                                2:49 PM
                                                $8345.23

                                                3321
                                                10/21/2013
                                                2:23 PM
                                                $245.12

                                                3320
                                                10/21/2013
                                                2:15 PM
                                                $5663.54

                                                3319
                                                10/21/2013
                                                2:13 PM
                                                $943.45

                         Responsive Timeline

Lorem ipsum dolor

 11 hours ago via Twitter

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Libero laboriosam dolor perspiciatis omnis exercitationem. Beatae, officia pariatur? Est cum veniam excepturi. Maiores praesentium, porro voluptas suscipit facere rem dicta, debitis.

Lorem ipsum dolor

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Autem dolorem quibusdam, tenetur commodi provident cumque magni voluptatem libero, quis rerum. Fugiat esse debitis optio, tempore. Animi officiis alias, officia repellendus.

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Laudantium maiores odit qui est tempora eos, nostrum provident explicabo dignissimos debitis vel! Adipisci eius voluptates, ad aut recusandae minus eaque facere.

Lorem ipsum dolor

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Repellendus numquam facilis enim eaque, tenetur nam id qui vel velit similique nihil iure molestias aliquam, voluptatem totam quaerat, magni commodi quisquam.

Lorem ipsum dolor

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptates est quaerat asperiores sapiente, eligendi, nihil. Itaque quos, alias sapiente rerum quas odit! Aperiam officiis quidem delectus libero, omnis ut debitis!

Lorem ipsum dolor

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nobis minus modi quam ipsum alias at est molestiae excepturi delectus nesciunt, quibusdam debitis amet, beatae consequuntur impedit nulla qui! Laborum, atque.

                                            <button type="button" class="btn btn-primary btn-sm dropdown-toggle" data-toggle="dropdown">

                                            </button>

Action

Another action

Something else here

Separated link

Lorem ipsum dolor

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sequi fuga odio quibusdam. Iure expedita, incidunt unde quis nam! Quod, quisquam. Officia quam qui adipisci quas consequuntur nostrum sequi. Consequuntur, commodi.

Lorem ipsum dolor

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Deserunt obcaecati, quaerat tempore officia voluptas debitis consectetur culpa amet, accusamus dolorum fugiat, animi dicta aperiam, enim incidunt quisquam maxime neque eaque.

                         Notifications Panel

                                 New Comment
                                4 minutes ago

                                 3 New Followers
                                12 minutes ago

                                 Message Sent
                                27 minutes ago

                                 New Task
                                43 minutes ago

                                 Server Rebooted
                                11:32 AM

                                 Server Crashed!
                                11:13 AM

                                 Server Not Responding
                                10:57 AM

                                 New Order Placed
                                9:49 AM

                                 Payment Received
                                Yesterday

                        View All Alerts

                         Donut Chart Example

                        View Details

                        Chat

                            <button type="button" class="btn btn-default btn-xs dropdown-toggle" data-toggle="dropdown">

                            </button>

                                         Refresh

                                         Available

                                         Busy

                                         Away

                                         Sign Out

                                        Jack Sparrow

                                             12 mins ago

                                        Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur bibendum ornare dolor, quis ullamcorper ligula sodales.

                                             13 mins ago
                                        Bhaumik Patel

                                        Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur bibendum ornare dolor, quis ullamcorper ligula sodales.

                                        Jack Sparrow

                                             14 mins ago

                                        Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur bibendum ornare dolor, quis ullamcorper ligula sodales.

                                             15 mins ago
                                        Bhaumik Patel

                                        Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur bibendum ornare dolor, quis ullamcorper ligula sodales.

                            <input id="btn-input" type="text" class="form-control input-sm" placeholder="Type your message here..." />

                                <button class="btn btn-warning btn-sm" id="btn-chat">
                                    Send
                                </button>


Fix wording

Fix wording

<%= if @referred_via_elixirweekly do %>

        <img src="<%= static_path(@conn, "/images/elixirweekly-thumb.png") %>"/>

    Welcome!
    Submit your posts for the next ElixirWeekly!

<% end %>

  <%= if logged_in?(@conn) do %>
    <%= if @page_number == 1 do %>
      <%= if @just_signed_in do %>

          <%= render "form.html", current_user: current_user(@conn),
                                  changeset: @changeset,
                                  action: posting_path(@conn, :create),
                                  conn: @conn,
                                  posting: nil,
                                  css_class: "post--new",
                                  editing?: false %>

      <% else %>

            <div class="image" style="background-image: url(<%= raw avatar_path(current_user(@conn).user_name) %>)">

           Submit a post

          <%= render "form.html", current_user: current_user(@conn),
                                  changeset: @changeset,
                                  action: posting_path(@conn, :create),
                                  conn: @conn,
                                  posting: nil,
                                  css_class: "post--new",
                                  editing?: false %>

      <% end %>
    <% else %>

          <div class="image" style="background-image: url(<%= raw avatar_path(current_user(@conn).user_name) %>)">

         Submit another post

    <% end %>
  <% else %>

         Sign in and post

        Here you can share your blog posts, project updates and other Elixir related news. The news will reach thousands of people via this site, RSS, Twitter and the ElixirWeekly newsletter.

  <% end %>

  <%= if @searching? do %>
    Search results for <%= @search_query %>
    clear
  <% end %>

  <% #= render ElixirStatus.PostingView, "_tab_nav_index.html", assigns %>

  <%= for {posting, index} <- Enum.with_index(@postings) do %>
    <%= render ElixirStatus.PostingView, "posting.html", conn: @conn,
                posting: posting,
                belongs_to_me?: ElixirStatus.Auth.belongs_to_current_user?(@conn, posting),
                just_created_by_me?: @created_posting == posting
                %>
    <%= if index == 2 || index == 8 do %>
      <%= render ElixirStatus.SharedView, promo_template_name(), conn: @conn %>
    <% end %>
  <% end %>

  <%= if @page_number > 1 do %>
    <%= link "Previous", to: posting_path(@conn, :index, page: @page_number - 1), class: "pagination__item pagination__item--older" %>
  <% else %>
    Previous
  <% end %>
  <%= if @page_number < @total_pages do %>
    <%= link "Next", to: posting_path(@conn, :index, page: @page_number + 1), class: "pagination__item pagination__item--newer" %>
  <% else %>
    Next
  <% end %>

  <form method="get" action="/">
    <input type="text" name="q" class="search__input" placeholder="Search ...">
  </form>

<%= if @referred_via_elixirweekly do %>

        <img src="<%= static_path(@conn, "/images/elixirweekly-thumb.png") %>"/>

    Welcome!
    Submit your posts for the next ElixirWeekly!

<% end %>

  <%= if logged_in?(@conn) do %>
    <%= if @page_number == 1 do %>
      <%= if @just_signed_in do %>

          <%= render "form.html", current_user: current_user(@conn),
                                  changeset: @changeset,
                                  action: posting_path(@conn, :create),
                                  conn: @conn,
                                  posting: nil,
                                  css_class: "post--new",
                                  editing?: false %>

      <% else %>

            <div class="image" style="background-image: url(<%= raw avatar_path(current_user(@conn).user_name) %>)">

           Submit a post

          <%= render "form.html", current_user: current_user(@conn),
                                  changeset: @changeset,
                                  action: posting_path(@conn, :create),
                                  conn: @conn,
                                  posting: nil,
                                  css_class: "post--new",
                                  editing?: false %>

      <% end %>
    <% else %>

          <div class="image" style="background-image: url(<%= raw avatar_path(current_user(@conn).user_name) %>)">

         Submit another post

    <% end %>
  <% else %>

         Sign in and post

        Here you can post your blog posts, project updates and other Elixir related news. The news will reach thousands of people via this site, RSS, Twitter and the ElixirWeekly newsletter.

  <% end %>

  <%= if @searching? do %>
    Search results for <%= @search_query %>
    clear
  <% end %>

  <% #= render ElixirStatus.PostingView, "_tab_nav_index.html", assigns %>

  <%= for {posting, index} <- Enum.with_index(@postings) do %>
    <%= render ElixirStatus.PostingView, "posting.html", conn: @conn,
                posting: posting,
                belongs_to_me?: ElixirStatus.Auth.belongs_to_current_user?(@conn, posting),
                just_created_by_me?: @created_posting == posting
                %>
    <%= if index == 2 || index == 8 do %>
      <%= render ElixirStatus.SharedView, promo_template_name(), conn: @conn %>
    <% end %>
  <% end %>

  <%= if @page_number > 1 do %>
    <%= link "Previous", to: posting_path(@conn, :index, page: @page_number - 1), class: "pagination__item pagination__item--older" %>
  <% else %>
    Previous
  <% end %>
  <%= if @page_number < @total_pages do %>
    <%= link "Next", to: posting_path(@conn, :index, page: @page_number + 1), class: "pagination__item pagination__item--newer" %>
  <% else %>
    Next
  <% end %>

  <form method="get" action="/">
    <input type="text" name="q" class="search__input" placeholder="Search ...">
  </form>


added basic glyphicons for links

added basic glyphicons for links

Show account

    Name:
    <%= @user.name %>

<%= @user.job_title %>

<%= @user.phone %>

<%= @user.address %>

  <%= unless (login_field = Coherence.Config.login_field) == :email do %>

      <%= humanize login_field %>
      <%= Map.get(@user, login_field) %>

  <% end %>

    Email:
    <%= @user.email %>

<%= link "Edit", to: registration_path(@conn, :edit) %>
<%= link "Delete", to: registration_path(@conn, :delete), method: :delete, data: [confirm: "Are you sure?"] %>

Show Skills

  <%= for skill <- @user.skills  do %>

<%= skill.name %>

        <%= link "", to: skill_path(@conn, :edit, skill.id), class: "glyphicon glyphicon-pencil", alt: "Edit" %>
        <%= link "", to: skill_path(@conn, :delete, skill.id), method: :delete, data: [confirm: "Are you sure?"], class: "glyphicon glyphicon-remove", alt: "Delete" %>

  <% end %>

Show Experience

  <%= for exp <- @user.experiences  do %>

<%= exp.category %>

<%= exp.organization %>

<%= exp.position %>

        <%= exp.from %> - <%= exp.to %>

        <%= unless exp.description_one == nil do %>

<%= exp.description_one %>

        <%= end %>

        <%= unless exp.description_two == nil do %>

<%= exp.description_two %>

        <%= end %>

        <%= unless exp.description_three == nil do %>

<%= exp.description_three %>

        <%= end %>

        <%= link "Edit", to: experience_path(@conn, :edit, exp.id) %>
        <%= link "Delete", to: experience_path(@conn, :delete, exp.id), method: :delete, data: [confirm: "Are you sure?"] %>

  <% end %>

Show Education

  <%= for edu <- @user.educations  do %>

<%= edu.organization %>

<%= edu.status %>

<%= edu.degree %>

<%= edu.gpa %>

<%= edu.from %>

<%= edu.to %>

        <%= link "Edit", to: education_path(@conn, :edit, edu.id) %>
        <%= link "Delete", to: education_path(@conn, :delete, edu.id), method: :delete, data: [confirm: "Are you sure?"] %>

  <% end %>

Show Award

  <%= for aw <- @user.awards  do %>

<%= aw.title %>

<%= aw.on %>

        <%= link "Edit", to: award_path(@conn, :edit, aw.id) %>
        <%= link "Delete", to: award_path(@conn, :delete, aw.id), method: :delete, data: [confirm: "Are you sure?"] %>

  <% end %>

Show References

  <%= for ref <- @user.references  do %>

<%= ref.name %>

<%= ref.association %>

<%= ref.phone %>

<%= ref.email %>

        <%= link "Edit", to: reference_path(@conn, :edit, ref.id) %>
        <%= link "Delete", to: reference_path(@conn, :delete, ref.id), method: :delete, data: [confirm: "Are you sure?"] %>

  <% end %>

Show account

    Name:
    <%= @user.name %>

<%= @user.job_title %>

<%= @user.phone %>

<%= @user.address %>

  <%= unless (login_field = Coherence.Config.login_field) == :email do %>

      <%= humanize login_field %>
      <%= Map.get(@user, login_field) %>

  <% end %>

    Email:
    <%= @user.email %>

<%= link "Edit", to: registration_path(@conn, :edit) %>
<%= link "Delete", to: registration_path(@conn, :delete), method: :delete, data: [confirm: "Are you sure?"] %>

Show Skills

  <%= for skill <- @user.skills  do %>

<%= skill.name %>

        <%= link "Edit", to: skill_path(@conn, :edit, skill.id) %>
        <%= link "Delete", to: skill_path(@conn, :delete, skill.id), method: :delete, data: [confirm: "Are you sure?"] %>

  <% end %>

Show Experience

  <%= for exp <- @user.experiences  do %>

<%= exp.category %>

<%= exp.organization %>

<%= exp.position %>

        <%= exp.from %> - <%= exp.to %>

        <%= unless exp.description_one == nil do %>

<%= exp.description_one %>

        <%= end %>

        <%= unless exp.description_two == nil do %>

<%= exp.description_two %>

        <%= end %>

        <%= unless exp.description_three == nil do %>

<%= exp.description_three %>

        <%= end %>

        <%= link "Edit", to: experience_path(@conn, :edit, exp.id) %>
        <%= link "Delete", to: experience_path(@conn, :delete, exp.id), method: :delete, data: [confirm: "Are you sure?"] %>

  <% end %>

Show Education

  <%= for edu <- @user.educations  do %>

<%= edu.organization %>

<%= edu.status %>

<%= edu.degree %>

<%= edu.gpa %>

<%= edu.from %>

<%= edu.to %>

        <%= link "Edit", to: education_path(@conn, :edit, edu.id) %>
        <%= link "Delete", to: education_path(@conn, :delete, edu.id), method: :delete, data: [confirm: "Are you sure?"] %>

  <% end %>

Show Award

  <%= for aw <- @user.awards  do %>

<%= aw.title %>

<%= aw.on %>

        <%= link "Edit", to: award_path(@conn, :edit, aw.id) %>
        <%= link "Delete", to: award_path(@conn, :delete, aw.id), method: :delete, data: [confirm: "Are you sure?"] %>

  <% end %>

Show References

  <%= for ref <- @user.references  do %>

<%= ref.name %>

<%= ref.association %>

<%= ref.phone %>

<%= ref.email %>

        <%= link "Edit", to: reference_path(@conn, :edit, ref.id) %>
        <%= link "Delete", to: reference_path(@conn, :delete, ref.id), method: :delete, data: [confirm: "Are you sure?"] %>

  <% end %>


Update text

Update text

A liquid democracy where anyone can vote on anything.

Featured polls

		<%= for poll <- @examples do %>

				<a class="liquio-inline" href="/polls/<%= poll.id %>" style="text-decoration: none; display: inline-block;">
					<i class="fa fa-<%= poll.fa_icon %>" aria-hidden="true" style="margin-right: 15px;">
					<%= poll.title %>
					<iframe src="/polls/<%= poll.id %>/embed" seamless="seamless" scrolling="no" frameBorder="0" width="125px" height="50px" style="vertical-align: middle; margin-right: 4px; pointer-events: none;">

		<%= end %>

				Delegations

				Not everyone is an expert at everything. That's why you can give your vote to people you trust, but can override it at any time.

				References

				Helping voters make more accurate decisions. People not familiar with the subject can also quickly learn more about it.

				Trust metrics

				Attempt to prevent a single person from having multiple identities. Everyone can choose their own trust metric or make a new one.

				Objectivity

				Liquid democracy works best with objective polls. <a href="/polls/<%= @polls.not_the_best_idea.id %>">Vanilla Ice Cream Flavor Rating — not the best idea.

				No censorship

				Trust metrics contain all subjective logic. The default trust metric lives here. You can always choose a different one.

				Transparency

				The source code is available under MIT license. All data is publicly available through the API for anyone to view or analyze.

		View source on GitHub

A liquid democracy where anyone can vote on anything.

Featured polls

		<%= for poll <- @examples do %>

				<a class="liquio-inline" href="/polls/<%= poll.id %>" style="text-decoration: none; display: inline-block;">
					<i class="fa fa-<%= poll.fa_icon %>" aria-hidden="true" style="margin-right: 15px;">
					<%= poll.title %>
					<iframe src="/polls/<%= poll.id %>/embed" seamless="seamless" scrolling="no" frameBorder="0" width="125px" height="50px" style="vertical-align: middle; margin-right: 4px; pointer-events: none;">

		<%= end %>

				Delegations

				Not everyone is an expert at everything. That's why you can give your vote to people you trust, but can override it at any time.

				References

				Helping voters make more accurate decisions. People not familiar with the subject can also quickly learn more about it.

				Trust metrics

				Attempt to prevent a single person from having multiple identities. Everyone can choose their own trust metric or make a new one.

				Objectivity

				References and delegations work well with polls that are not subjective. <a href="/polls/<%= @polls.not_the_best_idea.id %>">Vanilla Ice Cream Flavor Rating — not the best idea.

				No censorship

				Trust metrics contain all subjective logic. The default trust metric lives here. You can always choose a different one.

				Transparency

				The source code is available under MIT license. All data is publicly available through the API for anyone to view or analyze.

		View source on GitHub


capitalize tag header

capitalize tag header

<%
    blog_feature_image = if assigns[:page_type] == :post do
        if Map.has_key?(@post, :feature_image), do: @post[:feature_image], else: @blog_feature_image
    else
        @blog_feature_image
    end
%>
<header class="intro-header" style="background-image: url('<%= static_path(@conn, blog_feature_image) %>')">

                <%= if assigns[:page_type] == :index do %>

<%= @blog_title %>

                        <%= @blog_headline %>

                <% end %>

                <%= if assigns[:page_type] == :tag do %>

                        Viewing posts with tag

<%= @tag %>

                <% end %>

                <%= if assigns[:page_type] == :year do %>

                        Viewing posts for the year

<%= @year %>

                <% end %>

                <%= if assigns[:page_type] == :month do %>
                    <% month = String.rjust(Integer.to_string(@month), 2, ?0) %>

                        Viewing posts for the month

<%= @year %>-<%= month %>

                <% end %>

                <%= if assigns[:page_type] == :post do %>
                    <% {year, month, day} = @post.date %>
                    <%
                    # Justified versions of the month and day
                    {j_month, j_day} = {
                      String.rjust(Integer.to_string(month), 2, ?0),
                      String.rjust(Integer.to_string(day), 2, ?0)
                    }
                    %>

<%= @post.title %>

                        Posted on <a href="<%= page_path @conn, :year, year, 1 %>"><%= year %>-<%= j_month %>-<%= j_day %>

                <% end %>

                <%= if assigns[:page_type] == :not_found do %>

HTTP/1.1
404 Not Found!

                <% end %>