ref: 5388211c1158b81725af04152c6e73eddc1435a0
parent: 6c0f705217b65c7e91fe22c5b8ca0c3f8b1bf33a
author: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
date: Sun Jul 3 20:33:08 EDT 2016
Add Asciidoc shortcode test Fixes #2249
--- a/helpers/content.go
+++ b/helpers/content.go
@@ -458,19 +458,31 @@
return strings.Join(words[:max], " "), true
}
-// getAsciidocContent calls asciidoctor or asciidoc as an external helper
-// to convert AsciiDoc content to HTML.
-func getAsciidocContent(content []byte) string {- cleanContent := bytes.Replace(content, SummaryDivider, []byte(""), 1)-
+func getAsciidocExecPath() string { path, err := exec.LookPath("asciidoctor") if err != nil { path, err = exec.LookPath("asciidoc") if err != nil {- jww.ERROR.Println("asciidoctor / asciidoc not found in $PATH: Please install.\n",- " Leaving AsciiDoc content unrendered.")
- return (string(content))
+ return ""
}
+ }
+ return path
+}
+
+func HasAsciidoc() bool {+ return getAsciidocExecPath() != ""
+}
+
+// getAsciidocContent calls asciidoctor or asciidoc as an external helper
+// to convert AsciiDoc content to HTML.
+func getAsciidocContent(content []byte) string {+ cleanContent := bytes.Replace(content, SummaryDivider, []byte(""), 1)+
+ path := getAsciidocExecPath()
+ if path == "" {+ jww.ERROR.Println("asciidoctor / asciidoc not found in $PATH: Please install.\n",+ " Leaving AsciiDoc content unrendered.")
+ return (string(content))
}
jww.INFO.Println("Rendering with", path, "...")--- a/hugolib/shortcode_test.go
+++ b/hugolib/shortcode_test.go
@@ -466,6 +466,10 @@
{"sect/doc6.md", "\n```bash\n{{< b >}}\n{{% c %}}\n```\n", filepath.FromSlash("sect/doc6/index.html"),"<pre><code class=\"language-bash\">b\nc\n</code></pre>\n"},
+ // #2249
+ {"sect/doc7.ad", `_Shortcodes:_ *b: {{< b >}} c: {{% c %}}*`,+ filepath.FromSlash("sect/doc7/index.html"),+ "<div class=\"paragraph\">\n<p><em>Shortcodes:</em> <strong>b: b c: c</strong></p>\n</div>\n"},
}
sources := make([]source.ByteSource, len(tests))
@@ -494,6 +498,10 @@
createAndRenderPages(t, s)
for _, test := range tests {+ if strings.HasSuffix(test.contentPath, ".ad") && !helpers.HasAsciidoc() {+ fmt.Println("Skip Asciidoc test case as no Asciidoc present.")+ continue
+ }
file, err := hugofs.Destination().Open(test.outFile)
if err != nil {--
⑨