Juris-M / zotero

Juris-M is a variant of the free and friendly Zotero research platform, with support for legal and multilingual materials.
https://juris-m.github.io
Other
78 stars 12 forks source link

Juris-M

Build Status

Juris-M is a modified version of Zotero, with support for multilingual and legal citation styles.


From the Zotero README

======= Zotero

CI

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.


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.

node dependencies

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.

Running tests

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.

(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

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 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.