mirror of
https://github.com/meld-cp/obsidian-build.git
synced 2026-07-22 07:30:25 +00:00
dataview intergation
This commit is contained in:
parent
3cc6f5e3e7
commit
b31ec2a34c
5 changed files with 513 additions and 29 deletions
|
|
@ -18,6 +18,7 @@
|
|||
"@typescript-eslint/no-unused-vars": ["error", { "args": "none" }],
|
||||
"@typescript-eslint/ban-ts-comment": "off",
|
||||
"no-prototype-builtins": "off",
|
||||
"@typescript-eslint/no-empty-function": "off"
|
||||
"@typescript-eslint/no-empty-function": "off",
|
||||
"@typescript-eslint/no-explicit-any": "off"
|
||||
}
|
||||
}
|
||||
16
README.md
16
README.md
|
|
@ -13,6 +13,22 @@
|
|||
-[ ] add image to uri function (then inject into template)
|
||||
|
||||
|
||||
## API
|
||||
```js
|
||||
// Implemented
|
||||
await $.import('somefile.md');
|
||||
$.log(...anything);
|
||||
$.data.somedata.filter();
|
||||
await $.output(path, content, open);
|
||||
// To do
|
||||
$.dataview or $.dv...
|
||||
$.notes('/path').filter( n=>n.basename == 'my note');
|
||||
const output = $.templates.first().render(data);
|
||||
// logging
|
||||
// convert image (png, jpg) to data uri
|
||||
|
||||
```
|
||||
|
||||
## Dev info
|
||||
### First time developing plugins?
|
||||
|
||||
|
|
|
|||
164
main.ts
164
main.ts
|
|
@ -1,4 +1,5 @@
|
|||
import { CachedMetadata, Editor, MarkdownView, moment, normalizePath, Notice, Plugin, TFile } from 'obsidian';
|
||||
import {DataviewApi, getAPI as dvGetAPI} from "obsidian-dataview";
|
||||
//import * as Mustache from 'mustache';
|
||||
//import {render as mustacheRender} from 'mustache';
|
||||
|
||||
|
|
@ -29,6 +30,17 @@ HB.registerHelper('format_date', function (value, options) {
|
|||
return moment(value).format(pattern);
|
||||
});
|
||||
|
||||
HB.registerHelper('data_uri', function (value, options) {
|
||||
//TODO
|
||||
// Helper parameters
|
||||
//const file = options.hash['file'] as string;
|
||||
//const contentType = options.hash['content_type'] as string;
|
||||
|
||||
// check if file exists
|
||||
// convert file to data uri
|
||||
|
||||
});
|
||||
|
||||
|
||||
interface MyPluginSettings {
|
||||
mySetting: string;
|
||||
|
|
@ -54,10 +66,11 @@ export default class MyPlugin extends Plugin {
|
|||
this.addCommand({
|
||||
id: 'meld-build-run',
|
||||
name: 'Run',
|
||||
editorCallback: (editor: Editor, view: MarkdownView) => {
|
||||
editorCallback: async (editor: Editor, view: MarkdownView) => {
|
||||
try{
|
||||
view.save();
|
||||
const b = new Compiler();
|
||||
const runner = b.compile(editor, view.file);
|
||||
const runner = b.compile(editor, view);
|
||||
runner();
|
||||
}catch(e){
|
||||
console.error(e);
|
||||
|
|
@ -110,16 +123,30 @@ class DataSetRow implements IRowDataValueCollection{
|
|||
|
||||
}
|
||||
|
||||
interface IContext{
|
||||
interface IContext {
|
||||
data: IDataSetCollection;
|
||||
templates: ITemplateContent[];
|
||||
log: (...data: unknown[]) => void;
|
||||
|
||||
//current: MarkdownView;
|
||||
|
||||
//comp: Component;
|
||||
//log: (...data: unknown[]) => void;
|
||||
log: (message?: any, ...optionalParams: any[]) => void;
|
||||
log_error: (message?: any, ...optionalParams: any[]) => void;
|
||||
|
||||
notice: (message: string | DocumentFragment, timeout?: number) => void;
|
||||
|
||||
render: (cb :ITemplateContent, data:object) => string;
|
||||
output: ( file:string, content:string, open:boolean ) => void;
|
||||
output: ( file:string, content:string, open?:boolean ) => void;
|
||||
open: (linkText:string) => void;
|
||||
load_data: (filepath:string, name?:string) => Promise<DataSet>;
|
||||
load_template: (filepath:string) => Promise<ITemplateContent>;
|
||||
import: (filepath:string) => void;
|
||||
|
||||
rebuild_view: () => void;
|
||||
|
||||
dv: DataviewApi | undefined;
|
||||
dataview: DataviewApi | undefined;
|
||||
}
|
||||
|
||||
interface ITemplateContent{
|
||||
|
|
@ -363,11 +390,12 @@ class Parser {
|
|||
|
||||
export class Compiler{
|
||||
|
||||
public compile(editor: Editor, file: TFile) : () => void {
|
||||
const fileCache = app.metadataCache.getFileCache(file);
|
||||
public compile(editor: Editor, view: MarkdownView) : () => void {
|
||||
|
||||
const fileCache = app.metadataCache.getFileCache(view.file);
|
||||
|
||||
if (fileCache == null){
|
||||
return () => {};
|
||||
return async () => {};
|
||||
}
|
||||
|
||||
const pzr = new Parser();
|
||||
|
|
@ -383,13 +411,26 @@ export class Compiler{
|
|||
const templateBlocks = pzr.fetchCodeBlocks(editor, fileCache, ['html']);
|
||||
|
||||
// build context
|
||||
const dataViewApi = dvGetAPI();
|
||||
//const comp = new Component();
|
||||
//ma
|
||||
//comp.addChild
|
||||
const context : IContext = {
|
||||
data: data,
|
||||
templates: templateBlocks,
|
||||
|
||||
//current: view,
|
||||
//comp: ,
|
||||
|
||||
load_data: (filepath, name) => this.data_loader(data, filepath, name),
|
||||
load_template: (filepath) => this.template_loader(templateBlocks, filepath),
|
||||
import: (filepath) => this.import( data, templateBlocks, filepath),
|
||||
|
||||
log: x => window.console.info( 'meld-build', x ),
|
||||
log_error: x => window.console.error( 'meld-build', x ),
|
||||
notice: (msg, timeout) => new Notice(msg, timeout),
|
||||
dv: dataViewApi,
|
||||
dataview: dataViewApi,
|
||||
render: (cb, data) =>{
|
||||
const template = HB.compile( cb.content );
|
||||
const result = template(data);
|
||||
|
|
@ -398,7 +439,7 @@ export class Compiler{
|
|||
output: async (filename, content, open) =>{
|
||||
|
||||
const activeFile = app.workspace.getActiveFile();
|
||||
|
||||
|
||||
//letoutputFile = normalizePath( newFileFolder.path + "/" + filename )
|
||||
if (activeFile == null){
|
||||
return;
|
||||
|
|
@ -418,18 +459,24 @@ export class Compiler{
|
|||
}
|
||||
|
||||
await app.vault.create( newFilepath, content );
|
||||
|
||||
|
||||
|
||||
new Notice(`${newFilepath} created`);
|
||||
if (open){
|
||||
if (open == true){
|
||||
await app.workspace.openLinkText( newFilepath, '' );
|
||||
}
|
||||
},
|
||||
open: (linktext:string) => app.workspace.openLinkText( linktext, '' )
|
||||
|
||||
open: (linktext:string) => app.workspace.openLinkText( linktext, '' ),
|
||||
|
||||
rebuild_view: async () => await (view.leaf as any).rebuildView(),
|
||||
|
||||
};
|
||||
|
||||
// return runner
|
||||
return () => this.sandboxed(sourceCode, context);
|
||||
return () => this.buildSandboxedRunnerFunction(sourceCode, context);
|
||||
//return () => this.buildRunnerFunction(sourceCode, context);
|
||||
}
|
||||
|
||||
private getAbsoluteFilepathFromActiveFile( path:string ) : string | undefined {
|
||||
|
|
@ -516,7 +563,46 @@ export class Compiler{
|
|||
// return normalizePath(result.replace(/\\/g, '/'));
|
||||
// }
|
||||
|
||||
private sandboxed(code:string, context:IContext) : FunctionConstructor {
|
||||
private buildRunnerFunction(code:string, context:IContext) : FunctionConstructor {
|
||||
//const frame = document.createElement('iframe');
|
||||
//document.body.appendChild(frame);
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
//const f = window.Function;
|
||||
//document.body.removeChild(frame);
|
||||
|
||||
|
||||
// const restrictedKeys = [
|
||||
// ...Object.keys(frame.contentWindow??{}),
|
||||
// 'self',
|
||||
// 'document',
|
||||
// 'console'
|
||||
// ];
|
||||
//const undefineds = restrictedKeys.map( v=>undefined );
|
||||
|
||||
const errFrag = new DocumentFragment();
|
||||
errFrag.appendText('RUNTIME ERROR\n');
|
||||
//errFrag.c
|
||||
//errFrag.appendText('RUNTIME ERROR\n');
|
||||
|
||||
const additionals = {
|
||||
'errFrag': errFrag
|
||||
};
|
||||
|
||||
return window.Function(
|
||||
//...restrictedKeys,
|
||||
...Object.keys(additionals),
|
||||
'$',
|
||||
//"'use strict';" + code
|
||||
code
|
||||
)(
|
||||
//...undefineds,
|
||||
...Object.values(additionals),
|
||||
context
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
private buildSandboxedRunnerFunction(code:string, context:IContext) : FunctionConstructor {
|
||||
const frame = document.createElement('iframe');
|
||||
document.body.appendChild(frame);
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
|
|
@ -532,15 +618,65 @@ export class Compiler{
|
|||
];
|
||||
const undefineds = restrictedKeys.map( v=>undefined );
|
||||
|
||||
const errFrag = new DocumentFragment();
|
||||
errFrag.appendText('RUNTIME ERROR\n');
|
||||
//errFrag.c
|
||||
//errFrag.appendText('RUNTIME ERROR\n');
|
||||
|
||||
const additionals = {
|
||||
'errFrag': errFrag
|
||||
};
|
||||
|
||||
return f(
|
||||
...restrictedKeys,
|
||||
...Object.keys(additionals),
|
||||
'$',
|
||||
//"'use strict';" + code
|
||||
`'use strict'; Promise.all((async () => { ${code} })());`
|
||||
`
|
||||
'use strict';
|
||||
( async () => {
|
||||
$.log('Run Start');
|
||||
${code}
|
||||
} )()
|
||||
.catch( (e) => {
|
||||
$.log_error(e);
|
||||
errFrag.appendText(e);
|
||||
$.notice(errFrag);
|
||||
})
|
||||
.finally( () => {
|
||||
$.log('Run End');
|
||||
})
|
||||
;
|
||||
`
|
||||
)(
|
||||
...undefineds,
|
||||
...Object.values(additionals),
|
||||
context
|
||||
);
|
||||
|
||||
// return f(
|
||||
// ...restrictedKeys,
|
||||
// '$',
|
||||
// //"'use strict';" + code
|
||||
// `
|
||||
// 'use strict';
|
||||
// $.log('Start');
|
||||
// Promise
|
||||
// .resolve(
|
||||
// ( async () => {
|
||||
// ${code}
|
||||
// } )()
|
||||
// )
|
||||
// .catch( (e) => {
|
||||
// $.log(e);
|
||||
// })
|
||||
// ;
|
||||
// $.log('End');
|
||||
// `
|
||||
// )(
|
||||
// ...undefineds,
|
||||
// context
|
||||
// );
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
358
package-lock.json
generated
358
package-lock.json
generated
|
|
@ -18,23 +18,36 @@
|
|||
"esbuild-copy-static-files": "^0.1.0",
|
||||
"handlebars": "4.7.7",
|
||||
"obsidian": "latest",
|
||||
"obsidian-dataview": "^0.5.51",
|
||||
"tslib": "2.4.0",
|
||||
"typescript": "4.7.4"
|
||||
}
|
||||
},
|
||||
"node_modules/@codemirror/language": {
|
||||
"version": "6.3.1",
|
||||
"resolved": "git+ssh://git@github.com/lishid/cm-language.git#6f84ca041393471ae1e2c82a0b6ec515a94e8dcf",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@codemirror/state": "^6.0.0",
|
||||
"@codemirror/view": "^6.0.0",
|
||||
"@lezer/common": "^1.0.0",
|
||||
"@lezer/highlight": "^1.0.0",
|
||||
"@lezer/lr": "^1.0.0",
|
||||
"style-mod": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@codemirror/state": {
|
||||
"version": "6.1.4",
|
||||
"resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.1.4.tgz",
|
||||
"integrity": "sha512-g+3OJuRylV5qsXuuhrc6Cvs1NQluNioepYMM2fhnpYkNk7NgX+j0AFuevKSVKzTDmDyt9+Puju+zPdHNECzCNQ==",
|
||||
"dev": true,
|
||||
"peer": true
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@codemirror/view": {
|
||||
"version": "6.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.6.0.tgz",
|
||||
"integrity": "sha512-40VaFVZI3rkyjO5GHFAbNwaW+YgZexjKyx5gxLU2DvfuXAEZX0kW0apOXb0SBRLnKIQJ+U/n2nPfxgBVFHERrg==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@codemirror/state": "^6.1.4",
|
||||
"style-mod": "^4.0.0",
|
||||
|
|
@ -101,6 +114,30 @@
|
|||
"dev": true,
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/@lezer/common": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.0.2.tgz",
|
||||
"integrity": "sha512-SVgiGtMnMnW3ActR8SXgsDhw7a0w0ChHSYAyAUxxrOiJ1OqYWEKk/xJd84tTSPo1mo6DXLObAJALNnd0Hrv7Ng==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@lezer/highlight": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@lezer/highlight/-/highlight-1.1.3.tgz",
|
||||
"integrity": "sha512-3vLKLPThO4td43lYRBygmMY18JN3CPh9w+XS2j8WC30vR4yZeFG4z1iFe4jXE43NtGqe//zHW5q8ENLlHvz9gw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@lezer/common": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@lezer/lr": {
|
||||
"version": "1.2.5",
|
||||
"resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.2.5.tgz",
|
||||
"integrity": "sha512-f9319YG1A/3ysgUE3bqCHEd7g+3ZZ71MWlwEc42mpnLVYXgfJJgtu1XAyBB4Kz8FmqmnFe9caopDqKeMMMAU6g==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@lezer/common": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@nodelib/fs.scandir": {
|
||||
"version": "2.1.5",
|
||||
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
|
||||
|
|
@ -608,6 +645,12 @@
|
|||
"node": ">=6.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/emoji-regex": {
|
||||
"version": "10.2.1",
|
||||
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.2.1.tgz",
|
||||
"integrity": "sha512-97g6QgOk8zlDRdgq1WxwgTMgEWGVAQvB5Fdpgc1MkNy56la5SKP9GsMXKDOdqwn90/41a8yPwIGk1Y6WVbeMQA==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/esbuild": {
|
||||
"version": "0.14.47",
|
||||
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.47.tgz",
|
||||
|
|
@ -1444,6 +1487,12 @@
|
|||
"node": ">= 4"
|
||||
}
|
||||
},
|
||||
"node_modules/immediate": {
|
||||
"version": "3.0.6",
|
||||
"resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
|
||||
"integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/import-fresh": {
|
||||
"version": "3.3.0",
|
||||
"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
|
||||
|
|
@ -1588,6 +1637,24 @@
|
|||
"node": ">= 0.8.0"
|
||||
}
|
||||
},
|
||||
"node_modules/lie": {
|
||||
"version": "3.1.1",
|
||||
"resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz",
|
||||
"integrity": "sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"immediate": "~3.0.5"
|
||||
}
|
||||
},
|
||||
"node_modules/localforage": {
|
||||
"version": "1.10.0",
|
||||
"resolved": "https://registry.npmjs.org/localforage/-/localforage-1.10.0.tgz",
|
||||
"integrity": "sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"lie": "3.1.1"
|
||||
}
|
||||
},
|
||||
"node_modules/locate-path": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
|
||||
|
|
@ -1623,6 +1690,15 @@
|
|||
"node": ">=10"
|
||||
}
|
||||
},
|
||||
"node_modules/luxon": {
|
||||
"version": "2.5.0",
|
||||
"resolved": "https://registry.npmjs.org/luxon/-/luxon-2.5.0.tgz",
|
||||
"integrity": "sha512-IDkEPB80Rb6gCAU+FEib0t4FeJ4uVOuX1CQ9GsvU3O+JAGIgu0J7sf1OarXKaKDygTZIoJyU6YdZzTFRu+YR0A==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/merge2": {
|
||||
"version": "1.4.1",
|
||||
"resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
|
||||
|
|
@ -1709,6 +1785,74 @@
|
|||
"@codemirror/view": "^6.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/obsidian-calendar-ui": {
|
||||
"version": "0.3.12",
|
||||
"resolved": "https://registry.npmjs.org/obsidian-calendar-ui/-/obsidian-calendar-ui-0.3.12.tgz",
|
||||
"integrity": "sha512-hdoRqCPnukfRgCARgArXaqMQZ+Iai0eY7f0ZsFHHfywpv4gKg3Tx5p47UsLvRO5DD+4knlbrL7Gel57MkfcLTw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"obsidian-daily-notes-interface": "0.8.4",
|
||||
"svelte": "3.35.0",
|
||||
"tslib": "2.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/obsidian-calendar-ui/node_modules/tslib": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz",
|
||||
"integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/obsidian-daily-notes-interface": {
|
||||
"version": "0.8.4",
|
||||
"resolved": "https://registry.npmjs.org/obsidian-daily-notes-interface/-/obsidian-daily-notes-interface-0.8.4.tgz",
|
||||
"integrity": "sha512-REKQtAuIOKDbvNH/th1C1gWmJWCP5tRn9T/mfZGZt4Zncgko7McXK0aSKFtEInipvgbZJ2nScivvyLdiWluSMw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"obsidian": "github:obsidianmd/obsidian-api#master",
|
||||
"tslib": "2.1.0"
|
||||
},
|
||||
"bin": {
|
||||
"obsidian-daily-notes-interface": "dist/main.js"
|
||||
}
|
||||
},
|
||||
"node_modules/obsidian-daily-notes-interface/node_modules/obsidian": {
|
||||
"version": "1.1.7",
|
||||
"resolved": "git+ssh://git@github.com/obsidianmd/obsidian-api.git#38dd22168d2925086371bfc59e36fd9121527a39",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@types/codemirror": "0.0.108",
|
||||
"moment": "2.29.4"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@codemirror/state": "^6.0.0",
|
||||
"@codemirror/view": "^6.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/obsidian-daily-notes-interface/node_modules/tslib": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz",
|
||||
"integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/obsidian-dataview": {
|
||||
"version": "0.5.51",
|
||||
"resolved": "https://registry.npmjs.org/obsidian-dataview/-/obsidian-dataview-0.5.51.tgz",
|
||||
"integrity": "sha512-DXf+CdsWdBBVIIVJjhFE1V3voWjIp5I6ZT5KrU20fMMMbOw9DBRA6UvPFNaGVvXKfTgmrvxbR8Xx05mhnKTu0g==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@codemirror/language": "git+https://github.com/lishid/cm-language.git",
|
||||
"@codemirror/state": "^6.0.1",
|
||||
"@codemirror/view": "^6.0.1",
|
||||
"emoji-regex": "^10.0.0",
|
||||
"localforage": "^1.10.0",
|
||||
"luxon": "^2.4.0",
|
||||
"obsidian-calendar-ui": "^0.3.12",
|
||||
"papaparse": "^5.3.1",
|
||||
"parsimmon": "^1.18.0",
|
||||
"preact": "^10.6.5"
|
||||
}
|
||||
},
|
||||
"node_modules/once": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
|
||||
|
|
@ -1769,6 +1913,12 @@
|
|||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/papaparse": {
|
||||
"version": "5.3.2",
|
||||
"resolved": "https://registry.npmjs.org/papaparse/-/papaparse-5.3.2.tgz",
|
||||
"integrity": "sha512-6dNZu0Ki+gyV0eBsFKJhYr+MdQYAzFUGlBMNj3GNrmHxmz1lfRa24CjFObPXtjcetlOv5Ad299MhIK0znp3afw==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/parent-module": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
|
||||
|
|
@ -1782,6 +1932,12 @@
|
|||
"node": ">=6"
|
||||
}
|
||||
},
|
||||
"node_modules/parsimmon": {
|
||||
"version": "1.18.1",
|
||||
"resolved": "https://registry.npmjs.org/parsimmon/-/parsimmon-1.18.1.tgz",
|
||||
"integrity": "sha512-u7p959wLfGAhJpSDJVYXoyMCXWYwHia78HhRBWqk7AIbxdmlrfdp5wX0l3xv/iTSH5HvhN9K7o26hwwpgS5Nmw==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/path-exists": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
|
||||
|
|
@ -1833,6 +1989,16 @@
|
|||
"url": "https://github.com/sponsors/jonschlinkert"
|
||||
}
|
||||
},
|
||||
"node_modules/preact": {
|
||||
"version": "10.11.3",
|
||||
"resolved": "https://registry.npmjs.org/preact/-/preact-10.11.3.tgz",
|
||||
"integrity": "sha512-eY93IVpod/zG3uMF22Unl8h9KkrcKIRs2EGar8hwLZZDU1lkjph303V9HZBwufh2s736U6VXuhD109LYqPoffg==",
|
||||
"dev": true,
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/preact"
|
||||
}
|
||||
},
|
||||
"node_modules/prelude-ls": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
|
||||
|
|
@ -2030,8 +2196,7 @@
|
|||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.0.0.tgz",
|
||||
"integrity": "sha512-OPhtyEjyyN9x3nhPsu76f52yUGXiZcgvsrFVtvTkyGRQJ0XK+GPc6ov1z+lRpbeabka+MYEQxOYRnt5nF30aMw==",
|
||||
"dev": true,
|
||||
"peer": true
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/supports-color": {
|
||||
"version": "7.2.0",
|
||||
|
|
@ -2046,6 +2211,15 @@
|
|||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/svelte": {
|
||||
"version": "3.35.0",
|
||||
"resolved": "https://registry.npmjs.org/svelte/-/svelte-3.35.0.tgz",
|
||||
"integrity": "sha512-gknlZkR2sXheu/X+B7dDImwANVvK1R0QGQLd8CNIfxxGPeXBmePnxfzb6fWwTQRsYQG7lYkZXvpXJvxvpsoB7g==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">= 8"
|
||||
}
|
||||
},
|
||||
"node_modules/text-table": {
|
||||
"version": "0.2.0",
|
||||
"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
|
||||
|
|
@ -2158,8 +2332,7 @@
|
|||
"version": "2.2.6",
|
||||
"resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.6.tgz",
|
||||
"integrity": "sha512-f+fciywl1SJEniZHD6H+kUO8gOnwIr7f4ijKA6+ZvJFjeGi1r4PDLl53Ayud9O/rk64RqgoQine0feoeOU0kXg==",
|
||||
"dev": true,
|
||||
"peer": true
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/which": {
|
||||
"version": "2.0.2",
|
||||
|
|
@ -2221,19 +2394,30 @@
|
|||
}
|
||||
},
|
||||
"dependencies": {
|
||||
"@codemirror/language": {
|
||||
"version": "git+ssh://git@github.com/lishid/cm-language.git#6f84ca041393471ae1e2c82a0b6ec515a94e8dcf",
|
||||
"dev": true,
|
||||
"from": "@codemirror/language@git+https://github.com/lishid/cm-language.git",
|
||||
"requires": {
|
||||
"@codemirror/state": "^6.0.0",
|
||||
"@codemirror/view": "^6.0.0",
|
||||
"@lezer/common": "^1.0.0",
|
||||
"@lezer/highlight": "^1.0.0",
|
||||
"@lezer/lr": "^1.0.0",
|
||||
"style-mod": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"@codemirror/state": {
|
||||
"version": "6.1.4",
|
||||
"resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.1.4.tgz",
|
||||
"integrity": "sha512-g+3OJuRylV5qsXuuhrc6Cvs1NQluNioepYMM2fhnpYkNk7NgX+j0AFuevKSVKzTDmDyt9+Puju+zPdHNECzCNQ==",
|
||||
"dev": true,
|
||||
"peer": true
|
||||
"dev": true
|
||||
},
|
||||
"@codemirror/view": {
|
||||
"version": "6.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.6.0.tgz",
|
||||
"integrity": "sha512-40VaFVZI3rkyjO5GHFAbNwaW+YgZexjKyx5gxLU2DvfuXAEZX0kW0apOXb0SBRLnKIQJ+U/n2nPfxgBVFHERrg==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"requires": {
|
||||
"@codemirror/state": "^6.1.4",
|
||||
"style-mod": "^4.0.0",
|
||||
|
|
@ -2284,6 +2468,30 @@
|
|||
"dev": true,
|
||||
"peer": true
|
||||
},
|
||||
"@lezer/common": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.0.2.tgz",
|
||||
"integrity": "sha512-SVgiGtMnMnW3ActR8SXgsDhw7a0w0ChHSYAyAUxxrOiJ1OqYWEKk/xJd84tTSPo1mo6DXLObAJALNnd0Hrv7Ng==",
|
||||
"dev": true
|
||||
},
|
||||
"@lezer/highlight": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@lezer/highlight/-/highlight-1.1.3.tgz",
|
||||
"integrity": "sha512-3vLKLPThO4td43lYRBygmMY18JN3CPh9w+XS2j8WC30vR4yZeFG4z1iFe4jXE43NtGqe//zHW5q8ENLlHvz9gw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@lezer/common": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"@lezer/lr": {
|
||||
"version": "1.2.5",
|
||||
"resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.2.5.tgz",
|
||||
"integrity": "sha512-f9319YG1A/3ysgUE3bqCHEd7g+3ZZ71MWlwEc42mpnLVYXgfJJgtu1XAyBB4Kz8FmqmnFe9caopDqKeMMMAU6g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@lezer/common": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"@nodelib/fs.scandir": {
|
||||
"version": "2.1.5",
|
||||
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
|
||||
|
|
@ -2630,6 +2838,12 @@
|
|||
"esutils": "^2.0.2"
|
||||
}
|
||||
},
|
||||
"emoji-regex": {
|
||||
"version": "10.2.1",
|
||||
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.2.1.tgz",
|
||||
"integrity": "sha512-97g6QgOk8zlDRdgq1WxwgTMgEWGVAQvB5Fdpgc1MkNy56la5SKP9GsMXKDOdqwn90/41a8yPwIGk1Y6WVbeMQA==",
|
||||
"dev": true
|
||||
},
|
||||
"esbuild": {
|
||||
"version": "0.14.47",
|
||||
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.47.tgz",
|
||||
|
|
@ -3170,6 +3384,12 @@
|
|||
"integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
|
||||
"dev": true
|
||||
},
|
||||
"immediate": {
|
||||
"version": "3.0.6",
|
||||
"resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
|
||||
"integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==",
|
||||
"dev": true
|
||||
},
|
||||
"import-fresh": {
|
||||
"version": "3.3.0",
|
||||
"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
|
||||
|
|
@ -3283,6 +3503,24 @@
|
|||
"type-check": "~0.4.0"
|
||||
}
|
||||
},
|
||||
"lie": {
|
||||
"version": "3.1.1",
|
||||
"resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz",
|
||||
"integrity": "sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"immediate": "~3.0.5"
|
||||
}
|
||||
},
|
||||
"localforage": {
|
||||
"version": "1.10.0",
|
||||
"resolved": "https://registry.npmjs.org/localforage/-/localforage-1.10.0.tgz",
|
||||
"integrity": "sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"lie": "3.1.1"
|
||||
}
|
||||
},
|
||||
"locate-path": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
|
||||
|
|
@ -3309,6 +3547,12 @@
|
|||
"yallist": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"luxon": {
|
||||
"version": "2.5.0",
|
||||
"resolved": "https://registry.npmjs.org/luxon/-/luxon-2.5.0.tgz",
|
||||
"integrity": "sha512-IDkEPB80Rb6gCAU+FEib0t4FeJ4uVOuX1CQ9GsvU3O+JAGIgu0J7sf1OarXKaKDygTZIoJyU6YdZzTFRu+YR0A==",
|
||||
"dev": true
|
||||
},
|
||||
"merge2": {
|
||||
"version": "1.4.1",
|
||||
"resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
|
||||
|
|
@ -3376,6 +3620,70 @@
|
|||
"moment": "2.29.4"
|
||||
}
|
||||
},
|
||||
"obsidian-calendar-ui": {
|
||||
"version": "0.3.12",
|
||||
"resolved": "https://registry.npmjs.org/obsidian-calendar-ui/-/obsidian-calendar-ui-0.3.12.tgz",
|
||||
"integrity": "sha512-hdoRqCPnukfRgCARgArXaqMQZ+Iai0eY7f0ZsFHHfywpv4gKg3Tx5p47UsLvRO5DD+4knlbrL7Gel57MkfcLTw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"obsidian-daily-notes-interface": "0.8.4",
|
||||
"svelte": "3.35.0",
|
||||
"tslib": "2.1.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"tslib": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz",
|
||||
"integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"obsidian-daily-notes-interface": {
|
||||
"version": "0.8.4",
|
||||
"resolved": "https://registry.npmjs.org/obsidian-daily-notes-interface/-/obsidian-daily-notes-interface-0.8.4.tgz",
|
||||
"integrity": "sha512-REKQtAuIOKDbvNH/th1C1gWmJWCP5tRn9T/mfZGZt4Zncgko7McXK0aSKFtEInipvgbZJ2nScivvyLdiWluSMw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"obsidian": "github:obsidianmd/obsidian-api#master",
|
||||
"tslib": "2.1.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"obsidian": {
|
||||
"version": "git+ssh://git@github.com/obsidianmd/obsidian-api.git#38dd22168d2925086371bfc59e36fd9121527a39",
|
||||
"dev": true,
|
||||
"from": "obsidian@github:obsidianmd/obsidian-api#master",
|
||||
"requires": {
|
||||
"@types/codemirror": "0.0.108",
|
||||
"moment": "2.29.4"
|
||||
}
|
||||
},
|
||||
"tslib": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz",
|
||||
"integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"obsidian-dataview": {
|
||||
"version": "0.5.51",
|
||||
"resolved": "https://registry.npmjs.org/obsidian-dataview/-/obsidian-dataview-0.5.51.tgz",
|
||||
"integrity": "sha512-DXf+CdsWdBBVIIVJjhFE1V3voWjIp5I6ZT5KrU20fMMMbOw9DBRA6UvPFNaGVvXKfTgmrvxbR8Xx05mhnKTu0g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@codemirror/language": "git+https://github.com/lishid/cm-language.git",
|
||||
"@codemirror/state": "^6.0.1",
|
||||
"@codemirror/view": "^6.0.1",
|
||||
"emoji-regex": "^10.0.0",
|
||||
"localforage": "^1.10.0",
|
||||
"luxon": "^2.4.0",
|
||||
"obsidian-calendar-ui": "^0.3.12",
|
||||
"papaparse": "^5.3.1",
|
||||
"parsimmon": "^1.18.0",
|
||||
"preact": "^10.6.5"
|
||||
}
|
||||
},
|
||||
"once": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
|
||||
|
|
@ -3421,6 +3729,12 @@
|
|||
"p-limit": "^3.0.2"
|
||||
}
|
||||
},
|
||||
"papaparse": {
|
||||
"version": "5.3.2",
|
||||
"resolved": "https://registry.npmjs.org/papaparse/-/papaparse-5.3.2.tgz",
|
||||
"integrity": "sha512-6dNZu0Ki+gyV0eBsFKJhYr+MdQYAzFUGlBMNj3GNrmHxmz1lfRa24CjFObPXtjcetlOv5Ad299MhIK0znp3afw==",
|
||||
"dev": true
|
||||
},
|
||||
"parent-module": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
|
||||
|
|
@ -3431,6 +3745,12 @@
|
|||
"callsites": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"parsimmon": {
|
||||
"version": "1.18.1",
|
||||
"resolved": "https://registry.npmjs.org/parsimmon/-/parsimmon-1.18.1.tgz",
|
||||
"integrity": "sha512-u7p959wLfGAhJpSDJVYXoyMCXWYwHia78HhRBWqk7AIbxdmlrfdp5wX0l3xv/iTSH5HvhN9K7o26hwwpgS5Nmw==",
|
||||
"dev": true
|
||||
},
|
||||
"path-exists": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
|
||||
|
|
@ -3464,6 +3784,12 @@
|
|||
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
|
||||
"dev": true
|
||||
},
|
||||
"preact": {
|
||||
"version": "10.11.3",
|
||||
"resolved": "https://registry.npmjs.org/preact/-/preact-10.11.3.tgz",
|
||||
"integrity": "sha512-eY93IVpod/zG3uMF22Unl8h9KkrcKIRs2EGar8hwLZZDU1lkjph303V9HZBwufh2s736U6VXuhD109LYqPoffg==",
|
||||
"dev": true
|
||||
},
|
||||
"prelude-ls": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
|
||||
|
|
@ -3581,8 +3907,7 @@
|
|||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.0.0.tgz",
|
||||
"integrity": "sha512-OPhtyEjyyN9x3nhPsu76f52yUGXiZcgvsrFVtvTkyGRQJ0XK+GPc6ov1z+lRpbeabka+MYEQxOYRnt5nF30aMw==",
|
||||
"dev": true,
|
||||
"peer": true
|
||||
"dev": true
|
||||
},
|
||||
"supports-color": {
|
||||
"version": "7.2.0",
|
||||
|
|
@ -3594,6 +3919,12 @@
|
|||
"has-flag": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"svelte": {
|
||||
"version": "3.35.0",
|
||||
"resolved": "https://registry.npmjs.org/svelte/-/svelte-3.35.0.tgz",
|
||||
"integrity": "sha512-gknlZkR2sXheu/X+B7dDImwANVvK1R0QGQLd8CNIfxxGPeXBmePnxfzb6fWwTQRsYQG7lYkZXvpXJvxvpsoB7g==",
|
||||
"dev": true
|
||||
},
|
||||
"text-table": {
|
||||
"version": "0.2.0",
|
||||
"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
|
||||
|
|
@ -3677,8 +4008,7 @@
|
|||
"version": "2.2.6",
|
||||
"resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.6.tgz",
|
||||
"integrity": "sha512-f+fciywl1SJEniZHD6H+kUO8gOnwIr7f4ijKA6+ZvJFjeGi1r4PDLl53Ayud9O/rk64RqgoQine0feoeOU0kXg==",
|
||||
"dev": true,
|
||||
"peer": true
|
||||
"dev": true
|
||||
},
|
||||
"which": {
|
||||
"version": "2.0.2",
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@
|
|||
"esbuild-copy-static-files": "^0.1.0",
|
||||
"handlebars": "4.7.7",
|
||||
"obsidian": "latest",
|
||||
"obsidian-dataview": "^0.5.51",
|
||||
"tslib": "2.4.0",
|
||||
"typescript": "4.7.4"
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue