ref: 2874fc75ce45b17fd4457440e55660d7118fbc46
parent: 9e69a92e85937c6e59839e58937ed1db1e497557
author: Bjørn Erik Pedersen <[email protected]>
date: Sat Apr 8 07:15:28 EDT 2017
hugolib, output: Add NotAlternative to OutputFormat To make sure CSS and similar does not appear in the AlternativeOutputFormats list.
--- a/hugolib/page_output.go
+++ b/hugolib/page_output.go
@@ -177,8 +177,6 @@
// This is value is fetched from the output format definition.
// Note that for pages with only one output format,
// this method will always return "canonical".
- // TODO(bep) output -- the above may not be correct for CSS etc. Figure out a way around that.
- // TODO(bep) output -- re the above, maybe add a "alternate" filter to AlternativeOutputFormats.
// As an example, the AMP output format will, by default, return "amphtml".
//
// See:
@@ -222,10 +220,12 @@
}
// OutputFormats gives the alternative output formats for this PageOutput.
+// Note that we use the term "alternative" and not "alternate" here, as it
+// does not necessarily replace the other format, it is an alternative representation.
func (p *PageOutput) AlternativeOutputFormats() (OutputFormats, error) {
var o OutputFormats
for _, of := range p.OutputFormats() {
- if of.f == p.outputFormat {
+ if of.f.NotAlternative || of.f == p.outputFormat {
continue
}
o = append(o, of)
--- a/hugolib/site_render.go
+++ b/hugolib/site_render.go
@@ -290,7 +290,7 @@
n.Data["Pages"] = pages
n.Pages = pages
- // TODO(bep) output
+ // TODO(bep) we have several of these
if err := page.initTargetPathDescriptor(); err != nil {
return err
}
--- a/output/outputFormat.go
+++ b/output/outputFormat.go
@@ -63,6 +63,12 @@
// Enable to ignore the global uglyURLs setting.
NoUgly bool
+
+ // Enable if it doesn't make sense to include this format in an alternative
+ // format listing, CSS being one good example.
+ // Note that we use the term "alternative" and not "alternate" here, as it
+ // does not necessarily replace the other format, it is an alternative representation.
+ NotAlternative bool
}
var (
@@ -88,11 +94,12 @@
}
CSSFormat = Format{
- Name: "CSS",
- MediaType: media.CSSType,
- BaseName: "styles",
- IsPlainText: true,
- Rel: "stylesheet",
+ Name: "CSS",
+ MediaType: media.CSSType,
+ BaseName: "styles",
+ IsPlainText: true,
+ Rel: "stylesheet",
+ NotAlternative: true,
}
CSVFormat = Format{
Name: "CSV",