1
0
mirror of https://github.com/BoostIo/Boostnote synced 2025-12-13 01:36:22 +00:00

Added markdownlint rules form

This commit is contained in:
roottool
2019-04-29 08:54:28 +09:00
parent 11bed72bed
commit 4ba4e68833
4 changed files with 20 additions and 6 deletions

View File

@@ -25,8 +25,9 @@ import TurndownService from 'turndown'
import {languageMaps} from '../lib/CMLanguageList' import {languageMaps} from '../lib/CMLanguageList'
import snippetManager from '../lib/SnippetManager' import snippetManager from '../lib/SnippetManager'
import {generateInEditor, tocExistsInEditor} from 'browser/lib/markdown-toc-generator' import {generateInEditor, tocExistsInEditor} from 'browser/lib/markdown-toc-generator'
import Jsonlint from 'jsonlint-mod'
import markdownlint from 'markdownlint' import markdownlint from 'markdownlint'
import ConfigManager from '../main/lib/ConfigManager' import ConfigManager, {DEFAULT_CONFIG} from '../main/lib/ConfigManager'
CodeMirror.modeURL = '../node_modules/codemirror/mode/%N/%N.js' CodeMirror.modeURL = '../node_modules/codemirror/mode/%N/%N.js'
@@ -41,13 +42,19 @@ function translateHotkey (hotkey) {
const validatorOfMarkdown = (text, updateLinting) => { const validatorOfMarkdown = (text, updateLinting) => {
const config = ConfigManager.get() const config = ConfigManager.get()
let markdownlintRules = config.editor.customMarkdownLintConfig
try {
Jsonlint.parse(markdownlintRules)
} catch (error) {
markdownlintRules = DEFAULT_CONFIG.editor.customMarkdownLintConfig
}
const lintOptions = { const lintOptions = {
'strings': { 'strings': {
'content': text 'content': text
}, },
'config': JSON.parse(config.editor.customMarkdownLintConfig) 'config': JSON.parse(markdownlintRules)
} }
console.log(config.editor.customMarkdownLintConfig)
return markdownlint(lintOptions, (err, result) => { return markdownlint(lintOptions, (err, result) => {
if (!err) { if (!err) {

View File

@@ -60,7 +60,9 @@ export const DEFAULT_CONFIG = {
frontMatterTitleField: 'title', frontMatterTitleField: 'title',
spellcheck: false, spellcheck: false,
enableSmartPaste: false, enableSmartPaste: false,
customMarkdownLintConfig: '' customMarkdownLintConfig: `{
"default": true
}`
}, },
preview: { preview: {
fontSize: '14', fontSize: '14',

View File

@@ -30,7 +30,7 @@ class UiTab extends React.Component {
componentDidMount () { componentDidMount () {
CodeMirror.autoLoadMode(this.codeMirrorInstance.getCodeMirror(), 'javascript') CodeMirror.autoLoadMode(this.codeMirrorInstance.getCodeMirror(), 'javascript')
CodeMirror.autoLoadMode(this.customCSSCM.getCodeMirror(), 'css') CodeMirror.autoLoadMode(this.customCSSCM.getCodeMirror(), 'css')
CodeMirror.autoLoadMode(this.customMarkdownLintConfigCM.getCodeMirror(), 'json') CodeMirror.autoLoadMode(this.customMarkdownLintConfigCM.getCodeMirror(), 'javascript')
this.customCSSCM.getCodeMirror().setSize('400px', '400px') this.customCSSCM.getCodeMirror().setSize('400px', '400px')
this.customMarkdownLintConfigCM.getCodeMirror().setSize('400px', '400px') this.customMarkdownLintConfigCM.getCodeMirror().setSize('400px', '400px')
this.handleSettingDone = () => { this.handleSettingDone = () => {
@@ -649,7 +649,10 @@ class UiTab extends React.Component {
value={config.editor.customMarkdownLintConfig} value={config.editor.customMarkdownLintConfig}
options={{ options={{
lineNumbers: true, lineNumbers: true,
theme: codemirrorTheme mode: 'application/json',
theme: codemirrorTheme,
lint: true,
gutters: ['CodeMirror-lint-markers']
}} /> }} />
</div> </div>
</div> </div>

View File

@@ -126,7 +126,9 @@
<script src="../node_modules/codemirror/addon/dialog/dialog.js"></script> <script src="../node_modules/codemirror/addon/dialog/dialog.js"></script>
<script src="../node_modules/codemirror/addon/display/rulers.js"></script> <script src="../node_modules/codemirror/addon/display/rulers.js"></script>
<script src="../node_modules/jsonlint-mod/lib/jsonlint.js"></script>
<script src="../node_modules/codemirror/addon/lint/lint.js"></script> <script src="../node_modules/codemirror/addon/lint/lint.js"></script>
<script src="../node_modules/codemirror/addon/lint/json-lint.js"></script>
<script src="../node_modules/raphael/raphael.min.js"></script> <script src="../node_modules/raphael/raphael.min.js"></script>
<script src="../node_modules/flowchart.js/release/flowchart.min.js"></script> <script src="../node_modules/flowchart.js/release/flowchart.min.js"></script>