Skip to main content

This project exports your local Zotero library to a usable HTML website.

Project description

Zotsite: A Zotero Export Utility

PyPI Python 3.9 Python 3.10 Build Status

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.

Requirements

BetterBibtex plugin for Zotero.

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

If your library is not in the default $HOME/zotero directory you will need to change that path by making a zotsite.conf config file:

zotsite export -c zotsite.conf

This will create the html files in the directory ./zotsite

See usage for more information.

Configuration File

Either an environment variable ZOTSITERC must be set or a -c configuration option must be given and point to a file to customize how the program works. See the test configuration file for an example and inline comments for more detail on how and what can be configured.

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] [options]:

This project exports your local Zotero library to a usable HTML website.

Options:
  -h, --help                       show this help message and exit
  --version                        show the program version and exit
  --level X                        the level to set the application logger,
                                   X is one of: debug, err, info, warn
  -c, --config FILE                the path to the configuration file

Actions:
list                               list all actions and help
  --lstfmt <json|name|text>  text  the output format for the action listing

export (default)                   generate and export the zotero website
  --collection REGEX               a regular expression used to filter "collection" nodes
  -o, --outputdir DIR              the directory to dump the site; default to configuration file

print                              print (sub)collections and papers in those collections as a tree
  --collection REGEX               a regular expression used to filter "collection" nodes

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) 2019 - 2022 Paul Landes

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

zensols.zotsite-0.6.0-py3.10.egg (649.1 kB view details)

Uploaded Egg

zensols.zotsite-0.6.0-py3-none-any.whl (625.1 kB view details)

Uploaded Python 3

File details

Details for the file zensols.zotsite-0.6.0-py3.10.egg.

File metadata

  • Download URL: zensols.zotsite-0.6.0-py3.10.egg
  • Upload date:
  • Size: 649.1 kB
  • Tags: Egg
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.2

File hashes

Hashes for zensols.zotsite-0.6.0-py3.10.egg
Algorithm Hash digest
SHA256 d9c99da779d9d4b605018ef0e93c99a854875d59b0f7dd66c24ee0b4f221ecb7
MD5 ba717bee8d37ed4ce0f14f406f6f8d30
BLAKE2b-256 c930d17555126f99e5d18a8cd397053d080230e50728587fc78c7a3807040301

See more details on using hashes here.

File details

Details for the file zensols.zotsite-0.6.0-py3-none-any.whl.

File metadata

File hashes

Hashes for zensols.zotsite-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 be090c9fae6dd3d0f4d31b5b27a5129094f6bc48492d3b775dc3795e85a4c3a4
MD5 6882170acc5f3747a27fe38892586a45
BLAKE2b-256 ece5a01e94f4bbc881ffa6dbd8beee135fbe81fcfcb9e83c3c5d0459ee3f26e4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page