ObsidianCustomFrames/src/settings.ts

165 lines
4.6 KiB
TypeScript
Raw Permalink Normal View History

2022-03-29 13:18:25 +02:00
export const defaultSettings: CustomFramesSettings = {
frames: [],
padding: 5
};
2022-04-13 21:21:48 +02:00
export const presets: Record<string, CustomFrameSettings> = {
2022-03-29 13:18:25 +02:00
"obsidian": {
url: "https://forum.obsidian.md/",
displayName: "Obsidian Forum",
icon: "edit",
hideOnMobile: true,
2022-04-15 13:22:09 +02:00
addRibbonIcon: true,
openInCenter: true,
zoomLevel: 1,
forceIframe: false,
customCss: "",
customJs: ""
},
"detexify": {
url: "https://detexify.kirelabs.org/classify.html",
displayName: "Detexify",
icon: "type",
hideOnMobile: true,
addRibbonIcon: true,
openInCenter: false,
zoomLevel: .95,
forceIframe: false,
customCss: `/* hide info clutter and ad banner */
#classify--info-area,
2022-08-21 17:52:04 +02:00
.adsbygoogle {
display: none !important
}`,
customJs: ""
},
2022-04-02 14:50:55 +02:00
"calendar": {
url: "https://calendar.google.com/calendar",
displayName: "Google Calendar",
icon: "calendar",
hideOnMobile: true,
2022-04-15 13:22:09 +02:00
addRibbonIcon: true,
openInCenter: true,
zoomLevel: 1,
forceIframe: false,
2023-05-10 18:56:00 +02:00
customCss: `/* hide the menu bar "Calendar" text and remove minimum width */
div[style*="min-width: 238px"] {
min-width: 0 !important;
padding-right: 0 !important;
2023-05-10 18:56:00 +02:00
}
div[style*="min-width: 238px"] span[role*="heading"] {
display: none !important;
}`,
customJs: ""
2022-03-29 13:18:25 +02:00
},
"keep": {
url: "https://keep.google.com",
displayName: "Google Keep",
icon: "files",
hideOnMobile: true,
2022-04-15 13:22:09 +02:00
addRibbonIcon: false,
openInCenter: false,
zoomLevel: 1,
forceIframe: false,
customCss: `/* hide the menu bar, the "Keep" text and the Google Apps button */
2022-08-21 17:37:20 +02:00
html > body > div:nth-child(2) > div:nth-child(2) > div:first-child,
html > body > div:first-child > header:first-child > div > div:first-child > div > div:first-child > a:first-child > span,
html > body > div:first-child > header:first-child > div:nth-child(2) > div:first-child > div:first-child,
html > body > div:first-child > header:first-child > div:nth-child(2) > div:nth-child(3) > div:first-child > div:first-child > div:first-child {
2022-08-21 17:37:20 +02:00
display: none !important;
}
html > body > div:first-child > header:first-child > div > div:first-child > div > div:first-child > a:first-child {
cursor: default;
}`,
customJs: ""
2022-03-29 13:18:25 +02:00
},
2022-04-02 15:19:27 +02:00
"todoist": {
url: "https://todoist.com",
displayName: "Todoist",
icon: "list-checks",
hideOnMobile: true,
2022-04-15 13:22:09 +02:00
addRibbonIcon: false,
openInCenter: false,
2022-04-02 15:19:27 +02:00
zoomLevel: 1,
forceIframe: false,
2022-04-02 15:19:27 +02:00
customCss: `/* hide the help, home, search, and productivity overview buttons, create extra space, and prevent toast pop-up from acting weird */
[aria-label="Go to Home view"], #quick_find, [aria-label="Productivity"], [aria-label="Help & Feedback"] {
display: none !important;
}
.view_content {
padding-left: 15px;
}
.view_header {
padding-left: 15px;
padding-top: 10px;
}
.undo_toast {
width: 95%;
}`,
customJs: ""
2022-04-02 15:19:27 +02:00
},
2022-03-29 13:18:25 +02:00
"notion": {
url: "https://www.notion.so/",
displayName: "Notion",
icon: "box",
hideOnMobile: true,
2022-04-15 13:22:09 +02:00
addRibbonIcon: true,
openInCenter: true,
zoomLevel: 1,
forceIframe: false,
customCss: "",
customJs: ""
2022-03-29 14:07:25 +02:00
},
"twitter": {
url: "https://twitter.com",
displayName: "Twitter",
icon: "twitter",
hideOnMobile: true,
2022-04-15 13:22:09 +02:00
addRibbonIcon: false,
openInCenter: false,
zoomLevel: 1,
forceIframe: false,
customCss: "",
customJs: ""
2023-01-30 12:12:14 +01:00
},
2023-01-30 12:12:56 +01:00
"tasks": {
url: "https://tasks.google.com/embed/?origin=https://calendar.google.com&fullWidth=1",
displayName: "Google Tasks",
icon: "list-checks",
2023-01-30 12:12:14 +01:00
hideOnMobile: true,
addRibbonIcon: false,
openInCenter: false,
zoomLevel: 1,
forceIframe: false,
customCss: "",
customJs: ""
2023-01-30 12:12:56 +01:00
}
2022-03-29 13:18:25 +02:00
};
export interface CustomFramesSettings {
2022-04-13 21:21:48 +02:00
frames: CustomFrameSettings[];
2022-03-29 13:18:25 +02:00
padding: number;
}
2022-04-13 21:21:48 +02:00
export interface CustomFrameSettings {
2022-03-29 13:18:25 +02:00
url: string;
displayName: string;
icon: string;
hideOnMobile: boolean;
2022-04-15 13:22:09 +02:00
addRibbonIcon: boolean;
openInCenter: boolean;
zoomLevel: number;
forceIframe: boolean;
2022-03-29 13:18:25 +02:00
customCss: string;
customJs: string;
}
2022-04-15 13:22:09 +02:00
export function getIcon(settings: CustomFrameSettings) {
return settings.icon ? `lucide-${settings.icon}` : "documents";
2022-08-21 17:37:20 +02:00
}
export function getId(settings: CustomFrameSettings) {
return settings.displayName.toLowerCase().replace(/\s/g, "-");
}