optimal-pen
v1.0.0
Published
Block-style editor with universal JSON output with 10+ plugins.
Downloads
3
Readme
Optimal Pen
Optimal Pen is a powerful, EditorJS-based configurator that provides a block-style editor with universal JSON output and a rich ecosystem of over 10 built-in plugins. Designed with a modular architecture in mind, it lets you easily integrate, customize, and extend the editor to fit your project's needs.
Features
- Universal JSON Output: Consistently structured JSON data from your content.
- Plugin-Rich: Seamless integration with a wide range of EditorJS plugins:
@alkhipce/editorjs-aitext@editorjs/checklist@editorjs/code@editorjs/delimiter@editorjs/editorjs@editorjs/embed@editorjs/header@editorjs/image@editorjs/inline-code@editorjs/link@editorjs/list@editorjs/marker@editorjs/paragraph@editorjs/quote@editorjs/raw@editorjs/table@editorjs/warningeditorjs-anchoreditorjs-header-with-anchoreditorjs-multicolumneditorjs-spoilereditorjs-undo
- Modular & Extensible: Easily adjust and extend functionality with your own custom plugins or configurations.
- Rollup Build: Streamlined build process for optimized production bundles.
Installation
Install Optimal Pen using npm:
npm install optimal-penUsage
Below is an example of how to integrate Optimal Pen into your project. Import EditorJS and Optimal Pen, then initialize the editor with your desired configuration:
import EditorJS from '@editorjs/editorjs';
import OptimalPen from 'optimal-pen';
// Initialize the editor
const editor = new EditorJS({
holder: 'editorjs', // The ID of the element to host the editor
tools: OptimalPen.getTools(), // Retrieve preconfigured tools from Optimal Pen
// ...other EditorJS configuration options
});Customize your configuration further by referring to the EditorJS documentation and adjusting the tool settings as needed.
Configuration & Build
Optimal Pen is built using ES modules and leverages Rollup for bundling. Here are the key commands:
Build: Bundle your project for production.
npm run buildDevelopment Mode: Watch for changes and rebuild automatically.
npm run devor
npm run watch
Ensure that your project is set up to support ES modules (as indicated by the "type": "module" in the package configuration).
Contributing
Contributions, issues, and feature requests are welcome. Follow these steps to contribute:
Fork the repository.
Create a new branch:
git checkout -b feature/your-featureCommit your changes:
git commit -m 'Add your feature'Push to your branch:
git push origin feature/your-featureOpen a Pull Request to merge your changes.
License
This project is licensed under the LGPL-3.0-or-later License.
Acknowledgements
- EditorJS – for the core block-style editor.
- The open-source community – for continuous contributions and support.
Happy coding!
