Rhino Editor

screenshot of Rhino Editor
rails

Rhino Editor

A tiptap integration for Rails compatible with ActionText

Overview

The Rhino Editor package aims to provide a user-friendly WYSIWYG editing experience for Ruby on Rails ActionText backend. Currently utilizing TipTap integration, it is nearing the addition of ProseMirror integration to allow for both Markdown and WYSIWYG editing. Note that this package is currently in beta and is not recommended for production use until version 1.0 is released.

Features

  • Seamless integration with Ruby on Rails ActionText backend
  • WYSIWYG editing using TipTap
  • Future integration with ProseMirror for Markdown + WYSIWYG editing

Installation

To install Rhino Editor and its dependencies, follow these steps:

  1. Make sure you have the following prerequisites installed:

    • Ruby 3.1.2
    • Rails 7.0.4
    • PNPM (npm install -g pnpm)
    • Playwright
    • Node >= 16
    • Docker (Used to run a simulated S3 server)
    • Overmind (Preferred but not necessary)
  2. Run the following commands in your terminal to set up the dependencies:

command 1
command 2
command 3
...
  1. To run the server, use Overmind by navigating to localhost:5100 in your web browser.

  2. If you prefer to run the server without Overmind, follow these steps in separate terminals:

command 1
command 2
command 3
...
  1. To run the test suite, make sure the docker server is up and running, as the test suite relies on it.

  2. To listen for changes in the package, keep your Rails server running and open a new terminal with the command:

command
  1. To add a changelog entry, use the following command and answer the prompts accordingly:
command

Summary

The Rhino Editor package provides a convenient and integrated editing experience for Ruby on Rails ActionText backend. With a focus on user-friendliness and ease of use, it offers features such as WYSIWYG editing using TipTap and a future integration with ProseMirror for both Markdown and WYSIWYG editing. While still in beta, this package shows potential for enhancing content creation and management in Ruby on Rails applications.

rails
Ruby on Rails

Ruby on Rails, often referred to as Rails, is an open-source web application framework written in Ruby. Known for its convention over configuration and don't repeat yourself (DRY) principles, Rails simplifies and accelerates the development of database-backed web applications.

eslint
Eslint

ESLint is a linter for JavaScript that analyzes code to detect and report on potential problems and errors, as well as enforce consistent code style and best practices, helping developers to write cleaner, more maintainable code.

typescript
Typescript

TypeScript is a superset of JavaScript, providing optional static typing, classes, interfaces, and other features that help developers write more maintainable and scalable code. TypeScript's static typing system can catch errors at compile-time, making it easier to build and maintain large applications.