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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

linknote-0.1.1.tar.gz (26.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

linknote-0.1.1-py3-none-any.whl (27.5 kB view details)

Uploaded Python 3

File details

Details for the file linknote-0.1.1.tar.gz.

File metadata

  • Download URL: linknote-0.1.1.tar.gz
  • Upload date:
  • Size: 26.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.4

File hashes

Hashes for linknote-0.1.1.tar.gz
Algorithm Hash digest
SHA256 89cdf798638c08d4829d32754905ee90a6f013660faf187082707e9bec8daac4
MD5 f9a65ef73834bfaa79783a34739b9e03
BLAKE2b-256 cd764a377fe075dbdc7a14db53563f5f47d548feade4068afef1ab2cd7189a3b

See more details on using hashes here.

File details

Details for the file linknote-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: linknote-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 27.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.4

File hashes

Hashes for linknote-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 629d2216dc541de9a45cf124b54c4f048bbb96cf458fae1532b4bfbe731d5f17
MD5 c8b515cd124050eab8e74be4c96a21ff
BLAKE2b-256 90bb27188916b0b45b6984c23df2cdf35f4af82028c3b41c835665e7350284ca

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page