Annotation of bookmarktools/www/documentation.html, revision 1.17

1.16      maik        1: <html>
                      2:        <head>
                      3:                <link rel="stylesheet" href="./project.css" type="text/css" />
                      4:                
                      5:                <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
                      6:                <meta content="text/css" http-equiv="Content-Style-Type" />
                      7:                
                      8:                <script type="text/javascript" src="js/prototype.js"></script>
                      9:                <script type="text/javascript" src="js/scriptaculous.js?load=effects,builder"></script>
                     10:                <script type="text/javascript" src="js/lightbox.js"></script>
                     11:                
                     12:                <script type="text/javascript" src="scripts/shCore.js"></script>
                     13:                <script type="text/javascript" src="scripts/shBrushBash.js"></script>
                     14:                <script type="text/javascript" src="scripts/shBrushCpp.js"></script>
                     15: 
                     16:                <script type="text/javascript" src="scripts/shBrushCSharp.js"></script>
                     17:                <script type="text/javascript" src="scripts/shBrushCss.js"></script>
                     18:                <script type="text/javascript" src="scripts/shBrushDelphi.js"></script>
                     19:                <script type="text/javascript" src="scripts/shBrushDiff.js"></script>
                     20:                <script type="text/javascript" src="scripts/shBrushGroovy.js"></script>
                     21:                <script type="text/javascript" src="scripts/shBrushJava.js"></script>
                     22: 
                     23:                <script type="text/javascript" src="scripts/shBrushJScript.js"></script>
                     24:                <script type="text/javascript" src="scripts/shBrushPhp.js"></script>
                     25:                <script type="text/javascript" src="scripts/shBrushPlain.js"></script>
                     26:                <script type="text/javascript" src="scripts/shBrushPython.js"></script>
                     27:                <script type="text/javascript" src="scripts/shBrushRuby.js"></script>
                     28:                <script type="text/javascript" src="scripts/shBrushScala.js"></script>
                     29: 
                     30:                <script type="text/javascript" src="scripts/shBrushSql.js"></script>
                     31:                <script type="text/javascript" src="scripts/shBrushVb.js"></script>
                     32:                <script type="text/javascript" src="scripts/shBrushXml.js"></script>
                     33:                
                     34:                <link rel="stylesheet" href="css/lightbox.css" type="text/css" media="screen" />
                     35:                <link type="text/css" rel="stylesheet" href="styles/shCore.css"/>
                     36:                <link type="text/css" rel="stylesheet" href="styles/shThemeDefault.css"/>
                     37:                
                     38:                <script type="text/javascript">
                     39:                        SyntaxHighlighter.config.clipboardSwf = 'scripts/clipboard.swf';
                     40:                        SyntaxHighlighter.all();
                     41:                </script>
                     42:        </head>
                     43:        <body>
1.1       maik       44:        
1.16      maik       45:                <div id="main">
1.1       maik       46:                
1.16      maik       47:                        <div id="menu-container">
                     48:                                <ul id="simple-menu">
                     49:                                        <li><a id="home" href="./index.html" title="Home">Home</a></li>
                     50:                                        <li><a id="download" href="./installation.html" title="Home">Download</a></li>
                     51:                                        <li><a id="docu" href="./documentation.html" title="Home" class="current">Documentation</a></li>
                     52:                                        <li><a id="src" href="./source.html" title="Home">Source Code</a></li>
                     53:                                        <li><a id="bugs" href="./bugs.html" title="Home">Bugs</a></li>
                     54:                                        <li><a id="screenshots" href="./screenshots.html" title="Home">Screenshots</a></li>
                     55:                                </ul>
                     56:                        </div>
                     57:                        
                     58:                        <div id="content">
