From 433fce286eb9ab9a0335716ef8d8579064b18fd8 Mon Sep 17 00:00:00 2001 From: Yu-Hung Ou Date: Fri, 16 Mar 2018 23:11:43 +1100 Subject: [PATCH 1/4] added electron as global variable to pass eslint check --- browser/main/NoteList/index.js | 1 + 1 file changed, 1 insertion(+) diff --git a/browser/main/NoteList/index.js b/browser/main/NoteList/index.js index 06880bab..2e31a5d7 100644 --- a/browser/main/NoteList/index.js +++ b/browser/main/NoteList/index.js @@ -1,3 +1,4 @@ +/* global electron */ import PropTypes from 'prop-types' import React from 'react' import CSSModules from 'browser/lib/CSSModules' From 00ba38beba19e7a4c0127d5b11739db44365c650 Mon Sep 17 00:00:00 2001 From: Yu-Hung Ou Date: Fri, 16 Mar 2018 23:30:57 +1100 Subject: [PATCH 2/4] reload config every time when markdown lib initiated --- browser/lib/markdown.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/browser/lib/markdown.js b/browser/lib/markdown.js index 22f581e4..cb6a3826 100644 --- a/browser/lib/markdown.js +++ b/browser/lib/markdown.js @@ -8,7 +8,6 @@ import {lastFindInArray} from './utils' // FIXME We should not depend on global variable. const katex = window.katex -const config = ConfigManager.get() function createGutter (str, firstLineNumber) { if (Number.isNaN(firstLineNumber)) firstLineNumber = 1 @@ -22,6 +21,7 @@ function createGutter (str, firstLineNumber) { class Markdown { constructor (options = {}) { + const config = ConfigManager.get() const defaultOptions = { typographer: true, linkify: true, From 33b3299ca2e8a5e09378a41f0328efda189b540d Mon Sep 17 00:00:00 2001 From: Yu-Hung Ou Date: Fri, 16 Mar 2018 23:32:12 +1100 Subject: [PATCH 3/4] changed the default options of markdown lib to follow config --- browser/lib/markdown.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/browser/lib/markdown.js b/browser/lib/markdown.js index cb6a3826..125ba3be 100644 --- a/browser/lib/markdown.js +++ b/browser/lib/markdown.js @@ -23,7 +23,7 @@ class Markdown { constructor (options = {}) { const config = ConfigManager.get() const defaultOptions = { - typographer: true, + typographer: config.preview.smartQuotes, linkify: true, html: true, xhtmlOut: true, From b9cab0dae813edd23b6c25333d9a479e443976ea Mon Sep 17 00:00:00 2001 From: Yu-Hung Ou Date: Fri, 16 Mar 2018 23:33:40 +1100 Subject: [PATCH 4/4] Init markdown lib only when it's needed when posting a note to blog --- browser/main/NoteList/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/browser/main/NoteList/index.js b/browser/main/NoteList/index.js index 2e31a5d7..d8632da6 100644 --- a/browser/main/NoteList/index.js +++ b/browser/main/NoteList/index.js @@ -21,7 +21,6 @@ import Markdown from '../../lib/markdown' const { remote } = require('electron') const { Menu, MenuItem, dialog } = remote const WP_POST_PATH = '/wp/v2/posts' -const markdown = new Markdown() function sortByCreatedAt (a, b) { return new Date(b.createdAt) - new Date(a.createdAt) @@ -710,6 +709,7 @@ class NoteList extends React.Component { authToken = `Bearer ${token}` } const contentToRender = firstNote.content.replace(`# ${firstNote.title}`, '') + const markdown = new Markdown() const data = { title: firstNote.title, content: markdown.render(contentToRender),