summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/jetpack/wp-cli-templates')
-rw-r--r--plugins/jetpack/wp-cli-templates/block-edit-js.mustache27
-rw-r--r--plugins/jetpack/wp-cli-templates/block-editor-js.mustache7
-rw-r--r--plugins/jetpack/wp-cli-templates/block-editor-scss.mustache5
-rw-r--r--plugins/jetpack/wp-cli-templates/block-index-js.mustache67
-rw-r--r--plugins/jetpack/wp-cli-templates/block-register-php.mustache26
-rw-r--r--plugins/jetpack/wp-cli-templates/readme.md3
6 files changed, 135 insertions, 0 deletions
diff --git a/plugins/jetpack/wp-cli-templates/block-edit-js.mustache b/plugins/jetpack/wp-cli-templates/block-edit-js.mustache
new file mode 100644
index 00000000..0894ffec
--- /dev/null
+++ b/plugins/jetpack/wp-cli-templates/block-edit-js.mustache
@@ -0,0 +1,27 @@
+/**
+ * External dependencies
+ */
+import { __ } from '@wordpress/i18n';
+import { Component } from '@wordpress/element';
+
+/**
+ * Internal dependencies
+ */
+import './editor.scss';
+
+class {{ className }}Edit extends Component {
+ /**
+ * Write the block editor UI.
+ *
+ * @returns {object} The UI displayed when user edits this block.
+ */
+ render() {
+ const { attributes, setAttributes } = this.props;
+
+ return (
+ <p>{ __( 'Block edit goes here', 'jetpack' ) }</p>
+ );
+ }
+}
+
+export default {{ className }}Edit;
diff --git a/plugins/jetpack/wp-cli-templates/block-editor-js.mustache b/plugins/jetpack/wp-cli-templates/block-editor-js.mustache
new file mode 100644
index 00000000..d05f4039
--- /dev/null
+++ b/plugins/jetpack/wp-cli-templates/block-editor-js.mustache
@@ -0,0 +1,7 @@
+/**
+ * Internal dependencies
+ */
+import registerJetpackBlock from '../../shared/register-jetpack-block';
+import { name, settings } from '.';
+
+registerJetpackBlock( name, settings );
diff --git a/plugins/jetpack/wp-cli-templates/block-editor-scss.mustache b/plugins/jetpack/wp-cli-templates/block-editor-scss.mustache
new file mode 100644
index 00000000..a61482ad
--- /dev/null
+++ b/plugins/jetpack/wp-cli-templates/block-editor-scss.mustache
@@ -0,0 +1,5 @@
+/**
+ * Editor styles for {{title}}
+ */
+
+.wp-block-jetpack-{{slug}} { }
diff --git a/plugins/jetpack/wp-cli-templates/block-index-js.mustache b/plugins/jetpack/wp-cli-templates/block-index-js.mustache
new file mode 100644
index 00000000..236dcfa4
--- /dev/null
+++ b/plugins/jetpack/wp-cli-templates/block-index-js.mustache
@@ -0,0 +1,67 @@
+/**
+ * External dependencies
+ */
+import { __{{#hasKeywords}}, _x{{/hasKeywords}} } from '@wordpress/i18n';
+import { ExternalLink, Path } from '@wordpress/components';
+import { Fragment } from '@wordpress/element';
+
+/**
+ * Internal dependencies
+ */
+import renderMaterialIcon from '../../shared/render-material-icon';
+import edit from './edit';
+
+/**
+ * Style dependencies
+ */
+import './editor.scss';
+
+export const name = '{{ slug }}';
+export const title = __( '{{ title }}', 'jetpack' );
+export const settings = {
+ title,
+
+ description: (
+ <Fragment>
+ <p>{ __( '{{ description }}', 'jetpack' ) }</p>
+ <ExternalLink href="#">{ __( 'Learn more about {{ title }}', 'jetpack' ) }</ExternalLink>
+ </Fragment>
+ ),
+
+ /* @TODO Add the icon. You can use one of these https://material.io/tools/icons/?style=outline */
+ icon: renderMaterialIcon(
+ <Path d="M9 15h2V9H9v6zm1-10c-.5 0-1 .5-1 1s.5 1 1 1 1-.5 1-1-.5-1-1-1zm0-4c-5 0-9 4-9 9s4 9 9 9 9-4 9-9-4-9-9-9zm0 16c-3.9 0-7-3.1-7-7s3.1-7 7-7 7 3.1 7 7-3.1 7-7 7z" />
+ ),
+
+ category: 'jetpack',
+
+ keywords: [{{#keywords}}_x( '{{ keyword }}', 'block search term', 'jetpack' ), {{/keywords}}],
+
+ supports: {
+ // Support for block's alignment (left, center, right, wide, full). When true, it adds block controls to change block’s alignment.
+ align: false, /* if set to true, the 'align' option below can be used*/
+ // Pick which alignment options to display.
+ /*align: [ 'left', 'right', 'full' ],*/
+ // Support for wide alignment, that requires additional support in themes.
+ alignWide: true,
+ // When true, a new field in the block sidebar allows to define an id for the block and a button to copy the direct link.
+ anchor: false,
+ // When true, a new field in the block sidebar allows to define a custom className for the block’s wrapper.
+ customClassName: true,
+ // When false, Gutenberg won't add a class like .wp-block-your-block-name to the root element of your saved markup
+ className: true,
+ // Setting this to false suppress the ability to edit a block’s markup individually. We often set this to false in Jetpack blocks.
+ html: false,
+ // Passing false hides this block in Gutenberg's visual inserter.
+ /*inserter: true,*/
+ // When false, user will only be able to insert the block once per post.
+ multiple: true,
+ // When false, the block won't be available to be converted into a reusable block.
+ reusable: true,
+ },
+
+ edit,
+
+ /* @TODO Write the block editor output */
+ save: () => null,
+};
diff --git a/plugins/jetpack/wp-cli-templates/block-register-php.mustache b/plugins/jetpack/wp-cli-templates/block-register-php.mustache
new file mode 100644
index 00000000..02cbf7da
--- /dev/null
+++ b/plugins/jetpack/wp-cli-templates/block-register-php.mustache
@@ -0,0 +1,26 @@
+<?php
+/**
+ * {{ title }} Block.
+ *
+ * @since 7.x
+ *
+ * @package Jetpack
+ */
+
+jetpack_register_block(
+ 'jetpack/{{ slug }}',
+ array( 'render_callback' => 'jetpack_{{ underscoredSlug }}_block_load_assets' )
+);
+
+/**
+ * {{ title }} block registration/dependency declaration.
+ *
+ * @param array $attr Array containing the {{ title }} block attributes.
+ * @param string $content String containing the {{ title }} block content.
+ *
+ * @return string
+ */
+function jetpack_{{ underscoredSlug }}_block_load_assets( $attr, $content ) {
+ Jetpack_Gutenberg::load_assets_as_required( '{{ slug }}' );
+ return $content;
+}
diff --git a/plugins/jetpack/wp-cli-templates/readme.md b/plugins/jetpack/wp-cli-templates/readme.md
new file mode 100644
index 00000000..352edc8d
--- /dev/null
+++ b/plugins/jetpack/wp-cli-templates/readme.md
@@ -0,0 +1,3 @@
+# Templates
+
+These templates are used by the `wp jetpack block` WP-CLI command. They're used to generate files that are written to build an skeleton for a Jetpack block.