Prettify MATLAB html

Version 6.8 (1.36 MB) by Harry Dymond
Provides additional features when exporting .m files to html using MATLAB's "publish" feature
Updated 10 Mar 2024

View License

Editor's Note: This file was selected as MATLAB Central Pick of the Week

prettify_MATLAB_html gives you additional features when publishing an .m file to html using MATLAB's publish function:
1. With a few easy-to-use "tags" in your source .m file, you can:
— Create collapsible sections, similar to those seen in "official" MATLAB help pages.
— Create internal page links to jump to other parts of the page.
— Insert line breaks.
— Insert spacing of specified pixel height.
— Specify size for any text.
— Specify colour for any text.
— Insert your own CSS classes to style text however you wish.
— Optionally, give the user a choice to display the page with a “dark” theme.
— Easily switch between elements in the page according to which theme (“light” or “dark”) is selected by the user.
2. Provides Quick-Access Toolbar buttons to insert the prettify_MATLAB_html tags when editing your .m file.
3. Provides a built-in table style to use when embedding an html table.
4. Automatically ensures that images do not exceed page width (images that would be wider than the page at their full size, scale with the width of the page).
5. Gives inline code and execution results a horizontal scroll bar if they do not fit in the width of the page.
Please click here for a full description of prettify_MATLAB_html's usage and features.

Cite As

Harry Dymond (2024). Prettify MATLAB html (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2018a
Compatible with R2016b and later releases
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

prettify documentation/html

publish overload

prettify documentation

Version Published Release Notes

-- Added support for UTF-8-encoded HTML files, as generated by newer versions of MATLAB
-- Changed how page-internal links (anchor links) function, to work around bug in help/doc browser in recent versions of MATLAB (2022a+)


-- Changed html implementation of [brx] tags for better cross-browser support
-- Updated documentation

Updated description


-- Improved error handling, including display of name of file being processed, if warnings and/or errors occur
-- Saves help of built-in publish so it can be displayed on command line when user runs "help publish", when publish is overloaded


Details boxes now open automatically if they are closed and the user clicks an internal page link that links to the box


Fixed bug that could occur when <tt> tags are replaced by <code> tags (HTML5 validation fix)


- Now allows negative values for the [brx] tag
- Fixed bug that could occur when using [h2.CElink] tags in conjunction with nested [dtls] sections.


Fixed bug when processing nested [class.<class name>] tags


Fixed bug when processing <style></style> tags in embedded html


- Fixed html 5 compliance issues, some due to the built-in publish, and some due to prettify
- Added [h2] and [h2.CElink] tags
- Enhanced functionality of floating "return" link - arrow direction now updates as user scrolls or resizes window


- Fixed upload issue


- Improved floating back button functionality when page is viewed on MATLAB Central
- More robust positioning of collapse/expand all links


Updated documentation to recommend that when creating in-page links to [dtls] boxes, the [targetn] tag should be placed immediately before the opening [dtls] tag.


- Adds a "return" floating button/link when user follows an in-page link (but not if page is viewed in MATLAB help browser)
- Other changes listed in .m file


If pages are viewed in the "Examples" tab on MATLAB Central:
- They have a scroll bar, so the [frameBufferx] tag is no longer required
- In-page links work in most browsers and jump to correct location (also applies to MATLAB help browser)


Now includes version number of prettify_MATLAB_html in the footer link


- No longer creates extra space after monospaced text (e.g. |text| ) that is wrapped in [class], [scale], or [colour] tags
- Added the [delsp] tag


- Fixed issue with collapse-all/expand-all links in help browser of recent versions of MATLAB
- Improved spacing after generated code output and lists that appear at the end of [dtls] boxes


- Improved syntax checking for [dtls] tags
- Improved handling of html in [dtls] boxes (also fixes potential bug when nesting [dtls] boxes)


- Enables nesting of [dtls] boxes
- [dtls] boxes are now rounded on all four corners when closed
- Improved syntax checking for [/dtls] tags
- Other changes listed at end of .m file


- Improved error handling
- Fixed bug that occured when any [dtls] sections were placed before MATLAB's auto-generated page contents list


Better handling of malformed syntax in the source .m file


Fixed bug associated with [frameBufferx] tag


Minor documentation tweaks


Added [frameBufferx] tag to work around issue of MATLAB central miscalculating height of document


Fixed bug with "collapse/expand all" controls for pages with ten or more sections


Minor code tidy


- Added "built-in" publish CSS classes (see end of .m file for list) as valid when using the [class.class-name] tag (but these won't be in the pop-up list when the "class" Toolbar button is pressed.)
- Handles some incorrect syntax more gracefully


- Fixed bug when multiple images appear inside [dtls] sections
- Added Toolbar button to insert an html-table template


- Improved enclosing of inline html into [dtls] sections (again)
- Improved handling of nested of [colour#], [scalex], [class.class-name] tags


- Fixed bug with "collapse/expand all on page" link when page has no sections
- Documentation fix


- Added support for nesting of css classes e.g. [class.a][class.b]this item will be formatted according to css classes a and b[/class][/class]
- Increased robustness of enclosing inline html in [dtls] sections


- Improved method of assigning classes and styles


- Added workaround for MATLAB central miscalculating page height


- Added support for new tags: [cssClasses], [class.class-name], [scalex], [colour#], [themesEnabled], and [darkAlt]
- Added dark theme
- Improved handling of Toolbar buttons
- Other minor changes; see end of .m file for more information


- Added method for adding shortcuts to Quick-Access Toolbar, that then allow easy adding of tags to source .m file
- Other minor tweaks and bug fixes (see end of .m file for more info)


- Improved method of closing [dtls] sections
- Better handling of consecutive [/dtls][dtls] tags


First release