Skip to main content

LinkNote

A web-based bookmark manager that allows you to save and organize links with tags and markdown descriptions.

Features

  • Save links with titles, tags, and markdown descriptions
  • Advanced search with support for quoted phrases
  • Filter notes by title, tags, description, or author
  • Sort notes by title (default), creation time, or link
  • Support for both web server and static file modes
  • Flexible data storage (JSON or JS files)
  • Custom save locations
  • Command-line interface

Installation

pip install .

Usage

Command Line Interface

  1. Start the web server:
linknote start  # Starts server at http://127.0.0.1:5000

Optional parameters:

  • --host or -h: Set host address (default: 127.0.0.1)
  • --port or -p: Set port number (default: 5000)
  1. Open data directory:
linknote data  # Opens the default data directory

Web Interface

  1. Adding Notes:

    • Enter author name (saved for future use)
    • Use template URLs with parameters (e.g., https://example.com/{param})
    • Click "New Note" button
    • Fill in title (required) and link (required)
    • Add optional tags (comma-separated)
    • Add optional description (supports markdown)
  2. Searching/Filtering:

    • Type in the search box to filter notes
    • Use quotes for exact phrases (e.g., "example phrase")
    • Space-separated terms are treated as separate keywords
    • Searches through titles, tags, descriptions, and authors
    • Results update in real-time
  3. Managing Notes:

    • Duplicate existing notes
    • Sort notes by title, creation time, or link
    • Template URLs: Create parameterized links
      • Use {paramName} in URLs (e.g., https://api.example.com/{version}/{endpoint})
      • Input fields automatically created for each parameter
      • Real-time URL preview as you type
  4. Saving Notes:

    • Click "Save All" to save changes
    • Choose between default location or custom path
    • Supports both .js and .json file formats

Note Fields

  • Title (required): Display name, used for search and sorting
  • Link (required): URL or template URL
  • Author: Automatically saved and used as default for new notes
  • Tags: Comma-separated labels for organization
  • Description: Supports markdown formatting
  • Timestamps:
    • Creation time: Set when note is first created
    • Modification time: Updated on each edit

Data Storage

  • Windows: %APPDATA%/linknote/data.js
  • Linux: ~/.local/share/linknote/data.js
  • Custom: Choose any location and format (.js or .json)

Static Mode

You can use LinkNote without a server by:

  1. Copy the static files (index.html, style.css, script.js, data.js)
  2. Open index.html in a browser
  3. Data will be loaded from data.js

Note: In static mode, saving changes is disabled

Markdown Support

Description field supports basic markdown:

  • Links: [text](url)
  • Bold: **text**
  • Italic: *text*
  • Code: `code`

Deployment in Public Networks

Warning: This application has an experimental authentication feature that is not recommended for production use. For public-facing deployments, it is strongly recommended to use a reverse proxy with a robust authentication mechanism, such as HTTP Basic Authentication provided by servers like Nginx. This ensures that your LinkNote instance is secure.

Development

Project Structure

linknote/
├── linknote/
│   ├── __init__.py
│   ├── cli.py         # Command-line interface
│   ├── server.py      # Flask backend
│   └── static/        # Frontend files
│       ├── index.html
│       ├── style.css
│       ├── script.js
│       └── data.js
└── setup.py

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Submit a pull request

License

MIT License

Metadata

Release files for linknote 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for linknote 0.1.1
File Size Uploaded
linknote-0.1.1.tar.gz 26.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for linknote 0.1.1
File Interpreter ABI Platform
linknote-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 54.2 kB

Release files / linknote-0.1.1.tar.gz

Download URL linknote-0.1.1.tar.gz
Size 26.7 kB
Tags Source
SHA-256 checksum
How to use checksums
89cdf798638c08d4829d32754905ee90a6f013660faf187082707e9bec8daac4
BLAKE2b-256 checksum
How to use checksums
cd764a377fe075dbdc7a14db53563f5f47d548feade4068afef1ab2cd7189a3b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.4

Release files / linknote-0.1.1-py3-none-any.whl

Download URL linknote-0.1.1-py3-none-any.whl
Size 27.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
629d2216dc541de9a45cf124b54c4f048bbb96cf458fae1532b4bfbe731d5f17
BLAKE2b-256 checksum
How to use checksums
90bb27188916b0b45b6984c23df2cdf35f4af82028c3b41c835665e7350284ca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.4

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page