1.1       maik       59:                        
1.16      maik       60:                                <div>
1.17    ! maik       61:                                        <h3><a name="Content">Content:</a></h3>
1.16      maik       62:                                        <ul>
                     63:                                                <li><strong>USER GUIDE</strong></li>
                     64:                                                <li><strong>XPCOM</strong>
                     65:                                                        <ul>
                     66:                                                                <li><a href="#HowToIndex">HowTo use the index component</a></li>
                     67:                                                                <li><a href="#HowToTidy">HowTo use the tidy component</a></li>
                     68:                                                        </ul>
                     69:                                                </li>
                     70:                                                <li><strong>OTHER</strong></li>
                     71:                                        </ul>
                     72:                                        <br />
                     73:                                </div>
                     74: 
                     75:                                <div class="separator"></div>
                     76:                                
                     77:                                <br />
                     78: 
1.17    ! maik       79:                                <h3><a href="#Content"><img src="./images/back.png" alt="back" title="back" /></a><a name="HowToIndex">HowTo use the index component (uses clucene-core-0.9.20)</a></h3>
1.16      maik       80:                                <h4>Writing::</h4>
                     81:                                <pre class="brush: js font-size: 80%">
                     82: 
                     83:                                        //initialize file object (location: profile directory)
                     84:                                        var file = Components.classes["@mozilla.org/file/directory_service;1"]
                     85:                                                                .getService(Components.interfaces.nsIProperties)
                     86:                                                                .get("ProfD", Components.interfaces.nsIFile);
                     87: 
                     88:                                        file.append("index"); //folder named 'index'
                     89:                                        
                     90:                                        if(!file.exists() || !file.isDirectory()) 
                     91:                                                file.create(Components.interfaces.nsIFile.DIRECTORY_TYPE, 0777);
                     92: 
                     93:                                        //initialize xpcom
                     94:                                        var writer = Components.classes["@bookmarktools.mozdev.org/search/indexWriter;1"].createInstance();
                     95:                                        writer = writer.QueryInterface(Components.interfaces.ICLWriter);
                     96:                                        
                     97:                                        //set path
                     98:                                        writer.setPath(file.path);
                     99:                                        
                    100:                                        //create index document
                    101:                                        var cl_document = new Object();
                    102:                                        cl_document.primaryKey = "key0";                                                //this shoud be a unique key
                    103:                                        cl_document.name = "CLucene Indexer";                                   //document name
                    104:                                        cl_document.lastModifiedDate = new Date().getTime();    //date in millis
                    105:                                        cl_document.content = "Hello World!";                                   //some content
                    106:                                        
                    107:                                        //append document
                    108:                                        writer.appendDocument(
                    109:                                                cl_document.primaryKey,
                    110:                                                cl_document.name,
                    111:                                                cl_document.lastModifiedDate,
                    112:                                                cl_document.content
                    113:                                        );
                    114:                                        
                    115:                                        //optimize data
                    116:                                        writer.optimize();
                    117:                                        
                    118:                                </pre>
                    119: 
                    120:                                <h4>Searching::</h4>
                    121:                                <pre class="brush: js font-size: 80%">
                    122: 
                    123:                                        //initialize xpcom
                    124:                                        var reader = Components.classes["@bookmarktools.mozdev.org/search/indexReader;1"].createInstance();
                    125:                                        reader = reader.QueryInterface(Components.interfaces.ICLReader);
                    126:                                        
                    127:                                        //set path
                    128:                                        reader.setPath(file.path); //see section 'Writing'
                    129:                                        
                    130:                                        if(reader.exists()){ //check for index data
                    131:                                                
                    132:                                                var query = "Hell*";
                    133:                                                var results = Components.classes["@mozilla.org/array;1"]
                    134:                                                                                .createInstance(Components.interfaces.nsIMutableArray);
                    135:                                                reader.search(query, results);
                    136:                                                
                    137:                                                var e = results.enumerate();
                    138:                                                while (e.hasMoreElements()) {
                    139:                                                        var resultNode = e.getNext().QueryInterface(Components.interfaces.IResultNode);
                    140:                                                        
                    141:                                                        //Object: resultNode
                    142:                                                        //-> resultNode.primaryKey
                    143:                                                        //-> resultNode.score
                    144:                                                        alert(resultNode.primaryKey + "\n" + resultNode.score);
                    145:                                                }
                    146:                                                
                    147:                                        }else {
                    148:                                                //display message or do nothing
                    149:                                        }
                    150:                                        
                    151:                                </pre>
                    152: 
                    153:                                <h4>Lookup::</h4>
                    154:                                <pre class="brush: js font-size: 80%">
                    155: 
                    156:                                        //initialize xpcom
                    157:                                        var reader = Components.classes["@bookmarktools.mozdev.org/search/indexReader;1"].createInstance();
                    158:                                        reader = reader.QueryInterface(Components.interfaces.ICLReader);
                    159:                                        
                    160:                                        //set path
                    161:                                        reader.setPath(file.path); //see section 'Writing'
                    162:                                        
                    163:                                        var results = Components.classes["@mozilla.org/array;1"]
                    164:                                                                        .createInstance(Components.interfaces.nsIMutableArray);
                    165:                                        reader.lookup(results);
                    166:                                        
                    167:                                        var e = results.enumerate();
                    168:                                        while (e.hasMoreElements()) {
                    169:                                                var lookupNode = e.getNext().QueryInterface(Components.interfaces.ILookupNode);
                    170:                                                
                    171:                                                //Object: lookupNode
                    172:                                                //-> lookupNode.primaryKey
                    173:                                                //-> lookupNode.name
                    174:                                                alert(lookupNode.primaryKey + "\n" + lookupNode.name);
                    175:                                        }
                    176: 
                    177:                                </pre>
                    178: 
                    179:                                <h4>Delete documents::</h4>
                    180:                                <pre class="brush: js font-size: 80%">
                    181: 
                    182:                                        //initialize xpcom
                    183:                                        var writer = Components.classes["@bookmarktools.mozdev.org/search/indexWriter;1"].createInstance();
                    184:                                        writer = writer.QueryInterface(Components.interfaces.ICLWriter);
                    185:                                        
                    186:                                        //set path
                    187:                                        writer.setPath(file.path); //see section 'Writing'
                    188:                                        
                    189:                                        //delete documents with index 0, 5 and 2
                    190:                                        var docs = [0, 5, 2];
                    191:                                        writer.deleteDocument(docs, docs.length);
                    192: 
                    193:                                </pre>
                    194: 
                    195:                                <br />
                    196: 
                    197:                                <div class="separator"></div>
                    198:                                
