aboutsummaryrefslogtreecommitdiff
path: root/pkg/markup/markup.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/markup/markup.go')
-rw-r--r--pkg/markup/markup.go22
1 files changed, 19 insertions, 3 deletions
diff --git a/pkg/markup/markup.go b/pkg/markup/markup.go
index 6173be39..d043a993 100644
--- a/pkg/markup/markup.go
+++ b/pkg/markup/markup.go
@@ -308,11 +308,26 @@ OUTER_LOOP:
type Type string
const (
- UNRECOGNIZED Type = "unrecognized"
- MARKDOWN Type = "markdown"
- ORG_MODE Type = "orgmode"
+ UNRECOGNIZED Type = "unrecognized"
+ MARKDOWN Type = "markdown"
+ ORG_MODE Type = "orgmode"
+ IPYTHON_NOTEBOOK Type = "ipynb"
)
+// Detect returns best guess of a markup type based on file name.
+func Detect(filename string) Type {
+ switch {
+ case IsMarkdownFile(filename):
+ return MARKDOWN
+ case IsOrgModeFile(filename):
+ return ORG_MODE
+ case IsIPythonNotebook(filename):
+ return IPYTHON_NOTEBOOK
+ default:
+ return UNRECOGNIZED
+ }
+}
+
// Render takes a string or []byte and renders to HTML in given type of syntax with special links.
func Render(typ Type, input interface{}, urlPrefix string, metas map[string]string) []byte {
var rawBytes []byte
@@ -331,6 +346,7 @@ func Render(typ Type, input interface{}, urlPrefix string, metas map[string]stri
case MARKDOWN:
rawHTML = RawMarkdown(rawBytes, urlPrefix)
case ORG_MODE:
+ rawHTML = RawOrgMode(rawBytes, urlPrefix)
default:
return rawBytes // Do nothing if syntax type is not recognized
}