Skip to content

Commit 85643c1

Browse files
committed
coin2html: fix up the html output
1 parent e70b0e2 commit 85643c1

File tree

4 files changed

+30
-32
lines changed

4 files changed

+30
-32
lines changed

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
![tests](https://github.com/mkobetic/coin/actions/workflows/test.yaml/badge.svg)
2+
![downloads](https://img.shields.io/github/downloads/mkobetic/coin/total.svg)
23

34
**NB:** This is still a work in progress, a lot of information is missing and is filled in gradually. There isn't much in terms of user documentation beyond the READMEs, but most features follow the same pattern as ledger-cli. You can learn most things from ledger-cli's or beancount's excellent documentation.
45

@@ -26,7 +27,7 @@ For illustration here's how a sample COINDB directory could look like
2627

2728
## Commands
2829

29-
Coin includes several executables.
30+
There are several executables available with this project.
3031

3132
### coin
3233

cmd/coin2html/js/head.html

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
1-
<!DOCTYPE html>
2-
<html lang="en">
3-
<head>
4-
<meta charset="UTF-8" />
5-
<title>COIN</title>
6-
<link href="styles.css" rel="stylesheet" />
7-
</head>
8-
</html>
1+
<head>
2+
<meta charset="UTF-8" />
3+
<title>COIN</title>
4+
<link href="styles.css" rel="stylesheet" />
5+
</head>

cmd/coin2html/main.go

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -22,31 +22,33 @@ func main() {
2222
var f = os.Stdout
2323
var encoder = json.NewEncoder(f)
2424
encoder.SetIndent("", "\t")
25+
fmt.Fprintln(f, "<!DOCTYPE html>")
26+
fmt.Fprint(f, `<html lang="en">`, "\n")
2527
fmt.Fprint(f, htmlHead)
26-
fmt.Fprintln(f, "</head>\n<body>")
27-
fmt.Fprintf(f, `<script type="application/json" id="importedCommodities">`)
28+
fmt.Fprintln(f, "<body>")
29+
fmt.Fprintln(f, `<script type="application/json" id="importedCommodities">`)
2830
if err := encoder.Encode(coin.Commodities); err != nil {
2931
fmt.Fprint(os.Stderr, err.Error())
3032
}
31-
fmt.Fprintln(f, "\n</script>")
33+
fmt.Fprintln(f, "</script>")
3234
fmt.Fprintf(os.Stderr, "Commodities: %d\n", len(coin.Commodities))
33-
fmt.Fprintf(f, `<script type="application/json" id="importedPrices">`)
35+
fmt.Fprintln(f, `<script type="application/json" id="importedPrices">`)
3436
if err := encoder.Encode(coin.Prices); err != nil {
3537
fmt.Fprint(os.Stderr, err.Error())
3638
}
37-
fmt.Fprintln(f, "\n</script>")
39+
fmt.Fprintln(f, "</script>")
3840
fmt.Fprintf(os.Stderr, "Prices: %d\n", len(coin.Prices))
39-
fmt.Fprintf(f, `<script type="application/json" id="importedAccounts">`)
41+
fmt.Fprintln(f, `<script type="application/json" id="importedAccounts">`)
4042
if err := encoder.Encode(coin.AccountsByName); err != nil {
4143
fmt.Fprint(os.Stderr, err.Error())
4244
}
43-
fmt.Fprintln(f, "\n</script>")
45+
fmt.Fprintln(f, "</script>")
4446
fmt.Fprintf(os.Stderr, "Accounts: %d\n", len(coin.AccountsByName))
45-
fmt.Fprintf(f, `<script type="application/json" id="importedTransactions">`)
47+
fmt.Fprintln(f, `<script type="application/json" id="importedTransactions">`)
4648
if err := encoder.Encode(coin.Transactions); err != nil {
4749
fmt.Fprint(os.Stderr, err.Error())
4850
}
49-
fmt.Fprintln(f, "\n</script>")
51+
fmt.Fprintln(f, "</script>")
5052
fmt.Fprintf(os.Stderr, "Transactions: %d\n", len(coin.Transactions))
5153

5254
fmt.Fprint(f, htmlBody)

examples/yearly/viewer/index.html

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
<!DOCTYPE html>
22
<html lang="en">
3-
<head>
4-
<meta charset="UTF-8" />
5-
<title>COIN</title>
6-
<style>#container {
3+
<head>
4+
<meta charset="UTF-8" />
5+
<title>COIN</title>
6+
<style>#container {
77
display: flex;
88
flex-direction: row;
99
}
@@ -101,24 +101,23 @@
101101
}
102102

103103
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZC5odG1sX3N0eWxlcy5jc3MiLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxhQUFhO0VBQ2IsbUJBQW1CO0FBQ3JCOztBQUVBOzs7RUFHRSxXQUFXO0FBQ2I7O0FBRUEsWUFBWTs7QUFFWjtFQUNFLGFBQWEsRUFBRSx3REFBd0Q7RUFDdkUsc0JBQXNCO0VBQ3RCLGVBQWUsRUFBRSxpQ0FBaUM7QUFDcEQ7O0FBRUE7RUFDRSxxQkFBcUI7RUFDckIsWUFBWTtFQUNaLFdBQVc7RUFDWCxnQkFBZ0I7QUFDbEI7QUFDQTtFQUNFLHNCQUFzQjtBQUN4Qjs7QUFFQSxpQkFBaUI7O0FBRWpCO0VBQ0UsZUFBZSxFQUFFLGlDQUFpQztBQUNwRDtBQUNBO0VBQ0UsYUFBYSxFQUFFLGtCQUFrQjtBQUNuQzs7QUFFQTtFQUNFLGFBQWE7RUFDYixnQkFBZ0I7RUFDaEIsOEJBQThCLEVBQUUsc0NBQXNDO0FBQ3hFOztBQUVBO0VBQ0UsYUFBYTtBQUNmOztBQUVBLHdDQUF3QztBQUN4QztFQUNFLGVBQWU7RUFDZixTQUFTO0VBQ1QsUUFBUTtFQUNSLHVCQUF1QjtFQUN2QixtQkFBbUI7RUFDbkIsYUFBYTtBQUNmOztBQUVBLGtCQUFrQjtBQUNsQjtFQUNFLFdBQVc7QUFDYjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLFlBQVk7QUFDZDtBQUNBLGtEQUFrRDtBQUNsRDtFQUNFLDJCQUEyQjtBQUM3QjtBQUNBLG9DQUFvQztBQUNwQztFQUNFLHNCQUFzQjtBQUN4QjtBQUNBLDhCQUE4QjtBQUM5QjtFQUNFLGlCQUFpQjtBQUNuQjs7QUFFQSxVQUFVO0FBQ1Y7RUFDRSxXQUFXO0VBQ1gsZ0JBQWdCO0VBQ2hCLHVCQUF1QjtFQUN2QixlQUFlO0FBQ2pCOztBQUVBO0VBQ0UsV0FBVztFQUNYLHVCQUF1QjtFQUN2QixlQUFlO0FBQ2pCOztBQUVBO0VBQ0UsVUFBVTtBQUNaIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vY29pbi8uL3N0eWxlcy5jc3MiXSwic291cmNlc0NvbnRlbnQiOlsiI2NvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG59XG5cbnNlbGVjdCxcbmlucHV0LFxubGFiZWwge1xuICBtYXJnaW46IDNweDtcbn1cblxuLyogU0lERUJBUiAqL1xuXG4jc2lkZWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7IC8qIG92ZXJyaWRlIGRpc3BsYXk6IGJsb2NrIHRvIG1ha2UgZmxleC1kaXJlY3Rpb24gd29yayAqL1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWJhc2lzOiAxNSU7IC8qIGhvcml6b250YWwgc2NyZWVuIHByb3BvcnRpb24gKi9cbn1cblxuI3NpZGViYXIgdWwjYWNjb3VudHMge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIHBhZGRpbmc6IDNweDtcbiAgbWFyZ2luOiAzcHg7XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG4jc2lkZWJhciB1bCNhY2NvdW50cyBsaTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IGdyYXk7XG59XG5cbi8qIE1BSU4gU0VDVElPTiAqL1xuXG4jbWFpbiB7XG4gIGZsZXgtYmFzaXM6IDg1JTsgLyogaG9yaXpvbnRhbCBzY3JlZW4gcHJvcG9ydGlvbiAqL1xufVxuI21haW4gaDEge1xuICBtYXJnaW46IDAuM2VtOyAvKiByZWR1Y2UgbWFyZ2luICovXG59XG5cbiNtYWluICNoZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWJhc2lzOiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IC8qIHRvIG1ha2UgdGhlIEhlbHAgbGluayBhbGlnbiByaWdodCAqL1xufVxuXG4jbWFpbiAjaGVhZGVyICNoZWxwIHtcbiAgbWFyZ2luOiAwLjNlbTtcbn1cblxuLyogRml4ZWQgZGV0YWlscyBkaXYgaGlkZGVuIGJ5IGRlZmF1bHQgKi9cbmRpdiNkZXRhaWxzIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiAyMCU7XG4gIHRvcDogMjAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgcGFkZGluZzogMTBweDtcbn1cblxuLyogVklFVyBSRUdJU1RFUiAqL1xudGFibGUjcmVnaXN0ZXIge1xuICB3aWR0aDogMTAwJTtcbn1cbnRhYmxlI3JlZ2lzdGVyIHRoZWFkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogZGFya2N5YW47XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbi8qIG1ha2UgdGFibGUgcm93IGJhY2tncm91bmQgYWx0ZXJuYXRlIHdoaXRlL2dyYXkqL1xudGFibGUjcmVnaXN0ZXIgdHIuZXZlbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0Z3JheTtcbn1cbi8qIGRhcmtlciBncmF5IGJhY2tncm91bmQgb24gaG92ZXIgKi9cbnRhYmxlI3JlZ2lzdGVyIHRib2R5IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogZ3JheTtcbn1cbi8qIGFtb3VudHMgYXJlIHJpZ2h0LWFsaWduZWQgKi9cbnRkLmFtb3VudCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4vKiBDSEFSVCAqL1xuLmxheWVyIHRleHQge1xuICBmaWxsOiB3aGl0ZTtcbiAgdGV4dC1hbmNob3I6IGVuZDtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTFweDtcbn1cblxuLmxlZ2VuZCB0ZXh0IHtcbiAgZmlsbDogd2hpdGU7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDExcHg7XG59XG5cbi5sYXllciByZWN0OmhvdmVyIHtcbiAgZmlsbDogZ3JheTtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/</style>
104-
</head>
105-
</html>
106104
</head>
107105
<body>
108-
<script type="application/json" id="importedCommodities">{
106+
<script type="application/json" id="importedCommodities">
107+
{
109108
"CAD": {
110109
"decimals": 2,
111110
"id": "CAD",
112111
"location": "examples/yearly/commodities.coin:1",
113112
"name": ""
114113
}
115114
}
116-
117115
</script>
118-
<script type="application/json" id="importedPrices">null
119-
116+
<script type="application/json" id="importedPrices">
117+
null
120118
</script>
121-
<script type="application/json" id="importedAccounts">{
119+
<script type="application/json" id="importedAccounts">
120+
{
122121
"Assets": {
123122
"commodity": "CAD",
124123
"fullName": "Assets",
@@ -237,9 +236,9 @@
237236
"parent": "Root"
238237
}
239238
}
240-
241239
</script>
242-
<script type="application/json" id="importedTransactions">[
240+
<script type="application/json" id="importedTransactions">
241+
[
243242
{
244243
"description": "Costco",
245244
"location": "examples/yearly/2010.coin:1",
@@ -48843,7 +48842,6 @@
4884348842
]
4884448843
}
4884548844
]
48846-
4884748845
</script>
4884848846
<div id="container">
4884948847
<nav id="sidebar">

0 commit comments

Comments
 (0)