Add DOCTYPE declaration.
[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         </li>
136       </ul>
137     </div>
138
139     <div class="pane">
140       <h2>Versions</h2>
141       <p>
142         The links above to the various forms of the widget-set JavaScript
143         (<a href="mkws.js">mkws.js</a>,
144         <a href="mkws-complete.js">mkws-complete.js</a>,
145         <a href="mkws.min.js">mkws.min.js</a>
146         and
147         <a href="mkws-complete.min.js">mkws-complete.min.js</a>)
148         are always to the current versions of those
149         files. Applications that rely on a particular version can
150         instead use the specific numbered versions in
151         <a href="releases/">the releases area</a>,
152         for example
153         <a href="releases/mkws-0.9.1.js">releases/mkws-0.9.1.js</a>.
154       </p>
155       <p>
156         The current version number is always in
157         <a href="VERSION">the VERSION file</a>.
158       </p>
159       <p>
160         Version history is in
161         <a href="NEWS">the NEWS file</a>.
162       </p>
163     </div>
164
165     <div class="pane">
166       <h2>Examples using the widget-set</h2>
167       <p>
168         It's worth viewing the source of these to see how small they
169         are and how various things are done.
170       </p>
171       <h3>Simple examples</h3>
172       <ul>
173         <li>
174           A very simple application at
175           <a href="//example.indexdata.com/simple.html"
176              >//example.indexdata.com/simple.html</a>.
177         </li>
178         <li>
179           <a href="//example.indexdata.com/minimal.html"
180              >The absolutely minimal application</a>
181           listed above.
182         </li>
183         <li>
184           <a href="//example.indexdata.com/language.html"
185              >A more detailed version</a>
186           that contains a configuration structure instead of accepting
187           the defaults. Includes a custom translation option to present
188           the application in Arabic.
189         </li>
190         <li>
191           <a href="//example.indexdata.com/mobile.html"
192              >A version suitable for mobile devices</a>,
193           with a responsive design that moves components around
194           depending on the screen size.
195         </li>
196       </ul>
197
198       <h3>Advanced examples</h3>
199       <ul>
200         <li>
201           An application that
202           <a href="//example.indexdata.com/lowlevel.html"
203              >uses lower-level MKWS components</a>
204           rather than the all-in-one <tt>#mkwsResults</tt> division,
205           allowing it to use a rather different layout.
206         </li>
207         <li>
208           An application that specifies how to display brief and full records
209           <a href="//example.indexdata.com/templates.html"
210              >using Handlebar templates</a>.
211           (Read about
212           <a href="http://handlebarsjs.com/"
213              >the templating language</a>.)
214         </li>
215         <li>
216           An application that
217           <a href="http://example.indexdata.com/images.html?q=portrait"
218              >displays thumbnail images</a>.
219         </li>
220         <li>
221           <a href="//example.indexdata.com/localauth.html"
222              >An application that uses a local authentication regime</a>,
223           and the corresponding
224           <a href="//example.indexdata.com/apache-config.txt"
225              >Apache2 configuration stanza</a>.
226         </li>
227         <li>
228           <a href="//example.indexdata.com/popup.html"
229              >A version that uses a jQuery popup</a>.
230         </li>
231       </ul>
232
233       <h3>Non-standard interfaces</h3>
234       <ul>
235         <li>
236           <a href="//example.indexdata.com/dict.html"
237              >An application that uses MKWS to find dictionary
238             definitions of words when you highlight them</a>.
239         </li>
240         <li>
241           <a href="//example.indexdata.com/auto.html"
242              >An application that runs an automatic search on load</a>.
243         </li>
244         <li>
245           An existing web-site,
246           <a href="http://sagp.miketaylor.org.uk/"
247              >The Self-Appointed Grammar Police</a>,
248           which has been fitted with an MKWS searching widget.
249           (See also the MKWS-widget customisations in
250           <a href="http://sagp.miketaylor.org.uk/style.css"
251              >that site's stylesheet</a>.)
252         </li>
253 <!--
254         <li>
255           Another existing web-site,
256           <a href="http://zthes.z3950.org/"
257              >The Zthes specifications</a>,
258           which has been fitted with a popup MKWS search-box.
259         </li>
260 -->
261       </ul>
262     </div>
263
264     <div class="pane">
265       <h2>Target selection</h2>
266       <p>
267         MKWS comes pre-configured to search in a set of a dozen or so
268         open-access targets, as a proof of concept. But you'll want
269         to use it to search your own selection of targets -- some open
270         access, some subscription.
271       </p>
272       <p>
273         We can set that up for you: email us on
274         <a href="mailto:info@indexdata.com"
275                        >info@indexdata.com</a>.
276       </p>
277     </div>
278
279     <p style="text-align: right; font-size: small">
280       Copyright (&copy;) 2013-2014 Index Data ApS.
281       <a href="http://indexdata.com"><code>http://indexdata.com</code></a>
282     </p>
283   </body>
284 </html>