=== WPPasteKit Blank ===
Contributors: webdelta
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Stable tag: 1.2.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: one-column, translation-ready, full-width-template

A deliberately blank theme for pages written as raw HTML and CSS.

== Description ==

WPPasteKit is for the case where the page is already designed and you only need
WordPress to serve it. Paste a complete HTML document into the editor and the
theme renders it exactly as it was written, while WordPress keeps ownership of
the document head.

The theme detects a full HTML document in the post content and splits it:

* Style, font and script elements from the pasted head move into the real head,
  printed after wp_head so they win over anything a plugin enqueued.
* The body content is printed verbatim, with no wrapper and no theme markup.
* Title and meta tags from the pasted head are dropped, because WordPress and
  your SEO plugin already emit those and two of each is worse than none.
* wp_head, wp_body_open and wp_footer all run, so canonical tags, Open Graph
  output, favicons, analytics, consent tooling and the admin bar keep working.

Content that is not a full document is treated as a fragment and wrapped in a
div with the class wppastekit-fragment.

Archives, search results and the 404 page fall back to a plain, readable list,
so a fresh install is usable before any pages exist. That fallback styling is
scoped to the class wppastekit-fallback and never reaches a pasted design. On pages that
render a pasted document the theme stylesheet is not enqueued at all.

== Installation ==

1. Upload the theme through Appearance > Themes > Add New > Upload Theme, or
   extract the folder into wp-content/themes.
2. Activate WPPasteKit Blank.
3. Create a page, paste the complete HTML document into the editor and publish.

== Frequently Asked Questions ==

= My style element disappears when I save =

Saving style and script elements requires the unfiltered_html capability, which
by default only administrators have on a single site install, and only network
administrators have on multisite. The editor screen warns you when your account
lacks it.

= Why do WPPasteKit pages use a code editor? =

Switching raw HTML to a visual editor can silently change style and script
elements. WPPasteKit therefore uses a code editor only on pages explicitly
created or converted as WPPasteKit pages. Normal WordPress pages and posts keep
their normal editor.

= A sticky header of mine sits under the admin bar =

WordPress offsets the document by 32 pixels for logged in users, which an
element positioned at top zero does not account for. Add this to the pasted CSS:

`body.admin-bar .your-sticky-element { top: 32px }`

= How do I keep something out of a pasted page =

Anything hooked to wp_footer or wp_head prints on these pages too. Use the
helper to skip it:

`if ( function_exists( 'wppastekit_blank_is_document' ) && wppastekit_blank_is_document() ) { return; }`

= Available filters =

* wppastekit_document_parts — the parsed head and body fragments
* wppastekit_head_html — the markup moved into the document head
* wppastekit_allowed_link_rels — which link relations survive that move
* wppastekit_keep_head_scripts — whether head scripts are kept
* wppastekit_body_html — the markup printed in the body
* wppastekit_pre_render_html — markup before variables and shortcodes render
* wppastekit_disable_emojis

== Changelog ==

= 1.2.1 =
* Fixed: pages without a pasted document were unreadable for a visitor
  whose system is set to dark mode. The dark rules changed the text colour
  to near-white but never the background, so the text vanished into it.
  Those rules are gone; the fallback is plain dark-on-light again.

= 1.2.0 =
* Lets WPPasteKit show the site header and footer on the blog, archives,
  search results and the 404 page.
* Renders the WPPasteKit layout for blog posts, archives, normal pages and
  the 404 page when one is chosen, without the theme's fallback stylesheet.

= 1.1.0 =
* Works with WPPasteKit for per-page editing, variables and imports.
* Normal WordPress pages and posts keep their own editor.
* Preserves safe body classes and data attributes from pasted documents.

= 1.0.0 =
* Initial release.

== Copyright ==

WPPasteKit Blank, Copyright 2026 Webdelta
WPPasteKit Blank is distributed under the terms of the GNU GPL v2 or later.

This theme bundles no third party resources.
