Juris-M is a modified version of Zotero, with support for multilingual and legal citation styles.
Zotero is a free, easy-to-use tool to help you collect, organize, cite, and share your research sources.
Please post feature requests or bug reports to the Zotero Forums. If you're having trouble with Zotero, see Getting Help.
For more information on how to use this source code, see the Zotero wiki.
This repository contains the core Juris-M code module, and a test suite to validate that both the original features of Zotero and the extended functionality of Juris-M are working correctly. If you are working with Juris-M code, you will use this repository for two purposes: to build the module for inclusion in a standalone client; and to run the test suite. Procedures for both are outlined below.
Several repositories are needed to build the Juris-M standalone client, so the keep things tidy, create an empty subdirectory, enter it, and clone this respository using commands like the following:
prompt> mkdir jurism-repos
prompt> cd jurism-repos
prompt> git clone --recursive https://github.com/Juris-M/zotero.git
If (as I often do) you forget to include the --recursive
option when cloning, pull in the submodules by entering the repository directory and issuing commands like the following:
prompt> cd jurism
prompt> git submodule init
prompt> git submodule update --remote
The subdirectory will be called "zotero", but it will contain Juris-M source code.
To build the module, you will need to have recent versions of node and npm installed. The versions available through the package manager for your operation system will probably do the job. Once you have npm
installed, set up the dependencies by executing the following command in this directory:
prompt> npm install
After setting up the dependencies, you can build the module with this command:
prompt> node ./scripts/build.js
The script should create a ./build
subdirectory and populate it with the module code.
The test suite was added to the upstream Zotero source repository at the threshold of Zotero 5.0. The tests have been adapted in the Juris-M repository to exercise the extended fields and other features needed to manage multilingual and legal references. Every test should pass.
To run tests, you will need a compatible version of Firefox on your system. The version that you need depends on your operating system.
- Mac: Use an unbranded build of version 54.0
- Linux: Use version 52.0.1esr
- Windows: Use version 52.0.1esr
(I think that these are right. If you have trouble working with any of them, let me know.)
Once you have a suitable Firefox in place, create a file at ./test/runtests-custom.sh
with the following line, adjusting the path to point at the appropriate Firefox in your filesystem:
FX_EXECUTABLE="/path/to/your/firefox"
Enter the ./test
subdirectory, and try a test:
prompt> ./runtests.sh -b notifierTest.js
The first time it is run, the runtests.sh
script will download the pdftools
bundle, after which the test should succeed. For full details on the use of the test runner, run the script with the -h
option:
prompt> ./runtests.sh -h
To build a running standalone client using the module code, you will clone two repositories as siblings (not children) to the jurism
directory:
prompt> git clone --recursive https://github.com/Juris-M/zotero-build.git
prompt> git clone --recursive https://github.com/Juris-M/zotero-standalone-build.git
Build steps must be performed in each of these repositories to yield a client installer. See their respective README
files for details.