René's URL Explorer Experiment


Title: Fresh - The simple, approachable, productive web framework.

Open Graph Title: Fresh - The simple, approachable, productive web framework.

Description: Fresh features just-in-time edge rendering, island based interactivity, and zero-configuration TypeScript support. Fast to write; fast to run.

Open Graph Description: Fresh features just-in-time edge rendering, island based interactivity, and zero-configuration TypeScript support. Fast to write; fast to run.

Opengraph URL: https://usefresh.dev/

direct link

Domain: usefresh.dev

og:typewebsite
og:imagehttps://usefresh.dev/og-image.webp?__frsh_c=xgy2x0824p5j
color-schemelight dark
traceparent00-0d4493e1cb655a0f6abcfb76be2a7aec-9b83953030a61b2b-01

Links:

Fresh 2.3 is here!—WebSockets, View Transitions, Temporal API, and more →https://deno.com/blog/fresh-2.3
Docshttps://usefresh.dev/docs
Bloghttps://deno.com/blog?tag=fresh
https://github.com/denoland/fresh
https://discord.com/invite/deno
Get startedhttps://usefresh.dev/docs/getting-started
Preacthttps://preactjs.com/
Preacthttps://preactjs.com/
Signalshttps://preactjs.com/guide/v10/signals/
Learn more about islandshttps://usefresh.dev/docs/concepts/islands
Forms in Freshhttps://usefresh.dev/docs/advanced/forms
Learn more about Partialshttps://usefresh.dev/docs/advanced/partials
View TransitionsNative-feeling page transitions with a single config flag. Customize per-element with plain CSS.const app = new App({ viewTransition: true, });https://usefresh.dev/docs/advanced/view-transitions
Route HandlersDefine GET, POST, DELETE, or any HTTP method as a named handler on your route, with full type safety.export const handlers = define.handlers({ GET(ctx) { /* ... */ }, POST(ctx) { /* ... */ }, DELETE(ctx) { /* ... */ }, });https://usefresh.dev/docs/concepts/routing
WebSocketsAdd real-time endpoints with app.ws(). Define open, message, and close handlers in a single object.app.ws("/chat", { open(socket) { /* ... */ }, message(socket, event) { socket.send(event.data); }, });https://usefresh.dev/docs/advanced/websockets
ComponentSet titles, meta tags, stylesheets, and scripts from any page or island. No hoisting hacks needed. My Page https://usefresh.dev/docs/advanced/head
OpenTelemetryAuto-injects a traceparent meta tag into every page, connecting browser traces to server spans.const app = new App({ otel: true, });https://usefresh.dev/docs/advanced/opentelemetry
Content Security PolicyAutomatic nonce injection for inline scripts and styles. Strong security defaults with zero boilerplate.app.use(csp({ directives: { scriptSrc: ["'nonce'"], }, }));https://usefresh.dev/docs/plugins/csp
File-based routingDrop a file in routes/, get a URL. Dynamic params via [id].tsx.https://usefresh.dev/docs/concepts/file-routing
MiddlewareChain auth, logging, or any logic before your routes run.https://usefresh.dev/docs/concepts/middleware
Zero-config TypeScriptJust write .tsx. No tsconfig, no build step, it just works.https://usefresh.dev/docs/concepts/routing
Deploy anywhereDeno Deploy, Docker, Cloudflare Workers, or a single binary with deno compile.https://usefresh.dev/docs/deployment/deno-deploy
LayoutsNested layouts that compose automatically from the file system.https://usefresh.dev/docs/concepts/layouts
Built-in pluginsCORS, CSRF, IP filtering, and trailing slashes out of the box.https://usefresh.dev/docs/plugins/cors
Deco.cxhttps://deco.cx
https://deno.com/blog/deco-cx-subhosting-serve-their-clients-storefronts-fast
Read the case studyhttps://deno.com/blog/deco-cx-subhosting-serve-their-clients-storefronts-fast
Learn more about Denohttps://deno.com
Get startedhttps://usefresh.dev/docs/getting-started
Sourcehttps://github.com/denoland/fresh
Licensehttps://github.com/denoland/fresh/blob/main/LICENSE
Code of Conducthttps://github.com/denoland/fresh/blob/main/.github/CODE_OF_CONDUCT.md

Viewport: width=device-width, initial-scale=1.0


URLs of crawlers that visited me.