class Jekyll::Maps::GoogleMapApi
Constants
- HEAD_END_TAG
Public Class Methods
prepend_api_code(doc)
click to toggle source
# File lib/jekyll-maps/google_map_api.rb, line 7 def prepend_api_code(doc) @config = doc.site.config if doc.output =~ HEAD_END_TAG # Insert API code before header's end if this document has one. doc.output.gsub!(HEAD_END_TAG, %(#{api_code}#{Regexp.last_match})) else doc.output.prepend(api_code) end end
Private Class Methods
api_code()
click to toggle source
# File lib/jekyll-maps/google_map_api.rb, line 18 def api_code <<HTML <script type='text/javascript'> #{js_lib_contents} </script> #{load_google_maps_api} #{load_marker_cluster} HTML end
js_lib_contents()
click to toggle source
# File lib/jekyll-maps/google_map_api.rb, line 51 def js_lib_contents @js_lib_contents ||= begin File.read(js_lib_path) end end
js_lib_path()
click to toggle source
# File lib/jekyll-maps/google_map_api.rb, line 58 def js_lib_path @js_lib_path ||= begin File.expand_path("./google_map_api.js", File.dirname(__FILE__)) end end
load_google_maps_api()
click to toggle source
# File lib/jekyll-maps/google_map_api.rb, line 29 def load_google_maps_api api_key = @config.fetch("maps", {}) .fetch("google", {}) .fetch("api_key", "") <<HTML <script async defer src='https://maps.googleapis.com/maps/api/js?key=#{api_key}&callback=#{Jekyll::Maps::GoogleMapTag::JS_LIB_NAME}.initializeMap'></script> HTML end
load_marker_cluster()
click to toggle source
# File lib/jekyll-maps/google_map_api.rb, line 39 def load_marker_cluster settings = @config.fetch("maps", {}) .fetch("google", {}) .fetch("marker_cluster", {}) return unless settings.fetch("enabled", true) <<HTML <script async defer src='https://cdn.rawgit.com/googlemaps/js-marker-clusterer/gh-pages/src/markerclusterer.js' onload='#{Jekyll::Maps::GoogleMapTag::JS_LIB_NAME}.initializeCluster(#{settings.to_json})'></script> HTML end