source: stylesheets/lfs-xsl/docbook-xsl-1.78.1/webhelp/docs/ch03s02s01.html@ b1a51ac1

7.5-systemd 7.6-systemd 7.7-systemd 7.8-systemd 7.9-systemd
Last change on this file since b1a51ac1 was b1a51ac1, checked in by Krejzi <krejzi@…>, 11 years ago

Import new branch

git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/systemd/BOOK@10389 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

  • Property mode set to 100644
File size: 16.6 KB
Line 
1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xmlns="http://www.w3.org/1999/xhtml"><head>
3<meta http-equiv="X-UA-Compatible" content="IE=edge"></meta>
4<meta http-equiv="Content-Type" content="text/html; charset=utf-8"></meta>
5<title>New Stemmers - - README: Web-based Help from DocBook XML</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"></meta><link rel="home" href="index.html" title="README: Web-based Help from DocBook XML"></link><link rel="up" href="ch03s02.html" title="Search"></link><link rel="prev" href="ch03s02.html" title="Search"></link><link rel="next" href="ch04.html" title="FAQ"></link><meta name="Section-title" content="New Stemmers"></meta><script type="text/javascript">
6 //The id for tree cookie
7 var treeCookieId = "treeview-1102";
8 var language = "en";
9 var w = new Object();
10 //Localization
11 txt_filesfound = 'Results';
12 txt_enter_at_least_1_char = "You must enter at least one character.";
13 txt_browser_not_supported = "JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.";
14 txt_please_wait = "Please wait. Search in progress...";
15 txt_results_for = "Results for: ";
16 </script><link rel="shortcut icon" href="favicon.ico" type="image/x-icon"></link><link rel="stylesheet" type="text/css" href="common/css/positioning.css"></link><link rel="stylesheet" type="text/css" href="common/jquery/theme-redmond/jquery-ui-1.8.2.custom.css"></link><link rel="stylesheet" type="text/css" href="common/jquery/treeview/jquery.treeview.css"></link><style type="text/css">
17
18#noscript{
19 font-weight:bold;
20 background-color: #55AA55;
21 font-weight: bold;
22 height: 25spx;
23 z-index: 3000;
24 top:0px;
25 width:100%;
26 position: relative;
27 border-bottom: solid 5px black;
28 text-align:center;
29 color: white;
30}
31
32input {
33 margin-bottom: 5px;
34 margin-top: 2px;
35}
36.folder {
37 display: block;
38 height: 22px;
39 padding-left: 20px;
40 background: transparent url(common/jquery/treeview/images/folder.gif) 0 0px no-repeat;
41}
42span.contentsTab {
43 padding-left: 20px;
44 background: url(common/images/toc-icon.png) no-repeat 0 center;
45}
46span.searchTab {
47 padding-left: 20px;
48 background: url(common/images/search-icon.png) no-repeat 0 center;
49}
50
51/* Overide jquery treeview's defaults for ul. */
52.treeview ul {
53 background-color: transparent;
54 margin-top: 4px;
55}
56#webhelp-currentid {
57 background-color: #D8D8D8 !important;
58}
59.treeview .hover { color: black; }
60.filetree li span a { text-decoration: none; font-size: 12px; color: #517291; }
61
62/* Override jquery-ui's default css customizations. These are supposed to take precedence over those.*/
63.ui-widget-content {
64 border: 0px;
65 background: none;
66 color: none;
67}
68.ui-widget-header {
69 color: #e9e8e9;
70 border-left: 1px solid #e5e5e5;
71 border-right: 1px solid #e5e5e5;
72 border-bottom: 1px solid #bbc4c5;
73 border-top: 4px solid #e5e5e5;
74 border: medium none;
75 background: #F4F4F4; /* old browsers */
76 background: -moz-linear-gradient(top, #F4F4F4 0%, #E6E4E5 100%); /* firefox */
77 background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#F4F4F4), color-stop(100%,#E6E4E5)); /* webkit */
78 font-weight: none;
79}
80.ui-widget-header a { color: none; }
81.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default {
82border: none; background: none; font-weight: none; color: none; }
83.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: black; text-decoration: none; }
84.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: none; background: none; font-weight: none; color: none; }
85
86.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: none; background: none; font-weight: none; color: none; }
87.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited {
88 color: black; text-decoration: none;
89 background: #C6C6C6; /* old browsers */
90 background: -moz-linear-gradient(top, #C6C6C6 0%, #D8D8D8 100%); /* firefox */
91 background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#C6C6C6), color-stop(100%,#D8D8D8)); /* webkit */
92 -webkit-border-radius:15px; -moz-border-radius:10px;
93 border: 1px solid #f1f1f1;
94}
95.ui-corner-all { border-radius: 0 0 0 0; }
96
97.ui-tabs { padding: .2em;}
98.ui-tabs .ui-tabs-nav li { top: 0px; margin: -2px 0 1px; text-transform: uppercase; font-size: 10.5px;}
99.ui-tabs .ui-tabs-nav li a { padding: .25em 2em .25em 1em; margin: .5em; text-shadow: 0 1px 0 rgba(255,255,255,.5); }
100 /**
101 * Basic Layout Theme
102 *
103 * This theme uses the default layout class-names for all classes
104 * Add any 'custom class-names', from options: paneClass, resizerClass, togglerClass
105 */
106
107 .ui-layout-pane { /* all 'panes' */
108 background: #FFF;
109 border: 1px solid #BBB;
110 padding: 05x;
111 overflow: auto;
112 }
113
114 .ui-layout-resizer { /* all 'resizer-bars' */
115 background: #DDD;
116 top:100px
117 }
118
119 .ui-layout-toggler { /* all 'toggler-buttons' */
120 background: #AAA;
121 }
122
123 </style><!--[if IE]>
124 <link rel="stylesheet" type="text/css" href="../common/css/ie.css"/>
125 <![endif]--><script type="text/javascript" src="common/browserDetect.js"></script><script type="text/javascript" src="common/jquery/jquery-1.7.2.min.js"></script><script type="text/javascript" src="common/jquery/jquery.ui.all.js"></script><script type="text/javascript" src="common/jquery/jquery.cookie.js"></script><script type="text/javascript" src="common/jquery/treeview/jquery.treeview.min.js"></script><script type="text/javascript" src="common/jquery/layout/jquery.layout.js"></script><script type="text/javascript" src="search/l10n.js"></script><script type="text/javascript" src="search/htmlFileInfoList.js"></script><script type="text/javascript" src="search/nwSearchFnt.js"></script><script type="text/javascript" src="search/stemmers/en_stemmer.js"><!--//make this scalable to other languages as well.--></script><script type="text/javascript" src="search/index-1.js"></script><script type="text/javascript" src="search/index-2.js"></script><script type="text/javascript" src="search/index-3.js"></script></head><body><noscript><div id="noscript">JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.</div></noscript><div id="header"><a href="index.html"><img style="margin-right: 2px; height: 59px; padding-right: 25px; padding-top: 8px" align="right" src="common/images/logo.png" alt=" Documentation"></img></a><h1>README: Web-based Help from DocBook XML<br></br>Search</h1><div id="navheader"><table class="navLinks"><tr><td><a id="showHideButton" href="#" onclick="myLayout.toggle('west')" class="pointLeft" tabindex="5" title="Hide TOC tree">Sidebar
126 </a></td><td><a accesskey="p" class="navLinkPrevious" tabindex="5" href="ch03s02.html">Prev</a>
127 |
128 <a accesskey="u" class="navLinkUp" tabindex="5" href="ch03s02.html">Up</a>
129 |
130 <a accesskey="n" class="navLinkNext" tabindex="5" href="ch04.html">Next</a></td></tr></table></div></div><div id="content"><div class="section"><div xmlns="" class="titlepage"><div><div><h3 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="idp305376"></a>New Stemmers</h3></div></div></div>
131<p class="summary">Adding new Stemmers is very simple.</p><p>Currently, only English, French, and German stemmers are integrated in to WebHelp. But
132 the code is extensible such that you can add new stemmers easily by few steps.</p><p>What you need: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>You'll need two versions of the stemmer; One written in JavaScript, and another
133 in Java. But fortunately, Snowball contains Java stemmers for number of popular
134 languages, and are already included with the package. You can see the full list in
135 <a class="ulink" href="ch02s04.html" target="_top">Adding support for other (non-CJKV) languages</a>.
136 If your language is listed there, Then you have to find javascript version of the
137 stemmer. Generally, new stemmers are getting added in to <a class="ulink" href="http://snowball.tartarus.org/otherlangs/index.html" target="_top">Snowball Stemmers in
138 other languages</a> location. If javascript stemmer for your language is
139 available, then download it. Else, you can write a new stemmer in JavaScript using
140 SnowBall algorithm fairly easily. Algorithms are at <a class="ulink" href="http://snowball.tartarus.org/" target="_top">Snowball</a>. </p></li><li class="listitem"><p>Then, name the JS stemmer exactly like this:
141 <code class="filename">{$language-code}_stemmer.js</code>.
142 For example, for Italian(it), name it as,
143 <code class="filename">it_stemmer.js</code>. Then, copy it to
144 the
145 <code class="filename">docbook-webhelp/template/search/stemmers/</code>
146 folder. (I assumed
147 <code class="filename">docbook-webhelp</code> is the root
148 folder for webhelp.) </p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>Make sure you changed the
149 <code class="code">webhelp.indexer.language</code> property
150 in <code class="filename">build.properties</code> to your
151 language. </p></div><p>
152 </p></li><li class="listitem"><p>Now two easy changes needed for the indexer.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; "><li class="listitem"><p>Open
153 <code class="filename">docbook-webhelp/indexer/src/com/nexwave/nquindexer/IndexerTask.java</code>
154 in a text editor and add your language code to the
155 <code class="code">supportedLanguages</code> String Array. </p><div class="example"><a id="idp320496"></a><p class="title"><strong>Example 2. Add new language to supportedLanguages array</strong></p><div class="example-contents"><p> change the Array from,
156 </p><pre class="programlisting">
157private String[] supportedLanguages= {"en", "de", "fr", "cn", "ja", "ko"};
158 //currently extended support available for
159 // English, German, French and CJK (Chinese, Japanese, Korean) languages only.
160</pre><p>
161 To,</p><pre class="programlisting">
162private String[] supportedLanguages= {"en", "de", "fr", "cn", "ja", "ko", <span class="emphasis"><em>"it"</em></span>};
163 //currently extended support available for
164 // English, German, French, CJK (Chinese, Japanese, Korean), and Italian languages only.
165 </pre></div></div><br class="example-break"></br></li><li class="listitem"><p> Now, open
166 <code class="filename">docbook-webhelp/indexer/src/com/nexwave/nquindexer/SaxHTMLIndex.java</code>
167 and add the following line to the code where it initializes the Stemmer (Search
168 for <code class="code">SnowballStemmer stemmer;</code>). Then add code to initialize the
169 stemmer Object in your language. It's self understandable. See the example. The
170 class names are at:
171 <code class="filename">docbook-webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/</code>. </p><div class="example"><a id="idp327120"></a><p class="title"><strong>Example 3. Initialize correct stemmer based on the
172 <code class="code">webhelp.indexer.language</code> specified</strong></p><div class="example-contents"><pre class="programlisting">
173 SnowballStemmer stemmer;
174 if(indexerLanguage.equalsIgnoreCase("en")){
175 stemmer = new EnglishStemmer();
176 } else if (indexerLanguage.equalsIgnoreCase("de")){
177 stemmer= new GermanStemmer();
178 } else if (indexerLanguage.equalsIgnoreCase("fr")){
179 stemmer= new FrenchStemmer();
180 }
181<span class="emphasis"><em>else if (indexerLanguage.equalsIgnoreCase("it")){ //If language code is "it" (Italian)
182 stemmer= new italianStemmer(); //Initialize the stemmer to <code class="code">italianStemmer</code> object.
183 } </em></span>
184 else {
185 stemmer = null;
186 }
187</pre></div></div><br class="example-break"></br></li></ul></div></li></ul></div><p>
188 </p><p>That's all. Now run <code class="code">ant build-indexer</code> to compile and build the java code.
189 Then, run <code class="code">ant webhelp</code> to generate the output from your docbook file. For any
190 questions, contact us or email to the docbook mailing list
191 <code class="email">&lt;<a class="email" href="mailto:docbook-apps@lists.oasis-open.org">docbook-apps@lists.oasis-open.org</a>&gt;</code>.</p><a id="idp333072" class="indexterm"></a></div><script type="text/javascript" src="common/main.js"></script><script type="text/javascript" src="common/splitterInit.js"></script><div class="navfooter"><hr></hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch03s02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch03s02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch04.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></div><div id="sidebar"><div id="leftnavigation" style="padding-top:3px;"><div id="tabs"><ul><li><a href="#treeDiv" style="outline:0;" tabindex="1"><span class="contentsTab">Contents</span></a></li><li><a href="#searchDiv" style="outline:0;" tabindex="1" onclick="doSearch()"><span class="searchTab">Search</span></a></li></ul><div id="treeDiv"><img src="common/images/loading.gif" alt="loading table of contents..." id="tocLoading" style="display:block;"></img><div id="ulTreeDiv" style="display:none"><ul id="tree" class="filetree"><li><span class="file"><a href="ch01.html" tabindex="1">Introduction</a></span></li><li><span class="file"><a href="ch02.html" tabindex="1">Using the package</a></span><ul><li><span class="file"><a href="ch02s01.html" tabindex="1">Generating webhelp output using the Ant build.xml
192 file</a></span></li><li><span class="file"><a href="ch02s02.html" tabindex="1">Using and customizing the output</a></span><ul><li><span class="file"><a href="ch02s02s01.html" tabindex="1">Recommended Apache configurations</a></span></li></ul></li><li><span class="file"><a href="ch02s03.html" tabindex="1">Search indexing</a></span></li><li><span class="file"><a href="ch02s04.html" tabindex="1">Adding support for other (non-CJKV) languages</a></span></li><li><span class="file"><a href="ch02s05.html" tabindex="1">Adding images</a></span></li></ul></li><li><span class="file"><a href="ch03.html" tabindex="1">Developer Docs</a></span><ul><li><span class="file"><a href="ch03s01.html" tabindex="1">Design</a></span></li><li><span class="file"><a href="ch03s02.html" tabindex="1">Search</a></span><ul><li id="webhelp-currentid"><span class="file"><a href="ch03s02s01.html" tabindex="1">New Stemmers</a></span></li></ul></li></ul></li><li><span class="file"><a href="ch04.html" tabindex="1">FAQ</a></span></li><li><span class="file"><a href="ch05.html" tabindex="1">Test section</a></span><ul><li><span class="file"><a href="ch05s01.html" tabindex="1">Some search words for testing</a></span></li><li><span class="file"><a href="ch05s02.html" tabindex="1">Some search words for testing (inflected)</a></span></li></ul></li><li><span class="file"><a href="ix01.html" tabindex="1">Index</a></span></li></ul></div></div><div id="searchDiv"><div id="search"><form onsubmit="Verifie(searchForm);return false" name="searchForm" class="searchForm"><div><input id="textToSearch" name="textToSearch" type="search" placeholder="Search" class="searchText" tabindex="1"></input> &nbsp; <input onclick="Verifie(searchForm)" type="button" class="searchButton" value="Go" id="doSearch" tabindex="1"></input></div></form></div><div id="searchResults"><center></center></div><p class="searchHighlight"><a href="#" onclick="toggleHighlight()">Search Highlighter (On/Off)</a></p></div></div></div></div></body></html>
Note: See TracBrowser for help on using the repository browser.