
Minimalist plain text budgeting.
% npm i pbudget -g
% pbudget -s Budget.txt
% pbudget --stats Budget.txt
% cat Budget.txt | pbudget > Budget.txt
-
Groups start with
=
and are used to group values. -
Flows start with
+
and are used to express cash flow. -
Groups can be referenced in other groups or flows.
-
Multipliers can added to any referenced group or value.
-
Blocks of text with invalid syntax will be ignored and remain intact in the source.
-
Circular dependencies (group references) will cause both groups to be ignored.
-
Padding is automatically added to the value column.
Input
|
Output
|
import { readFileSync } from 'node:fs'
import { PlainBudget } from 'pbudget'
const budget = readFileSync('Budget.txt', 'utf8')
const pbudget = new PlainBudget(budget)
pbudget.process()
console.log(pbudget.renderWithPadding())
pbudget.computeStats()
console.log(pbudget.stats)