blacklight-citeproc 0.0.5 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (85) hide show
  1. checksums.yaml +4 -4
  2. data/.env +3 -0
  3. data/.internal_test_app/solr/conf/_rest_managed.json +3 -0
  4. data/.internal_test_app/solr/conf/admin-extra.html +31 -0
  5. data/.internal_test_app/solr/conf/currency.xml +67 -0
  6. data/.internal_test_app/solr/conf/email_url_types.txt +2 -0
  7. data/.internal_test_app/solr/conf/lang/contractions_ca.txt +8 -0
  8. data/.internal_test_app/solr/conf/lang/contractions_fr.txt +15 -0
  9. data/.internal_test_app/solr/conf/lang/contractions_ga.txt +5 -0
  10. data/.internal_test_app/solr/conf/lang/contractions_it.txt +23 -0
  11. data/.internal_test_app/solr/conf/lang/hyphenations_ga.txt +5 -0
  12. data/.internal_test_app/solr/conf/lang/stemdict_nl.txt +6 -0
  13. data/.internal_test_app/solr/conf/lang/stoptags_ja.txt +420 -0
  14. data/.internal_test_app/solr/conf/lang/stopwords_ar.txt +125 -0
  15. data/.internal_test_app/solr/conf/lang/stopwords_bg.txt +193 -0
  16. data/.internal_test_app/solr/conf/lang/stopwords_ca.txt +220 -0
  17. data/.internal_test_app/solr/conf/lang/stopwords_cz.txt +172 -0
  18. data/.internal_test_app/solr/conf/lang/stopwords_da.txt +110 -0
  19. data/.internal_test_app/solr/conf/lang/stopwords_de.txt +294 -0
  20. data/.internal_test_app/solr/conf/lang/stopwords_el.txt +78 -0
  21. data/.internal_test_app/solr/conf/lang/stopwords_en.txt +54 -0
  22. data/.internal_test_app/solr/conf/lang/stopwords_es.txt +356 -0
  23. data/.internal_test_app/solr/conf/lang/stopwords_eu.txt +99 -0
  24. data/.internal_test_app/solr/conf/lang/stopwords_fa.txt +313 -0
  25. data/.internal_test_app/solr/conf/lang/stopwords_fi.txt +97 -0
  26. data/.internal_test_app/solr/conf/lang/stopwords_fr.txt +186 -0
  27. data/.internal_test_app/solr/conf/lang/stopwords_ga.txt +110 -0
  28. data/.internal_test_app/solr/conf/lang/stopwords_gl.txt +161 -0
  29. data/.internal_test_app/solr/conf/lang/stopwords_hi.txt +235 -0
  30. data/.internal_test_app/solr/conf/lang/stopwords_hu.txt +211 -0
  31. data/.internal_test_app/solr/conf/lang/stopwords_hy.txt +46 -0
  32. data/.internal_test_app/solr/conf/lang/stopwords_id.txt +359 -0
  33. data/.internal_test_app/solr/conf/lang/stopwords_it.txt +303 -0
  34. data/.internal_test_app/solr/conf/lang/stopwords_ja.txt +127 -0
  35. data/.internal_test_app/solr/conf/lang/stopwords_lv.txt +172 -0
  36. data/.internal_test_app/solr/conf/lang/stopwords_nl.txt +119 -0
  37. data/.internal_test_app/solr/conf/lang/stopwords_no.txt +194 -0
  38. data/.internal_test_app/solr/conf/lang/stopwords_pt.txt +253 -0
  39. data/.internal_test_app/solr/conf/lang/stopwords_ro.txt +233 -0
  40. data/.internal_test_app/solr/conf/lang/stopwords_ru.txt +243 -0
  41. data/.internal_test_app/solr/conf/lang/stopwords_sv.txt +133 -0
  42. data/.internal_test_app/solr/conf/lang/stopwords_th.txt +119 -0
  43. data/.internal_test_app/solr/conf/lang/stopwords_tr.txt +212 -0
  44. data/.internal_test_app/solr/conf/lang/userdict_ja.txt +29 -0
  45. data/.internal_test_app/solr/conf/mapping-ISOLatin1Accent.txt +246 -0
  46. data/.internal_test_app/solr/conf/protwords.txt +21 -0
  47. data/.internal_test_app/solr/conf/schema.xml +408 -0
  48. data/.internal_test_app/solr/conf/scripts.conf +24 -0
  49. data/.internal_test_app/solr/conf/solrconfig.xml +1287 -0
  50. data/.internal_test_app/solr/conf/spellings.txt +2 -0
  51. data/.internal_test_app/solr/conf/stopwords.txt +14 -0
  52. data/.internal_test_app/solr/conf/stopwords_en.txt +58 -0
  53. data/.internal_test_app/solr/conf/synonyms.txt +13 -0
  54. data/.internal_test_app/solr/conf/update-script.js +115 -0
  55. data/.internal_test_app/solr/conf/velocity/browse.vm +32 -0
  56. data/.internal_test_app/solr/conf/velocity/dropit.js +0 -0
  57. data/.internal_test_app/solr/conf/velocity/facet_doc_type.vm +2 -0
  58. data/.internal_test_app/solr/conf/velocity/facet_text_shingles.vm +12 -0
  59. data/.internal_test_app/solr/conf/velocity/facets.vm +24 -0
  60. data/.internal_test_app/solr/conf/velocity/footer.vm +29 -0
  61. data/.internal_test_app/solr/conf/velocity/head.vm +290 -0
  62. data/.internal_test_app/solr/conf/velocity/hit.vm +77 -0
  63. data/.internal_test_app/solr/conf/velocity/img/english_640.png +0 -0
  64. data/.internal_test_app/solr/conf/velocity/img/france_640.png +0 -0
  65. data/.internal_test_app/solr/conf/velocity/img/germany_640.png +0 -0
  66. data/.internal_test_app/solr/conf/velocity/img/globe_256.png +0 -0
  67. data/.internal_test_app/solr/conf/velocity/jquery.tx3-tag-cloud.js +0 -0
  68. data/.internal_test_app/solr/conf/velocity/js/dropit.js +97 -0
  69. data/.internal_test_app/solr/conf/velocity/js/jquery.autocomplete.js +763 -0
  70. data/.internal_test_app/solr/conf/velocity/js/jquery.tx3-tag-cloud.js +70 -0
  71. data/.internal_test_app/solr/conf/velocity/layout.vm +42 -0
  72. data/.internal_test_app/solr/conf/velocity/macros.vm +16 -0
  73. data/.internal_test_app/solr/conf/velocity/mime_type_lists.vm +68 -0
  74. data/.internal_test_app/solr/conf/velocity/results.vm +20 -0
  75. data/.internal_test_app/solr/conf/velocity/results_list.vm +21 -0
  76. data/.internal_test_app/solr/conf/xslt/example.xsl +132 -0
  77. data/.internal_test_app/solr/conf/xslt/example_atom.xsl +67 -0
  78. data/.internal_test_app/solr/conf/xslt/example_rss.xsl +66 -0
  79. data/.internal_test_app/solr/conf/xslt/luke.xsl +337 -0
  80. data/Dockerfile +43 -0
  81. data/README.md +3 -0
  82. data/bin/entrypoint.sh +8 -0
  83. data/docker-compose.yml +33 -0
  84. data/lib/blacklight/citeproc/version.rb +1 -1
  85. metadata +83 -2
@@ -0,0 +1,2 @@
1
+ pizza
2
+ history
@@ -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
+ &gt; $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,2 @@
1
+ ## intentionally empty
2
+
@@ -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
+