=== Youbou Code Block ===
Contributors: youssefbouhlal
Tags: code highlighting, syntax highlighting, Gutenberg block, programming languages, copy to clipboard
Requires at least: 6.1
Tested up to: 7.1
Requires PHP: 7.2
Stable tag: 1.0.1
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

Code block with syntax highlighting for gutenberg editor.

== Description ==
The Youbou Code Block is a Gutenberg block plugin for WordPress that allows users to easily add syntax-highlighted code snippets to their posts and pages. This plugin supports a wide range of programming languages and includes a convenient copy-to-clipboard functionality.

== Features ==
* Syntax highlighting for various programming languages
* Supports the following languages:
  - HTML
  - CSS
  - SCSS
  - JavaScript
  - TypeScript
  - PHP
  - Ruby
  - Python
  - Swift
  - C
  - C#
  - C++
  - Objective-C
  - SQL
  - JSON
  - Bash
  - Git
* Copy-to-clipboard functionality for code snippets
* Easy to use Gutenberg block interface

== Installation ==
1. Upload the complete release ZIP through the WordPress plugins screen, or extract it into `/wp-content/plugins/youbou-code-block`.
2. Activate the plugin through the 'Plugins' screen in WordPress.
3. Navigate to the Gutenberg editor and add the 'Youbou Code Block' to your post or page.
4. Select the programming language and add your code.

== Frequently Asked Questions ==

= What programming languages are supported? =
The plugin supports the following languages:
* HTML
* CSS
* SCSS
* JavaScript
* TypeScript
* PHP
* Ruby
* Python
* Swift
* C
* C#
* C++
* Objective-C
* SQL
* JSON
* Bash
* Git

= How do I use the copy-to-clipboard functionality? =
Use the 'Copy code' button above the code block. It is available with a keyboard or touch. If clipboard access fails, select the code and press Ctrl+C or Command+C.

= Will updating repair code previously changed by HTML entity decoding? =
Version 1.0.1 preserves literal entities in newly saved code. It preserves the text parsed from existing blocks, but cannot infer the original spelling of code already changed by earlier versions. Restore that text from a revision or your original source if necessary.

== Development ==
Use the Node version in `.nvmrc`, then run `npm ci`, `composer install`, `npm test`, and `npm run build`.
Run `npm run test:browser` after installing Chromium with `npx playwright install chromium`.
Run the configured lint commands and Plugin Check before publishing. `npm run release` builds a production ZIP with its Composer autoloader in `release/`; it does not deploy the plugin.
Regenerate messages with `npm run i18n:pot`. When translated PO files are available, use `npm run i18n:json` to produce catalogs mapped to the shipped bundles. No translations are fabricated by these commands.

== Changelog ==

= 1.0.1 =
* Preserve literal HTML entities when saving and reopening code.
* Update Prism to 1.30.0 and isolate highlighting and styles to this block.
* Improve keyboard focus, editor labels, translated copy feedback, and clipboard fallback handling.
* Correct minimum-version checks, translation paths, and release packaging.

= 1.0 =
* Initial release of the Code Highlighting Block plugin.

== Upgrade Notice ==

= 1.0.1 =
Includes a Prism security fix and code-preservation improvements. Previously altered code cannot be reconstructed automatically; review it against your original source if needed.

= 1.0 =
* Initial release of the plugin. No upgrades are required.

== License ==
This plugin is licensed under the GPLv2 or later. For more information, see [http://www.gnu.org/licenses/gpl-2.0.html](http://www.gnu.org/licenses/gpl-2.0.html).
