API

API реализовано через отправку/получение данных в формате JSON. Серверная часть написана на Go, клиентская на Vue, все исходники доступны в GitHub.

На этой странице описаны только общие параметры, для конкретной реализации необходимо смотреть исходный код.

Общие API

/api/config.write — запись пути к директории с заметками, используется только при первом запуске.

/api/ping — используется для определения работоспособности сервера

/api/config.json — возвращает и позволяет менять текущую конфигурацию

/api/favorites.json — управление списком избранных записей

/api/notebooks.json — возвращает список блокнотов

/api/statistic.json — возвращает статистическую информацию, используется на главной странице

/api/refresh_data.json — запуск переиндексации и обновления данных

/api/optimization.json — запуск оптимизации хранилища — все внешние картинки будут скачены и помещены в директорию с заметками, это нужно для работы независимо от внешних серверов

/api/fetch.json — загрузка веб-страницы на стороне сервера, чтобы фронтенд мог обработать её через defuddle, обходит CORS-ограничения браузера

/api/cleanup_html.json — очистка/форматирование HTML-контента на стороне сервера

/api/webp_cache_clear.json — очистка кэша производных WebP-изображений, оригиналы не затрагиваются

/resources/{notebookUUID}/{noteUUID}/{image} — отображение изображений, хранящихся в директории с заметками

Блокноты

/api/notebook_edit.json — добавление/удаление/перемещение/редактирование блокнотов

/api/notes_at_notebook.json — возвращает список заметок в блокноте

Заметки

/api/note.json — конкретная заметка, заголовок, текст и все параметры

/api/note_edit.json — создание/редактирование заметок

/api/note_move.json — перемещение/удаление заметок

Теги

/api/tags.json — возвращает список всех тегов

/api/notes_with_tag.json — список заметок с определенным тегом

/api/tag_edit.json — редактирование тегов

Поиск

/api/search.json — работа с поиском

/api/search_index.json — запуск переиндексации поискового индекса