Skip to content

Latest commit

 

History

History
109 lines (77 loc) · 4.68 KB

Steps.md

File metadata and controls

109 lines (77 loc) · 4.68 KB

MagnetarQuill - Step Plan for Next 20 Iterations (Version 1)


1. Text Formatting - Basic Features

  1. Implement Bold, Italic, Underline, and Strikethrough:

    • Develop core functionality for applying and toggling these formatting options using <b>, <i>, <u>, and <strike> tags.
    • Add respective toolbar buttons and keyboard shortcuts.
  2. Develop Font Family & Font Size Dropdowns:

    • Implement dropdowns for selecting font family and size, applying changes dynamically to the selected text.
    • Include common fonts (Arial, Times New Roman, etc.) and allow users to add custom fonts via URLs.
  3. Integrate Text and Background Color Pickers:

    • Create color pickers for text and background colors.
    • Ensure these options apply consistently to selected text or subsequent input.

2. Content Structuring - Lists and Headers

  1. Add Ordered and Unordered Lists:

    • Implement functionality for creating and editing ordered (<ol>) and unordered (<ul>) lists.
    • Enable list item creation on Enter and provide a toolbar toggle for list types.
  2. Enable Custom Headers (H1-H6):

    • Develop header options (H1 to H6) in the toolbar, allowing users to quickly change paragraph styles.
    • Provide keyboard shortcuts (e.g., Ctrl+1 for H1, Ctrl+2 for H2).
  3. Integrate Indentation Control for Lists & Paragraphs:

    • Implement indentation increase and decrease for lists and paragraphs using Tab and Shift+Tab.

3. Insertable & Editable Elements

  1. Build Image Insertion and Editing (Upload & URL Embed):

    • Add functionality to insert images from local files or URL links.
    • Enable resizing, alignment, and caption addition for images.
  2. Support for Copy-Paste of Images:

    • Implement copy-paste support for images directly from external sources into the editor.
    • Ensure images are editable after being pasted.
  3. Create Table Insertion and Editing:

    • Develop table creation tools with user-defined rows and columns.
    • Add options for editing table properties (e.g., borders, alignment, cell merging).

4. Object Management

  1. Develop Object Context Menu:

    • Build an internal context menu for all embedded objects (images, videos, tables, etc.).
    • Include options like edit, cut, copy, paste, delete, and reposition.
  2. Implement Drag-and-Drop for Object Repositioning:

    • Enable drag-and-drop functionality for moving objects (images, tables, videos) within the document.

5. Clipboard Support

  1. Support for Copy-Paste of Rich Text:

    • Ensure users can copy and paste rich text (bold, italic, etc.) while retaining its formatting within the editor.
  2. Implement Text Sanitization on Paste:

    • Sanitize pasted text to prevent injection of harmful or conflicting formatting, ensuring content consistency.

6. Undo/Redo & History

  1. Develop Undo/Redo Functionality:

    • Implement basic undo/redo functionality with toolbar buttons and shortcuts (Ctrl+Z, Ctrl+Y).
    • Create a history stack to track user actions.
  2. Support for Multiple History Steps:

    • Extend the undo/redo system to support multiple steps, with efficient tracking of user actions and performance optimizations.

7. File Operations

  1. Build HTML and Markdown Export:

    • Implement file-saving functionality that allows users to export documents as HTML and Markdown.
    • Ensure formatting (including images, links, and tables) is correctly preserved.
  2. Enable File Loading (HTML & RTF):

    • Create functionality for users to load and edit pre-existing HTML or RTF documents within the editor.

8. Editor Layout

  1. Develop Full-Screen Mode:
    • Build a full-screen mode for distraction-free editing, with a toggle button in the toolbar.
    • Allow users to switch back to regular mode with Esc or the toggle button.

9. Customization & Theming

  1. Integrate Light and Dark Theme Options:
    • Implement light and dark mode options, allowing users to switch themes from the settings menu.
    • Ensure proper styling of all UI elements for both themes.

10. Plugin Architecture

  1. Create Plugin System for Custom Toolbar Tools:
    • Build the initial plugin system, allowing developers to add custom tools to the editor’s toolbar.
    • Ensure plugins can be activated, deactivated, and configured via a plugin manager.

These 20 steps represent the initial iterations needed to build a functional core of the MagnetarQuill editor, focusing on text formatting, content structuring, media management, and early plugin support. Let me know if you need further refinements or next steps!