Browse Source

orgmode: recover panic from third-party package

Unknwon 7 years ago
parent
commit
c407921644
1 changed files with 10 additions and 1 deletions
  1. 10 1
      pkg/markup/orgmode.go

+ 10 - 1
pkg/markup/orgmode.go

@@ -8,6 +8,8 @@ import (
 	"path/filepath"
 	"strings"
 
+	log "gopkg.in/clog.v1"
+
 	"github.com/chaseadamsio/goorgeous"
 )
 
@@ -25,7 +27,14 @@ func IsOrgModeFile(name string) bool {
 }
 
 // RawOrgMode renders content in Org-mode syntax to HTML without handling special links.
-func RawOrgMode(body []byte, urlPrefix string) []byte {
+func RawOrgMode(body []byte, urlPrefix string) (result []byte) {
+	// TODO: remove recover code once the third-party package is stable
+	defer func() {
+		if err := recover(); err != nil {
+			result = body
+			log.Warn("PANIC (RawOrgMode): %v", err)
+		}
+	}()
 	return goorgeous.OrgCommon(body)
 }