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.
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
+