PitchHut logo
Effortlessly manage bookmarks with a nimble server solution.
Pitch

Linknim is a powerful bookmark server manager developed in Nim, designed for simplicity and efficiency. It uses plain CSV and INI files for storage, ensuring human readability and easy backups. With a full REST API, TUI interface, and CLI support, Linknim makes bookmark management streamlined and accessible.

Description

Linknim is a versatile bookmark server manager crafted in Nim, designed to streamline bookmark management while ensuring data durability. It relies on plain CSV and INI files for storage, allowing for easy readability, version control, and straightforward backups.

Key Features

  • Linkding API Compatibility: Seamlessly use existing browser extensions for Firefox and Chrome without any modifications.
  • Simple Storage Format: Bookmarks are stored in human-readable CSV + INI files, making them accessible and easy to manage.
  • Web User Interface: Manage bookmarks via a full-featured web UI that provides search, adding, editing, archiving, and bulk actions as well as a tag tree for organizing bookmarks.
  • Terminal User Interface (TUI): Access bookmarks without a browser using a powerful terminal interface.
  • Command Line Interface (CLI): Execute commands for adding, listing, editing, deleting, archiving bookmarks directly from the shell with JSON output capability for easy scripting.
  • Import and Export Support: Include bookmarks from Netscape HTML exports and export them back in Netscape HTML or JSON formats.
  • RSS Feed: Generate an RSS feed of shared bookmarks located at /feed.xml.
  • Bookmarklet Functionality: Save any page quickly with a single click, even without a browser extension.
  • Keyboard Navigation: Use configurable shortcuts for efficient navigation and management in the interface.
  • Dynamic Themes: Easily toggle between dark, light, or auto themes with user-specific preferences stored in the configuration.

Storage Structure

Linknim organizes its data effectively, with specific files dedicated to configuration and bookmark data:

FileContents
bookmarks.iniConfiguration settings, authentication token, tag registry, and shortcuts
bookmarks.csvBookmark data formatted with named headers as per RFC 4180
bundles.csvSaved search data
data/favicons/Cached favicon images

Commits to storage are atomic, protecting against potential data loss during crashes.

User Interfaces

Linknim supports multiple interfaces to ensure users can access bookmarks as they prefer:

  1. TUI: Launch via the command:

    ./linknim tui
    

    This interface allows users to search and manage bookmarks with intuitive keyboard controls.

  2. Web UI: Access the server at http://127.0.0.1:8888 after starting with the command:

    ./linknim serve
    
  3. CLI: Command line users can utilize various commands for managing bookmarks—including adding, editing, and searching bookmarks across various formats (HTML and JSON).

API Integration

Linknim provides full access to the existing Linkding REST API, enabling easy transitions for users who are familiar with the Linkding system. This includes added functionality, such as exporting bookmarks and managing tags through specific endpoints:

EndpointDescription
GET /feed.xmlRSS feed of shared bookmarks
GET /api/export.jsonDownload all bookmarks in JSON
GET /api/export.htmlDownload bookmarks as Netscape format
PATCH /api/tags/<id>/Rename a tag, updating all bookmarks to reflect this change
DELETE /api/tags/<id>/Remove a tag from all bookmarks

Linknim empowers users to take control of their bookmarks with flexibility, reliability, and ease of use. Perfect for those seeking a standalone bookmark management solution integrated with existing workflows.

0 comments

No comments yet.

Sign in to be the first to comment.