initial commit

This commit is contained in:
Ray Elliott 2020-08-13 13:26:54 +01:00
commit ffc0aa7291
13 changed files with 17051 additions and 0 deletions

1
.eslintignore Symbolic link
View File

@ -0,0 +1 @@
node_modules/@wordpress/scripts/config/.eslintignore

1
.eslintrc-md.js Symbolic link
View File

@ -0,0 +1 @@
node_modules/@wordpress/scripts/config/.eslintrc-md.js

1
.eslintrc.js Symbolic link
View File

@ -0,0 +1 @@
node_modules/@wordpress/scripts/config/.eslintrc.js

1
.prettierrc.js Symbolic link
View File

@ -0,0 +1 @@
node_modules/@wordpress/scripts/config/.prettierrc.js

1
.stylelintignore Symbolic link
View File

@ -0,0 +1 @@
node_modules/@wordpress/scripts/config/.stylelintignore

1
.stylelintrc.json Symbolic link
View File

@ -0,0 +1 @@
node_modules/@wordpress/scripts/config/.stylelintrc.json

9
README.md Normal file
View File

@ -0,0 +1,9 @@
## Usage
```sh
# build and watch for development
npm run dev
# build for production
npm run build
```

54
index.php Normal file
View File

@ -0,0 +1,54 @@
<?php
define( 'BLOCK_NAMESPACE', 'room-vw' );
$block_namespace = BLOCK_NAMESPACE;
$block_slug = basename( dirname( __FILE__ ) );
add_action( 'init', function() {
global $block_slug, $block_namespace;
if ( ! function_exists( 'register_block_type' ) ) {
return;
}
$dir = get_template_directory() . "/blocks/$block_slug";
$uri = get_template_directory_uri() . "/blocks/$block_slug";
$asset_file = include( get_template_directory() . "/blocks/$block_slug/build/index.asset.php");
$index_js = 'build/index.js';
wp_register_script(
"{$block_slug}-block-editor",
"$uri/$index_js",
$asset_file['dependencies'],
$asset_file['version']
);
$editor_css = 'build/index.css';
wp_register_style(
"{$block_slug}-block-editor",
"$uri/$editor_css",
array(),
filemtime( "$dir/$editor_css" )
);
$style_css = 'build/style-index.css';
wp_register_style(
"{$block_slug}-block",
"$uri/$style_css",
array(),
filemtime( "$dir/$style_css" )
);
register_block_type( "$block_namespace/$block_slug", array(
'editor_script' => "{$block_slug}-block-editor",
'editor_style' => "{$block_slug}-block-editor",
'style' => "{$block_slug}-block",
) );
function room_vw_iconify_enqueue_assets() {
wp_enqueue_script( 'iconify', 'https://code.iconify.design/1/1.0.7/iconify.min.js', array(), '1.0.7', false );
}
add_action( 'enqueue_block_assets', 'room_vw_iconify_enqueue_assets' );
} );

16872
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

18
package.json Normal file
View File

@ -0,0 +1,18 @@
{
"name": "svg",
"version": "1.0.0",
"description": "",
"main": "dist/index.js",
"scripts": {
"dev": "wp-scripts start",
"build": "wp-scripts build",
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"@wordpress/scripts": "12.1.1",
"prettier": "^2.0.5"
}
}

9
src/editor.scss Normal file
View File

@ -0,0 +1,9 @@
/**
* The following styles get applied inside the editor only.
*
* Replace them with your own styles or remove the file completely.
*/
.wp-block-room-vw-iconify {
// TODO
}

80
src/index.js Normal file
View File

@ -0,0 +1,80 @@
import './style.scss';
import './editor.scss';
import { registerBlockType } from '@wordpress/blocks';
import { Fragment } from '@wordpress/element';
import { InspectorControls } from '@wordpress/editor';
import { TextControl, Panel, PanelRow } from '@wordpress/components';
import { __ } from '@wordpress/i18n';
registerBlockType('room-vw/iconify', {
title: __('Iconify Icon', 'room-vw'),
category: 'room-vw',
supports: {
// Removes support for an HTML mode.
html: false,
},
attributes: {
prefix: {
type: 'string',
default: 'noto-v1',
},
name: {
type: 'string',
default: 'unicorn',
},
inline: {
type: 'boolean',
default: true,
},
},
edit({ className, attributes, setAttributes }) {
return (
<Fragment>
<InspectorControls>
<Panel>
<PanelRow>
<TextControl
label="Prefix"
value={attributes.prefix}
onChange={(newPrefix) => {
setAttributes({ prefix: newPrefix });
}}
/>
<TextControl
label="Name"
value={attributes.name}
onChange={(newName) => {
setAttributes({ name: newName });
}}
/>
</PanelRow>
</Panel>
</InspectorControls>
<div>
<span
className={className + ' iconify icon'}
data-icon={attributes.prefix + ':' + attributes.name}
data-inline={attributes.inline}
></span>
<span>{attributes.prefix + ':' + attributes.name}</span>
</div>
</Fragment>
);
},
save({ className, attributes }) {
return (
<span
className={className + ' iconify icon'}
data-icon={attributes.prefix + ':' + attributes.name}
data-inline={attributes.inline}
></span>
);
},
});

3
src/style.scss Normal file
View File

@ -0,0 +1,3 @@
.wp-block-room-vw-iconify {
font-size: 4em;
}