diff --git a/app/assets/javascripts/pages.js.coffee b/app/assets/javascripts/pages.js.coffee new file mode 100644 index 00000000..76156794 --- /dev/null +++ b/app/assets/javascripts/pages.js.coffee @@ -0,0 +1,3 @@ +# Place all the behaviors and hooks related to the matching controller here. +# All this logic will automatically be available in application.js. +# You can use CoffeeScript in this file: http://jashkenas.github.com/coffee-script/ diff --git a/app/assets/stylesheets/pages.css.scss b/app/assets/stylesheets/pages.css.scss new file mode 100644 index 00000000..45923193 --- /dev/null +++ b/app/assets/stylesheets/pages.css.scss @@ -0,0 +1,11 @@ +// Place all the styles related to the pages controller here. +// They will automatically be included in application.css. +// You can use Sass (SCSS) here: http://sass-lang.com/ + +li { + font-family: 'Avenir Light', Helvetica, Arial, sans-serif; + font-size: 120%; + line-height: 1.6em; + color: #555; + margin-top: 10px; +} \ No newline at end of file diff --git a/app/assets/stylesheets/titan-bootstrap-screen.css.scss b/app/assets/stylesheets/titan-bootstrap-screen.css.scss index 4b54d20a..d929c59b 100644 --- a/app/assets/stylesheets/titan-bootstrap-screen.css.scss +++ b/app/assets/stylesheets/titan-bootstrap-screen.css.scss @@ -582,3 +582,19 @@ span.none { .auto-width{ width: auto !important; } + +h2.pages { + padding-bottom: 0px; +} + +ul.pages { + margin-bottom: 10px; +} + +ul.pages li, ol.pages li { + font-family: 'Avenir Light', Helvetica, Arial, sans-serif; + font-size: 120%; + line-height: 1.4em; + color: #555; + margin-top: 10px; +} diff --git a/app/controllers/pages_controller.rb b/app/controllers/pages_controller.rb new file mode 100644 index 00000000..91c15a4c --- /dev/null +++ b/app/controllers/pages_controller.rb @@ -0,0 +1,4 @@ +class PagesController < ApplicationController + def about + end +end diff --git a/app/helpers/pages_helper.rb b/app/helpers/pages_helper.rb new file mode 100644 index 00000000..2c057fd0 --- /dev/null +++ b/app/helpers/pages_helper.rb @@ -0,0 +1,2 @@ +module PagesHelper +end diff --git a/app/views/pages/about.html.haml b/app/views/pages/about.html.haml new file mode 100644 index 00000000..ca2b9ff5 --- /dev/null +++ b/app/views/pages/about.html.haml @@ -0,0 +1,74 @@ +%header.page-id + %h1 About the Brigade + +%h2.pages Mission +%p The mission of any local CfA Brigade is to deploy, maintain, and sustain civic technology and open data infrastructure for a place. +%ul.pages + %li We want to make it easy for people to code for America. + %li We want to make it easy for places to adopt modern civic technology. + %li We want to make it easy for places to adopt open data infrastructure. + %li We want to innovate in ways that improve the sustainability of civic technology and infrastructure. + %li We want to fulfill the overall Code for America mission to “improve the way governments work better for everyone using the people and the power of the web.” + +%h2.pages Local Identity +%p We think your local identity is important and we want you to maintain and celebrate it. At the same time, we recognize the power of a strong brand that is linked to a strong national network. Feel free to call your local brigade whatever you want. You’ll make links to our platform, use our tag lines, and other resources that will identify your affiliation as a CfA Brigade. + +%h3 “Powered by Brigade” +%p We want to support local communities of practice who want to be “Powered by Brigade.” This tag line symbolizes your affiliation and commitment to our mission and goals. Local communities of practices that are “Powered by Brigade” enjoy the following benefits: +%ul.pages + %li Affiliation with a strong, reputable brand for civic technology + %li Connection to a strong, national network for civic technology + %li Features on one or more of our web properties + %li Assistance from our support team + %li Resources for events + %li Resources for hosting + %li Invitation to our annual summit + +%h2.pages Start-a-Brigade +%p Starting or joining a CfA Brigade is simple. To start a Brigade all you have to do is deploy and maintain a civic app. To join a Brigade all you have to do is find one and participate. + +%ol.pages + %li Go to the Brigade hub: http://brigade.codeforamerica.org + %li Choose an app or task + %li Organize people necessary to deploy and maintain the app + %li Follow the instructions to deploy the app or finish the task + %li Generate buzz + +%p There are other ways to share your willingness to participate. Follow an app or a brigade to be notified of activities. Declare your interests and skills so others can find you. + +%h2.pages FAQ + +%h3 What’s an app? +%p We’re using the word “app” very broadly. Occasionally we throw in phrases like “open data infrastructure” to refer to things like a data catalog or an API. For sake of convenience we might also call these things apps. For our purposes, an app is any civic web application that can be rapidly deployed and simply maintained. + +%h3 How do we deploy apps? +%p Deploying a CfA Brigade app is simple. In some cases it’s as easy as clicking a button. In all cases a set of instructions is provided to walk your through the process. If we’ve done our job correctly, all you have to do is follow the instructions. + +%h3 What else should Brigades do? +%p One of the best ways to understand what Brigade is and does is to understand what are considered to be Brigade activities. While our platform is currently app-centric, many meaningful activities fall outside of the “deploy app” framework. +%p Here is an sample list activities that should be considered Brigade activities, followed by a summary explanation: + +%ul.pages + %li Deploy an app for a city + %li Provide data for an app + %li Maintain an app deployment + %li Create a web site for a community/civic league or parent-teacher-student association + %li Teach web skills to governments, non-profits, and community leaders + %li Teach web technologies to governments, non-profits, and community leaders + %li Execute Freedom of Information processes to move public data from closed data stores into open data catalogs + %li What should Brigades not do? + +%h3 What if I don’t see an app that fits? What if I have a different problem to solve? +%p Use the Brigade hub to submit a challenge. Our support team will track it for you and report back to the community. + +%h3 How can I participate if I’m not a coder or designer? +%p You don’t have to be a coder or a designer to participate in a CfA Brigade. Here’s a sample list of other Brigade activities in which you can participate: + +%ul.pages + %li Draft and publish open data strategy for your city + %li Source challenges by conducting interviews, creating and publishing challenge briefs + %li Curate apps and organizations in the Civic Commons Marketplace + %li Liberate public data from closed systems + %li Raise funds for an app or a Brigade + +%p Code for America’s Brigade support team is ready to help you determine the best approach for your city. Contact us for assistance. \ No newline at end of file diff --git a/app/views/shared/_navigation.html.erb b/app/views/shared/_navigation.html.erb index 8ce96f05..b65fee43 100644 --- a/app/views/shared/_navigation.html.erb +++ b/app/views/shared/_navigation.html.erb @@ -19,6 +19,9 @@
  • <%= link_to 'People', users_path %>
  • +
  • + <%= link_to 'About', '/about' %> +
  • diff --git a/config/routes.rb b/config/routes.rb index f28dfc5d..26d278c7 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,4 +1,5 @@ CodeForAmerica::Application.routes.draw do + mount RailsAdmin::Engine => '/admin', :as => 'rails_admin' devise_for :users, controllers: { registrations: 'registrations', omniauth_callbacks: 'users/omniauth_callbacks' } @@ -38,4 +39,7 @@ resources :deployed_applications, only: [:index, :new, :create, :show] resources :challenges, only: [:new, :create, :index] root :to => 'home#index' + + get 'about' => 'pages#about' + end diff --git a/spec/controllers/pages_controller_spec.rb b/spec/controllers/pages_controller_spec.rb new file mode 100644 index 00000000..3a90a1f1 --- /dev/null +++ b/spec/controllers/pages_controller_spec.rb @@ -0,0 +1,12 @@ +require 'spec_helper' + +describe PagesController do + + describe "GET 'about'" do + it "returns http success" do + get 'about' + response.should be_success + end + end + +end diff --git a/spec/helpers/pages_helper_spec.rb b/spec/helpers/pages_helper_spec.rb new file mode 100644 index 00000000..4f754480 --- /dev/null +++ b/spec/helpers/pages_helper_spec.rb @@ -0,0 +1,15 @@ +require 'spec_helper' + +# Specs in this file have access to a helper object that includes +# the PagesHelper. For example: +# +# describe PagesHelper do +# describe "string concat" do +# it "concats two strings with spaces" do +# helper.concat_strings("this","that").should == "this that" +# end +# end +# end +describe PagesHelper do + pending "add some examples to (or delete) #{__FILE__}" +end diff --git a/spec/views/pages/about.html.haml_spec.rb b/spec/views/pages/about.html.haml_spec.rb new file mode 100644 index 00000000..9b7b8813 --- /dev/null +++ b/spec/views/pages/about.html.haml_spec.rb @@ -0,0 +1,5 @@ +require 'spec_helper' + +describe "pages/about.html.haml" do + pending "add some examples to (or delete) #{__FILE__}" +end