xLog SDK の必要性#
xLog の全体的な体験には満足していますが、Hexo や VitePress などの静的サイト生成サイトと比較すると、アクセス速度はまだ遅いと言わざるを得ません。現時点では、xLog を独自にデプロイしたり、xLog のデータを使用して静的サイトを生成するための簡単な方法はありません。
xLog を使用すると、CSS を使用してウェブサイトの外観を簡単にカスタマイズできますが、ページのレンダリング方法に関しては、そのカスタマイズの範囲は限られています。diygod は「エレガントな方法で Markdown ドキュメントをコンパイルする方法」の記事で、xLog がどのように Markdown をレンダリングするかを紹介しています。しかし、コードのハイライトスタイルに満足していない場合や、特定の行のハイライトをサポートする必要がある場合もあります。場合によっては、xLog に PR を提供することで要件を満たすことができますが、すべての要件がすべての xLog ユーザーに適しているわけではありません。Markdown のレンダリング方法を制御できれば、より自由度が得られます。
多くの人にとって、xLog は唯一のブログ、ノート、日常の投稿プラットフォームではありません。ブログを編集するために VS Code を使用する人もいれば、Obsidian を好む人もいます。xLog SDK を持っていれば、他のプラットフォームと統合する際に、コミュニティの作者はすべての人が xLog サーバーのロジックを実装する必要はありません。このような重複作業は、SDK を使用して統一的に解決するべきです。
現在の SDK の機能#
私は sakuin 0.1.0 バージョンをリリースしました。npm を使用してインストールできます:
ni sakuin
sakuin
からClient
をインポートして使用します。これはcrossbell.js
に基づいています。一般的には、特定のサイトのデータを取得するためにhandle
を渡す必要があります。これはあなたの xLog のサブドメインです。
import { Client } from "sakuin"
const client = new Client()
const site = await client.site.getInfo(HANDLE)
次のような操作を行うことができます:
- サイト情報の取得
client.site.getInfo
- サイトの統計情報の取得
client.site.getStat
- サイトの統計情報の取得
- ブログ情報の取得
- すべてのブログの取得
client.post.getAll
- ページングされたブログの取得
client.post.getMany
- 個々のブログの取得
client.post.get
またはclient.post.getBySlug
- ブログの作成
client.post.put
- ブログの更新
client.post.update
- すべてのブログの取得
- コメント情報の取得、匿名コメントの送信
- ショート、ポートフォリオ情報の取得
ここでは利用可能なすべての API とパラメータを紹介することはできませんが、使用方法については TS の型を参照するか、後でドキュメントを生成します。
SDK を使用すると何ができるのか?#
sakuin は私のブログプロジェクトから派生したものなので、自然にそれを使用して自分のブログを構築しています。アクセス速度を比較するために、それと元の xLog の速度を比較することができます。さらに、レイアウトと記事のレンダリングを自分の好みに合わせて再実装しましたので、完全に制御可能な自由度を持つことができました。xLog が提供する匿名コメントインターフェースに接続することで、簡単にコメントモジュールを実装することができます。
VS Code xLog プラグインを使用すると、このプラグインを使用してすべてのブログ記事をローカルにダウンロードし、ローカルでブログを編集または作成することができます。また、VS Code でローカルファイルまたはリモートリンクファイルを IPFS にアップロードすることもできます。
今後の展望#
xLog SDK に関する今後の展望として、次の点が考えられます:
- xLog との相互作用に必要な API をさらに改善し、xLog コミュニティの作者と連絡を取り、コミュニティの作者に統一された開発体験を提供します。
- xLog サーバーの機能を完全に実装し、プロジェクトを Crossbell 組織に移行し、現在の xLog サーバーの実装を置き換えます。
- SDK にサーバー API を提供し、SDK を使用せずに相互作用できるようにします。
SDK を使用して xLog を統合するアイデアについては、次のようなものがあります:
- Git のコミットフックを統合し、自動的にブログを作成および更新します。
xLog SDK の登場により、xLog はより分散化の設定に合致し、自分自身のデータを利用する人が増えることを期待しています。プラットフォームへのアクセスだけでなく、BTW、このブログは VS Code で書かれ、xLog プラグインを使用して公開されました。