Wiki-client это клиент для API Wiki.js, написанный на TypeScript.
import { WikiClient } from '@370/wiki-client';
const URL='https://wiki.miem.hse.ru/graphql'
const TOKEN='<YOUR_WIKI_TOKEN>'
(async() => {
const client = new WikiClient(URL, TOKEN);
const pageId = await client.isPageExists ('/path/to/page', '');
})().catch((err) => {
console.log(err);
});
Токен для доступа к API Wiki можно запросить у администратора.
const page = new AbstractPage(
'test', // Название страницы в иерархии
'/test', // Папка для размещения страницы
'Test page', // Заголовок страницы
'Содежимое тестовой страницы'
);
await client.createPage(page);
Клиент вики позволяет создавать страницы с использованием шаблонов.
Прежде всего нужно создать сам шаблон, например test.mdt
:
# {{fio}}
Возраст: {{age}}
Группа: {{group}}
Далее нужно создать интерфейс, описывающий поля шаблона:
interface TestTemplateParams {
fio: string
age: string
group: string
}
После этого нужно создать фабрику для генерации страниц по этому шаблону:
const factory = new TemplatePageFactory<TestTemplateParams>('test.mdt');
Для создания страниц нужно вызвать метод createPage
const groupPage = groupPageFactory.createPage(
'ivanov',
'/persons',
'Студент',
{
fio: 'Иванов Василий Артемьевич',
age: '21',
group: 'БИВ179'
}
);
await client.createPage(page);
Выполните команду npm i @370/wiki-client
чтобы установить пакет.
В корне вашего проекта создайте файл .npmrc
со следующим содержимым:
@370:registry=https://git.miem.hse.ru/api/v4/packages/npm/
//git.miem.hse.ru/api/v4/packages/npm/:_authToken=<YOUR_TOKEN>
Токен можно запросить у администратора репозитория.