#!/usr/bin/env bash
# ghrelnotes REL - generate github release notes for REL.   -*- markdown -*-

cd "$(dirname $0)"

cat <<'END'

<details>
<summary>

## Release notes

</summary>

END

export REL=$1
# extract REL notes from relnotes.md
awk "/^## .*-${REL//./'\.'}$/{p=1;next} /^## /{p=0} p" relnotes.md

envsubst '$REL' <<'END'
</details>

<details>
<summary>

## Install

</summary>


For all install options, see [hledger.org: Install](https://hledger.org/install).
You can install hledger from most package managers (but check for a green badge indicating it's up to date).
Or you can build it from source yourself.

Or you can install up to date binaries from this page, by following the appropriate instructions below.
If you find problems with these instructions, please [let us know](https://hledger.org/support).

<!--
Updates to binaries:
- YYYY-MM-DD: description. [#NNNN](https://github.com/simonmichael/hledger/issues/NNNN)
-->

<xdetails>
<summary>

### All platforms

</summary>

If you have [eget](https://github.com/zyedidia/eget), that's a convenient way to download the right binaries for your machine:
```
eget simonmichael/hledger --all
```

Otherwise:

</xdetails>
<xdetails>
<summary>

### GNU/Linux, 64-bit Intel

</summary>

At the command line:

```
curl -fLOC- https://github.com/simonmichael/hledger/releases/download/$REL/hledger-linux-x64.tar.gz | tar -xzv -f- -C/usr/local/bin hledger hledger-ui hledger-web
hledger --version; hledger-ui --version; hledger-web --version    # should show $REL
```

</xdetails>
<xdetails>
<summary>

### Mac, 64-bit ARM or Intel

</summary>

In a terminal window (don't download the binaries with your web browser, they won't get authorised):
<!--
(Hopefully these commands are all installed by default; 
if not, install [XCode Command Line Tools](https://mac.install.guide/commandlinetools/) 
and/or [Homebrew](https://brew.sh), and let me know.)
-->

On ARM macs:
```
curl -fLOC- https://github.com/simonmichael/hledger/releases/download/$REL/hledger-mac-arm64.tar.gz | tar -xzv -f- -C/usr/local/bin hledger hledger-ui hledger-web
hledger --version; hledger-ui --version; hledger-web --version    # should show $REL
```

On Intel macs:
```
curl -fLOC- https://github.com/simonmichael/hledger/releases/download/$REL/hledger-mac-x64.tar.gz | tar -xzv -f- -C/usr/local/bin hledger hledger-ui hledger-web
hledger --version; hledger-ui --version; hledger-web --version    # should show $REL
```

</xdetails>
<xdetails>
<summary>

### Windows, 64-bit ARM or Intel

</summary>

In a powershell window (press `WINDOWS-R`, `powershell`, `ENTER`):

```
cd ~
curl https://github.com/simonmichael/hledger/releases/download/1.43.2/hledger-windows-x64.zip -OutFile hledger-windows-x64.zip
Expand-Archive hledger-windows-x64.zip -Force -DestinationPath AppData\Roaming\local\bin
hledger --version; hledger-ui --version; hledger-web --version    # should show $REL
```

<!--
And ensure a default journal file exists, and without a problematic encoding (I'm not sure if/why "ascii" was needed here).
This will allow you to start hledger-web by double-clicking on its icon if you wish.
```
out-file -append -encoding ascii $HOME/.hledger.journal
```
-->

</xdetails>
<xdetails>
<summary>

### Windows 7, 64-bit Intel

</summary>

These instructions have not been tested recently, please [let us know](https://hledger.org/support) if they work for you:

- click hledger-windows-x64.zip below
- choose Open with Windows Explorer, OK
- click Extract all files
- choose a destination folder - ideally one that appears in `echo %PATH%`, like `C:\Windows` (though that one will require administrator permission); otherwise, your home directory (`C:\Users\YOURNAME`)
- check "Show extracted files when complete"
- click Extract, wait for the destination folder to open
- find the hledger, hledger-web icons (if you extracted to `\Windows`, you'll need to scroll down)
- for each icon: double-click, uncheck "Always ask before opening this file", click Run
- close those Explorer windows
- open a command window (press Windows-r, type CMD, press enter)
- `hledger --version; hledger-ui --version; hledger-web --version`    should show $REL
- `echo # >> .hledger.journal` to ensure a default journal file exists. (Important: the doubled **>>** is needed to avoid overwriting existing data.)

Problems:
- Starting hledger by double-clicking its icon won't work because it needs arguments; run it from the command window instead.
- Starting hledger-web by double-clicking its icon may fail eg because Explorer's command window is too small;
  configure that to be larger, or run hledger-web from a command window instead.
- hledger or hledger-web may fail to run if there is not enough memory available.

</xdetails>

### Next steps
Once installed, run `hledger`, and perhaps read [hledger.org: Quick start](https://hledger.org/#quick-start).

</details>
END
