vault backup: 2022-09-03 15:31:06

Affected files:
.obsidian/plugins/dataview/main.js
.obsidian/plugins/obsidian-columns/styles.css
.obsidian/plugins/obsidian-rollover-daily-todos/main.js
.obsidian/plugins/obsidian-rollover-daily-todos/manifest.json
.obsidian/plugins/obsidian-tasks-plugin/styles.css
.obsidian/plugins/oz-image-plugin/manifest.json
.obsidian/plugins/oz-image-plugin/styles.css
.obsidian/plugins/table-editor-obsidian/main.js
.obsidian/workspace
This commit is contained in:
Awin Huang
2022-09-03 15:31:06 +08:00
parent e5ad589e4d
commit 347e1b3ad4
9 changed files with 574 additions and 574 deletions

View File

@@ -2,29 +2,29 @@
var obsidian = require('obsidian');
/*! *****************************************************************************
Copyright (c) Microsoft Corporation.
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */
function __awaiter(thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
/*! *****************************************************************************
Copyright (c) Microsoft Corporation.
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */
function __awaiter(thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
}
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};

View File

@@ -1,11 +1,11 @@
.columnParent {
display: flex;
padding: 15px 20px;
flex-wrap: wrap;
gap: 20px;
}
.columnChild {
flex-grow: 1;
flex-basis: 0px;
.columnParent {
display: flex;
padding: 15px 20px;
flex-wrap: wrap;
gap: 20px;
}
.columnChild {
flex-grow: 1;
flex-basis: 0px;
}

View File

@@ -2,127 +2,127 @@
var obsidian = require('obsidian');
const MAX_TIME_SINCE_CREATION = 5000; // 5 seconds
class RolloverTodosPlugin extends obsidian.Plugin {
checkDailyNotesEnabled() {
return this.app.vault.config.pluginEnabledStatus['daily-notes'];
}
getDailyNotesDirectory() {
if (this.dailyNotesDirectory != null) {
return this.dailyNotesDirectory;
}
this.dailyNotesDirectory = this.app.internalPlugins.plugins['daily-notes'].instance.options.folder;
return this.dailyNotesDirectory;
}
getLastDailyNote() {
const dailyNotesDirectory = this.getDailyNotesDirectory();
const files = this.app.vault.getAllLoadedFiles()
.filter(file => file.path.startsWith(dailyNotesDirectory))
.filter(file => file.basename != null)
.sort((a, b) => new Date(b.basename).getTime() - new Date(a.basename).getTime());
return files[1];
}
async getAllUnfinishedTodos(file) {
const contents = await this.app.vault.read(file);
const unfinishedTodosRegex = /\t*- \[ \].*/g;
const unfinishedTodos = Array.from(contents.matchAll(unfinishedTodosRegex)).map(([todo]) => todo);
return unfinishedTodos;
}
async onload() {
this.settings = await this.loadData() || { templateHeading: 'none' };
if (!this.checkDailyNotesEnabled()) {
new obsidian.Notice('Daily notes plugin is not enabled. Enable it and then reload Obsidian.', 2000);
}
this.addSettingTab(new RollverTodosSettings(this.app, this));
this.registerEvent(this.app.vault.on('create', async (file) => {
// is a daily note
const dailyNotesDirectory = this.getDailyNotesDirectory();
if (!file.path.startsWith(dailyNotesDirectory)) return;
// is today's daily note
const today = new Date();
if (getISOFormattedDate(today) !== file.basename) return;
// was just created
if (today.getTime() - file.stat.ctime > MAX_TIME_SINCE_CREATION) return;
const lastDailyNote = this.getLastDailyNote();
if (lastDailyNote == null) return;
const unfinishedTodos = await this.getAllUnfinishedTodos(lastDailyNote);
let dailyNoteContent = await this.app.vault.read(file);
if (this.settings.templateHeading !== 'none') {
const heading = this.settings.templateHeading;
dailyNoteContent = dailyNoteContent.replace(heading, heading + '\n' + unfinishedTodos.join('\n') + '\n');
} else {
dailyNoteContent += '\n' + unfinishedTodos.join('\n');
}
await this.app.vault.modify(file, dailyNoteContent);
}));
}
}
class RollverTodosSettings extends obsidian.PluginSettingTab {
constructor(app, plugin) {
super(app, plugin);
this.plugin = plugin;
}
async getTemplateHeadings() {
const template = this.app.internalPlugins.plugins['daily-notes'].instance.options.template;
if (!template) return [];
const file = this.app.vault.getAbstractFileByPath(template + '.md');
const templateContents = await this.app.vault.read(file);
const allHeadings = Array.from(templateContents.matchAll(/#{1,} .*/g)).map(([heading]) => heading);
return allHeadings;
}
async display() {
const templateHeadings = await this.getTemplateHeadings();
this.containerEl.empty();
new obsidian.Setting(this.containerEl)
.setName('Template heading')
.setDesc('Which heading from your template should the todos go under')
.addDropdown((dropdown) => dropdown
.addOptions({
...templateHeadings.reduce((acc, heading) => {
acc[heading] = heading;
return acc;
}, {}),
'none': 'None'
})
.setValue(this.plugin?.settings.templateHeading)
.onChange(value => {
this.plugin.settings.templateHeading = value;
this.plugin.saveData(this.plugin.settings);
})
);
}
}
/**
* Return an ISO formatted date only for the users current timezone.
*/
function getISOFormattedDate(date) {
const month = `${date.getMonth() + 1}`.padStart(2, "0");
const day = `${date.getDate()}`.padStart(2, "0");
return date.getFullYear() + "-" + month + "-" + day;
const MAX_TIME_SINCE_CREATION = 5000; // 5 seconds
class RolloverTodosPlugin extends obsidian.Plugin {
checkDailyNotesEnabled() {
return this.app.vault.config.pluginEnabledStatus['daily-notes'];
}
getDailyNotesDirectory() {
if (this.dailyNotesDirectory != null) {
return this.dailyNotesDirectory;
}
this.dailyNotesDirectory = this.app.internalPlugins.plugins['daily-notes'].instance.options.folder;
return this.dailyNotesDirectory;
}
getLastDailyNote() {
const dailyNotesDirectory = this.getDailyNotesDirectory();
const files = this.app.vault.getAllLoadedFiles()
.filter(file => file.path.startsWith(dailyNotesDirectory))
.filter(file => file.basename != null)
.sort((a, b) => new Date(b.basename).getTime() - new Date(a.basename).getTime());
return files[1];
}
async getAllUnfinishedTodos(file) {
const contents = await this.app.vault.read(file);
const unfinishedTodosRegex = /\t*- \[ \].*/g;
const unfinishedTodos = Array.from(contents.matchAll(unfinishedTodosRegex)).map(([todo]) => todo);
return unfinishedTodos;
}
async onload() {
this.settings = await this.loadData() || { templateHeading: 'none' };
if (!this.checkDailyNotesEnabled()) {
new obsidian.Notice('Daily notes plugin is not enabled. Enable it and then reload Obsidian.', 2000);
}
this.addSettingTab(new RollverTodosSettings(this.app, this));
this.registerEvent(this.app.vault.on('create', async (file) => {
// is a daily note
const dailyNotesDirectory = this.getDailyNotesDirectory();
if (!file.path.startsWith(dailyNotesDirectory)) return;
// is today's daily note
const today = new Date();
if (getISOFormattedDate(today) !== file.basename) return;
// was just created
if (today.getTime() - file.stat.ctime > MAX_TIME_SINCE_CREATION) return;
const lastDailyNote = this.getLastDailyNote();
if (lastDailyNote == null) return;
const unfinishedTodos = await this.getAllUnfinishedTodos(lastDailyNote);
let dailyNoteContent = await this.app.vault.read(file);
if (this.settings.templateHeading !== 'none') {
const heading = this.settings.templateHeading;
dailyNoteContent = dailyNoteContent.replace(heading, heading + '\n' + unfinishedTodos.join('\n') + '\n');
} else {
dailyNoteContent += '\n' + unfinishedTodos.join('\n');
}
await this.app.vault.modify(file, dailyNoteContent);
}));
}
}
class RollverTodosSettings extends obsidian.PluginSettingTab {
constructor(app, plugin) {
super(app, plugin);
this.plugin = plugin;
}
async getTemplateHeadings() {
const template = this.app.internalPlugins.plugins['daily-notes'].instance.options.template;
if (!template) return [];
const file = this.app.vault.getAbstractFileByPath(template + '.md');
const templateContents = await this.app.vault.read(file);
const allHeadings = Array.from(templateContents.matchAll(/#{1,} .*/g)).map(([heading]) => heading);
return allHeadings;
}
async display() {
const templateHeadings = await this.getTemplateHeadings();
this.containerEl.empty();
new obsidian.Setting(this.containerEl)
.setName('Template heading')
.setDesc('Which heading from your template should the todos go under')
.addDropdown((dropdown) => dropdown
.addOptions({
...templateHeadings.reduce((acc, heading) => {
acc[heading] = heading;
return acc;
}, {}),
'none': 'None'
})
.setValue(this.plugin?.settings.templateHeading)
.onChange(value => {
this.plugin.settings.templateHeading = value;
this.plugin.saveData(this.plugin.settings);
})
);
}
}
/**
* Return an ISO formatted date only for the users current timezone.
*/
function getISOFormattedDate(date) {
const month = `${date.getMonth() + 1}`.padStart(2, "0");
const day = `${date.getDate()}`.padStart(2, "0");
return date.getFullYear() + "-" + month + "-" + day;
}
module.exports = RolloverTodosPlugin;

View File

@@ -1,10 +1,10 @@
{
"id": "obsidian-rollover-daily-todos",
"name": "Rollover Daily Todos",
"version": "1.0.2",
"minAppVersion": "0.9.20",
"description": "This plugin will rollover any unchecked checkboxes from your last daily note into today's note",
"author": "Matthew Sessions",
"authorUrl": "https://matthewsessions.com",
"isDesktopOnly": false
}
{
"id": "obsidian-rollover-daily-todos",
"name": "Rollover Daily Todos",
"version": "1.0.2",
"minAppVersion": "0.9.20",
"description": "This plugin will rollover any unchecked checkboxes from your last daily note into today's note",
"author": "Matthew Sessions",
"authorUrl": "https://matthewsessions.com",
"isDesktopOnly": false
}

View File

@@ -1,53 +1,53 @@
.tasks-count {
color: var(--text-faint);
padding-left: 20px;
}
/* Pencil icon. */
.tasks-edit {
background-color: var(--text-faint);
mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20aria-hidden%3D%22true%22%20focusable%3D%22false%22%20width%3D%221em%22%20height%3D%221em%22%20style%3D%22-ms-transform%3A%20rotate(360deg)%3B%20-webkit-transform%3A%20rotate(360deg)%3B%20transform%3A%20rotate(360deg)%3B%22%20preserveAspectRatio%3D%22xMidYMid%20meet%22%20viewBox%3D%220%200%201536%201536%22%3E%3Cpath%20d%3D%22M363%201408l91-91l-235-235l-91%2091v107h128v128h107zm523-928q0-22-22-22q-10%200-17%207l-542%20542q-7%207-7%2017q0%2022%2022%2022q10%200%2017-7l542-542q7-7%207-17zm-54-192l416%20416l-832%20832H0v-416zm683%2096q0%2053-37%2090l-166%20166l-416-416l166-165q36-38%2090-38q53%200%2091%2038l235%20234q37%2039%2037%2091z%22%20fill%3D%22%23626262%22%2F%3E%3C%2Fsvg%3E");
-webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20aria-hidden%3D%22true%22%20focusable%3D%22false%22%20width%3D%221em%22%20height%3D%221em%22%20style%3D%22-ms-transform%3A%20rotate(360deg)%3B%20-webkit-transform%3A%20rotate(360deg)%3B%20transform%3A%20rotate(360deg)%3B%22%20preserveAspectRatio%3D%22xMidYMid%20meet%22%20viewBox%3D%220%200%201536%201536%22%3E%3Cpath%20d%3D%22M363%201408l91-91l-235-235l-91%2091v107h128v128h107zm523-928q0-22-22-22q-10%200-17%207l-542%20542q-7%207-7%2017q0%2022%2022%2022q10%200%2017-7l542-542q7-7%207-17zm-54-192l416%20416l-832%20832H0v-416zm683%2096q0%2053-37%2090l-166%20166l-416-416l166-165q36-38%2090-38q53%200%2091%2038l235%20234q37%2039%2037%2091z%22%20fill%3D%22%23626262%22%2F%3E%3C%2Fsvg%3E");
display: inline-block;
width: 1em;
height: 1em;
vertical-align: middle;
margin-left: 0.3em;
cursor: pointer;
}
.internal-link.internal-link-short-mode {
text-decoration: none;
}
.tasks-list-text {
position: relative;
}
.tasks-list-text .tooltip {
position: absolute;
top: 0px;
left: 0px;
white-space: nowrap;
}
.tasks-setting-important {
color: red;
font-weight: bold;
}
.tasks-modal label {
margin: 5px 0 5px 0;
}
.tasks-modal input[type=text] {
width: 100%;
}
.tasks-modal hr {
margin: 10px 0 10px 0;
}
.tasks-modal-date {
margin-bottom: 10px;
}
.tasks-count {
color: var(--text-faint);
padding-left: 20px;
}
/* Pencil icon. */
.tasks-edit {
background-color: var(--text-faint);
mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20aria-hidden%3D%22true%22%20focusable%3D%22false%22%20width%3D%221em%22%20height%3D%221em%22%20style%3D%22-ms-transform%3A%20rotate(360deg)%3B%20-webkit-transform%3A%20rotate(360deg)%3B%20transform%3A%20rotate(360deg)%3B%22%20preserveAspectRatio%3D%22xMidYMid%20meet%22%20viewBox%3D%220%200%201536%201536%22%3E%3Cpath%20d%3D%22M363%201408l91-91l-235-235l-91%2091v107h128v128h107zm523-928q0-22-22-22q-10%200-17%207l-542%20542q-7%207-7%2017q0%2022%2022%2022q10%200%2017-7l542-542q7-7%207-17zm-54-192l416%20416l-832%20832H0v-416zm683%2096q0%2053-37%2090l-166%20166l-416-416l166-165q36-38%2090-38q53%200%2091%2038l235%20234q37%2039%2037%2091z%22%20fill%3D%22%23626262%22%2F%3E%3C%2Fsvg%3E");
-webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20aria-hidden%3D%22true%22%20focusable%3D%22false%22%20width%3D%221em%22%20height%3D%221em%22%20style%3D%22-ms-transform%3A%20rotate(360deg)%3B%20-webkit-transform%3A%20rotate(360deg)%3B%20transform%3A%20rotate(360deg)%3B%22%20preserveAspectRatio%3D%22xMidYMid%20meet%22%20viewBox%3D%220%200%201536%201536%22%3E%3Cpath%20d%3D%22M363%201408l91-91l-235-235l-91%2091v107h128v128h107zm523-928q0-22-22-22q-10%200-17%207l-542%20542q-7%207-7%2017q0%2022%2022%2022q10%200%2017-7l542-542q7-7%207-17zm-54-192l416%20416l-832%20832H0v-416zm683%2096q0%2053-37%2090l-166%20166l-416-416l166-165q36-38%2090-38q53%200%2091%2038l235%20234q37%2039%2037%2091z%22%20fill%3D%22%23626262%22%2F%3E%3C%2Fsvg%3E");
display: inline-block;
width: 1em;
height: 1em;
vertical-align: middle;
margin-left: 0.3em;
cursor: pointer;
}
.internal-link.internal-link-short-mode {
text-decoration: none;
}
.tasks-list-text {
position: relative;
}
.tasks-list-text .tooltip {
position: absolute;
top: 0px;
left: 0px;
white-space: nowrap;
}
.tasks-setting-important {
color: red;
font-weight: bold;
}
.tasks-modal label {
margin: 5px 0 5px 0;
}
.tasks-modal input[type=text] {
width: 100%;
}
.tasks-modal hr {
margin: 10px 0 10px 0;
}
.tasks-modal-date {
margin-bottom: 10px;
}

View File

@@ -1,10 +1,10 @@
{
"id": "oz-image-plugin",
"name": "Ozan's Image in Editor Plugin",
"version": "2.1.1",
"minAppVersion": "0.13.14",
"description": "View Images, Transclusions, iFrames and PDF Files within the Editor without a necessity to switch to Preview.",
"author": "Ozan Tellioglu",
"authorUrl": "https://ozan.pl/aboutme/",
"isDesktopOnly": false
}
{
"id": "oz-image-plugin",
"name": "Ozan's Image in Editor Plugin",
"version": "2.1.1",
"minAppVersion": "0.13.14",
"description": "View Images, Transclusions, iFrames and PDF Files within the Editor without a necessity to switch to Preview.",
"author": "Ozan Tellioglu",
"authorUrl": "https://ozan.pl/aboutme/",
"isDesktopOnly": false
}

View File

@@ -1,270 +1,270 @@
.CodeMirror-linewidget img {
margin-top: 5px;
margin-bottom: 5px;
}
.theme-dark img[alt$='#invert'],
.theme-dark div.oz-image-widget > img[alt$='#invert'],
.theme-dark div.oz-image-widget-cm6 > img[alt$='#invert'] {
filter: invert(1) hue-rotate(180deg);
}
.oz-transclusion-widget,
.oz-transclusion-widget-cm6 {
padding: 3px 3px 3px 19px;
border: 0.7px solid var(--text-muted);
max-height: 600px;
overflow: auto;
border-radius: 7px;
margin-top: 5px;
}
.oz-coffee-div {
text-align: center;
margin-top: 20px;
}
/* Line Numbers In Editor CodeBlock Renders */
pre[class*='language-'].line-numbers {
position: relative;
padding-left: 3.8em;
counter-reset: linenumber;
}
pre[class*='language-'].line-numbers > code {
position: relative;
white-space: inherit;
}
.line-numbers .line-numbers-rows {
position: absolute;
pointer-events: none;
top: 0;
font-size: 100%;
left: -3.8em;
width: 3em; /* works for line-numbers below 1000 lines */
letter-spacing: -1px;
border-right: 1px solid #999;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.line-numbers-rows > span {
display: block;
counter-increment: linenumber;
}
.line-numbers-rows > span:before {
content: counter(linenumber);
color: #999;
display: block;
padding-right: 0.8em;
text-align: right;
}
.mermaid-error-information {
color: red;
font-size: 14px;
margin-bottom: 3px;
}
.oz-modal-center {
text-align: center;
margin: 20px 10px 20px 10px;
}
.oz-modal-title {
text-align: center;
}
.inline-mathjax-block {
margin-left: 5px;
}
.oz-image-widget > img,
.oz-image-widget-cm6 > img {
-webkit-user-drag: none;
user-select: none;
-moz-user-select: none;
-webkit-user-select: none;
-ms-user-select: none;
}
div.oz-transclusion-widget pre,
div.oz-transclusion-widget-cm6 pre {
overflow-x: auto;
}
.oz-transclusion-widget > *,
.oz-transclusion-widget-cm6 > * {
user-select: text !important;
}
/* Rich Link Cards */
/* Credit: https://github.com/dhamaniasad/obsidian-rich-links */
.oz-rich-link-card {
border: 1px solid var(--background-modifier-border);
border-radius: 3px;
width: 100%;
display: flex;
text-decoration: none;
background-color: var(--background-primary);
}
.oz-rich-link-card-container {
position: relative;
}
.oz-rich-link-image-container {
height: 100px;
width: 35%;
min-width: 120px;
overflow: hidden;
border-right: 1px solid var(--background-modifier-border);
}
.oz-rich-link-image {
background-position: center center;
background-size: cover;
background-repeat: no-repeat;
padding-bottom: 100px;
background-color: var(--background-secondary);
}
.oz-rich-link-card-text {
padding: 4px;
width: 75%;
}
.oz-rich-link-card-title {
font-family: sans-serif;
font-size: 16px;
margin: 0 0 4px 0;
display: -webkit-box;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
overflow: hidden;
color: var(--text-normal);
}
.oz-rich-link-card-description {
font-family: sans-serif;
font-size: 14px;
margin: 0;
color: var(--text-muted);
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
}
.oz-rich-link-href {
font-family: sans-serif;
font-size: 14px;
margin: 0;
color: var(--text-faint);
display: -webkit-box;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
overflow: hidden;
}
.image-in-editor-settings-main-header {
text-align: center !important;
margin-bottom: 20px;
}
.image-in-editor-cm-header {
margin-top: 0px;
}
.image-in-editor-editor-header {
margin-bottom: 5px;
}
/* Sizing for CM5 and CM6 */
div.oz-image-widget > img[alt$='#small'],
div.oz-image-widget-cm6 > img[alt$='#small'] {
max-width: 75% !important;
min-width: 200pt !important;
}
div.oz-image-widget > img[alt$='#x-small'],
div.oz-image-widget-cm6 > img[alt$='#x-small'] {
max-width: 50% !important;
min-width: 100pt !important;
}
div.oz-image-widget > img[alt$='#xx-small'],
div.oz-image-widget-cm6 > img[alt$='#xx-small'] {
max-width: 25% !important;
min-width: 50pt !important;
}
/* Style For CM6 */
div.oz-image-widget-cm6,
div.oz-custom-html-widget-cm6,
div.oz-pdf-widget-cm6 {
padding-top: 5px;
padding-bottom: 5px;
}
div.oz-image-widget-cm6 + br,
div.oz-custom-html-widget-cm6 + br,
div.oz-pdf-widget-cm6 + br {
display: none;
}
.cm-line div.oz-transclusion-widget-cm6 {
padding-top: 10px;
padding-bottom: 10px;
}
.cm-line div.oz-transclusion-widget-cm6 * {
margin-block-start: 0px !important;
margin-block-end: 0px !important;
}
/* Legacy Admonition */
.oz-admonition {
margin: 1.5em 0;
padding: 0;
overflow: hidden;
page-break-inside: avoid;
border-left: 0.3rem solid rgb(var(--oz-admonition-color));
border-radius: 0.1rem;
box-shadow: 0 0.2rem 0.5rem rgb(44, 43, 43);
}
.oz-admonition-title {
position: relative;
padding: 15px 5px 15px 15px;
font-weight: 700;
background-color: rgba(var(--oz-admonition-color), 0.1);
}
.oz-admonition-title-content {
display: flex;
justify-content: flex-start;
margin-top: 0 !important;
margin-bottom: 0 !important;
}
.oz-admonition-content-holder {
position: relative;
padding-top: 15px;
padding-bottom: 15px;
}
.oz-admonition-content {
margin: 10px 15px;
position: relative;
overflow-x: auto;
}
.oz-admonition-title-markdown {
text-transform: capitalize;
display: block;
}
.CodeMirror-linewidget img {
margin-top: 5px;
margin-bottom: 5px;
}
.theme-dark img[alt$='#invert'],
.theme-dark div.oz-image-widget > img[alt$='#invert'],
.theme-dark div.oz-image-widget-cm6 > img[alt$='#invert'] {
filter: invert(1) hue-rotate(180deg);
}
.oz-transclusion-widget,
.oz-transclusion-widget-cm6 {
padding: 3px 3px 3px 19px;
border: 0.7px solid var(--text-muted);
max-height: 600px;
overflow: auto;
border-radius: 7px;
margin-top: 5px;
}
.oz-coffee-div {
text-align: center;
margin-top: 20px;
}
/* Line Numbers In Editor CodeBlock Renders */
pre[class*='language-'].line-numbers {
position: relative;
padding-left: 3.8em;
counter-reset: linenumber;
}
pre[class*='language-'].line-numbers > code {
position: relative;
white-space: inherit;
}
.line-numbers .line-numbers-rows {
position: absolute;
pointer-events: none;
top: 0;
font-size: 100%;
left: -3.8em;
width: 3em; /* works for line-numbers below 1000 lines */
letter-spacing: -1px;
border-right: 1px solid #999;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.line-numbers-rows > span {
display: block;
counter-increment: linenumber;
}
.line-numbers-rows > span:before {
content: counter(linenumber);
color: #999;
display: block;
padding-right: 0.8em;
text-align: right;
}
.mermaid-error-information {
color: red;
font-size: 14px;
margin-bottom: 3px;
}
.oz-modal-center {
text-align: center;
margin: 20px 10px 20px 10px;
}
.oz-modal-title {
text-align: center;
}
.inline-mathjax-block {
margin-left: 5px;
}
.oz-image-widget > img,
.oz-image-widget-cm6 > img {
-webkit-user-drag: none;
user-select: none;
-moz-user-select: none;
-webkit-user-select: none;
-ms-user-select: none;
}
div.oz-transclusion-widget pre,
div.oz-transclusion-widget-cm6 pre {
overflow-x: auto;
}
.oz-transclusion-widget > *,
.oz-transclusion-widget-cm6 > * {
user-select: text !important;
}
/* Rich Link Cards */
/* Credit: https://github.com/dhamaniasad/obsidian-rich-links */
.oz-rich-link-card {
border: 1px solid var(--background-modifier-border);
border-radius: 3px;
width: 100%;
display: flex;
text-decoration: none;
background-color: var(--background-primary);
}
.oz-rich-link-card-container {
position: relative;
}
.oz-rich-link-image-container {
height: 100px;
width: 35%;
min-width: 120px;
overflow: hidden;
border-right: 1px solid var(--background-modifier-border);
}
.oz-rich-link-image {
background-position: center center;
background-size: cover;
background-repeat: no-repeat;
padding-bottom: 100px;
background-color: var(--background-secondary);
}
.oz-rich-link-card-text {
padding: 4px;
width: 75%;
}
.oz-rich-link-card-title {
font-family: sans-serif;
font-size: 16px;
margin: 0 0 4px 0;
display: -webkit-box;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
overflow: hidden;
color: var(--text-normal);
}
.oz-rich-link-card-description {
font-family: sans-serif;
font-size: 14px;
margin: 0;
color: var(--text-muted);
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
}
.oz-rich-link-href {
font-family: sans-serif;
font-size: 14px;
margin: 0;
color: var(--text-faint);
display: -webkit-box;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
overflow: hidden;
}
.image-in-editor-settings-main-header {
text-align: center !important;
margin-bottom: 20px;
}
.image-in-editor-cm-header {
margin-top: 0px;
}
.image-in-editor-editor-header {
margin-bottom: 5px;
}
/* Sizing for CM5 and CM6 */
div.oz-image-widget > img[alt$='#small'],
div.oz-image-widget-cm6 > img[alt$='#small'] {
max-width: 75% !important;
min-width: 200pt !important;
}
div.oz-image-widget > img[alt$='#x-small'],
div.oz-image-widget-cm6 > img[alt$='#x-small'] {
max-width: 50% !important;
min-width: 100pt !important;
}
div.oz-image-widget > img[alt$='#xx-small'],
div.oz-image-widget-cm6 > img[alt$='#xx-small'] {
max-width: 25% !important;
min-width: 50pt !important;
}
/* Style For CM6 */
div.oz-image-widget-cm6,
div.oz-custom-html-widget-cm6,
div.oz-pdf-widget-cm6 {
padding-top: 5px;
padding-bottom: 5px;
}
div.oz-image-widget-cm6 + br,
div.oz-custom-html-widget-cm6 + br,
div.oz-pdf-widget-cm6 + br {
display: none;
}
.cm-line div.oz-transclusion-widget-cm6 {
padding-top: 10px;
padding-bottom: 10px;
}
.cm-line div.oz-transclusion-widget-cm6 * {
margin-block-start: 0px !important;
margin-block-end: 0px !important;
}
/* Legacy Admonition */
.oz-admonition {
margin: 1.5em 0;
padding: 0;
overflow: hidden;
page-break-inside: avoid;
border-left: 0.3rem solid rgb(var(--oz-admonition-color));
border-radius: 0.1rem;
box-shadow: 0 0.2rem 0.5rem rgb(44, 43, 43);
}
.oz-admonition-title {
position: relative;
padding: 15px 5px 15px 15px;
font-weight: 700;
background-color: rgba(var(--oz-admonition-color), 0.1);
}
.oz-admonition-title-content {
display: flex;
justify-content: flex-start;
margin-top: 0 !important;
margin-bottom: 0 !important;
}
.oz-admonition-content-holder {
position: relative;
padding-top: 15px;
padding-bottom: 15px;
}
.oz-admonition-content {
margin: 10px 15px;
position: relative;
overflow-x: auto;
}
.oz-admonition-title-markdown {
text-transform: capitalize;
display: block;
}

View File

@@ -2,82 +2,82 @@
var obsidian = require('obsidian');
/*! *****************************************************************************
Copyright (c) Microsoft Corporation.
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */
/* global Reflect, Promise */
var extendStatics = function(d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
function __extends(d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
}
var __assign = function() {
__assign = Object.assign || function __assign(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
function __awaiter(thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
}
function __generator(thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (_) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
/*! *****************************************************************************
Copyright (c) Microsoft Corporation.
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */
/* global Reflect, Promise */
var extendStatics = function(d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
function __extends(d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
}
var __assign = function() {
__assign = Object.assign || function __assign(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
function __awaiter(thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
}
function __generator(thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (_) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
}
var icons = {