Fix some XML well-formedness errors.
[mkws-moved-to-github.git] / tools / htdocs / index.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html>
3   <head>
4     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5     <title>MKWS: the MasterKey Widget Set</title>
6     <style type="text/css">
7       body {
8       font-family: Gill Sans, "Gillius ADF", Gillius, GilliusADF, Sans-Serif;
9       }
10       h1, h3 { font-weight: normal; color: #606060 }
11       h2 { margin-top: 0.5em }
12       .pane { padding: 0em 1em; margin: 0.75em;
13               border: 0.5em solid #eee;
14               border-radius: 1em;
15               background-image: url('images/mkws-logo-48x48-light.png');
16               background-repeat: no-repeat;
17               background-position: right top;
18               background-color: #eee; 
19             }
20       .nologo { background-image: none }
21       pre { background: #ddd; padding: 0.5em; }
22     </style>
23   </head>
24   <body>
25     <img src="images/mkws-logo-300px.png" alt="MKWS logo"
26          style="float:right; margin: 1.5em"/>
27     <h1>MKWS: the MasterKey Widget Set</h1>
28
29     <div class="pane nologo">
30       <h2>Add metasearching to your web-site painlessly</h2>
31       <p>
32         The MasterKey Widget Set provides the easiest possible way to
33         enhance an existing web-site with customised searching across
34         multiple sources, ranking and merging the results.
35       </p>
36       <p>
37         All you need to do is pull in our JavaScript and optional
38         stylesheet, then add <tt>&lt;div&gt;</tt>s to your page that
39         have special <tt>id</tt> attributes. We do the rest.
40       </p>
41     </div>
42
43     <div class="pane">
44       <h2>A minimal example</h2>
45       <p>
46         Here is a completely functional (though ugly) MKWS-based
47         searching application:
48       </p>
49       <blockquote>
50         <pre>
51 &lt;script type="text/javascript"
52         src="http://mkws.indexdata.com/mkws-complete.js">&lt;/script>
53 &lt;div id="mkwsSearch">&lt;/div>
54 &lt;div id="mkwsResults">&lt;/div></pre>
55       </blockquote>
56       <p>
57         That's it. A complete metasearching application. Everything
58         else is refinement.
59       </p>
60     </div>
61
62     <div class="pane">
63       <h2>Documentation</h2>
64       <ul>
65         <li>
66           The <a href="README.html">README</a> -- mostly technical details.
67         </li>
68         <li>
69           The <a href="mkws-manual.html">MKWS manual, including a
70           reference section.</a>
71           This is a much better introduction.
72         </li>
73       </ul>
74     </div>
75
76     <div class="pane">
77       <h2>Tools</h2>
78       <p>
79         Here are the files that this web-site provides:
80       </p>
81       <ul>
82         <li>
83           <a href="mkws.js">mkws.js</a>
84           --
85           JavaScript code that powers the MasterKey Widget Set
86         </li>
87         <li>
88           <a href="pazpar2/js/pz2.js">pazpar2/js/pz2.js</a>
89           --
90           Low-level JavaScript library for access to the MasterKey web
91           service.
92         </li>
93         <li>
94           <a href="handlebars-v1.1.2.js">handlebars-v1.1.2.js</a>
95           --
96           A local copy of
97           <a href="http://handlebarsjs.com/"
98              >the Handlebars templating library</a>,
99           since it doesn't like to be hotlinked.
100         </li>
101         <li>
102           <a href="mkws-complete.js"
103              >mkws-complete.js</a>
104           --
105           A single large JavaScript file containing everything needed for
106           MKWS to work: the widget-set itself, the API library, and
107           the prerequisites jQuery and Handlebars.
108         </li>
109         <li>
110           <a href="mkws.css">mkws.css</a>
111           --
112           A stylesheet which styles only MasterKey widgets, and does not
113           otherwise interfere with application-site's styles.
114         </li>
115       </ul>
116       <p>
117         Minified versions of the MKWS JavaScript files are also available:
118       </p>
119       <ul>
120         <li>
121           <a href="mkws.min.js">mkws.min.js</a>
122         </li>
123         <li>
124           <a href="mkws-complete.min.js">mkws-complete.min.js</a>
125         </li>
126       </ul>
127       <p>
128         (This domain also hosts two web-service endpoints that are used by
129         running MKWS-based applications:
130         <tt>/service-proxy-auth</tt>
131         is used to authenticate new sessions and
132         <code>/service-proxy/</code>
133         is the main endpoint for searching and retrieval. But there is
134         no need to use these directly: the widgets take care of that.)
135       </p>
136     </div>
137
138     <div class="pane">
139       <h2>Versions</h2>
140       <p>
141         The links above to the various forms of the widget-set JavaScript
142         (<a href="mkws.js">mkws.js</a>,
143         <a href="mkws-complete.js">mkws-complete.js</a>,
144         <a href="mkws.min.js">mkws.min.js</a>
145         and
146         <a href="mkws-complete.min.js">mkws-complete.min.js</a>)
147         are always to the current versions of those
148         files. Applications that rely on a particular version can
149         instead use the specific numbered versions in
150         <a href="releases/">the releases area</a>,
151         for example
152         <a href="releases/mkws-0.9.1.js">releases/mkws-0.9.1.js</a>.
153       </p>
154       <p>
155         The current version number is always in
156         <a href="VERSION">the VERSION file</a>.
157       </p>
158       <p>
159         Version history is in
160         <a href="NEWS">the NEWS file</a>.
161       </p>
162     </div>
163
164     <div class="pane">
165       <h2>Examples using the widget-set</h2>
166       <p>
167         It's worth viewing the source of these to see how small they
168         are and how various things are done.
169       </p>
170       <h3>Simple examples</h3>
171       <ul>
172         <li>
173           A very simple application at
174           <a href="//example.indexdata.com/simple.html"
175              >//example.indexdata.com/simple.html</a>.
176         </li>
177         <li>
178           <a href="//example.indexdata.com/minimal.html"
179              >The absolutely minimal application</a>
180           listed above.
181         </li>
182         <li>
183           <a href="//example.indexdata.com/language.html"
184              >A more detailed version</a>
185           that contains a configuration structure instead of accepting
186           the defaults. Includes a custom translation option to present
187           the application in Arabic.
188         </li>
189         <li>
190           <a href="//example.indexdata.com/mobile.html"
191              >A version suitable for mobile devices</a>,
192           with a responsive design that moves components around
193           depending on the screen size.
194         </li>
195       </ul>
196
197       <h3>Advanced examples</h3>
198       <ul>
199         <li>
200           An application that
201           <a href="//example.indexdata.com/lowlevel.html"
202              >uses lower-level MKWS components</a>
203           rather than the all-in-one <tt>#mkwsResults</tt> division,
204           allowing it to use a rather different layout.
205         </li>
206         <li>
207           An application that specifies how to display brief and full records
208           <a href="//example.indexdata.com/templates.html"
209              >using Handlebar templates</a>.
210           (Read about
211           <a href="http://handlebarsjs.com/"
212              >the templating language</a>.)
213         </li>
214         <li>
215           An application that
216           <a href="http://example.indexdata.com/images.html?q=portrait"
217              >displays thumbnail images</a>.
218         </li>
219         <li>
220           <a href="//example.indexdata.com/localauth.html"
221              >An application that uses a local authentication regime</a>,
222           and the corresponding
223           <a href="//example.indexdata.com/apache-config.txt"
224              >Apache2 configuration stanza</a>.
225         </li>
226         <li>
227           <a href="//example.indexdata.com/popup.html"
228              >A version that uses a jQuery popup</a>.
229         </li>
230       </ul>
231
232       <h3>Non-standard interfaces</h3>
233       <ul>
234         <li>
235           <a href="//example.indexdata.com/dict.html"
236              >An application that uses MKWS to find dictionary
237             definitions of words when you highlight them</a>.
238         </li>
239         <li>
240           <a href="//example.indexdata.com/auto.html"
241              >An application that runs an automatic search on load</a>.
242         </li>
243         <li>
244           An existing web-site,
245           <a href="http://sagp.miketaylor.org.uk/"
246              >The Self-Appointed Grammar Police</a>,
247           which has been fitted with an MKWS searching widget.
248           (See also the MKWS-widget customisations in
249           <a href="http://sagp.miketaylor.org.uk/style.css"
250              >that site's stylesheet</a>.)
251         </li>
252 <!--
253         <li>
254           Another existing web-site,
255           <a href="http://zthes.z3950.org/"
256              >The Zthes specifications</a>,
257           which has been fitted with a popup MKWS search-box.
258         </li>
259 -->
260       </ul>
261     </div>
262
263     <div class="pane">
264       <h2>Target selection</h2>
265       <p>
266         MKWS comes pre-configured to search in a set of a dozen or so
267         open-access targets, as a proof of concept. But you'll want
268         to use it to search your own selection of targets -- some open
269         access, some subscription.
270       </p>
271       <p>
272         We can set that up for you: email us on
273         <a href="mailto:info@indexdata.com"
274                        >info@indexdata.com</a>.
275       </p>
276     </div>
277
278     <p style="text-align: right; font-size: small">
279       Copyright (&copy;) 2013-2014 Index Data ApS.
280       <a href="http://indexdata.com"><code>http://indexdata.com</code></a>
281     </p>
282   </body>
283 </html>