/Knowledge/sources/honojs__hono/llms-full/ssg-helper-generate-file-file-extension--0e5566397260.md
SSG Helper: Generate File > File Extension - hono-docs
SSG Helper: Generate File File Extension Source evidence: /Sources/honojs hono/provenance.md Canonical citation: https://hono.dev/llms full.txt file extensio...
SSG Helper: Generate File > File Extension
Source evidence: /Sources/honojs__hono/provenance.md Canonical citation: https://hono.dev/llms-full.txt#file-extension
Summary
The file extension depends on the Content-Type returned by each route. For example, responses from c.html are saved as .html. If you want to customize the file extensions, set the extensionMap option. ```ts import { toSSG, defaul...
Content
The file extension depends on the Content-Type returned by each route. For example, responses from c.html are saved as .html.
If you want to customize the file extensions, set the extensionMap option.
import { toSSG, defaultExtensionMap } from 'hono/ssg'
// Save `application/x-html` content with `.html`
toSSG(app, fs, {
extensionMap: {
'application/x-html': 'html',
...defaultExtensionMap,
},
})
Note that paths ending with a slash are saved as index.ext regardless of the extension.
// save to ./static/html/index.html
app.get('/html/', (c) => c.html('html'))
// save to ./static/text/index.txt
app.get('/text/', (c) => c.text('text'))
Metadata
{
"chunk_index": 0,
"citation": "https://hono.dev/llms-full.txt#file-extension",
"coverage_role": "overview",
"qualified_title": "Hono / llms-full / SSG Helper > Generate File > File Extension",
"retrieved_at": "2026-07-02T05:51:01Z",
"section_index": 749,
"source_id": "/honojs/hono",
"source_type": "llms_full",
"target_label": "llms-full",
"title": "SSG Helper: Generate File > File Extension",
"upstream_url": "https://hono.dev/llms-full.txt",
"version": "2026"
}