livecodes-language-support

star 1.4k

Work with 90+ supported languages, compilers, CSS processors, and WASM-compiled languages for markup, style, and script editors. Load this skill when configuring languages, setting up CSS processors, or working with WASM-based languages like Python, Ruby, or Go.

live-codes By live-codes schedule Updated 3/29/2026

name: livecodes/language-support description: > Work with 90+ supported languages, compilers, CSS processors, and WASM-compiled languages for markup, style, and script editors. Load this skill when configuring languages, setting up CSS processors, or working with WASM-based languages like Python, Ruby, or Go. type: core library: livecodes library_version: 0.13.0 sources: - live-codes/livecodes:docs/docs/languages/index.mdx - live-codes/livecodes:docs/docs/languages/_template.mdx - live-codes/livecodes:docs/docs/features/css.mdx references: - references/languages.md

LiveCodes — Work with Languages

LiveCodes supports 90+ languages across three editors: markup (HTML/templating), style (CSS/preprocessors), and script (JS/compiled languages).

Setup

import { createPlayground } from 'livecodes';

// Basic language setup
createPlayground('#container', {
  config: {
    markup: { language: 'markdown', content: '# Hello' },
    style: { language: 'scss', content: '$color: blue; body { color: $color; }' },
    script: { language: 'typescript', content: 'const x: number = 1;' },
  },
});

// WASM language (Python)
createPlayground('#container', {
  config: {
    script: { language: 'python-wasm', content: 'print("Hello from Python")' },
  },
});

// Framework template
createPlayground('#container', { template: 'react' });

Core Patterns

Set language for each editor

// Markup languages
markup: { language: 'html', content: '...' }        // HTML
markup: { language: 'markdown', content: '...' }    // Markdown
markup: { language: 'mdx', content: '...' }         // MDX
markup: { language: 'pug', content: '...' }         // Pug
markup: { language: 'handlebars', content: '...' }   // Handlebars

// Style languages
style: { language: 'css', content: '...' }          // CSS
style: { language: 'scss', content: '...' }         // SCSS/Sass
style: { language: 'less', content: '...' }        // Less
style: { language: 'stylus', content: '...' }       // Stylus

// Script languages
script: { language: 'javascript', content: '...' } // JavaScript
script: { language: 'typescript', content: '...' }  // TypeScript
script: { language: 'jsx', content: '...' }         // JSX
script: { language: 'tsx', content: '...' }         // TSX

Use CSS processors

const config = {
  style: { language: 'css', content: '...' },
  processors: [
    'tailwindcss', // Tailwind CSS
    'autoprefixer', // Add vendor prefixes
    'postcssPresetEnv', // Use future CSS
    'cssmodules', // CSS Modules
    'cssnano', // Minify
  ],
};

// Processors run in order listed
// Tailwind should come before PostCSS tools

Import styles from script

// Import CSS in script editor
script: {
  language: 'javascript',
  content: `
import 'tailwindcss/utilities.css';
import './style.css';  // Gets added as a link tag
  `,
}

// Get compiled CSS from style editor
import styles from './style.css';
console.log(styles); // CSS string

WASM languages (first load is slow)

// Python (Wasm)
script: { language: 'python-wasm', content: 'def greet(name): return f"Hello, {name}"' }

// Ruby (Wasm)
script: { language: 'ruby-wasm', content: 'puts "Hello from Ruby"' }

// Go (Wasm)
script: { language: 'go-wasm', content: 'package main\n\nfunc main() { println("Hello") }' }

WASM languages download large files on first use (5-20MB). Subsequent runs use cached WASM.

Set editor title and position

script: {
  language: 'python-wasm',
  content: 'print("Hello")',
  title: 'Python',           // Override displayed title
  hideTitle: false,          // Hide editor title
  order: 0,                  // Editor order (0, 1, 2)
}

// Use hidden content for helper functions
script: {
  language: 'javascript',
  content: 'export function main() { return helper(); }',
  hiddenContent: 'function helper() { return 42; }', // Hidden but evaluated
}

Common Mistakes

MEDIUM CSS processors in wrong order

Wrong:

// PurgeCSS runs before Tailwind generates classes
processors: ['purgecss', 'tailwindcss', 'autoprefixer'];

Correct:

// Correct order: Tailwind generates → PostCSS processes → PurgeCSS removes unused
processors: ['tailwindcss', 'autoprefixer', 'purgecss'];

Processors run in the order listed. Tailwind must generate classes before other processors. In the app UI, processors are ordered automatically.

Source: docs/docs/features/css.mdx — CSS Processors section

MEDIUM WASM language first load appears slow

Wrong assumption:

// Expecting instant execution for Python
script: { language: 'python-wasm', content: 'print("Hello")' }
// First run downloads ~15MB WASM file

Understanding:

// WASM languages need initial download
// - Python (Pyodide): ~15MB
// - Ruby: ~10MB
// - Go: ~8MB
// Subsequent runs use cached WASM
// Consider showing loading indicator on first run

Source: docs/docs/languages/python-wasm.mdx

Language Categories

Editor Categories Examples
Markup HTML, Markdown, Templates, Diagrams html, markdown, pug, handlebars, mdx, astro
Style CSS, Preprocessors, PostCSS css, scss, less, stylus, postcss
Script JS, TypeScript, Compiled, WASM javascript, typescript, python, ruby, go, php

Processor Reference

See Full Language Reference for all 90+ languages, aliases, and extensions.

Processor Purpose
tailwindcss Utility-first CSS framework
windicss Windi CSS (alternative to Tailwind)
unocss Atomic CSS engine
autoprefixer Add vendor prefixes
postcssPresetEnv Use future CSS features
cssmodules Scoped CSS classes
cssnano Minify CSS
lightningcss Fast CSS processing
tokencss Design tokens
Install via CLI
npx skills add https://github.com/live-codes/livecodes --skill livecodes-language-support
Repository Details
star Stars 1,446
call_split Forks 246
navigation Branch main
article Path SKILL.md
More from Creator