xindy is an index processor that can be used to generate book-like indexes for arbitrary document-preparation systems. This includes systems such as TeX and LaTeX, the roff-family, and SGML/XML-based systems (e.g., HTML).
Records mode allows Emacs users to keep an online personal journal. Records indexes your personal journal by subject and date, understands web compatible links to a variety of documents, keeps track of TODO lists and operates as an editor and a browser.