zensols.zotsite


Namezensols.zotsite JSON
Version 0.9.1 PyPI version JSON
download
home_pagehttps://github.com/plandes/zotsite
SummaryThis project exports your local Zotero library to a usable HTML website.
upload_time2024-01-02 18:31:35
maintainer
docs_urlNone
authorPaul Landes
requires_python
license
keywords tooling
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Zotsite: A Zotero Export Utility

[![PyPI][pypi-badge]][pypi-link]
[![Python 3.10][python310-badge]][python310-link]
[![Python 3.11][python311-badge]][python311-link]
[![Build Status][build-badge]][build-link]

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](https://plandes.github.io/zotsite/index.html).


## Obtaining

The easist way to install the command line program is via the `pip` installer:
```bash
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](CONTRIBUTING.md).

## 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:

```bash
zotsite print
```

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

```bash
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:

```bash
zotsite export --collection zotsite.conf
```

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

See [usage](doc/usage.md) 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](https://github.com/plandes/zotsite/issues/4) 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:

```bash
Usage: zotsite [list|export|print] [options]:

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

Options:
  -h, --help [actions]                         show this help message and exit
  --version                                    show the program version and exit
  --level X                                    the application logger level, X is one of: debug, err, info, warn
  -c, --config FILE                            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
  -s, --show                                   whether to browse to the created site (needs "pip install zensols.showfile")

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:
* Python 3
* [jQuery] version 3
* [DataTables] version 1.12
* [Bootstrap] version 4
* [Tree View] for Bootstrap
* [Popper] for tooltips
* [Copy to Clipboard] function


## Screenshot

Also see the [live demo].

![Screenshot][screenshot]


## Todo

* Make the site portion a proper Javascript site.  Right now, all the `min`s
  are added in the distribution to same directory as
  the [main navigation/content](resources/site/src/js/zotero.js) 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](CHANGELOG.md).


## Community

Please star this repository and let me know how and where you use this API.
Contributions as pull requests, feedback and any input is welcome.


## License

[MIT License](LICENSE.md)

Copyright (c) 2019 - 2023 Paul Landes


<!-- links -->
[pypi]: https://pypi.org/project/zensols.zotsite/
[pypi-link]: https://pypi.python.org/pypi/zensols.zotsite
[pypi-badge]: https://img.shields.io/pypi/v/zensols.zotsite.svg
[python310-badge]: https://img.shields.io/badge/python-3.10-blue.svg
[python310-link]: https://www.python.org/downloads/release/python-3100
[python311-badge]: https://img.shields.io/badge/python-3.11-blue.svg
[python311-link]: https://www.python.org/downloads/release/python-3110
[build-badge]: https://github.com/plandes/zotsite/workflows/CI/badge.svg
[build-link]: https://github.com/plandes/zotsite/actions
[gitter-link]: https://gitter.im/zoterosite/zotsite
[gitter-badge]: https://badges.gitter.im/zoterosite/gitter.png

[live demo]: https://plandes.github.io/zotsite/demo/index.html
[screenshot]: https://raw.githubusercontent.com/plandes/zotsite/master/doc/snapshot.png

[Zotero]: https://www.zotero.org
[jQuery]: https://jquery.com
[DataTables]: https://datatables.net
[Bootstrap]: https://getbootstrap.com
[Tree View]: https://github.com/jonmiles/bootstrap-treeview
[Popper]: https://popper.js.org
[plugin]: https://www.zotero.org/support/plugins#website_integration
[Copy to Clipboard]: https://ourcodeworld.com/articles/read/143/how-to-copy-text-to-clipboard-with-javascript-easily
[BetterBibtex]: https://github.com/retorquere/zotero-better-bibtex
[configuration file]: test-resources/zotsite.conf
[Python regular expression]: https://docs.python.org/3/library/re.html

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/plandes/zotsite",
    "name": "zensols.zotsite",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "tooling",
    "author": "Paul Landes",
    "author_email": "landes@mailc.net",
    "download_url": "https://github.com/plandes/zotsite/releases/download/v0.9.1/zensols.zotsite-0.9.1-py3-none-any.whl",
    "platform": null,
    "description": "# Zotsite: A Zotero Export Utility\n\n[![PyPI][pypi-badge]][pypi-link]\n[![Python 3.10][python310-badge]][python310-link]\n[![Python 3.11][python311-badge]][python311-link]\n[![Build Status][build-badge]][build-link]\n\nThis project exports your local [Zotero] library to a usable HTML website.\nThis generated website has the following features:\n\n* Easily access your papers, site snapshots, notes from a navigation tree.\n* Provides metadata from collections and attachments (i.e. referenes etc).\n* Display PDF papers and website snapshot (the latter as framed).\n* Search function dynamically narrows down the papers you're looking for.\n* Embed links to a specific collection, article, item, note etc.\n* Export only a portion of your collection with regular expressions using the\n  collection name.\n* [BetterBibtex] integration.\n* Snazzy look and feel from the latest [Bootstrap] CSS/Javascript library.\n\n\n## Documentation\n\nSee the [full documentation](https://plandes.github.io/zotsite/index.html).\n\n\n## Obtaining\n\nThe easist way to install the command line program is via the `pip` installer:\n```bash\npip3 install zensols.zotsite\n```\n\nBinaries are also available on [pypi].\n\n\n## Process\n\nThe tool does the following:\n\n1. Exports the meta data (directory structure, references, notes, etc) from\n   your [Zotero] library.  On MacOS, this is done by querying the file system\n   SQLite DB files.\n2. Copies a static site that enables traversal of the exported data.\n3. Copies your [Zotero] stored papers, snapshot (sites) etc.\n4. Generates a navigation tree to easily find your papers/content.\n\n\n## Sample Site Demonstration\n\nSee the [live demo], which provides a variety of resources found in my own\nlibrary.  *Note:* To my knowledge, all of these resources are free to\ndistribute and violate no laws.  If I've missed one,\nplease [create an issue](CONTRIBUTING.md).\n\n## Requirements\n\n[BetterBibtex] plugin for Zotero.\n\n\n## Usage\n\nThe command line program has two modes: show configuration (a good first step)\nand to create the web site.  You can see what the program is parsing from your\n[Zotero] library:\n\n```bash\nzotsite print\n```\n\nTo create the stand-alone site, run the program (without the angle brackets):\n\n```bash\nzotsite export\n```\n\nIf your library is not in the default $HOME/zotero directory you will need to change that path by making a zotsite.conf config file:\n\n```bash\nzotsite export --collection zotsite.conf\n```\n\nThis will create the html files in the directory ./zotsite\n\nSee [usage](doc/usage.md) for more information.\n\n\n### Configuration File\n\nEither an environment variable `ZOTSITERC` must be set or a `-c` configuration\noption must be given and point to a file to customize how the program works.\nSee the test [configuration file] for an example and inline comments for more\ndetail on how and what can be configured.\n\n\n## Ubuntu and Linux Systems with Python 3.5 or Previous Version\n\nPlease [read this issue](https://github.com/plandes/zotsite/issues/4) if you\nare installing a Ubuntu or any Linux system with Python 3.5 or previous\nversion.\n\n\n## Command Line Help\n\nCommand line usage as provided with the `--help` option:\n\n```bash\nUsage: zotsite [list|export|print] [options]:\n\nThis project exports your local Zotero library to a usable HTML website.\n\nOptions:\n  -h, --help [actions]                         show this help message and exit\n  --version                                    show the program version and exit\n  --level X                                    the application logger level, X is one of: debug, err, info, warn\n  -c, --config FILE                            the configuration file\n\nActions:\nlist                                           list all actions and help\n  --lstfmt <json|name|text>              text  the output format for the action listing\n\nexport (default)                               generate and export the zotero website\n  --collection REGEX                           a regular expression used to filter \"collection\" nodes\n  -o, --outputdir DIR                          the directory to dump the site; default to configuration file\n  -s, --show                                   whether to browse to the created site (needs \"pip install zensols.showfile\")\n\nprint                                          print (sub)collections and papers in those collections as a tree\n  --collection REGEX                           a regular expression used to filter \"collection\" nodes\n```\n\n\n## Attribution\n\nThis software uses:\n* Python 3\n* [jQuery] version 3\n* [DataTables] version 1.12\n* [Bootstrap] version 4\n* [Tree View] for Bootstrap\n* [Popper] for tooltips\n* [Copy to Clipboard] function\n\n\n## Screenshot\n\nAlso see the [live demo].\n\n![Screenshot][screenshot]\n\n\n## Todo\n\n* Make the site portion a proper Javascript site.  Right now, all the `min`s\n  are added in the distribution to same directory as\n  the [main navigation/content](resources/site/src/js/zotero.js) file.\n* Add functionality to the disabled *View* button that drills down in a paper\n  and finds a PDF or site to view withouth the user having to do this.\n* Use something like zotxt to make this work with a plugin rather than directly\n  against the SQLite DB.\n\n\n## Zotero Plugin Listing\n\nThis is listed as a [plugin] on the Zotero site.\n\n\n## Changelog\n\nAn extensive changelog is available [here](CHANGELOG.md).\n\n\n## Community\n\nPlease star this repository and let me know how and where you use this API.\nContributions as pull requests, feedback and any input is welcome.\n\n\n## License\n\n[MIT License](LICENSE.md)\n\nCopyright (c) 2019 - 2023 Paul Landes\n\n\n<!-- links -->\n[pypi]: https://pypi.org/project/zensols.zotsite/\n[pypi-link]: https://pypi.python.org/pypi/zensols.zotsite\n[pypi-badge]: https://img.shields.io/pypi/v/zensols.zotsite.svg\n[python310-badge]: https://img.shields.io/badge/python-3.10-blue.svg\n[python310-link]: https://www.python.org/downloads/release/python-3100\n[python311-badge]: https://img.shields.io/badge/python-3.11-blue.svg\n[python311-link]: https://www.python.org/downloads/release/python-3110\n[build-badge]: https://github.com/plandes/zotsite/workflows/CI/badge.svg\n[build-link]: https://github.com/plandes/zotsite/actions\n[gitter-link]: https://gitter.im/zoterosite/zotsite\n[gitter-badge]: https://badges.gitter.im/zoterosite/gitter.png\n\n[live demo]: https://plandes.github.io/zotsite/demo/index.html\n[screenshot]: https://raw.githubusercontent.com/plandes/zotsite/master/doc/snapshot.png\n\n[Zotero]: https://www.zotero.org\n[jQuery]: https://jquery.com\n[DataTables]: https://datatables.net\n[Bootstrap]: https://getbootstrap.com\n[Tree View]: https://github.com/jonmiles/bootstrap-treeview\n[Popper]: https://popper.js.org\n[plugin]: https://www.zotero.org/support/plugins#website_integration\n[Copy to Clipboard]: https://ourcodeworld.com/articles/read/143/how-to-copy-text-to-clipboard-with-javascript-easily\n[BetterBibtex]: https://github.com/retorquere/zotero-better-bibtex\n[configuration file]: test-resources/zotsite.conf\n[Python regular expression]: https://docs.python.org/3/library/re.html\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "This project exports your local Zotero library to a usable HTML website.",
    "version": "0.9.1",
    "project_urls": {
        "Download": "https://github.com/plandes/zotsite/releases/download/v0.9.1/zensols.zotsite-0.9.1-py3-none-any.whl",
        "Homepage": "https://github.com/plandes/zotsite"
    },
    "split_keywords": [
        "tooling"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "09e66525dffc32302ce145f67fa3367914c4d113250e17354ed99a082c71909b",
                "md5": "dbac3115a56524cfbfc7d35cc0732f1c",
                "sha256": "7bfb5052c11b9dde52194fa44e3489f4c607ae702d5a4c26aeda62c3531fd307"
            },
            "downloads": -1,
            "filename": "zensols.zotsite-0.9.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "dbac3115a56524cfbfc7d35cc0732f1c",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 625529,
            "upload_time": "2024-01-02T18:31:35",
            "upload_time_iso_8601": "2024-01-02T18:31:35.861034Z",
            "url": "https://files.pythonhosted.org/packages/09/e6/6525dffc32302ce145f67fa3367914c4d113250e17354ed99a082c71909b/zensols.zotsite-0.9.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-01-02 18:31:35",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "plandes",
    "github_project": "zotsite",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "zensols.zotsite"
}
        
Elapsed time: 0.17550s