summaryrefslogtreecommitdiff
path: root/sql.go.example
diff options
context:
space:
mode:
authorJacob McDonnell <jacob@jacobmcdonnell.com>2026-04-25 20:10:07 -0400
committerJacob McDonnell <jacob@jacobmcdonnell.com>2026-04-25 20:10:07 -0400
commit41039b36ec75467076ada2bb0f6f7866eafaea09 (patch)
treefb5733c9cd64c7aa8f3014193cb17011b0dfbbf5 /sql.go.example
parent1f19f33e45791ea59aed048796fc68672c6723a5 (diff)
feat: Main Page to search for man pages
Added a main index page that uses HTMX to search for man pages and place the contents on the page.
Diffstat (limited to 'sql.go.example')
-rw-r--r--sql.go.example46
1 files changed, 46 insertions, 0 deletions
diff --git a/sql.go.example b/sql.go.example
new file mode 100644
index 00000000..af73c7ad
--- /dev/null
+++ b/sql.go.example
@@ -0,0 +1,46 @@
+package main
+
+import (
+ "database/sql"
+ _ "modernc.org/sqlite"
+ "fmt"
+ "log"
+ _ "modernc.org/sqlite"
+)
+
+type Entry struct {
+ os string
+ name string
+ section int
+ path string
+}
+
+func main() {
+ db, err := sql.Open("sqlite", "man.db")
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ if err := db.Ping(); err != nil {
+ log.Fatal(err)
+ }
+
+ r, err := db.Query("SELECT * FROM manpages WHERE name == 'intro';")
+ if err != nil {
+ log.Fatal(err)
+ }
+ defer r.Close()
+
+ for r.Next() {
+ var entry Entry
+ if err := r.Scan(&entry.os, &entry.name, &entry.section, &entry.path); err != nil {
+ log.Fatal(err)
+ }
+ fmt.Println(entry.os, entry.name, entry.section, entry.path)
+ }
+
+ err = db.Close()
+ if err != nil {
+ log.Fatal(err)
+ }
+}