Я отчетливо осознаю проблему, описанную в статье Джеффа Итона "Битва за поле тела". Это передача клиентам CMS, которая обеспечивает баланс между концептуальной простотой в редактировании контента и гибкостью в потоке и структуре этого контента. Создавая чистый, совместимый вперед код и гибкие макеты.
Теперь я убежден, что для решения этой проблемы нужны какие-то пользовательские теги. Даже если они завернуты в редактор WYSIWYG.
Я хотел бы сохранить предварительную обработку серверной части до тех пор, пока веб-компоненты не станут более широко поддерживаться. И я одобряю Ruby/Rails для разработки.
Итак, какие библиотеки доступны, которые помогли бы с предварительной обработкой и расширением пользовательских тегов XML или HTML таким образом?
XSLT кажется слишком ограниченным. И Радиус, возможно, является соперником, хотя он, похоже, все еще не находится в активном развитии.
Я склоняюсь к уценке, потому что она расширяема и действует как подгруппа HTML. В Ruby основными соперниками являются Redcarpet и kramdown. Есть и другие, но я их не использовал.
Красный ковер зрелый и прочный. Он также обладает высокой производительностью и растяжимостью. Вы можете определить свои собственные теги и синтаксис. Он позволяет предварительно обрабатывать и обрабатывать контент.
Однако у него есть недостатки. Поскольку он придерживается стандарта уценки, он может быть ограниченным. Я написал собственный синтаксис тегов figure
и обнаружил, что он вставлен между тегами абзаца, что приводит к недопустимому HTML. Это не его вина. Это то, как работает уценка.
!![figure caption](image_url "img alt text")
Альтернативой является kramdown, которая написана с учетом гибкости. Это позволяет полностью настроить ваш синтаксис.