Skip to main content
Glama
document.ts2.17 kB
/** * Document Formatters * * Document related formatters */ import type { OutlineDocument, SearchResult } from '../types/api.js'; import { buildUrl } from './url.js'; /** Format search results */ export function formatSearchResults(results: SearchResult[], baseUrl: string) { return results.map((item) => ({ id: item.document.id, title: item.document.title, url: buildUrl(baseUrl, item.document.url), excerpt: item.context || (item.document.text?.substring(0, 200) + '...') || '', updatedAt: item.document.updatedAt, collectionId: item.document.collectionId, })); } /** Format document info */ export function formatDocumentInfo(doc: OutlineDocument, baseUrl: string) { return { id: doc.id, title: doc.title, text: doc.text, url: buildUrl(baseUrl, doc.url), collectionId: doc.collectionId, parentDocumentId: doc.parentDocumentId, createdAt: doc.createdAt, updatedAt: doc.updatedAt, createdBy: doc.createdBy?.name, updatedBy: doc.updatedBy?.name, publishedAt: doc.publishedAt, archivedAt: doc.archivedAt, }; } /** Format recent documents list */ export function formatRecentDocuments(documents: OutlineDocument[], baseUrl: string) { return documents.map((doc) => ({ id: doc.id, title: doc.title, url: buildUrl(baseUrl, doc.url), collectionId: doc.collectionId, updatedAt: doc.updatedAt, updatedBy: doc.updatedBy?.name, })); } /** Format archived documents list */ export function formatArchivedDocuments(documents: OutlineDocument[]) { return documents.map(({ id, title, archivedAt, collectionId }) => ({ id, title, archivedAt, collectionId, })); } /** Format trash documents list */ export function formatTrashDocuments(documents: OutlineDocument[]) { return documents.map(({ id, title, deletedAt, collectionId }) => ({ id, title, deletedAt, collectionId, })); } /** Format backlinks list */ export function formatBacklinks( backlinks: Array<{ id: string; title: string; url: string }>, baseUrl: string ) { return backlinks.map((link) => ({ id: link.id, title: link.title, url: buildUrl(baseUrl, link.url), })); }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/huiseo/outline-smart-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server