Documentation ¶
Index ¶
- Variables
- type Type
- type Types
- func (t Types) GetByMainSubType(mainType, subType string) (tp Type, found bool)
- func (t Types) GetBySuffix(suffix string) (tp Type, found bool)
- func (t Types) GetByType(tp string) (Type, bool)
- func (t Types) GetFirstBySuffix(suffix string) (Type, bool)
- func (t Types) Len() int
- func (t Types) Less(i, j int) bool
- func (t Types) Swap(i, j int)
Constants ¶
This section is empty.
Variables ¶
var ( // Definitions from https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types etc. // Note that from Hugo 0.44 we only set Suffix if it is part of the MIME type. CalendarType = Type{MainType: "text", SubType: "calendar", Suffixes: []string{"ics"}, Delimiter: defaultDelimiter} CSSType = Type{MainType: "text", SubType: "css", Suffixes: []string{"css"}, Delimiter: defaultDelimiter} SCSSType = Type{MainType: "text", SubType: "x-scss", Suffixes: []string{"scss"}, Delimiter: defaultDelimiter} SASSType = Type{MainType: "text", SubType: "x-sass", Suffixes: []string{"sass"}, Delimiter: defaultDelimiter} CSVType = Type{MainType: "text", SubType: "csv", Suffixes: []string{"csv"}, Delimiter: defaultDelimiter} HTMLType = Type{MainType: "text", SubType: "html", Suffixes: []string{"html"}, Delimiter: defaultDelimiter} JavascriptType = Type{MainType: "application", SubType: "javascript", Suffixes: []string{"js"}, Delimiter: defaultDelimiter} JSONType = Type{MainType: "application", SubType: "json", Suffixes: []string{"json"}, Delimiter: defaultDelimiter} RSSType = Type{MainType: "application", SubType: "rss", OldSuffix: "xml", Suffixes: []string{"xml"}, Delimiter: defaultDelimiter} XMLType = Type{MainType: "application", SubType: "xml", Suffixes: []string{"xml"}, Delimiter: defaultDelimiter} SVGType = Type{MainType: "image", SubType: "svg", OldSuffix: "xml", Suffixes: []string{"svg"}, Delimiter: defaultDelimiter} TextType = Type{MainType: "text", SubType: "plain", Suffixes: []string{"txt"}, Delimiter: defaultDelimiter} OctetType = Type{MainType: "application", SubType: "octet-stream"} )
var DefaultTypes = Types{ CalendarType, CSSType, CSVType, SCSSType, SASSType, HTMLType, JavascriptType, JSONType, RSSType, XMLType, SVGType, TextType, OctetType, }
Functions ¶
This section is empty.
Types ¶
type Type ¶
type Type struct { MainType string `json:"mainType"` // i.e. text SubType string `json:"subType"` // i.e. html // Deprecated in Hugo 0.44. To be renamed and unexported. // Was earlier used both to set file suffix and to augment the MIME type. // This had its limitations and issues. OldSuffix string `json:"-" mapstructure:"suffix"` Delimiter string `json:"delimiter"` // e.g. "." Suffixes []string `json:"suffixes"` // contains filtered or unexported fields }
Type (also known as MIME type and content type) is a two-part identifier for file formats and format contents transmitted on the Internet. For Hugo's use case, we use the top-level type name / subtype name + suffix. One example would be application/svg+xml If suffix is not provided, the sub type will be used. See // https://en.wikipedia.org/wiki/Media_type
func FromStringAndExt ¶ added in v0.45.1
FromStringAndExt is same as FromString, but adds the file extension to the type.
func (Type) FullSuffix ¶ added in v0.24.1
FullSuffix returns the file suffix with any delimiter prepended.
func (Type) MarshalJSON ¶
func (Type) Type ¶
Type returns a string representing the main- and sub-type of a media type, e.g. "text/css". A suffix identifier will be appended after a "+" if set, e.g. "image/svg+xml". Hugo will register a set of default media types. These can be overridden by the user in the configuration, by defining a media type with the same Type.
type Types ¶
type Types []Type
func DecodeTypes ¶
DecodeTypes takes a list of media type configurations and merges those, in the order given, with the Hugo defaults as the last resort.
func (Types) GetByMainSubType ¶ added in v0.45.1
GetMainSubType gets a media type given a main and a sub type e.g. "text" and "plain". It will return false if no format could be found, or if the combination given is ambiguous. The lookup is case insensitive.
func (Types) GetBySuffix ¶
GetBySuffix gets a media type given as suffix, e.g. "html". It will return false if no format could be found, or if the suffix given is ambiguous. The lookup is case insensitive.
func (Types) GetFirstBySuffix ¶ added in v0.45.1
GetFirstBySuffix will return the first media type matching the given suffix.