Simon Michael
29885d15fa
dev: refactor Hledger.Write.Html etc, reducing Lucid references
...
Clarify the HTML lib situation a bit, and clean up some imports.
Related: #2244
2025-01-25 11:53:51 -10:00
Simon Michael
14dd2c6200
dev: rename printHtml -> styledTableHtml
2025-01-25 11:53:51 -10:00
Simon Michael
ff28aa329a
imp:print:beancount: convert tags to BC metadata
...
Transaction and posting tags (and posting tags inherited from accounts)
are now converted safely to Beancount-compatible transaction and posting
metadata lines.
2024-12-06 05:55:42 -10:00
Simon Michael
17332c75f9
imp:print:beancount: generate operating_currency directives from cost currencies
2024-12-06 05:55:42 -10:00
Simon Michael
d925c8a042
imp:print:beancount: add a second account name part if needed
...
Beancount requires account names to have at least two parts.
2024-12-06 05:55:42 -10:00
Simon Michael
6e3dfd6703
imp:print:beancount: remove virtual postings automatically
2024-12-06 05:55:42 -10:00
Simon Michael
f57cd638da
imp:print:beancount output: more robust account/commodity encoding
...
Unsupported chars are now hex-encoded, not just converted to dashes.
This helps keep account and commodity names unique, especially with
the equity conversion account names generated by --infer-equity when
using currency symbols.
(Those could also be converted to ISO 4217 codes, in theory, but
for now we just hex encode them, which is easier to make robust.)
Also, Beancount commodity symbols are no longer enclosed in
hledger-style double quotes.
2024-11-07 01:28:31 -10:00
Henning Thielemann
3714ac0593
lib: Write.Ods.printFods: change type of number of fixed rows/columns from (Maybe Int) to Int
...
0 is a perfect value for no fixed row or column.
2024-10-22 12:05:42 -10:00
Henning Thielemann
4c189dde32
lib: Write.Spreadsheet.integerCell: for transaction indices
2024-10-20 08:49:36 -10:00
Henning Thielemann
8b391e2a07
cli: Commands.Print: add export to FODS and HTML
...
use common Spreadsheet framework for CSV export, too
2024-10-19 16:52:54 -10:00
Henning Thielemann
96e0500ea7
cli: Commands.Register.postingsReportItemAsRecord: format transaction index as integer
...
lib: Write.Spreadsheet.Type: new TypeInteger
2024-10-18 00:07:11 -10:00
Henning Thielemann
b23753f5ae
cli: Commands.Register.postingsReportItemAsRecord: export amounts as number plus commodity
...
lib: Write.Spreadsheet.cellFromMixedAmount, cellsFromMixedAmount: taken from Cli.Balance
2024-10-18 00:07:11 -10:00
Henning Thielemann
d7b713f958
lib: Write.Ods.styleNames: common generation of ODS style names for both formatCell and cellConfig
2024-10-18 00:07:11 -10:00
Henning Thielemann
fe53b9b6ee
lib: Write.Ods: disambiguate style names for DataMixedAmount and DataString (bugfix)
2024-10-18 00:07:11 -10:00
Henning Thielemann
991c56caef
cli: Commands.Register.postingsReportAsSpreadsheet: generalize CSV output to HTML and FODS
2024-10-18 00:07:11 -10:00
Henning Thielemann
9d1ba5c588
cli: CompoundBalanceCommand.compoundBalanceReportAsSpreadsheet: common function for CSV, HTML, FODS export
2024-10-14 20:59:51 -10:00
Henning Thielemann
b8497c830e
lib: Write.Spreadsheet.headerCell, addRowSpanHeader, rawTableContent: taken from Commands.Balance
2024-10-14 11:35:12 -10:00
Simon Michael
2a374668e4
dev: Write.Beancount: isUpperCase -> isUpper to support ghc < 9.6
2024-10-14 11:02:21 -10:00
Simon Michael
aff3cd0591
imp:print:beancount: more robust conversion of commodity names
2024-10-11 14:56:03 -10:00
Simon Michael
66fce53c0b
dev: extract beancount output helpers to Hledger.Write.Beancount
2024-10-10 23:25:07 -10:00
Simon Michael
e157bb4a6b
dev: Hledger.Write.Ods: fix build with ghc <9.6
2024-09-30 17:20:13 -10:00
Simon Michael
6773e92361
dev: Hledger.Write.Ods: follow global-then-local-imports convention
2024-09-30 17:20:13 -10:00
Simon Michael
cc7ba473ec
imp: bal: html output will use a hledger.css file, like bs/cf/is
2024-09-29 21:22:38 -10:00
Henning Thielemann
5565f11c73
cli: Commands.Balance.multiBalanceReportAsSpreadsheetHelper: vertically merge cells showing account names and Total
...
lib: Write.Spreadsheet: add support for cell spans
2024-09-29 19:25:05 -10:00
Henning Thielemann
2f9a8031b0
lib: Write.Html -> Write.Html.Lucid
...
Write.Html: keep common definitions for both HTML backends
2024-09-29 13:27:51 -10:00
Henning Thielemann
cc7e034d64
lib: Write.Html.Blaze: alternative to Lucid based export
...
for compatibility with hledger-web/yesod
2024-09-29 13:27:51 -10:00
Henning Thielemann
d8fc30f7c5
lib: Write.Html.Attribute.tableStyle: style definitions taken from Commands.Balance.multiBalanceReportAsHtml
...
avoid duplicate with Write.Html.printHtml
Write.Html.Attribute: remove dependency on Lucid
2024-09-29 13:27:51 -10:00
Henning Thielemann
499c626e48
lib: Write.Spreadsheet: support for anchors in HTML and FODS export
...
cli: Commands.Balance: new option --base-url
It adds hledger-web-compatible hyperlinks to account names.
2024-09-28 22:12:51 -10:00
Henning Thielemann
6ce6c72fd4
lib: Write.Html.Attributes: extracted HTML output helpers from Cli.Commands.Balance
2024-09-24 22:51:30 -10:00
Henning Thielemann
ff397f79cc
lib: Write.Spreadsheet.Cell: add cellClass field for HTML style class
...
cmd: Commands.Balance.multiBalanceRowAsCellBuilders: add HTML style class attributes here
This way we do not need to dissect table rows in
multiBalanceReportHtmlHeadRow, multiBalanceReportHtmlBodyRow, multiBalanceReportHtmlFootRow
Eventually removed these three functions.
2024-09-11 13:51:09 -07:00
Henning Thielemann
55c1246598
cli: Commands.Balance.budgetReportAsSpreadsheet: also transpose border
2024-09-11 13:51:09 -07:00
Henning Thielemann
2ed13afed4
lib: Write.Spreadsheet: support for borders like in existing HTML export
...
cli: Commands.Balance: use for FODS export and balance and budget export to HTML
2024-09-11 13:51:09 -07:00
Henning Thielemann
3af8eb3bc6
cli: Command.Balance: use Date format for dates in LayoutTidy
2024-08-16 16:57:38 +02:00
Henning Thielemann
66a047aade
lib: Write.Spreadsheet.Cell: add type parameter for the text type
...
instance Functor Cell
This way you can choose between Text, Lazy.Text, WideBuilder for cell content.
2024-08-16 16:57:38 +02:00
Henning Thielemann
f306df6d61
imp: lib: Write.Html: use Lucid to generate HTML
2024-08-16 16:57:38 +02:00
Henning Thielemann
8c42a735c2
cli: lib: Write.Spreadsheet: common data types for Write.Ods and Write.Html
...
Write.Html: write spreadsheet data to a HTML table
enables HTML export for the balance command
2024-08-16 16:57:38 +02:00
Henning Thielemann
29b67691fb
cli: Write.Ods: also use a number cell if the total amount has a single commodity
2024-08-16 16:57:38 +02:00
Henning Thielemann
2a1f3920c6
lib: Write.Ods.escape: escape cell contents
2024-08-16 16:57:38 +02:00
Henning Thielemann
ba0db5feec
cli: Write.Ods: write single amounts as numbers with units
...
This way you can do computations with the numbers in LibreOffice Calc.
2024-08-16 16:57:38 +02:00
Henning Thielemann
7b136600fa
cli: Cli.Balance.balanceReportAsFods: use distinguished cell formatting styles
2024-08-16 16:57:38 +02:00
Henning Thielemann
0e158d0c3e
cli: lib: Hledger.Write.Ods: basic support for FODS export
...
used in Commands.Balance
2024-08-16 16:57:38 +02:00
Henning Thielemann
14b5a1f82a
imp: Hledger.Read.CsvUtils -> Write.Csv
2024-08-16 16:57:38 +02:00