Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migrate static assets to embed.FS #6

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Migrate static assets to embed.FS #6

wants to merge 1 commit into from

Conversation

jamesog
Copy link
Owner

@jamesog jamesog commented Mar 31, 2021

HTML templates and static files were embedded in the binary using
go-bindata.

As of Go 1.16, the new embed package can perform the same thing natively
without needing extra tooling.

Everything which referenced a static asset now does so using an
embed.FS. This allowed simplifying quite a bit of the code handling that
as it's now much more straightforward to handle thanks to the FS
interface. The html/template package can parse embed.FS and net/http can
serve it straight as a FileServer.

The minimum Go version required now is 1.16, reflected in go.mod.

The Makefile is now no longer really needed, but the sample-data target
is useful, so it's been left in place along with a target for building
the binary, but the README now says to use go build instead of make.

Vendored dependencies are updated along with this.

HTML templates and static files were embedded in the binary using
go-bindata.

As of Go 1.16, the new embed package can perform the same thing natively
without needing extra tooling.

Everything which referenced a static asset now does so using an
embed.FS. This allowed simplifying quite a bit of the code handling that
as it's now much more straightforward to handle thanks to the FS
interface. The html/template package can parse embed.FS and net/http can
serve it straight as a FileServer.

The minimum Go version required now is 1.16, reflected in go.mod.

The Makefile is now no longer really needed, but the sample-data target
is useful, so it's been left in place along with a target for building
the binary, but the README now says to use go build instead of make.

Vendored dependencies are updated along with this.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant