From bb83baaab261f19cc5c724f4b603a71d2e694c74 Mon Sep 17 00:00:00 2001 From: Luca Casonato Date: Wed, 3 Jun 2026 16:23:53 +0200 Subject: [PATCH] New domain: usefresh.dev --- .github/CONTRIBUTING.md | 2 +- .github/workflows/ci.yml | 2 +- AGENTS.md | 2 +- README.md | 25 +++++++++---------- docs/1.x/concepts/middleware.md | 2 +- docs/1.x/concepts/updating.md | 2 +- .../examples/authentication-with-supabase.md | 4 +-- docs/1.x/examples/changing-the-src-dir.md | 4 +-- docs/1.x/examples/rendering-markdown.md | 2 +- docs/1.x/examples/setting-the-language.md | 4 +-- docs/1.x/examples/using-twind-v1.md | 4 +-- docs/1.x/getting-started/create-a-project.md | 2 +- docs/latest/contributing/index.md | 2 +- packages/build-id/mod.ts | 2 +- packages/examples/README.md | 2 +- packages/fresh/README.md | 4 +-- .../automatic_workspace_folders.ts | 2 +- .../__snapshots__/round_trip_test.ts.snap | 2 +- packages/fresh/src/jsonify/round_trip_test.ts | 2 +- .../src/server/tailwind_aot_error_page.tsx | 2 +- packages/init/README.md | 4 +-- packages/init/src/init.ts | 4 +-- packages/plugin-tailwindcss-v3/README.md | 3 +-- packages/plugin-tailwindcss/README.md | 3 +-- packages/plugin-vite/README.md | 4 +-- packages/update/README.md | 4 +-- packages/update/src/update.ts | 2 +- packages/update/src/update_test.ts | 2 +- www/main.ts | 9 +++++++ 29 files changed, 57 insertions(+), 51 deletions(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index c1a99446ce5..c409b78ac0d 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -1,7 +1,7 @@ # Contributing Guidelines For the full contributing guide, see the -[Fresh documentation](https://fresh.deno.dev/docs/latest/contributing). +[Fresh documentation](https://usefresh.dev/docs/latest/contributing). ## PR title format diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fa0185c4163..9ad207efd56 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -71,7 +71,7 @@ jobs: - name: Check docs run: deno task check:docs - - name: Build fresh.deno.dev + - name: Build usefresh.dev if: startsWith(matrix.os, 'ubuntu') && matrix.deno == 'v2.x' run: deno task build-www diff --git a/AGENTS.md b/AGENTS.md index 8b03be67b24..52039c9f8f7 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -24,7 +24,7 @@ with workspace members in `packages/*` and `www/`. ### Other directories -- **`www/`**: Documentation website (fresh.deno.dev), built with Fresh + Vite + +- **`www/`**: Documentation website (usefresh.dev), built with Fresh + Vite + Tailwind. Has its own routes, islands, and vite.config.ts. - **`docs/`**: Markdown documentation organized by version (`latest/`, `1.x/`, `canary/`). diff --git a/README.md b/README.md index ecee756c165..e7bbaf1e4f0 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ # fresh -The Fresh logo: a sliced lemon dripping with juice +The Fresh logo: a sliced lemon dripping with juice **Fresh** is a next generation web framework, built for speed, reliability, and simplicity. @@ -18,8 +18,8 @@ Some stand-out features: ## πŸ“– Documentation -The [documentation](https://fresh.deno.dev/docs/introduction) is available on -[fresh.deno.dev](https://fresh.deno.dev/). +The [documentation](https://usefresh.dev/docs/introduction) is available on +[usefresh.dev](https://usefresh.dev/). ## πŸš€ Getting started @@ -58,7 +58,7 @@ To deploy the project to the live internet, you can use subdomain with no configuration necessary. For a more in-depth getting started guide, visit the -[Getting Started](https://fresh.deno.dev/docs/getting-started) page in the Fresh +[Getting Started](https://usefresh.dev/docs/getting-started) page in the Fresh docs. ## Contributing @@ -69,9 +69,8 @@ We appreciate your help! To contribute, please read our ## Adding your project to the showcase If you feel that your project would be helpful to other Fresh users, please -consider putting your project on the -[showcase](https://fresh.deno.dev/showcase). However, websites that are just for -promotional purposes may not be listed. +consider putting your project on the [showcase](https://usefresh.dev/showcase). +However, websites that are just for promotional purposes may not be listed. To take a screenshot, run the following command. @@ -88,15 +87,15 @@ preferably with source code on GitHub, but not required. ![Made with Fresh](./www/static/fresh-badge.svg) ```md -[![Made with Fresh](https://fresh.deno.dev/fresh-badge.svg)](https://fresh.deno.dev) +[![Made with Fresh](https://usefresh.dev/fresh-badge.svg)](https://usefresh.dev) ``` ```html - + Made with Fresh @@ -105,15 +104,15 @@ preferably with source code on GitHub, but not required. ![Made with Fresh(dark)](./www/static/fresh-badge-dark.svg) ```md -[![Made with Fresh](https://fresh.deno.dev/fresh-badge-dark.svg)](https://fresh.deno.dev) +[![Made with Fresh](https://usefresh.dev/fresh-badge-dark.svg)](https://usefresh.dev) ``` ```html - + Made with Fresh diff --git a/docs/1.x/concepts/middleware.md b/docs/1.x/concepts/middleware.md index 549cc8ebe63..d7c97795edf 100644 --- a/docs/1.x/concepts/middleware.md +++ b/docs/1.x/concepts/middleware.md @@ -144,7 +144,7 @@ for a `route`, as opposed to something like `http://localhost:8001/favicon.ico`. ### Example -Initiate a new Fresh project (`deno run -A -r https://fresh.deno.dev/`) and then +Initiate a new Fresh project (`deno run -A -r https://usefresh.dev/`) and then create a `_middleware.ts` file in the `routes` folder like this: ```ts routes/_middleware.ts diff --git a/docs/1.x/concepts/updating.md b/docs/1.x/concepts/updating.md index a47e05ac59a..c935a0d8fc8 100644 --- a/docs/1.x/concepts/updating.md +++ b/docs/1.x/concepts/updating.md @@ -42,7 +42,7 @@ To run the auto updater, run the following command from the root of your project: ```sh Terminal -$ deno run -A -r https://fresh.deno.dev/update +$ deno run -A -r https://usefresh.dev/update ``` You will be prompted to confirm the changes that will be made to your project. diff --git a/docs/1.x/examples/authentication-with-supabase.md b/docs/1.x/examples/authentication-with-supabase.md index 43b93a23778..61f937a4c0c 100644 --- a/docs/1.x/examples/authentication-with-supabase.md +++ b/docs/1.x/examples/authentication-with-supabase.md @@ -24,7 +24,7 @@ The purpose of the example app we're building here is to showcase the basic building blocks of an implementation. As such, it is limited in functionality and purposefully leaves out things like [password resets](https://supabase.com/docs/guides/auth/server-side/email-based-auth-with-pkce-flow-for-ssr), -[proper error handling](https://fresh.deno.dev/docs/1.x/concepts/error-pages) as +[proper error handling](https://usefresh.dev/docs/1.x/concepts/error-pages) as well as validating input form data. You can find the [full code here](https://github.com/morlinbrot/supa-fresh-pkce), where the missing functionality is implemented. @@ -226,7 +226,7 @@ we are writing next. We can now write a middleware that will check the auth status of any request, guarding any protected routes. You can read up on middlewares and where to put -them [in the docs](https://fresh.deno.dev/docs/1.x/concepts/middleware). +them [in the docs](https://usefresh.dev/docs/1.x/concepts/middleware). ```ts routes/_middleware.ts import { FreshContext } from "$fresh/server.ts"; diff --git a/docs/1.x/examples/changing-the-src-dir.md b/docs/1.x/examples/changing-the-src-dir.md index 1bb6240576e..850da43668a 100644 --- a/docs/1.x/examples/changing-the-src-dir.md +++ b/docs/1.x/examples/changing-the-src-dir.md @@ -3,8 +3,8 @@ description: | Change the source directory to effectively manage your project. --- -When you initialize a project with `deno run -A -r https://fresh.deno.dev`, -you'll end up with a project like the following: +When you initialize a project with `deno run -A -r https://usefresh.dev`, you'll +end up with a project like the following: ```txt-files Project Structure diff --git a/docs/1.x/examples/rendering-markdown.md b/docs/1.x/examples/rendering-markdown.md index 572dd48c387..1df6cb2680d 100644 --- a/docs/1.x/examples/rendering-markdown.md +++ b/docs/1.x/examples/rendering-markdown.md @@ -11,7 +11,7 @@ possibilities: 3. the markdown is on a file The following file uses -[dynamic routing](https://fresh.deno.dev/docs/getting-started/dynamic-routes) to +[dynamic routing](https://usefresh.dev/docs/getting-started/dynamic-routes) to handle the three cases. It's assumed this file is called `[slug].tsx`: ```ts routes/[slug].tsx diff --git a/docs/1.x/examples/setting-the-language.md b/docs/1.x/examples/setting-the-language.md index a8b4b176e43..8cb161c2a2d 100644 --- a/docs/1.x/examples/setting-the-language.md +++ b/docs/1.x/examples/setting-the-language.md @@ -3,8 +3,8 @@ description: | Set the lang attribute in the tag. --- -When you initialize a project with `deno run -A -r https://fresh.deno.dev`, -you'll end up with a `main.ts` like the following: +When you initialize a project with `deno run -A -r https://usefresh.dev`, you'll +end up with a `main.ts` like the following: ```ts main.ts /// diff --git a/docs/1.x/examples/using-twind-v1.md b/docs/1.x/examples/using-twind-v1.md index 07e7d75f4d5..243f8601c88 100644 --- a/docs/1.x/examples/using-twind-v1.md +++ b/docs/1.x/examples/using-twind-v1.md @@ -3,8 +3,8 @@ description: | With a few tweaks one can use twind v1 --- -When you initialize a project with `deno run -A -r https://fresh.deno.dev`, -you'll end up with a `main.ts` like the following: +When you initialize a project with `deno run -A -r https://usefresh.dev`, you'll +end up with a `main.ts` like the following: ```ts main.ts /// diff --git a/docs/1.x/getting-started/create-a-project.md b/docs/1.x/getting-started/create-a-project.md index b8433cdc7eb..6e48d2c043e 100644 --- a/docs/1.x/getting-started/create-a-project.md +++ b/docs/1.x/getting-started/create-a-project.md @@ -10,7 +10,7 @@ will scaffold out a new project with some example files to get you started. To create a new project, run: ```sh Terminal -deno run -A -r https://fresh.deno.dev +deno run -A -r https://usefresh.dev cd fresh-project deno task start ``` diff --git a/docs/latest/contributing/index.md b/docs/latest/contributing/index.md index 6918695333f..fcf9a1cffac 100644 --- a/docs/latest/contributing/index.md +++ b/docs/latest/contributing/index.md @@ -13,7 +13,7 @@ Fresh is organized as a monorepo with multiple packages: - **`packages/plugin-tailwindcss-v3/`** - Tailwind CSS v3 plugin - **`packages/init/`** - Project scaffolding tool - **`packages/update/`** - Fresh update utilities -- **`www/`** - Documentation website (fresh.deno.dev) +- **`www/`** - Documentation website (usefresh.dev) ## Getting Started diff --git a/packages/build-id/mod.ts b/packages/build-id/mod.ts index 0778a5d74a7..a81a7c39c0e 100644 --- a/packages/build-id/mod.ts +++ b/packages/build-id/mod.ts @@ -6,7 +6,7 @@ * // `BUILD_ID` is based on the `DENO_DEPLOYMENT_ID` environment variable. * ``` * - * @see https://fresh.deno.dev/docs/deployment/docker + * @see https://usefresh.dev/docs/deployment/docker * * @module * @private diff --git a/packages/examples/README.md b/packages/examples/README.md index 2e76a69aa0f..07747d3f766 100644 --- a/packages/examples/README.md +++ b/packages/examples/README.md @@ -3,7 +3,7 @@ This package contains examples for using Fresh with [JSR](https://jsr.io/). Learn more about the Fresh framework here: -[https://fresh.deno.dev/](https://fresh.deno.dev/) +[https://usefresh.dev/](https://usefresh.dev/) ## Usage: Island example diff --git a/packages/fresh/README.md b/packages/fresh/README.md index 2ac197c1162..8e94e5ef096 100644 --- a/packages/fresh/README.md +++ b/packages/fresh/README.md @@ -4,7 +4,7 @@ Fresh is a small, fast and extensible full stack web framework built on Web Standards. It’s designed for building high-quality, performant, and personalized web applications. -[Learn more about Fresh](https://fresh.deno.dev/) +[Learn more about Fresh](https://usefresh.dev/) ## Usage @@ -28,4 +28,4 @@ app.listen(); ``` For more information on getting started with Fresh, head on over to the -[documentation](https://fresh.deno.dev/docs/introduction). +[documentation](https://usefresh.dev/docs/introduction). diff --git a/packages/fresh/src/dev/middlewares/automatic_workspace_folders.ts b/packages/fresh/src/dev/middlewares/automatic_workspace_folders.ts index 6138ce5b364..22ec1999331 100644 --- a/packages/fresh/src/dev/middlewares/automatic_workspace_folders.ts +++ b/packages/fresh/src/dev/middlewares/automatic_workspace_folders.ts @@ -34,7 +34,7 @@ export function automaticWorkspaceFolders(root: string): Middleware { uuid ??= await generate( NAMESPACE_URL, new TextEncoder().encode( - `https://fresh.deno.dev?root=${encodeURIComponent(root)}&v=${0}`, + `https://usefresh.dev?root=${encodeURIComponent(root)}&v=${0}`, ), ); content ??= JSON.stringify({ workspace: { root, uuid } }, undefined, 2); diff --git a/packages/fresh/src/jsonify/__snapshots__/round_trip_test.ts.snap b/packages/fresh/src/jsonify/__snapshots__/round_trip_test.ts.snap index 63f78585dc7..793ace1ec31 100644 --- a/packages/fresh/src/jsonify/__snapshots__/round_trip_test.ts.snap +++ b/packages/fresh/src/jsonify/__snapshots__/round_trip_test.ts.snap @@ -40,7 +40,7 @@ snapshot[`round trip - { a: 1, b: null, c: -2 } 1`] = `'[{"a":1,"b":-2,"c":2},1, snapshot[`round trip - Uint8Array(3) [ 1, 2, 3 ] 1`] = `'[["Uint8Array","AQID"]]'`; -snapshot[`round trip - URL {\\n href: 'https://fresh.deno.dev/',\\n origin: 'https://fresh.deno.dev',\\n protocol: 'https:',\\n username: '',\\n password: '',\\n host: 'fresh.deno.dev',\\n hostname: 'fresh.deno.dev',\\n port: '',\\n pathname: '/',\\n hash: '',\\n search: ''\\n} 1`] = `'[["URL","https://fresh.deno.dev/"]]'`; +snapshot[`round trip - URL {\\n href: 'https://usefresh.dev/',\\n origin: 'https://usefresh.dev',\\n protocol: 'https:',\\n username: '',\\n password: '',\\n host: 'usefresh.dev',\\n hostname: 'usefresh.dev',\\n port: '',\\n pathname: '/',\\n hash: '',\\n search: ''\\n} 1`] = `'[["URL","https://usefresh.dev/"]]'`; snapshot[`round trip - 1990-05-31T00:00:00.000Z 1`] = `'[["Date","1990-05-31T00:00:00.000Z"]]'`; diff --git a/packages/fresh/src/jsonify/round_trip_test.ts b/packages/fresh/src/jsonify/round_trip_test.ts index 5c44d0424df..e91eecdae77 100644 --- a/packages/fresh/src/jsonify/round_trip_test.ts +++ b/packages/fresh/src/jsonify/round_trip_test.ts @@ -32,7 +32,7 @@ const TESTS = [ [null, undefined, -2], { a: 1, b: null, c: -2 }, new Uint8Array([1, 2, 3]), - new URL("https://fresh.deno.dev"), + new URL("https://usefresh.dev"), new Date("1990-05-31"), new Date("Invalid Date"), new Map([[1, null], [undefined, -2]]), diff --git a/packages/fresh/src/server/tailwind_aot_error_page.tsx b/packages/fresh/src/server/tailwind_aot_error_page.tsx index 420f7437e6e..19c8a277951 100644 --- a/packages/fresh/src/server/tailwind_aot_error_page.tsx +++ b/packages/fresh/src/server/tailwind_aot_error_page.tsx @@ -1,4 +1,4 @@ -const LINK = "https://fresh.deno.dev/docs/concepts/ahead-of-time-builds"; +const LINK = "https://usefresh.dev/docs/concepts/ahead-of-time-builds"; export default function TailwindErrorPage() { return ( diff --git a/packages/init/README.md b/packages/init/README.md index eec288dd023..d4632d8a8ac 100644 --- a/packages/init/README.md +++ b/packages/init/README.md @@ -6,5 +6,5 @@ This is a CLI tool to bootstrap a new Fresh project. To do so, run this command: deno run -Ar jsr:@fresh/init ``` -Go to [https://fresh.deno.dev/](https://fresh.deno.dev/) for more information -about Fresh. +Go to [https://usefresh.dev/](https://usefresh.dev/) for more information about +Fresh. diff --git a/packages/init/src/init.ts b/packages/init/src/init.ts index 8400b3e8e12..37f753f6872 100644 --- a/packages/init/src/init.ts +++ b/packages/init/src/init.ts @@ -388,7 +388,7 @@ import "./assets/styles.css";`, await writeFile("static/logo.svg", STATIC_LOGO); try { - const res = await fetch("https://fresh.deno.dev/favicon.ico"); + const res = await fetch("https://usefresh.dev/favicon.ico"); const buf = await res.arrayBuffer(); await writeFile("static/favicon.ico", new Uint8Array(buf)); } catch { @@ -652,7 +652,7 @@ import { fresh } from "@fresh/plugin-vite";\n`; const README_MD = `# Fresh project Your new Fresh project is ready to go. You can follow the Fresh "Getting -Started" guide here: https://fresh.deno.dev/docs/getting-started +Started" guide here: https://usefresh.dev/docs/getting-started ### Usage diff --git a/packages/plugin-tailwindcss-v3/README.md b/packages/plugin-tailwindcss-v3/README.md index f80c4eb5ddd..b789789df64 100644 --- a/packages/plugin-tailwindcss-v3/README.md +++ b/packages/plugin-tailwindcss-v3/README.md @@ -37,5 +37,4 @@ tailwind(builder, { }); ``` -To learn more about Fresh go to -[https://fresh.deno.dev/](https://fresh.deno.dev/). +To learn more about Fresh go to [https://usefresh.dev/](https://usefresh.dev/). diff --git a/packages/plugin-tailwindcss/README.md b/packages/plugin-tailwindcss/README.md index aa89f7f4f98..e7ef8257761 100644 --- a/packages/plugin-tailwindcss/README.md +++ b/packages/plugin-tailwindcss/README.md @@ -47,5 +47,4 @@ if (Deno.args.includes("build")) { } ``` -To learn more about Fresh go to -[https://fresh.deno.dev/](https://fresh.deno.dev/). +To learn more about Fresh go to [https://usefresh.dev/](https://usefresh.dev/). diff --git a/packages/plugin-vite/README.md b/packages/plugin-vite/README.md index 4e349785c5f..1c879885947 100644 --- a/packages/plugin-vite/README.md +++ b/packages/plugin-vite/README.md @@ -1,6 +1,6 @@ # Fresh vite plugin -Vite plugin for [Fresh](https://fresh.deno.dev). +Vite plugin for [Fresh](https://usefresh.dev). ## Usage @@ -34,4 +34,4 @@ Vite plugin for [Fresh](https://fresh.deno.dev). - Build: `vite build` More information -[on the Fresh documentation](https://fresh.deno.dev/docs/advanced/vite) . +[on the Fresh documentation](https://usefresh.dev/docs/advanced/vite) . diff --git a/packages/update/README.md b/packages/update/README.md index d381aab7703..8f9bdd9fec6 100644 --- a/packages/update/README.md +++ b/packages/update/README.md @@ -7,5 +7,5 @@ run this command: deno run -Ar jsr:@fresh/update ``` -Go to [https://fresh.deno.dev/](https://fresh.deno.dev/) for more information -about Fresh. +Go to [https://usefresh.dev/](https://usefresh.dev/) for more information about +Fresh. diff --git a/packages/update/src/update.ts b/packages/update/src/update.ts index ad1e28787a7..2f6d0d0b8f6 100644 --- a/packages/update/src/update.ts +++ b/packages/update/src/update.ts @@ -163,7 +163,7 @@ export async function updateProject(dir: string) { delete tasks.cli; } - if (tasks.update === "deno run -A -r https://fresh.deno.dev/update .") { + if (tasks.update === "deno run -A -r https://usefresh.dev/update .") { tasks.update = "deno run -A -r jsr:@fresh/update ."; } diff --git a/packages/update/src/update_test.ts b/packages/update/src/update_test.ts index 943c11cdf1f..06cb4440ad9 100644 --- a/packages/update/src/update_test.ts +++ b/packages/update/src/update_test.ts @@ -102,7 +102,7 @@ Deno.test("update - 1.x project deno.json tasks + lock", async () => { "start": "deno run -A --watch=static/,routes/ dev.ts", "build": "deno run -A dev.ts build", "preview": "deno run -A main.ts", - "update": "deno run -A -r https://fresh.deno.dev/update ." + "update": "deno run -A -r https://usefresh.dev/update ." } }`, }); diff --git a/www/main.ts b/www/main.ts index 9b4a83a1bef..4733de5ab24 100644 --- a/www/main.ts +++ b/www/main.ts @@ -1,6 +1,15 @@ import { App, staticFiles, trailingSlashes } from "fresh"; export const app = new App() + .use(async (ctx) => { + // redirect fresh.deno.dev to usefresh.dev + if (ctx.url.origin === "https://fresh.deno.dev") { + const newUrl = new URL(ctx.url); + newUrl.hostname = "usefresh.dev"; + return Response.redirect(newUrl, 307); + } + return await ctx.next(); + }) .use(staticFiles()) .use(trailingSlashes("never")) .fsRoutes();