Add link to mkws-jquery.js
[mkws-moved-to-github.git] / doc / index.markdown
1 % MKWS: the MasterKey Widget Set
2 <!---% Mike Taylor
3 % June 2014-->
4
5
6 Add metasearching to your web-site painlessly
7 ---------------------------------------------
8
9 The MasterKey Widget Set provides the easiest possible way to enhance
10 an existing web-site with customised searching across multiple
11 sources, ranking and merging the results.
12
13 All you need to do is pull in our JavaScript and optional stylesheet,
14 then add `<div>`s to your page that have special `class` attributes. We
15 do the rest.
16
17 A minimal example
18 -----------------
19
20 Here is a completely functional (though ugly) MKWS-based
21 searching application:
22
23         <script type="text/javascript"
24           src="http://mkws.indexdata.com/mkws-complete.js"></script>
25         <div class="mkwsSearch"></div>
26         <div class="mkwsResults"></div>
27
28 That's it. A complete metasearching application. Everything
29 else is refinement.
30
31 Documentation
32 -------------
33
34 * The <a href="README.html">README</a> -- mostly technical details.
35 * The <a href="mkws-manual.html">MKWS manual, including a reference section.</a>
36   This is a much better introduction.
37 * The <a href="mkws-developer.html">MKWS developers' guide.</a>
38
39 Tools
40 -----
41
42 Here are the files that this web-site provides:
43
44 * <a href="mkws.js">mkws.js</a> --
45   JavaScript code that powers the MasterKey Widget Set
46 * <a href="pazpar2/js/pz2.js">pazpar2/js/pz2.js</a> --
47   Low-level JavaScript library for access to the MasterKey web
48   service.
49 * <a href="handlebars-v2.0.0.js">handlebars-v2.0.0.js</a> --
50   A local copy of
51   <a href="http://handlebarsjs.com/">the Handlebars templating library</a>,
52   since it doesn't like to be hotlinked.
53 * Local copy of <a href="jquery-1.10.0.min.js">jquery-1.10.0.min.js</a>
54 * Local copy of <a href="jquery.json-2.4.js">jquery.json-2.4.js</a>
55 * <a href="mkws-complete.js">mkws-complete.js</a> --
56   A single large JavaScript file containing everything needed for
57   MKWS to work: the widget-set itself, the API library, and
58   the prerequisites jQuery and Handlebars.
59 * <a href="mkws.css">mkws.css</a> --
60   A stylesheet which styles only MasterKey widgets, and does not
61   otherwise interfere with application-site's styles.
62 * <a href="mkws-jquery.js">mkws-jquery.js</a> --
63   An experimental jQuery plugin that provides an MKWS-based
64   metasearching applet.
65
66 Minified versions of the MKWS JavaScript files are also available:
67
68 * <a href="mkws.min.js">mkws.min.js</a>
69 * <a href="mkws-complete.min.js">mkws-complete.min.js</a>
70
71 Versions
72 --------
73
74 The links above to the various forms of the widget-set JavaScript
75 (<a href="mkws.js">mkws.js</a>,
76 <a href="mkws-complete.js">mkws-complete.js</a>,
77 <a href="mkws.min.js">mkws.min.js</a>
78 and
79 <a href="mkws-complete.min.js">mkws-complete.min.js</a>)
80 are always to the current versions of those
81 files. Applications that rely on a particular version can
82 instead use the specific numbered versions in
83 <a href="releases/">the releases area</a>,
84 for example
85 <a href="releases/mkws-0.9.1.js">releases/mkws-0.9.1.js</a>.
86
87 The current version number is always in
88 <a href="VERSION">the VERSION file</a>.
89
90 Version history is in
91 <a href="NEWS">the NEWS file</a>.
92
93 Examples using the widget-set
94 -----------------------------
95
96 It's worth viewing the source of these to see how small they
97 are and how various things are done.
98
99 ### Simple examples
100
101 * A very simple application at
102   <a href="//example.indexdata.com/simple.html"
103        >//example.indexdata.com/simple.html</a>.
104 * <a href="//example.indexdata.com/minimal.html"
105        >The absolutely minimal application</a>
106   listed above.
107 * <a href="//example.indexdata.com/language.html"
108        >A more detailed version</a>
109   that contains a configuration structure instead of accepting the
110   defaults. Includes a custom translation option to present the
111   application in Arabic.
112 * <a href="//example.indexdata.com/mobile.html"
113        >A version suitable for mobile devices</a>,
114   with a responsive design that moves components around depending on
115   the screen size.
116
117 ### Advanced examples
118
119 * An application that
120   <a href="//example.indexdata.com/lowlevel.html"
121        >uses lower-level MKWS components</a>
122   rather than the all-in-one `#mkwsResults` division,
123   allowing it to use a rather different layout.
124 * An application that specifies how to display brief and full records
125   <a href="//example.indexdata.com/templates.html"
126        >using Handlebar templates</a>.
127   (Read about
128   <a href="http://handlebarsjs.com/"
129        >the templating language</a>.)
130 * An application that
131   <a href="http://example.indexdata.com/images.html?q=portrait"
132        >displays thumbnail images</a>.
133 * <a href="//example.indexdata.com/localauth.html"
134        >An application that uses a local authentication regime</a>,
135   and the corresponding
136   <a href="//example.indexdata.com/apache-config.txt"
137        >Apache2 configuration stanza</a>.
138 * <a href="//example.indexdata.com/popup.html"
139        >A version that uses a jQuery popup</a>.
140
141 ### Non-standard interfaces
142
143 * <a href="//example.indexdata.com/dict.html"
144        >An application that uses MKWS to find dictionary
145   definitions of words when you highlight them</a>.
146 * <a href="//example.indexdata.com/auto.html"
147        >An application that runs an automatic search on load</a>.
148 * An existing web-site,
149   <a href="http://sagp.miketaylor.org.uk/"
150        >The Self-Appointed Grammar Police</a>,
151   which has been fitted with an MKWS searching widget.
152   (See also the MKWS-widget customisations in
153   <a href="http://sagp.miketaylor.org.uk/style.css"
154        >that site's stylesheet</a>.)
155 <!---
156 * Another existing web-site,
157   <a href="http://zthes.z3950.org/"
158        >The Zthes specifications</a>,
159   which has been fitted with a popup MKWS search-box.
160 -->
161
162 Target selection
163 ----------------
164
165 MKWS comes pre-configured to search in a set of a dozen or so
166 open-access targets, as a proof of concept. But you'll want
167 to use it to search your own selection of targets -- some open
168 access, some subscription.
169
170 We can set that up for you: email us on
171 <a href="mailto:info@indexdata.com"
172                >info@indexdata.com</a>.
173
174 - - -
175
176 Copyright (&copy;) 2013-2014 Index Data ApS.
177 <a href="http://indexdata.com">`http://indexdata.com`</a>