Skip to content

Importing Files

Melanite imports files by copying them into the library folder (the same approach as Eagle). After importing, moving or deleting the original file has no effect.

Ways to import

Drag & drop

Drop files anywhere on the window. Multiple files at once are fine. Release when the drop overlay appears.

Import a whole folder

You can drop folders too. The files inside are imported recursively, and the folder names along the way become tags.

For example, dropping a folder "Photos" that contains Photos/2024/Okinawa/sea.jpg gives sea.jpg three tags: "Photos", "2024" and "Okinawa".

  • Hidden files and folders (.DS_Store, .git, …) and shortcuts (symlinks) are skipped
  • Choose how tags are applied under Settings → "Import" tab → "When importing a folder"

    Choice Tags in the example above
    Tag with every folder level (default) Photos, 2024, Okinawa
    Tag with the innermost folder only Okinawa
    Do not add tags (none)
  • To pick a folder from a dialog, use "Import folder…" in the command palette (Cmd+Shift+P / Ctrl+Shift+P)

No folders are created inside the library

Melanite has no folder hierarchy. Turning folder names into tags is a one-way conversion at import time — the way in for everything you have organised in folders so far. Once imported, those items behave exactly like any other tagged item.

File dialog

Use the "Import…" button shown in the Inspector when nothing is selected.

Create a new note

Cmd+N / Ctrl+N asks for a name, creates the Markdown note, and puts you straight into the editor. → Writing Notes

Paste from the clipboard

With the list showing, press Cmd+V / Ctrl+V to import the clipboard contents.

Clipboard contents Result
An image Imported as Pasted <date-time>.png
A URL string Downloaded and imported (up to 100 MB)

The file name is taken from the end of the URL, or from the Content-Type if that fails.

Note

When a text field or the editor has focus, this acts as a normal paste.

What happens on import

Automatic tagging

Importing while filtering by tags applies those tags automatically. Drop a document while filtered to "Client A" and it comes in tagged "Client A".

The toast after importing

Right after importing, a toast appears: "Imported n items [Add tags]". Pressing "Add tags" opens a bulk-tagging dialog for the imported items.

Duplicate detection

If a file's content hash (BLAKE3) matches an existing item, the file is skipped automatically (not imported).

The toast reports it as "Imported n, skipped m (same content…)".

The check is by content: a file with a different name but identical content is skipped, while files with the same name but different content are both imported.

You can't deliberately keep two copies of identical content

There is no UI to choose between skipping and duplicating. One copy of any given content per library is the rule.

If duplicates already got in (for example when migrating from another library), the integrity check can find and clean them up → Libraries

Thumbnail generation

Thumbnails are generated in the background after importing. Right after a large import, they fill in progressively.

Regenerating thumbnails

Select the items, right-click → "Regenerate Thumbnails" (works on a multi-selection, and is also available from the command palette).

It rebuilds thumbnails that already exist and ones that previously failed to generate. Use it when:

  • You edited the underlying file in another app and it now looks different
  • Generation failed before (e.g. after replacing a password-protected PDF with an unlocked one)

Generation runs in the background as usual; progress and completion appear at the right of the toolbar. If your selection contains no kinds that support thumbnails (documents, other files), you get a notice saying so.

How this differs from the integrity check

The integrity check only generates thumbnails that are missing. Ones that failed before are not retried automatically — retrying them repeatedly would just burn time. The report tells you how many were skipped; use "Regenerate Thumbnails" when you want to retry them.

Image EXIF

When importing images, the following is read from EXIF:

  • GPS data → saved automatically as the item's location (Location & Map)
  • Orientation → thumbnails are rendered upright (the file itself is untouched)
  • Capture time (DateTimeOriginal) → optionally applied to the file dates (below)

Dates at import time

Each item has three dates.

Date Default source
Created The original file's creation time (btime)
Modified The original file's modification time (mtime)
Added When it was imported into Melanite

