Skip to content

Commit 01db8d5

Browse files
committed
chore: Improve docs
1 parent ad569e8 commit 01db8d5

File tree

3 files changed

+64
-43
lines changed

3 files changed

+64
-43
lines changed

docs/ts-graphviz/03-guides/03-extending-ts-graphviz.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,11 @@ For users interested in extending or customizing `ts-graphviz`, understanding th
190190
- Convert DOT strings to streams or files.
191191
- Use in environments where you need to render graphs to images or other formats.
192192

193+
:::note
194+
You can use either `@ts-graphviz/adapter` or `ts-graphviz/adapter` imports. The latter is maintained for backward compatibility.
195+
:::
196+
197+
193198
### `@ts-graphviz/ast`
194199

195200
**Purpose**: Allows manipulation of the DOT language at the Abstract Syntax Tree (AST) level.
@@ -200,6 +205,10 @@ For users interested in extending or customizing `ts-graphviz`, understanding th
200205
- Manipulate and transform the AST programmatically.
201206
- Useful for advanced analysis or transformations of existing DOT code.
202207

208+
:::note
209+
You can use either `@ts-graphviz/ast` or `ts-graphviz/ast` imports. The latter is maintained for backward compatibility.
210+
:::
211+
203212
### `@ts-graphviz/common`
204213

205214
**Purpose**: Centralizes Graphviz domain knowledge, providing type definitions, constants, and utilities. It is designed to handle use cases such as extending types.

i18n/ja/docusaurus-plugin-content-docs/current/ts-graphviz/03-guides/03-extending-ts-graphviz.md

Lines changed: 55 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
---
2-
description: カスタムクラスでts-graphvizを拡張する方法
2+
description: ts-graphvizの高度なユースケース向けの拡張方法
33
---
4-
# ts-graphviz の拡張
4+
# ts-graphvizの拡張
55

6-
`ts-graphviz` は拡張可能な設計となっており、中級ユーザーが特定のニーズに合わせてライブラリの機能をカスタマイズ・強化できます。このセクションでは、型システムの拡張やカスタム実装の作成方法について説明します。
6+
`ts-graphviz` は拡張性を考慮して設計されており、中級ユーザーが特定のニーズに応じてライブラリの機能をカスタマイズおよび強化することができます。
7+
このセクションでは、型システムの拡張方法とカスタム実装の作成方法について説明します。
78

89
## カスタムクラスの作成
910

10-
既存のクラスを継承して独自の実装を追加できます。これにより、グラフ要素にカスタムの動作やデフォルトの属性を定義できます。
11+
既存のクラスを継承することで独自の実装を追加できます。
12+
これにより、グラフ要素に対してカスタムの動作やデフォルト属性を定義することが可能になります。
1113

1214
```typescript
1315
import { Digraph, Node, Edge, EdgeTargetTuple, attribute as _, toDot } from 'ts-graphviz';
@@ -62,9 +64,10 @@ digraph "G" {
6264
*/
6365
```
6466

65-
### モデルコンテキスト API`with` メソッド
67+
### モデルコンテキスト API (`with` メソッド)
6668

67-
**モデルコンテキスト API** を使用して、グラフ内で生成されるオブジェクトにカスタムクラスを作成できます。`Digraph``Graph``Subgraph``with` メソッドを使用してカスタムモデルを事前定義できます。
69+
**モデルコンテキスト API** を使用して、グラフ内で生成されるオブジェクトのカスタムクラスを作成することもできます。
70+
`Digraph``Graph`、および `Subgraph``with` メソッドを使用すると、カスタムモデルを事前に定義できます。
6871

