Converts time tracking data from CSV to PDF.
$ npm install csv-report -g
There are two ways to use csv-report: through the command line interface, or by requiring the csv-report module in your own code.
$ csv-report -f /path/to/csvFile.csv -o /path/to/pdfFile.pdf [options]
Check $ csv-report -h
to see all available options.
const csvReport = require('csv-report');
// set options
const options = {
file: '/path/to/my/csvFile.csv',
out: '/path/to/resulting/pdfFile.pdf'
};
// render
const report = new csvReport(options)
.render()
.then(pdfPath => console.log('PDF was written to ' + pdfPath))
.catch(console.log.bind(console));
Returns a list of project names that have data within the provided timeframe.
Returns a list of task entries related to a specific project
project
(string): Provide project name to get a projects tasks, or leave empty to get all.
Starts the rendering process.
includeProjects
(array): Specify a list of project names that you want to include in the report. Default: Include all
Call the constructor with these options
:
Path to input CSV file
- String
- required
Path to output PDF file (can be path to folder or .pdf file)
- String
- Default:
./report-<last-month>-<year>.pdf
Map the corresponding fields to CSV columns
- Object
- Default:
{
date: 'Date',
project: 'Project',
task: 'Task',
duration: 'Duration',
start: 'Start',
end: 'End',
custom: {
comment: 'Comment'
}
}
The default mapping matches the CSV export of TimeTracker 1.3.
Delimeter used in the input CSV file
- String
- Default:
;
If you are using the date
column, you can specify format(s) that will be used for parsing the dates in the CSV file
- String | Array
- Default: `['MM-DD-YYYY', 'YYYY-MM-DD']``
If you are using the start
column, you can specify format(s) that will be used for parsing the dateTimes in the CSV file
- String | Array
- Default:
['YYYY-MM-DD HH:mm:ss']
If you are using the end
column, you can specify format(s) that will be used for parsing the dateTimes in the CSV file
- String | Array
- Default:
['YYYY-MM-DD HH:mm:ss']
Start date of timeframe
- String, format:
YYYY-MM-DD
- Default: First day of previous month
End date of timeframe
- String, format:
YYYY-MM-DD
- Default: Last day of previous month
Minutes to round up to. e.g. 21m -> 30m. Applied per day.
- Number
- Default:
15
Path to Handlebars template
- String
- Default:
./lib/template.html
Define details for the papersize of output PDF. See PhantomJS wiki for details
- Object
- Default:
{ format: 'A4', orientation: 'landscape', border: '1.5cm' }
Language. Currently used for output formatting of dates.
- String
- Default:
en
MIT