Rich Text Blocks (Extended)
An extended version of the JSON based native Strapi field "Rich Text (Blocks)" that provides enhanced customization options and features.
Strapi Plugin - Rich Text (Blocks - Extended)
An extended version of the JSON based native Strapi field "Rich Text (Blocks)" that provides enhanced customization options and features.
Preview
🚀 Features
- 📝 All native Rich Text Blocks features
- 🎨 Customizable font families with presets
- 🌈 Custom color palettes
- 📱 Configurable viewport options
- 📏 Custom font sizes
- ↕️ Adjustable line heights
- ↔️ Letter spacing control
- ⬅️ Text alignment options
- 🔠 Text formatting options including uppercase transform
- ✨ On-the-fly custom values for font size, line height, and letter spacing
- 🔄 Expandable editor interface
⚠️ Known Limitations
Due to Strapi's custom field architecture limitations:
- Media Library Integration: The image block does not work. This is because Strapi's custom fields cannot officially use special data types like media.
⚙️ Installation
# Using npm
npm install strapi-plugin-rich-text-blocks-extended
# Using yarn
yarn add strapi-plugin-rich-text-blocks-extended
🔧 Configuration
Basic Settings
Option | Type | Default | Description |
---|---|---|---|
disableDefaultFonts | boolean | false | Enable to use custom font presets |
customFontsPresets | string | - | Custom font families (format: "Label:value") |
disableDefaultColors | boolean | false | Enable to use custom color presets |
customColorsPresets | string | - | Custom colors (format: "Label:#HEX") |
Example font presets:
1Arial:arial
2Open Sans:open-sans
3Times New Roman:times-new-roman
4Georgia:georgia
Example color presets:
1Black:#000000
2White:#FFFFFF
3Gray:#808080
4Light Gray:#D3D3D3
5Dark Gray:#A9A9A9
Advanced Settings
Option | Type | Default | Description |
---|---|---|---|
disableDefaultViewports | boolean | false | Enable to use custom viewport presets |
customViewportsPresets | string | - | Custom viewports (format: "Label:value") |
disableDefaultSizes | boolean | false | Enable to use custom font sizes |
customSizesPresets | string | - | Custom font sizes (one per line) |
disableDefaultLineHeights | boolean | false | Enable to use custom line heights |
customLineHeightsPresets | string | - | Custom line heights (one per line) |
disableDefaultTracking | boolean | false | Enable to use custom letter spacing |
customTrackingPresets | string | - | Custom letter spacing values (one per line) |
disableDefaultAlignments | boolean | false | Enable to use custom alignments |
customAlignmentsPresets | string | - | Custom alignments (format: "Label:value") |
Example viewport presets:
1Mobile:mobile
2Tablet:tablet
3Desktop:desktop
Example size presets:
16
28
39
410
511
612
714
816
918
1024
1130
1248
Example alignment presets:
1Left:left
2Center:center
3Right:right
4Justify:justify
🎯 Usage
- After installation, the plugin will be available as a custom field type in your Content-Types Builder.
- Add a new field and select "Rich Text Blocks (Extended)" as the field type.
- Configure the field options according to your needs using the settings above.
🔡 Text Formatting
The editor supports various text formatting options:
- Uppercase: Transform selected text to uppercase using the AA button or Ctrl/Cmd+A
- Bold: Apply using the B button in the toolbar or Ctrl/Cmd+B
- Italic: Apply using the I button in the toolbar or Ctrl/Cmd+I
- Underline: Apply using the U button in the toolbar or Ctrl/Cmd+U
- Strikethrough: Apply using the S button in the toolbar or Ctrl/Cmd+Shift+S
- Inline code: Apply using the Code button in the toolbar or Ctrl/Cmd+E
These formatting options can be applied to any text within paragraphs, headings, lists, and quotes.
📝 Block Types
The plugin supports various block types including:
- Paragraphs
- Headings (H1-H6)
- Lists
- Links
- Images
- Quotes
- Code blocks
🤝 Contributing
Feel free to contribute to this plugin by:
- Creating issues for bugs or feature requests
- Submitting pull requests for improvements
- Providing feedback and suggestions
📄 License
MIT License - Copyright (c) Jorge Pizzati
Install now
npm install strapi-plugin-rich-text-blocks-extended
Create your own plugin
Check out the available plugin resources that will help you to develop your plugin or provider and get it listed on the marketplace.