docs: rewrite the web development guide#3224
Open
bartlomieju wants to merge 8 commits into
Open
Conversation
Restore last_modified (the site renders it as the visible last-updated date), pass the project name to create-astro so the cd that follows is guaranteed to match, and add a deno install step to the Docusaurus section so the scaffold works on machines without npm.
Pass the directory to @fresh/init so the cd that follows matches (same fix as Astro), and add --skip-install to create-docusaurus so the generator does not invoke npm itself; deno install handles it.
bartlomieju
commented
Jun 14, 2026
Comment on lines
+18
to
+20
| Servers you write yourself need far less, and the | ||
| [no-framework section](#without-a-framework) shows what minimal permissions look | ||
| like in practice. |
Member
Author
There was a problem hiding this comment.
Add a note that if user doesn't want to grant all permission they can run without a flag and answer interactive prompts
The page was a scaffolding catalog: six framework sections, four of them the same 'it's an npm project, run deno install' paragraph, with all the actual web-development content linked out to other pages. Give it a spine instead. Lead with a decision table (no framework / Deno-native / npm) so readers can self-route. Add a 'start without a framework' section with a real, verified ~20-line server (HTML page, JSON route, static files) that earns the page's title, then points to the HTTP server guide for depth. Keep Fresh and Lume as full Deno-native sections. Collapse the four near-identical npm-framework sections into one shared 'how npm frameworks work under Deno' explanation plus a verified-command table, which also lets the table cover SvelteKit and Nuxt (both newly verified to scaffold and run under Deno) without adding bulk.
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.
This rewrites the web development guide so it actually guides, instead of
listing scaffold commands.
The page is structured around the three ways to build for the web with
Deno, introduced by a decision table so a reader can route themselves: no
framework, a Deno-native framework, or an npm framework.
The "start without a framework" section leads with a real, verified server
(an HTML page, a JSON API route, and static files in about twenty lines)
built on
Deno.servewith standardRequest/Response. It shows minimalpermissions (
--allow-net --allow-read, only what it touches) and thenpoints to the HTTP server guide for routing, streaming, WebSockets, and the
rest. Hono and Oak live here as the lightweight-router step up, which this
page owns (the HTTP server guide links here).
Fresh and Lume stay as full Deno-native sections, since they are genuinely
different (no
package.json, config indeno.json/_config.ts).The npm frameworks are no longer six near-identical sections. They collapse
into one explanation of the shared pattern (scaffold with
-A,deno installto createnode_modules, run withdeno task) plus averified-command table. Folding them into a table makes room to cover more
frameworks without bulk: alongside Next.js, Astro, Vite, and Docusaurus, the
table now includes SvelteKit and Nuxt, both freshly scaffolded under Deno to
confirm the command and the resulting project shape (Nuxt's generator even
lists Deno as a package manager). Per-framework caveats (Vite templates,
Astro's install wizard, Docusaurus
--skip-install, the interactiveSvelteKit and Nuxt prompts) are kept as short notes.
The built-in-server snippet and all six framework setups were executed
under Deno before being documented. URL and redirect entries are unchanged.