/shortcode-ui

WordPress.org Plugin Mirror

Primary LanguageJavaScriptGNU General Public License v2.0GPL-2.0

=== Shortcake (Shortcode UI) ===
Contributors: fusionengineering, mattheu, danielbachhuber, zebulonj, goldenapples, jitendraharpalani, sanchothefat, bfintal, davisshaver, garyj, mte90, fredserva, khromov
Tags: shortcodes
Requires at least: 4.1
Tested up to: 4.4
Stable tag: 0.6.2
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

Shortcake makes using WordPress shortcodes a piece of cake.

== Description ==

Used alongside `add_shortcode`, Shortcake supplies a user-friendly interface for adding a shortcode to a post, and viewing and editing it from within the content editor.

Once you've installed the plugin, you'll need to [register UI for your shortcodes](https://github.com/wp-shortcake/shortcake/wiki/Registering-Shortcode-UI). For inspiration, check out [examples of Shortcake in the wild](https://github.com/wp-shortcake/shortcake/wiki/Shortcode-UI-Examples).

To report bugs or feature requests, [please use Github issues](https://github.com/wp-shortcake/shortcake/issues).

== Installation ==

Shortcake can be installed like any other WordPress plugin.

Once you've done so, you'll need to [register the UI for your code](https://github.com/wp-shortcake/shortcake/wiki/Registering-Shortcode-UI).

New in 0.4.0 is the ability to [attach javascript functions to event attribute updates](https://github.com/wp-shortcake/shortcake/wiki/Event-Attribute-Callbacks). Action hooks can be used to dynamically show or hide a field based on the value of another, or to implement custom validation rules.

== Frequently Asked Questions ==

= How do I register UI for arbitrary key=>value pairs as shortcode attributes? =

Shortcake doesn't support custom key=>value pairs as shortcode attributes because it isn't a great user experience.


== Screenshots ==

1. Without Shortcake, shortcodes have a minimal UI.
2. But with Shortcake, TinyMCE will render the shortcode in a TinyMCE view.
3. And add a user-friendly UI to edit shortcode content and attributes.
4. Add new shortcodes to your post through "Add Media".

== Upgrade Notice ==

= 0.4.0 =

We've removed the compatibility shim for the `placeholder` attribute argument. You should register a placeholder for your field using the `meta` argument.

= 0.3.0 =

We've removed the compatibility shim for the magical `content` attribute. If you were using this to support editing inner content, you'll need to change your UI registration to use `inner_content`.

== Changelog ==

= 0.6.2 (November 12, 2015) =
* Bug fix: Listens for "change" event on radio buttons and checkboxes to ensure shortcode attributes are updated.
* Bug fix: Ensures `register_shortcode_ui` is always run before calling get_shortcodes(). Fixes post select AJAX callback when using `register_shortcode_ui` hook.

= 0.6.1 (November 9, 2015) =
* Fixes JavaScript TypeError when clicking media frame menu items.
* Corrects links in readme.

= 0.6.0 (November 2, 2015) =
* Supports an optional `encode=true` argument for attributes, to allow limited HTML support. Attributes need to be run through `shortcode_atts()` in order to be properly decoded.
* Defines a `SHORTCODE_UI_DOING_PREVIEW` constant when rendering a shortcode preview, which enables callbacks to serve a different representation of the shortcode in TinyMCE.
* When an attachment is already selected for a shortcode attribute, opening media library will include it selected.
* Cleaned up icon vertical alignment in the Insert Post Element UI.
* Added CSS utility classes to all field HTML. For instance, the attachment field is now wrapped with `shortcode-ui-field-attachment`.
* Added filters to modify shortcode UI arguments on registration.
* Cleaned up the example plugin, so it's a much more useful developer reference.
* Uses core's JavaScript regex for parsing shortcodes, instead of maintaining separate regex.
* Permits HTML in field labels and descriptions.
* Added Danish translation.
* Added Italian translation.
* Added German translation.
* Core integration: Fully supports PHP 5.2.
* Bug fix: Persists shortcode attributes and inner content when there isn't UI registered for them. Previously, they would be discarded.
* Bug fix: Display the description on the post select field.
* Bug fix: Attribute field change event binds to `input` event rather than `keyup`.
* [Full release notes](http://fusion.net/story/225765/introducing-shortcake-v0-6-0-cream/)

= 0.5.0 (August 26, 2015) =
* Attachment field: Made it easier to change the attachment by clicking on the thumbnail; added attachment metadata in the field view.
* Attachment field: Refactored JavaScript to trigger events.
* Added a `range` input type.
* Introduced a `register_shortcode_ui` hook for plugins to more safely register UI with.
* Removed Preview tab to bring Shortcake's user experience closer to Core, in which the inline visual preview is preferred over a separate preview in the media modal.
* Cleaned up JavaScript using JSHint.
* Added Russian translation.
* Added Portuguese translation.
* Added PHPDoc to all classes.
* Bug fix: Persists `inner_content` for a shortcode even when UI isn't defined.
* Bug fix: Hitting esc in a Shortcake view will now close the modal. (Fixed in Core.)
* Bug fix: Hitting delete when a Shortcake preview is selected in the Visual editor now results in the shortcode being removed. (Fixed in Core.)
* Bug fix: The Shortcake 'search' function no longer visually conflicts with the shortcode grid at small screen sizes. (Fixed in Core.)
* Bug fix: Use `get_post_type()` instead of `get_current_screen()->post_type` so context is properly set on the frontend.
* [Full release notes](http://fusion.net/story/182883/introducing-shortcake-v0-5-0-sugar/)

= 0.4.0 (June 22, 2015) =
* Using [carldanley/wp-js-hooks](https://github.com/carldanley/WP-JS-Hooks) for a basic API to register JS callbacks on shortcode attributes.
* Attachment field uses a loading indicator when the preview for an attachment is loading.
* Added Chinese translation.
* Added French translation.
* Added Spanish translation.
* Bug fix: Prevents fataling when editor is loaded in the frontend context.
* Bug fix: Color field also supports `meta` argument.
* Bug fix: Removes trailing whitespace from shortcodes without attributes.
* Bug fix: Removes double slash in editor css path.
* [Full release notes](http://fusion.net/story/154890/introducing-shortcake-v0-4-0-strawberry/)

= 0.3.0 (April 27, 2015) =
* **Breaking change**: We've removed the compatibility shim for the magical `content` attribute. If you were using this to support editing inner content, you'll need to change your UI registration to use `inner_content`.
* New `post_select` field type for selecting from a list of posts. Supports an additional `query` parameter to modify the search query.
* Using a new `post_type` argument, shortcode UI can be registered for specific post types. This is helpful if you want the UI for a given shortcode to only appear on specific post types.
* For each shortcode attribute, a `meta` argument can be specified to add arbitrary HTML attributes to the field. We've added a compatibility shim for the existing `placeholder` argument. This compatibility shim will be removed in v0.4.
* When inserting a shortcode, UI shows a helpful message when the shortcode doesn't have attributes to configure. Previously, the user was presented with a relatively blank screen.
* Our example plugin can be activated through the WordPress admin.
* Clicking "Insert Post Element" in the left menu effectively acts as back button to selecting a shortcode.
* Language around the editing experience reflects the shortcode you're editing. For instance, with a pullquote shortcode,  "Edit Post Element" becomes "Edit Pullquote".
* Added Dutch translation.
* Source JavaScript files moved to `js/src` for clarity between source and built JavaScript.
* PHP files are scanned using PHP_CodeSniffer.
* Bug fix: Unquoted shortcode attributes are properly supported.
* Bug fix: Attachment field properly registers dependencies.
* Bug fix: "Insert Post Element" experience should work when visual editor is disabled. Shortcake is only loosely coupled with TinyMCE.
* Bug fix: Editor styles are loaded on `after_setup_theme` to prevent fatals.
* [Full release notes](http://fusion.net/story/126834/introducing-shortcake-v0-3-0-butter/).

= 0.2.3 (April 8, 2015) =
* Fix WP 4.1 backwards compatibility issue by restoring arguments passed to TinyMCE view compatibility shim.

= 0.2.2 (April 6, 2015) =
* Update arguments passed to TinyMCE View Render for WP 4.2 compatibility. Previously passed argument wasn't necessary, so removing doesn't break backwards compatibility.

= 0.2.1 (March 18, 2015) =

* Ensure use of jQuery respects jQuery.noConflict() mode in WP.

= 0.2.0 (March 18, 2015) =

* JS abstracted using Browserify.
* Enhancements to "Add Post Element" UI: shortcodes sorted alphabetically; search based on label.
* Much easier to select shortcode previews that include iframes.
* WordPress 4.2 compatibility.
* Added color picker to list of potential fields.
* Bug fix: IE11 compatibility.
* Bug fix: Checkbox field can now be unchecked.
* [Full release notes](http://fusion.net/story/105889/shortcake-v0-2-0-js-abstraction-add-post-element-enhancements-inner-content-field/).

= 0.1.0 (December 23, 2014) =

* Supports all HTML5 input types for form fields.
* Shortcode preview tab within the editing experience.
* Re-labeled the UI around “Post Elements”, which is more descriptive than “Content Items.”
* Many bug fixes.
* [Full release notes](http://next.fusion.net/2014/12/23/shortcake-v0-1-0-live-previews-fieldmanager-integration/).