Summary
| Mentor(s): | Dr. Mike Murphy |
|---|---|
| Project Type: | Software development |
| Technologies: | Python, HTML, Git |
| Undergraduate Credit: | CSCI 399, CSCI 490 |
| Graduate Credit: | IST 659 |
| Locality: | Main campus and/or remote |
Purpose
A useful feature of any scientific or technical publication is a glossary that defines terms for easy cross-referencing. While glossaries are typically found in larger works, such as books, there is no reason why a website couldn't have one. A glossary would be especially useful for a site containing digital learning materials.
During processing, TealSite generates tag index data for each HTML tag found in the document. One way to give formal definitions to terms in a document is to use a definition list with the dl tag. There is also a dfn tag that can be used to mark terms that are defined in-text. It is therefore relatively easy for a site author to include definition information without having to do much extra work.
A feature that still needs to be implemented is to use the tag indexes to generate glossaries. A glossary could have different scopes, from site-level down to page-level (with directories in between). One challenge in producing a useful glossary is that a single term can have more than one meaning. For example, in networking, the term bandwidth is often colloquially used as a synonym for the data throughput that a network connection can carry. Thus, a network engineer might say that a connection has 1 gigabit per second of "bandwidth." However, bandwidth has another meaning at the physical layer of the network stack: it is a measure of the range of frequencies that a particular transmission system can carry (measured in Hertz, or Hz). A category 6A Ethernet cable has 500 MHz of physical bandwidth and can carry data at speeds of 10 Gbps over a distance of 100 meters. A site-level glossary for a networking site would probably need to contain both of these definitions.
Scope of Work
Add glossary support to TealSite by using a combination of Python and HTML to generate the glossary data. As described above, the generated glossary might have its scope limited to part of a site or include the entire site. Also, a term might have more than one definition.