rebol [ Title: "Document Search" Date: 12-Aug-2006 Name: 'document-search File: %document-search.r Version: 1.0.0 Author: "rwvd.Zee" Purpose: "Users may open a directory, search files for a phrase, and then review documents in a browser." Note: { - no error checking - maybe useful for searching the manual and, with some minor changes, a directory of library scripts - works with some linux distributions - Windows users might change the line "call [firefox found.html]" to "browse %found.html" and may also have to supply the path the searched directory - the script reads all files in a chosen directory - if the search string is found in a document, the title of the document is added to the html page - the browser is called to review the documents } Library: [ level: 'beginner platform: 'all type: [reference tool] domain: [files] tested-under: none support: none license: none see-also: find-file.r ] ] view layout [ size 300x595 backdrop ivory space 0 style infoLine h3 230 infoLine "Open the directory to search." infoLine {Type a string to search for in the field and click "Search".} infoLine "Documents may be reviewed in the browser." space 10 box 1x1 directory: h3 250 maroon searchField: field tan snow font-size 15 across indent 35 btn "Directory" [ change-dir request-dir/offset 100x305 directory/text: what-dir show directory ] btn "Search" [ manualFiles: read %. finds: rejoin [{ Search Results For "} searchField/text {" ...

}] foreach fileIn manualFiles [ if find read fileIn searchField/text [ parse read fileIn [thru copy theTitle to ] append finds rejoin ["" theTitle "
" ] ] ] append finds "" write %found.html finds call [firefox found.html] ] btn "Quit" [quit] ]