• Stars
    star
    259
  • Rank 157,669 (Top 4 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created over 6 years ago
  • Updated 12 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Export Zotero to a stand-alone web site

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

More Repositories

1

clj-nlp-parse

Natural Language Parsing and Feature Generation
Clojure
34
star
2

mark-thing-at

Mark a pattern at the current point.
Emacs Lisp
13
star
3

clj-example-nlp-ml

Example Project for Natural Language Processing and Machine Learning Libraries
Clojure
13
star
4

bshell

Manage and track multiple shells in Emacs buffers.
Emacs Lisp
11
star
5

flex-compile

Run, evaluate and compile functionality for a variety of different languages and modes.
Emacs Lisp
10
star
6

todo-task

A Supervised Approach To The Interpretation Of Imperative To-Do Lists
Clojure
10
star
7

cisql

SQL Command Line Interface (ciSQL)
Clojure
10
star
8

mednlp

Medical natural language parsing and utility library
Python
9
star
9

deepnlp

Deep learning utility library for natural language processing
HTML
9
star
10

buffer-manage

Provides support to manage Emacs buffers of any kind.
Emacs Lisp
7
star
11

clj-ml-model

Interface for Machine Learning Modeling
Clojure
6
star
12

clj-py4j

Python to Clojure Bridge using a Py4J Gateway
Clojure
6
star
13

cframe

Allows for customization of frame types, which includes height and width of new Emacs frames
Emacs Lisp
5
star
14

markdown-changelog

Create and maintain changelogs.
Emacs Lisp
4
star
15

choice-program

Invoke Programs With Choice Options
Emacs Lisp
4
star
16

synconf

Synchronize disconnected directories (i.e. laptops, USB memory pens).
Perl
4
star
17

nlparse

Natural language processing parsing and tool library
Python
4
star
18

ngramdb

Create an SQLite database from the Google ngrams database.
Python
3
star
19

zenbuild

Tools, configuration files and utilities for building, installing and deploying projects
Makefile
3
star
20

icsql

This library provides an Emacs SQL mode integration to the ciSQL program
Emacs Lisp
3
star
21

clj-filedup

Find Duplicate Files by Content
Clojure
2
star
22

util

Command line, configuration and persistence utilities
Python
2
star
23

clj-nlp-feature

Natural Language Feature Creation
Clojure
2
star
24

deep-qa-rank

Deep learning implementation of question/answer for information retrieval.
Python
2
star
25

deeplearn

General deep learning tools
Python
2
star
26

grsync

Synchronize and manage multiple GitHub repositories
Python
1
star
27

clj-ml-dataset

Generate, split into folds or train/test and cache a dataset
Clojure
1
star
28

pomdp-graph

Create a visual graph of the output of the cassandra pomdp-solver.
Clojure
1
star
29

rbak

Mount file systems and backup directories
Python
1
star
30

medaCy_bertcrf_model_clinical_notes

Clinical Notes Model for medaCy (BERT)
Python
1
star
31

mimicsid

MIMIC-III corpus parsing and section prediction with MedSecId (COLING paper)
Python
1
star
32

mimic

MIMIC III Corpus Parsing
Python
1
star
33

spanmatch

Unsupervised Position-Based Semantic Matching
Python
1
star
34

pomdp-solver

POMDP Solver Updates
C
1
star
35

dsprov

Provenience of discharge summaries Pythonic access (BioNLP paper)
Python
1
star