The first two point might be possible with \nocite{*} and latex2html but the third point might be trickier. I wonder if you can \includegraphicsjust the first page of a pdf...
–
SeamusJun 29 '11 at 18:29

To include just the first page of a pdf, you can use \usepackage{pdfpages} and then \includepdf[pages=1]{file.pdf}. But how would you get access to the filename of the pdf on your hard disk?
–
Sebastian BuschJun 30 '11 at 8:27

Comment on the previous comments (@Sebastian and @Seamus). It might be possible to "prepare" the latex document by inserting carefully tailored tags in the text of the bibliography, that a second process would use to generate the final document. Which process I have no idea.
–
MartiganJun 30 '11 at 13:30

5 Answers
5

JabRef seems to have an export function and also supports HTML as export format. According to their homepage it is even possible to write those export filters yourself, or changing an existing one to your needs. But I have to admit that I've never used those functions of JabRef myself. I can imagine that your last point is nonetheless not a trival task.

The LaTeX Source File

Next is the portfolio.tex file, in which I set up a hook at every bibliography item to include the first page of the file pointed to by usera. I've also added a bibmacro called string+hyperlink, to make the publication title link to the url or doi field if these are available, as shown in this answer.

tex4ht Configuration File

I then set up a tex4ht personal configuration file, called portfolio.cfg. It contains some simple CSS, and tells tex4ht to convert the first page of the local PDFs into PNGs using ghostscript. (So you will need to have ghostscript installed for this to work.)

I wrote some simple Python scripts that generate CSS-friendly HTML. The scripts use the Python module bibliograph to parse bibtex entries. I could instead use bibtex2html. I like my solution better because the customization is all done using CSS rather than Python, so I can change the look without re-generating the HTML. Of course, bibtex2html is a more polished and flexible tool than my 30-line script.
Here's a CSS snippet that's used for this publication list: