All Projects → davidswelt → Zot_bib_web

davidswelt / Zot_bib_web

Create interactive web bibliographies based on Zotero collections

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Zot bib web

Contentify
Contentify is an esports CMS based on the PHP framework Laravel
Stars: ✭ 189 (+90.91%)
Mutual labels:  cms, website
Webjike
小呆导航 - 可自定义的简洁网址导航
Stars: ✭ 319 (+222.22%)
Mutual labels:  cms, website
Wuzhicms
2017.9.1 五指cms 4.1.0正式版发布了!更多惊喜请下载安装。网站管理系统,网站内容管理系统,php5+mysql开发。
Stars: ✭ 202 (+104.04%)
Mutual labels:  cms, website
Pluxml
PluXml, Moteur de Blog et CMS à l'XML sans base de données
Stars: ✭ 168 (+69.7%)
Mutual labels:  cms, website
Bludit
Simple, Fast, Secure, Flat-File CMS
Stars: ✭ 824 (+732.32%)
Mutual labels:  cms, website
Grav
Modern, Crazy Fast, Ridiculously Easy and Amazingly Powerful Flat-File CMS powered by PHP, Markdown, Twig, and Symfony
Stars: ✭ 13,067 (+13098.99%)
Mutual labels:  cms, website
Grav Plugin Admin
Grav Admin Plugin
Stars: ✭ 316 (+219.19%)
Mutual labels:  cms, website
Seblod
Build high-end websites with SEBLOD®, a CCK for Joomla!
Stars: ✭ 109 (+10.1%)
Mutual labels:  cms, website
Htmly
Simple and fast databaseless PHP blogging platform, and Flat-File CMS
Stars: ✭ 689 (+595.96%)
Mutual labels:  cms, website
Pagekit
Pagekit CMS
Stars: ✭ 5,455 (+5410.1%)
Mutual labels:  cms, website
Spina
Spina CMS
Stars: ✭ 1,926 (+1845.45%)
Mutual labels:  cms, website
Autocms
AutoCms is a simple solution for your Meteor.js app
Stars: ✭ 34 (-65.66%)
Mutual labels:  cms, website
Typemill
TYPEMILL is a simple and lightweight Flat-File-CMS for authors and publishers.
Stars: ✭ 150 (+51.52%)
Mutual labels:  cms, website
Elefant
Elefant, the refreshingly simple PHP CMS and web framework.
Stars: ✭ 188 (+89.9%)
Mutual labels:  cms, website
Cms
MaxSite CMS
Stars: ✭ 123 (+24.24%)
Mutual labels:  cms, website
S Cart
This project has been replaced by https://github.com/s-cart/s-cart
Stars: ✭ 258 (+160.61%)
Mutual labels:  cms, website
Thunder Distribution
A Drupal 8 based platform for professional publishers
Stars: ✭ 107 (+8.08%)
Mutual labels:  cms, website
Pico
Pico is a stupidly simple, blazing fast, flat file CMS.
Stars: ✭ 3,494 (+3429.29%)
Mutual labels:  cms, website
Base
Multilingual CMS built with Laravel.
Stars: ✭ 949 (+858.59%)
Mutual labels:  cms, website
Getkirby.com
Source code and content for the Kirby website
Stars: ✭ 57 (-42.42%)
Mutual labels:  cms, website

Interactive web bibliographies with Zotero

Example Installations

Lab website at Penn State <http://acs.ist.psu.edu/wp/pub/>__

Personal website <http://david-reitter.com/pub/>__

Documentation

http://zot-bib-web.readthedocs.io/

Author/Contact:

David Reitter -- [email protected] http://www.david-reitter.com

Features

This tool generates interactive web bibliographies based on one or more collections in a Zotero repository. Collections can be maintained by groups of people, using Zotero's web interface or their desktop applications.

Bibliographies can be ordered by collection, by publication year, or by publication type (e.g., journal articles first), are interactively searchable, can be linked to PDF documents or other URLs, have records for BibTex, EndNote and Wikipedia, and can be exported to HTML or pushed to a Wordpress database.

Zot_bib_web does not depend on any third-party web server. The generated bibliographies load quickly because they are stored as static files along with the rest of your website. This makes a good source for webcrawlers, including Google Scholar and CiteSeer.

Setup is easy for anyone who runs their own website and knows how to use a command line (shell). The easiest way to use it is to call zot.py with the key of a public Zotero collection. It will make a zotero-bib.html file. Copy this, along with the "site" and "files" (if any) directory to your webserver.

Demo

  • View the HTML files in the demo folder for some examples of bibliographies. Their respective settings files and CSS style files are included.

  • Run::

    ./zot.py --settings demo/settings3.py

    to see it in action.

License and Donations

  • Use and modify this software free of charge.

  • No warranty is provided whatsoever.

  • Please e-mail [email protected] a link to the bibliography on your website if you decide to use zot_bib_web.

  • You may use this software for free.

Requirements

  • Python 2.7 or 3.6+

  • Pyzotero. To install Pyzotero, a library for python::

    sudo pip install pyzotero
    

    or::

    sudo easy_install pyzotero
    
  • A Zotero collection with your bibliography (as user or as group)

  • Optional: dateutils package for Python (improves date parsing if present)

Setup

  • Ensure zot.py is executable (chmod ug+x zot.py)

  • Try it out. From a unix-like command-line, do this::

    ./zot.py --group 160464 DTDTV2EP
    

Then view zotero-bib.html in a browser. If that looks good, move on to the next steps for configuration.

  • In a new file called settings.py, add configuration as documented in the file settings_example.py. Go to zotero.org to get your API secret key and your user or library IDs. It's easy: see the top of settings.example.py for details. If settings.py is set up, you can call zot.py without arguments.

Alternatively, you can use give the primary settings in arguments to the program.

Bibliography in Zotero

  • With Zotero, create a bibliography and note its ID (e.g., from the URL in the Zotero web interface). Example: MGID90AT. This ID is what you need for the "toplevelfilter" variable in settings.py.

  • You can add sub-collections to your bibliography.

  • If you format ordered by collections, giving them an order may be helpful. You can name collections starting with a number: "10 Social Psychology".

Here's an example of a bibliography structure::

My Publications [MGID90AT]
10 Selected Works
15 In Preparation / Under Review
20 Refereed Works by Topic
    Semantics
    Parsing
    Dialogue
    Machine Learning
30 Theses
40 Talks (Without Paper)

To see this, use the provided settings.py as an example.

Overview of Configuration options

  • Configuration takes place in a settings file, by default named settings.py.

  • Call ./zot.py --help to see a list of command-line options.

  • Please refer to the documentation for information on the settings file, or read settings_example.py. A few options are discussed in the following.

  • You can order our bibliography by sub-collection, by year, or by publication type (e.g., journal articles first, then conference papers). Even within the higher-level categories you can sort your bibliographic entries as you wish. Use the "sort_criteria" and "show_top_section_headings" settings.

  • You can choose a different formatting convention. Default is APA format.

  • At the top, a search box and a set of shortcuts may be displayed: for example, several years or spans of years, publication types, or subcollections that indicate topic areas. A visitor may click on these to quickly filter the bibliography.

  • Configure the shortcuts shown at the top using the show_shortcuts variable. 'collection', 'type', 'year', 'venue', 'venue_short', and 'tags' are supported values, in addition to more fine-grained lists of values you can create using the shortcut() function. You can give the list of values or ranges (for years), their order, and some filtering to only show the most common ones. See settings.example.py for a detailed example.

  • There are several more options. Again, see settings_example.py.

Deployment to a web site

  • Upload the site folder or its contents to a public place on your web server. By default, /site/... is the assumed URL.

To generate HTML and include it in a website:

  • run zot.py once/on demand, or install as cron job or service on a server Do not run it more than once a day. Configure it directly in zot.py, or in a separate file settings.py to make upgrading simple.

  • include the resulting file zotero-bib.html (or as configured) in your website as you see fit. You may also include individual collection files, which are also generated. You can configure zot.py to generate a complete HTML document, or just a portion of it. Zot_bib_web generates HTML5 content.

  • Style your bibliography using CSS. An example style file is included (see site/ directory).

Wordpress Support

This package can push directly to a Wordpress site. A separate program "push.py" is included to do this.

Follow these steps:

  1. Set up zot.py to generate a bibliography you like. Call zot.py --full to generate a complete zotero-bib.html file for debugging purposes. Configure settings.py to not generate the full HTML code.
  2. Install the wpautop-control plugin (or a similar plugin) to make sure that WP will not insert paragraph breaks at various places in the bibliography. With this plugin, you will need to add a "custom field" to the page created in the next step (Choose "Screen Options" at the top of the page view, enable custom fields. Then find custom fields at the very bottom of the page and add a "wpautop" field with value "no".
  3. Create a WP page or a post for the bibliography. Insert [zot_bib_web COLLECTION] where you'd like the bibliography inserted. Replace COLLECTION with the ID of the collection. (More options: see push.py)
  4. Copy the style sheet contents (in site/) to your Wordpress theme (select "editor", or "Additional CSS").
  5. Configure settings.py so that jquery and other files are available on the web server. Typically, this would be jquery_path = "../wp-includes/js/jquery/jquery.js" clipboard.js and clippy.svg: You may refer to a public URL or serve the files yourself.
  6. Configure push.py (at the top). You will need to know a few simple details about your WP installation.
  7. Run push.py regularly or on demand. It will call zot.py automatically and then update the page in WP.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].