diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml new file mode 100644 index 00000000..d2c785b2 --- /dev/null +++ b/.github/workflows/pages.yml @@ -0,0 +1,58 @@ +name: Deploy Pages site + +# Fast, build-free deploy of the STATIC GitHub Pages content (landing page, README, icon, and the +# .flatpakref install files). None of these depend on the native application build, so they must not +# require a full Build & Release run to go live — this workflow publishes them to gh-pages in seconds. +# +# The Flatpak OSTree repo (the actual app payload under repo/) is NOT touched here; it is regenerated +# only by the Build & Release "Linux Flatpak" job. We publish with keep_files: true so the existing +# repo/ directory on gh-pages is preserved while these static files are added/overwritten. + +on: + push: + branches: + - main + paths: + - 'packaging/linux/flatpak/pages-index.html' + - 'packaging/linux/flatpak/*.flatpakref' + - 'README.md' + - 'app-icon.png' + - '.github/workflows/pages.yml' + workflow_dispatch: + +# One deploy at a time; a newer push supersedes an in-flight one. +concurrency: + group: pages-static + cancel-in-progress: true + +jobs: + deploy: + name: Publish static site + # Only on the canonical repo — forks have no gh-pages to publish to. + if: github.repository == 'nvdweem/PCPanel' + runs-on: ubuntu-latest + permissions: + contents: write + steps: + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + + - name: Stage static site + run: | + set -euxo pipefail + mkdir -p site + cp packaging/linux/flatpak/pages-index.html site/index.html + cp packaging/linux/flatpak/com.getpcpanel.PCPanel.stable.flatpakref site/ + cp packaging/linux/flatpak/com.getpcpanel.PCPanel.snapshot.flatpakref site/ + cp README.md site/README.md + cp app-icon.png site/app-icon.png + touch site/.nojekyll + + # keep_files: true leaves everything already on gh-pages (crucially the OSTree repo/) in place and + # only writes the static files above — so this never disturbs the Flatpak payload. + - name: Publish to gh-pages + uses: peaceiris/actions-gh-pages@84c30a85c19949d7eee79c4ff27748b70285e453 # v4.1.0 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: ./site + publish_branch: gh-pages + keep_files: true diff --git a/README.md b/README.md index 90632167..f90b4e1d 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,10 @@ Turn the knobs, sliders and buttons on your [PCPanel](https://getpcpanel.com) in controls for everything on your PC: per-app volume, your microphone, Discord voice, OBS scenes, media playback, keyboard shortcuts and more. +> ## 📥 [**Download & install → nvdweem.github.io/PCPanel**](https://nvdweem.github.io/PCPanel/) +> Installation instructions and downloads for **Windows, macOS and Linux** live on the project +> page. This README is aimed at contributors. + This is **third-party, community-maintained** software for PCPanel hardware. It is a drop-in alternative to the official app that adds features and bug fixes requested by the community. diff --git a/packaging/linux/flatpak/pages-index.html b/packaging/linux/flatpak/pages-index.html index 599f02e1..2cabc39e 100644 --- a/packaging/linux/flatpak/pages-index.html +++ b/packaging/linux/flatpak/pages-index.html @@ -11,10 +11,15 @@ * { box-sizing: border-box; } body { margin:0; background:var(--bg); color:var(--fg); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; line-height:1.5; } .wrap { max-width: 920px; margin:0 auto; padding: 28px 20px 60px; } - .hero { display:flex; gap:18px; align-items:center; margin-bottom:22px; } - .hero img { width:72px; height:72px; border-radius:16px; } + .hero { display:flex; gap:18px; align-items:flex-start; justify-content:space-between; margin-bottom:22px; } + .hero-title { display:flex; gap:18px; align-items:center; flex:1 1 auto; min-width:0; } + .hero img { width:72px; height:72px; border-radius:16px; flex-shrink:0; } .hero h1 { margin:0 0 4px; font-size:1.7rem; } .hero p { margin:0; color:var(--muted); } + .gh-btn { display:inline-flex; align-items:center; gap:8px; white-space:nowrap; flex-shrink:0; text-decoration:none; + color:var(--fg); background:var(--panel); border:1px solid var(--border); border-radius:8px; + padding:8px 14px; font-size:.9rem; font-weight:600; } + .gh-btn:hover { border-color:var(--fg); } .card { background:var(--panel); border:1px solid var(--border); border-radius:12px; padding:20px; margin-bottom:22px; } .osbar { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px; } .osbar button { cursor:pointer; background:var(--bg); color:var(--fg); border:1px solid var(--border); border-radius:999px; padding:7px 16px; font-size:.92rem; } @@ -45,11 +50,17 @@
Community controller software for PCPanel USB audio devices — per-app volume, mute, OBS, media and more.
+Community controller software for PCPanel USB audio devices — per-app volume, mute, OBS, media and more.
+