commit 0071e0947905394929c28f8f98251ec718ac87ee
parent 17d3362751d1481c3c614dd91982f76f7de137ef
Author: breadcat <breadcat@users.noreply.github.com>
Date: Fri, 6 Feb 2026 15:29:21 +0000
Add readme and rename project
Diffstat:
4 files changed, 45 insertions(+), 4 deletions(-)
diff --git a/include-admin.go b/include-admin.go
@@ -18,7 +18,7 @@ func loadConfig() error {
DatabasePath: "./database.db",
UploadDir: "uploads",
ServerPort: ":8080",
- InstanceName: "Taggart",
+ InstanceName: "Tagliatelle",
GallerySize: "400px",
ItemsPerPage: "100",
TagAliases: []TagAliasGroup{},
diff --git a/readme.md b/readme.md
@@ -0,0 +1,40 @@
+# Tagliatelle
+
+>Previously called *[taggart](https://en.wikipedia.org/wiki/Taggart)*, renamed for unfortunate rhyming reasons
+
+A simple golang application to provide a flexible SQLite tagging database and file browser via web browser.
+
+Very rough around the edges, but functional. Primarily intended for personal use.
+
+## Running
+
+```
+cd tagliatelle
+go get github.com/mattn/go-sqlite3
+go run .
+```
+
+Then access the server via a web browser, the default port is 8080.
+
+## Features
+* Multiple tags per category
+* Bulk tag management via file ID or `tag:value` query
+* Search through names, comments or tag values with wildcard support
+* Image, video, text and cbz gallery viewers
+* Will transcode incompatible video formats
+* Tag value aliases, e.g. `color:blue` and `color:navy`
+* Regenerate video thumbnails via web interface
+* Add files via local upload, remote upload or `yt-dlp` directly
+* Clickable [rotate90](## "Rotates video/image contents by angle on click")**, [l45](## "Jumps to line number in text viewer on click")** and [01:23](## "Jumps video playback to specified timestamp on click")** shortcodes in file descriptions
+* Artbitrary searchable descriptions on files
+* Raw file URI copying for external application access
+* In browser file management (delete, rename)
+
+## Limitations
+* SQLite requires cgo, which requires gcc. Build/run with `CGO_ENABLED=1`
+* Database deletions get reserved so you won't have sequential file ID's
+* Paths are stored absolutely, not relatively, so moving your file store requires manual intervention
+
+## Credits
+* [mattn/go-sqlite3](https://github.com/mattn/go-sqlite3) for the go SQLite3 library
+* [Fluent UI System Icons](https://freesvgicons.com/packs/fluent) for SVG icons used
+\ No newline at end of file
diff --git a/templates/_header.html b/templates/_header.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta charset="utf-8">
- <title>{{if .Title}}{{.Title}} - Taggart{{else}}Taggart{{end}}</title>
+ <title>{{if .Title}}{{.Title}} - Tagliatelle{{else}}Tagliatelle{{end}}</title>
<link href="/static/style.css" rel="stylesheet">
<meta name="viewport" content="width=device-width,initial-scale=1" />
<style>
@@ -14,7 +14,7 @@
<body>
<nav>
<ul>
-<li><strong>#Taggart</strong></li>
+<li><strong>#Tagliatelle</strong></li>
<li><a href="/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill="#000000" d="M4.5 3A2.5 2.5 0 0 0 2 5.5v9A2.5 2.5 0 0 0 4.5 17h11a2.5 2.5 0 0 0 2.5-2.5v-7A2.5 2.5 0 0 0 15.5 5H9.707L8.22 3.513A1.75 1.75 0 0 0 6.982 3H4.5ZM3 5.5A1.5 1.5 0 0 1 4.5 4h2.482a.75.75 0 0 1 .53.22l1.28 1.28L7.44 6.854A.5.5 0 0 1 7.086 7H3V5.5ZM3 8h4.086a1.5 1.5 0 0 0 1.06-.44L9.707 6H15.5A1.5 1.5 0 0 1 17 7.5v7a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 3 14.5V8Z"/></svg><span>Browse</span></a></li>
<li><a href="/add"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill="#000000" d="M6 10a.5.5 0 0 1 .5-.5h3v-3a.5.5 0 0 1 1 0v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3A.5.5 0 0 1 6 10Zm4 8a8 8 0 1 0 0-16a8 8 0 0 0 0 16Zm0-1a7 7 0 1 1 0-14a7 7 0 0 1 0 14Z"/></svg><span>Add files</span></a></li>
<li><a href="/tags"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill="#000000" d="M13.5 6.5a1 1 0 1 0 0-2a1 1 0 0 0 0 2ZM9.207 2.586A2 2 0 0 1 10.621 2h4.452a2 2 0 0 1 2 2v4.374a2 2 0 0 1-.593 1.422l-5.818 5.76a2 2 0 0 1-2.82-.008l-4.385-4.384a2 2 0 0 1 0-2.828l5.75-5.75ZM10.621 3a1 1 0 0 0-.707.293l-5.75 5.75a1 1 0 0 0 0 1.414l4.384 4.384a1 1 0 0 0 1.41.004l5.819-5.76a1 1 0 0 0 .296-.71V4a1 1 0 0 0-1-1h-4.452Zm-7.624 8.8a2 2 0 0 0 .46 2.114l2.977 2.977a4 4 0 0 0 5.642.014l4.404-4.36a2 2 0 0 0 .593-1.42v-.573l-4.997 4.953a4.086 4.086 0 0 1-.147.14l-.556.55a3 3 0 0 1-4.232-.01l-.499-.5a4.047 4.047 0 0 1-.208-.194l-2.977-2.977a1.992 1.992 0 0 1-.46-.714Z"/></svg><span>Tags</span></a>
diff --git a/templates/admin.html b/templates/admin.html
@@ -64,7 +64,7 @@
<label for="instance_name" style="display: block; font-weight: bold; margin-bottom: 5px;">Instance Name:</label>
<input type="text" id="instance_name" name="instance_name" value="{{.Data.Config.InstanceName}}" required
style="width: 100%; padding: 8px; font-size: 14px;"
- placeholder="Taggart">
+ placeholder="Tagliatelle">
<small style="color: #666;">Instance Name, used in header and title bar</small>
</div>