diff --git a/.github/actions/docs-spelling/excludes.txt b/.github/actions/docs-spelling/excludes.txt index ed14516798..71956a14c9 100644 --- a/.github/actions/docs-spelling/excludes.txt +++ b/.github/actions/docs-spelling/excludes.txt @@ -73,3 +73,4 @@ ignore$ (?:^|/)(?i)docusaurus.config.js (?:^|/)(?i)README.md ^\static/ +\.tsx$ diff --git a/.github/workflows/release-notes.yml b/.github/workflows/release-notes.yml index 41363d55ea..b4cd2b3f20 100644 --- a/.github/workflows/release-notes.yml +++ b/.github/workflows/release-notes.yml @@ -20,7 +20,7 @@ jobs: run: | git fetch origin ${{ github.base_ref }} CHANGED_FILES=$(git diff --name-only origin/${{ github.base_ref }}...HEAD) - NON_DOCS_FILES=$(echo "$CHANGED_FILES" | grep -v "^packages/docs/" || true) + NON_DOCS_FILES=$(echo "$CHANGED_FILES" | grep -v -e "^packages/docs/" -e "^\.github/actions/docs-spelling/" || true) if [ -z "$NON_DOCS_FILES" ] && [ -n "$CHANGED_FILES" ]; then echo "only_docs=true" >> $GITHUB_OUTPUT diff --git a/packages/docs/src/components/DownloadCard.tsx b/packages/docs/src/components/DownloadCard.tsx new file mode 100644 index 0000000000..31e9772842 --- /dev/null +++ b/packages/docs/src/components/DownloadCard.tsx @@ -0,0 +1,47 @@ +import type { ReactElement } from 'react'; + +type DownloadLink = { + label: string; + url: string; +}; + +type DownloadCardProps = { + icon: ReactElement; + platform: string; + links: DownloadLink[]; +}; + +export function DownloadCard({ icon, platform, links }: DownloadCardProps) { + return ( +
+
+ {icon} +
+

{platform}

+ {links.map(link => ( + + {link.label} + + ))} +
+ ); +} diff --git a/packages/docs/src/pages/download.md b/packages/docs/src/pages/download.md index 77af9b3183..70b0fe2859 100644 --- a/packages/docs/src/pages/download.md +++ b/packages/docs/src/pages/download.md @@ -9,6 +9,7 @@ hide_table_of_contents: true import Winsvg from '../../static/img/win.svg' import Macsvg from '../../static/img/apple.svg' import Linuxsvg from '../../static/img/linux.svg' +import { DownloadCard } from '../components/DownloadCard' # Downloads @@ -16,16 +17,67 @@ The simplest way to use Actual is to download the desktop application. This wil ## Desktop Client -|||||| -|:--:|:--:|:--:|:--:|:--:| -|||||| -|[Windows](https://apps.microsoft.com/detail/9p2hmlhsdbrm?cid=actualbudget.org&mode=direct)|[Intel Mac (x64)](https://github.com/actualbudget/actual/releases/latest/download/Actual-mac-x64.dmg)|[Apple Silicon Mac (arm64)](https://github.com/actualbudget/actual/releases/latest/download/Actual-mac-arm64.dmg)|[Linux (Appimage)](https://github.com/actualbudget/actual/releases/latest/download/Actual-linux-x86_64.AppImage)|[Linux (Flatpak) ](https://github.com/actualbudget/actual/releases/latest/download/Actual-linux-x86_64.flatpak)| +
+} + platform="Windows" + links={[ + { + label: 'Microsoft Store', + url: 'https://apps.microsoft.com/detail/9p2hmlhsdbrm?cid=actualbudget.org&mode=direct' + }, + { + label: 'Manual Download (x64)', + url: 'https://github.com/actualbudget/actual/releases/latest/download/Actual-windows-x64.exe' + }, + { + label: 'Manual Download (arm64)', + url: 'https://github.com/actualbudget/actual/releases/latest/download/Actual-windows-arm64.exe' + }, + ]} + /> + + } + platform="macOS" + links={[ + { + label: 'Intel (x64)', + url: 'https://github.com/actualbudget/actual/releases/latest/download/Actual-mac-x64.dmg' + }, + { + label: 'Apple Silicon (arm64)', + url: 'https://github.com/actualbudget/actual/releases/latest/download/Actual-mac-arm64.dmg' + } + ]} + /> + + } + platform="Linux" + links={[ + { + label: 'AppImage (x64)', + url: 'https://github.com/actualbudget/actual/releases/latest/download/Actual-linux-x86_64.AppImage' + }, + { + label: 'AppImage (arm64)', + url: 'https://github.com/actualbudget/actual/releases/latest/download/Actual-linux-arm64.AppImage' + }, + { + label: 'Flatpak', + url: 'https://github.com/actualbudget/actual/releases/latest/download/Actual-linux-x86_64.flatpak' + } + ]} + /> +
## Server Download Actual has two parts, the client and a sync server. The primary task of the sync server is to sync your budget between devices, and to enable bank syncing. We have a full write up of [if you need a server or not](/docs/install/). We also have install guides on how to set up the server in the following ways * [PikaPods](/docs/install/pikapods) * [Fly.io](/docs/install/fly) +* [CLI Tool](/docs/install/cli-tool) * [Docker Install](/docs/install/docker) * [Build from source](/docs/install/build-from-source) diff --git a/upcoming-release-notes/6231.md b/upcoming-release-notes/6231.md new file mode 100644 index 0000000000..9c39a4cea1 --- /dev/null +++ b/upcoming-release-notes/6231.md @@ -0,0 +1,6 @@ +--- +category: Maintenance +authors: [MikesGlitch] +--- + +Updating the release notes workflow to not run when docs related config have changed