JSPM

@0xanarchy_/codeframe

1.0.6
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 565
  • Score
    100M100P100Q9913F
  • License MIT

Un composant React élégant pour afficher des blocs de code stylisés façon VS Code

Package Exports

  • @0xanarchy_/codeframe
  • @0xanarchy_/codeframe/styles

Readme

🎨 @0xanarchy_/codeframe

npm version License: MIT

Un composant React élégant pour afficher des blocs de code stylisés façon VS Code avec coloration syntaxique, thèmes personnalisables et animations.

Demo

✨ Fonctionnalités

  • 🎨 4 thèmes magnifiques : VS Dark, Light, Dracula, Nord
  • 🟥🟨🟩 Boutons macOS authentiques
  • 🌈 Coloration syntaxique via Prism.js (20+ langages)
  • 📋 Bouton copier intégré
  • ⌨️ Effet machine à écrire optionnel
  • 📊 Numéros de ligne optionnels
  • 📱 Responsive et élégant
  • TypeScript first
  • 🎯 Zero configuration

📦 Installation

npm install @0xanarchy_/codeframe
# ou
yarn add @0xanarchy_/codeframe
# ou
pnpm add @0xanarchy_/codeframe

🚀 Utilisation rapide

import { CodeBlock } from '@0xanarchy_/codeframe';
import '@0xanarchy_/codeframe/dist/style.css';

function App() {
  return (
    <CodeBlock
      filename="passion.ts"
      language="typescript"
      theme="vs-dark"
      code={`function life() {
  while(alive) {
    code.with.passion();
  }
}`}
    />
  );
}

📖 Exemples

Exemple basique

<CodeBlock
  filename="app.js"
  language="javascript"
  code={`console.log("Hello World!");`}
/>

Avec toutes les options

<CodeBlock
  filename="server.ts"
  language="typescript"
  theme="dracula"
  code={code}
  copyButton={true}
  showLineNumbers={true}
  typingEffect={true}
  typingSpeed={30}
  maxHeight="500px"
/>

Différents thèmes

// VS Dark (par défaut)
<CodeBlock filename="dark.js" language="javascript" theme="vs-dark" code={code} />

// Light
<CodeBlock filename="light.js" language="javascript" theme="light" code={code} />

// Dracula
<CodeBlock filename="dracula.js" language="javascript" theme="dracula" code={code} />

// Nord
<CodeBlock filename="nord.js" language="javascript" theme="nord" code={code} />

Langages supportés

// JavaScript / TypeScript
<CodeBlock filename="app.ts" language="typescript" code={tsCode} />
<CodeBlock filename="app.jsx" language="jsx" code={jsxCode} />

// HTML / CSS
<CodeBlock filename="index.html" language="html" code={htmlCode} />
<CodeBlock filename="style.css" language="css" code={cssCode} />

// Python
<CodeBlock filename="main.py" language="python" code={pythonCode} />

// Et bien plus : Go, Rust, Java, PHP, Ruby, Bash, SQL, etc.

Effet machine à écrire

<CodeBlock
  filename="typing.ts"
  language="typescript"
  code={code}
  typingEffect={true}
  typingSpeed={20} // ms par caractère
/>

Numéros de ligne

<CodeBlock
  filename="example.py"
  language="python"
  code={code}
  showLineNumbers={true}
/>

🎯 Props API

Prop Type Défaut Description
filename string requis Nom du fichier affiché dans l'en-tête
language string requis Langage pour la coloration syntaxique
code string requis Code source à afficher
theme 'vs-dark' | 'light' | 'dracula' | 'nord' 'vs-dark' Thème visuel
copyButton boolean true Afficher le bouton copier
showLineNumbers boolean false Afficher les numéros de ligne
typingEffect boolean false Activer l'effet machine à écrire
typingSpeed number 20 Vitesse du typing (ms/caractère)
maxHeight string undefined Hauteur max avec scroll
className string '' Classes CSS personnalisées

🎨 Thèmes disponibles

VS Dark

Thème sombre inspiré de Visual Studio Code (par défaut)

Light

Thème clair pour les fonds blancs

Dracula

Thème sombre populaire avec couleurs vives

Nord

Thème nordique avec palette froide

🌐 Langages supportés

JavaScript, TypeScript, JSX, TSX, HTML, CSS, Python, Java, Go, Rust, C, C++, C#, PHP, Ruby, Bash, JSON, YAML, Markdown, SQL, et plus encore...

🛠️ Développement

Installation locale

npm install

Mode développement

npm run dev

Build

npm run build

📄 License

MIT © 0xanarchy_

🙏 Remerciements

🔗 Liens


💙 Fait avec passion par 0xanarchy_

⭐ Si ce projet vous plaît, n'oubliez pas de lui donner une étoile sur GitHub !