summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorC. Hoeppler <hoeppler@gmx.net>2016-10-13 10:30:43 +0200
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2016-10-13 13:48:43 +0200
commit766c82a6bbf4423a037beb2b1967f720080e4658 (patch)
tree443ea3cebd9f72ba23c2d1fb1d9350f4a8453bef
parent9f9b93af2c379b10d2d5c514cfe5f0658795b9bb (diff)
Add context to asciidoc/-tor error logging
Add DocumentName (path to the file being rendered) to RenderingContext and use that information to include the path in the error print. See #2399 Closes #2567
-rw-r--r--helpers/content.go8
-rw-r--r--hugolib/page.go3
-rw-r--r--hugolib/shortcode.go4
3 files changed, 10 insertions, 5 deletions
diff --git a/helpers/content.go b/helpers/content.go
index f2909f208..516fc72b9 100644
--- a/helpers/content.go
+++ b/helpers/content.go
@@ -354,6 +354,7 @@ type RenderingContext struct {
Content []byte
PageFmt string
DocumentID string
+ DocumentName string
Config *Blackfriday
RenderTOC bool
FileResolver FileResolverFunc
@@ -383,7 +384,7 @@ func RenderBytes(ctx *RenderingContext) []byte {
case "markdown":
return markdownRender(ctx)
case "asciidoc":
- return getAsciidocContent(ctx.Content)
+ return getAsciidocContent(ctx)
case "mmark":
return mmarkRender(ctx)
case "rst":
@@ -533,7 +534,8 @@ func HasAsciidoc() bool {
// getAsciidocContent calls asciidoctor or asciidoc as an external helper
// to convert AsciiDoc content to HTML.
-func getAsciidocContent(content []byte) []byte {
+func getAsciidocContent(ctx *RenderingContext) []byte {
+ content := ctx.Content
cleanContent := bytes.Replace(content, SummaryDivider, []byte(""), 1)
path := getAsciidocExecPath()
@@ -555,7 +557,7 @@ func getAsciidocContent(content []byte) []byte {
for _, item := range strings.Split(string(cmderr.Bytes()), "\n") {
item := strings.TrimSpace(item)
if item != "" {
- jww.ERROR.Println(item)
+ jww.ERROR.Println(strings.Replace(item, "<stdin>", ctx.DocumentName, 1))
}
}
if err != nil {
diff --git a/hugolib/page.go b/hugolib/page.go
index abd56b3ea..d2205e32f 100644
--- a/hugolib/page.go
+++ b/hugolib/page.go
@@ -380,7 +380,8 @@ func (p *Page) renderContent(content []byte) []byte {
return helpers.RenderBytes(&helpers.RenderingContext{
Content: content, RenderTOC: true, PageFmt: p.determineMarkupType(),
ConfigProvider: p.Language(),
- DocumentID: p.UniqueID(), Config: p.getRenderingConfig(), LinkResolver: fn, FileResolver: fileFn})
+ DocumentID: p.UniqueID(), DocumentName: p.Path(),
+ Config: p.getRenderingConfig(), LinkResolver: fn, FileResolver: fileFn})
}
func (p *Page) getRenderingConfig() *helpers.Blackfriday {
diff --git a/hugolib/shortcode.go b/hugolib/shortcode.go
index 88c06baf5..0b583b753 100644
--- a/hugolib/shortcode.go
+++ b/hugolib/shortcode.go
@@ -243,7 +243,9 @@ func renderShortcode(sc shortcode, parent *ShortcodeWithPage, p *Page, t tpl.Tem
newInner := helpers.RenderBytes(&helpers.RenderingContext{
Content: []byte(inner), PageFmt: p.determineMarkupType(),
ConfigProvider: p.Language(),
- DocumentID: p.UniqueID(), Config: p.getRenderingConfig()})
+ DocumentID: p.UniqueID(),
+ DocumentName: p.Path(),
+ Config: p.getRenderingConfig()})
// If the type is “unknown” or “markdown”, we assume the markdown
// generation has been performed. Given the input: `a line`, markdown