diff --git a/conf/app.ini b/conf/app.ini index 8cb5e1a34..679d694f3 100644 --- a/conf/app.ini +++ b/conf/app.ini @@ -18,6 +18,10 @@ EXPLORE_PAGING_NUM = 20 ; Number of issues that are showed in one page ISSUE_PAGING_NUM = 10 +[markdown] +; Enable hard line break extension +ENABLE_HARD_LINE_BREAK = false + [server] PROTOCOL = http DOMAIN = localhost diff --git a/modules/base/markdown.go b/modules/base/markdown.go index 03f1287c1..540ee58f4 100644 --- a/modules/base/markdown.go +++ b/modules/base/markdown.go @@ -201,6 +201,10 @@ func RenderRawMarkdown(body []byte, urlPrefix string) []byte { extensions |= blackfriday.EXTENSION_SPACE_HEADERS extensions |= blackfriday.EXTENSION_NO_EMPTY_LINE_BEFORE_BLOCK + if setting.Markdown.EnableHardLineBreak { + extensions |= blackfriday.EXTENSION_HARD_LINE_BREAK + } + body = blackfriday.Markdown(body, renderer, extensions) return body } diff --git a/modules/setting/setting.go b/modules/setting/setting.go index 009e14a4a..7b6c49614 100644 --- a/modules/setting/setting.go +++ b/modules/setting/setting.go @@ -94,6 +94,11 @@ var ( ExplorePagingNum int IssuePagingNum int + // Markdown sttings. + Markdown struct { + EnableHardLineBreak bool + } + // Picture settings. PictureService string AvatarUploadPath string @@ -353,8 +358,9 @@ func NewConfigContext() { AnsiCharset = sec.Key("ANSI_CHARSET").MustString("") // UI settings. - ExplorePagingNum = Cfg.Section("ui").Key("EXPLORE_PAGING_NUM").MustInt(20) - IssuePagingNum = Cfg.Section("ui").Key("ISSUE_PAGING_NUM").MustInt(10) + sec = Cfg.Section("ui") + ExplorePagingNum = sec.Key("EXPLORE_PAGING_NUM").MustInt(20) + IssuePagingNum = sec.Key("ISSUE_PAGING_NUM").MustInt(10) sec = Cfg.Section("picture") PictureService = sec.Key("SERVICE").In("server", []string{"server"}) @@ -376,7 +382,9 @@ func NewConfigContext() { DisableGravatar = true } - if err = Cfg.Section("git").MapTo(&Git); err != nil { + if err = Cfg.Section("markdown").MapTo(&Markdown); err != nil { + log.Fatal(4, "Fail to map Markdown settings: %v", err) + } else if err = Cfg.Section("git").MapTo(&Git); err != nil { log.Fatal(4, "Fail to map Git settings: %v", err) } else if Cfg.Section("cron").MapTo(&Cron); err != nil { log.Fatal(4, "Fail to map Cron settings: %v", err)