UNPKG

conjuror

Version:

A magical CSV data parsing and outputing wizard or witch

67 lines (46 loc) 2.35 kB
Recipes ======= The following is an example of what I'm thinking a recipe *could* look like and some documentation sketch of what values could represent. There is really only two main aspects to this file and these are described below ``` { "name": "invoice", "description": "A recipe for generating invoices based on hourly logged work with categories and descriptions", "formats": ["cli", "csv", "html", "pdf"], "filters": { "date": ["date"], "trim": ["string", "number"], "search": ["string", "number"] }, "instructions": [{ "process": [{ "increment": "time" },{ "multiply": ["time", "rate"] }], "template": "tallied-data.html" }] } ``` #### formats What formats a given recipe can be exported from Conjuror in. Ideally, we can at some point make a bar graph that output in formats `cli,svg` and such... #### filters These values are our current calls that filter data, these are the things I've started moving to `datapackage-query` module but have yet to been imported into Conjuror. The following values are "filter tools" and would need to written into Conjuror for a recipe to make use of them. - date - trim - search In the example above, these values have an `array` which would be "mapped" during a user configuring a project based on the types of value in a `resources[x].schema` #### instructions This is an array of objects, each of these objects would contain the following values: **process** Will be "operations" that get performed on a given line of data or in reference to the aggregate. Think of it is as instructions for Conjuror modules that get stored in a projects configuration / mapping. Examples aggregate - increment (hours) - translate (USD -> Euros) - multiple (hours * rate) **template** An HTML view (or other formats?) to inject the processed operations into. Currently this is just the boring-ish CSV data in an HTML `<table>` view --- My current thinking on recipes is making them relatively "sculpted" by developers, as playing with the code towards this, it's going to involve HTML templates and various operations! I've added a folder `recipes/invoices/` and `recipes/expenses/` Make nice barcharts with Wunderbar lib https://github.com/gribnoysup/wunderbar