From d5ead5314d9cf6c098b0792fbf3d7d50a941cfc7 Mon Sep 17 00:00:00 2001 From: Michael Peter Christen Date: Tue, 24 Jan 2012 19:03:47 +0100 Subject: [PATCH] changed navigation links: now using checkboxes. This looks better and allows that negative checkboxes (such that remove the navigation) are possible. These are not yet implemented (comming next) --- htroot/env/base.css | 27 +++++++++++++++- htroot/yacysearch.html | 16 +++++----- htroot/yacysearch.java | 8 ++--- htroot/yacysearchtrailer.html | 58 +++++++++++++++++++---------------- htroot/yacysearchtrailer.java | 32 +++++++++---------- htroot/yacysearchtrailer.json | 14 ++++----- 6 files changed, 92 insertions(+), 63 deletions(-) diff --git a/htroot/env/base.css b/htroot/env/base.css index 71401355e..8666aaf10 100644 --- a/htroot/env/base.css +++ b/htroot/env/base.css @@ -441,7 +441,7 @@ form.search.small h2 { margin-bottom:5px; } -li.menugroup h3{ +li.menugroup h3 { font-size: 1em; font-weight: bold; margin: 0; padding: 1px 10px; } @@ -631,6 +631,31 @@ dd.hint { padding-bottom: 10px; } +dl.bplike +{ + float: left; + margin: 0 0; + width: 184px; + padding: 0; +} + +.bplike dt +{ + clear: left; + float: left; + width: 20px; + margin: 0; + padding: 0px; +} + +.bplike dd +{ + float: left; + width: 155px; + margin: 0px; + padding: 0px; +} + /*----------
*/ diff --git a/htroot/yacysearch.html b/htroot/yacysearch.html index d4a7685ec..a1f0321c3 100644 --- a/htroot/yacysearch.html +++ b/htroot/yacysearch.html @@ -28,10 +28,10 @@ case 9: case 33: window.location.href = document.getElementById("nextpage").href; - break; + break; case 34: window.location.href = document.getElementById("prevpage").href; - break; + break; case 40: } } @@ -48,13 +48,13 @@ function opensearch(data) { var parsed = []; data = eval('({"suggest":' + data + '})'); - for (var i = 0; i < data.suggest[1].length; i++) { + for (var i = 0; i < data.suggest[1].length; i++) { var row = data.suggest[1][i]; - if (row) { - parsed[parsed.length] = { - data: [row], - value: row, - result: row + if (row) { + parsed[parsed.length] = { + data: [row], + value: row, + result: row }; }; }; diff --git a/htroot/yacysearch.java b/htroot/yacysearch.java index 6dea9ac4b..d213d515c 100644 --- a/htroot/yacysearch.java +++ b/htroot/yacysearch.java @@ -533,16 +533,16 @@ public class yacysearch { String authorhash = null; if ( authori >= 0 ) { // check if the author was given with single quotes or without - final boolean quotes = (querystring.charAt(authori + 7) == (char) 39); + final boolean quotes = (querystring.charAt(authori + 7) == '%'); String author; if ( quotes ) { - int ftb = querystring.indexOf((char) 39, authori + 8); + int ftb = querystring.indexOf('%', authori + 8); if ( ftb == -1 ) { ftb = querystring.length() + 1; } author = querystring.substring(authori + 8, ftb); - querystring = querystring.replace("author:'" + author + "'", ""); - modifier.append("author:'").append(author).append("' "); + querystring = querystring.replace("author:%" + author + "%", ""); + modifier.append("author:%").append(author).append("% "); } else { int ftb = querystring.indexOf(' ', authori); if ( ftb == -1 ) { diff --git a/htroot/yacysearchtrailer.html b/htroot/yacysearchtrailer.html index ab05703cb..02c0d6a02 100644 --- a/htroot/yacysearchtrailer.html +++ b/htroot/yacysearchtrailer.html @@ -1,7 +1,7 @@
#(cat-location)#:: -
+
earthsearchlogo Show search results for "#[query]#" on map @@ -11,62 +11,68 @@ #(nav-topics)#::
    #{element}# -
  • #[url]#
  • +
  • #[name]#
  • #{/element}#
#(/nav-topics)# #(nav-protocols)#:: -
+

Protocol Navigator

-
    #{element}# -
  • #[url]#
  • -#{/element}#
+
#{element}# +
+
#[name]# (#[count]#)
+#{/element}#
#(/nav-protocols)# #(nav-filetypes)#:: -
+

Filetype Navigator

-
    #{element}# -
  • #[url]#
  • -#{/element}#
+
#{element}# +
+
#[name]# (#[count]#)
+#{/element}#
#(/nav-filetypes)# #(nav-domains)#:: -
+

Domain Navigator

-
    #{element}# -
  • #[url]#
  • -#{/element}#
+
#{element}# +
+
#[name]# (#[count]#)
+#{/element}#
#(/nav-domains)# #(nav-namespace)#:: -
+

Name Space Navigator

-
    #{element}# -
  • #[url]#
  • -#{/element}#
+
#{element}# +
+
#[name]# (#[count]#)
+#{/element}#
#(/nav-namespace)# #(nav-authors)#:: -
+

Author Navigator

-
    #{element}# -
  • #[url]#
  • -#{/element}#
+
#{element}# +
+
#[name]# (#[count]#)
+#{/element}#
#(/nav-authors)# #{nav-vocabulary}# -
+

#[navname]# Navigator

-
    #{element}# -
  • #[url]#
  • -#{/element}#
+
#{element}# +
+
#[name]# (#[count]#)
+#{/element}#
#{/nav-vocabulary}# diff --git a/htroot/yacysearchtrailer.java b/htroot/yacysearchtrailer.java index 5bc71d92c..5b82f2090 100644 --- a/htroot/yacysearchtrailer.java +++ b/htroot/yacysearchtrailer.java @@ -75,9 +75,9 @@ public class yacysearchtrailer { while (i < 10 && navigatorIterator.hasNext()) { name = navigatorIterator.next(); count = namespaceNavigator.get(name); + prop.put("nav-namespace_element_" + i + "_on", 1); prop.put(fileType, "nav-namespace_element_" + i + "_name", name); - prop.put("nav-namespace_element_" + i + "_url", "" + name + " (" + count + ")"); - prop.putJSON("nav-namespace_element_" + i + "_url-json", QueryParams.navurl("json", 0, theQuery, theQuery.queryStringForUrl() + "+" + "inurl:" + name, theQuery.urlMask.toString(), theQuery.navigators).toString()); + prop.put(fileType, "nav-namespace_element_" + i + "_url", QueryParams.navurl(fileType.name().toLowerCase(), 0, theQuery, theQuery.queryStringForUrl() + "+" + "inurl:" + name, theQuery.urlMask.toString(), theQuery.navigators).toString()); prop.put("nav-namespace_element_" + i + "_count", count); prop.put(fileType, "nav-namespace_element_" + i + "_modifier", "inurl:" + name); prop.put("nav-namespace_element_" + i + "_nl", 1); @@ -101,9 +101,9 @@ public class yacysearchtrailer { name = navigatorIterator.next(); count = hostNavigator.get(name); dnav = "site:" + name; + prop.put("nav-domains_element_" + i + "_on", 1); prop.put(fileType, "nav-domains_element_" + i + "_name", name); - prop.put("nav-domains_element_" + i + "_url", "" + name + " (" + count + ")"); - prop.putJSON("nav-domains_element_" + i + "_url-json", QueryParams.navurl("json", 0, theQuery, theQuery.queryStringForUrl() + "+" + dnav, theQuery.urlMask.toString(), theQuery.navigators).toString()); + prop.put(fileType, "nav-domains_element_" + i + "_url", QueryParams.navurl(fileType.name().toLowerCase(), 0, theQuery, theQuery.queryStringForUrl() + "+" + dnav, theQuery.urlMask.toString(), theQuery.navigators).toString()); prop.put("nav-domains_element_" + i + "_count", count); prop.put(fileType, "nav-domains_element_" + i + "_modifier", dnav); prop.put("nav-domains_element_" + i + "_nl", 1); @@ -126,10 +126,10 @@ public class yacysearchtrailer { while (i < 20 && navigatorIterator.hasNext()) { name = navigatorIterator.next().trim(); count = authorNavigator.get(name); - anav = (name.indexOf(' ',0) < 0) ? "author:" + name : "author:'" + name.replace(" ", "+") + "'"; + anav = (name.indexOf(' ', 0) < 0) ? "author:" + name : "author:%" + name.replace(" ", "+") + "%"; + prop.put("nav-authors_element_" + i + "_on", 1); prop.put(fileType, "nav-authors_element_" + i + "_name", name); - prop.put("nav-authors_element_" + i + "_url", "" + name + " (" + count + ")"); - prop.putJSON("nav-authors_element_" + i + "_url-json", QueryParams.navurl("json", 0, theQuery, theQuery.queryStringForUrl() + "+" + anav, theQuery.urlMask.toString(), theQuery.navigators).toString()); + prop.put(fileType, "nav-authors_element_" + i + "_url", QueryParams.navurl(fileType.name().toLowerCase(), 0, theQuery, theQuery.queryStringForUrl() + "+" + anav, theQuery.urlMask.toString(), theQuery.navigators).toString()); prop.put("nav-authors_element_" + i + "_count", count); prop.put(fileType, "nav-authors_element_" + i + "_modifier", anav); prop.put("nav-authors_element_" + i + "_nl", 1); @@ -153,11 +153,9 @@ public class yacysearchtrailer { count = topicNavigator.get(name); if (/*(theQuery == null) ||*/ (theQuery.queryString == null)) break; if (name != null) { + prop.put("nav-topics_element_" + i + "_on", 1); prop.put(fileType, "nav-topics_element_" + i + "_name", name); - prop.put("nav-topics_element_" + i + "_url", - "" + name + ""); - //+"-")*/; - prop.putJSON("nav-topics_element_" + i + "_url-json", QueryParams.navurl("json", 0, theQuery, theQuery.queryStringForUrl() + "+" + name, theQuery.urlMask.toString(), theQuery.navigators).toString()); + prop.put(fileType, "nav-topics_element_" + i + "_url", QueryParams.navurl(fileType.name().toLowerCase(), 0, theQuery, theQuery.queryStringForUrl() + "+" + name, theQuery.urlMask.toString(), theQuery.navigators).toString()); prop.put("nav-topics_element_" + i + "_count", count); prop.put(fileType, "nav-topics_element_" + i + "_modifier", name); prop.put("nav-topics_element_" + i + "_nl", 1); @@ -182,9 +180,9 @@ public class yacysearchtrailer { name = navigatorIterator.next().trim(); count = protocolNavigator.get(name); pnav = "/" + name; + prop.put("nav-protocols_element_" + i + "_on", 1); prop.put(fileType, "nav-protocols_element_" + i + "_name", name); - prop.put("nav-protocols_element_" + i + "_url", "" + name + " (" + count + ")"); - prop.putJSON("nav-protocols_element_" + i + "_url-json", QueryParams.navurl("json", 0, theQuery, theQuery.queryStringForUrl() + "+" + pnav, theQuery.urlMask.toString(), theQuery.navigators).toString()); + prop.put(fileType, "nav-protocols_element_" + i + "_url", QueryParams.navurl(fileType.name().toLowerCase(), 0, theQuery, theQuery.queryStringForUrl() + "+" + pnav, theQuery.urlMask.toString(), theQuery.navigators).toString()); prop.put("nav-protocols_element_" + i + "_count", count); prop.put(fileType, "nav-protocols_element_" + i + "_modifier", pnav); prop.put("nav-protocols_element_" + i + "_nl", 1); @@ -208,9 +206,9 @@ public class yacysearchtrailer { name = navigatorIterator.next().trim(); count = filetypeNavigator.get(name); tnav = "filetype:" + name; + prop.put("nav-filetypes_element_" + i + "_on", 1); prop.put(fileType, "nav-filetypes_element_" + i + "_name", name); - prop.put("nav-filetypes_element_" + i + "_url", "" + name + " (" + count + ")"); - prop.putJSON("nav-filetypes_element_" + i + "_url-json", QueryParams.navurl("json", 0, theQuery, theQuery.queryStringForUrl() + "+" + tnav, theQuery.urlMask.toString(), theQuery.navigators).toString()); + prop.put(fileType, "nav-filetypes_element_" + i + "_url", QueryParams.navurl(fileType.name().toLowerCase(), 0, theQuery, theQuery.queryStringForUrl() + "+" + tnav, theQuery.urlMask.toString(), theQuery.navigators).toString()); prop.put("nav-filetypes_element_" + i + "_count", count); prop.put(fileType, "nav-filetypes_element_" + i + "_modifier", tnav); prop.put("nav-filetypes_element_" + i + "_nl", 1); @@ -238,9 +236,9 @@ public class yacysearchtrailer { name = navigatorIterator.next(); count = ve.getValue().get(name); anav = "/vocabulary/" + navname + "/" + Autotagging.encodePrintname(name); + prop.put("nav-vocabulary_" + navvoccount + "_element_" + i + "_on", 1); prop.put(fileType, "nav-vocabulary_" + navvoccount + "_element_" + i + "_name", name); - prop.put("nav-vocabulary_" + navvoccount + "_element_" + i + "_url", "" + name + " (" + count + ")"); - prop.putJSON("nav-vocabulary_" + navvoccount + "_element_" + i + "_url-json", QueryParams.navurl("json", 0, theQuery, theQuery.queryStringForUrl() + "+" + anav, theQuery.urlMask.toString(), theQuery.navigators).toString()); + prop.put(fileType, "nav-vocabulary_" + navvoccount + "_element_" + i + "_url", QueryParams.navurl(fileType.name().toLowerCase(), 0, theQuery, theQuery.queryStringForUrl() + "+" + anav, theQuery.urlMask.toString(), theQuery.navigators).toString()); prop.put("nav-vocabulary_" + navvoccount + "_element_" + i + "_count", count); prop.put(fileType, "nav-vocabulary_" + navvoccount + "_element_" + i + "_modifier", anav); prop.put("nav-vocabulary_" + navvoccount + "_element_" + i + "_nl", 1); diff --git a/htroot/yacysearchtrailer.json b/htroot/yacysearchtrailer.json index 9f43257a8..5009a28c4 100644 --- a/htroot/yacysearchtrailer.json +++ b/htroot/yacysearchtrailer.json @@ -8,7 +8,7 @@ "mean": "0", "elements": [ #{element}# - {"name": "#[name]#", "count": "#[count]#", "modifier": "#[modifier]#", "url": "#[url-json]#"}#(nl)#::,#(/nl)# + {"name": "#[name]#", "count": "#[count]#", "modifier": "#[modifier]#", "url": "#[url]#"}#(nl)#::,#(/nl)# #{/element}# ] },#(/nav-filetypes)##(nav-protocols)#:: @@ -21,7 +21,7 @@ "mean": "0", "elements": [ #{element}# - {"name": "#[name]#", "count": "#[count]#", "modifier": "#[modifier]#", "url": "#[url-json]#"}#(nl)#::,#(/nl)# + {"name": "#[name]#", "count": "#[count]#", "modifier": "#[modifier]#", "url": "#[url]#"}#(nl)#::,#(/nl)# #{/element}# ] },#(/nav-protocols)##(nav-domains)#:: @@ -34,7 +34,7 @@ "mean": "0", "elements": [ #{element}# - {"name": "#[name]#", "count": "#[count]#", "modifier": "#[modifier]#", "url": "#[url-json]#"}#(nl)#::,#(/nl)# + {"name": "#[name]#", "count": "#[count]#", "modifier": "#[modifier]#", "url": "#[url]#"}#(nl)#::,#(/nl)# #{/element}# ] },#(/nav-domains)##(nav-namespace)#:: @@ -47,7 +47,7 @@ "mean": "0", "elements": [ #{element}# - {"name": "#[name]#", "count": "#[count]#", "modifier": "#[modifier]#", "url": "#[url-json]#"}#(nl)#::,#(/nl)# + {"name": "#[name]#", "count": "#[count]#", "modifier": "#[modifier]#", "url": "#[url]#"}#(nl)#::,#(/nl)# #{/element}# ] },#(/nav-namespace)##(nav-authors)#:: @@ -60,7 +60,7 @@ "mean": "0", "elements": [ #{element}# - {"name": "#[name]#", "count": "#[count]#", "modifier": "#[modifier]#", "url": "#[url-json]#"}#(nl)#::,#(/nl)# + {"name": "#[name]#", "count": "#[count]#", "modifier": "#[modifier]#", "url": "#[url]#"}#(nl)#::,#(/nl)# #{/element}# ] },#(/nav-authors)##{nav-vocabulary}# @@ -73,7 +73,7 @@ "mean": "0", "elements": [ #{element}# - {"name": "#[name]#", "count": "#[count]#", "modifier": "#[modifier]#", "url": "#[url-json]#"}#(nl)#::,#(/nl)# + {"name": "#[name]#", "count": "#[count]#", "modifier": "#[modifier]#", "url": "#[url]#"}#(nl)#::,#(/nl)# #{/element}# ] },#{/nav-vocabulary}##(nav-topics)#:: @@ -86,7 +86,7 @@ "mean": "0", "elements": [ #{element}# - {"name": "#[name]#", "count": "#[count]#", "modifier": "#[modifier]#", "url": "#[url-json]#"}#(nl)#::,#(/nl)# + {"name": "#[name]#", "count": "#[count]#", "modifier": "#[modifier]#", "url": "#[url]#"}#(nl)#::,#(/nl)# #{/element}# ] }#(/nav-topics)#