blacklight-citeproc 0.0.5 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.env +3 -0
- data/.internal_test_app/solr/conf/_rest_managed.json +3 -0
- data/.internal_test_app/solr/conf/admin-extra.html +31 -0
- data/.internal_test_app/solr/conf/currency.xml +67 -0
- data/.internal_test_app/solr/conf/email_url_types.txt +2 -0
- data/.internal_test_app/solr/conf/lang/contractions_ca.txt +8 -0
- data/.internal_test_app/solr/conf/lang/contractions_fr.txt +15 -0
- data/.internal_test_app/solr/conf/lang/contractions_ga.txt +5 -0
- data/.internal_test_app/solr/conf/lang/contractions_it.txt +23 -0
- data/.internal_test_app/solr/conf/lang/hyphenations_ga.txt +5 -0
- data/.internal_test_app/solr/conf/lang/stemdict_nl.txt +6 -0
- data/.internal_test_app/solr/conf/lang/stoptags_ja.txt +420 -0
- data/.internal_test_app/solr/conf/lang/stopwords_ar.txt +125 -0
- data/.internal_test_app/solr/conf/lang/stopwords_bg.txt +193 -0
- data/.internal_test_app/solr/conf/lang/stopwords_ca.txt +220 -0
- data/.internal_test_app/solr/conf/lang/stopwords_cz.txt +172 -0
- data/.internal_test_app/solr/conf/lang/stopwords_da.txt +110 -0
- data/.internal_test_app/solr/conf/lang/stopwords_de.txt +294 -0
- data/.internal_test_app/solr/conf/lang/stopwords_el.txt +78 -0
- data/.internal_test_app/solr/conf/lang/stopwords_en.txt +54 -0
- data/.internal_test_app/solr/conf/lang/stopwords_es.txt +356 -0
- data/.internal_test_app/solr/conf/lang/stopwords_eu.txt +99 -0
- data/.internal_test_app/solr/conf/lang/stopwords_fa.txt +313 -0
- data/.internal_test_app/solr/conf/lang/stopwords_fi.txt +97 -0
- data/.internal_test_app/solr/conf/lang/stopwords_fr.txt +186 -0
- data/.internal_test_app/solr/conf/lang/stopwords_ga.txt +110 -0
- data/.internal_test_app/solr/conf/lang/stopwords_gl.txt +161 -0
- data/.internal_test_app/solr/conf/lang/stopwords_hi.txt +235 -0
- data/.internal_test_app/solr/conf/lang/stopwords_hu.txt +211 -0
- data/.internal_test_app/solr/conf/lang/stopwords_hy.txt +46 -0
- data/.internal_test_app/solr/conf/lang/stopwords_id.txt +359 -0
- data/.internal_test_app/solr/conf/lang/stopwords_it.txt +303 -0
- data/.internal_test_app/solr/conf/lang/stopwords_ja.txt +127 -0
- data/.internal_test_app/solr/conf/lang/stopwords_lv.txt +172 -0
- data/.internal_test_app/solr/conf/lang/stopwords_nl.txt +119 -0
- data/.internal_test_app/solr/conf/lang/stopwords_no.txt +194 -0
- data/.internal_test_app/solr/conf/lang/stopwords_pt.txt +253 -0
- data/.internal_test_app/solr/conf/lang/stopwords_ro.txt +233 -0
- data/.internal_test_app/solr/conf/lang/stopwords_ru.txt +243 -0
- data/.internal_test_app/solr/conf/lang/stopwords_sv.txt +133 -0
- data/.internal_test_app/solr/conf/lang/stopwords_th.txt +119 -0
- data/.internal_test_app/solr/conf/lang/stopwords_tr.txt +212 -0
- data/.internal_test_app/solr/conf/lang/userdict_ja.txt +29 -0
- data/.internal_test_app/solr/conf/mapping-ISOLatin1Accent.txt +246 -0
- data/.internal_test_app/solr/conf/protwords.txt +21 -0
- data/.internal_test_app/solr/conf/schema.xml +408 -0
- data/.internal_test_app/solr/conf/scripts.conf +24 -0
- data/.internal_test_app/solr/conf/solrconfig.xml +1287 -0
- data/.internal_test_app/solr/conf/spellings.txt +2 -0
- data/.internal_test_app/solr/conf/stopwords.txt +14 -0
- data/.internal_test_app/solr/conf/stopwords_en.txt +58 -0
- data/.internal_test_app/solr/conf/synonyms.txt +13 -0
- data/.internal_test_app/solr/conf/update-script.js +115 -0
- data/.internal_test_app/solr/conf/velocity/browse.vm +32 -0
- data/.internal_test_app/solr/conf/velocity/dropit.js +0 -0
- data/.internal_test_app/solr/conf/velocity/facet_doc_type.vm +2 -0
- data/.internal_test_app/solr/conf/velocity/facet_text_shingles.vm +12 -0
- data/.internal_test_app/solr/conf/velocity/facets.vm +24 -0
- data/.internal_test_app/solr/conf/velocity/footer.vm +29 -0
- data/.internal_test_app/solr/conf/velocity/head.vm +290 -0
- data/.internal_test_app/solr/conf/velocity/hit.vm +77 -0
- data/.internal_test_app/solr/conf/velocity/img/english_640.png +0 -0
- data/.internal_test_app/solr/conf/velocity/img/france_640.png +0 -0
- data/.internal_test_app/solr/conf/velocity/img/germany_640.png +0 -0
- data/.internal_test_app/solr/conf/velocity/img/globe_256.png +0 -0
- data/.internal_test_app/solr/conf/velocity/jquery.tx3-tag-cloud.js +0 -0
- data/.internal_test_app/solr/conf/velocity/js/dropit.js +97 -0
- data/.internal_test_app/solr/conf/velocity/js/jquery.autocomplete.js +763 -0
- data/.internal_test_app/solr/conf/velocity/js/jquery.tx3-tag-cloud.js +70 -0
- data/.internal_test_app/solr/conf/velocity/layout.vm +42 -0
- data/.internal_test_app/solr/conf/velocity/macros.vm +16 -0
- data/.internal_test_app/solr/conf/velocity/mime_type_lists.vm +68 -0
- data/.internal_test_app/solr/conf/velocity/results.vm +20 -0
- data/.internal_test_app/solr/conf/velocity/results_list.vm +21 -0
- data/.internal_test_app/solr/conf/xslt/example.xsl +132 -0
- data/.internal_test_app/solr/conf/xslt/example_atom.xsl +67 -0
- data/.internal_test_app/solr/conf/xslt/example_rss.xsl +66 -0
- data/.internal_test_app/solr/conf/xslt/luke.xsl +337 -0
- data/Dockerfile +43 -0
- data/README.md +3 -0
- data/bin/entrypoint.sh +8 -0
- data/docker-compose.yml +33 -0
- data/lib/blacklight/citeproc/version.rb +1 -1
- metadata +83 -2
@@ -0,0 +1,14 @@
|
|
1
|
+
# Licensed to the Apache Software Foundation (ASF) under one or more
|
2
|
+
# contributor license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright ownership.
|
4
|
+
# The ASF licenses this file to You under the Apache License, Version 2.0
|
5
|
+
# (the "License"); you may not use this file except in compliance with
|
6
|
+
# the License. You may obtain a copy of the License at
|
7
|
+
#
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
#
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
# See the License for the specific language governing permissions and
|
14
|
+
# limitations under the License.
|
@@ -0,0 +1,58 @@
|
|
1
|
+
# Licensed to the Apache Software Foundation (ASF) under one or more
|
2
|
+
# contributor license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright ownership.
|
4
|
+
# The ASF licenses this file to You under the Apache License, Version 2.0
|
5
|
+
# (the "License"); you may not use this file except in compliance with
|
6
|
+
# the License. You may obtain a copy of the License at
|
7
|
+
#
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
#
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
# See the License for the specific language governing permissions and
|
14
|
+
# limitations under the License.
|
15
|
+
|
16
|
+
#-----------------------------------------------------------------------
|
17
|
+
# a couple of test stopwords to test that the words are really being
|
18
|
+
# configured from this file:
|
19
|
+
stopworda
|
20
|
+
stopwordb
|
21
|
+
|
22
|
+
#Standard english stop words taken from Lucene's StopAnalyzer
|
23
|
+
a
|
24
|
+
an
|
25
|
+
and
|
26
|
+
are
|
27
|
+
as
|
28
|
+
at
|
29
|
+
be
|
30
|
+
but
|
31
|
+
by
|
32
|
+
for
|
33
|
+
if
|
34
|
+
in
|
35
|
+
into
|
36
|
+
is
|
37
|
+
it
|
38
|
+
no
|
39
|
+
not
|
40
|
+
of
|
41
|
+
on
|
42
|
+
or
|
43
|
+
s
|
44
|
+
such
|
45
|
+
t
|
46
|
+
that
|
47
|
+
the
|
48
|
+
their
|
49
|
+
then
|
50
|
+
there
|
51
|
+
these
|
52
|
+
they
|
53
|
+
this
|
54
|
+
to
|
55
|
+
was
|
56
|
+
will
|
57
|
+
with
|
58
|
+
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# Synonym mappings
|
2
|
+
animal,livestock
|
3
|
+
college,university,campus
|
4
|
+
freedom,rights,equality,ACLU,liberty,liberties
|
5
|
+
in the us,United States
|
6
|
+
reproductive freedom,reproductive rights
|
7
|
+
tech,technology
|
8
|
+
us,U.S.,United States
|
9
|
+
violence,assault
|
10
|
+
|
11
|
+
# Spelling corrections
|
12
|
+
immingration => immigration
|
13
|
+
|
@@ -0,0 +1,115 @@
|
|
1
|
+
function get_class(name) {
|
2
|
+
var clazz;
|
3
|
+
try {
|
4
|
+
// Java8 Nashorn
|
5
|
+
clazz = eval("Java.type(name).class");
|
6
|
+
} catch(e) {
|
7
|
+
// Java7 Rhino
|
8
|
+
clazz = eval("Packages."+name);
|
9
|
+
}
|
10
|
+
|
11
|
+
return clazz;
|
12
|
+
}
|
13
|
+
|
14
|
+
function processAdd(cmd) {
|
15
|
+
|
16
|
+
doc = cmd.solrDoc; // org.apache.solr.common.SolrInputDocument
|
17
|
+
var id = doc.getFieldValue("id");
|
18
|
+
logger.info("update-script#processAdd: id=" + id);
|
19
|
+
|
20
|
+
// The idea here is to use the file's content_type value to
|
21
|
+
// simplify into user-friendly values, such that types of, say, image/jpeg and image/tiff
|
22
|
+
// are in an "Images" facet
|
23
|
+
|
24
|
+
var ct = doc.getFieldValue("content_type");
|
25
|
+
if (ct) {
|
26
|
+
// strip off semicolon onward
|
27
|
+
var semicolon_index = ct.indexOf(';');
|
28
|
+
if (semicolon_index != -1) {
|
29
|
+
ct = ct.substring(0,semicolon_index);
|
30
|
+
}
|
31
|
+
// and split type/subtype
|
32
|
+
var ct_type = ct.substring(0,ct.indexOf('/'));
|
33
|
+
var ct_subtype = ct.substring(ct.indexOf('/')+1);
|
34
|
+
|
35
|
+
var doc_type;
|
36
|
+
switch(true) {
|
37
|
+
case /^application\/rtf/.test(ct) || /wordprocessing/.test(ct):
|
38
|
+
doc_type = "doc";
|
39
|
+
break;
|
40
|
+
|
41
|
+
case /html/.test(ct):
|
42
|
+
doc_type = "html";
|
43
|
+
break;
|
44
|
+
|
45
|
+
case /^image\/.*/.test(ct):
|
46
|
+
doc_type = "image";
|
47
|
+
break;
|
48
|
+
|
49
|
+
case /presentation|powerpoint/.test(ct):
|
50
|
+
doc_type = "presentation";
|
51
|
+
break;
|
52
|
+
|
53
|
+
case /spreadsheet|excel/.test(ct):
|
54
|
+
doc_type = "spreadsheet";
|
55
|
+
break;
|
56
|
+
|
57
|
+
case /^application\/pdf/.test(ct):
|
58
|
+
doc_type = "pdf";
|
59
|
+
break;
|
60
|
+
|
61
|
+
case /^text\/plain/.test(ct):
|
62
|
+
doc_type = "text"
|
63
|
+
break;
|
64
|
+
|
65
|
+
default:
|
66
|
+
break;
|
67
|
+
}
|
68
|
+
|
69
|
+
// TODO: error handling needed? What if there is no slash?
|
70
|
+
if(doc_type) { doc.setField("doc_type", doc_type); }
|
71
|
+
doc.setField("content_type_type_s", ct_type);
|
72
|
+
doc.setField("content_type_subtype_s", ct_subtype);
|
73
|
+
}
|
74
|
+
|
75
|
+
var content = doc.getFieldValue("content");
|
76
|
+
if (!content) {
|
77
|
+
return; //No content found, so we are done here
|
78
|
+
}
|
79
|
+
|
80
|
+
var analyzer =
|
81
|
+
req.getCore().getLatestSchema()
|
82
|
+
.getFieldTypeByName("text_email_url")
|
83
|
+
.getIndexAnalyzer();
|
84
|
+
|
85
|
+
var token_stream =
|
86
|
+
analyzer.tokenStream("content", content);
|
87
|
+
var term_att = token_stream.getAttribute(get_class("org.apache.lucene.analysis.tokenattributes.CharTermAttribute"));
|
88
|
+
var type_att = token_stream.getAttribute(get_class("org.apache.lucene.analysis.tokenattributes.TypeAttribute"));
|
89
|
+
token_stream.reset();
|
90
|
+
while (token_stream.incrementToken()) {
|
91
|
+
doc.addField(type_att.type().replace(/\<|\>/g,'').toLowerCase()+"_ss", term_att.toString());
|
92
|
+
}
|
93
|
+
token_stream.end();
|
94
|
+
token_stream.close();
|
95
|
+
}
|
96
|
+
|
97
|
+
function processDelete(cmd) {
|
98
|
+
// no-op
|
99
|
+
}
|
100
|
+
|
101
|
+
function processMergeIndexes(cmd) {
|
102
|
+
// no-op
|
103
|
+
}
|
104
|
+
|
105
|
+
function processCommit(cmd) {
|
106
|
+
// no-op
|
107
|
+
}
|
108
|
+
|
109
|
+
function processRollback(cmd) {
|
110
|
+
// no-op
|
111
|
+
}
|
112
|
+
|
113
|
+
function finish() {
|
114
|
+
// no-op
|
115
|
+
}
|
@@ -0,0 +1,32 @@
|
|
1
|
+
<div id="query-box">
|
2
|
+
<form id="query-form" action="#{url_for_home}" method="GET">
|
3
|
+
$resource.find:
|
4
|
+
<input type="text" id="q" name="q" style="width: 50%" value="$!esc.html($request.params.get('q'))"/>
|
5
|
+
<input type="submit" value="$resource.submit"/>
|
6
|
+
<div id="debug_query" class="debug">
|
7
|
+
<span id="parsed_query">$esc.html($response.response.debug.parsedquery)</span>
|
8
|
+
</div>
|
9
|
+
|
10
|
+
<input type="hidden" name="type" value="#current_type"/>
|
11
|
+
#if("#current_locale"!="")<input type="hidden" value="locale" value="#current_locale"/>#end
|
12
|
+
#foreach($fq in $response.responseHeader.params.getAll("fq"))
|
13
|
+
<input type="hidden" name="fq" id="allFQs" value="$esc.html($fq)"/>
|
14
|
+
#end
|
15
|
+
</form>
|
16
|
+
|
17
|
+
<div id="constraints">
|
18
|
+
#foreach($fq in $response.responseHeader.params.getAll("fq"))
|
19
|
+
#set($previous_fq_count=$velocityCount - 1)
|
20
|
+
#if($fq != '')
|
21
|
+
> $fq<a href="#url_for_filters($response.responseHeader.params.fq.subList(0,$previous_fq_count))">x</a>
|
22
|
+
#end
|
23
|
+
#end
|
24
|
+
</div>
|
25
|
+
|
26
|
+
</div>
|
27
|
+
|
28
|
+
|
29
|
+
<div id="browse_results">
|
30
|
+
#parse("results.vm")
|
31
|
+
</div>
|
32
|
+
|
File without changes
|
@@ -0,0 +1,12 @@
|
|
1
|
+
<div id="facet_$field.name">
|
2
|
+
<span class="facet-field">$resource.facet.top_phrases</span><br/>
|
3
|
+
|
4
|
+
<ul id="tagcloud">
|
5
|
+
#foreach($facet in $sort.sort($field.values,"name"))
|
6
|
+
<li data-weight="$math.mul($facet.count,1)">
|
7
|
+
<a href="#url_for_facet_filter($field.name, $facet.name)">$facet.name</a>
|
8
|
+
</li>
|
9
|
+
|
10
|
+
#end
|
11
|
+
</ul>
|
12
|
+
</div>
|
@@ -0,0 +1,24 @@
|
|
1
|
+
#if($response.facetFields.size() > 0)
|
2
|
+
#foreach($field in $response.facetFields)
|
3
|
+
#if($field.values.size() > 0)
|
4
|
+
#if($engine.resourceExists("facet_${field.name}.vm"))
|
5
|
+
#parse("facet_${field.name}.vm")
|
6
|
+
#else
|
7
|
+
<div id="facet_$field.name" class="facet_field">
|
8
|
+
<span class="facet-field">#label("facet.${field.name}",$field.name)</span><br/>
|
9
|
+
|
10
|
+
<ul>
|
11
|
+
#foreach($facet in $field.values)
|
12
|
+
<li><a href="#url_for_facet_filter($field.name, $facet.name)">#if($facet.name!=$null)#label("${field.name}.${facet.name}","${field.name}.${facet.name}")#else<em>missing</em>#end</a> ($facet.count)</li>
|
13
|
+
#end
|
14
|
+
</ul>
|
15
|
+
</div>
|
16
|
+
#end
|
17
|
+
#end
|
18
|
+
#end ## end if field.values > 0
|
19
|
+
#end ## end if facetFields > 0
|
20
|
+
|
21
|
+
|
22
|
+
|
23
|
+
|
24
|
+
|
@@ -0,0 +1,29 @@
|
|
1
|
+
<hr/>
|
2
|
+
|
3
|
+
<div>
|
4
|
+
|
5
|
+
<div id="admin"><a href="#url_root/index.html#/#{core_name}">Solr Admin</a></div>
|
6
|
+
|
7
|
+
<a href="#" onclick='jQuery(".debug").toggle(); return false;'>toggle debug mode</a>
|
8
|
+
<a href="#url_for_lens&wt=xml#if($debug)&debug=true#end">XML results</a> ## TODO: Add links for other formats, maybe dynamically?
|
9
|
+
|
10
|
+
</div>
|
11
|
+
|
12
|
+
<div>
|
13
|
+
<a href="http://lucene.apache.org/solr">Solr Home Page</a>
|
14
|
+
</div>
|
15
|
+
|
16
|
+
|
17
|
+
<div class="debug">
|
18
|
+
<hr/>
|
19
|
+
Request:
|
20
|
+
<pre>
|
21
|
+
$esc.html($request)
|
22
|
+
</pre>
|
23
|
+
|
24
|
+
<hr/>
|
25
|
+
Debug:
|
26
|
+
<pre>
|
27
|
+
$esc.html($response.response.debug)
|
28
|
+
</pre>
|
29
|
+
</div>
|
@@ -0,0 +1,290 @@
|
|
1
|
+
<title>Solr browse: #core_name</title>
|
2
|
+
|
3
|
+
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
|
4
|
+
|
5
|
+
<link rel="icon" type="image/x-icon" href="#{url_root}/img/favicon.ico"/>
|
6
|
+
<link rel="shortcut icon" type="image/x-icon" href="#{url_root}/img/favicon.ico"/>
|
7
|
+
|
8
|
+
<script type="text/javascript" src="#{url_root}/libs/jquery-3.4.1.min.js"></script>
|
9
|
+
<script type="text/javascript" src="#{url_for_solr}/admin/file?file=/velocity/js/jquery.tx3-tag-cloud.js&contentType=text/javascript"></script>
|
10
|
+
<script type="text/javascript" src="#{url_for_solr}/admin/file?file=/velocity/js/dropit.js&contentType=text/javascript"></script>
|
11
|
+
<script type="text/javascript" src="#{url_for_solr}/admin/file?file=/velocity/js/jquery.autocomplete.js&contentType=text/javascript"></script>
|
12
|
+
|
13
|
+
<script type="text/javascript">
|
14
|
+
$(document).ready(function() {
|
15
|
+
|
16
|
+
$("#tagcloud").tx3TagCloud({
|
17
|
+
multiplier: 1
|
18
|
+
});
|
19
|
+
|
20
|
+
$('.menu').dropit();
|
21
|
+
|
22
|
+
$( document ).ajaxComplete(function() {
|
23
|
+
$("#tagcloud").tx3TagCloud({
|
24
|
+
multiplier: 5
|
25
|
+
});
|
26
|
+
});
|
27
|
+
|
28
|
+
$('\#q').keyup(function() {
|
29
|
+
$('#browse_results').load('#{url_for_home}?#lensNoQ&v.layout.enabled=false&v.template=results&q='+encodeURI($('\#q').val()));
|
30
|
+
|
31
|
+
$("\#q").autocomplete('#{url_for_solr}/suggest', {
|
32
|
+
extraParams: {
|
33
|
+
'suggest.q': function() { return $("\#q").val();},
|
34
|
+
'suggest.build': 'true',
|
35
|
+
'wt': 'json',
|
36
|
+
}
|
37
|
+
}).keydown(function(e) {
|
38
|
+
if (e.keyCode === 13){
|
39
|
+
$("#query-form").trigger('submit');
|
40
|
+
}
|
41
|
+
});
|
42
|
+
});
|
43
|
+
|
44
|
+
});
|
45
|
+
</script>
|
46
|
+
|
47
|
+
<style>
|
48
|
+
|
49
|
+
html {
|
50
|
+
background-color: #F0F8FF;
|
51
|
+
}
|
52
|
+
|
53
|
+
body {
|
54
|
+
font-family: Helvetica, Arial, sans-serif;
|
55
|
+
font-size: 10pt;
|
56
|
+
}
|
57
|
+
|
58
|
+
#header {
|
59
|
+
width: 100%;
|
60
|
+
font-size: 20pt;
|
61
|
+
}
|
62
|
+
|
63
|
+
#header2 {
|
64
|
+
margin-left:1200px;
|
65
|
+
}
|
66
|
+
|
67
|
+
#logo {
|
68
|
+
width: 115px;
|
69
|
+
margin: 0px 0px 0px 0px;
|
70
|
+
border-style: none;
|
71
|
+
}
|
72
|
+
|
73
|
+
a {
|
74
|
+
color: #305CB3;
|
75
|
+
}
|
76
|
+
|
77
|
+
a.hidden {
|
78
|
+
display:none;
|
79
|
+
}
|
80
|
+
|
81
|
+
em {
|
82
|
+
color: #FF833D;
|
83
|
+
}
|
84
|
+
|
85
|
+
.error {
|
86
|
+
color: white;
|
87
|
+
background-color: red;
|
88
|
+
left: 210px;
|
89
|
+
width:80%;
|
90
|
+
position: relative;
|
91
|
+
}
|
92
|
+
|
93
|
+
.debug { display: none; font-size: 10pt}
|
94
|
+
#debug_query {
|
95
|
+
font-family: Helvetica, Arial, sans-serif;
|
96
|
+
font-size: 10pt;
|
97
|
+
font-weight: bold;
|
98
|
+
}
|
99
|
+
#parsed_query {
|
100
|
+
font-family: Courier, Courier New, monospaced;
|
101
|
+
font-size: 10pt;
|
102
|
+
font-weight: normal;
|
103
|
+
}
|
104
|
+
|
105
|
+
#admin {
|
106
|
+
text-align: right;
|
107
|
+
vertical-align: top;
|
108
|
+
}
|
109
|
+
|
110
|
+
#query-form {
|
111
|
+
width: 90%;
|
112
|
+
}
|
113
|
+
|
114
|
+
#query-box {
|
115
|
+
padding: 5px;
|
116
|
+
margin: 5px;
|
117
|
+
font-weight: normal;
|
118
|
+
font-size: 24px;
|
119
|
+
letter-spacing: 0.08em;
|
120
|
+
}
|
121
|
+
#constraints {
|
122
|
+
margin: 10px;
|
123
|
+
}
|
124
|
+
|
125
|
+
#tabs { }
|
126
|
+
#tabs li { display: inline; font-size: 10px;}
|
127
|
+
#tabs li a { border-radius: 20px; border: 2px solid #C1CDCD; padding: 10px;color: #42454a; background-color: #dedbde;}
|
128
|
+
#tabs li a:hover { background-color: #f1f0ee; }
|
129
|
+
#tabs li a.selected { color: #000; background-color: #f1f0ee; font-weight: bold; padding: 5px }
|
130
|
+
#tabs li a.no_results { color: #000; background-color: #838B8B; font-style: italic; padding: 5px; pointer-events: none;
|
131
|
+
cursor: default; text-decoration: none;}
|
132
|
+
|
133
|
+
.pagination {
|
134
|
+
width: 305px;
|
135
|
+
border-radius: 25px;
|
136
|
+
border: 2px solid #C1CDCD;
|
137
|
+
padding: 20px;
|
138
|
+
padding-left: 10%;
|
139
|
+
background: #eee;
|
140
|
+
margin-left: 190px;
|
141
|
+
margin-top : 42px;
|
142
|
+
padding-top: 5px;
|
143
|
+
padding-bottom: 5px;
|
144
|
+
text-align:left;
|
145
|
+
}
|
146
|
+
|
147
|
+
#results_list { width: 70%; }
|
148
|
+
.result-document {
|
149
|
+
border-radius: 25px;
|
150
|
+
border: 2px solid #C1CDCD;
|
151
|
+
padding: 10px;
|
152
|
+
// width: 800px;
|
153
|
+
// height: 120px;
|
154
|
+
margin: 5px;
|
155
|
+
// margin-left: 60px;
|
156
|
+
// margin-right: 210px;
|
157
|
+
// margin-bottom: 15px;
|
158
|
+
transition: 1s ease;
|
159
|
+
}
|
160
|
+
.result-document:hover
|
161
|
+
{
|
162
|
+
webkit-transform: scale(1.1);
|
163
|
+
-ms-transform: scale(1.1);
|
164
|
+
transform: scale(1.1);
|
165
|
+
transition: 1s ease;
|
166
|
+
}
|
167
|
+
.result-document div {
|
168
|
+
padding: 5px;
|
169
|
+
}
|
170
|
+
.result-title {
|
171
|
+
width:60%;
|
172
|
+
}
|
173
|
+
.result-body {
|
174
|
+
background: #ddd;
|
175
|
+
}
|
176
|
+
.result-document:nth-child(2n+1) {
|
177
|
+
background-color: #FFFFFD;
|
178
|
+
}
|
179
|
+
|
180
|
+
#facets {
|
181
|
+
margin: 5px;
|
182
|
+
margin-top: 0px;
|
183
|
+
padding: 5px;
|
184
|
+
top: -20px;
|
185
|
+
position: relative;
|
186
|
+
float: right;
|
187
|
+
width: 25%;
|
188
|
+
}
|
189
|
+
.facet-field {
|
190
|
+
font-weight: bold;
|
191
|
+
}
|
192
|
+
#facets ul {
|
193
|
+
list-style: none;
|
194
|
+
margin: 0;
|
195
|
+
margin-bottom: 5px;
|
196
|
+
margin-top: 5px;
|
197
|
+
padding-left: 10px;
|
198
|
+
}
|
199
|
+
#facets ul li {
|
200
|
+
color: #999;
|
201
|
+
padding: 2px;
|
202
|
+
}
|
203
|
+
|
204
|
+
div.facet_field {
|
205
|
+
clear: left;
|
206
|
+
}
|
207
|
+
|
208
|
+
ul.tx3-tag-cloud { }
|
209
|
+
ul.tx3-tag-cloud li {
|
210
|
+
display: block;
|
211
|
+
float: left;
|
212
|
+
list-style: none;
|
213
|
+
margin-right: 4px;
|
214
|
+
}
|
215
|
+
ul.tx3-tag-cloud li a {
|
216
|
+
display: block;
|
217
|
+
text-decoration: none;
|
218
|
+
color: #c9c9c9;
|
219
|
+
padding: 3px 10px;
|
220
|
+
}
|
221
|
+
ul.tx3-tag-cloud li a:hover {
|
222
|
+
color: #000000;
|
223
|
+
-webkit-transition: color 250ms linear;
|
224
|
+
-moz-transition: color 250ms linear;
|
225
|
+
-o-transition: color 250ms linear;
|
226
|
+
-ms-transition: color 250ms linear;
|
227
|
+
transition: color 250ms linear;
|
228
|
+
}
|
229
|
+
|
230
|
+
.dropit {
|
231
|
+
list-style: none;
|
232
|
+
padding: 0;
|
233
|
+
margin: 0;
|
234
|
+
}
|
235
|
+
.dropit .dropit-trigger { position: relative; }
|
236
|
+
.dropit .dropit-submenu {
|
237
|
+
position: absolute;
|
238
|
+
top: 100%;
|
239
|
+
left: 0; /* dropdown left or right */
|
240
|
+
z-index: 1000;
|
241
|
+
display: none;
|
242
|
+
min-width: 150px;
|
243
|
+
list-style: none;
|
244
|
+
padding: 0;
|
245
|
+
margin: 0;
|
246
|
+
}
|
247
|
+
.dropit .dropit-open .dropit-submenu { display: block; }
|
248
|
+
|
249
|
+
|
250
|
+
<!--autocomplete css-->
|
251
|
+
.ac_results {
|
252
|
+
padding: 0px;
|
253
|
+
border: 1px solid black;
|
254
|
+
background-color: white;
|
255
|
+
overflow: hidden;
|
256
|
+
z-index: 99999;
|
257
|
+
}
|
258
|
+
|
259
|
+
.ac_results ul {
|
260
|
+
width: 100%;
|
261
|
+
list-style-position: outside;
|
262
|
+
list-style: none;
|
263
|
+
padding: 0;
|
264
|
+
margin: 0;
|
265
|
+
}
|
266
|
+
|
267
|
+
.ac_results li {
|
268
|
+
margin: 0px;
|
269
|
+
padding: 2px 5px;
|
270
|
+
cursor: default;
|
271
|
+
display: block;
|
272
|
+
font: menu;
|
273
|
+
font-size: 12px;
|
274
|
+
line-height: 16px;
|
275
|
+
overflow: hidden;
|
276
|
+
}
|
277
|
+
|
278
|
+
.ac_loading {
|
279
|
+
// background: white url('˜indicator.gif') right center no-repeat;
|
280
|
+
}
|
281
|
+
|
282
|
+
.ac_odd {
|
283
|
+
background-color: #eee;
|
284
|
+
}
|
285
|
+
|
286
|
+
.ac_over {
|
287
|
+
background-color: #0A246A;
|
288
|
+
color: white;
|
289
|
+
}
|
290
|
+
</style>
|
@@ -0,0 +1,77 @@
|
|
1
|
+
|
2
|
+
#set($docId = $doc.getFirstValue($request.schema.uniqueKeyField.name))
|
3
|
+
|
4
|
+
## Load Mime-Type List and Mapping
|
5
|
+
#parse('mime_type_lists.vm')
|
6
|
+
|
7
|
+
## Title
|
8
|
+
#if($doc.getFieldValue('title'))
|
9
|
+
#set($title = $esc.html($doc.getFirstValue('title')))
|
10
|
+
#else
|
11
|
+
#set($title = "$doc.getFirstValue('id').substring($math.add(1,$doc.getFirstValue('id').lastIndexOf('/')))")
|
12
|
+
#end
|
13
|
+
|
14
|
+
## Date
|
15
|
+
#if($doc.getFieldValue('attr_meta_creation_date'))
|
16
|
+
#set($date = $esc.html($doc.getFirstValue('attr_meta_creation_date')))
|
17
|
+
#else
|
18
|
+
#set($date = "No date found")
|
19
|
+
#end
|
20
|
+
|
21
|
+
|
22
|
+
|
23
|
+
## URL
|
24
|
+
#if($doc.getFieldValue('url'))
|
25
|
+
#set($url = $doc.getFieldValue('url'))
|
26
|
+
#elseif($doc.getFieldValue('resourcename'))
|
27
|
+
#set($url = "file:///$doc.getFirstValue('resourcename')")
|
28
|
+
#else
|
29
|
+
#set($url = "$doc.getFieldValue('id')")
|
30
|
+
#end
|
31
|
+
|
32
|
+
## Sort out Mime-Type
|
33
|
+
#set($ct = $doc.getFirstValue('content_type').split(";").get(0))
|
34
|
+
#set($filename = $doc.getFirstValue('resourcename'))
|
35
|
+
#set($filetype = false)
|
36
|
+
#set($filetype = $mimeExtensionsMap.get($ct))
|
37
|
+
#if(!$filetype)
|
38
|
+
#set($filetype = $filename.substring($filename.lastIndexOf(".")).substring(1))
|
39
|
+
#end
|
40
|
+
#if(!$filetype)
|
41
|
+
#set($filetype = "file")
|
42
|
+
#end
|
43
|
+
#if(!$supportedMimeTypes.contains($filetype))
|
44
|
+
#set($filetype = "file")
|
45
|
+
#end
|
46
|
+
|
47
|
+
<div class="result-document">
|
48
|
+
<span class="result-title">
|
49
|
+
<img src="#{url_root}/img/filetypes/${filetype}.png" align="center">
|
50
|
+
<b>$title</b>
|
51
|
+
</span>
|
52
|
+
|
53
|
+
<div>
|
54
|
+
id: $docId </br>
|
55
|
+
</div>
|
56
|
+
|
57
|
+
#set($pad = "")
|
58
|
+
#foreach($v in $response.response.highlighting.get($docId).get("content"))
|
59
|
+
$pad$esc.html($v).replace("HL_START","<em>").replace("HL_END","</em>")
|
60
|
+
#set($pad = " ... ")
|
61
|
+
#end
|
62
|
+
|
63
|
+
</div>
|
64
|
+
|
65
|
+
<a href="#" class="debug" onclick='jQuery(this).next().toggle(); return false;'>toggle explain</a>
|
66
|
+
<pre style="display: none;">
|
67
|
+
$esc.html($response.getExplainMap().get($doc.getFirstValue('id')))
|
68
|
+
</pre>
|
69
|
+
|
70
|
+
<a href="#" class="debug" onclick='jQuery(this).next().toggle(); return false;'>show all fields</a>
|
71
|
+
<pre style="display:none;">
|
72
|
+
#foreach($fieldname in $doc.fieldNames)
|
73
|
+
<span>$fieldname :</span>
|
74
|
+
<span>#foreach($value in $doc.getFieldValues($fieldname))$esc.html($value)#end</span>
|
75
|
+
#end
|
76
|
+
</pre>
|
77
|
+
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
File without changes
|