From: John Firebaugh Date: Tue, 16 Jul 2013 00:38:42 +0000 (-0700) Subject: Add welcome page based on http://osmlab.github.io/welcome-osm/ X-Git-Tag: live~4791^2~46 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/e3aaa6dd4b90320f7cad0efe66646692710a849b?hp=dae2c209d9e7eba8f3d1fda6d3d6a09a2c12ec00 Add welcome page based on http://osmlab.github.io/welcome-osm/ --- diff --git a/app/assets/images/welcome-sprite.png b/app/assets/images/welcome-sprite.png new file mode 100644 index 000000000..a97b8e7fc Binary files /dev/null and b/app/assets/images/welcome-sprite.png differ diff --git a/app/assets/stylesheets/common.css.scss b/app/assets/stylesheets/common.css.scss index a73c8e86d..a50bb74dc 100644 --- a/app/assets/stylesheets/common.css.scss +++ b/app/assets/stylesheets/common.css.scss @@ -57,6 +57,22 @@ abbr, acronym { clear: both; } +/* Basic grid */ + +.col0 { float:left; width:04.1666%; } +.col1 { float:left; width:08.3333%; } +.col2 { float:left; width:16.6666%; } +.col3 { float:left; width:25.0000%; } +.col4 { float:left; width:33.3333%; } +.col5 { float:left; width:41.6666%; } +.col6 { float:left; width:50.0000%; } +.col7 { float:left; width:58.3333%; } +.col8 { float:left; width:66.6666%; } +.col9 { float:left; width:75.0000%; } +.col10 { float:left; width:83.3333%; } +.col11 { float:left; width:91.6666%; } +.col12 { width:100%; } + /* Default rules for the body of every page */ * { @@ -1012,6 +1028,18 @@ ul.results-list li { border-bottom: 1px solid #ccc; } border-left: 1px solid #ccc; } +.site-copyright, +.site-welcome { + .content-heading { + text-align: center; + } + + #content { + max-width: 700px; + margin: auto; + } +} + .wrapper { margin-left: 184px; border-left: 1px solid #ccc; @@ -2191,3 +2219,63 @@ a.button { border: 0; background: #fff; } + +/* Rules for the "Welcome" page */ +.site-welcome { + .center { + text-align: center; + } + + .drop { + margin-top: 80px; + } + + .sprite { + background-image: image-url("welcome-sprite.png"); + background-size: 500px 250px; + display: inline-block; + } + + .sprite.small { + width: 50px; + height: 50px; + } + + .sprite.x { + background-position: -50px 0; + } + + .sprite.large { + width: 350px; + height: 200px; + } + + .sprite.one-map { + background-position: 0 -50px; + } + + .sprite.term { + margin-right: 10px; + vertical-align: middle; + } + + .sprite.node { + background-position: -100px 0; + } + + .sprite.way { + background-position: -150px 0; + } + + .sprite.changeset { + background-position: -200px 0; + } + + .sprite.editor { + background-position: -250px 0; + } + + .sprite.question { + background-position: -300px 0; + } +} diff --git a/app/controllers/site_controller.rb b/app/controllers/site_controller.rb index b2212645c..35f1fb849 100644 --- a/app/controllers/site_controller.rb +++ b/app/controllers/site_controller.rb @@ -80,6 +80,9 @@ class SiteController < ApplicationController @locale = params[:copyright_locale] || I18n.locale end + def welcome + end + def preview render :text => RichText.new(params[:format], params[:text]).to_html end diff --git a/app/views/site/welcome.html.erb b/app/views/site/welcome.html.erb new file mode 100644 index 000000000..f3a0b086d --- /dev/null +++ b/app/views/site/welcome.html.erb @@ -0,0 +1,95 @@ +<% content_for :heading do %> +

<%= t "welcome_page.title" %>

+

<%= t "welcome_page.subtitle" %>

+<% end %> + +
+

<%= t "welcome_page.introduction_html" %>

+
+ +
+

<%= t "welcome_page.section_1.title" %>

+
+ +
+

<%= t "welcome_page.section_1.paragraph_1_html" %>

+

<%= t "welcome_page.section_1.paragraph_2_html" %>

+
+ +
+

<%= t "welcome_page.section_2.title" %>

+
+
+ +
+

<%= t "welcome_page.section_2.on_html" %>

+
+
+
+ +
+

<%= t "welcome_page.section_2.off_html" %>

+
+
+ +<% if @user %> +
+

<%= t "welcome_page.section_3.title" %>

+

<%= t "welcome_page.section_3.paragraph_2_html" %>

+
+<% else %> +
+

<%= t "welcome_page.section_3.title_no_user" %>

+

<%= t "welcome_page.section_3.paragraph_1_html" %>

+

<%= t "welcome_page.section_3.paragraph_2_html" %>

+
+<% end %> + +
+

<%= t "welcome_page.section_4.title" %>

+

<%= t "welcome_page.section_4.paragraph_1_html" %>

+
+

+ + <%= t "welcome_page.section_4.editor_html" %> +

+

+ + <%= t "welcome_page.section_4.node_html" %> +

+

