Skip to content
Bundle external assets in a HTML file to distribute a stand-alone HTML document.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin
singlepage
testdata
.codecov.yml
.editorconfig
.gitattributes
.gitignore
.ignore
.travis.yml
LICENSE
README.markdown
go.mod
go.sum
main.go
main_test.go

README.markdown

GoDoc Build Status codecov

Inline CSS, JavaScript, and images in a HTML file to distribute a stand-alone HTML document without external dependencies.

This program is written in Go. To install it, you'll need to have Go installed; you can then install it to ~/go/bin/singlepage with:

go get arp242.net/singlepage

Running it is as easy as singlepage file.html > bundled.html. There are a bunch of options; use singlepage -help to see the full documentation.

Use the arp242.net/singlepage/singlepage package if you want to integrate this in a Go program; godocgen does this for example.

It uses tdewolff/minify for minification, so please report bugs or other questions there.

Why would I want to use this?

There are a few reasons:

  • Sometimes distributing a single HTML document is easier; for example for rendered HTML documentation.

  • It makes pages slightly faster to load if your CSS/JS assets are small(-ish); especially on slower connections.

  • As a slightly less practical and more ideological point, I liked the web before it became this jumbled mess of obnoxious JavaScript and excessive CSS, and I like the concept of self-contained HTML documents.

You can’t perform that action at this time.