Horizontal Rule
@edybara/hr
에디터에 수평 구분선을 표현하기 위한 서식과 관련 플러그인을 제공합니다.
설치
npm install @edybara/hr
스타일
src/index.scss
@import "@edybara/hr/styles/hr.scss";
서식
edybaraHorizontalRuleNodes
수평선 서식을 제공합니다.
플러그인
edybaraHorizontalRulePlugins
하단의 모든 플러그인을 통합 제공합니다.
edybaraHorizontalKeymapPlugins
현재 커서 위치에서 수평선 노드를 추가하는 단축키(Ctrl Shift _)를 제공합니다.
사용 예시
src/index.ts
import { EditorState, Plugin } from 'prosemirror-state';
import { Schema } from 'prosemirror-model';
import { EditorView } from 'prosemirror-view';
import { edybaraBaseNodes, edybaraCorePlugins } from '@edybara/core';
import { edybaraParagraphNodes, edybaraParagraphPlugins, } from '@edybara/paragraph';
import { edybaraMenubarPlugins } from '@edybara/menubar';
import { edybaraHorizontalRuleNodes, edybaraHorizontalRulePlugins } from '@edybara/hr';
const schema = new Schema({
nodes: {
...edybaraBaseNodes(),
...edybaraParagraphNodes({
allowAlign: true,
nodeName: 'paragraph',
}),
...edybaraHorizontalRuleNodes({
nodeName: 'horizontal_rule',
}),
},
});
const plugins: Plugin[] = [
...edybaraParagraphPlugins({
nodeType: schema.nodes['paragraph'],
}),
...edybaraHorizontalRulePlugins({
nodeType: schema.nodes['horizontal_rule'],
}),
...edybaraCorePlugins(),
];
const view = new EditorView(document.querySelector('#editor'), {
state: EditorState.create({
schema: schema,
plugins: plugins,
}),
});