L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Développement · SKILL.md

markstream-vue2-cli

markstream-vue2-cli

Integrate markstream-vue2 into a Vue 2 Vue CLI or Webpack 4 app. Use when Codex needs Webpack 4-friendly setup, CDN worker fallbacks for Mermaid or KaTeX, `dist/index.css` imports, Vue 2 composition-api shims, or code block choices limited to `stream-diffs` or plain `<pre>`.

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: markstream-vue2-cli description: Integrate markstream-vue2 into a Vue 2 Vue CLI or Webpack 4 app. Use when Codex needs Webpack 4-friendly setup, CDN worker fallbacks for Mermaid or KaTeX, dist/index.css imports, Vue 2 composition-api shims, or code block choices limited to stream-diffs or plain <pre>.

Markstream Vue 2 CLI

Use this skill when the host app is Vue 2 on Vue CLI or another Webpack 4-style stack.

Workflow

  1. Confirm the repo uses Vue 2 plus Vue CLI or Webpack 4-era tooling.
  2. Install markstream-vue2 and only the peers required for the requested features.
  3. Import markstream-vue2/dist/index.css in the app shell.
  4. Avoid Vite-style ?worker imports.
    • Use createKaTeXWorkerFromCDN(...) and createMermaidWorkerFromCDN(...) when workers are needed.
  5. Prefer stable code block defaults over brittle wiring.
    • In Webpack 4-era repos, stream-diffs (or plain <pre>) is the only code block runtime — there is no Monaco/stream-monaco fallback and no MarkdownCodeBlockNode.
    • Use top-level code-block-options or direct CodeBlockNode.code-block-options for the shared renderer-neutral option contract. Keep header/toolbar props in code-block-props.
    • For AI chat or streaming UIs, keep content and use built-in smooth streaming first.
      • smooth-streaming="auto" is the default and activates when typewriter=true or max-live-nodes <= 0.
      • typewriter only controls the blinking cursor and defaults to false.
      • fade controls node enter and streamed-text fade animations and defaults to true.
    • Streaming vs recovering history: in chat UIs the same MarkdownRender starts streaming and later switches to history when final=true.
      • Streaming: smooth-streaming="auto", :fade="false", typewriter=true. This is a conservative visual/performance choice, not an API incompatibility. This adapter has not adopted Vue 3's bounded append fades, so verify its animation behavior before enabling both.
      • Recovering history: :smooth-streaming="false", :fade="true", typewriter=false. Content is already complete — pacing would slow it down, but fade gives a polished entry animation.
      • Dynamic switch: :smooth-streaming="isStreaming ? 'auto' : false", :fade="!isStreaming".
    • Move to nodes + final only for worker-preparsed content, shared AST stores, or custom AST control.
    • Remember that html-policy now defaults to safe, and Mermaid strict mode is on by default through mermaid-props.
  6. Validate with the smallest useful local dev or build command.

Default Decisions

  • Code block enhancement no longer depends on Monaco; worker-heavy setup applies only to Mermaid/KaTeX CDN workers.
  • Prefer CDN workers over bundler workers for Mermaid and KaTeX.
  • Keep the Vue 2 composition-api shim explicit when the repo is on Vue 2.6.
  • Keep html-policy="safe" and Mermaid strict mode unless the task is preserving trusted legacy rendering.
  • If a trusted surface needs older behavior, use html-policy="trusted" and :mermaid-props="{ isStrict: false }" only on that surface and explain why.

Useful Doc Targets

  • docs/guide/vue2-quick-start.md
  • docs/guide/vue2-installation.md
  • docs/guide/troubleshooting.md
Skills enregistrées