internal/nixdocs/filepath/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 37 38 39 40 41 42 43 44 45 | package main
import (
"bytes"
"fmt"
"os"
"github.com/yuin/goldmark"
"alin.ovh/searchix/internal/nixdocs/filepath"
)
func main() {
// Create a new Goldmark instance with our file path extension
md := goldmark.New(
goldmark.WithExtensions(
filepath.New(),
),
)
// Some example Markdown content with file path references
src := []byte(`
# File Path References Example
System configuration files like {file}` + "`/etc/passwd`" + ` and {file}` + "`/etc/shadow`" +
` contain user account information.
The {file}` + "`/etc/fstab`" + ` file defines the file systems to be mounted.
Configuration files are often found in the following locations:
- {file}` + "`/etc/`" + ` for system-wide configuration
- {file}` + "`~/.config/`" + ` for user-specific configuration
- {file}` + "`/usr/local/etc/`" + ` for locally installed software
`)
// Convert the markdown to HTML
var buf bytes.Buffer
if err := md.Convert(src, &buf); err != nil {
fmt.Println("Conversion error:", err)
os.Exit(1)
}
// Print the HTML output
fmt.Println(buf.String())
}
|