hledger-web 1.30 → 1.31
raw patch · 5 files changed
+91/−89 lines, 5 filesdep ~aesondep ~hledgerdep ~hledger-lib
Dependency ranges changed: aeson, hledger, hledger-lib
Files
- CHANGES.md +6/−0
- hledger-web.1 +2/−2
- hledger-web.cabal +9/−9
- hledger-web.info +1/−1
- hledger-web.txt +73/−77
CHANGES.md view
@@ -21,6 +21,12 @@ User-visible changes in hledger-web. See also the hledger changelog. +# 1.31 2023-09-03++Improvements++- Allow aeson 2.2, megaparsec 9.5+ # 1.30 2023-06-01 Fixes
hledger-web.1 view
@@ -1,5 +1,5 @@ -.TH "HLEDGER-WEB" "1" "June 2023" "hledger-web-1.30 " "hledger User Manuals"+.TH "HLEDGER-WEB" "1" "September 2023" "hledger-web-1.31 " "hledger User Manuals" @@ -15,7 +15,7 @@ \f[V]hledger web -- [--serve|--serve-api] [OPTS] [ARGS]\f[R] .SH DESCRIPTION .PP-This manual is for hledger\[aq]s web interface, version 1.30.+This manual is for hledger\[aq]s web interface, version 1.31. See also the hledger manual for common concepts and file formats. .PP hledger is a robust, user-friendly, cross-platform set of programs for
hledger-web.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack name: hledger-web-version: 1.30+version: 1.31 synopsis: Web-based user interface for the hledger accounting system description: A simple web-based user interface for the hledger accounting system, providing a more modern UI than the command-line or terminal interfaces.@@ -28,7 +28,7 @@ license-file: LICENSE build-type: Simple tested-with:- GHC==8.10.7, GHC==9.0.2, GHC==9.2.4+ GHC==8.10.7, GHC==9.0.2, GHC==9.2.8, GHC==9.4.5 extra-source-files: CHANGES.md README.md@@ -151,10 +151,10 @@ hs-source-dirs: ./ ghc-options: -Wall -Wredundant-constraints -Wincomplete-record-updates -Wincomplete-uni-patterns- cpp-options: -DVERSION="1.30"+ cpp-options: -DVERSION="1.31" build-depends: Decimal >=0.5.1- , aeson >=1+ , aeson >=1 && <2.3 , base >=4.14 && <4.19 , base64 , blaze-html@@ -171,13 +171,13 @@ , extra >=1.6.3 , filepath , hjsmin- , hledger ==1.30.*- , hledger-lib ==1.30.*+ , hledger ==1.31.*+ , hledger-lib ==1.31.* , hspec , http-client , http-conduit , http-types- , megaparsec >=7.0.0 && <9.4+ , megaparsec >=7.0.0 && <9.6 , mtl >=2.2.1 , network , shakespeare >=2.0.2.2@@ -212,7 +212,7 @@ hs-source-dirs: app ghc-options: -Wall -Wredundant-constraints -Wincomplete-record-updates -Wincomplete-uni-patterns- cpp-options: -DVERSION="1.30"+ cpp-options: -DVERSION="1.31" build-depends: base >=4.14 && <4.19 , hledger-web@@ -232,7 +232,7 @@ hs-source-dirs: test ghc-options: -Wall -Wredundant-constraints -Wincomplete-record-updates -Wincomplete-uni-patterns- cpp-options: -DVERSION="1.30"+ cpp-options: -DVERSION="1.31" build-depends: base >=4.14 && <4.19 , hledger
hledger-web.info view
@@ -16,7 +16,7 @@ 'hledger-web [--serve|--serve-api] [OPTS] [ARGS]' 'hledger web -- [--serve|--serve-api] [OPTS] [ARGS]' - This manual is for hledger's web interface, version 1.30. See also+ This manual is for hledger's web interface, version 1.31. See also the hledger manual for common concepts and file formats. hledger is a robust, user-friendly, cross-platform set of programs
hledger-web.txt view
@@ -1,8 +1,6 @@ HLEDGER-WEB(1) hledger User Manuals HLEDGER-WEB(1) -- NAME hledger-web - robust, friendly plain text accounting (Web version) @@ -11,18 +9,18 @@ hledger web -- [--serve|--serve-api] [OPTS] [ARGS] DESCRIPTION- This manual is for hledger's web interface, version 1.30. See also the+ This manual is for hledger's web interface, version 1.31. See also the hledger manual for common concepts and file formats. - hledger is a robust, user-friendly, cross-platform set of programs for- tracking money, time, or any other commodity, using double-entry ac-- counting and a simple, editable file format. hledger is inspired by- and largely compatible with ledger(1), and largely interconvertible+ hledger is a robust, user-friendly, cross-platform set of programs for+ tracking money, time, or any other commodity, using double-entry ac-+ counting and a simple, editable file format. hledger is inspired by+ and largely compatible with ledger(1), and largely interconvertible with beancount(1). - hledger-web is a simple web application for browsing and adding trans-- actions. It provides a more user-friendly UI than the hledger CLI or- hledger-ui TUI, showing more at once (accounts, the current account+ hledger-web is a simple web application for browsing and adding trans-+ actions. It provides a more user-friendly UI than the hledger CLI or+ hledger-ui TUI, showing more at once (accounts, the current account register, balance charts) and allowing history-aware data entry, inter- active searching, and bookmarking. @@ -41,11 +39,11 @@ hledger-web can be run in three modes: o Transient mode (the default): your default web browser will be opened- to show the app if possible, and the app exits automatically after- two minutes of inactivity (no requests received and no open browser+ to show the app if possible, and the app exits automatically after+ two minutes of inactivity (no requests received and no open browser windows viewing it). - o With --serve: the app runs without stopping, and without opening a+ o With --serve: the app runs without stopping, and without opening a browser. o With --serve-api: only the JSON API is served.@@ -55,7 +53,7 @@ OPTIONS Command-line options and arguments may be used to set an initial filter- on the data. These filter options are not shown in the web UI, but it+ on the data. These filter options are not shown in the web UI, but it will be applied in addition to any search query entered there. hledger-web provides the following options:@@ -64,7 +62,7 @@ serve and log requests, don't browse or auto-exit after timeout --serve-api- like --serve, but serve only the JSON web API, without the+ like --serve, but serve only the JSON web API, without the server-side web UI --host=IPADDR@@ -74,13 +72,13 @@ listen on this TCP port (default: 5000) --socket=SOCKETFILE- use a unix domain socket file to listen for requests instead of- a TCP socket. Implies --serve. It can only be used if the op-+ use a unix domain socket file to listen for requests instead of+ a TCP socket. Implies --serve. It can only be used if the op- erating system can provide this type of socket. --base-url=URL- set the base url (default: http://IPADDR:PORT). Note: affects- url generation but not route parsing. Can be useful if running+ set the base url (default: http://IPADDR:PORT). Note: affects+ url generation but not route parsing. Can be useful if running behind a reverse web proxy that does path rewriting. --file-url=URL@@ -108,10 +106,10 @@ running multiple hledger-web instances. Both of these options are ignored when --socket is used. In this case,- it creates an AF_UNIX socket file at the supplied path and uses that- for communication. This is an alternative way of running multiple- hledger-web instances behind a reverse proxy that handles authentica-- tion for different users. The path can be derived in a predictable+ it creates an AF_UNIX socket file at the supplied path and uses that+ for communication. This is an alternative way of running multiple+ hledger-web instances behind a reverse proxy that handles authentica-+ tion for different users. The path can be derived in a predictable way, eg by using the username within the path. As an example, nginx as reverse proxy can use the variable $remote_user to derive a path from the username used in a HTTP basic authentication. The following@@ -122,13 +120,13 @@ You can use --base-url to change the protocol, hostname, port and path that appear in hyperlinks, useful eg for integrating hledger-web within- a larger website. The default is http://HOST:PORT/ using the server's+ a larger website. The default is http://HOST:PORT/ using the server's configured host address and TCP port (or http://HOST if PORT is 80). - With --file-url you can set a different base url for static files, eg+ With --file-url you can set a different base url for static files, eg for better caching or cookie-less serving on high performance websites. - hledger-web also supports many of hledger's general options (and the+ hledger-web also supports many of hledger's general options (and the hledger manual's command line tips also apply here): General help options@@ -151,7 +149,7 @@ $LEDGER_FILE or $HOME/.hledger.journal) --rules-file=RULESFILE- Conversion rules file to use when reading CSV (default:+ Conversion rules file to use when reading CSV (default: FILE.rules) --separator=CHAR@@ -206,7 +204,7 @@ fects) --today=DATE- override today's date (affects relative smart dates, for+ override today's date (affects relative smart dates, for tests/examples) -U --unmarked@@ -225,21 +223,21 @@ hide/aggregate accounts or postings more than NUM levels deep -E --empty- show items with zero amount, normally hidden (and vice-versa in+ show items with zero amount, normally hidden (and vice-versa in hledger-ui/hledger-web) -B --cost convert amounts to their cost/selling amount at transaction time -V --market- convert amounts to their market value in default valuation com-+ convert amounts to their market value in default valuation com- modities -X --exchange=COMM convert amounts to their market value in commodity COMM --value- convert amounts to cost or market value, more flexibly than+ convert amounts to cost or market value, more flexibly than -B/-V/-X --infer-equity@@ -249,38 +247,38 @@ infer costs from conversion equity postings --infer-market-prices- use costs as additional market prices, as if they were P direc-+ use costs as additional market prices, as if they were P direc- tives --forecast- generate transactions from periodic rules, between the latest- recorded txn and 6 months from today, or during the specified- PERIOD (= is required). Auto posting rules will be applied to- these transactions as well. Also, in hledger-ui make future-+ generate transactions from periodic rules, between the latest+ recorded txn and 6 months from today, or during the specified+ PERIOD (= is required). Auto posting rules will be applied to+ these transactions as well. Also, in hledger-ui make future- dated transactions visible. - --auto generate extra postings by applying auto posting rules to all+ --auto generate extra postings by applying auto posting rules to all txns (not just forecast txns) --verbose-tags- add visible tags indicating transactions or postings which have+ add visible tags indicating transactions or postings which have been generated/modified --commodity-style- Override the commodity style in the output for the specified+ Override the commodity style in the output for the specified commodity. For example 'EUR1.000,00'. --color=WHEN (or --colour=WHEN)- Should color-supporting commands use ANSI color codes in text- output. 'auto' (default): whenever stdout seems to be a color-- supporting terminal. 'always' or 'yes': always, useful eg when- piping output into 'less -R'. 'never' or 'no': never. A+ Should color-supporting commands use ANSI color codes in text+ output. 'auto' (default): whenever stdout seems to be a color-+ supporting terminal. 'always' or 'yes': always, useful eg when+ piping output into 'less -R'. 'never' or 'no': never. A NO_COLOR environment variable overrides this. --pretty[=WHEN]- Show prettier output, e.g. using unicode box-drawing charac-- ters. Accepts 'yes' (the default) or 'no' ('y', 'n', 'always',- 'never' also work). If you provide an argument you must use+ Show prettier output, e.g. using unicode box-drawing charac-+ ters. Accepts 'yes' (the default) or 'no' ('y', 'n', 'always',+ 'never' also work). If you provide an argument you must use '=', e.g. '--pretty=yes'. When a reporting option appears more than once in the command line, the@@ -305,38 +303,38 @@ You can restrict what the users who reach it can do, by o using the --capabilities=CAP[,CAP..] flag when you start it, enabling- one or more of the following capabilities. The default value is+ one or more of the following capabilities. The default value is view,add: o view - allows viewing the journal file and all included files o add - allows adding new transactions to the main journal file - o manage - allows editing, uploading or downloading the main or in-+ o manage - allows editing, uploading or downloading the main or in- cluded files - o using the --capabilities-header=HTTPHEADER flag to specify a HTTP- header from which it will read capabilities to enable. hledger-web- on Sandstorm uses the X-Sandstorm-Permissions header to integrate+ o using the --capabilities-header=HTTPHEADER flag to specify a HTTP+ header from which it will read capabilities to enable. hledger-web+ on Sandstorm uses the X-Sandstorm-Permissions header to integrate with Sandstorm's permissions. This is disabled by default. EDITING, UPLOADING, DOWNLOADING- If you enable the manage capability mentioned above, you'll see a new- "spanner" button to the right of the search form. Clicking this will- let you edit, upload, or download the journal file or any files it in-+ If you enable the manage capability mentioned above, you'll see a new+ "spanner" button to the right of the search form. Clicking this will+ let you edit, upload, or download the journal file or any files it in- cludes. - Note, unlike any other hledger command, in this mode you (or any visi-+ Note, unlike any other hledger command, in this mode you (or any visi- tor) can alter or wipe the data files. - Normally whenever a file is changed in this way, hledger-web saves a- numbered backup (assuming file permissions allow it, the disk is not- full, etc.) hledger-web is not aware of version control systems, cur-- rently; if you use one, you'll have to arrange to commit the changes+ Normally whenever a file is changed in this way, hledger-web saves a+ numbered backup (assuming file permissions allow it, the disk is not+ full, etc.) hledger-web is not aware of version control systems, cur-+ rently; if you use one, you'll have to arrange to commit the changes yourself (eg with a cron job or a file watcher like entr). - Changes which would leave the journal file(s) unparseable or non-valid- (eg with failing balance assertions) are prevented. (Probably. This+ Changes which would leave the journal file(s) unparseable or non-valid+ (eg with failing balance assertions) are prevented. (Probably. This needs re-testing.) RELOADING@@ -368,7 +366,7 @@ /accounttransactions/ACCOUNTNAME Eg, all account names in the journal (similar to the accounts command).- (hledger-web's JSON does not include newlines, here we use python to+ (hledger-web's JSON does not include newlines, here we use python to prettify it): $ curl -s http://127.0.0.1:5000/accountnames | python -m json.tool@@ -409,22 +407,22 @@ "aprice": null, ... - Most of the JSON corresponds to hledger's data types; for details of- what the fields mean, see the Hledger.Data.Json haddock docs and click- on the various data types, eg Transaction. And for a higher level un-+ Most of the JSON corresponds to hledger's data types; for details of+ what the fields mean, see the Hledger.Data.Json haddock docs and click+ on the various data types, eg Transaction. And for a higher level un- derstanding, see the journal docs. In some cases there is outer JSON corresponding to a "Report" type. To understand that, go to the Hledger.Web.Handler.MiscR haddock and look at the source for the appropriate handler to see what it returns. Eg for /accounttransactions it's getAccounttransactionsR, returning a "ac-- countTransactionsReport ...". Looking up the haddock for that we can- see that /accounttransactions returns an AccountTransactionsReport,- which consists of a report title and a list of AccountTransactionsRe-+ countTransactionsReport ...". Looking up the haddock for that we can+ see that /accounttransactions returns an AccountTransactionsReport,+ which consists of a report title and a list of AccountTransactionsRe- portItem (etc). - You can add a new transaction to the journal with a PUT request to- /add, if hledger-web was started with the add capability (enabled by+ You can add a new transaction to the journal with a PUT request to+ /add, if hledger-web was started with the add capability (enabled by default). The payload must be the full, exact JSON representation of a hledger transaction (partial data won't do). You can get sample JSON from hledger-web's /transactions or /accounttransactions, or you can@@ -523,14 +521,14 @@ "tstatus": "Unmarked" } - And here's how to test adding it with curl. This should add a new en-+ And here's how to test adding it with curl. This should add a new en- try to your journal: $ curl http://127.0.0.1:5000/add -X PUT -H 'Content-Type: application/json' --data-binary @txn.json DEBUG OUTPUT Debug output- You can add --debug[=N] to the command line to log debug output. N+ You can add --debug[=N] to the command line to log debug output. N ranges from 1 (least output, the default) to 9 (maximum output). Typi- cally you would start with 1 and increase until you are seeing enough. Debug output goes to stderr, interleaved with the requests logged on@@ -539,12 +537,12 @@ hledger-web --debug=3 2>hledger-web.log. ENVIRONMENT- LEDGER_FILE The main journal file to use when not specified with+ LEDGER_FILE The main journal file to use when not specified with -f/--file. Default: $HOME/.hledger.journal. BUGS We welcome bug reports in the hledger issue tracker (shortcut:- http://bugs.hledger.org), or on the #hledger chat or hledger mail list+ http://bugs.hledger.org), or on the #hledger chat or hledger mail list (https://hledger.org/support). Some known issues:@@ -569,6 +567,4 @@ SEE ALSO hledger(1), hledger-ui(1), hledger-web(1), ledger(1) ---hledger-web-1.30 June 2023 HLEDGER-WEB(1)+hledger-web-1.31 September 2023 HLEDGER-WEB(1)