なぜ私たちは 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 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 プラグインを使用して公開したものです。