There’s a myriad of tools out there, so I made another.
This writing tool is built on a standard Django architecture where models, views, and templates are already defined. Developers don’t need to redefine the core structure—only extend or integrate it.
The system exposes three primary views/components:
https://rye.wentcloud.com/en/writer/
1. Edit View
The edit view provides access to the Django Prose Editor.
This is where authors or contributors modify the base document content.
From a Django perspective, it behaves like a typical
UpdateViewor customViewhandling GET (load prose editor) and POST (save edited content). !
2. Management View
This view is designed for managers or admins.
Purpose:
Edit the main document
Combine elements (additions) into a document
Elements are modular pieces of content that augment or override the core document.
Think of these elements as related models or foreign-key child objects that can be dynamically assembled into a final document.
Documents
Title | Version | Actions |
|---|---|---|
Writing a document | v1.0.8 | |
Second document | v1.0.0 | |
Formatting for the front end | v1.0.0 |
3. Render Component / Render View
This is the scalable, reusable output view.
Other applications can 'ingest' this render view to display the finished document.
Conceptually, this is your “export layer,” where the combined document + elements are rendered into a template.
Metadata or non-content fields can be intentionally excluded during rendering.
There is the component in just 'html' a fail-safe, the data is also structured in tables
https://rye.wentcloud.com/en/writer/document/render/1/
<table class="content-table">
Defines a table element.
The
classattribute (content-table) is used for styling through CSS.
<thead>
<tr>
<th colspan="2"> </th>
</tr>
</thead>
table cells can hold any HTML elements.
And finally the application view. This is where we want to add our edits to the application, we've stripped off the meta-data in the rendering, and passed it to follow the css styling.
https://rye.wentcloud.com/en/ltp/list-of-items/
This view is intentionally modular, so other apps can call it, import it, or even wrap it as an API endpoint.
First we add the plugin, then save, and our rendering is complete
<div class="content">
<h1>
</h1>
<br>
</div>