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-0.2.1.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-0.2.1-py3-none-any.whl (15.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: jalgo_editor-0.2.1.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-0.2.1.tar.gz
Algorithm Hash digest
SHA256 ab43b7c52ef439f4aabf33e67972b21963c9023b1e2bc6537f79b54764510f21
MD5 182dc9cfdc32e57ee7ddf0159fb375c5
BLAKE2b-256 139c326d78cae0dba6fe507fd81c754c47c485fc729137896370dabbc7ec04ed

See more details on using hashes here.

Provenance

The following attestation bundles were made for jalgo_editor-0.2.1.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-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: jalgo_editor-0.2.1-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-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ce51b833e239e660e252e8b66895d8a58dbb6518cd08be90bacc21cf54005775
MD5 c32e069dd9ecbca90b23ade166954a25
BLAKE2b-256 7e64a7cfbebd5bf82f2a35bfe4318bae20a6afbae9e42da9d1f33fc14fa6aefa

See more details on using hashes here.

Provenance

The following attestation bundles were made for jalgo_editor-0.2.1-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