feat: redesign website with dark developer-focused aesthetic - #712
Open
afonsojramos wants to merge 8 commits into
Open
feat: redesign website with dark developer-focused aesthetic#712afonsojramos wants to merge 8 commits into
afonsojramos wants to merge 8 commits into
Conversation
✅ Deploy Preview for gitify ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
Member
|
Had a quick view before my flight tales off. Super sharp! I'll look more thoroughly tomorrow. One item I caught, the screenshots appeared to be stylized with macOS close, minimize window buttons. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Summary
gitify.io gets a full visual and content redesign: a dark "midnight console" aesthetic that matches the menu-bar product, a restructured story built from the real feature set, and a toolchain migration from Biome to oxlint + oxfmt. Build-time release fetching is also hardened so download buttons always render, even when the GitHub API is rate-limited.
What changed
oxfmt --migrate=biome). Prettier + prettier-plugin-astro covers.astrofiles only, since oxfmt cannot format them yet (see New concepts). CI, lint-staged, husky and VS Code settings updated accordingly.Validation
lint:check(oxlint + oxfmt --check + prettier --check) clean;buildgreen.New concepts
electron-builder
latest-*.ymlas rate-limit-free release metadataDirect download links need exact asset names, and Gitify's assets are versioned (
Gitify-7.0.0-universal.dmg), so no static permalink to "the latest dmg" can exist. The obvious source, the GitHub REST API, caps unauthenticated callers at 60 requests/hour per IP, which made local builds and previews hang whenever the quota ran out.Every electron-builder release also publishes
latest-mac.yml,latest.ymlandlatest-linux.ymlas plain static assets underreleases/latest/download/. Static assets are not API calls, so they are not rate-limited, and each file carries the version, release date and exact versioned asset filenames:LatestRelease.astronow walks that chain, so the hero always shows real per-OS download buttons. Boundary: this only works for release assets; stats like stars and forks still require the API.The oxc toolchain and its Astro gap
oxc (oxlint + oxfmt) is a Rust-based, Prettier-compatible lint/format toolchain that replaces Biome here. The piece worth knowing before reviewing the config: oxlint understands
.astrofrontmatter natively, but oxfmt cannot format.astrofiles yet (tracked in oxc-project/oxc#19715, Svelte shipped but Astro has not). The bridge is Prettier with prettier-plugin-astro scoped to.astrofiles only, which is also what the Astro VS Code extension already uses, so editor and CLI formatting agree.When oxfmt ships Astro support,
.prettierrc.mjsand the two prettier dev dependencies can be deleted with no other changes. Boundary: if a project depends on Biome-specific rules with no oxc equivalent (e.g.noSvgWithoutTitlehere), that check is lost in the swap.