Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 65 additions & 0 deletions .github/workflows/publish-vscode.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
name: Publish VS Code Extension

on:
workflow_dispatch:
inputs:
publish_openvsx:
description: "Also publish to Open VSX Registry"
required: false
type: boolean
default: true
confirm:
description: "Confirm publish"
required: true
type: boolean
default: false

permissions:
contents: read

jobs:
publish:
runs-on: ubuntu-latest
if: ${{ inputs.confirm }}

steps:
- uses: actions/checkout@v4

- uses: oven-sh/setup-bun@v2
with:
bun-version: latest

- uses: actions/setup-node@v4
with:
node-version: "24"

- name: Install dependencies
run: bun install

- name: Build extension
run: bun run build
working-directory: packages/vscode

- name: Run typecheck
run: bun run typecheck
working-directory: packages/vscode

- name: Install vsce
run: npm install -g @vscode/vsce

- name: Publish to VS Code Marketplace
run: vsce publish --no-dependencies
working-directory: packages/vscode
env:
VSCE_PAT: ${{ secrets.VSCE_PAT }}

- name: Install ovsx
if: ${{ inputs.publish_openvsx }}
run: npm install -g ovsx

- name: Publish to Open VSX
if: ${{ inputs.publish_openvsx }}
run: ovsx publish --no-dependencies
working-directory: packages/vscode
env:
OVSX_PAT: ${{ secrets.OVSX_TOKEN }}
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
node_modules
dist
.agents
.vscode
.vscode
figdeck-vscode-*.vsix
1 change: 1 addition & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,7 @@ Global settings at file start, or per-slide after `---`:

```yaml
---
figdeck: true # Required for VSCode extension to recognize file
background: "#1a1a2e" # Solid color
gradient: "#0d1117:0%,#1f2937:50%,#58a6ff:100%@45" # Gradient with angle
template: "Style Name" # Figma paint style name
Expand Down
71 changes: 71 additions & 0 deletions bun.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 4 additions & 0 deletions examples/absolute-position.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
---
figdeck: true
---

# Absolute Positioning Example

This example demonstrates how to use absolute x/y positioning for text elements.
Expand Down
1 change: 1 addition & 0 deletions examples/backgrounds.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
---
figdeck: true
background: "#1a1a2e"
color: "#ffffff"
---
Expand Down
1 change: 1 addition & 0 deletions examples/bullets.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
---
figdeck: true
background: "#1a1a2e"
color: "#ffffff"
---
Expand Down
1 change: 1 addition & 0 deletions examples/columns.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
---
figdeck: true
background: "#1a1a2e"
color: "#ffffff"
---
Expand Down
4 changes: 4 additions & 0 deletions examples/figma-links.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
---
figdeck: true
---

# Figma Selection Links Demo

This slide demonstrates the `:::figma` block feature.
Expand Down
1 change: 1 addition & 0 deletions examples/font-sizes.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
---
figdeck: true
background: "#1a1a2e"
headings:
h1:
Expand Down
1 change: 1 addition & 0 deletions examples/fonts.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
---
figdeck: true
background: "#ffffff"
# Font configuration for slides
# Supports per-element font families with style variants
Expand Down
4 changes: 4 additions & 0 deletions examples/footnotes.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
---
figdeck: true
---

# Footnotes Sample

Demonstrating footnote support in figdeck
Expand Down
4 changes: 4 additions & 0 deletions examples/images.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
---
figdeck: true
---

# Image Size and Position Examples

Demonstrates Marp-style image size and position specifications.
Expand Down
1 change: 1 addition & 0 deletions examples/rich-formatting.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
---
figdeck: true
background: "#ffffff"
---
# Rich Markdown Features
Expand Down
1 change: 1 addition & 0 deletions examples/sample.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
---
figdeck: true
background: "#ffffff"
color: "#1a1a2e"
headings:
Expand Down
1 change: 1 addition & 0 deletions examples/slide-numbers.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
---
figdeck: true
background: "#1a1a2e"
slideNumber:
show: true
Expand Down
1 change: 1 addition & 0 deletions examples/transitions.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
---
figdeck: true
transition:
style: dissolve
duration: 0.5
Expand Down
1 change: 1 addition & 0 deletions packages/cli/templates/init.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
---
figdeck: true
background: "#ffffff"
color: "#1a1a2e"
headings:
Expand Down
1 change: 1 addition & 0 deletions packages/docs/astro.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@ export default defineConfig({
items: [
{ label: 'Installation', link: '/getting-started/installation/' },
{ label: 'Plugin Setup', link: '/plugin-setup/' },
{ label: 'VS Code Extension', link: '/vscode-extension/' },
],
},
{
Expand Down
6 changes: 6 additions & 0 deletions packages/docs/src/content/docs/en/markdown-spec.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,13 @@ YAML frontmatter allows you to configure slide settings. There are two types of

Settings at the very beginning of the file (before any content) apply to **all slides** as defaults.

:::note
When using the VSCode extension, add `figdeck: true` to the global frontmatter to enable figdeck features (diagnostics, slide outline, completions). Without this flag, regular markdown files will not be processed by the extension.
:::

```markdown
---
figdeck: true
background: "#1a1a2e"
color: "#ffffff"
transition: dissolve
Expand Down Expand Up @@ -79,6 +84,7 @@ Back to global settings (dark background, dissolve)

| Setting | Description |
|---------|-------------|
| `figdeck` | Enable VSCode extension features (`true`/`false`) |
| `background` | Background color (hex) |
| `gradient` | Gradient background |
| `backgroundImage` | Background image (local path or URL) |
Expand Down
Loading