A console app written in C# that lists and searches your bookmarks files, displaying them in the terminal and optionally launching them in your default browser. It doesn't manage your bookmarks (adding/editing/deleting), it just lists and searches through them.
The terminal output includes links that can be clicked, using the Spectre console library. It supports the following bookmarks:
- Chrome, Brave, Opera and Edge bookmarks (Chromium JSON bookmark format)
- Markdown files with links.
- Bookmark export HTML (Netscape) format which all browsers export their bookmarks as.
You can download the latest version of tinycity using PowerShell or Bash:
Invoke-WebRequest -Uri "https://github.com/yetanotherchris/tiny-city/releases/latest/download/tinycity.exe" -OutFile "tinycity.exe"
wget -O tinycity "https://github.com/yetanotherchris/tiny-city/releases/latest/download/tinycity"
curl -o tinycity -L "https://github.com/yetanotherchris/tiny-city/releases/latest/download/tinycity"
Scoop.sh on Windows:
scoop bucket add tinycity https://github.com/yetanotherchris/tiny-city/
scoop install tinycity
You can also download the latest release directly from the Releases page.
USAGE:
tinycity [OPTIONS] <COMMAND>
OPTIONS:
-h, --help Prints help information
-v, --version Prints version information
COMMANDS:
search <query> Search the bookmarks
ls List all bookmarks
update Updates Tinycity, downloading the latest release from Github
config Configure bookmark sources
./tinycity config # show the current config
./tinycity config --help
./tinycity ls
./tinycity search "google.com" -urls #search using the url
./tinycity q "gmail" # q is a shortcut for search
./tinycity search "openrouter" --launch
./tinycity config -b brave
./tinycity config -a more-bookmarks.md
./tinycity config --html-bookmark-file "$($env:USERPROFILE)/bookmarks.html"
If you clone the source using git clone
(requires .NET 8 or later):
dotnet run --
dotnet run -- ls
dotnet run -- search "google" -urls
dotnet run -- search "gmail"
dotnet run -- search "openrouter" --launch
The name was generated using a name generator.