Inkporter

approved

by Ayush Kumar Saroj

digitize handwritten notes with intelligent ink isolation, adaptive theming, and automated workflows.

ā˜… 31 stars↓ 1,227 downloadsUpdated 1y agoMIT
View on GitHub

Inkporter šŸ“āž”ļøšŸ““

Seamlessly digitize handwritten notes into Obsidian with smart ink isolation and adaptive theming


Why Inkporter?

Tired of manually processing notebook scans? This plugin automates the workflow from this while adding powerful Obsidian integration: Please Watch this video to understand the motivation behind the plugin. Go Sub this Guy his works really somethink to see

BEST of BOTH Worlds? Digitizing Field Notes inside Obsidian [Showcase]

Manual ProcessInkporter Automation
20min/page in PhotoshopInstant clipboard processing
Manual CSS themingAuto-adaptive ink colors
Static file namingSmart filename templates

šŸš€ Installation

Via Obsidian

  1. Settings → Community plugins → Browse
  2. Search "Inkporter" → Install

Manual

  1. Download the latest release.
  2. Copy to vault/.obsidian/plugins.

šŸ”§ Key Features

āœ‚ļø Intelligent Ink Isolation

  • Real-time preview of processed images
  • Dual threshold modes:
    • Luminosity mode (perceptual brightness)
    • Simple RGB average
  • Grayscale conversion option

🌈 Dynamic Theming

/* Apply to note CSS classes */
.inkporter-scan { /* class already exists just use it in cssclasses */
  --ink-color: var(--text-normal);
  --paper-color: var(--background-primary);
  filter: contrast(120%);
}

šŸ“‚ Smart Asset Management

# File naming templates
filename_template: "note-{date}-{shortId}"
# Supported variables:
# - {date}: YYYYMMDD
# - {timestamp}: epoch ms
# - {shortId}: 8char hash
# - {uuid}: v4 UUID

šŸ“Ž Usage Workflow

  1. Scan → Import via clipboard (`Ctrl/Cmd+Shift+V) // Need to manually Keybind this.
  2. Preview → Adjust settings in real-time
  3. Insert → Automatically saved to vault
  4. Style → Apply CSS classes for theming

Workflow Demo


āš™ļø Configuration

// Settings structure
{
  outputDirectory: "InkporterScans", // Save location
  alphaThreshold: 180,              // 0-255 darkness cutoff
  fileNameTemplate: "note-{date}-{shortId}",
  convertToGrayscale: false,        // B/W conversion
  useLuminosityForAlpha: true       // Perceptual vs simple
}

🌐 Compatibility

EnvironmentSupport
Obsidianv1.4+
OSWin/Mac/Linux
MobileiOS/Android*
ScannersAny clipboard

Optimal Results When:

  • šŸ“œ Using light-colored paper (white/cream)
  • āœļø Writing with high-contrast ink (black/dark blue)
  • šŸ’” Scanning in bright, even lighting

Why? The alpha threshold detection works best with clear light/dark separation. We're working on:

  • Dark background support šŸŽØ
  • Multi-ink color detection šŸ”
  • Adaptive lighting compensation šŸ’”

Follow development progress →


šŸ¤ Contributing

Help improve:

  • Mobile scanning UX
  • Multi-ink detection
  • Batch processing

See our contribution guidelines.


šŸ“œ License

MIT License - See LICENSE.


šŸ’” Why This Name?

Inkporter combines:

  • Ink (handwritten notes)
  • Port (transfer/carry)
  • -er (active tool suffix)

Represents "carrying ink into digital" while sounding like a professional tool.


šŸ›£ļø Support

Found a bug? Have feature ideas?
šŸ“§ My Email
šŸ” GitHub Issues
šŸ’¬ Discord ID


From the Developer
"This plugin was born from 47 hours spent cleaning up scans of my Moleskine notebooks. What started as a simple threshold script became an obsession with perfectly bridging analog and digital note-taking. May your handwritten wisdom live forever in both paper and pixels!" - Ayush

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.