Summary
| Mentor(s): | Dr. Mike Murphy |
|---|---|
| Project Type: | Software development |
| Technologies: | Python, HTML, JavaScript, Git |
| Undergraduate Credit: | CSCI 399, CSCI 490 |
| Graduate Credit: | IST 659 |
| Locality: | Main campus and/or remote |
Purpose
Most modern websites have some type of search function to make it easy to find information within the site. Sites may implement their own search capabilities by using server-side software to process the user's query and generate a list of results. Alternatively, a site could outsource their search functionality to a search engine provider.
A statically generated site, such as one produced using TealSite, does not have search software available on the server. Consequently, search functionality must either be implemented client-side or outsourced. Since outsourced searches have their own set of challenges, it would be useful to collect the word index data already produced by TealSite and make it available in a format like JavaScript Object Notation (JSON). A simple client-side search engine for a site (or section of a site) could be written in JavaScript code, using the JSON file as a data source. Since the search would run entirely within the user's browser, it would still work with an offline copy of the site.
Scope of Work
Add a feature to enable TealSite to add client-side search capabilities to generated pages. Generate a search index in JavaScript Object Notation (JSON) format using the available word index data. Implement a basic site search script in client-side JavaScript. Modify TealSite (using Python code) to support custom HTML tags to include the search box and JavaScript code on individual pages.