A web-based short note manager with search and tagging capabilities
Project description
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
89cdf798638c08d4829d32754905ee90a6f013660faf187082707e9bec8daac4
|
|
| MD5 |
f9a65ef73834bfaa79783a34739b9e03
|
|
| BLAKE2b-256 |
cd764a377fe075dbdc7a14db53563f5f47d548feade4068afef1ab2cd7189a3b
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
629d2216dc541de9a45cf124b54c4f048bbb96cf458fae1532b4bfbe731d5f17
|
|
| MD5 |
c8b515cd124050eab8e74be4c96a21ff
|
|
| BLAKE2b-256 |
90bb27188916b0b45b6984c23df2cdf35f4af82028c3b41c835665e7350284ca
|