Juris-M is a modified version of Zotero, with support for multilingual and legal citation styles.
From the Zotero README
Zotero is a free, easy-to-use tool to help you collect, organize, cite, and share your research sources.
For more information on how to use this source code, see the Zotero wiki.
About this repository and its friends
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.
Cloning the repository
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:
./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
prompt> ./runtests.sh -h
Building the standalone client
To build a running standalone client using the module code, you will clone two repositories as siblings (not children) to the
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.