How about this a a proposed project for GSoc? This would be sponsored by the texinfo project, under the GNU umbrella. The latter takes care of the organizational task (and gets a modest fee from Google). However, we need at least two mentors. I can be one; would you be the other? The primary task of the mentor is to guide and advise the selected student. If the student has a question, one of us should respond fairly quickly. We need to monitor that he or she is making decent progress, and then evaluate their progress for mid-term and final (which determines if the student is paid).
** Keyboard-centric UI in JavaScript for GNU HTML documentation ** Background: GNU documentation is based on the texinfo source format (conceptually similar to markdown, but better for documentation), and tools that can convert texinfo into various formats, including pdf, html, and info format. The info format is used for reading the documentation in a terminal emulator (using the info program) or in the emacs editor. The info format is very bare-bones (no fonts or images). On the other hand, the info program has a number of conveniences for browsing documentation, and the keyboard-centric user interface is very efficient. We would like to combine the user interface and features of the info program with the rich text and graphics of HTML. Specifically porting most of the functionality of the info program to JavaScript and CSS that can work in a browser. Desirable features include: * Keyboard-centric UI * Fast, responsive UI * Index search * Search a manual with regular expressions. Optionally, only within a chapter or section. The focus of this project is writing logic and event handlers in JavaScript. We may also want to make some tweaks to how the texinfo tools generate HTML so the HTML is cleaner and easier to work with. Once we have a good basic browser-based documentation reader, there are some possible enhancements. One is to generate on-the-fly a navigation bar. (For example example see http://www.gnu.eg/software/kawa. This is generated from texinfo, but goes through some extra complex processing. It would be nice if it could be done in JavaScript and CSS.) Another enhancement is to use the DomTerm (http://domterm.org) web-based terminal emulator. The idea that a modest front-end wrapper would locate the HTML files, and send a request to DomTerm to load the HTML in an iframe of the DomTerm browser window. If the user selects some other manual, the JavaScript could send a request to the front-end to locate and load the manual. -- --Per Bothner [email protected] http://per.bothner.com/
