static

package module
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 12, 2020 License: MIT Imports: 8 Imported by: 1

README

gowww static GoDoc Build Coverage Go Report Status Stable

Package static provides a handler for static file serving with cache control and automatic fingerprinting.

Installing

  1. Get package:

    go get -u github.com/gowww/static
    
  2. Import it in your code:

    import "github.com/gowww/static"
    

Usage

Use Handle with the URL path prefix and the source directory to get a Handler that will serve your static files:

staticHandler := static.Handle("/static/", "static")

http.Handle("/static/", staticHandler)

Use Handler.Hash to append the file fingerprint to a file name (if the file can be opened, obviously):

staticHandler.Hash("scripts/main.js")

But generally, you'd want to use this method in your templates:

tmpl := `<script src="{{asset "scripts/main.js"}}"></script>`

views := template.Must(template.New("main").Funcs(template.FuncMap{
	"asset": staticHandler.Hash,
}).Parse(tmpl))

References

Documentation

Overview

Package static provides a handler for static file serving with cache control and automatic fingerprinting.

Example
package main

import (
	"fmt"
	"net/http"

	"github.com/gowww/static"
)

func main() {
	staticHandler := static.Handle("/static/", "static")

	http.Handle("/static/", staticHandler)

	http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
		fmt.Fprintf(w, "Cacheable asset: %s", staticHandler.Hash("main.js"))
	})

	http.ListenAndServe(":8080", nil)
}

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Handler

type Handler interface {
	http.Handler
	Hash(string) string
}

A Handler serves files and provides helpers.

func Handle

func Handle(prefix, dir string) Handler

Handle returns a handler for static file serving. dir is the directory where static files are to be found.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL