A lightweight, Markdown-based note-taking application with task management capabilities, providing a clean interface for creating, viewing, and managing notes with support for tasks, images, and code snippets.
Project description
NoteFlow
FORMAT CHANGE NOTICE: As of version 0.3.0, the note separator has changed from
---to<!-- note -->. Please update your notes.md file to use the new format.
NoteFlow is a lightweight, Markdown-based note-taking application with task management capabilities. It provides a clean interface for creating, viewing, and managing notes with support for tasks, images, files,and code snippets.
Features
Initial View:
Markdown Editor:
Upload Images and Files:
Point in Time Site Copy/Bookmark:
Multiple Themes:
Math Rendering:
Features
- 📝 One Big Markdown File: All notes stream into a single Markdown file, creating a natural timeline
- ✅ Active Tasks Tracking: Active tasks automatically surface to a dedicated panel
- 🔍 Pure Markdown: Write in plain Markdown and use checkboxes for task management
- 💾 Zero Database: Your entire note history lives in one portable Markdown file
- 🚀 Instant Start: Zero configuration required - just launch and start writing
- 🔒 Privacy First: Runs entirely local - your notes never leave your machine
- ✨ Modern / Retro Interface: Clean, responsive design built with FastAPI
- 📚 Site Links and Archival: Save site links, and generate a static HTML archive version of linked sites
- 🎨 Multiple Themes: Choose from a variety of themes
- 🔗 Save Files/Images: Archive files and images locally
- 🖥️ Multiple Instances: Open multiple instances of Noteflow to take notes in different directories
Quick Start
To quickly get started with Noteflow, follow these steps:
Installation Options
Using pip (All Platforms)
pip install noteflow
Using Homebrew (macOS/Linux)
brew tap Xafloc/noteflow
brew install noteflow
Running Noteflow
You can run Noteflow in several ways:
From Current Directory
noteflow
Specify a Notes Directory
# Linux/macOS
noteflow /path/to/notes/folder
# Windows
noteflow C:\path\to\notes\folder
Run Multiple Instances
You can run multiple instances by specifying different directories:
noteflow /path/to/notes/folder1 # First instance
noteflow /path/to/notes/folder2 # Second instance
- Access the Application: Your web browser should open automatically. If not, open your browser and navigate to:
- Default instance:
http://localhost:8000 - Additional instance ports:
http://localhost:<port>
- Default instance:
Requirements
- Python 3.9+
- FastAPI
- uvicorn
- markdown-it-py
- mdit-py-plugins
- Other dependencies listed in
requirements.txt
Taking Notes
- Type your note in the content area
- Optionally add a title
- Click "Add Note" or press Ctrl+Enter to save
Creating Tasks
- Use Markdown checkboxes:
- [ ] New task - [x] Completed task
- Tasks automatically appear in the Active Tasks panel
- Click checkboxes to mark tasks as complete
Attaching Images and Files
- Drag and drop images or files into the Noteflow input box to attach them to your note
- Images and files are automatically embedded in the note and saved locally within the assets/images and assets/files folders
Saving Site Links and Archiving
- Create a link in your note by typing + followed by the URL (e.g.,
+https://www.google.com) - Site link will be saved and archived locally within the assets/sites folder
Markdown Support
NoteFlow supports standard Markdown syntax including:
- Headers
- Lists (bulleted and numbered)
- Checkboxes
- Bold/Italic text
- Code blocks
- Strikethrough
- Tables
- Blockquotes
- Math (using MathJax)
- And more!
File Structure
Your notes are stored in notes.md in your working directory, or the passed path argument. The file format is simple:
## 2024-10-30 12:34:56 - Optional Title
Your note content here...
<!-- note -->
## 2024-10-30 12:33:45
Another note...
License
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details. This license ensures that:
- You can freely use, modify, and distribute this software
- Any modifications or derivative works must also be licensed under GPL-3.0
- The source code must be made available when distributing the software
- Changes made to the code must be documented
For more information, see the full license text.
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 noteflow-0.3.0.tar.gz.
File metadata
- Download URL: noteflow-0.3.0.tar.gz
- Upload date:
- Size: 717.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a54145f2b77eaee645bdff090e40226a31131ac9ae0aef4ada7fd6317dbf7743
|
|
| MD5 |
781d873fb28f5df3e96d6d92fcda5168
|
|
| BLAKE2b-256 |
b0a21ab8b7c7c8c7932bbeabe206c3ef5737085413fe79a709f936489c3d77b4
|
File details
Details for the file noteflow-0.3.0-py3-none-any.whl.
File metadata
- Download URL: noteflow-0.3.0-py3-none-any.whl
- Upload date:
- Size: 710.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6f41592f6d1155437578c9705232568e35da47279a42a172f58fae960b53e909
|
|
| MD5 |
4c503016ecc1f3f0359f3f82b729bfe8
|
|
| BLAKE2b-256 |
c74fc46956609f68612cf96ab2436f744efe84d5c967475b0b8e0da3f39465d7
|