6972
```typescript
7073
const g = new Digraph();
@@ -96,17 +99,17 @@ digraph {
9699

97100
## 型システムの拡張
98101

99-
`ts-graphviz` では、ライブラリの型システムを拡張してグラフの視覚化ソリューションをカスタマイズできます。これは、デフォルトでサポートされていないカスタムのグラフレイアウト、出力形式、またはカスタム属性を指定する必要がある場合に便利です
102+
`ts-graphviz` を使用すると、ライブラリの型システムを拡張してグラフ視覚化ソリューションをカスタマイズできます。これは、カスタムグラフレイアウト、出力フォーマット、またはデフォルトではサポートされていないカスタム属性を指定する必要がある場合に役立ちます
100103

101-
### `$` 記号を使用したカスタマイズ
104+
### `$` 記号を用いたカスタマイズ
102105

103-
カスタマイズを可能にするため、拡張対象の型は `$` 記号で名前付けされています。以下に記載されていない型定義を拡張する必要がある場合、ソースコードを確認して `$...` で拡張可能か確認してください。それができない場合は、issue やプルリクエストを作成してください
106+
カスタマイズを可能にするため、拡張を意図した型は `$` 記号で名前付けされています。以下にリストされていない型定義を拡張する必要がある場合は、`$...` を用いて拡張できるかソースコードを確認してください。できない場合は、issue またはプルリクエストを作成してください
104107

105108
### ユースケース
106109

107-
#### カスタムのグラフレイアウトと出力形式の指定
110+
#### カスタムグラフレイアウトおよび出力フォーマットの指定
108111

109-
`@ts-graphviz/adapter` の型を拡張することで、カスタムのレイアウトアルゴリズムや出力形式を指定できます。以下の方法で行います
112+
`@ts-graphviz/adapter` の型を拡張することで、カスタムレイアウトアルゴリズムや出力フォーマットを指定できます。以下はその方法です
110113

111114
```typescript
112115
import { $keywords } from '@ts-graphviz/common';
@@ -115,19 +118,19 @@ import { toFile } from '@ts-graphviz/adapter';
115118
// 1. '@ts-graphviz/adapter' モジュールを宣言します。
116119
declare module '@ts-graphviz/adapter' {
117120
export namespace Layout {
118-
// 2. Layout 名前空間で $values インターフェースを定義します。
119-
// 3. $keywords を継承し、カスタムレイアウトアルゴリズムの名前を指定します
121+
// 2. Layout 名前空間内に $values インターフェースを定義します。
122+
// 3. $keywords を継承し、カスタムレイアウトアルゴリズムの名前を追加します
120123
export interface $values extends $keywords<'my-custom-algorithm'> {}
121124
}
122125

123126
export namespace Format {
124-
// 4. Format 名前空間で $values インターフェースを定義します。
125-
// 5. $keywords を継承し、カスタム出力形式の名前を指定します
127+
// 4. Format 名前空間内に $values インターフェースを定義します。
128+
// 5. $keywords を継承し、カスタム出力フォーマットの名前を追加します
126129
export interface $values extends $keywords<'mp4'> {}
127130
}
128131
}
129132

