Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
71 changes: 71 additions & 0 deletions .github/workflows/pages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
# Copyright (c) 2025-2026 Anton Kundenko <singaraiona@gmail.com>
# All rights reserved.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.

# Deploys site/ to GitHub Pages on every push to main that touches it,
# and on manual dispatch. The site is purely static (HTML/CSS/JS, no
# build step), so the workflow just bundles the directory and hands it
# to the official actions/deploy-pages action.
#
# Prerequisite (one-time): in repo settings, Pages -> Source -> select
# "GitHub Actions". The first push after this lands the site at
# https://rayforcedb.github.io/raysense/.

name: pages

on:
push:
branches: [main]
paths:
- 'site/**'
- '.github/workflows/pages.yml'
workflow_dispatch:

permissions:
contents: read
pages: write
id-token: write

# Avoid concurrent deploys racing each other.
concurrency:
group: pages
cancel-in-progress: false

jobs:
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6

- name: Configure Pages
uses: actions/configure-pages@v5

- name: Upload site/ as Pages artifact
uses: actions/upload-pages-artifact@v3
with:
path: site

- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
58 changes: 58 additions & 0 deletions site/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# site/

Single-page landing site for raysense, deployed to GitHub Pages by
`.github/workflows/pages.yml`. Lives at
[https://rayforcedb.github.io/raysense/](https://rayforcedb.github.io/raysense/)
once the workflow runs (and after the one-time Pages-source step
described below).

## Local preview

Pure static HTML/CSS, no build step. Serve from this directory:

```bash
cd site
python3 -m http.server 8000
# open http://localhost:8000
```

## Layout

```
site/
index.html landing page
style.css all styles, single file
assets/
favicon.svg
fonts/ Inter, Oswald, JetBrains Mono (woff2, latin)
img/
treemap-mockup.svg PLACEHOLDER, swap with a real dashboard screenshot
```

## Replacing the treemap mockup

The hero shows `assets/img/treemap-mockup.svg`, a stand-in. To replace
with a real dashboard capture:

1. `cargo run -- . --ui` (or `cargo install raysense && raysense . --ui`).
2. Open `http://localhost:7000` in a browser, wait for the treemap to
settle, take a screenshot at ~1440x960 (so it scales cleanly to the
720x480 hero slot).
3. Save as `site/assets/img/treemap.png` (or `.gif` for animated).
4. In `index.html`, change the `<img src>` from
`assets/img/treemap-mockup.svg` to `assets/img/treemap.png` and
update the `alt` text. Drop or keep the SVG mockup as a fallback.

## One-time GitHub Pages setup

The deploy workflow assumes Pages is configured to use GitHub Actions
as its source. In repo Settings -> Pages, set Source to "GitHub
Actions". After the first successful workflow run, the site URL
appears in the deploy step's output.

## Editing copy

`index.html` is the only page; the canonical wording mirrors the
project [README](../README.md). When the README changes, sync the
hero / problem / quality-signal / what-you-get sections so the two
stay aligned. The README is the source of truth.
9 changes: 9 additions & 0 deletions site/assets/favicon.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added site/assets/fonts/inter-400.woff2
Binary file not shown.
Binary file added site/assets/fonts/inter-600.woff2
Binary file not shown.
Binary file added site/assets/fonts/inter-700.woff2
Binary file not shown.
Binary file added site/assets/fonts/jbmono-400.woff2
Binary file not shown.
Binary file added site/assets/fonts/jbmono-600.woff2
Binary file not shown.
Binary file added site/assets/fonts/oswald-600.woff2
Binary file not shown.
Binary file added site/assets/fonts/oswald-700.woff2
Binary file not shown.
145 changes: 145 additions & 0 deletions site/assets/img/treemap-mockup.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading