nuxt-kql
Version:
Kirby's Query Language API for Nuxt
71 lines (51 loc) โข 1.87 kB
Markdown
[](https://nuxt-kql.byjohann.dev)
# Nuxt KQL
[Nuxt](https://nuxt.com) module for [Kirby's Query Language](https://github.com/getkirby/kql) API.
- [โจ Release Notes](https://github.com/johannschopplich/nuxt-kql/releases)
- [๐ Read the documentation](https://nuxt-kql.byjohann.dev)
## Features
- ๐ Protected Kirby credentials when sending queries
- ๐ชข Supports token-based authentication with the [Kirby Headless plugin](https://github.com/johannschopplich/kirby-headless) (recommended)
- ๐คน No CORS issues!
- ๐ฑ Handle request just like with the [`useFetch`](https://nuxt.com/docs/getting-started/data-fetching/#usefetch) composable
- ๐ Cached query responses
- ๐ฆฆ [Multiple starter kits](https://nuxt-kql.byjohann.dev/guide/starters) available
- ๐ฆพ Strongly typed
## Setup
> [!TIP]
> [๐ Read the documentation](https://nuxt-kql.byjohann.dev)
```bash
npx nuxi@latest module add kql
```
## Basic Usage
> [!TIP]
> [๐ Read the documentation](https://nuxt-kql.byjohann.dev)
Add the Nuxt KQL module to your Nuxt config:
```ts
// `nuxt.config.ts`
export default defineNuxtConfig({
modules: ['nuxt-kql']
})
```
And send queries in your template:
```vue
<script setup lang="ts">
const { data, refresh, error, status, clear } = await useKql({
query: 'site'
})
</script>
<template>
<div>
<h1>{{ data?.result?.title }}</h1>
<pre>{{ JSON.stringify(data?.result, undefined, 2) }}</pre>
</div>
</template>
```
## ๐ป Development
1. Clone this repository
2. Enable [Corepack](https://github.com/nodejs/corepack) using `corepack enable`
3. Install dependencies using `pnpm install`
4. Run `pnpm run dev:prepare`
5. Start development server using `pnpm run dev`
## License
[MIT](./LICENSE) License ยฉ 2022-PRESENT [Johann Schopplich](https://github.com/johannschopplich)