Skip to content

Files

In Eidos, dynamic data (such as tables and documents) is stored in a SQLite database, while static assets (such as images, audio, videos, etc.) are handled via three different mechanisms. This article explains these three file management approaches.

  • Directorymy-project/
    • Directory.eidos/
      • db.sqlite3 ← dynamic data storage
      • Directoryfiles/ ← internal files accessible at the /files/ path
        • screenshot.png
        • document.pdf
    • readme.md ← project file accessible at /~/readme.md

By default, when you load local files into Eidos or paste screenshots, Eidos copies those static assets from the clipboard or original disk location into the .eidos/files/ directory. These files are then managed centrally by Eidos.

You can access these files through the image/file picker components. Eidos already supports basic file storage and management, and future versions will add enhancements such as OCR text extraction and semantic search. All files are stored under .eidos/files/ for easier management and synchronization.

  • Directory/Users/eidos/Music/ ← mounted as /@/audio/
    • song.mp3
  • Directory/Users/eidos/Documents/Books/ ← mounted as /@/books/
    • programming-guide.pdf
    • design-principles.pdf
    • api-reference.pdf

Data inside the .eidos directory is typically synchronized. Large files may not be suitable to place there, yet you may still want to reference them in Eidos. In such cases, use mounted folders.

Mount a directory with the following command:

Terminal window
eidos mount <mount-name> <actual-directory-path>

After mounting, you can reference files from that external directory in Eidos. The file picker will show mounted folders so you can select files to reference. You can also construct paths directly to display them as a file field in tables:

/@/<mount-name>/filename

For example, to mount a local music folder:

Terminal window
eidos mount audio /Users/eidos/Music
# Then access /Users/eidos/Music/song.mp3 via /@/audio/song.mp3

Or to mount a books folder:

Terminal window
eidos mount books /Users/eidos/Documents/Books
# Then access book files via /@/books/programming-guide.pdf

Besides the command line, you can add mounted folders directly in Space settings: in the “Mounts” tab, click “Add Mount”, choose a local directory, provide a name, and save. This lets you complete the mount via the UI without using commands.

  • Directorymy-code-project/
    • Directory.eidos/
      • db.sqlite3
      • Directoryfiles/
    • Directorysrc/
      • main.js ← /~/src/main.js
      • utils.js
    • .gitignore ← /~/.gitignore
    • Directorydocs/
      • api.md ← /~/docs/api.md
    • readme.md ← /~/readme.md

The project folder is a special concept. Each space creates a .eidos directory within a specific location; the folder containing that directory is called the project folder. This could be a code project, a design project, or any other working directory.

You do not need a mount to access the project folder. Eidos provides a simplified path syntax:

/~/readme.md points to the readme.md file under the project folder.

For example, in a code project you can reference project files like this:

/~/src/main.js
/~/.gitignore
/~/docs/api.md

This syntax provides a convenient mechanism to reference external files from the project folder in your notes. It is often used to reference multimedia assets such as images, audio, videos, and more.