Description
This p5.js Gutenberg block plugin is the perfect tool for showcasing your generative art or adding an extra level of visual interest to your website. With p5.js, you can create interactive, dynamic, and customizable visuals that will keep your audience engaged and excited. Whether you’re an artist, designer, or developer, this plugin makes it easy to integrate your p5.js sketches into your WordPress website. Impress your visitors with your stunning generative art and take your website to the next level with this p5.js Gutenberg block plugin.
Try it out on a free dummy site now !
Acknowledgements
This plugin is similar to Mark Uraine’s p5.js block, and is in fact reverse engineered from it, although very little of the actual code is reused (see mapk/p5js-block). I was prompted to develop this plugin due to encountering bugs, lack of display options, and mostly the lack of updates and support for this original plugin. I feel like it should be easier to insert p5.js artworks into WordPress websites and blogs, and this is my contribution to it (although it may be buggy, I try my best. Feel free to ask in the support forum, or open an issue or a pull request on Github).
This project uses the p5.js library version 1.7.0, which is free software under the GPL License. Currently, this plugin does not include the p5.sound.js
libraries.
Screenshots
Blocks
This plugin provides 1 block.
- p5.js Add custom p5.js code and preview it as you edit.
Installation
- Upload the plugin files to the
/wp-content/plugins/
directory, or install the plugin through the WordPress plugins screen directly. - Activate the plugin through the ‘Plugins’ screen in WordPress.
FAQ
-
Q: Does this plugin require a configuration ?
-
A: No ! Just activate the plugin and add the p5.js block to any page or post to get started.
-
Q: How should I size my canvas with this plugin ?
-
A: It is highly recommended to define the height and width of your block in the block settings panel, and use
createCanvas(windowWidth, windowHeight)
to ensure that your sketche’s sizing is responsive. However, you can define a fixed size for the canvas in your script using for examplecreateCanvas(600, 400)
. In this case, the size of the block will adapt to the canvas size defined in the script automatically, unless the size of the block has been defined in its setting panel.In order for your sketch to be rendered properly when using
createCanvas(windowWidth, windowHeight)
, it is important to remember that in the context of the p5.js block, the variableswindowWidth
andwindowHeight
refer to the width and height of the block. When using dynamic sizing in your script, define the desired height and width of your canvas in the block settings panel.Warning : when using
windowHeight
, the preview won’t work. You can fix this by using an integer value (e.g.createCanvas(windowWidth, 500)
), or leave as is, since it won’t affect the final page. -
Q: How can I make a canvas that takes the full width of the window ?
-
A: To achieve this effect, select the “Full width” alignment option in the block’s toolbar, and use
createCanvas(windowWidth, windowHeight)
in your script. Don’t forget to set the height of your canvas in the block settings panel. The width setting will be ignored.A horizontal scroll bar can appear in pages using full width alignment. To fix it, you can add this CSS to your site’s custom CSS:
`css
body {
overflow-x: hidden;
}
` -
Q: Where can I contribute to the project?
-
A: You can contribute on the GitHub Repository of this plugin.
Reviews
Contributors & Developers
“Easy p5.js Block” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Easy p5.js Block” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.1.2
- Fixed textarea width
- Moved p5.js dependency to a local asset instead of using a CDN link.
- Updated p5.js to 1.11.0.
- Fixed horizontal overflow with full width option.
- Fixed preview overflow issues.
- Improved canvas auto-sizing.
1.1.1
- Speculative fix for a bug where the canvas sizing would fail on chromium-based browsers.
1.1.0
- Added a “Full width” alignment option.
- Fixed a bug where the canvas sizing would sometimes fail.
1.0.0
- Released working block with sizing, layout and scrollbar settings.