Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/johannschopplich/nuxt-kql

🫧 Kirby's Query Language API for Nuxt
https://github.com/johannschopplich/nuxt-kql

kirby kirby-cms kirby-plugin nuxt nuxt-module nuxt3 nuxtjs

Last synced: 15 days ago
JSON representation

🫧 Kirby's Query Language API for Nuxt

Awesome Lists containing this project

README

        

[![Nuxt KQL module](./docs/public/og.jpg)](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

- πŸ”’ Protect your Kirby credentials when sending queries
- πŸͺ’ Supports token-based authentication with [Kirby Headless Starter](https://github.com/johannschopplich/kirby-headless-starter) (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

const { data, refresh, error, status, clear } = await useKql({
query: 'site'
})


{{ data?.result?.title }}


{{ JSON.stringify(data?.result, undefined, 2) }}

```

## πŸ’» 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)