Skip to content

Release Notes

Added cover: true option to designate slides as cover slides. Cover slides are excluded from slide numbering by default.

---
cover: true
---
# Presentation Title

Unified Background Configuration with Auto-Detection

Section titled “Unified Background Configuration with Auto-Detection”

Background configuration now supports auto-detection of background types. Simply provide a value and figdeck will automatically determine whether it’s a solid color, gradient, image path, or Figma component URL.

---
background: "#1a1a2e" # Solid color (auto-detect)
background: "#0d1117:0%,#58a6ff:100%@45" # Gradient (auto-detect)
background: "./bg.png" # Local image (auto-detect)
background: "https://figma.com/...?node-id=123-456" # Figma component (auto-detect)
---

Also added support for Figma Component/Frame as slide backgrounds with customizable fit, alignment, and opacity options.

  • Fixed text wrapping in column layouts (#16)

Added a dedicated VSCode extension for figdeck. Provides powerful support for Markdown slide authoring.

Key Features:

  • Snippets: Quickly insert common syntax like slide, columns, callout, figma
  • Frontmatter Completion: Auto-complete YAML frontmatter properties and values
  • Slide Outline: Visually browse and navigate slide structure in the sidebar
  • Diagnostics: Real-time display of syntax errors and warnings
  • Quick Fixes: Code actions to automatically fix common issues
  • CLI Integration: Run serve and build commands directly from the editor

See VSCode Extension Documentation for details.

Enhanced figdeck init Command (AI Agent Rules Support)

Section titled “Enhanced figdeck init Command (AI Agent Rules Support)”

The figdeck init command can now generate rule files for AI agents.

Supported AI Agents:

  • Claude Code: Generates CLAUDE.md file
  • Cursor: Generates .cursor/rules/figdeck.mdc file
  • GitHub Copilot: Generates .github/copilot-instructions.md file

Examples:

Terminal window
# Generate rules for all AI agents
figdeck init --agents
# Generate rules for a specific agent only
figdeck init --agents claude
figdeck init --agents cursor
figdeck init --agents copilot
# Specify multiple agents
figdeck init --agents claude,cursor

This enables AI agents to understand figdeck’s Markdown syntax and provide more accurate code completions and suggestions.

Added support for callout blocks using GitHub Alerts syntax.

Supported Types:

  • :::note (blue): General information
  • :::tip (green): Helpful suggestions
  • :::warning (orange): Important warnings
  • :::caution (red): Critical warnings

Example:

:::note
This is supplementary information.
:::
:::tip
Here's a helpful tip.
:::
:::warning
Be careful with this operation.
:::
:::caution
This action is irreversible!
:::

Supports inline formatting (bold, italic, links, code).

See examples/callouts.md for details.

  • Added comprehensive documentation for VSCode extension (English and Japanese)
  • Added documentation for figdeck init --agents command
  • Added specifications and usage examples for callout blocks
  • Updated CLAUDE.md with new features
  • Added comprehensive tests for VSCode extension
  • Added extended tests for figdeck init command
  • Added tests for callout block parsing and rendering

Added support for multi-column layouts using :::columns syntax. Create 2-4 column layouts with customizable gap and width ratios.

Key Features:

  • Support for 2-4 columns
  • Custom gap between columns (default: 32px, max: 200px)
  • Flexible width ratios using fr, percentage, or pixel values
  • Full content support within columns (paragraphs, lists, code, images, tables, blockquotes, headings)
  • Automatic fallback to vertical stacking when columns are too narrow (min: 320px)

Basic Example:

:::columns
:::column
### Left Column
- Item 1
- Item 2
:::column
### Right Column
- Item A
- Item B
:::

With Options:

:::columns gap=64 width=1fr/2fr
:::column
### Sidebar
Navigation content.
:::column
### Main Content
This column takes up twice the width.
:::

See examples/columns.md for more examples.

Added support for absolute positioning of images using x and y parameters in Marp-style syntax.

Supported Formats:

  • ![x:100 y:200](./image.png) - Position at 100px, 200px
  • ![x:50% y:50%](./image.png) - Position at center of slide (percentage of 1920x1080)
  • ![w:300 x:100 y:200](./image.png) - Size + position combined

When x or y is specified, the image is placed at absolute coordinates instead of auto-layout flow.

See examples/images.md for details.

  • Added comprehensive documentation for multi-column layouts (English and Japanese)
  • Added documentation for image absolute positioning
  • Updated CLAUDE.md with new features
  • Added comprehensive tests for multi-column layout parsing
  • Added tests for image absolute positioning

Section titled “Rich Text Formatting in Figma Link Text Overrides”

Added support for rich text formatting in Figma link block text overrides.

Supported Formatting:

  • **bold**
  • *italic*
  • ~~strikethrough~~
  • [links](url)
  • Bullet lists
  • Blockquotes

Example:

:::figma
link=https://www.figma.com/design/xxx?node-id=1234-5678
text.title=Cart Feature
text.body=Use this for **cart** and *confirmation* flows.
text.list=
- Variation A
- Variation B
:::

Added ability to customize spacing between bullet list items using the spacing property.

Example:

---
bullets:
size: 20
spacing: 12 # Gap between items in pixels
---

Significantly improved slide generation performance.

Key Improvements:

  • Added local image caching (avoids reloading the same images)
  • Added Figma node caching (improves efficiency during regeneration)
  • Cached syntax highlighting for code blocks
  • Hash-based change detection for differential updates

Added a toggle to show/hide advanced connection options. By default, a simple connection screen is displayed, with the ability to expand advanced options (host, port, secret) as needed.

Fixed an issue where hyperlinks were not rendering correctly in Figma Slides. Links within text are now properly recognized and clickable.

Improved handling of multiline text spans and inline code.

Extracted shared type definitions and utilities between CLI and Plugin into @figdeck/shared package. This reduces code duplication and improves maintainability.

  • Added Figma plugin installation instructions to README
  • Added WebSocket connection requirements explanation
  • Added documentation for rich text formatting in Figma links
  • Added documentation for bullet item spacing customization
  • Added tests for Figma link rich text parsing
  • Added tests for hyperlink rendering
  • Added tests for local image caching
  • Added tests for hash functions
  • Enhanced nested bullet list functionality: Improved to preserve ordered list metadata. This ensures that order information is correctly maintained even when ordered and unordered lists are mixed in nested lists.

You can now configure font families and variants in YAML frontmatter. Fonts can be set individually for headings (h1, h2), body text, bullet points, and code blocks.

Key Features:

  • Custom font family configuration
  • Individual settings for font variants (Regular, Bold, Italic, Bold Italic)
  • Support for both shorthand notation and full configuration
  • Automatic fallback when fonts are unavailable

Example:

---
fonts:
h1:
family: "Roboto"
style: "Medium" # Base style
bold: "Bold" # Bold variant
italic: "Italic" # Italic variant
boldItalic: "Bold Italic" # Bold Italic variant
h2: "Open Sans" # Shorthand notation (uses "Regular")
body:
family: "Source Sans Pro"
style: "Regular"
bold: "Semibold" # Custom bold variant
bullets:
family: "Inter"
style: "Regular"
code:
family: "Fira Code"
style: "Regular"
---

See examples/fonts.md for details.

Introduced protocol versioning for CLI-Plugin communication, enabling detection of version mismatches.

Key Features:

  • Automatic version check on WebSocket connection
  • Version mismatch warning display in Plugin UI
  • CLI automatically reads version from package.json
  • Ensures communication between compatible versions

Behavior:

  • CLI and Plugin exchange version information on connection
  • Warning displayed when major versions differ
  • Minor and patch version differences are tolerated

Added support for image size specifications. Supports individual width/height settings, fixed sizes, and percentage-based sizing.

Supported Formats:

  • ![w:400](./image.png) - Width 400px (height auto-calculated, maintains aspect ratio)
  • ![h:300](./image.png) - Height 300px (width auto-calculated, maintains aspect ratio)
  • ![w:400 h:300](./image.png) - Fixed size 400x300px
  • ![w:50%](./image.png) - 50% of slide width (slide width is 1920px)
  • ![w:400 Logo](./image.png) - Size specification + alt text

See examples/images.md for details.

Added support for multi-level nested bullet lists. Different markers are used for each level to visually represent hierarchy.

Key Features:

  • Support for up to 4 levels of nesting
  • Different markers for each level (•, ◦, ▪, –)
  • Support for mixing ordered and unordered lists
  • Support for inline formatting (bold, italic, code, links)

Markers:

  • Level 0: (U+2022)
  • Level 1: (U+25E6)
  • Level 2: (U+25AA)
  • Level 3+: (U+2013)

Example:

- Level 0 item
- Level 1 item (indented with 2 spaces)
- Another level 1 item
- Level 2 item
- Another level 2 item
- Level 3 item
- Back to level 0

See examples/bullets.md for details.

  • Updated esbuild to 0.27.1 for improved compatibility and performance
  • Adjusted Plugin build target to ES2016 to ensure compatibility with Figma Plugin sandbox environment
  • Improved automatic transpilation of modern JavaScript syntax
  • Added detailed documentation for custom font configuration (English and Japanese)
  • Added usage examples and documentation for image size specifications
  • Added specifications and usage examples for nested bullet lists
  • Added explanations about version compatibility
  • Added descriptions of new features to CLAUDE.md
  • Added comprehensive tests for custom font configuration
  • Added tests for image size specifications
  • Added tests for nested bullet lists
  • Added tests for version compatibility checks