all repos — searchix @ 7ab69fb0411fc260e3f3ea519443abd87ace3a7e

Search engine for NixOS, nix-darwin, home-manager and NUR users

internal/nixdocs/envvar/example/main.go (view raw)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package main

import (
	"bytes"
	"fmt"
	"os"

	"go.alanpearce.eu/searchix/internal/nixdocs/envvar"

	"github.com/yuin/goldmark"
)

func main() {
	// Create a new markdown parser with the environment variable extension
	md := goldmark.New(
		goldmark.WithExtensions(
			envvar.New(),
		),
	)

	// Example markdown text with environment variable references
	markdown := "You need to set {env}`XDG_DATA_DIRS` to include your custom data directories.\n\n" +
		"Other important environment variables are {env}`HOME` and {env}`PATH`."

	// Convert markdown to HTML
	var buf bytes.Buffer
	if err := md.Convert([]byte(markdown), &buf); err != nil {
		fmt.Fprintf(os.Stderr, "Error converting markdown: %v\n", err)
		os.Exit(1)
	}

	// Print the resulting HTML
	fmt.Println("HTML Output:")
	fmt.Println("===========")
	fmt.Println(buf.String())
}