yab2web is yet another BibTeX-to-HTML converter, along the lines of (but naturally better than :-) various similar tools.
As shown in this example, yab2web takes as input a BibTeX file, and generates as output a static HTML page that shows the bibliographic items, along with a simple query/filter mechanism.
Note that yab2web is not a tool for editing/maintaining BibTeX files. (If that's what you want, try some of these.)
Download
yab2web is a 500-odd line Perl script -- you
can download it
HERE.
Instructions
yab2web depends on two third-party pieces of software:
You tell yab2web what else to add to the generated page
using an HTML template. Here's mine: nk.yab. This file is just plain HTML, with
one exception: your template must contain a line of the form:
yab2web bibfile When it
generates its output, yab2web will replace this line with a
large chunk of HTML.
You run yab2web with a command such as the following:
./yab2web < nk.yab
If all goes well, you will find the output in a file called
"yab2web-output.html".
yab2web will print out a few informative messages as it
proceeds. You may also see many many warning messages of the form
lexical buffer overflowed (reallocating to 4000 bytes)
You can safely ignore these messages; they are generated by btOOL with
large BibTeX files.
To check whether your BibTeX file contains error, look at /tmp/yab2web-latex.log.
yab2web uses several special (ie, nonstandard) BibTeX fields. All of these fields are optional.
topic = "machine learning; information retrieval"
acceptance = "30%"
psgz = "http://www.blah.com/foo/fizz.ps.gz
(If you need more, it's simple to add more formats; see
%filetypes in yab2web.)
Limitations
Due to a bug/issue in btOOL, yab2web doesn't work quite right with DOS-style line termination (\r\n). If you notice peculiar behavior (Javascript complaints about non-terminated strings, and/or strange people such as "and Fred Smith" in the author menu), then your BibTeX file might suffer from DOS-style line termination. Try converting your file to Unix-style termination (\n). (For example, in Emacs, use "ctrl-X RET f unix RET".)
The query/filter mechanism seems to work fine in Firefox and MSIE, but I think it doesn't work in Safari and I am not sure about other browsers. I'm working on it! In the meantime, please tell me of any strange behavior you might discover.
Nicholas Kushmerick / 22 May 2005