code: def search(self, terms):
          
          # load the search information
          if not self._searchurls:
              base = self.tempFilepath()
              root_url = projex.text.underscore(self.text(0))
              for root, folders, files in os.walk(base):
                  if '_static' in root:
                      continue
                  
                  for file in files:
                      if not file.endswith('.html'):
                          continue
                      
                      filename = os.path.join(root, file)
                      url = filename[len(base)+1:].replace('\\', '/')
                      url = root_url + '/' + url.strip('/')
                      url = url.replace('.html', '')
                      
                      f = open(filename, 'r')
                      content = f.read()
                      f.close()
                      
                      self._searchurls[url] = content
  
          # search for the contents
          output = [] # [(<int> strength>
          term_list = nativestring(terms).split(' ')
          for url, html in self._searchurls.items():
              title           = self.titleForFilepath(url)
              strength        = 0
              all_title_found = True
              all_found       = True
              
              for term in term_list:
                  if ( term == title ):
                      strength += 5
                  
                  elif ( term.lower() == title.lower() ):
                      strength += 4
                      
                  elif ( term in title ):
                      strength += 3
                  
                  elif ( term.lower() in title.lower() ):
                      strength += 2
                  
                  else:
                      all_title_found = False
                  
                  if ( not term in html ):
                      all_found = False
                  else:
                      strength += 1
              
              if ( all_title_found ):
                  strength += len(terms) * 2
              
              if ( all_found ):
                  strength += len(terms)
              
              # determine the strength
              if ( strength ):
                  output.append({'url': url, 
                                 'title': self.titleForFilepath(url),
                                 'strength': strength})
          
          return output
docs: Seraches the documents for the inputed terms.
          
          :param      terms
          
          :return     [{'url': <str>, 'title': <str>', 'strength': <int>}]