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
- Start the web server:
linknote start # Starts server at http://127.0.0.1:5000
Optional parameters:
--hostor-h: Set host address (default: 127.0.0.1)--portor-p: Set port number (default: 5000)
- Open data directory:
linknote data # Opens the default data directory
Web Interface
-
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)
-
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
-
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
- Use
-
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:
- Copy the static files (
index.html,style.css,script.js,data.js) - Open
index.htmlin a browser - 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
- Fork the repository
- Create a feature branch
- Make your changes
- 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)
| File | Size | Uploaded | |
|---|---|---|---|
| linknote-0.1.1.tar.gz | 26.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|