1.17    ! maik      199:                                <h3><a href="#Content"><img src="./images/back.png" alt="back" title="back" /></a><a name="HowToTidy">HowTo use the tidy component (uses ctidy version 060405)</a></h3>
1.16      maik      200:                                <h4>Cleanup::</h4>
                    201:                                <pre class="brush: js font-size: 80%">
                    202: 
                    203:                                        //initialize xpcom
                    204:                                        var tidy = Components.classes["@bookmarktools.mozdev.org/repair/tidy;1"].createInstance();
                    205:                                        tidy = tidy.QueryInterface(Components.interfaces.ITidy);
                    206:                                        
                    207:                                        var src = "
                    208:                                        &lt;html&gt;
                    209:                                                &lt;head&gt;&lt;/head&gt;
                    210:                                                &lt;body
                    211:                                                        broken body tag & no entity
                    212:                                                &lt;/body&gt;
                    213:                                        &lt;/html>";
                    214:                                        
                    215:                                        //result contains the repaired html/xhtml/xml source
                    216:                                        //otherwise a error message returned
                    217:                                        var result = tidy.cleanup(src);
                    218:                                        
                    219:                                        if(result == "Tidy: no output"){
                    220:                                                alert("error returned");
                    221:                                        }else {
                    222:                                                alert(src);
                    223:                                        }
                    224:                                        
                    225:                                </pre>
                    226:                        </div>
                    227:                        
                    228:                </div>
                    229:                        
                    230:                <div id="footer">
                    231:                                <div style="text-align: center;">
                    232:                     Project hosted on <a href="http://www.mozdev.org/">mozdev.org</a>.<br/> <a href="http://www.mozdev.org/copyright.html">Copyright</a> &copy; 2004. All rights reserved. <a href="http://www.mozdev.org/community/terms.html">Terms of Use</a>.
                    233:                 </div>
                    234:                </div>
                    235:        </body>
                    236: </html>

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>