Feature #12148

Updated by Dan Gillean about 2 years ago

This feature will add Description: Add the ability for AtoM users to add custom formatting such as bolding, italics, styled hyperlinks, lists, and more in user editable content (such as descriptions, authority records, and other AtoM entities), using the Parsedown (http://parsedown.org/) PHP markdown library to AtoM to allow markdown formatting in AtoM resources.

Parsedown makes use of GitHub flavored markdown syntax - more information on formatting can be found here:

* https://guides.github.com/features/mastering-markdown/
* https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet

(Note that some aspects of GitHub-flavored markdown are GitHub specific and may not work in AtoM. A full list of supported elements and examples will be added to the documentation when this feature is completed.)

Where previous support has been added for alternative styling methods (such as the custom linking syntax added in issue #8410), these will be removed and will no longer work going forward. Users will be provided with a command-line task to update existing syntax to the new supported format - for more information on this task, see issue #12149. Additionally, as per #7647, raw HTML will continue to be escaped in AtoM, so HTML strong, emphasis, etc. elements will not work, though the work in #12149 will update the HTML scrub task to convert compatible HTML elements to the new parsedown syntax.

Finally, a new setting will be added to Admin > Settings > Global that will allow an administrator to control whether or not markdown rendering is enabled. When disabled, any parsedown formatting added to AtoM will simply display as raw text content.


* Integrate Parsedown into AtoM.
* Add administrator setting to allow enabling or disabling markdown rendering functionality.
* When markdown rendering is enabled, convert markdown to HTML for display in web user interface.
* Ignore markdown characters in search queries.
* Remove existing custom markdown code for lists and links, to avoid conflicts with Parsedown.