You say that you're well versed in HTML - you know that rich text editors aren't part of the standard, right?
So yeah, if it was just a simple textarea
and you don't handle all of the security issues that will come with displaying raw user-provided HTML, I could do that 15 minutes tops.
But if it's text editor powered by TinyMCE or CKEditor with a reasonable amount of security and compatibility testing (not to mention the workarounds you'll have to do to Rails to make sure it doesn't blow up in production), I'm actually impressed that they could get it working in just 6 hours.
What you're looking for is a WYSIWYG editor. A good one is tinymce. Check the demo on the homepage.
There seems to be a package for flask, although I haven't used it: https://pypi.org/project/wtf-tinymce/
>Your link is helpful
The link in question is pretty much the only resource I've seen in recent memory. I can vaguely remember other ones in the old days. Is there a definitive list of allowable HTML commands for your profile or cache page on Geocaching.com?
Opencaching.us uses Tiny MCE for an editor for cache pages and cache logs, and we do have a list of allowable commands. You know what? I have no idea if Groundspeak uses Tiny MCE, I guess it's never came up, and I never looked into it.
You don't need to build anything full featured. Just enough to be able to click into a page and modify a main content block with a WSIWYG like tinyMCE.
When people say CMS they are really just saying 'I want an editor thats easy to use to change content on my website'.
I'm also suggesting to do this just to show a proof of concept or consider it part of your technical portfolio you can sell your clients on a product thats a little more ready made.
Also as a freelancer you should be looking for as many opportunities to reuse code. Writing the code the first time always takes way longer; so if you wrote your code reusable you'll be way more profitable. If you have a library (or your own; hence why people use PHP-Wordpress so much) readily available the better positioned you'll be to make deadlines; the more work you can complete by the end of the year... the more money you'll make.
P.S. I think wordpress is rewriting stuff to be in nodejs anyways.
If you're using something like WP API to provide access via REST, the 'content' of a post will be passed through WordPress's filters prior to being outputted to the json. So the content preserves HTML tags, and can be manipulated via plugin filters etc.
I've just tried using the React markup on my own setup, and it seems the WP backend strips it out (probably because it's invalid HTML). There will be a way to stop this though, probably by disabling some parts of the tinyMCE editor in the backend. This can be done via hooks in your functions.php
This is probably what you're looking for: https://www.tinymce.com/docs/configure/content-filtering/#extended_valid_elements
I am glad you like it! TinyMCE is available from npm and bower, but the plugin must be installed manually. Here you can find more information: https://www.tinymce.com/docs/get-started/advanced-install/#packagemanagerinstalloptions