diff options
-rw-r--r-- | README.md | 12 | ||||
-rw-r--r-- | plugin.rb | 4 |
2 files changed, 10 insertions, 6 deletions
@@ -1,7 +1,9 @@ -discourse-openstreetmap +discourse-umap ======================= -> Discourse plugin to support OSM via URL Oneboxing +> Discourse plugin to support OSM via UMAP URL Oneboxing + +_This is inspired by discourse-openstreetmap, but it covers umap URIs._ ## Installation on top of Docker image @@ -14,7 +16,7 @@ hooks: cd: $home/plugins cmd: - mkdir -p plugins - - git clone https://github.com/lidel/discourse-openstreetmap.git + - git clone https://code.cepheide.org/discourse-umap.git ``` Rebuild Discourse: `/var/discourse/launcher rebuild app` @@ -23,7 +25,7 @@ Rebuild Discourse: `/var/discourse/launcher rebuild app` ### What URLs are oneboxed by this plugin? - https://www.openstreetmap.org/?mlat=[Marker Latitude]&mlon=[Marker Longitude]#map=[Zoom Level]/[Latitude]/[Longitude]&layers=[Layer code] + https://umap.openstreetmap.{fr,org}/{fr,en}/map/[map-name]?mlat=[Marker Latitude]&mlon=[Marker Longitude]#map=[Zoom Level]/[Latitude]/[Longitude]&layers=[Layer code] will be onboxed as a mini-map: @@ -36,6 +38,8 @@ Sure you can! In past it was done by this plugin, but there is now an `allowed i Something to keep in mind: embedding of OSM `iframe` is enabled by default only for HTTPS URL. This means if it does not work for you, change `<iframe src=http://www.openstreetmap.org/export/embed.html?(..)` to have `src=https://` instead. + + > ![iframe-example](https://user-images.githubusercontent.com/157609/31852829-4c23c4f2-b67f-11e7-8cd3-f0d4c14bf93c.png) ### Is this all there is? I want more OSM integration! @@ -9,14 +9,14 @@ class Onebox::Engine::OpenStreetMapOnebox @@width = 425 @@height = 350 @@tile_size = 256 - @@REGEX = /^https?:\/\/(?:www\.)openstreetmap\.org\/.*#map=([\d\.]+)\/([-\d\.]+)\/([-\d\.]+)/ + @@REGEX = /^https?:\/\/umap\.openstreetmap\.fr/.*#map=([\d\.]+)\/([-\d\.]+)\/([-\d\.]+)/ # enable oneboxing permalinks (http://wiki.openstreetmap.org/wiki/Permalink) into iframes matches_regexp(@@REGEX) def to_html zoom, lat, lon = @url.match(@@REGEX).captures - iframe_url = "//www.openstreetmap.org/export/embed.html?bbox=#{get_bbox(lat.to_f, lon.to_f, zoom.to_i)}" + iframe_url = "//umap.openstreetmap.fr/fr/map?bbox=#{get_bbox(lat.to_f, lon.to_f, zoom.to_i)}" if marker = @url.match(/mlat=([-\d\.]+).+mlon=([-\d\.]+)/) mlat, mlon = marker.captures |