When an image has an EXIF capture time, you can choose whether to overwrite the created / modified dates with it in Settings → "Import" tab (both default to OFF).

Turned ON, photos line up on the calendar by the day they were taken, and modified-date ordering becomes shooting order. Useful when mtime is meaningless, such as with scanned photos.

Photos imported with the setting OFF can still be updated later — see "Applying the date taken afterwards" below.

Supported file kinds

Any extension can be imported. Behavior differs by kind.

Kind Example extensions What you get
Note .md In-app editing, full-text search of the body, text preview on the card
Text .txt etc. In-app editing (no preview), text on the card. Body not searchable
Image .png .jpg .gif .webp .svg .avif etc. Thumbnails, in-app preview at full size
Video .mp4 .mov .m4v .avi .mkv .webm Frame thumbnail on macOS, in-app playback
Audio .mp3 .m4a .wav .flac .aac .ogg .opus .aiff Embedded artwork as the thumbnail on macOS, in-app playback
PDF .pdf First-page thumbnail, the real PDF shown in-app (Space), opens in external app
Document .docx .xlsx .pptx etc. Icon display, opens in external app
Other anything Icon display, opens in external app

About video and audio playback

Playback in Quick Preview (Space) is limited to codecs the OS WebView supports. If a file won't play, open it in an external app (which is also the default action).

Audio has its own "Audio" kind in the sidebar. On macOS, files with embedded artwork use that artwork as their thumbnail, and it is shown in Quick Preview as well.

Watched folders (automatic import)

