Class: Jekyll::MapTag
- Inherits:
-
Liquid::Tag
- Object
- Liquid::Tag
- Jekyll::MapTag
- Defined in:
- lib/jekyll/map_tag.rb
Constant Summary collapse
- MAPBOX_STATIC_BASE =
Mapbox
"https://api.mapbox.com/styles/v1/mapbox/%s/static"- MAPBOX_GEOCODE_BASE =
"https://api.mapbox.com/geocoding/v5/mapbox.places/%s.json"- MAPBOX_STYLE_ALIASES =
{ "streets" => "streets-v12", "satellite" => "satellite-v9", "outdoors" => "outdoors-v12", "light" => "light-v11", "dark" => "dark-v11" }.freeze
- GOOGLE_STATIC_BASE =
Google
"https://maps.googleapis.com/maps/api/staticmap"- GOOGLE_GEOCODE_BASE =
"https://maps.googleapis.com/maps/api/geocode/json"- GOOGLE_MAPTYPE_ALIASES =
{ "streets" => "roadmap", "roadmap" => "roadmap", "satellite" => "satellite", "terrain" => "terrain", "hybrid" => "hybrid" }.freeze
- DEFAULT_ZOOM =
13- DEFAULT_WIDTH =
800- DEFAULT_HEIGHT =
400- DEFAULT_PROVIDER =
"mapbox"
Instance Method Summary collapse
-
#initialize(tag_name, markup, tokens) ⇒ MapTag
constructor
A new instance of MapTag.
- #render(context) ⇒ Object
Constructor Details
#initialize(tag_name, markup, tokens) ⇒ MapTag
Returns a new instance of MapTag.
38 39 40 41 |
# File 'lib/jekyll/map_tag.rb', line 38 def initialize(tag_name, markup, tokens) super @raw_markup = markup.strip end |
Instance Method Details
#render(context) ⇒ Object
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/jekyll/map_tag.rb', line 43 def render(context) site = context.registers[:site] map_config = site.config["map"] || {} params = parse_markup(@raw_markup) provider = params["provider"] || map_config["provider"] || DEFAULT_PROVIDER zoom = (params["zoom"] || map_config["zoom"] || DEFAULT_ZOOM).to_i width = (params["width"] || map_config["width"] || DEFAULT_WIDTH).to_i height = (params["height"] || map_config["height"] || DEFAULT_HEIGHT).to_i marker = truthy?(params.fetch("marker", "true")) alt = params["alt"] || "Map" case provider when "google" render_google(params, map_config, site, zoom, width, height, marker, alt) else render_mapbox(params, map_config, site, zoom, width, height, marker, alt) end end |