aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Eilertsen <haraldei@anduin.net>2019-05-26 14:56:11 +0200
committerHarald Eilertsen <haraldei@anduin.net>2019-05-26 15:02:00 +0200
commitac1618327da1dfd606cf969fd8d8d15ddf9ece44 (patch)
tree21ddd06cd37f0ace436a6c8429706e597f8e68b1
parent588e9e570f1a4d33844bb88f5eb7c404a872adad (diff)
downloadhmnoweb-ac1618327da1dfd606cf969fd8d8d15ddf9ece44.tar.gz
hmnoweb-ac1618327da1dfd606cf969fd8d8d15ddf9ece44.tar.bz2
hmnoweb-ac1618327da1dfd606cf969fd8d8d15ddf9ece44.zip
Add search powered by Qwant.com
Why? Implementing our own search is quite involved if we want it to be any good. So outsourcing makes sense. Qwant is hosted in Europe (France,) and takes privacy seriously and doesn't track you. See https://help.qwant.com/help/overview/our-philosophy/ And https://help.qwant.com/help/overview/how-does-qwant-make-money/ For more information.
-rw-r--r--app/assets/stylesheets/hmno_main.scss12
-rw-r--r--app/views/common/_search.html.erb33
-rw-r--r--app/views/refinery/_header.html.erb1
3 files changed, 46 insertions, 0 deletions
diff --git a/app/assets/stylesheets/hmno_main.scss b/app/assets/stylesheets/hmno_main.scss
index 26a0a29..92e5274 100644
--- a/app/assets/stylesheets/hmno_main.scss
+++ b/app/assets/stylesheets/hmno_main.scss
@@ -91,3 +91,15 @@ img {
visibility:hidden;
}
}
+
+.search {
+ text-align: center;
+ padding-bottom: 3mm;
+
+ #query {
+ background-color: $body-bg;
+ color: $fg;
+ border: 1px solid $fg;
+ padding: 1mm;
+ }
+}
diff --git a/app/views/common/_search.html.erb b/app/views/common/_search.html.erb
new file mode 100644
index 0000000..5625935
--- /dev/null
+++ b/app/views/common/_search.html.erb
@@ -0,0 +1,33 @@
+<%#
+ This file is part of hmnoweb, a RefineryCMS based Webapp for heavymetal.no
+ Copyright (C) 2018 Harald Eilertsen <haraldei@anduin.net>
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License version 3
+ as published by the Free Software Foundation.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
+%>
+<!-- search provided by Qwant.com -->
+<form method="GET" action="https://www.qwant.com" id="searchform" target="_blank" onsubmit="addSiteSearch()">
+ <div class="search">
+ <input type="text" name="q" id="query" size="31" maxlength="255" value="">
+ <input type="hidden" name="l" value="en">
+ <input type="submit" name="btnG" value="Søk">
+ </div>
+</form>
+<script type="text/javascript">
+function encodeHTML(s) {
+ return s.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/"/g, '&quot;');
+}
+function addSiteSearch() {
+ document.getElementById('query').value = encodeHTML(document.getElementById('query').value) + " site:heavymetal.no";
+}
+</script>
+<!-- end search -->
diff --git a/app/views/refinery/_header.html.erb b/app/views/refinery/_header.html.erb
index 4dbdfc2..ef0253a 100644
--- a/app/views/refinery/_header.html.erb
+++ b/app/views/refinery/_header.html.erb
@@ -18,6 +18,7 @@
<%= link_to image_tag("logo.png", :alt => "Heavymetal.no"), refinery.root_path %>
</div>
<div id="menu-area">
+ <%= render "common/search" %>
<%= Refinery::Pages::MenuPresenter.new(refinery_menu_pages, self).to_html %>
</div>
<div id="merchlink">