Files placed into folders you register under Settings → "Import" tab → "Add Folder…" are imported automatically. A watched folder works as an inbox: drop a file in and it is imported within a few seconds, then deleted from the folder.

  • Everything in the folder is a candidate — Melanite keeps no record of what it already imported
  • Subfolders are imported too. Their names become tags under the same rule as drag & drop, and subfolders left empty are cleaned up (the watched folder's own name never becomes a tag)
  • Each folder can carry tags to apply, comma separated (e.g. screenshots, work)
  • A file being copied in is imported only after the writing stops (never a half-written file)
  • Hidden files (.DS_Store etc.) and partial downloads are ignored
  • Files that could not be imported stay in the folder (for example when the same content is already in the library). A toast reports how many, so you can check them and clean up by hand
  • If a watched folder cannot be opened (an external drive is not connected, the folder was deleted), Melanite only reports "Can't open the watched folder" and does nothing else — the other watched folders keep importing. Importing resumes on its own once the folder is back

The originals do not stay

Successfully imported files are removed from the watched folder (the data itself lives in the library). If you want to keep the originals where they are, import by drag & drop instead of using a watched folder.

This setting is per computer

Watched folders are stored in that computer's app settings, not inside the library, because folder paths differ from machine to machine. Even if you use one library from several computers through cloud sync, the setting is not shared: automatic import does nothing on a computer where you have not registered a folder. Register one on each computer where you want it.

Also, avoid watching the same cloud-synced folder (Dropbox and the like) from more than one computer. Whichever computer imports first deletes the file, and that deletion propagates to the others, which makes the behaviour hard to follow. Point watched folders at local folders on that machine — your screenshot folder, for instance.

Good uses

Register your screenshot folder or the browser's download folder: things land in the library just by being saved, and the folder stays tidy.

After importing

Rename

Edit the file name in the Inspector. The actual file is renamed too (the extension cannot be changed).

Press F2 to move focus to the file name field with the name selected, so you can type over it and press Enter to commit (→ Keyboard Shortcuts).

Bulk rename

Select several items and right-click → "Rename N Items…", or press F2 (with several items selected it opens bulk rename).

Field What it does
Find / Replace with Replaces text inside the display name (e.g. IMG_ → empty)
Prefix / Suffix Adds text before or after the name
Sequential numbers Numbers the items in list order (start, digits, position)

A preview shows exactly what will change before you apply it. The actual files are renamed too (extensions stay). Cmd+Z / Ctrl+Z undoes it.

Delete (two stages)

  1. Del or Cmd+Backspace moves the item to the Trash (the Sidebar's "Trash")
  2. Open the Trash and "Delete Forever" removes it along with the actual file

Links are kept while an item is in the Trash. Deleting forever removes its links too.

Open in an external app

  • Enter — notes open in the editor; everything else opens in an external app
  • The "Open in External App" button in the Inspector
  • Pick an app from the right-click menu

Per-extension defaults (built-in editor / OS default / a specific app) are configured in Settings → "Opening Files" tab.

Multiple items can be opened at once. The right-click menu offers "Open N Items" (each with its own default) and "Open N Items With…" (all of them in one app you pick).

  • One app window is launched per file, so opening more than 10 asks for confirmation
  • Files set to open in the built-in editor: only the first one opens, since the editor shows one note at a time (a notice tells you how many were left out)

Reveal in Finder / File Explorer

The "Reveal" button in the Inspector, or the right-click menu, opens the actual file's location.

Applying the date taken afterwards

Even for photos imported while the setting was OFF, you can apply the EXIF capture time to the item's dates later.

  1. Select the images (multi-select applies to all of them at once)
  2. Right-click → "Set Created Date from EXIF" or "Set Modified Date from EXIF"

  3. Only images are affected. The entries don't appear unless the selection contains images

  4. Images without a capture time (DateTimeOriginal) are skipped, and the count is reported in the toast
  5. Applying to the modified date also sets the actual file's modification time to match (same as at import time — otherwise the next scan would revert it)
  6. Cmd+Z / Ctrl+Z restores the previous dates

Created or modified?

Both the calendar view and the sort order can use either date, so pick whichever one you normally browse by. To fill in both, run the menu twice.

Share (macOS only)

Right-click → "Share…" opens the macOS share sheet at the cursor. It lists the usual destinations — attach to a new mail message, send in Messages, hand over via AirDrop, pass to a Shortcut (the list itself is managed in System Settings → Sharing extensions).

  • Multi-select shares all of them at once
  • What gets handed over is the actual file, not a link, so it arrives as a real attachment
  • Everything after picking a destination happens in macOS; nothing is recorded in Melanite

Not available on Windows

Windows' share UI targets Store apps and is of little use for attaching a file to a desktop mail client. On Windows, export the file first and attach it from there.

Export

The right-click menu lets you copy files out of the library.

Menu Result
Export… Copies the files as-is into a folder you pick
Export as ZIP… Packs the selected items into a single ZIP archive

"Export as ZIP…" asks for a file name and location (the default is melanite-export <date>.zip). Handy when you need to attach several files to one mail, or hand a batch of files to someone.

  • If two files share a name inside the archive, the later one becomes "name (2).ext"
  • Tags, memos and links are not included — only the files themselves. To move items with their metadata, use "Move to Another Library" instead
  • Formats that are already compressed (photos, video, Office files) are stored without compression, because squeezing them again costs time and saves nothing. A ZIP that is about the same size as the originals is expected

Move to another library

If you keep several libraries and something ended up in the wrong one, you can move items across with their metadata.

  1. Select the items to move (multiple selection works)
  2. Right-click → "Move to Another Library…" (also available from the command palette)
  3. Pick the destination .melanite folder and confirm

What moves along with them:

  • Tags (matched by name; a tag that doesn't exist in the destination is created, and its group and colour come along too)
  • Memos, locations, favorites, created / modified dates, thumbnails

Things to watch for:

  • Links pointing at items that stay behind are lost. Select the linked items together if you want to keep those links
  • Items whose content is already in the destination are not moved (you are told how many)
  • Items in the trash cannot be moved

Reversible if you get it wrong

The originals are not deleted permanently — they go to this library's trash. If it was a mistake, restore them here and delete the copies in the destination.

Close the destination library first

If the destination is open in another window or on another machine, the move fails — that is the same safeguard that keeps two processes from touching one library at once.