+ + <%= t "welcome_page.section_4.way_html" %> +

+

+ + <%= t "welcome_page.section_4.changeset_html" %> +

+
+
+ +
+

<%= t "welcome_page.section_5.title" %>

+
+ +
+

<%= t "welcome_page.section_5.paragraph_1_html" %>

+
+ +
+

<%= t "welcome_page.section_6.title" %>

+ <% if @user %> +

<%= t "welcome_page.section_6.paragraph_1_html" %>

+ <% else %> +

<%= t "welcome_page.section_6.paragraph_1_no_user_html" %>

+ <% end %> +

<%= t "welcome_page.section_6.paragraph_2_html" %>

+
+ +
+
+

<%= t "welcome_page.section_7.title" %>

+

<%= t "welcome_page.section_7.paragraph_1_html" %>

+

<%= t "welcome_page.section_7.paragraph_2_html" %>

+
+
diff --git a/config/locales/en.yml b/config/locales/en.yml index adc98d585..f3397411a 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -1148,6 +1148,84 @@ en: to our takedown procedure or file directly at our on-line filing page. + welcome_page: + title: Welcome to OpenStreetMap + subtitle: a free map that you can edit + introduction_html: | + Unlike other maps, OpenStreetMap is completely created + by people like you, and free for anyone to fix, update, download and use. + Here's a quick guide to get you started! + section_1: + title: 'One Map: Many Websites' + paragraph_1_html: | + If you're here to correct an error you found on a site like Foursquare or Craigslist, + you're in the right place - OpenStreetMap is the central map database used by hundreds + of websites. + paragraph_2_html: | + You just need to edit OpenStreetMap, and the changes will be visible everywhere else. + Copying the map data from place to place can take from a few minutes to a few hours, + so don't worry if it isn't instant. + section_2: + title: What's on the Map + on_html: | + OpenStreetMap is a place for any data that's both real and current - it includes + millions of buildings, roads, and other details about places. + off_html: | + What it doesn't include is opinionated data, like ratings, or data that isn't + current, like historical buildings or hypothetical structures. + section_3: + title: You're Signed Up + title_no_user: Get a Free Account + paragraph_1_html: | + To edit OpenStreetMap, you'll need a + free user account - sign up here. + paragraph_2_html: | + With your user account, you can edit the map, + create a profile page, and + communicate with other people working on improving the map. + section_4: + title: Basic Terms For Mapping + paragraph_1_html: | + OpenStreetMap has some of its own lingo. Here are a few key words that'll come in handy. + editor_html: | + An Editor is a program or website you can use to edit the map. + node_html: | + A Node is a point on the map, like a single restauraunt or a tree. + way_html: | + A Way is a line, like a road, stream, or shape. + changeset_html: | + A Changeset is group of + changes to the map saved by a user. + section_5: + title: Any questions? + paragraph_1_html: | + Need help mapping, or not clear on how to use OpenStreetMap? Feel free to ask on + the help website! + section_6: + title: Start Editing + paragraph_1_html: | + You can zoom in anywhere in the world and click the Edit button to start editing. + paragraph_1_no_user_html: | + Once you have an account, you can zoom in anywhere in the world and click the Edit button + to start editing. + paragraph_2_html: | + Since OpenStreetMap is an open project, there are lots of different ways to edit the map - whether with + a web based editor like iD, or + on your iPhone with Pushpin, + or with your Android phone + with OsmAnd+. + section_7: + title: No Time To Edit? Add a Note! + paragraph_1_html: | + If you just want something small fixed and don't have the time to sign up and learn how to edit, it's + easy to add a note! + paragraph_2_html: | + Just go to the map and click 'Add a note' in + the bottom-right corner. This will add a marker to the map, which you can move by dragging + the green plus sign. Click save to add a note, and experienced mappers will find and address your issue. notifier: diary_comment_notification: subject: "[OpenStreetMap] %{user} commented on your diary entry" diff --git a/config/routes.rb b/config/routes.rb index bc473a4b0..cf0bfd324 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -125,6 +125,7 @@ OpenStreetMap::Application.routes.draw do match '/edit' => 'site#edit', :via => :get match '/copyright/:copyright_locale' => 'site#copyright', :via => :get match '/copyright' => 'site#copyright', :via => :get + match '/welcome' => 'site#welcome', :via => :get match '/history' => 'changeset#list', :via => :get match '/history/feed' => 'changeset#feed', :via => :get, :format => :atom match '/export' => 'site#index', :export => true, :via => :get diff --git a/test/functional/site_controller_test.rb b/test/functional/site_controller_test.rb index 770f3e2b5..4f41858e8 100644 --- a/test/functional/site_controller_test.rb +++ b/test/functional/site_controller_test.rb @@ -34,6 +34,10 @@ class SiteControllerTest < ActionController::TestCase { :path => "/copyright/locale", :method => :get }, { :controller => "site", :action => "copyright", :copyright_locale => "locale" } ) + assert_routing( + { :path => "/welcome", :method => :get }, + { :controller => "site", :action => "welcome" } + ) assert_routing( { :path => "/export", :method => :get }, { :controller => "site", :action => "index", :export => true }