Documentation

To use BibBase for your publications you will need to figure out two things:
  1. How you want to manage your publications, the options being via a BibTeX file, using Zotero, using Mendeley, or simply using DBLP. For this please see the options on the homepage.
  2. How to embed your BibBase page into your homepage. This is what this page will help you accomplish.
Alternatively you can also choose to host your website on BibBase directly, in which case the embedding is extremely easy since it will be all done by point-and-click using our website editor. If this interest you you can get started by creating a free account and designing your website right away. You will only need to sign up for one of our premium plans once you want to publish your page.

How do I embed my BibBase page in my homepage or another page?

There is a number of ways to use BibBase to display your publications on your web page. But as of recently, using a javascript script tag is by far the easiest.
  1. Embedding into an existing HTML file using JavaScript: Easiest and now recommended.
    Simply insert the following in the HTML file in the desired location:
     <script src="https://bibbase.org/show?bib=[URL-OF-BIBTEX-FILE]&jsonp=1"></script> 

    Pros: extremely easy to set up, full control of where your publications appear on your homepage; the format conforms with the rest of the page; as of recently supported by Google.
    Cons: none.

  2. Embedding in another page using PHP:
    If your webserver runs PHP and it does not prohibit the use of file_get_contents (you will notice if it does), then this is best option and embedding BibBase in your homepage is very easy:
    1. Rename your current homepage, say index.html, to have the .php extension, say index.php
    2. In index.php put the following snippet wherever you want your publications to appear:
       <?php $contents =
                    file_get_contents("https://bibbase.org/show?bib=[URL-OF-BIBTEX-FILE]");
                    print_r($contents); ?> 
      Where the bibtex URL should again be set according to what you have decided in your first setup step.
  3. Pros: pretty easy to set up, full control of where your publications appear on your homepage; the format conforms with the rest of the page; search-engine friendly.
    Cons: Not an option if PHP is not supported of the server has file_get_contents disabled.


  4. Embedding in another page using server-side includes:
    This method is more advanced. It requires your server to support CGI (Perl) and server-side-includes (most servers do).
    1. Download bibbase_proxy2.cgi -- you will need to right-click it and choose "Save Link As" (or similar).
      • This file is required in order to allow your web page to request pages from bibbase.org for embedding in other pages. All this script does is to request the page you saw in the first method from bibbase.org. This page is then embedded in the page of your choice, see below
    2. Place it in your cgi-bin directory.
    3. Edit the HTML file in which you would like your publications to be embedded and add the following line at the desired place:
      <!--#include virtual="URL-TO-CGI-BIN/bibbase_proxy2.cgi?bib=[URL-OF-BIBTEX-FILE]" -->
      changing the path to your cgi-bin folder and your bibfile-URL according to your setup. You can add additional BibBase options to this URL if you want to further customize your page (see table below).
    4. Rename the file to [something].shtml, so the server knows that it has to parse the file and interpret the include expression before displaying it. You can call it index.shtml if you want to use it as your main page, in which case the URL to visit does not need to specify the filename (example.com/instead of example.com/something.shtml).
    Trouble Shooting:
    • You may need to create a .htaccess file in the same directory as the .shtml and/or add Options +Includes to it. This enables server-side includes in this directory.
    • Make sure bibbase_proxy2.cgi is executable by the web server. On a Unix/Linux server you can ensure that by executing: chmod a+x bibbase_proxy2.cgi.

    Pros: full control of where your publications appear on your homepage; the format conforms with the rest of the page; search-engine friendly.
    Cons: more complex set-up; some servers don't allow server-side-includes.

  5. Embedding as an iFrame: (Not Recommended)
    <iframe src="https://bibbase.org/show?bib=[BIBTEXFILE]"></iframe>

    Pros: easy to set up.
    Cons: most search engines will consider the frame to be independent of your homepage and hence will not link to your homepage for search results that regard your publications, but will instead link directly to your publications (BibBase page).

Options

As you have probably seen by now, visitors to your page can customize the way your publications are displayed. In order to set a default, you can use additional parameters. These can be used by appending any number of terms &[option]=[value] to the URL, where the options are as follows:
OptionValuesDescription
group0, group1, ..any bibtex-field, e.g. yearOrganize the list in groups, e.g. by the same year. The number indicates the level. E.g.: group0=year. You can use any bibtex field for grouping, not just the ones showing up in the dropdown. As a special case, use groupby= (with no value) to disable grouping. This can be useful together with sort.
filter{'bibfield:regex{,bibfield:regex}'}Only show publications matching all the provided filters, i.e., whose values for the specified fields in the bibtex match the respective regular expressions, e.g.:
  • filter=authors:Chi\b will only show publications that include an author with name "Chi". The \b ensures that names that just have "Chi" as a prefix (like Chien) will not match.
  • filter=type:article,year:(201.|202.) will only show journal articles since 2010
