tagliatelle

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

readme.md (2147B)


      1 # Tagliatelle
      2 
      3 >Previously called *[taggart](https://en.wikipedia.org/wiki/Taggart)*, renamed for unfortunate rhyming reasons
      4 
      5 A simple golang application to provide a flexible SQLite tagging database and file browser via web browser.
      6 
      7 Very rough around the edges, but functional. Primarily intended for personal use.
      8 
      9 ## Running
     10 
     11 ```
     12 cd tagliatelle
     13 go get github.com/mattn/go-sqlite3
     14 go run . -d your_directory -p 8080
     15 ```
     16 
     17 Then access the server via a web browser, the default port is 8080.
     18 
     19 ### Dependencies
     20 * `ffprobe` and `ffmpeg` for converting incompatible video uploads
     21 * `sed` for custom bulk note manipulation
     22 * `yt-dlp` for video downloader
     23 
     24 ## Features
     25 * Multiple tags per category
     26 * Bulk tag management via `file-id` or `tag:value` query
     27 * Search through file names, descriptions or tag values with wildcard support
     28 * Image, video, text and cbz gallery viewers
     29 * Will transcode incompatible video formats
     30 * Tag value aliases, e.g. `color:blue` and `color:navy`
     31 * Regenerate video thumbnails via web interface
     32 * Add files via local upload, remote upload or `yt-dlp` directly
     33 * Clickable [rotate90](## "Rotates video/image contents by angle on click"), [l45](## "Jumps to line number in text viewer on click"), [01:23](## "Jumps video playback to specified timestamp on click") and [file/1234](## "Clickable link to that file ID") shortcodes in file descriptions
     34 * Artbitrary searchable descriptions on files
     35 * Raw file URI copying for external application access
     36 * In browser file management (delete, rename)
     37 * Self-organising, categorised notes, with optional `sed` operation rules
     38 * Orphan and reverse orphan finding
     39 * Database backup and vacuum support
     40 * `tag=!`, `tag=!123` and `tag=x,value=!` for duplicating previously applied tags
     41 * Chainable `/and/tag/tag2/value2` filter matching
     42 
     43 ## Limitations
     44 * SQLite requires cgo, which requires gcc. Build/run with `CGO_ENABLED=1`
     45 * Database deletions get reserved so you won't have sequential file ID's
     46 
     47 ## Credits
     48 * [mattn/go-sqlite3](https://github.com/mattn/go-sqlite3) for the go SQLite3 library
     49 * [Fluent UI System Icons](https://icones.js.org/collection/fluent) for SVG icons used