This PR make spear to support the Content Collection (#69). This feature collect content data from local files like mdx, unified eco system files(front-matter). [1][2]
In order to collect the content data from file, we need to replace the sdk-js client on spearly-cms-js-core[3].
This changes contains the two parts:
Change the cms-js-core to be able to inject the sdk-js api client.
Pass the cms-js-core generator to plugin via plugin parameter.
The (1) allow the changing customized client which returning local file. Hence this feature, user can replace the resource data without Spearly CMS.
Then user can pass the this customized client via plugin by (2) changes.
After releasing this feature, we can implement the following plugin.
Changes
This PR make spear to support the Content Collection (#69). This feature collect content data from local files like mdx, unified eco system files(front-matter). [1][2]
In order to collect the content data from file, we need to replace the
sdk-js
client onspearly-cms-js-core
[3].This changes contains the two parts:
cms-js-core
to be able to inject thesdk-js
api client.cms-js-core
generator to plugin via plugin parameter.The (1) allow the changing customized client which returning local file. Hence this feature, user can replace the resource data without Spearly CMS. Then user can pass the this customized client via plugin by (2) changes.
After releasing this feature, we can implement the following plugin.
[1] https://unifiedjs.com/ [2] https://mdxjs.com/ [3] https://github.com/unimal-jp/spear/issues/69#issuecomment-1694177158
変更点
この PR では Spear 上で Content Collection をサポートさせるようにします(#69)。この機能は mdx や unified エコシステムのファイルのように、ローカルファイルからコンテンツデータを収集します[1][2]。
ファイルからデータを収集するために、
spearly-cms-js-core
でsdk-js
のクライアントを置きかけ出来るようにします[3]。この変更は2つのパートに分かれています。
cms-js-core
をsdk-js
API クライアントの差し替えを可能にするcms-js-core
の Generator をプラグインのプラグイン引数で渡すようにする(1) はローカルファイルを返すカスタムされたクライアントを変更できるようにしています。この機能により、ユーザーは Spearly CMS 抜きでリソースデータを置換可能です。
そして、ユーザーはこのカスタムされたクライアントをプラグイン経由で渡すことができます。
この機能をリリース後、以下のような MDX からコンテンツを取得するプラグインを書くことができます。
[1] https://unifiedjs.com/ [2] https://mdxjs.com/ [3] https://github.com/unimal-jp/spear/issues/69#issuecomment-1694177158