Overview
このページではZennの全体像を知ってもらうため、Zennの各サービス、ツール、パッケージの概要とそれらの依存関係について説明します。
依存関係グラフ
Zennの各サービス、ツール、パッケージの依存関係グラフを以下に示します。
- 実線: npmパッケージに依存
- 破線: APIを呼び出すなど間接的に依存
サービス
zenn.dev
Zennのメインサービスです。Next.jsのプロジェクトです。
リポジトリは非公開。
backend-api
zenn.devのバックエンドサーバーです。Ruby on Railsのプロジェクトです。
リポジトリは非公開。
embed.zenn.studio
markdownの埋め込み要素を表示するためのiframeを返すサーバーです。Next.jsのプロジェクトです。
リポジトリは非公開。
api-markdown-html
markdownをZennで表示可能なHTMLに変換するAPIです。zenn-markdown-html
をラップしたCloud Functions(Node.js)のプロジェクトです。
リポジトリは非公開。
ツール
zenn-cli
markdownをローカルで作成・プレビューするためのCLIとWebのツールです。JavaScript(TypeScript)とNode.jsのプロジェクトです。
zenn-vscode-extension
markdownをVSCode for the Web(github.devなど)で作成・プレビューするためのVSCode Web拡張機能です。JavaScript(TypeScript)のプロジェクトです。
パッケージ
zenn-content-css
ZennのHTMLに適用するCSSを提供するパッケージです。
zenn-embed-elements
markdownの埋め込み要素をクライアント側でHTMLに変換するパッケージです。
zenn-markdown-html
markdownをZennで表示可能なHTMLに変換するパッケージです。
zenn-model
zenn で扱うデータのユーティリティ型や関数をまとめたパッケージです。