Access Bear Notes in Laravel

Access Bear Notes in Laravel

Bear-Sync is a package by Caleb Porzio that provides an Eloquent model that can access local Bear Notes data without any configuration at all.

The BearNote model accesses Bear Notes’ SQLite database via Laravel’s database driver:

// Search all your Bear notes.
$notes = BearSync\BearNote::searchByTitle('Some Note Title');

// Find a specific note.
$note = BearSync\BearNote::whereTitle('Some Note Title')->first();

// Access the note's contents.
$note->id; // Bear's note id.
$note->title;
$note->content;
$note->checksum; // A checksum of the note's content, so you can detect updates.

// Fetch it's content and replace/store images.
$note->getContentAndStoreImages(function ($originalPath, $newFileName) {
    $publicFileName = "/images/{$newFileName}";

    // Copy the image and store it locally (presumably in a public directory).
    \File::copy($originalPath, public_path($publicFileName));

    // Return the file path to be referenced in the Bear note's markdown.
    // ![]($publicFileName)
    return $publicFileName;
});

You can learn more about this package, get full installation instructions, and view the source code on GitHub at calebporzio/bear-sync.

Filed in: News