Skip to content

Switch to Apache Velocity for Custom Layouts #12418

@koppor

Description

@koppor

Context

Our layout files are very strange.

Tasks

Steps:

  1. Define new template format (based on Apache Velocity)
  2. Implement a template for a simple example
  3. Call the template in JabRef (includes JUnit test cases)
  4. Iterate steps 1 to 3 until a "good" template language is there
  5. Choose a larger example (e.g., convert BibTeX to JSON, manually port existing .layout files)

If possible:

  1. Define a converter of existing .layout files to the new format (can be called via the command line)
  2. Convert all existing layouts to the new format
  3. Delete the old layout formats

Variants

We could keep both the new engine and the old engine in JabRef and gradually migrate to the new one.

Background/Links

ADR-039 result: use Velocity - see https://github.com/JabRef/jabref/blob/main/docs/decisions/0039-use-apache-velocity-as-template-engine.md

Check whether we could switch to some other export engine. Apache Velocity, yeoman-based, ...

See https://github.com/latextemplates/generator-latex-template/blob/master/docs/adr/0001-use-yeoman.md for options for template generators.

See https://github.com/latextemplates/generator-latex-template/blob/master/generators/app/templates/main.de.tex for the Yeoman syntax.

Refs xJREB/swe-research-methods#1 (comment)


Velocity was chosen at #11900.

Metadata

Metadata

Assignees

No one assigned

    Projects

    Status

    Free to take

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions