From 849c76c156b1e2ff28999cebd06935f17fb3a297 Mon Sep 17 00:00:00 2001 From: Hamdi LAADHARI Date: Mon, 7 Sep 2026 16:38:32 +0200 Subject: [PATCH] feat(site): add a landing page and deploy it to GitHub Pages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit QuickToss had nowhere to send someone who isn't already on GitHub. The README is a fine README, but "download the app" and "read the repo" are different jobs, and a .dmg behind a releases table asks a lot of a person who just wants their Downloads folder cleaned out. Adds site/index.html: the screenshot up front, the two Mac builds as the primary action, and the "QuickToss.app is damaged" workaround immediately after them rather than buried — every single user hits that dialog on first launch, and most read it as malware. The download buttons resolve the newest release's actual .dmg URLs at runtime from the GitHub API. Asset names carry the version, so there is no stable "latest" URL for them; without this the page would go stale on every release. It degrades to the releases page when the API is unreachable, so the buttons work with JS off. Deploys from main via an artifact rather than a gh-pages branch, so the page's source lives next to the code it describes and there is no branch to check out and hand-edit. Pages source must be set to "GitHub Actions" for the workflow to publish. Every claim is from the README: the previews list, the shortcuts, and the three privacy guarantees. Co-Authored-By: Claude Opus 5 --- .github/workflows/pages.yml | 46 ++++ site/apple-touch-icon.png | Bin 0 -> 5679 bytes site/icon-256.png | Bin 0 -> 4989 bytes site/icon.png | Bin 0 -> 10519 bytes site/index.html | 474 ++++++++++++++++++++++++++++++++++++ site/screenshot.png | Bin 0 -> 141815 bytes site/social-preview.png | Bin 0 -> 641422 bytes 7 files changed, 520 insertions(+) create mode 100644 .github/workflows/pages.yml create mode 100644 site/apple-touch-icon.png create mode 100644 site/icon-256.png create mode 100644 site/icon.png create mode 100644 site/index.html create mode 100644 site/screenshot.png create mode 100644 site/social-preview.png diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml new file mode 100644 index 0000000..be730d8 --- /dev/null +++ b/.github/workflows/pages.yml @@ -0,0 +1,46 @@ +name: Deploy landing page + +# Publishes site/ to GitHub Pages. Deploying from main via an artifact keeps +# the page's source next to the code it describes — there is no gh-pages +# branch to check out and hand-edit. +on: + push: + branches: + - main + paths: + - 'site/**' + - '.github/workflows/pages.yml' + workflow_dispatch: + +permissions: + contents: read + pages: write + id-token: write + +# A page is only ever the newest commit, so a queued run can be dropped — +# but never one that is mid-deploy. +concurrency: + group: pages + cancel-in-progress: false + +jobs: + deploy: + runs-on: ubuntu-latest + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + steps: + - name: Checkout code + uses: actions/checkout@v7 + + - name: Configure Pages + uses: actions/configure-pages@v5 + + - name: Upload site/ + uses: actions/upload-pages-artifact@v3 + with: + path: site + + - name: Deploy + id: deployment + uses: actions/deploy-pages@v4 diff --git a/site/apple-touch-icon.png b/site/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..cbad8eab0b24d5de0edc29ca764864c28832ad53 GIT binary patch literal 5679 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 literal 0 HcmV?d00001 diff --git a/site/icon-256.png b/site/icon-256.png new file mode 100644 index 0000000000000000000000000000000000000000..c6ca8746677deeac2951a560bfc5466141240c04 GIT binary patch literal 4989 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 A?*IS* literal 0 HcmV?d00001 diff --git a/site/icon.png b/site/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c768ad1056cf72afba331aea3293cb0e1b2efdfb GIT binary patch literal 10519 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 + + + + QuickToss — swipe through a cluttered folder and clear it out + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +

Your Downloads folder,
cleared out in one sitting.

+

+ Clean out a cluttered folder the way you'd swipe through a dating app: + one file at a time, left to toss, right to keep. +

+
+ QuickToss on the first of eight files in a folder: a large image preview with the file name, size and date below it, a red toss button and a green keep button. +
+
+
+ +
+
+
+

Download for macOS

+

+ Free and open source. Pick the build that matches your Mac. +

+ +

+ Not sure which you have? Apple menu → About This Mac. “Apple M…” means Apple Silicon. +

+

+ All releases + · + Changelog +

+
+
+ +
+
+
+

First launch: “QuickToss.app is damaged”

+

+ If macOS refuses to open the app, it isn't actually broken. + QuickToss isn't signed with a paid Apple Developer certificate yet, + and macOS blocks unsigned apps downloaded from the internet. Run + this once in Terminal, then open the app normally: +

+
+ xattr -cr /Applications/QuickToss.app + +
+

+ You'll need to repeat this after installing a new version. Removing + this friction is tracked in + issue #7. +

+
+
+
+ +
+
+

Three keys, and you're done

+
    +
  1. +

    1. Pick a folder

    +

    Start with Downloads. It's almost always the biggest win.

    +
  2. +
  3. +

    2. Toss or keep

    +

    + Swipe, or press to toss and + to keep. Each file gets a preview, so + you decide in a second. +

    +
  4. +
  5. +

    3. Change your mind

    +

    + Cmd+Z undoes any decision, and nothing + is ever permanently deleted. +

    +
  6. +
+ +
+ + + + + + + + +
KeyAction
or BackspaceToss — move to Trash
or SpaceKeep
IShow or hide file details
Cmd+ZUndo the last action
+
+
+
+ +
+
+

It previews what you're about to lose

+

+ Deciding is easy when you can see the file. QuickToss renders it inline + rather than showing you a filename and hoping. +

+
+
+

Images

+

JPEG, PNG, GIF, WebP, BMP, TIFF, HEIC

+
+
+

Documents

+

PDF, and plain-text formats — TXT, MD, RTF, LOG, JSON, XML, CSV, YAML

+
+
+

Video

+

MP4, MOV, AVI

+
+
+

+ Word, PowerPoint and spreadsheet files are picked up when scanning but + don't have a real preview yet — richer previews are tracked in + issue #12. +

+
+
+ +
+
+

Your files stay yours

+
    +
  • + Nothing is uploaded. QuickToss makes no network + requests with your files — everything happens locally. It only talks + to GitHub to check whether a newer version exists. +
  • +
  • + Nothing is permanently deleted. Tossed files go to + the system Trash and sit there until you empty it. +
  • +
  • + Nothing is read without asking. It only reads the + folder you explicitly choose. +
  • +
+
+
+
+ + + + + + diff --git a/site/screenshot.png b/site/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..24cd15a1a4f806c45979fc1258bd20ad1089ef63 GIT binary patch literal 141815 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