Also, the website quotes are hilarious.
In both "I'm drunk"... :D
Currently if you wish to add a schema just needs a thin wrapper where you tell it the elements that are to be displayed as inline (rather than block).
Specifically, an .RNG or .XSD file just needs a tiny reference to a schema family:
And that config file is a pointer to these schema families https://github.com/holloway/doctored/blob/master/doctored/js... that name the inline/block config.
Long answer: Currently hitting <enter> clones the current block element but when there are block elements within block elements (such as chapter > para) there's no way to know what <enter> should mean. Other software (some wordprocessors) use double <enter> to step up a level, and I guess I'll support that. For UI reasons though I think that I'll also add a [+] button to the top-left of block elements (above the vertical label, above the nodeName). And I should also support pasting XML more (it kind of works right now but it needs more work).
I'll be a bit busy for the next week on a live split-view of the XML, but after that I'll work on cloning nesting block elements. I'll say when it's done on @hollowaynz -- cheers :)
This looks really good and sounds even better! I have invested a considerable amount of time in exploring visual XML document editing, including contentEditable, RelaxNG, web components, textarea input redirection (CodeMirror), especially for DocBook XML.
I'm curious have you thought about things like non-textual (for the writer) elements like widgets for dates, how to edit attributes, types in general (only numbers here).
In the comments here you mention douple enter to clone current block level (para) element. What about configurable behaviors or templates that insert XML fragments Emmet style? I have been looking at ways to declare editorial aspects (things that should happen with common editorial operations like douple enter, selection, copy/paste), perhaps using RelaxNG annotations or LESS style CSS extensions. New chapters, tables and links might come with considerable package which is not evident from the schema (nor could it be).
I try to take a close look later...
BTW: What license are you using? I did not find any mention in the Github repo.
I'm not sure how JSON would be displayed in this kind of interface. Any ideas? I'll have some attempts and get back to you.
It's the first version so things will change and it's a bit buggy right now. Should stabilise in a couple of days, cheers :)
How does this compare to Xopus? https://xopus.com/
Of course, Xopus is closed source, so that's a big difference already.
1. Please, please make tabbing between fields work as I expect (i.e. after I've filled in Book Title, let me tab to the next field down).
2. Please make ctrl-A select all text in that field rather tha making me use the mouse.
(‘Screenshot’ header is there, true, but it may go unnoticed because the UI example below catches user's attention right away.)
edit: Actually selectize.js looks a bit nicer