{"id":1752,"date":"2014-04-09T00:00:00","date_gmt":"2014-04-08T22:00:00","guid":{"rendered":"https:\/\/wwwneu.strehle.de\/tim\/weblog\/archives\/2014\/04\/09\/1709\/"},"modified":"2014-04-09T00:00:00","modified_gmt":"2014-04-08T22:00:00","slug":"1709","status":"publish","type":"post","link":"https:\/\/www.strehle.de\/tim\/weblog\/archives\/2014\/04\/09\/1709\/","title":{"rendered":"Oliver Joseph Ash: Inside the Guardian\u2019s CMS: meet Scribe, an extensible rich text editor"},"content":{"rendered":"<p>Oliver Joseph Ash \u2013 <a href=\"http:\/\/www.theguardian.com\/info\/developer-blog\/2014\/mar\/20\/inside-the-guardians-cms-meet-scribe-an-extensible-rich-text-editor\">Inside the Guardian\u2019s CMS: meet Scribe, an extensible rich text editor<\/a>:<\/p>\n<p>\u201cThe problem with all of these off-the-shelf solutions is their lack of extensibility. TinyMCE, for example, does an excellent job of producing the right markup, but much of the user interface for the editor is kept privately within the library, which made it difficult to augment the user experience we desired.<\/p>\n<p>[\u2026] If you\u2019re in need of a rich text editor then we would love for you to try out Scribe. It\u2019s a great starting place for building your own rich text editing experience, as you won\u2019t have to deal with any of the pains introduced by contentEditable.\u201d<\/p>\n<p><a href=\"http:\/\/guardian.github.io\/scribe\/\">Try the demo<\/a>, and get the <a href=\"https:\/\/github.com\/guardian\/scribe\">source code on GitHub<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Oliver Joseph Ash \u2013 Inside the Guardian\u2019s CMS: meet Scribe, an extensible rich text editor: \u201cThe problem with all of these off-the-shelf solutions is their lack of extensibility. TinyMCE, for example, does an excellent job of producing the right markup, but much of the user interface for the editor is kept privately within the library, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_share_on_mastodon":"0"},"categories":[1],"tags":[],"class_list":["post-1752","post","type-post","status-publish","format-standard","hentry","category-weblog"],"share_on_mastodon":{"url":"","error":""},"_links":{"self":[{"href":"https:\/\/www.strehle.de\/tim\/wp-json\/wp\/v2\/posts\/1752","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.strehle.de\/tim\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.strehle.de\/tim\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.strehle.de\/tim\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.strehle.de\/tim\/wp-json\/wp\/v2\/comments?post=1752"}],"version-history":[{"count":0,"href":"https:\/\/www.strehle.de\/tim\/wp-json\/wp\/v2\/posts\/1752\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.strehle.de\/tim\/wp-json\/wp\/v2\/media?parent=1752"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.strehle.de\/tim\/wp-json\/wp\/v2\/categories?post=1752"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.strehle.de\/tim\/wp-json\/wp\/v2\/tags?post=1752"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}