=== MisticEase – Floating Video & Image Popups ===
Contributors: misticuantum
Tags: video popup, youtube, vimeo, lightbox, floating
Requires at least: 6.2
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 2.0.2
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Paste a video or image URL. Publish. Click and media pops out—even from within your text. Drag it around. Create your own floating world with ease.

== Description ==

**Paste a video URL. Publish. Done.**

Write without stopping to configure media. Paste a YouTube (including Shorts) or Vimeo URL into a post or page, and MisticEase™ turns it into a clickable thumbnail on the published page. Clicking the thumbnail opens the video in a pop-up window. No shortcodes or embed code required.  

https://www.youtube.com/watch?v=6FoZnM-lUTs

**Customize as you write.** Add a few characters before a video or image URL to control how it appears, right in your text. No need to set up a separate block for each item. See the Slash Markup section below.  

= What MisticEase does =

* **Movable video pop-up windows.** On larger screens, visitors can drag a pop-up window to another part of the page and keep watching while they read.
* **Customize individual items.** Change how each item appears, such as showing a video title as a text link. See below for details.
* **Thumbnail caching.** Retrieved thumbnails are saved and then served from your own site.
* **Editor compatibility.** Works with both the Block Editor and Classic Editor.
* **Multisite support.** Network administrators can manage thumbnail cache limits and CDN hostname settings across sites.
* **Built for speed.** Video players load only when clicked, and thumbnails are served from your own site. Images start loading as soon as a visitor points at or focuses on them, so image pop-up windows open quickly.
* **Image pop-up windows and galleries.** Easily group images into separate galleries.  
  When you drag an image pop-up window into floating mode and pin it, you can open an image from another gallery group, keeping up to two images open at the same time.

Try the [live demo](https://mitum.me/misticease/) to see the pop-up windows in action.

= Thumbnail caching to reduce performance overhead =

* **First view.** MisticEase retrieves and saves video thumbnails in the WordPress uploads directory.  
  A temporary lower-quality image or placeholder may appear while a high-quality thumbnail is being saved.
* **Served from your own site.** Once saved, thumbnails are served from your site.  
  This avoids repeatedly retrieving the same thumbnails and helps reduce performance overhead.
* **Thumbnail lazy loading.** Enabled by default for thumbnails displayed by MisticEase.
* **Cache management.** Configurable cache limits and automatic cleanup prevent unused thumbnails from accumulating indefinitely.

= Customize media as you write with Slash Markup =

**Just a few characters before a URL. That's all it takes.**

* **Video title:** `n/URL` — Show the video title as a text link that opens the pop-up window.
* **Your own label:** `/Label/URL` — Show your own text as a pop-up link.
* **Thumbnail width:** `t300/URL` — Set the thumbnail width to 300 px.
* **Pop-up width:** `p980/URL` — Set the pop-up width to 980 px.
* **Image gallery groups:** `g1/t300/IMAGE_URL` — Choose which images on the page belong together.  
  Previous/next navigation stays within the same numbered group. To keep a single image separate, assign it a group number not used by any other image on the page.
  **Default:** Images without `gN/`, or with `g0/`, belong to group 0.
  **Combining options:** Use `gN/` with other Slash Markup options in any order. However, `np/` means **no pop-up window**. When used together, the image appears inline without a pop-up window and does not participate in any gallery group.
  
* **Other options:** For detailed explanations of these and other options, see the documentation in the MisticEase settings panel.  

**Combine settings:** `t300/p980/URL` — A 300 px thumbnail and a 980 px pop-up window. Both remain responsive to the available space.

https://www.youtube.com/watch?v=xXG27ci7kN4

**Writing within a sentence?**

Use `n/URL` to display a video title as a pop-up link, or `/Label/URL` to create an image pop-up link with your own label.
Leave a space before the markup and after the URL when followed by text.
If punctuation follows immediately, add `///` to mark the end of the URL.
If an HTML tag follows the URL directly, `///` is not needed.

**Examples:**

* **Video:** `Watch n/https://youtu.be/XXXXXXXXXXX///.`
* **Image:** `See /Photo/https://example.com/wp-content/uploads/2026/10/photo.jpg///.`

**More to explore:** These are just a few easy-to-remember options. Find the full instructions in the **Readme** tab of the MisticEase settings panel, or see the results on the [live demo page](https://mitum.me/misticease/).

**Questions or feature requests?** Feel free to post in the WordPress.org support forum or leave feedback in a review.

== Installation ==

1. Install and activate MisticEase from the WordPress Plugins screen.
2. Paste a supported video URL into a post or page and publish.
3. After you finish editing a page with videos, view it once. This caches its video thumbnails and titles, so visitors get them straight from your site.

== Frequently Asked Questions ==

= Do I need to write shortcodes or embed code? =

No. Paste a supported video URL and publish. Both the Block Editor and Classic Editor are supported.

= Can I move pop-up windows on a phone? =

At window widths of 640 px or less, videos open in a standard pop-up window. Floating mode is available on larger screens.

= Does MisticEase create separate cached thumbnail files for different display widths? =

MisticEase keeps cached thumbnails at their standard size instead of generating separate files for each display width. Their displayed size adjusts responsively to the specified width or available space. This prevents unnecessary growth of the thumbnail cache folder.

= Are thumbnails and pop-up windows fully responsive? =

Yes. With or without a specified width, both thumbnails and pop-up windows fit within the available space.

= Where can I find the full instructions? =

Open the **Readme** tab in the MisticEase settings panel after installation. It covers all other details, so please read it before use.

== Screenshots ==

1. Example travel blog: a photo and a video float as you read.
2. Example course page: a lesson video and notes float side by side.
3. Example film page: the trailer opens in a large pop-up window.
4. Example photo gallery: flip through captioned thumbnails.
5. In the editor, just paste URLs. Short prefixes set the style.
6. MisticEase settings panel.

== External services ==

MisticEase uses YouTube and Vimeo to display video thumbnails and titles, and to play the videos that visitors click.  
Thumbnails and titles are fetched from each service the first time they are shown, and saved on your site.  
After that, they are served from your site, so the video services are not asked again on every view.  
If you open a page once when you finish writing it, visitors see the saved thumbnails right from the start, and the page loads faster.  
Anything not shown for 90 days is removed automatically and fetched again the next time it is shown.  
Video players are not loaded until a visitor clicks a thumbnail or title.  
Playback uses YouTube's privacy-enhanced mode (youtube-nocookie.com) and the Vimeo player with Do Not Track enabled.

Terms and privacy policies:

* YouTube Terms: https://www.youtube.com/t/terms
* Google Privacy Policy: https://policies.google.com/privacy
* Vimeo Terms of Service: https://vimeo.com/legal
* Vimeo Privacy Policy: https://vimeo.com/privacy

== Freemius ==

* MisticEase uses the Freemius SDK for MisticEase Arc upgrades, trials, and purchases, and to prevent both plugins from being active simultaneously.
* If you choose to opt in, your WordPress account, site, and environment information is sent to Freemius. We may refer to aggregated statistics about user environments to improve the product and provide support.
* Opting in is optional. All MisticEase features work without opting in.

Privacy Policy: https://freemius.com/privacy/

== Upgrade Notice ==

= 2.0.2 =
This update lets visitors resize floating pop-up windows by dragging a corner.

== Changelog ==

= 2.0.2 =
* Floating pop-up windows can now be resized by dragging any corner, keeping their aspect ratio.
* Added Slash Markup `ng/`, which opens an image on its own outside any gallery group.
* Pop-up window buttons now sit just outside the window edge, so they no longer cover the content.
* Pop-up window buttons and gallery arrows now share the same size and style, and are no longer translucent.
* Gallery arrows now appear on both sides when hovering or switching images, and stay behind the active window.
* Windows that are too tall for the screen are scaled down so their buttons stay visible.
* Dragging or resizing a window is no longer affected by a second finger or the mouse.

= 2.0.1 =
* Fixed expired nonce recovery and multisite thumbnail request signatures.
* When regular expression processing fails, such as when content contains broken UTF-8, the original content is now displayed as is instead of being emptied.
* Removed type declarations from filter functions so that values other than strings (such as null) no longer cause errors.
* On multisite, deleting a site no longer leaves empty folders behind or writes database errors to the log.
* On servers that write files over FTP, the connection is now checked for success before writing.
* URLs in comment text, comment author names, and Latest Comments are no longer converted.
* Added `DONOTCACHEPAGE` so that sites using page caching display cached thumbnails.
* Fixed issues such as the replacement loop that occurred when thumbnail cache storage was insufficient.
* MisticEase no longer handles Vimeo URLs that include `h=`, unless a custom label is added.
* Image pop-up windows and gallery navigation now preload images for faster display.
* Gallery navigation now moves past images that fail to load.
* Floating windows now stay within the screen after resizing or switching images.
* Preventively addressed issues that do not occur in normal use.
* Reviewed the UI text and the in-plugin documentation.
* Minor adjustments.

= 2.0.0 =
* Video thumbnails are now cached as WebP by default, roughly halving thumbnail cache usage.
* Slash Markup is now processed entirely in PHP. Parts previously handled by JavaScript have been unified, so Slash Markup works even when JavaScript is unavailable.
* Image pop-ups now carry the original image's alternative text.
* Gallery arrows now fade after a short pause.
* Vimeo videos now play with Do Not Track enabled.
* Improved cache cleanup accuracy when the storage limit is applied.
* Requires WordPress 6.2 or later.
* Minor adjustments.

= 1.3.8 =
* Added `gN/` Slash Markup for independent image gallery groups, with `g0/` as the default group.
* Floating UX now supports one video and up to two images from different gallery groups at once, with Pin available for all three windows.
* Updated image URL handling to remove Slash Markup when image pop-ups are disabled, without altering existing links or video handling.
* Minor adjustments.

Older changelog entries are in `changelog-misticease.txt`.
