Skip to content

Getting started

Every package here is independent. Add the one you want to a Nacara site — there is no umbrella package to install first.

PackageWhat it does
Partas.Nacara.Plugins.DirectivesYour own ::: blocks, as typed F# functions
Partas.Nacara.Plugins.TailwindTailwind over the built site
Partas.Nacara.Plugins.DaisyUIDaisyUI, through the Tailwind plugin
Partas.Nacara.Plugins.OgImageLink preview images, from front matter with fallbacks
Partas.Nacara.Plugins.AgentFriendlyllms.txt and markdown copies of every page, for agents
Partas.Nacara.ThemeThe documentation theme, in replaceable cascade layers
Partas.Nacara.Theme.ContractsWhat a theme and a styling plugin agree on
Terminal
dotnet add package Partas.Nacara.Plugins.Directives

A Nacara site is an F# program, so a plugin is a function in the pipeline that builds it:

open Nacara.Core
open Nacara.Plugins
open Partas.Nacara.Theme

let site =
    Site.create "My site"
    |> Site.baseUrl "/"
    |> Site.output "output"
    |> Markdown.register
    |> Directives.register [ note ]
    |> Theme.register theme
    |> Site.collection (Theme.docs theme "content")

[<EntryPoint>]
let main argv = Nacara.run site argv

Order matters in one direction only: the theme reads what plugins offered it, so register it last.

Where to next

Edit this page