A command-line interface tool for managing TEI Publisher applications with (https://github.com/eeditiones/jinks)[Jinks].
npm install -g @teipublisher/jinks-cliAfter installation, you can use the jinks command from anywhere in your terminal.
List all installed applications on the server.
jinks listCreate a new application. If no abbreviation is provided, you'll be prompted to enter one.
jinks create my-appOptions:
-s, --server <address>- Server address (default: http://localhost:8080/exist/apps/jinks)-u, --user <username>- Username (default: tei)-p, --password <password>- Password (default: simple)-e, --edit- Use text editor rather than interactive mode-q, --quiet- Do not print banner
Edit an existing application configuration. If no application is provided, you'll be prompted to select from installed applications.
jinks edit my-appOptions:
-s, --server <address>- Server address-u, --user <username>- Username-p, --password <password>- Password-e, --edit- Use text editor rather than interactive mode-q, --quiet- Do not print banner-r, --reinstall- Fully reinstall application, overwriting existing files-f, --force- Ignore last modified date and check every file for changes
Update an existing application. If no application is provided, you'll be prompted to select from installed applications.
jinks update my-appOptions:
-s, --server <address>- Server address-u, --user <username>- Username-p, --password <password>- Password-q, --quiet- Do not print banner-r, --reinstall- Fully reinstall application, overwriting existing files-f, --force- Ignore last modified date and check every file for changes
Get configuration for an application.
jinks config my-appOptions:
-x, --expand- Show the expanded configuration-s, --server <address>- Server address-u, --user <username>- Username-p, --password <password>- Password
Run an action on an installed application. If no action is provided, you'll be prompted to select from available actions.
jinks run my-app reindexOptions:
-U, --update- Perform an update of the application before running the action-s, --server <address>- Server address-u, --user <username>- Username-p, --password <password>- Password
Create a new profile (blueprint, feature, or theme) and save it to a directory. If the resulting package is built (with ant) and installed into the database, it will appear within jinks as a profile users can select to extend.
jinks create-profile my-featureOptions:
-s, --server <address>- Server address-u, --user <username>- Username-p, --password <password>- Password-o, --out <file>- Directory to save the profile configuration to-q, --quiet- Do not print banner
Edit an existing profile configuration.
jinks edit-profile ./my-featureOptions:
-s, --server <address>- Server address-u, --user <username>- Username-p, --password <password>- Password-q, --quiet- Do not print banner
jinks createjinks create my-tei-appjinks editjinks edit my-tei-appjinks update my-tei-app --forcejinks run my-tei-appjinks run my-tei-app reindexjinks create-profile my-feature --out ./my-featurejinks edit-profile ./my-featurejinks list --server http://my-server:8080/exist/apps/jinksThe CLI provides rich interactive features:
- Application Selection: When no application abbreviation is provided, you'll be presented with a list of installed applications to choose from
- Action Selection: When running actions, you can select from available actions if none is specified
- Profile Selection: Interactive checkboxes for selecting features and dependencies
- Conflict Resolution: Automatic detection and resolution of file conflicts during updates
- Dependency Management: Automatic detection and addition of missing dependencies
The CLI connects to a Jinks server running on eXist-db. By default, it connects to:
- Server:
http://localhost:8080/exist/apps/jinks - Username:
tei - Password:
simple
You can override these defaults using command-line options.
When creating profiles, you can choose from three types:
- Blueprint: Base configuration for an application
- Feature: Reusable functionality module
- Theme: Styling and appearance configuration
- Node.js 18.0.0 or higher
- A running eXist-db instance with Jinks installed
GPL-3.0-or-later