folding1 or 0Fold / Unfold everything. Default: 0 (unfold everything).
cssURL to CSS fileUse a specific CSS style file for displaying the page. This option is mainly relevant when not using the embedded approach described above. When you do use the embedded method, this field will merely indicate whether or not the surrounding page defines a CSS style or not (in which case BibBase will not interfere with that). The possible ways in which CSS can be used to customize the appearance of your page is best described by this example CSS file, which defined the default style for the latest version of BibBase (v3): bibbase.org/css/styles/default.css.
themedefault dividers side simple bullets Specify the theme to use (default = "default"). Use this option if you want to use one of the predefined styles in an embedded page, rather than using the default or creating your own CSS.
authorFirst1List authors before titles. Example
nocache1If present, BibBase will ignore any cached results and will re-retrieve the source data (bibtex file). This is mostly useful for debugging.
fullnames1 or 0 (default = 0)If present, author and editor names will not be abbreviated.
ownerundefined (default), none, or lastnameWhether the page belongs to a specific author or not. If left undefined, i.e., not specified, BibBase will guess the owner of the page automatically as described below. If set to none, the page will not be assigned to any author (and any existing association will be removed). To force the owner to be a specific author (who must appear in the list of publications), you can specify his or her lastname, or a regular expression to match their "short name", which is "lastname, first-initial", e.g., "einstein, a".
sortundefined (default), field name

Sort order for publications within each group. If not specified, then BibBase will render the publications in the order they appear in the source (e.g., the bibtex file). Valid field names include the fields that appear in the source entries, with the exception of author. To sort by author, i.e., alphabetically by the lastname of the first author, please use author_short. Other valid and useful fields include title, key (the bibtex key), andtype (e.g., "InProceedings").

The sort order can be reversed by prefixing the field name with a minus sign. For instance, -year will sort in reverse numerical order by year. This example only makes sense when not already grouping by year, e.g. groupby=author_short&sort=-year.

How do I add links to my papers (PDFs, etc.)?

This depends on the method you are using to get/maintain your BibBase page:
  • BibTeX: with this method you have the most control by far. To add links to any additional content, just add fields to your bibtex file that start with url. The remainder of the field name will be used as link description or, when using a theme that shows links as icons instead of text, as the icon tool-tip. Underscore characters (_) will be removed. If the field value is a relative URL (does not start with a protocol specification, e.g., http://), then it is interpreted as relative to the location of your bibtex file.

    For instance: The following bibtex entry specifies two relative files, a paper (pdf) and slides (PowerPoint), as well as a link to a publisher's page.

    
            @InProceedings{ gau-hum-1830,
              author =       {Gauss and Humboldt},
              title =        {Measurements of the world},
              booktitle =    {Proceedings of the Conference that never happened},
              year =         {1830},
              note =         {To appear.},
              url_Paper =    {mypdfs/gau-hum-1830.pdf},
              url_Link =     {http://example.com/1830/measurements-of-the-world.html},
              url_Slides =   {talks/gau-hum-1830.ppt}
            }
    Alternatively, you can use this space-separated format:
    url = { Paper=mypdfs/gau-hum-1830.pdf Link=http://example.com/1830/measurements-of-the-world.html Slides=talks/gau-hum-1830.ppt}
    This is particularly useful when using Zotero, which only supports a single url field.
  • Zotero, Mendeley: These services allow you to store your papers on their site. BibBase will add links to you publications to make these papers available. Note however that Mendeley has recently started restricting this access more, which means that some papers are only available to logged-in users.
  • DBLP, BibSonomy: In many cases these services already include links to freely available copies of your papers, and to publisher sites. If you want to add additional files/links, you are best advised to just download the resulting bibtex file from the BibBase drop-down menu, and then use the bibtex-method described above.

Can I add an abstract and keywords to my publications?

Yes you can! Use the special field abstract to include your abstract which will be displayed as a folded section underneath your publication.

Similarly, you can use the keywords field to provide a list of comma-separated keywords.

How does BibBase work?

This section describes the sequence of communications between the browser of a visitor to your site (Browser), your server, and BibBase.org. The sequence is slightly different depending on how you chose to embed your publications in your page.

Embedding using JavaScript

BibBase's JavaScript control flow

Embedding using PHP or server-side includes

The following diagram depicts the data flow between the browser of visitors to your site (Client), your web server (Server), and the BibBase.org server (BibBase.org).
BibBase's control flow

Styling with CSS

With CSS users have a versatile mechanism for changing the appearance of your BibBase page. In the majority of cases when someone asks us whether some for of customization is possible with BibBase, the answer is "yes, with CSS".

Here are some commonly requested styling features, all of which can be accomplished by adding the appropriate CSS specifications to your page.

Changing the Description of Bibtex Types

By default, when sorting a BibBase page by type, you see the types that are used by Bibtex, i.e., article, inproceedings, etc. However, many people prefer to call these things by other names, such as "Journal Articles", and "Conference Papers". This can be accomplished by adding the following directives to your CSS file:
#group_article div.bibbase_group i+span { display: none; }
#group_inproceedings div.bibbase_group i+span { display: none; }
#group_mastersthesis div.bibbase_group i+span { display: none; }
#group_phdthesis div.bibbase_group i+span { display: none; }
#group_techreport div.bibbase_group i+span { display: none; }
#group_unpublished div.bibbase_group i+span { display: none; }
#group_incollection div.bibbase_group i+span { display: none; }

#group_article div.bibbase_group i:after { content: " Journal Articles" }
#group_inproceedings div.bibbase_group i:after { content: " Conference and Workshop Publications" }
#group_mastersthesis div.bibbase_group i:after { content: " Master's Thesis" }
#group_phdthesis div.bibbase_group i:after { content: " PhD Thesis" }
#group_techreport div.bibbase_group i:after { content: " Technical Report" }
#group_unpublished div.bibbase_group i:after { content: " Unpublished" }
#group_incollection div.bibbase_group i:after { content: " In Collection" }