Skip to content

Commit aa5a50f

Browse files
authored
Merge pull request #1306 from hackmdio/feature/configurable-break-style
Configurable default break style
2 parents f871eff + 75ee5ad commit aa5a50f

File tree

6 files changed

+19
-13
lines changed

6 files changed

+19
-13
lines changed

lib/config/default.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,7 @@ module.exports = {
164164
allowGravatar: true,
165165
allowPDFExport: true,
166166
openID: false,
167+
defaultUseHardbreak: true,
167168
// linkifyHeaderStyle - How is a header text converted into a link id.
168169
// Header Example: "3.1. Good Morning my Friend! - Do you have 5$?"
169170
// * 'keep-case' is the legacy CodiMD value.

lib/config/environment.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,5 +137,6 @@ module.exports = {
137137
allowGravatar: toBooleanConfig(process.env.CMD_ALLOW_GRAVATAR),
138138
allowPDFExport: toBooleanConfig(process.env.CMD_ALLOW_PDF_EXPORT),
139139
openID: toBooleanConfig(process.env.CMD_OPENID),
140+
defaultUseHardbreak: toBooleanConfig(process.env.CMD_DEFAULT_USE_HARD_BREAK),
140141
linkifyHeaderStyle: process.env.CMD_LINKIFY_HEADER_STYLE
141142
}

lib/web/statusRouter.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@ statusRouter.get('/config', function (req, res) {
100100
plantumlServer: config.plantuml.server,
101101
DROPBOX_APP_KEY: config.dropbox.appKey,
102102
allowedUploadMimeTypes: config.allowedUploadMimeTypes,
103+
defaultUseHardbreak: config.defaultUseHardbreak,
103104
linkifyHeaderStyle: config.linkifyHeaderStyle
104105
}
105106
res.set({

public/js/extra.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@ export function isValidURL (str) {
195195
export function parseMeta (md, edit, view, toc, tocAffix) {
196196
let lang = null
197197
let dir = null
198-
let breaks = true
198+
let breaks = window.defaultUseHardbreak
199199
if (md && md.meta) {
200200
const meta = md.meta
201201
lang = meta.lang
@@ -225,10 +225,10 @@ export function parseMeta (md, edit, view, toc, tocAffix) {
225225
tocAffix.removeAttr('dir')
226226
}
227227
// breaks
228-
if (typeof breaks === 'boolean' && !breaks) {
229-
md.options.breaks = false
228+
if (typeof breaks === 'boolean') {
229+
md.options.breaks = breaks
230230
} else {
231-
md.options.breaks = true
231+
md.options.breaks = window.defaultUseHardbreak
232232
}
233233
}
234234

@@ -1030,7 +1030,7 @@ function highlightRender (code, lang) {
10301030

10311031
export const md = markdownit('default', {
10321032
html: true,
1033-
breaks: true,
1033+
breaks: window.defaultUseHardbreak,
10341034
langPrefix: '',
10351035
linkify: true,
10361036
typographer: true,

public/js/lib/common/constant.ejs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ window.plantumlServer = '<%- plantumlServer %>'
66

77
window.allowedUploadMimeTypes = <%- JSON.stringify(allowedUploadMimeTypes) %>
88

9+
window.defaultUseHardbreak = <%- defaultUseHardbreak %>
10+
911
window.linkifyHeaderStyle = '<%- linkifyHeaderStyle %>'
1012

1113
window.DROPBOX_APP_KEY = '<%- DROPBOX_APP_KEY %>'

public/js/slide.js

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,15 @@ const deps = [{
4949
}
5050
}]
5151

52+
// options from yaml meta
53+
const meta = JSON.parse($('#meta').text())
54+
// breaks
55+
if (typeof meta.breaks === 'boolean') {
56+
md.options.breaks = meta.breaks
57+
} else {
58+
md.options.breaks = window.defaultUseHardbreak
59+
}
60+
5261
const slideOptions = {
5362
separator: '^(\r\n?|\n)---(\r\n?|\n)$',
5463
verticalSeparator: '^(\r\n?|\n)----(\r\n?|\n)$'
@@ -70,8 +79,6 @@ const defaultOptions = {
7079
dependencies: deps
7180
}
7281

73-
// options from yaml meta
74-
const meta = JSON.parse($('#meta').text())
7582
var options = meta.slideOptions || {}
7683

7784
if (Object.hasOwnProperty.call(options, 'spotlight')) {
@@ -103,12 +110,6 @@ if (meta.dir && typeof meta.dir === 'string' && meta.dir === 'rtl') {
103110
} else {
104111
options.rtl = false
105112
}
106-
// breaks
107-
if (typeof meta.breaks === 'boolean' && !meta.breaks) {
108-
md.options.breaks = false
109-
} else {
110-
md.options.breaks = true
111-
}
112113

113114
// options from URL query string
114115
const queryOptions = Reveal.getQueryHash() || {}

0 commit comments

Comments
 (0)