-
- Notifications
You must be signed in to change notification settings - Fork 3k
Open
Description
Context
Our layout files are very strange.
- Documentation: https://docs.jabref.org/import-export/export/customexports
- Repository for all layout files: https://github.com/JabRef/layouts.jabref.org
- Directory for all internal layout files: https://github.com/JabRef/jabref/tree/master/src/main/resources/resource/layout
- Example: HTML Export: https://github.com/JabRef/jabref/blob/master/src/main/resources/resource/layout/html.layout
- Example: Simple HTML: https://github.com/JabRef/jabref/blob/master/src/main/resources/resource/layout/simplehtml.layout
- Example: Simple Open Office Export: https://github.com/JabRef/jabref/tree/master/src/main/resources/resource/layout/openoffice
Tasks
Steps:
- Define new template format (based on Apache Velocity)
- Implement a template for a simple example
- Call the template in JabRef (includes JUnit test cases)
- Iterate steps 1 to 3 until a "good" template language is there
- Choose a larger example (e.g., convert BibTeX to JSON, manually port existing .layout files)
If possible:
- Define a converter of existing
.layoutfiles to the new format (can be called via the command line) - Convert all existing layouts to the new format
- 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
Type
Projects
Status
Free to take