Add obsidian context

This commit is contained in:
Idrees Hassan
2025-11-03 21:51:56 -05:00
parent e50c2c8a1f
commit 2826077d7a
10 changed files with 189 additions and 14 deletions

View File

@@ -2,7 +2,7 @@
"manifest_version": 3,
"name": "Pocket Bird",
"description": "It's a pet bird in your browser, what more could you want?",
"version": "2025.11.3.34",
"version": "2025.11.3.37",
"homepage_url": "https://idreesinc.com",
"icons": {
"48": "images/icons/transparent/48x48x1.png",

39
dist/birb.js vendored
View File

@@ -1012,8 +1012,43 @@
}
}
class ObsidianContext extends Context {
/**
* @override
* @returns {boolean}
*/
isContextActive() {
// @ts-expect-error
return typeof app !== "undefined" && typeof app.vault !== "undefined";
}
/**
* @override
* @returns {Promise<BirbSaveData|{}>}
*/
async getSaveData() {
log("Loading save data from Obsidian plugin storage unimplemented");
return {};
}
/**
* @override
* @param {BirbSaveData} saveData
*/
async putSaveData(saveData) {
log("Saving data to Obsidian plugin storage unimplemented");
}
/** @override */
resetSaveData() {
log("Resetting save data in Obsidian plugin storage unimplemented");
}
}
const CONTEXTS = [
new UserScriptContext(),
new ObsidianContext(),
new BrowserExtensionContext(),
new LocalContext()
];
@@ -1025,7 +1060,7 @@
}
}
error("No applicable context found, defaulting to LocalContext");
return CONTEXTS[0];
return new LocalContext();
}
/**
@@ -1867,7 +1902,7 @@
insertModal(`${birdBirb()} Mode`, message);
}),
new Separator(),
new MenuItem("2025.11.3.34", () => { alert("Thank you for using Pocket Bird! You are on version: 2025.11.3.34"); }, false),
new MenuItem("2025.11.3.37", () => { alert("Thank you for using Pocket Bird! You are on version: 2025.11.3.37"); }, false),
];
const styleElement = document.createElement("style");

BIN
dist/extension.zip vendored

Binary file not shown.

View File

@@ -1012,8 +1012,43 @@
}
}
class ObsidianContext extends Context {
/**
* @override
* @returns {boolean}
*/
isContextActive() {
// @ts-expect-error
return typeof app !== "undefined" && typeof app.vault !== "undefined";
}
/**
* @override
* @returns {Promise<BirbSaveData|{}>}
*/
async getSaveData() {
log("Loading save data from Obsidian plugin storage unimplemented");
return {};
}
/**
* @override
* @param {BirbSaveData} saveData
*/
async putSaveData(saveData) {
log("Saving data to Obsidian plugin storage unimplemented");
}
/** @override */
resetSaveData() {
log("Resetting save data in Obsidian plugin storage unimplemented");
}
}
const CONTEXTS = [
new UserScriptContext(),
new ObsidianContext(),
new BrowserExtensionContext(),
new LocalContext()
];
@@ -1025,7 +1060,7 @@
}
}
error("No applicable context found, defaulting to LocalContext");
return CONTEXTS[0];
return new LocalContext();
}
/**
@@ -1867,7 +1902,7 @@
insertModal(`${birdBirb()} Mode`, message);
}),
new Separator(),
new MenuItem("2025.11.3.34", () => { alert("Thank you for using Pocket Bird! You are on version: 2025.11.3.34"); }, false),
new MenuItem("2025.11.3.37", () => { alert("Thank you for using Pocket Bird! You are on version: 2025.11.3.37"); }, false),
];
const styleElement = document.createElement("style");

View File

@@ -2,7 +2,7 @@
"manifest_version": 3,
"name": "Pocket Bird",
"description": "It's a pet bird in your browser, what more could you want?",
"version": "2025.11.3.34",
"version": "2025.11.3.37",
"homepage_url": "https://idreesinc.com",
"icons": {
"48": "images/icons/transparent/48x48x1.png",

39
dist/obsidian/main.js vendored
View File

@@ -1012,8 +1012,43 @@
}
}
class ObsidianContext extends Context {
/**
* @override
* @returns {boolean}
*/
isContextActive() {
// @ts-expect-error
return typeof app !== "undefined" && typeof app.vault !== "undefined";
}
/**
* @override
* @returns {Promise<BirbSaveData|{}>}
*/
async getSaveData() {
log("Loading save data from Obsidian plugin storage unimplemented");
return {};
}
/**
* @override
* @param {BirbSaveData} saveData
*/
async putSaveData(saveData) {
log("Saving data to Obsidian plugin storage unimplemented");
}
/** @override */
resetSaveData() {
log("Resetting save data in Obsidian plugin storage unimplemented");
}
}
const CONTEXTS = [
new UserScriptContext(),
new ObsidianContext(),
new BrowserExtensionContext(),
new LocalContext()
];
@@ -1025,7 +1060,7 @@
}
}
error("No applicable context found, defaulting to LocalContext");
return CONTEXTS[0];
return new LocalContext();
}
/**
@@ -1867,7 +1902,7 @@
insertModal(`${birdBirb()} Mode`, message);
}),
new Separator(),
new MenuItem("2025.11.3.34", () => { alert("Thank you for using Pocket Bird! You are on version: 2025.11.3.34"); }, false),
new MenuItem("2025.11.3.37", () => { alert("Thank you for using Pocket Bird! You are on version: 2025.11.3.37"); }, false),
];
const styleElement = document.createElement("style");

View File

@@ -1,7 +1,7 @@
{
"id": "pocket-bird",
"name": "Pocket Bird",
"version": "2025.11.3.34",
"version": "2025.11.3.37",
"minAppVersion": "0.15.0",
"description": "It's a pet bird in your Obsidian, what more could you want?",
"author": "Idrees Hassan",

View File

@@ -1,7 +1,7 @@
// ==UserScript==
// @name Pocket Bird
// @namespace https://idreesinc.com
// @version 2025.11.3.34
// @version 2025.11.3.37
// @description It's a bird that hops around your web browser, the future is here
// @author Idrees
// @downloadURL https://github.com/IdreesInc/Pocket-Bird/raw/refs/heads/main/dist/userscript/birb.user.js
@@ -1026,8 +1026,43 @@
}
}
class ObsidianContext extends Context {
/**
* @override
* @returns {boolean}
*/
isContextActive() {
// @ts-expect-error
return typeof app !== "undefined" && typeof app.vault !== "undefined";
}
/**
* @override
* @returns {Promise<BirbSaveData|{}>}
*/
async getSaveData() {
log("Loading save data from Obsidian plugin storage unimplemented");
return {};
}
/**
* @override
* @param {BirbSaveData} saveData
*/
async putSaveData(saveData) {
log("Saving data to Obsidian plugin storage unimplemented");
}
/** @override */
resetSaveData() {
log("Resetting save data in Obsidian plugin storage unimplemented");
}
}
const CONTEXTS = [
new UserScriptContext(),
new ObsidianContext(),
new BrowserExtensionContext(),
new LocalContext()
];
@@ -1039,7 +1074,7 @@
}
}
error("No applicable context found, defaulting to LocalContext");
return CONTEXTS[0];
return new LocalContext();
}
/**
@@ -1881,7 +1916,7 @@
insertModal(`${birdBirb()} Mode`, message);
}),
new Separator(),
new MenuItem("2025.11.3.34", () => { alert("Thank you for using Pocket Bird! You are on version: 2025.11.3.34"); }, false),
new MenuItem("2025.11.3.37", () => { alert("Thank you for using Pocket Bird! You are on version: 2025.11.3.37"); }, false),
];
const styleElement = document.createElement("style");

View File

@@ -1,7 +1,7 @@
{
"id": "pocket-bird",
"name": "Pocket Bird",
"version": "2025.11.3.34",
"version": "2025.11.3.37",
"minAppVersion": "0.15.0",
"description": "It's a pet bird in your Obsidian, what more could you want?",
"author": "Idrees Hassan",

View File

@@ -174,8 +174,43 @@ class BrowserExtensionContext extends Context {
}
}
class ObsidianContext extends Context {
/**
* @override
* @returns {boolean}
*/
isContextActive() {
// @ts-expect-error
return typeof app !== "undefined" && typeof app.vault !== "undefined";
}
/**
* @override
* @returns {Promise<BirbSaveData|{}>}
*/
async getSaveData() {
log("Loading save data from Obsidian plugin storage unimplemented");
return {};
}
/**
* @override
* @param {BirbSaveData} saveData
*/
async putSaveData(saveData) {
log("Saving data to Obsidian plugin storage unimplemented");
}
/** @override */
resetSaveData() {
log("Resetting save data in Obsidian plugin storage unimplemented");
}
}
const CONTEXTS = [
new UserScriptContext(),
new ObsidianContext(),
new BrowserExtensionContext(),
new LocalContext()
];
@@ -187,5 +222,5 @@ export function getContext() {
}
}
error("No applicable context found, defaulting to LocalContext");
return CONTEXTS[0];
return new LocalContext();
}