なぜ私たちは xLog SDK が必要なのか?#
私は xLog の全体的な体験に非常に満足していますが、Hexo や VitePress のような静的生成サイトと比べると、アクセス速度が少し遅いと言わざるを得ません。現時点では、私たちが自分で xLog をデプロイしたり、xLog のデータを利用して静的サイトを生成する簡単な方法はありません。
xLog は CSS を通じてウェブサイトの外観を簡単にカスタマイズできることを許可しますが、ページのレンダリング方法に関しては、そのカスタマイズの程度は限られています。Markdown ドキュメントを優雅にコンパイルする方法という記事で diygod は 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
- すべてのブログを取得する
- コメント情報を取得し、匿名コメントを送信する
- short や portfolio 情報を取得する
ここでは、利用可能なすべての API とパラメータを紹介することはできませんが、TS の型を通じて使用方法を理解できます。後でドキュメントも生成する予定です。
SDK で何ができるのか?#
sakuin は私のブログプロジェクトから派生したもので、自然に私はそれを使って自分のブログを構築しています。xLog のオリジナルと比較して、アクセス速度を確認できます。また、自分の好みに合わせてレイアウトと記事のレンダリングを再実装し、完全に制御可能な自由度を得ました。xLog が提供する匿名コメントインターフェースと連携することで、コメントモジュールを簡単に実装できます。
VS Code plugin for xLog
VS Code xLog プラグインを使用すると、このプラグインを通じてすべてのブログ記事をローカルにダウンロードし、ローカルで編集またはブログを作成できます。また、VS Code でローカルファイルやリモートリンクファイルを IPFS にアップロードすることもできます。
いくつかの展望#
xLog SDK の今後について、以下の点を考えています:
- 第三者が xLog とインタラクションするために必要な API をさらに充実させ、xLog コミュニティの作者と連絡を取り、コミュニティの作者に統一的で便利な開発体験を提供する。
- xLog サーバーの機能を完全に実装し、プロジェクトを Crossbell 組織に移行し、現在の xLog サーバーの実装を置き換える。
- SDK にサーバー API を提供し、SDK を介さずにインタラクションできるようにする。
SDK を利用して xLog を統合するアイデアには以下があります:
- git commit hook を統合し、ブログの自動作成と更新を実現する。
xLog SDK の登場が、xLog をより分散型の設定に適合させ、ますます多くの人々が自分のデータを実際に利用できるようになると信じています。プラットフォームを通じてアクセスするだけではなく。ちなみに、このブログは私が VS Code で執筆し、xLog プラグインを使用して公開したものです。