0
0

GROWI TypeScript/JavaScript SDKの紹介(その2:タグの操作)

Posted at

オープンソースの社内WikiであるGROWIではREST APIが公開されています。このAPIをより簡単に使えるよう、TypeScript/JavaScript SDKを開発しています。まだ途中ですが、徐々に機能追加していきます。

今回はタグの操作方法を解説します。

注意点

こちらはコミュニティSDKになります。公式への問い合わせはご遠慮ください。

ソースコード

GROWI TypeScript/JavaScript SDKのソースコードはGitHubにて公開しています。ライセンスはMITです。

goofmint/growi-sdk-alpha

インストール

インストールはnpm/yarn経由で行います。

$ npm install @goofmint/growi-js
# または
$ yarn add @goofmint/growi-js

使い方

まずはSDKをインポートします。

const { GROWI } = require('@goofmint/growi-js');
// または
import { GROWI } from '@goofmint/growi-js';

そして、初期化します。この時、GROWIのAPIトークンを指定します。

const growi = new GROWI({ apiToken: 'your-api-token' });

この他、以下のパラメーターを用意しています。

  • url : GROWIのURLを指定します。デフォルトはhttp://localhost:3000です。
  • path : GROWIのページパスを指定します。デフォルトは `` です。サブディレクトリにインストールしている際に指定します。

ページの取得

ルートからのページ取得は、以下のように実行します。返ってくるのは Page オブジェクトです。

const page = await growi.root();

ページ本文は contents メソッドで取得します。

const contents = await page.contents();

子ページの取得

子ページを取得するには children メソッドを使います。これは Page の配列です。

const children = await page.children();

ページ名指定での取得

ページ名(パス)が分かっている場合には、 page メソッドを使います。

const page = await growi.page({path: '/ページ名'});

タグの取得

タグは tags メソッドで取得できます。結果は文字列の配列です。

const tags = await page.tags(); // ['test 1', 'test 2']

タグの追加

タグを追加する際には addTag メソッドを使います。

await page.addTag('test 3');

タグの削除

タグを削除するには removeTag メソッドを使います。

await page.removeTag('test 1');

タグでページを検索

タグでページを検索する際には、 searchByTag メソッドを使います。結果は SearchResult です。

const result = await growi.searchByTag('tag');
result.pages[0] instanceof growi.Page; // true
result.total // total number of pages
result.took // time taken for search
result.hitsCount // number of hits

まとめ

GROWIは社内Wikiとして、社内システムとのデータ連係ニーズが出やすいでしょう。ぜひ、Node.js SDKを使って、GROWIをシステムから操作してください。

OSS開発wikiツールのGROWI | 快適な情報共有を、全ての人へ

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0