130-
// これでカスタムレイアウトと形式を使用できます
133+
// これでカスタムレイアウトとフォーマットを使用できます
131134
toFile('digraph { a -> b }', '/path/to/file', {
132135
layout: 'my-custom-algorithm',
133136
format: 'mp4',
@@ -136,7 +139,7 @@ toFile('digraph { a -> b }', '/path/to/file', {
136139

137140
#### カスタム属性の追加
138141

139-
`@ts-graphviz/common` の型を拡張してカスタム属性を追加できます
142+
`@ts-graphviz/common` の型を拡張することで、カスタム属性を追加できます
140143

141144
```typescript
142145
import { $keywords } from '@ts-graphviz/common';
@@ -145,18 +148,18 @@ import { digraph, toDot, attribute as _ } from 'ts-graphviz';
145148
// 1. '@ts-graphviz/common' モジュールを宣言します。
146149
declare module '@ts-graphviz/common' {
147150
export namespace GraphAttributeKey {
148-
// 2. GraphAttributeKey 名前空間で $values インターフェースを定義します。
149-
// 3. $keywords を継承し、カスタム属性の名前を指定します
151+
// 2. GraphAttributeKey 名前空間内に $values インターフェースを定義します。
152+
// 3. $keywords を継承し、カスタム属性の名前を追加します
150153
export interface $values extends $keywords<'hoge'> {}
151154
}
152155

153156
export namespace Attribute {
154-
// 4. Attribute 名前空間で $keys インターフェースを定義します。
155-
// 5. $keywords を継承し、カスタム属性の名前を指定します
157+
// 4. Attribute 名前空間内に $keys インターフェースを定義します。
158+
// 5. $keywords を継承し、カスタム属性の名前を追加します
156159
export interface $keys extends $keywords<'hoge'> {}
157160

158-
// 6. Attribute 名前空間で $types インターフェースを定義します。
159-
// 7. カスタム属性のキーとその対応する値の型を指定します
161+
// 6. Attribute 名前空間内に $types インターフェースを定義します。
162+
// 7. カスタム属性の型を指定します
160163
export interface $types {
161164
hoge: string;
162165
}
@@ -174,44 +177,53 @@ console.log(
174177
```
175178

176179
---
177-
## パッケージ概要
178180

179-
ts-graphviz を拡張またはカスタマイズしたいユーザーにとって、内部パッケージを理解することは有益です。以下に、内部パッケージの概要と、それらを高度なシナリオでどのように使用できるかを説明します。
181+
## 内部パッケージの概要
182+
183+
`ts-graphviz` を拡張またはカスタマイズするユーザーにとって、内部パッケージを理解することは有益です。以下に、内部パッケージの概要と高度なシナリオでの使用方法を示します。
180184

181185
### `@ts-graphviz/adapter`
182186

183-
**目的**:Graphviz のコマンドを実行し、DOT 言語の文字列をさまざまな出力形式に変換するためのインターフェースを提供します。
187+
**目的**: Graphviz コマンドを実行し、DOT 言語の文字列をさまざまな出力フォーマットに変換するためのインターフェースを提供します。
188+
189+
**使用方法**:
184190

185-
**使用方法**
191+
- DOT 文字列をストリームやファイルに変換する。
192+
- グラフを画像や他のフォーマットにレンダリングする必要がある環境で使用する。
186193

187-
- DOT 文字列をストリームやファイルに変換します。
188-
- グラフを画像や他の形式にレンダリングする必要がある環境で使用します。
194+
:::note
195+
`@ts-graphviz/adapter` または `ts-graphviz/adapter` のいずれかのインポートを使用できます。後者は後方互換性のために維持されています。
196+
:::
189197

190198
### `@ts-graphviz/ast`
191199

192-
**目的**:DOT 言語を抽象構文木(AST)レベルで操作できるようにします。
200+
**目的**: 抽象構文木(AST)レベルで DOT 言語を操作することを可能にします。
201+
202+
**使用方法**:
193203

194-
**使用方法**
204+
- DOT 文字列を AST ノードにパースする。
205+
- AST をプログラム的に操作および変換する。
206+
- 既存の DOT コードの高度な分析や変換に役立ちます。
195207

196-
- DOT 文字列を AST ノードに解析します。
197-
- AST をプログラム的に操作・変換します
198-
- 既存の DOT コードの高度な解析や変換に便利です。
208+
:::note
209+
`@ts-graphviz/ast` または `ts-graphviz/ast` のいずれかのインポートを使用できます。後者は後方互換性のために維持されています
210+
:::
199211

200212
### `@ts-graphviz/common`
201213

202-
**目的**Graphviz のドメイン知識を集約し、型定義、定数、ユーティリティを提供します。型の拡張などのユースケースに対応しています
214+
**目的**: Graphviz のドメイン知識を集約し、型定義、定数、およびユーティリティを提供します。型の拡張などのユースケースを処理するために設計されています
203215

204-
**使用方法**
216+
**使用方法**:
205217

206-
- 型や属性を拡張またはカスタマイズします
207-
- カスタム属性を扱う際に型安全性を確保します
208-
- パッケージ全体で Graphviz のドメイン知識を一貫して使用できるようにします
218+
- 型や属性を拡張またはカスタマイズする
219+
- カスタム属性を扱う際に型安全性を確保する
220+
- パッケージ全体で一貫した使用を保証するために、Graphviz のドメイン知識を集約する
209221

210222
### `@ts-graphviz/core`
211223

212-
**目的**:ユーザーに提供されるモデルと関数のコア実装を含みます
224+
**目的**: ユーザーに提供されるモデルおよび関数のコア実装を含みます
213225

214-
**使用方法**
226+
**使用方法**:
215227

216-
- オブジェクト指向の API を使用して、グラフ要素を細かく制御します
217-
- クラスを拡張してカスタムな動作や属性を追加します
228+
- グラフ要素を細かく制御するためのオブジェクト指向APIを使用する
229+
- カスタムの動作や属性を追加するためにクラスを拡張する

0 commit comments

Comments
 (0)