Skip to main content

A zero-dependency, CSP-strict, bidirectional rich-text editor for Django.

Project description

Jalgo-editor

A zero-dependency, CSP-strict, bidirectional rich-text editor that feels like Notion but lives natively inside the Django Admin.

Why Jalgo?

Right now, if a Django developer wants a rich-text editor, they have to compromise:

  • CKEditor / TinyMCE: Bloated, and fails strict Content Security Policies (CSP) because they inject style="..." everywhere.
  • Editor.js: Block-based, making mixed-language typing (Persian and English in the same article) a frustrating experience.
  • Tiptap/ProseMirror: Requires NPM, React/Vue, and complex build pipelines.

Jalgo-editor is the anti-bloat editor. It is a pure Python and Vanilla JavaScript package that drops into any Django project instantly. No NPM, no build steps, no external CSS frameworks required.

Killer Features

  1. Smart Bi-Directional (Bidi) Engine: Users don't click an "RTL" or "LTR" button. The editor automatically detects the language of every new paragraph natively applying dir="rtl" to Persian/Arabic blocks, and dir="ltr" to English.
  2. Bank-Grade Security (Double Sanitization): 100% CSP compliant with zero inline styles. A rigorous frontend DOM sanitizer prevents client-side XSS during copy-paste, while a robust backend Python parser provides defense-in-depth Stored XSS protection. Safely handles Base64 image embedding while aggressively stripping malicious data URIs.
  3. The "Zen" Interface & Dynamic Themes: Notion-like Bubble Menus, fully keyboard-navigable Slash Commands (/), and a beautiful premium glassmorphism design. Instantly switch between multiple themes including Default, Dark, Retro, and an 8-Bit pixel aesthetic!
  4. Live Syntax Highlighting: A lightweight, zero-dependency generic syntax highlighter automatically colorizes programming languages (keywords, strings, comments) in <pre> code blocks as you type—even adapting to your chosen theme.
  5. Built-in SEO Tools & Code View: Real-time word counts, reading time, heading hierarchy validators, and a robust HTML Code View editor.
  6. Seamless Admin Integration: Automatically initializes in Django Admin, fully supporting dynamic Inline Formsets without any configuration.
  7. Drag & Drop Images: Works out-of-the-box using local Base64 embedding with secure validation.

Installation

Install using pip:

pip install jalgo-editor

Add to your INSTALLED_APPS in settings.py:

INSTALLED_APPS = [
    # ...
    "jalgo_editor",
]

Usage

Simply swap your standard models.TextField with FluidTextField:

from django.db import models
from jalgo_editor.fields import FluidTextField

class Article(models.Model):
    title = models.CharField(max_length=200)
    content = FluidTextField() # Automatically renders the Notion-style editor

No widget configuration needed! It will seamlessly appear in your Django Admin with beautiful Glassmorphism styling and dark-mode support.

Monetizable Extensions (Premium API)

Jalgo-editor includes configuration hooks for premium integrations:

  • JALGO_AI_LICENSE_KEY: Unlocks the /ai autocomplete translation and phrasing engine inside the bubble menu.
  • JALGO_CDN_TOKEN: Bypasses your local media storage to automatically drag-and-drop upload and WebP-optimize images to the Jalgo CDN.

License

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jalgo_editor-1.0.0.tar.gz (15.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jalgo_editor-1.0.0-py3-none-any.whl (15.7 kB view details)

Uploaded Python 3

File details

Details for the file jalgo_editor-1.0.0.tar.gz.

File metadata

  • Download URL: jalgo_editor-1.0.0.tar.gz
  • Upload date:
  • Size: 15.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for jalgo_editor-1.0.0.tar.gz
Algorithm Hash digest
SHA256 40a38971510d7d00e3626580f6fdaec51a311645be9cbee628b29a0ad4897d1f
MD5 98818d1137fdd3b151ebac86c23e3fff
BLAKE2b-256 082c2960ccb8dd6b2f78277c3b7b010fc9b34e836fb65039ccf84ec83c05cd07

See more details on using hashes here.

Provenance

The following attestation bundles were made for jalgo_editor-1.0.0.tar.gz:

Publisher: publish.yml on iamjalipo/Jalgo-editor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file jalgo_editor-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: jalgo_editor-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 15.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for jalgo_editor-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b37c56a7b8fb643dd3ff7c9504d615dff0dc97e6f2f1481fd03f026f3321da3a
MD5 92da73f196b162ea4750f8490f316959
BLAKE2b-256 be8331b9d3d36ae0bdfc9b43d5033d3fbf185151bb894b5d26ba1994fef4fb26

See more details on using hashes here.

Provenance

The following attestation bundles were made for jalgo_editor-1.0.0-py3-none-any.whl:

Publisher: publish.yml on iamjalipo/Jalgo-editor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page