Node
Read and query content in a plain Node script.
Setting up your own script? Follow the Node integration guide step by step.
content.ts
import { fileURLToPath } from 'node:url'
import { comarkContent } from 'comark-content'
import fs from 'comark-content/sources/fs'
import sqlite from 'comark-content/database/sqlite-node'
import json from 'comark-content/plugins/json'
import yaml from 'comark-content/plugins/yaml'
import media from 'comark-content/plugins/media'
import sqlQuery from 'comark-content/plugins/sql-query'
import sqliteFullTextSearch from 'comark-content/plugins/sqlite-full-text-search'
const contentDir = fileURLToPath(new URL('./content', import.meta.url))
// One sqlite instance shared by the db-backed plugins (sql-query, full-text-search).
export const database = sqlite()
/**
* A Content instance with every built-in plugin registered. The plugin methods
* (`query`, `search`, `media`, …) are mixed into the returned type.
*/
export const content = comarkContent({
source: fs(contentDir),
plugins: [json(), yaml(), media(), sqlQuery({ database }), sqliteFullTextSearch({ database })],
})