Quick Start¶
Get up and running with NoteParser in just a few minutes!
1. Installation¶
First, install NoteParser:
For all features (recommended):
System Dependencies
For OCR and media processing, install system dependencies:
2. Your First Parse¶
Let's convert a document to Markdown:
# Parse a PDF to Markdown
noteparser parse lecture.pdf
# Parse with specific output format
noteparser parse notes.docx --format latex --output notes.tex
# Parse with metadata extraction
noteparser parse handout.pdf --metadata
3. Initialize Your Project¶
Set up NoteParser in your study directory:
# Navigate to your notes directory
cd /path/to/your/notes
# Initialize configuration
noteparser init
# This creates .noteparser-org.yml with default settings
4. Batch Processing¶
Process multiple documents at once:
# Process all files in a directory
noteparser batch documents/
# Process only PDFs recursively
noteparser batch semester-notes/ --pattern "*.pdf" --recursive
# Process to LaTeX format
noteparser batch input/ --format latex --output-dir latex-output/
5. Web Dashboard¶
Start the web interface for easy management:
Then open your browser to http://localhost:5000 to:
- Browse your documents
- Parse files through the web interface
- Search across all notes
- Manage plugins and settings
6. Organization Sync¶
Sync your parsed notes to a study repository:
# Sync specific files
noteparser sync output/*.md --target-repo study-notes --course CS101
# Sync all markdown files
noteparser sync *.md
Common Workflows¶
📖 Daily Student Workflow¶
# 1. Convert today's lecture slides
noteparser parse "CS101_Lecture_15.pdf"
# 2. Sync to your study repository
noteparser sync output/cs101-lecture-15.md --course CS101
# 3. View in web dashboard
noteparser web
🏫 Course Setup¶
# 1. Initialize in course directory
cd ~/courses/fall2024/cs101
noteparser init
# 2. Process all existing materials
noteparser batch course-materials/ --recursive
# 3. Generate course index
noteparser index --format json > course-index.json
👥 Study Group Collaboration¶
# 1. Process shared materials
noteparser parse "Group_Study_Notes.docx"
# 2. Commit to shared repository
git add output/group-study-notes.md
git commit -m "Add processed study notes"
git push
Python API Quick Start¶
Use NoteParser programmatically:
from noteparser import NoteParser
from noteparser.integration import OrganizationSync
# Initialize parser
parser = NoteParser()
# Parse a document
result = parser.parse_to_markdown("lecture.pdf")
print(result['content'])
print(result['metadata'])
# Batch processing
results = parser.parse_batch("notes/", output_format="markdown")
# Organization sync
org_sync = OrganizationSync()
sync_result = org_sync.sync_parsed_notes(
source_files=["note1.md", "note2.md"],
target_repo="study-notes",
course="CS101"
)
Configuration Basics¶
Create .noteparser-org.yml in your project root:
organization:
name: "my-study-notes"
base_path: "."
repositories:
study-notes:
type: "notes"
auto_sync: true
formats: ["markdown", "latex"]
plugins:
math_processor:
enabled: true
config:
equation_numbering: true
cs_processor:
enabled: true
config:
code_line_numbers: true
Plugin System¶
Enable course-specific processing:
# List available plugins
noteparser plugins
# Plugins are automatically applied based on:
# - File content
# - Course metadata
# - File extensions
Built-in plugins include:
- Math Processor: Enhanced equation handling
- CS Processor: Code block improvements
- Chemistry Processor: Chemical formula formatting
GitHub Actions Integration¶
Automate processing with GitHub Actions:
# .github/workflows/parse-notes.yml
name: Parse Notes
on:
push:
paths: ['input/**']
jobs:
parse:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.11'
- name: Install NoteParser
run: pip install noteparser[all]
- name: Parse documents
run: noteparser batch input/ --format markdown
- name: Sync to study repo
run: noteparser sync output/*.md --target-repo study-notes
Tips for Success¶
File Organization
Organize your files with clear naming:
Metadata Enhancement
Include course info in filenames: - CS101_Lecture_05_DataStructures.pdf - MATH201_Assignment_03_Calculus.docx
Regular Syncing
Set up automatic syncing to keep your notes organized across repositories.
What's Next?¶
Now that you're up and running:
- 📖 Learn the CLI - Master the command-line interface
- 📚 API Reference - Complete API documentation
- ⚙️ Advanced Configuration - Customize your workflow
Need Help?¶
- 📚 Troubleshooting Guide - Common solutions
- 🐛 Issues - Report problems