|
1 |
| -import { App, Notice, TAbstractFile } from "obsidian"; |
| 1 | +import { App, Notice } from "obsidian"; |
2 | 2 | import { Action } from "src/action/action";
|
3 | 3 | import { Readable } from "./readable";
|
4 | 4 | import { getAPI } from "obsidian-dataview";
|
@@ -26,9 +26,24 @@ export class DataviewReader implements Readable {
|
26 | 26 |
|
27 | 27 | let idx = this.queryStr.indexOf(".pages(");
|
28 | 28 | if (idx > 0) {
|
29 |
| - let tmpStr = this.queryStr.substring(idx + 8); |
| 29 | + // DataviewJS |
| 30 | + let tmpStr = this.queryStr.substring(idx + 7); |
30 | 31 | let tmpIdx = tmpStr.indexOf(")");
|
31 |
| - tmpStr = tmpStr.substring(0, tmpIdx - 1); |
| 32 | + tmpStr = tmpStr.substring(0, tmpIdx); |
| 33 | + if (tmpStr.indexOf("'") >= 0 || tmpStr.indexOf("\"") >= 0) { |
| 34 | + // pages()方法中的参数是字符串,直接处理 |
| 35 | + tmpStr = tmpStr.substring(1, tmpStr.length - 1); |
| 36 | + } else { |
| 37 | + // pages()方法中的参数是变量,根据变量查找字符串 |
| 38 | + let nTmpStr = this.queryStr.substring(0, idx); |
| 39 | + idx = nTmpStr.indexOf(tmpStr); |
| 40 | + tmpStr = nTmpStr.substring(idx + tmpStr.length); |
| 41 | + idx = tmpStr.indexOf("'"); |
| 42 | + tmpStr = tmpStr.substring(idx + 1); |
| 43 | + idx = tmpStr.indexOf("'"); |
| 44 | + tmpStr = tmpStr.substring(0, idx); |
| 45 | + } |
| 46 | + |
32 | 47 | try {
|
33 | 48 | let resArr = api.pages(tmpStr);
|
34 | 49 | resArr.values.forEach((it: { file: { path: string; }; }) => {
|
|
0 commit comments