Bebop - BibTeX publisher




Bebop provides a nice web interface to a list of publications stored in a BibTeX file.

Table of Contents

Features

  • based on a single BibTeX file as database
  • listing by year, author, document type, keywords, research area
  • search in document titles
  • generation of keyword cloud (see an example)
  • displaying abstract, BibTeX and links to DOI, full text, slides, poster files
  • exporting to BibTeX
  • RSS feed of the publication list
  • unAPI support, zotero compatibility
  • adding new publications online (either by BibTeX code or by filling in specific fields)
  • better user experience with AJAX
  • permanent links to publications and categories
  • easily embedable into personal websites and CMS-based websites

Internals

Bebop uses j4bib to convert the BibTeX file into XML format. The web interface is built on top of the XML data to provide an easy navigation of publications.

+-------------------+      +-----------+     +------------+     +-----------+     +------------------------+
| {d}               |      | cBLU      |     | {d}        |     | cBLU      |     | {d}                    |
| your-bib-file.bib +----> | bib2xml   +---->| bibtex.xml |---->|   Bebop   |---->| your publications page |
|                   |      |-----------|     |            |     |           |     |                        |             
+-------------------+      | j4bibplus |     +------------+     +----+------+     +------------------------+
                           |-----------|
                           | j4bib     |
                           |-----------|
                           | JLex/CUP  |
                           +-----------+

Sites using Bebop

It is usable by anyone who keeps the list of their publications in BibTeX form. Installation takes 1 minute. Please drop an e-mail with your website if you use Bebop.

Download

Bebop for quick start: latest tar.gz

or

Get the sources directly to your web server from the github project page:

git clone https://github.com/golkentli/bebop.git

Quick start Guide

Requirements

Bebop requires a web server with a Java runtime(version >= 1.5) and PHP5 (with xml and xsl modules). To check the PHP requirements, create a phpinfo.php file on your server with the following content and view it on your browser. You should check that xml and xsl modules exist and are enabled. In major Linux distributions, you can get these modules by installing php-xml and/or php-xsl packages via the package manager.

<?php
phpinfo();
?>

For the proper viewing of publications, the client is required to have a Javascript enabled web browser (e.g. Firefox, Opera, Safari, IE, Chrome).

Steps

Bebop is platform independent. However the installation steps below apply to Unix-based machines.

  • Unzip the tar.gz file in your web server. One way of doing this is as follows:
cd ~/public_html
wget https://github.com/golkentli/bebop/tarball/master --output-document=bebop.tar.gz
tar xvf bebop.tar.gz
mv golkentli-bebop-xxx bebop
cd bebop

(Now you are in the Bebop home directory)

  • Create a user.conf.inc.php file by copying bebop.conf.inc.php file.
cp bebop.conf.inc.php user.conf.inc.php
  • Modify the mandatory and optional parameters in user.conf.inc.php file.
  • Modify the JAVA_HOME variable in Makefile to point to your server's Java bin folder (e.g., /usr/bin, /opt/jdk1.6.013/jre/bin).
  • Copy/create your bibtex.bib file inside the Bebop home folder. (an example bibtex.bib).
  • Create bibtex.xml by issuing make
make
  • If you want to use addpub.php to add publications via an online form, make sure that you secure access to addpub.php and uploadpub.php (e.g. using .htaccess file in Apache). If not, make sure that you delete these two files or change their permission properly (as not readable by the web server, e.g. chmod 400 addpub.php, chmod 400 uploadpub.php)
  • That's all. Point your web browser to the URL of Bebop directory (e.g. http://yourdomain.com/bebop/index.php).

ChangeLog

Latest version

  • New features
    • added searching capability in titles of the publications (code contributed by E. Kuthe).
    • added support for proper display of special (non-ASCII) characters. e.g. \"{u} is displayed as ü. (suggested by J. Pfister)
    • new menu_style configuration parameter that allows horizontal display of publication filters.
    • added show all to the by author menu that lists all the authors.
  • Fixes
    • document type category Book/Book chapter is separated to Book chapter and Book
    • fixed improper handling of incollection BibTeX entry type.
    • enhancements with respect to better integration with users' existing webpages or 3rd party CMS.
    • added missing category images for patent and misc types.

1.1 (release date: 2009-11-10)

  • New features
    • allows uploading full text documents of publications on the Bebop server (suggested by F. Diehl).
    • displays total number of publications at any given page.
  • Fixes
    • incorporates code from T. Durduran for generating year array given $START_YEAR as configuration parameter.
    • document type category Journal/Conference paper is separated to Journal article and InProceedings/Talk (suggested by T. Durduran).
  • Upgrading from 1.0 to 1.1
    (backup your bebop folder)
    # mv bebop bebop-1.0
    (extract new version as the new bebop folder)
    # tar xvf bebop-1.1.tar.gz
    (Copy the customized files from previous version.)
    # cp bebop-1.0/bibtex.bib bebop/ 
    # cp bebop-1.0/Makefile bebop/
    # cp bebop-1.0/user.conf.inc.php bebop/
    # cp bebop-1.0/copyright.php bebop/
    (Create bibtex.xml)
    # cd bebop
    # make clean
    # make
    (check whether everything works, if so, remove previous version.)
    # rm -rf ../bebop-1.0
    

    Secure access to addpub.php and uploadpub.php as you previously did for addpub.php.

1.0 (release date: 2009-07-29)

  • Features
    • based on a single BibTeX file as database
    • listing by year, author, document type, keywords, research area
    • generation of keyword cloud (see an example)
    • displaying abstract, BibTeX and links to DOI, full text, slides, poster files
    • exporting to BibTeX
    • RSS feed of the publication list
    • unAPI support, zotero compatibility
    • adding new publications online (either by BibTeX code or by filling in specific fields)
    • better user experience with AJAX
    • permanent links to publications and categories

Embedding Bebop to your own website

  • Include bebop.php from within your own PHP file, e.g., publications.php (In the instructions below, your PHP file will be refered as the including php file).
<?php
   chdir("bebop/");
   include "bebop.php";
   chdir("../");
?>

The argument to the first chdir() (change directory) is the relative path to the Bebop directory from the including php file. The argument to the second chdir() is the reverse path.

<link rel="unapi-server" type="application/xml" title="unAPI" href="BEBOP_HOME/unapi.php" />
<link href="BEBOP_HOME/site.css" rel="stylesheet" type="text/css" /> 
<script id="bebopjs" src="BEBOP_HOME/ajax.js" type="text/javascript"></script>

License

Bebop is licensed under the modified BSD license.

Credits

Bebop and its subpackages (j4bib, j4bibplus and bib2xml) are written by Onur Derin and Kuntal Roy.

HTML generated by org-mode • rssvalid xhtmlvalid csscc by sa 3.0 unless stated otherwise.