Access Bear Notes in Laravel

News

January 7th, 2020

bear-sync-featured.png

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.

It's here! – Bear-Sync

A tiny package to access your @BearNotesApp notes from Laravel.

It's zero-config: install it; get access to a plain Eloquent model with all your notes.

Enjoy! https://t.co/dDs2ypQxqM pic.twitter.com/RQDM42YD4q

— Caleb Porzio (@calebporzio) January 6, 2020

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.
    // ![](https://laravelnews.s3.amazonaws.com/images/$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:

Paul Redmond

Full stack web developer. Author of Lumen Programming Guide and Docker for PHP Developers.