TokenEconomizer
코딩 에이전트를 위한 경험 기반 블랙박스 비용 제어
모델이 마크다운을 출력하면 Markdown-UI가 실시간으로 인터랙티브 컴포넌트를 렌더링하고 React·Vue·Svelte를 지원합니다
Your model emits Markdown. Markdown-UI renders interactive components in real time. React, Vue, Svelte supported.
개발 도구TypeScript · SvelteGitHub @BlueprintLabIO온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기An open standard for rendering interactive widgets in plain Markdown.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Turn static docs into interactive experiences—instantly.
Transform any Markdown into clickable UI that works everywhere. Write once, render interactive widgets in any framework.
```markdown-ui-widget
select env [dev prod]
```
npm install @markdown-ui/react @markdown-ui/marked-ext
import { MarkdownUI } from "@markdown-ui/react";
import { Marked } from "marked";
import { markedUiExtension } from "@markdown-ui/marked-ext";
const marked = new Marked().use(markedUiExtension);
const html = marked.parse("```markdown-ui-widget\nselect env [dev prod]\n```");
<MarkdownUI html={html} />;
Prefer Svelte or Vue? Use @markdown-ui/svelte or @markdown-ui/vue instead. Same API, same magic.
Buttons & choices
button-group plan [Basic Pro Enterprise] Basic
Dropdowns & multi-select
select region ["US East" "US West"] "US East"
select-multi tools [Docker "Redis Cache" Postgres] [Docker]
Text & numbers
text-input name "Your name" "Enter name here"
slider cpu 1 32 1 4
Complex forms
form deploy "Launch"
select env ["Development" "Production"] "Development"
slider replicas 1 10 1 3
Interactive charts
chart-line
title: Monthly Sales
Month,Sales,Target
Jan,100,120
Feb,150,140
Mar,200,180
Quizzzes with feedback
quiz js-fundamentals "JavaScript Fundamentals Quiz"
showScore: true
showProgress: true
passingScore: 70
mcq q1 "What is JavaScript?" 10 ["Programming language" "Markup language" "Database"] "Programming language"
short-answer q2 "Name a JavaScript framework" 15 "Enter framework name" ["React" "Vue" "Angular" "Svelte"]
mcq q3 "JavaScript is typed as?" 5 ["Static" "Dynamic" "Both"] "Dynamic"
short-answer q4 "What does 'DOM' stand for?" 20 "Enter your answer" ["Document Object Model"]
Works with any Markdown parser + any UI framework. Zero lock-in.
📚 View Full Documentation & Spec →
Parsers ✅
@markdown-ui/mdui-lang - Core DSL parser for converting widget syntax to JSON@markdown-ui/marked-ext - Marked.js extension with integrated parserRenderers ✅
@markdown-ui/svelte - Svelte components with full chart support@markdown-ui/react - React components with full chart support@markdown-ui/vue - Vue components with full chart supportYou can embed interactive UI widgets in Markdown using fenced code blocks with language "markdown-ui-widget".
## DSL Syntax Reference
**Widget Types:**
- text-input id "label" "placeholder" "default"
- button-group id ["Choice 1" "Choice 2" ...] "default"
- select id ["Option A" "Option B" ...] "default"
- select-multi id ["Item 1" "Item 2" ...] ["default1" "default2"]
- slider id min max step default
- form id "Submit Label" (multi-line with 2-space indented fields)
- chart-line, chart-bar, chart-pie, chart-scatter (multi-line with CSV data)
- multiple-choice-question id "Question text" ["Choice A" "Choice B" ...] "CorrectChoice"? showFeedback?
- short-answer-question id "Question text" "Placeholder"? ("CorrectAnswer" | ["Answer1" "Answer2" ...])? showFeedback?
- quiz id "Title" (multi-line)
- Optional config lines (before questions):
- showScore: true|false
- showProgress: true|false
- passingScore: 0-100
- Question lines (one per line):
- mcq qId "Question text" points ["A" "B" ...] "CorrectChoice"?
- short-answer qId "Question text" points "Placeholder"? ("Answer" | ["Answer1" "Answer2"])?
**Quoting Rules:**
- Use quotes for ANY text containing spaces: "User Name", "New York"
- Arrays support mixed quoting: [Simple "Complex Item" Another]
- Required quotes: labels, placeholders, array items with spaces
- Optional quotes: single words, numbers
**Examples:**
Text Input:
```markdown-ui-widget
text-input email "Email Address" "Enter your email" "[email protected]"
```
Button Groups:
```markdown-ui-widget
button-group plan ["Basic Plan" "Pro Plan" "Enterprise"] "Basic Plan"
```
Dropdowns:
```markdown-ui-widget
select region ["US East" "US West" "Europe"] "US East"
```
Multi-Select:
```markdown-ui-widget
select-multi tools [Docker "Redis Cache" "PostgreSQL DB"] [Docker]
```
Sliders:
```markdown-ui-widget
slider cpu 1 32 1 4
```
Forms:
```markdown-ui-widget
form deployment "Deploy Now"
text-input name "App Name"
select env ["Development" "Production"] "Development"
slider replicas 1 10 1 3
```
Charts:
```markdown-ui-widget
chart-line
title: Monthly Revenue
height: 300
Month,Sales,Target
Jan,45000,50000
Feb,52000,50000
Mar,48000,55000
```
Multiple Choice Question (basic):
```markdown-ui-widget
multiple-choice-question q1 "Which planet is known as the Red Planet?" ["Mars" "Venus" "Jupiter" "Mercury"]
```
Multiple Choice Question (with feedback):
```markdown-ui-widget
multiple-choice-question q2 "Capital of France?" ["Paris" "Berlin" "Rome" "Madrid"] "Paris" true
```
Short Answer Question (basic):
```markdown-ui-widget
short-answer-question q3 "What does HTML stand for?"
```
Short Answer Question (with validation):
```markdown-ui-widget
short-answer-question q4 "What is 2 + 2?" "Enter a number" "4" true
```
Short Answer Question (with multiple accepted answers):
```markdown-ui-widget
short-answer-question q5 "Name a JS framework" "Enter a name" [React Vue Angular Svelte] true
```
Quiz (mixed questions with scoring):
```markdown-ui-widget
quiz js-fundamentals "JavaScript Fundamentals Quiz"
showScore: true
showProgress: true
passingScore: 70
mcq q1 "What is JavaScript?" 10 ["Programming language" "Markup language" "Database"] "Programming language"
short-answer q2 "Name a JavaScript framework" 15 "Enter framework name" ["React" "Vue" "Angular" "Svelte"]
mcq q3 "JavaScript is typed as?" 5 ["Static" "Dynamic" "Both"] "Dynamic"
short-answer q4 "What does 'DOM' stand for?" 20 "Enter your answer" ["Document Object Model"]
```
**Output Rules:**
- One widget per code block
- Use quotes for any text with spaces
- Parameters after ID are positional and optional
- Form fields must be indented exactly 2 spaces
- Chart data follows CSV format with headers
- Only use the listed widget types
MIT © 2025