Commit Graph

15 Commits

Author SHA1 Message Date
Hamish Friedlander
7afcd64418 FIX Make ShortcodeParser obey error_behavior in attribute scope 2013-02-22 11:34:15 +13:00
Hamish Friedlander
1ee01c39d4 FIX ShortcodeParser producing bad output after escaped tag
Also tightens up matching of shortcodes so we dont match on invalid shortcodes
2013-02-22 10:30:51 +13:00
Hamish Friedlander
76fdb2a2d6 FIX ShortcodeParser#parse in < PHP 5.3.6 where saveHTML doesnt take arg 2013-02-20 10:57:06 +13:00
Hamish Friedlander
cbef44b8d6 FIX Make ShortcodeParser#parse passthrough not error on invalid HTML 2013-02-20 10:57:06 +13:00
Hamish Friedlander
1f4c8174e6 FIX new ShortcodeParser handling of empty strings and escapes 2013-02-18 17:00:42 +13:00
Hamish Friedlander
2335c074b3 NEW Make shortcode parser more clever about placement
Shortcodes have traditionally had a problem that they are inside <p> tags,
but generate block level elements. This breaks HTML compliance.

This makes the shortcode parser now mutate the DOM based on the "class" attribute on
the shortcode to insert the generated block level element at the right place in the DOM

 - for "left" and "right" elements it puts them just before the block level
   element they are inside

 - for "leftAlone" and "center" elements it splits the DOM around the shortcode.

The trade off is that shortcodes are no longer "text level" features. They need
knowledge of the HTML they are in to perform this transformation, so they can
only be used in (valid) HTML
2013-02-18 10:49:52 +13:00
Mateusz Uzdowski
d741aa9b95 Move the shortcode docs to documentation, add examples. 2013-02-05 09:27:22 +13:00
Sam Minnee
1f7fc1f76a FIX Remove instances of lines longer than 120c
The entire framework repo (with the exception of system-generated files) has been amended to respect the 120c line-length limit.  This is in preparation for the enforcement of this rule with PHP_CodeSniffer.
2012-09-30 17:18:13 +13:00
Mateusz Uzdowski
7c41ff22ab BUG Change all shortcodes into the new, comma separated, format.
Space delimiter is often confused by browsers, and encoded as %20 which
breaks the shortcode system. Change to comma delimitation has already
been implemented, this is a followup cleanup.

Ref http://open.silverstripe.org/ticket/7337
2012-07-12 16:44:21 +12:00
Simon Welsh
a172a2e731 BUGFIX: Handle consecutive shortcodes. 2012-05-23 18:18:06 +12:00
Simon Welsh
f07258f3cf MINOR Update @package values to match renaming sapphire 2012-04-15 10:50:19 +12:00
Sean Harvey
49267dbbc4 ENHANCEMENT Shortcodes now support commas as delimiter for attributes (thanks aoneil for help with the regex!) (trac #6868)
BUGFIX HtmlEditorField not inserting shortcodes correctly (trac #6868)
2012-03-09 14:25:42 +13:00
Ingo Schommer
ce8e72cf0e MINOR Removing executable flag from all files (thanks miiihi) 2011-09-18 22:04:02 +02:00
Ingo Schommer
a0dd4ff8f0 MINOR Moved class-specific documentation from doc.silverstripe.org back into class-level PHPDoc (from r107725)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@112608 467b73ca-7a2a-4603-9d3b-597d59a354a9
2010-10-15 03:55:22 +00:00
Andrew Short
4ece35937f FEATURE: Added the Shortcode API (ShortcodeParser) to allow you to replace simple BBCode-like tags in a string with the results of a callback.
From: Andrew Short <andrewjshort@gmail.com>

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@88472 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-10-11 00:06:57 +00:00