added additional plugins
This commit is contained in:
parent
c85895d306
commit
00e60ec1b7
132 changed files with 27514 additions and 0 deletions
|
|
@ -0,0 +1,82 @@
|
|||
<?php
|
||||
/**
|
||||
* Simplified Gutenberg Block Registration for Maple Code Blocks
|
||||
*/
|
||||
|
||||
class MCB_Simple_Block {
|
||||
|
||||
public static function init() {
|
||||
// Register block on init
|
||||
add_action('init', array(__CLASS__, 'register_block'));
|
||||
|
||||
// Make sure script is enqueued in editor
|
||||
add_action('enqueue_block_editor_assets', array(__CLASS__, 'enqueue_editor_assets'));
|
||||
}
|
||||
|
||||
public static function register_block() {
|
||||
// Only register if Gutenberg is available
|
||||
if (!function_exists('register_block_type')) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Register the block
|
||||
register_block_type('maple-code-blocks/code-block', array(
|
||||
'render_callback' => array(__CLASS__, 'render_block'),
|
||||
'attributes' => array(
|
||||
'repository' => array(
|
||||
'type' => 'string',
|
||||
'default' => ''
|
||||
),
|
||||
'theme' => array(
|
||||
'type' => 'string',
|
||||
'default' => 'dark'
|
||||
),
|
||||
'height' => array(
|
||||
'type' => 'string',
|
||||
'default' => '600px'
|
||||
)
|
||||
)
|
||||
));
|
||||
}
|
||||
|
||||
public static function enqueue_editor_assets() {
|
||||
// Enqueue the block editor script
|
||||
wp_enqueue_script(
|
||||
'maple-code-blocks-editor',
|
||||
MCB_PLUGIN_URL . 'assets/js/simple-block.js',
|
||||
array('wp-blocks', 'wp-element', 'wp-editor', 'wp-components', 'wp-i18n'),
|
||||
MCB_PLUGIN_VERSION,
|
||||
false // Load in header, not footer
|
||||
);
|
||||
|
||||
// Add inline script to ensure registration happens
|
||||
wp_add_inline_script('maple-code-blocks-editor', '
|
||||
console.log("Maple Code Blocks: Script loaded");
|
||||
if (typeof wp !== "undefined" && wp.blocks) {
|
||||
console.log("Maple Code Blocks: wp.blocks is available");
|
||||
} else {
|
||||
console.error("Maple Code Blocks: wp.blocks not available");
|
||||
}
|
||||
', 'after');
|
||||
}
|
||||
|
||||
public static function render_block($attributes) {
|
||||
$repository = isset($attributes['repository']) ? $attributes['repository'] : '';
|
||||
$theme = isset($attributes['theme']) ? $attributes['theme'] : 'dark';
|
||||
$height = isset($attributes['height']) ? $attributes['height'] : '600px';
|
||||
|
||||
if (empty($repository)) {
|
||||
return '<div class="notice notice-warning">Please enter a repository (e.g., facebook/react)</div>';
|
||||
}
|
||||
|
||||
// Use the shortcode for rendering
|
||||
return do_shortcode(sprintf(
|
||||
'[maple_code_block repo="%s" theme="%s" height="%s"]',
|
||||
esc_attr($repository),
|
||||
esc_attr($theme),
|
||||
esc_attr($height)
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
MCB_Simple_Block::init();
|
||||
Loading…
Add table
Add a link
Reference in a new issue