No description
Find a file
2025-01-29 02:32:29 +05:30
src update readme 2025-01-29 02:32:29 +05:30
.editorconfig initial commits 2025-01-27 18:50:05 +05:30
.eslintignore Initial commit 2025-01-27 18:35:36 +05:30
.eslintrc Initial commit 2025-01-27 18:35:36 +05:30
.gitignore initial commits 2025-01-27 18:50:05 +05:30
.npmrc Initial commit 2025-01-27 18:35:36 +05:30
CONTRIBUTING.md added contributing license and updated readme 2025-01-28 22:10:35 +05:30
demo.mp4 update readme 2025-01-29 02:32:29 +05:30
esbuild.config.mjs updated and fix 2025-01-27 21:24:15 +05:30
LICENSE added contributing license and updated readme 2025-01-28 22:10:35 +05:30
manifest.json update names from field note to Inkporter 2025-01-28 23:14:11 +05:30
milestones.md update milestones.md 2025-01-28 23:44:22 +05:30
package-lock.json update package-lock.json 2025-01-28 23:52:06 +05:30
package.json remove uncessaries devdependencies 2025-01-28 23:50:24 +05:30
README.md update readme 2025-01-29 02:32:29 +05:30
styles.css updated alphaThreshold 2025-01-28 23:24:29 +05:30
tsconfig.json update fixes 2025-01-28 21:39:12 +05:30
version-bump.mjs Initial commit 2025-01-27 18:35:36 +05:30
versions.json Initial commit 2025-01-27 18:35:36 +05:30

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 Process Inkporter Automation
20min/page in Photoshop Instant clipboard processing
Manual CSS theming Auto-adaptive ink colors
Static file naming Smart filename templates
No OCR integration Optional text extraction

🚀 Installation

Via Obsidian

  1. SettingsCommunity pluginsBrowse
  2. Search "Inkporter" → Install

Manual

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

🔧 Key Features

✂️ Intelligent Ink Isolation

Alpha Threshold Demo

  • 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)
  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: 200,              // 0-255 darkness cutoff
  fileNameTemplate: "note-{date}-{shortId}",
  convertToGrayscale: false,        // B/W conversion
  useLuminosityForAlpha: true       // Perceptual vs simple
}

🌐 Compatibility

Environment Support
Obsidian v1.4+
OS Win/Mac/Linux
Mobile iOS/Android*
Scanners Any clipboard

*Mobile requires clipboard permission.


🚧 Work-in-Progress Notice 📝

⚠️ Heads Up! This plugin is currently in beta development.
While fully functional, you might encounter:

  • Occasional edge cases with low-contrast scans
  • Limited support for colored inks (best with black/dark pens)
  • Slight variations in ink detection accuracy

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