From 891cd3124f40545dfc2ccdd07373f4e26ec3f2e3 Mon Sep 17 00:00:00 2001 From: Egon schmid Date: Fri, 29 Apr 2016 18:30:52 +0200 Subject: [PATCH 1/6] added gitter for codeblocks --- .gitignore | 1 + browser/lib/markdown.js | 17 +++++++++++++++-- browser/styles/mixins/marked.styl | 13 +++++++++++++ 3 files changed, 29 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index b4116c1f..1c447c6d 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ node_modules/* /dist /compiled /secret +*.log diff --git a/browser/lib/markdown.js b/browser/lib/markdown.js index 7dad1e39..0c91f432 100644 --- a/browser/lib/markdown.js +++ b/browser/lib/markdown.js @@ -3,6 +3,15 @@ import emoji from 'markdown-it-emoji' import math from '@rokt33r/markdown-it-math' import hljs from 'highlight.js' +var createGutter = function (str) { + var lc = (str.match(/\n/g) || []).length; + var lines = []; + for (var i=1; i <= lc; i++) { + lines.push(''+i+''); + } + return '' + lines.join('') + ''; +}; + var md = markdownit({ typographer: true, linkify: true, @@ -11,12 +20,16 @@ var md = markdownit({ highlight: function (str, lang) { if (lang && hljs.getLanguage(lang)) { try { - return '
' +
+        return '
' +
+        createGutter(str) +
+        '' +
         hljs.highlight(lang, str).value +
         '
' } catch (e) {} } - return '
' +
+    return '
' +
+    createGutter(str) +
+    '' +
     str.replace(/\&/g, '&').replace(/\/g, '>').replace(/\"/g, '"') +
     '
' } diff --git a/browser/styles/mixins/marked.styl b/browser/styles/mixins/marked.styl index 8984db74..94b5f508 100644 --- a/browser/styles/mixins/marked.styl +++ b/browser/styles/mixins/marked.styl @@ -135,6 +135,19 @@ marked() &>pre border none margin -5px + &>span + font-family Monaco, Menlo, 'Ubuntu Mono', Consolas, source-code-pro, monospace + display block + float left + margin 0 0.5em 0 -0.5em + border-right 1px solid + text-align right + &>span + display block + padding 0 .5em 0 1em + &>.cl + display block + clear both table width 100% margin 15px 0 25px From 084677cdca94ef4069b9cb231aa049c906fd4d88 Mon Sep 17 00:00:00 2001 From: Egon schmid Date: Sat, 30 Apr 2016 21:30:52 +0200 Subject: [PATCH 2/6] code style --- browser/lib/markdown.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/browser/lib/markdown.js b/browser/lib/markdown.js index 0c91f432..6a24cbd6 100644 --- a/browser/lib/markdown.js +++ b/browser/lib/markdown.js @@ -6,8 +6,8 @@ import hljs from 'highlight.js' var createGutter = function (str) { var lc = (str.match(/\n/g) || []).length; var lines = []; - for (var i=1; i <= lc; i++) { - lines.push(''+i+''); + for (var i = 1; i <= lc; i++) { + lines.push('' + i + ''); } return '' + lines.join('') + ''; }; From 831bec5baf78ff2a2219d3099abb9d2f836c8e52 Mon Sep 17 00:00:00 2001 From: Rokt33r Date: Tue, 3 May 2016 23:35:58 +0900 Subject: [PATCH 3/6] brand new ace --- submodules/ace | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/ace b/submodules/ace index e94cb3c7..8dcfcd6d 160000 --- a/submodules/ace +++ b/submodules/ace @@ -1 +1 @@ -Subproject commit e94cb3c7ffccfb2e565cc857f07a988c0989e527 +Subproject commit 8dcfcd6d0d6e0167f2282fa51308facc6f4fc46c From f904fd00e5e57f1e6366a0a8f42f30d280457539 Mon Sep 17 00:00:00 2001 From: Rokt33r Date: Wed, 4 May 2016 00:47:22 +0900 Subject: [PATCH 4/6] add code block line numbering option to --- browser/components/MarkdownPreview.js | 10 ++++++---- browser/lib/markdown.js | 14 +++++++------- browser/main/modal/Preference/AppSettingTab.js | 16 ++++++++++++++-- browser/styles/main/ArticleDetail.styl | 3 +++ browser/styles/mixins/marked.styl | 9 ++++----- lib/config.js | 3 ++- 6 files changed, 36 insertions(+), 19 deletions(-) diff --git a/browser/components/MarkdownPreview.js b/browser/components/MarkdownPreview.js index 5d10cca8..f4c00971 100644 --- a/browser/components/MarkdownPreview.js +++ b/browser/components/MarkdownPreview.js @@ -21,7 +21,7 @@ const sanitizeOpts = { 'a': ['lineAnchor'], 'div': ['math'], 'pre': ['hljs'], - 'span': ['math', 'hljs-*'], + 'span': ['math', 'hljs-*', 'lineNumber'], 'code': ['language-*'] }, allowedAttributes: { @@ -91,7 +91,8 @@ export default class MarkdownPreview extends React.Component { this.state = { fontSize: config['preview-font-size'], - fontFamily: config['preview-font-family'] + fontFamily: config['preview-font-family'], + lineNumber: config['preview-line-number'] } } componentDidMount () { @@ -182,7 +183,8 @@ export default class MarkdownPreview extends React.Component { handleConfigApply (e, config) { this.setState({ fontSize: config['preview-font-size'], - fontFamily: config['preview-font-family'] + fontFamily: config['preview-font-family'], + lineNumber: config['preview-line-number'] }) } @@ -196,7 +198,7 @@ export default class MarkdownPreview extends React.Component { return (
this.handleClick(e)} onDoubleClick={e => this.handleDoubleClick(e)} onMouseDown={e => this.handleMouseDown(e)} diff --git a/browser/lib/markdown.js b/browser/lib/markdown.js index 6a24cbd6..d8636f8e 100644 --- a/browser/lib/markdown.js +++ b/browser/lib/markdown.js @@ -3,14 +3,14 @@ import emoji from 'markdown-it-emoji' import math from '@rokt33r/markdown-it-math' import hljs from 'highlight.js' -var createGutter = function (str) { - var lc = (str.match(/\n/g) || []).length; - var lines = []; - for (var i = 1; i <= lc; i++) { - lines.push('' + i + ''); +function createGutter (str) { + let lc = (str.match(/\n/g) || []).length + let lines = [] + for (let i = 1; i <= lc; i++) { + lines.push('' + i + '') } - return '' + lines.join('') + ''; -}; + return '' + lines.join('') + '' +} var md = markdownit({ typographer: true, diff --git a/browser/main/modal/Preference/AppSettingTab.js b/browser/main/modal/Preference/AppSettingTab.js index c44675a8..36410ef8 100644 --- a/browser/main/modal/Preference/AppSettingTab.js +++ b/browser/main/modal/Preference/AppSettingTab.js @@ -81,9 +81,18 @@ export default class AppSettingTab extends React.Component { } } + handleLineNumberingClick (e) { + let config = this.state.config + + config['preview-line-number'] = e.target.checked + this.setState({ + config + }) + } + handleDisableDirectWriteClick (e) { let config = this.state.config - config['disable-direct-write'] = !config['disable-direct-write'] + config['disable-direct-write'] = e.target.checked this.setState({ config }) @@ -174,11 +183,14 @@ export default class AppSettingTab extends React.Component {
+
+ +
{ global.process.platform === 'win32' ? (
- +
) : null diff --git a/browser/styles/main/ArticleDetail.styl b/browser/styles/main/ArticleDetail.styl index 9c897eb0..bcf9edeb 100644 --- a/browser/styles/main/ArticleDetail.styl +++ b/browser/styles/main/ArticleDetail.styl @@ -382,6 +382,9 @@ infoButton() color lighten(inactiveTextColor, 10%) user-select none font-size 14px + &.lineNumbered + .lineNumber + display block .CodeEditor absolute top left right bottom border-top solid 1px borderColor diff --git a/browser/styles/mixins/marked.styl b/browser/styles/mixins/marked.styl index 94b5f508..7b79c1a1 100644 --- a/browser/styles/mixins/marked.styl +++ b/browser/styles/mixins/marked.styl @@ -135,19 +135,18 @@ marked() &>pre border none margin -5px - &>span + &>span.lineNumber font-family Monaco, Menlo, 'Ubuntu Mono', Consolas, source-code-pro, monospace - display block + display none float left margin 0 0.5em 0 -0.5em border-right 1px solid text-align right + font-size 0.9em + line-height 1.65em &>span display block padding 0 .5em 0 1em - &>.cl - display block - clear both table width 100% margin 15px 0 25px diff --git a/lib/config.js b/lib/config.js index 8e631e47..d4a42d80 100644 --- a/lib/config.js +++ b/lib/config.js @@ -15,7 +15,8 @@ const defaultConfig = { 'disable-direct-write': false, 'theme-ui': 'light', 'theme-code': 'xcode', - 'theme-syntax': 'xcode' + 'theme-syntax': 'xcode', + 'preview-line-number': false } const configFile = 'config.json' From acf8cbfe0e4571549f7c6bd8786fefcd9aed8130 Mon Sep 17 00:00:00 2001 From: Rokt33r Date: Wed, 4 May 2016 00:56:24 +0900 Subject: [PATCH 5/6] bump up to v0.5.12 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 5f168fd6..c3816b63 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "boost", - "version": "0.5.11", + "version": "0.5.12", "description": "Boostnote", "main": "index.js", "scripts": { From 6ba49ad29487d855a71fa522fd7dd776e404caf9 Mon Sep 17 00:00:00 2001 From: Rokt33r Date: Wed, 4 May 2016 01:59:11 +0900 Subject: [PATCH 6/6] fix line-height --- browser/styles/mixins/marked.styl | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/browser/styles/mixins/marked.styl b/browser/styles/mixins/marked.styl index 7b79c1a1..cc9fcd94 100644 --- a/browser/styles/mixins/marked.styl +++ b/browser/styles/mixins/marked.styl @@ -126,13 +126,13 @@ marked() border-radius 5px overflow-x auto margin 0 0 15px - line-height 1.35em - &>code + line-height 1.35 + code margin 0 padding 0 border none border-radius 0 - &>pre + pre border none margin -5px &>span.lineNumber @@ -142,8 +142,6 @@ marked() margin 0 0.5em 0 -0.5em border-right 1px solid text-align right - font-size 0.9em - line-height 1.65em &>span display block padding 0 .5em 0 1em