π Memo Feature Guide
A beautiful memo management system for your Jekyll website with support for images and files.
β¨ Features
- β Add memos with title, content, category, and priority
- πΌοΈ Upload and attach images
- π Attach files with size display
- π·οΈ Categorize memos (General, Todo, Idea, Note)
- β Set priorities (Normal, Important, Urgent)
- π Search and filter memos
- β Mark memos as completed
- ποΈ Delete unwanted memos
- πΎ Auto-save to browser localStorage
- π± Responsive design
π¨ Design
- Color Scheme: Light purple gradient (
#e0c3fcto#d4a5f9) - Modern UI: Card-based layout with smooth animations
- Mobile-Friendly: Adapts to different screen sizes
π Usage
On Website
- Visit
/memospage - Fill in the form:
- Title: Optional memo title
- Content: Main content (supports multiple lines)
- Category: Choose from 4 categories
- Priority: Set importance level
- Attachments: Add images or files
- Click βAdd Memoβ
- Your memo will appear instantly below
Command Line (for permanent storage)
# Interactive mode
./add_memo.sh
# Direct mode
ruby add_memo.rb "content" "title" "category" "priority"
Example:
ruby add_memo.rb "Fix database bug" "Bug Fix" "todo" "urgent"
Then commit to Git:
git add _data/memos.yml
git commit -m "Add new memo"
git push
ποΈ Files Structure
βββ memos.md # Memo page
βββ _layouts/
β βββ memo.html # Memo layout template
βββ _data/
β βββ memos.yml # Memo data storage
βββ add_memo.sh # Shell script for adding memos
βββ add_memo.rb # Ruby script for memo management
π Data Storage
- Client-side: Browser localStorage (instant, temporary)
- Server-side:
_data/memos.ymlfile (permanent, synced via Git)
π― Categories
- π General: General notes
- β Todo: Tasks to complete
- π‘ Idea: Creative ideas
- π Note: Important notes
β Priorities
- π Normal: Regular priority
- β Important: High priority
- π₯ Urgent: Critical priority
π§ Customization
Edit _layouts/memo.html to customize:
- Colors in CSS
:rootvariables - Form fields and categories
- Display layout
- Attachment handling
π‘ Tips
- Images: Stored as base64 in localStorage
- Files: Limited by browser localStorage size (~5-10MB)
- Search: Searches in both title and content
- Filters: Click category buttons to filter
- Completion: Click β to mark as complete
π Local Development
# Start Jekyll server
bundle exec jekyll serve
# Visit memos page
open http://localhost:4000/memos
Enjoy taking memos! πβ¨