Easy Steem Editor: Cool Update Phase 1,2,3
Easy Steem Editor: Cool Update Phase 1,2,3
![]() |
| Preview > https://steem-writer-pro.pages.dev/ |
Project Status Update
The project is moving forward steadily. All code has been pushed to GitHub but remains private during the development phase. The preview page is hosted on Cloudflare Pages for enhanced reliability.
Current Status: Development is focused on a modern React architecture rather than plain HTML.
Phase 1: Legal Media Integration
Completion: 90%
(Pexels and Attribution are 100% complete; Pixabay support is reserved in the UI but requires API integration.)
- API Integration: Search functions directly within the sidebar (
PexelsService). - Key Security: Pexels keys can be stored in two ways: as plain text (in
localStorage) or encrypted in the Vault (SecurityService.savePexelsKey). This is a unique security feature. - Auto-Attribution: When inserting a photo via
insertPexelsImage, a caption is automatically generated:- Implemented via templates in
App.tsx. - Includes links to the author and the Pexels platform.
- Users can choose to embed the link directly in the image or as a separate footer.
- Implemented via templates in
Phase 2: Optimization & Features
Completion: 70%
(Tables, tags, languages, and drafts are functional. Remaining tasks: active calendar/publication schedule and final polishing of table imports.)
Table Import: The
processTableImportmodule is functional.Drafts/Templates: Implemented via
STORAGE_KEY_DRAFTSandSTORAGE_KEY_TEMPLATES. Works locally using IndexedDB and localStorage.Tag Lists & Groups:
TagGroupfunctionality is implemented, allowing users to create custom groups for quick insertion.

Multi-language Support: UK/EN toggle implemented with a full UI translation.
Phase 3: Direct Image Upload (SteemitImages)
Completion: 95%
(Works on the web page via SteemKeychain and WhaleVault. No need to manually enter keys or register a separate account for signing. Note: Bulk uploads via Keychain may trigger multiple signature requests.)
- Mass Upload: The
handleFileUploadfunction allows multi-file selection with a processed queue and progress indicator. - Upload Technology: Uses the official Steemit schema:
- Vault (Smart Local Wallet):
- Security: Uses AES-256 (GCM) with PBKDF2 (600,000 iterations—a very high security standard).
- Convenience: Enter your PIN once to unlock the Master Key into memory, enabling image uploads without constant Keychain popups. This is significantly more efficient for bulk uploads.
- Final Step: Completely replace remaining legacy Steem functions with
dsteem.
Overall Project Progress: ~85%
📋 Summary
- What was updated? The transition to the
dsteemlibrary is underway. It is connected via CDN and used inSecurityServiceandApp.tsxfor PrivateKey operations and post broadcasting. - Main Achievement: A Hybrid Authorization System. Users can use Keychain for publishing (key security) and the Vault for images (bulk upload convenience). This is a sophisticated solution for Steem applications.
- Next Goal: Toolbar optimization and "Smart Table" formatting to prevent misalignment.
Additional Features (Beyond the Original Plan)
- Floating Formatting Bar: Contextual tools appear directly over highlighted text.
- Split Post: Automatically split very long texts into multiple parts for serial publications.
- Smart "Clean Word" Stats: An algorithm that excludes Markdown code, links, and attribution when counting words to show the real content volume.
- Focus Mode: Full-screen preview capability via
requestFullscreen. - Community Presets: A pre-set list of Steem communities (Ukraine, Venezuela, etc.) with tag auto-completion.
- Vault-Protected Pexels Key: Encrypting the API key with the same Master Key that protects the Posting Key.
- Markdown Escape
\: A utility to quickly protect Markdown characters from rendering. - Quick Lists: Select multiple lines of text and click "List" to automatically apply bullet points to each line.

- DOMPurify: An HTML sanitizer for enhanced security, ensuring third-party code cannot be executed within the preview.



