yab2web


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.


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