TimeSheetGenerator is an application that checks and builds time sheet documents.
This is a UI for the kit-sdq timesheet generator. Global settings can be edited via the UI, saving files only saves the month settings. These saved JSON files are also compatible with the original timesheet generator, so the CLI can be used as well.
Yes, you can drag and drop your month.json files into the generator.
The files can be compiled to tex or directly compiled to a pdf.
To open a file with the UI from the command line, you can type $ java -jar TimeSheetGenerator.jar /path/to/month.json
to open the specified file with the TimesheetGenerator UI.
The TimesheetGenerator also supports "Open with..." with Windows (and probably other OS), but be cautious if you want to open every JSON file with the TimesheetGenerator.
The User Interface with File options selected:
Opening a JSON file with the TimeSheetGenerator:
Adding a new entry to the timesheet:
Hotkey | Feature |
---|---|
Ctrl S | Saves the file to JSON |
Ctrl Shift S | Saves the file to JSON with a prompt for a new file |
Ctrl A | Add a new entry |
Ctrl D | Duplicate the selected entry |
Ctrl E | Exports to PDF |
Ctrl P | Same as Ctrl E, synonym ("print") |
Ctrl T | Compiles to LaTeX |
Ctrl N | Opens a new file |
Ctrl O | Opens an existing file |
The Hotkey for Ctrl A may change in the future, when operations on multiple list entries are supported, and may then be used for select all.
Run TimeSheetGenerator (requires Java 21 or higher):
$ java -jar TimeSheetGenerator.jar [--help] [--version] [--gui] [--file <global.json> <month.json> <output.tex>]
Option | Long Option | Arguments | Description |
---|---|---|---|
-h |
--help |
none | Print a help dialog. |
-v |
--version |
none | Print the version of the application. |
-g |
--gui |
none | Generate an output file based on files chosen in a file dialog. |
-f |
--file |
<global.json> <month.json> <output.tex> |
Generate an output file based on the given files. |
-n |
--no-vacation |
none | Exclude vacation entries in the time sheet table. |
This project uses the following third-party libraries:
- Apache PDFBox
- Website: https://pdfbox.apache.org/
- License: Apache License 2.0 (See
LICENSE
andNOTICE
files)