Please enable JavaScript.
Coggle requires JavaScript to display documents.
Figma Plugins Education (Form (Video (Pros (Show personality, make fun and…
Figma Plugins Education
Platform
Community
Build community
Ideas
-
-
-
-
Post valuables on Twitter, Dribbble, Behance
-
-
-
-
-
-
-
-
Form
Text
Article, downloadable PDF
-
Video
Pros
Show personality, make fun and engaging
-
-
-
YouTube, Teachable, Teachery, etc.
-
Interactive materials
-
Contents
Text
Headlines, descriptions, intros
-
After-video additions, clarifications
Video
-
Personality, connect deeply
Graphics
-
Decorations, information architecture
-
-
-
Graphics
-
Images inside Figma, images in videos, simple PNGs
Project
-
Goal
A platform to give designers knowledge & tools to automate their design processes with Figma plugins
-
Structure
Plugins basics
-
-
What plugins can't do
Change the way objects in Figma or Figma UI work or look, add new features — they can only automate user actions
-
Programming fundamentals
-
-
Variables, functions, etc.
-
-
-
Figma Plugins ideas
Design process
-
-
-
-
-
-
Design systems
-
Design linter
-
-
-
Show all colors and other styles, allowing to edit them
-
-
-
-
-
-
More constraints, CAD-like
Gradient
Rotate & scale, flip gradient
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Meta
Plugin Development
-
-
-
Object properties, interactive control
-
-
-
-
Course
Basics
Setup
VSCode
-
-
Visual Studio Code, not Visual Studio
TypeScript
Download and install Node (LTS)
Install TypeScript
-
Command and more downloads here
-
-
-
-
API Overview
Execution model
-
-
Limitations
-
-
-
-
-
Press Esc or cross, or bottom notification to quit
Creating the UI
UI <– –> Figma context
-
-
Receiving messages in UI: window.onmessage = window.onmessage = async (event) => { event.data.pluginMessage.type === 'command' }
Sending messages to Code: window.parent.postMessage({pluginMessage: request.response}, '*')
-
-
Code interacts with Figma, user interacts with UI
Can send: objects, arrays, numbers, strings, booleans, null
, undefined
, Date
objects and Uint8Array
-
Properties
-
-
-
Style with CSS, add scripts with JS
-
-
-
Referred to as UI, <iframe>, plugin iframe
Process
-
Create HTML file
-
-
-
No body, just inner contents
Show HTML file
-
figma.showUI(__html__, { width: 350, height: 250 })
figma.ui.resize(width, height)
-
-
-
-
-
Creating the plugin Menu
Manifest
Array of menu items
name, command — runs command
name, menu — creates submenu
-
-
-
-
-
-
Getting started
-
-
-
Setting up workspace
Use the editor of your choice (Sublime, Notepad)
-
-
-
-
Why develop plugins?
Automate tedious tasks, even small
-
-
-
-
Advanced
Detailed API overview
-
-
-
-
-
-
Changing viewport
Viewport
-
-
API
figma.viewport.center = { x: 0, y: 0 }
-
-
-
-
Creating, getting and editing Styles
-
Advanced scenarios
-
-
-
-
-
-
-
-
Origin is null, CORS policy
-
-
Debugging
-
Don't close plugin, add ability to execute code multiple times
-
-
-
-