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

1.1     ! maik        1: <!-- MAIN CONTENT -->
        !             2: 
        !             3: <h5 class="page-header"><a id="content" name="content">Installation</a></h5>
        !             4: 
        !             5: <h2>Content:</h2>
        !             6: <ul>
        !             7:        <li><a href="#HowToIndex">HowTo use the index component</a></li>
        !             8:        <li><a href="#HowToTidy">HowTo use the tidy component</a></li>
        !             9: </ul>
        !            10: 
        !            11: <br />
        !            12: 
        !            13: <h2><a name="HowToIndex">HowTo use the index component (uses clucene-core-0.9.20)</a></h2>
        !            14: <h3>Writing::</h3>
        !            15: <pre class="brush: js">
        !            16: 
        !            17:        //initialize file object (location: profile directory)
        !            18:        var file = Components.classes["@mozilla.org/file/directory_service;1"]
        !            19:                                .getService(Components.interfaces.nsIProperties)
        !            20:                                .get("ProfD", Components.interfaces.nsIFile);
        !            21: 
        !            22:        file.append("index"); //folder named 'index'
        !            23:        
        !            24:        if(!file.exists() || !file.isDirectory()) 
        !            25:                file.create(Components.interfaces.nsIFile.DIRECTORY_TYPE, 0777);
        !            26: 
        !            27:        //initialize xpcom
        !            28:        var writer = Components.classes["@bookmarktools.mozdev.org/search/indexWriter;1"].createInstance();
        !            29:        writer = writer.QueryInterface(Components.interfaces.ICLWriter);
        !            30:        
        !            31:        //set path
        !            32:        writer.setPath(file.path);
        !            33:        
        !            34:        //create index document
        !            35:        var cl_document = new Object();
        !            36:        cl_document.primaryKey = "key0";                                                //this shoud be a unique key
        !            37:        cl_document.name = "CLucene Indexer";                                   //document name
        !            38:        cl_document.lastModifiedDate = new Date().getTime();    //date in millis
        !            39:        cl_document.content = "Hello World!";                                   //some content
        !            40:        
        !            41:        //append document
        !            42:        writer.appendDocument(
        !            43:                cl_document.primaryKey,
        !            44:                cl_document.name,
        !            45:                cl_document.lastModifiedDate,
        !            46:                cl_document.content
        !            47:        );
        !            48:        
        !            49:        //optimize data
        !            50:        writer.optimize();
        !            51:        
        !            52: </pre>
        !            53: 
        !            54: <h3>Searching::</h3>
        !            55: <pre class="brush: js">
        !            56: 
        !            57:        //initialize xpcom
        !            58:        var reader = Components.classes["@bookmarktools.mozdev.org/search/indexReader;1"].createInstance();
        !            59:        reader = reader.QueryInterface(Components.interfaces.ICLReader);
        !            60:        
        !            61:        //set path
        !            62:        reader.setPath(file.path); //see section 'Writing'
        !            63:        
        !            64:        if(reader.exists()){ //check for index data
        !            65:                
        !            66:                var query = "Hell*";
        !            67:                var results = Components.classes["@mozilla.org/array;1"]
        !            68:                                                .createInstance(Components.interfaces.nsIMutableArray);
        !            69:                reader.search(query, results);
        !            70:                
        !            71:                var e = results.enumerate();
        !            72:                while (e.hasMoreElements()) {
        !            73:                        var resultNode = e.getNext().QueryInterface(Components.interfaces.IResultNode);
        !            74:                        
        !            75:                        //Object: resultNode
        !            76:                        //-> resultNode.primaryKey
        !            77:                        //-> resultNode.score
        !            78:                        alert(resultNode.primaryKey + "\n" + resultNode.score);
        !            79:                }
        !            80:                
        !            81:        }else {
        !            82:                //display message or do nothing
        !            83:        }
        !            84:        
        !            85: </pre>
        !            86: 
        !            87: <h3>Lookup::</h3>
        !            88: <pre class="brush: js">
        !            89: 
        !            90:        //initialize xpcom
        !            91:        var reader = Components.classes["@bookmarktools.mozdev.org/search/indexReader;1"].createInstance();
        !            92:        reader = reader.QueryInterface(Components.interfaces.ICLReader);
        !            93:        
        !            94:        //set path
        !            95:        reader.setPath(file.path); //see section 'Writing'
        !            96:        
        !            97:        var results = Components.classes["@mozilla.org/array;1"]
        !            98:                                        .createInstance(Components.interfaces.nsIMutableArray);
        !            99:        reader.lookup(results);
        !           100:        
        !           101:        var e = results.enumerate();
        !           102:        while (e.hasMoreElements()) {
        !           103:                var lookupNode = e.getNext().QueryInterface(Components.interfaces.ILookupNode);
        !           104:                
        !           105:                //Object: lookupNode
        !           106:                //-> lookupNode.primaryKey
        !           107:                //-> lookupNode.name
        !           108:                alert(lookupNode.primaryKey + "\n" + lookupNode.name);
        !           109:        }
        !           110: 
        !           111: </pre>
        !           112: 
        !           113: <h3>Delete documents::</h3>
        !           114: <pre class="brush: js">
        !           115: 
        !           116:        //initialize xpcom
        !           117:        var writer = Components.classes["@bookmarktools.mozdev.org/search/indexWriter;1"].createInstance();
        !           118:        writer = writer.QueryInterface(Components.interfaces.ICLWriter);
        !           119:        
        !           120:        //set path
        !           121:        writer.setPath(file.path); //see section 'Writing'
        !           122:        
        !           123:        //delete documents with index 0, 5 and 2
        !           124:        var docs = [0, 5, 2];
        !           125:        writer.deleteDocument(docs, docs.length);
        !           126: 
        !           127: </pre>
        !           128: 
        !           129: <br />
        !           130: 
        !           131: <h2><a name="HowToTidy">HowTo use the tidy component (uses ctidy version 060405)</a></h2>
        !           132: <h3>Cleanup::</h3>
        !           133: <pre class="brush: js">
        !           134: 
        !           135:        //initialize xpcom
        !           136:        var tidy = Components.classes["@bookmarktools.mozdev.org/repair/tidy;1"].createInstance();
        !           137:        tidy = tidy.QueryInterface(Components.interfaces.ITidy);
        !           138:        
        !           139:        var src = "
        !           140:        &lt;html&gt;
        !           141:                &lt;head&gt;&lt;/head&gt;
        !           142:                &lt;body
        !           143:                        broken body tag & no entity
        !           144:                &lt;/body&gt;
        !           145:        &lt;/html>";
        !           146:        
        !           147:        //result contains the repaired html/xhtml/xml source
        !           148:        //otherwise a error message returned
        !           149:        var result = tidy.cleanup(src);
        !           150:        
        !           151:        if(result == "Tidy: no output"){
        !           152:                alert("error returned");
        !           153:        }else {
        !           154:                alert(src);
        !           155:        }
        !           156:        
        !           157: </pre>
        !           158: 

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