diff options
author | Karl Hallsby <karl@hallsby.com> | 2020-09-27 17:45:13 -0500 |
---|---|---|
committer | Karl Hallsby <karl@hallsby.com> | 2020-09-27 17:45:13 -0500 |
commit | c6bf5f7c895287d2028f6024265913b59784a154 (patch) | |
tree | 3a298df17d9472a679411dd81ea00a1239652477 /_includes/search-providers/google-custom-search-engine | |
parent | 50dafcddc0392b99b228824274b1b97d0e72e423 (diff) |
Bring all of jekyll-text-theme _includes into site
Diffstat (limited to '_includes/search-providers/google-custom-search-engine')
-rw-r--r-- | _includes/search-providers/google-custom-search-engine/search.html | 21 | ||||
-rw-r--r-- | _includes/search-providers/google-custom-search-engine/search.js | 33 |
2 files changed, 54 insertions, 0 deletions
diff --git a/_includes/search-providers/google-custom-search-engine/search.html b/_includes/search-providers/google-custom-search-engine/search.html new file mode 100644 index 0000000..cf132ab --- /dev/null +++ b/_includes/search-providers/google-custom-search-engine/search.html @@ -0,0 +1,21 @@ +{%- if site.search.google.custom_search_engine_id -%} + <div class="search search--dark search--google-custom-search-engine"> + <div class="main"> + <div class="content js-gcse"> + <!-- <gcse:search enableAutoComplete="true" gname="search-box"></gcse:search> + <gcse:searchresults-only gname="results"></gcse:searchresults-only> --> + </div> + </div> + </div> + <script> + var gcse = document.getElementsByClassName('js-gcse')[0]; + var gcseSearch = document.createElement('gcse:search'); + gcseSearch.setAttribute('enableAutoComplete', 'true'); + gcseSearch.setAttribute('gname', 'search-box'); + var gcseSearchresults = document.createElement('gcse:searchresults-only'); + gcseSearchresults.setAttribute('gname', 'results'); + gcse.appendChild(gcseSearch); + gcse.appendChild(gcseSearchresults); + </script> + <script>{%- include search-providers/google-custom-search-engine/search.js -%}</script> +{%- endif -%} diff --git a/_includes/search-providers/google-custom-search-engine/search.js b/_includes/search-providers/google-custom-search-engine/search.js new file mode 100644 index 0000000..09e5273 --- /dev/null +++ b/_includes/search-providers/google-custom-search-engine/search.js @@ -0,0 +1,33 @@ +var SOURCES = window.TEXT_VARIABLES.sources; +window.Lazyload.js(SOURCES.jquery, function() { + /* global google */ + var search = (window.search || (window.search = {})); + var searchBox, searchInput, clearIcon, searchModal; + + search.clear = function() { + searchBox && searchBox.clearAllResults(); + }; + search.onShow = function() { + searchInput && searchInput.focus(); + }; + search.onHide = function() { + searchInput && searchInput.blur(); + }; + + window.__gcse = { + callback: function() { + searchBox = google.search.cse.element.getElement('search-box'); + searchInput = document.getElementById('gsc-i-id1'); + clearIcon = document.getElementById('gs_cb50'); + searchModal = search.searchModal; + searchModal && searchModal.$el && searchModal.$el.on('click', function(e) { + (e.target === this || e.target === clearIcon || e.target.className === 'gs-title') && searchModal.hide(); + }); + } + }; + var cx = '{{ site.search.google.custom_search_engine_id }}'; // Insert your own Custom Search Engine ID here + var gcse = document.createElement('script'); gcse.type = 'text/javascript'; gcse.async = true; + gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') + + '//cse.google.com/cse.js?cx=' + cx; + var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(gcse, s); +}); |