Atom readers (Firefox/Liferea) don't like when we embed XHTML anchors
in the description. So adjust the code that creates the changeset browser title/description to emit a XHTML and plaintext version with the HTML and Atom output can use, respectively. Also: * Split up @title into @title and @heading as elsewhere * Turn the username on the user / user+bbox browser into a link to the userpage * Say "Changesets" instead of "Recent changes". Unlike Wikipedia the changes on OSM aren't guaranteed to be recent, they're just going to be the latest
This commit is contained in:
parent
e2abf1254b
commit
b06b6c2ce9
5 changed files with 46 additions and 12 deletions
|
@ -278,22 +278,38 @@ class ChangesetController < ApplicationController
|
|||
bbox = params[:minlon] + ',' + params[:minlat] + ',' + params[:maxlon] + ',' + params[:maxlat]
|
||||
end
|
||||
|
||||
user_link = bbox_link = nil
|
||||
|
||||
if bbox
|
||||
conditions = cond_merge conditions, conditions_bbox(bbox)
|
||||
bbox = BoundingBox.from_s(bbox)
|
||||
bbox_link = "<a href='#{url_for(:controller => "site", :action => "index", :minlon => bbox.min_lon, :minlat => bbox.min_lat, :maxlon => bbox.max_lon, :maxlat => bbox.max_lat, :box => "yes")}'>#{bbox.to_s}</a>"
|
||||
end
|
||||
|
||||
@title = t 'changeset.list.title'
|
||||
if user
|
||||
user_link = "<a href='#{url_for(:controller => "user", :action => "view", :display_name => user.display_name)}'>#{user.display_name}</a>"
|
||||
end
|
||||
|
||||
if user and bbox
|
||||
@description = t 'changeset.list.description_user_bbox', :user => user.display_name, :bbox => bbox_link
|
||||
@title = t 'changeset.list.title_user_bbox', :user => user.display_name, :bbox => bbox.to_s
|
||||
@heading = t 'changeset.list.heading_user_bbox', :user => user.display_name, :bbox => bbox.to_s
|
||||
@description = t 'changeset.list.description_user_bbox', :user => user_link, :bbox => bbox_link
|
||||
@description_plain = t 'changeset.list.description_user_bbox', :user => user.display_name, :bbox => bbox.to_s
|
||||
elsif user
|
||||
@description = t 'changeset.list.description_user', :user => user.display_name
|
||||
@title = t 'changeset.list.title_user', :user => user.display_name
|
||||
@heading = t 'changeset.list.heading_user', :user => user.display_name
|
||||
@description = t 'changeset.list.description_user', :user => user_link
|
||||
@description_plain = t 'changeset.list.description_user', :user => user.display_name
|
||||
elsif bbox
|
||||
@title = t 'changeset.list.title_bbox', :bbox => bbox.to_s
|
||||
@heading = t 'changeset.list.heading_bbox', :bbox => bbox.to_s
|
||||
@description = t 'changeset.list.description_bbox', :bbox => bbox_link
|
||||
@description_plain = t 'changeset.list.description_bbox', :bbox => bbox.to_s
|
||||
else
|
||||
@title = t 'changeset.list.title'
|
||||
@heading = t 'changeset.list.heading'
|
||||
@description = t 'changeset.list.description'
|
||||
@description_plain = @description
|
||||
end
|
||||
|
||||
@edit_pages, @edits = paginate(:changesets,
|
||||
|
|
|
@ -5,7 +5,7 @@ atom_feed(:language => I18n.locale, :schema_date => 2009,
|
|||
feed.title @title
|
||||
|
||||
feed.subtitle :type => 'xhtml' do |xhtml|
|
||||
xhtml.p @description
|
||||
xhtml.p @description_plain
|
||||
end
|
||||
|
||||
feed.updated @edits.map {|e| [e.created_at, e.closed_at].max }.max
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<h1><%= @title %></h1>
|
||||
<h1><%= @heading %></h1>
|
||||
<p><%= @description %></p>
|
||||
|
||||
<%= render :partial => 'changeset_paging_nav' %>
|
||||
|
|
|
@ -255,10 +255,19 @@ en:
|
|||
area: "Area"
|
||||
list:
|
||||
title: "Changesets"
|
||||
description: "Recent edits"
|
||||
description_user: "Recent edits by {{user}}"
|
||||
description_bbox: "Recent edits within {{bbox}}"
|
||||
description_user_bbox: "Recent edits by {{user}} within {{bbox}}"
|
||||
title_user: "Changesets by {{user}}"
|
||||
title_bbox: "Changesets within {{bbox}}"
|
||||
title_user_bbox: "Changesets by {{user}} within {{bbox}}"
|
||||
|
||||
heading: "Changesets"
|
||||
heading_user: "Changesets by {{user}}"
|
||||
heading_bbox: "Changesets within {{bbox}}"
|
||||
heading_user_bbox: "Changesets by {{user}} within {{bbox}}"
|
||||
|
||||
description: "Recent changes"
|
||||
description_user: "Changesets by {{user}}"
|
||||
description_bbox: "Changesets within {{bbox}}"
|
||||
description_user_bbox: "Changesets by {{user}} within {{bbox}}"
|
||||
diary_entry:
|
||||
new:
|
||||
title: New Diary Entry
|
||||
|
|
|
@ -253,10 +253,19 @@ is:
|
|||
area: "Svæði"
|
||||
list:
|
||||
title: "Breytingarsett"
|
||||
title_user: "Breytingar eftir {{user}}"
|
||||
title_bbox: "Breytingar innan {{bbox}}"
|
||||
title_user_bbox: "Breytingar eftir {{user}} innan {{bbox}}"
|
||||
|
||||
heading: "Breytingarsett"
|
||||
heading_user: "Breytingar eftir {{user}}"
|
||||
heading_bbox: "Breytingar innan {{bbox}}"
|
||||
heading_user_bbox: "Breytingar eftir {{user}} innan {{bbox}}"
|
||||
|
||||
description: "Nýlegar breytingar"
|
||||
description_user: "Nýlegar breytingar eftir {{user}}"
|
||||
description_bbox: "Nýlegar breytingar innan {{bbox}}"
|
||||
description_user_bbox: "Nýlegar breytingar eftir {{user}} innan {{bbox}}"
|
||||
description_user: "Breytingar eftir {{user}}"
|
||||
description_bbox: "Breytingar innan {{bbox}}"
|
||||
description_user_bbox: "Breytingar eftir {{user}} innan {{bbox}}"
|
||||
diary_entry:
|
||||
new:
|
||||
title: "Ný bloggfærsla"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue