Zotsite

PyPI Python 3.7 Python 3.8 Python 3.9 Build Status Gitter chat

This project exports your local Zotero library to a usable HTML website. This generated website has the following features:

  • Easily access your papers, site snapshots, notes from a navigation tree.

  • Provides metadata from collections and attachments (i.e. referenes etc).

  • Display PDF papers and website snapshot (the latter as framed).

  • Search function dynamically narrows down the papers you’re looking for.

  • Embed links to a specific collection, article, item, note etc.

  • Export only a portion of your collection with regular expressions using the collection name.

  • BetterBibtex integration.

  • Snazzy look and feel from the latest Bootstrap CSS/Javascript library.

Documentation

See the full documentation.

Obtaining

The easist way to install the command line program is via the pip installer:

pip3 install zensols.zotsite

Binaries are also available on pypi.

Process

The tool does the following:

  1. Exports the meta data (directory structure, references, notes, etc) from your Zotero library. On MacOS, this is done by querying the file system SQLite DB files.

  2. Copies a static site that enables traversal of the exported data.

  3. Copies your Zotero stored papers, snapshot (sites) etc.

  4. Generates a navigation tree to easily find your papers/content.

Sample Site Demonstration

See the live demo, which provides a variety of resources found in my own library. Note: To my knowledge, all of these resources are free to distribute and violate no laws. If I’ve missed one, please create an issue.

Usage

The command line program has two modes: show configuration (a good first step) and to create the web site. You can see what the program is parsing from your Zotero library:

zotsite print

To create the stand-alone site, run the program (without the angle brackets):

zotsite export -o <sitedir>

See usage for more information.

Ubuntu and Linux Systems with Python 3.5 or Previous Version

Please read this issue if you are installing a Ubuntu or any Linux system with Python 3.5 or previous version.

Command Line Help

Command line usage as provided with the --help option:

Usage: zotsite <list|export|print|tmp> [options]

Options:
--version             show program's version number and exit
-h, --help            show this help message and exit
-w NUMBER, --whine=NUMBER
add verbosity to logging
-c FILE, --config=FILE
configuration file
Actions:
export  Export
-o, --outputdir <string>  ./zotsite  the directory to output the website
--collection <string>                regular expression pattern to match collections

print   Print structure
--collection <string>                regular expression pattern to match collections

Attribution

This software uses:

Screenshot

Also see the live demo.

Screenshot

Todo

  • Make the site portion a proper Javascript site. Right now, all the mins are added in the distribution to same directory as the main navigation/content file.

  • Add functionality to the disabled View button that drills down in a paper and finds a PDF or site to view withouth the user having to do this.

  • Use something like zotxt to make this work with a plugin rather than directly against the SQLite DB.

Zotero Plugin Listing

This is listed as a plugin on the Zotero site.

Changelog

An extensive changelog is available here.

License

MIT License

Copyright (c) 2020 Paul Landes