summaryrefslogtreecommitdiffstats
path: root/danixland-gravatar.php
blob: 6a06c462a3d176606782d946a62dad250c1c1090 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<?php
/**
 * Plugin Name:     danixland gravatar block
 * Description:     Simple Gutemberg Block to insert a gravatar inside a post or page.
 * Version:         0.1.0
 * Author:          Danilo 'danix' Macri
 * Author URI:      https://danix.xyz
 * License:         GPL-2.0-or-later
 * License URI:     https://www.gnu.org/licenses/gpl-2.0.html
 * Text Domain:     dnxvatar
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 *
 *
 * @package         dnxvatar
 */

/**
 * Registers all block assets so that they can be enqueued through the block editor
 * in the corresponding context.
 *
 * @see https://developer.wordpress.org/block-editor/tutorials/block-tutorial/applying-styles-with-stylesheets/
 */
function dnxvatar_danixland_gravatar_block_init() {
	$dir = dirname( __FILE__ );

	$script_asset_path = "$dir/build/index.asset.php";
	if ( ! file_exists( $script_asset_path ) ) {
		throw new Error(
			'You need to run `npm start` or `npm run build` for the "dnxvatar/danixland-gravatar" block first.'
		);
	}
	$index_js     = 'build/index.js';
	$script_asset = require( $script_asset_path );
	wp_register_script(
		'dnxvatar-danixland-gravatar-block-editor',
		plugins_url( $index_js, __FILE__ ),
		$script_asset['dependencies'],
		$script_asset['version']
	);
	wp_set_script_translations( 'dnxvatar-danixland-gravatar-block-editor', 'dnxvatar' );

	$editor_css = 'build/index.css';
	wp_register_style(
		'dnxvatar-danixland-gravatar-block-editor',
		plugins_url( $editor_css, __FILE__ ),
		array(),
		filemtime( "$dir/$editor_css" )
	);

	$style_css = 'build/style-index.css';
	wp_register_style(
		'dnxvatar-danixland-gravatar-block',
		plugins_url( $style_css, __FILE__ ),
		array(),
		filemtime( "$dir/$style_css" )
	);

	register_block_type( 'dnxvatar/danixland-gravatar', array(
		'editor_script' => 'dnxvatar-danixland-gravatar-block-editor',
		'editor_style'  => 'dnxvatar-danixland-gravatar-block-editor',
		'style'         => 'dnxvatar-danixland-gravatar-block',
	) );
}
add_action( 'init', 'dnxvatar_danixland_gravatar_block_init' );