I'd like to write notes for class in plain text. I was wondering if there was a markup language for doing this, where I could parse the notes for key terms, titles, page #s etc programmatically with a language such as Ruby or Python.
LYX! I used lyx all last semester and it was great. It takes a little while to get used to (like a week). By the end of the first week I was formatting equations and matrices just as fast as my classmates could write them down. The only problem is diagrams, but if you have a sheet of paper handy or even a tablet, it shouldn't be a problem at all.
Note: Lyx is a tex parser that translates code in real time. You could also just use tex, but then you might not format things right. You could also use the openoffice tex plugin, but that doesn't work as well as LYX, but it does make life easier with the plain text formatting. Also, the openoffice plugin is not current.
here's a link to that project ooolatex:
In the Python world, reStructuredText is probably the most widely used markup language, and it's the result of a long-term and fairly rigorous design and development. It's the markup underlying the Sphinx documentation tool which, among other things, is used for the Python docs and many Python projects.
I also haven't seen a formal specification for other markup languages, at least not with the same thoroughness.