Skip to content
Snippets Groups Projects
Commit 935661ec authored by chris's avatar chris
Browse files

code block working

parent dba8dbb4
No related branches found
No related tags found
1 merge request!135Code block
......@@ -46,8 +46,8 @@ export default {
'Notes',
'Lists',
'Images',
'Tables',
'CodeBlock',
'Tables',
],
},
{
......
import React from 'react'
import FontAwesomeIcon from '@fortawesome/react-fontawesome'
import React from 'react';
import FontAwesomeIcon from '@fortawesome/react-fontawesome';
import {
faBold,
faItalic,
......@@ -22,9 +22,9 @@ import {
faAngleUp,
faStickyNote,
faVial,
// faWheelchair,
faFileCode,
faEllipsisH,
} from '@fortawesome/free-solid-svg-icons'
} from '@fortawesome/free-solid-svg-icons';
export default {
em: <FontAwesomeIcon icon={faItalic} />,
......@@ -40,7 +40,7 @@ export default {
paragraph: <FontAwesomeIcon icon={faParagraph} />,
heading: <FontAwesomeIcon icon={faHeading} />,
blockquote: <FontAwesomeIcon icon={faQuoteLeft} />,
code_block: <FontAwesomeIcon icon={faCode} />,
code_block: <FontAwesomeIcon icon={faFileCode} />,
ordered_list: <FontAwesomeIcon icon={faListOl} />,
bullet_list: <FontAwesomeIcon icon={faListUl} />,
image: <FontAwesomeIcon icon={faImage} />,
......@@ -71,4 +71,4 @@ export default {
</svg>
</span>
),
}
};
const codeBlock = {
content: 'block+',
content: 'text*',
group: 'block',
code: true,
defining: true,
......
import hljs from 'highlight.js/lib/core';
import { highlightPlugin } from 'prosemirror-highlightjs';
import 'highlight.js/styles/github.css';
import { codeBlockNode } from 'wax-prosemirror-schema';
import Service from '../Service';
import CodeBlockTool from './CodeBlockTool';
export default class CodeBlockService extends Service {
boot() {}
boot() {
this.app.PmPlugins.add('highlightPlugin', highlightPlugin(hljs));
}
register() {
this.container.bind('CodeBlockTool').to(CodeBlockTool);
const createNode = this.container.get('CreateNode');
createNode({
codeblock: codeBlockNode,
code_block: codeBlockNode,
});
}
}
import Tools from '../lib/Tools';
import { injectable } from 'inversify';
import { icons } from 'wax-prosemirror-components';
import { wrapIn } from 'prosemirror-commands';
import { Commands } from 'wax-prosemirror-utilities';
@injectable()
class CodeBlockTool extends Tools {
title = 'Insert Code Block';
content = icons.footnote;
content = icons.code_block;
get run() {
return (state, dispatch) => {
wrapIn(state.config.schema.nodes.codeblock)(state, dispatch);
Commands.setBlockType(state.config.schema.nodes.code_block)(
state,
dispatch,
);
};
}
get enable() {}
get enable() {
return state => {
return Commands.setBlockType(state.config.schema.nodes.code_block)(state);
};
}
}
export default CodeBlockTool;
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment