Native Shell
Native Shell:AI 生成的 UI,在你的应用中原生呈现,覆盖每个平台。iOS、Android、macOS、Windows 与 Linux 上的应用、GPUI 应用与网页在运行时加载已签名、沙箱隔离的 TSX 模块并绘制 th
AI 翻译
Convert markdown to html in Zenn format
翻译准备中
开发工具TypeScript · SCSSGitHub @zenn-dev自行安装运营者未确认
试用过了吗? 点一下就好,无需登录。
制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗このリポジトリは、主に Zenn の Markdown に関するパッケージをまとめて管理しています。 これらのパッケージを利用することで、Zenn CLI や Zenn の VSCode 拡張 のような周辺システムを作ることができます。
[!WARNING] このプロジェクトは厳密なセマンティックバージョニングに従っていません。現状、破壊的な変更を含むバージョンアップはマイナーバージョンアップで対応しています。変更内容はリリースページをご覧ください。
| パッケージ名 | 説明 |
|---|---|
| zenn-cli | ローカルの記事・本を表示するための CLI |
| zenn-content-css | Markdown のプレビュー時のスタイル |
| zenn-embed-elements | ブラウザ上で動作してほしい埋め込み要素( Web Components で実装) |
| zenn-markdown-html | Markdown を HTML に変換する |
| zenn-model | 記事や本のデータを扱う |
Zenn と同じ Markdown を使用するには複数のパッケージを組み合わせる必要があります。
zenn-markdown-html により Markdown を HTML に変換するimport markdownHtml from 'zenn-markdown-html';
以下のように Markdown を HTML に変換します。この処理は、Node.js でのみ実行できます。ブラウザで実行するとエラーになることにご注意ください。
const html = markdownHtml(markdown);
取得した HTML を埋め込み親要素のクラス名にはzncという文字列を指定する必要があります。これは後述の CSS を適用するために必要です。
// Reactの場合
<div
// "znc"というクラス名を指定する
className="znc"
// htmlを渡す
dangerouslySetInnerHTML={{
__html: html,
}}
/>
import 'zenn-content-css';
以下のスクリプトを読み込むことで、Tweet や Mermaid などの埋め込み記法が使用できるようになります。
<script src="https://embed.zenn.studio/js/listen-embed-event.js"></script>
このスクリプトは<head>タグ内で読み込みます。また、defer 属性や async 属性を指定すると SPA 等でのページ遷移時に正しく埋め込みが行われない可能性があることにご注意ください。
zenn-embed-elementsを読み込むzenn-embed-elementsは SSR に対応していないため、クライアント側で読み込む必要があります。
// React で使う場合の例
import 'zenn-content-css';
export default function App(props) {
useEffect(() => {
import('zenn-embed-elements');
}, []);
return (
<div
className="znc"
dangerouslySetInnerHTML={{
__html: props.html, // markdownから変換されたHTMLを渡す
}}
/>
);
}
zenn-cli スキルには、Zenn CLI による Scrap 操作、セットアップ、環境変数、安全確認の手順をまとめています。利用するプロジェクトのディレクトリで、次のいずれかの方法で取り込めます。Zenn CLI 本体のセットアップはスキル内の案内に従ってください。
npx skills add zenn-dev/zenn-editor --skill zenn-cli
対話形式で取り込み先の AI エージェントを選択します。詳細は Skills のドキュメントを参照してください。
npx rulesync fetch zenn-dev/zenn-editor --skills zenn-cli
npx rulesync generate --targets claudecode --features skills
スキルを .rulesync/skills/zenn-cli/ に取得し、AI エージェント向けの配置を生成します。上記は Claude Code 向けの例です。--targets は利用するツールに合わせて指定してください。既存の rulesync.jsonc に対象ツールを設定済みの場合は、npx rulesync generate --features skills でその設定を使えます。詳細は Rulesync のドキュメントを参照してください。
https://zenn-dev.github.io/zenn-docs-for-developers/