mirror of https://git.door43.org/Andley/BG4e
vault backup: 2023-02-17 14:50:59
Affected files: .obsidian/plugins/control-characters/data.json .obsidian/plugins/obsidian-git/main.js .obsidian/plugins/obsidian-git/manifest.json .obsidian/workspace.json 62-1John/123John-Style.md
This commit is contained in:
parent
e625fe4487
commit
7dbb59ecb1
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"newLine": false,
|
"newLine": false,
|
||||||
"tab": false,
|
"tab": true,
|
||||||
"space": true,
|
"space": true,
|
||||||
"enabled": true,
|
"enabled": true,
|
||||||
"selection": false
|
"selection": false
|
||||||
|
|
|
@ -19368,7 +19368,7 @@ var MyAdapter = class {
|
||||||
return this.adapter.read(path2);
|
return this.adapter.read(path2);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (path2.endsWith(".git/index")) {
|
if (path2.endsWith(this.gitDir + "/index")) {
|
||||||
return (_a2 = this.index) != null ? _a2 : this.adapter.readBinary(path2);
|
return (_a2 = this.index) != null ? _a2 : this.adapter.readBinary(path2);
|
||||||
}
|
}
|
||||||
const file = this.vault.getAbstractFileByPath(path2);
|
const file = this.vault.getAbstractFileByPath(path2);
|
||||||
|
@ -19390,7 +19390,7 @@ var MyAdapter = class {
|
||||||
return this.adapter.write(path2, data);
|
return this.adapter.write(path2, data);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (path2.endsWith(".git/index")) {
|
if (path2.endsWith(this.gitDir + "/index")) {
|
||||||
this.index = data;
|
this.index = data;
|
||||||
this.indexmtime = Date.now();
|
this.indexmtime = Date.now();
|
||||||
} else {
|
} else {
|
||||||
|
@ -19424,7 +19424,7 @@ var MyAdapter = class {
|
||||||
return this.adapter.rmdir(path2, (_b = (_a2 = opts == null ? void 0 : opts.options) == null ? void 0 : _a2.recursive) != null ? _b : false);
|
return this.adapter.rmdir(path2, (_b = (_a2 = opts == null ? void 0 : opts.options) == null ? void 0 : _a2.recursive) != null ? _b : false);
|
||||||
}
|
}
|
||||||
async stat(path2) {
|
async stat(path2) {
|
||||||
if (path2.endsWith(".git/index")) {
|
if (path2.endsWith(this.gitDir + "/index")) {
|
||||||
if (this.index !== void 0 && this.indexctime != void 0 && this.indexmtime != void 0) {
|
if (this.index !== void 0 && this.indexctime != void 0 && this.indexmtime != void 0) {
|
||||||
return {
|
return {
|
||||||
isFile: () => true,
|
isFile: () => true,
|
||||||
|
@ -19499,7 +19499,7 @@ var MyAdapter = class {
|
||||||
}
|
}
|
||||||
async saveAndClear() {
|
async saveAndClear() {
|
||||||
if (this.index !== void 0) {
|
if (this.index !== void 0) {
|
||||||
await this.adapter.writeBinary(this.plugin.gitManager.getVaultPath(".git/index"), this.index, {
|
await this.adapter.writeBinary(this.plugin.gitManager.getVaultPath(this.gitDir + "/index"), this.index, {
|
||||||
ctime: this.indexctime,
|
ctime: this.indexctime,
|
||||||
mtime: this.indexmtime
|
mtime: this.indexmtime
|
||||||
});
|
});
|
||||||
|
@ -19508,6 +19508,10 @@ var MyAdapter = class {
|
||||||
this.indexctime = void 0;
|
this.indexctime = void 0;
|
||||||
this.indexmtime = void 0;
|
this.indexmtime = void 0;
|
||||||
}
|
}
|
||||||
|
get gitDir() {
|
||||||
|
var _a2;
|
||||||
|
return (_a2 = this.plugin.settings.gitDir) != null ? _a2 : ".git";
|
||||||
|
}
|
||||||
maybeLog(text2) {
|
maybeLog(text2) {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -19644,13 +19648,15 @@ var IsomorphicGit = class extends GitManager {
|
||||||
this.fs = new MyAdapter(this.app.vault, this.plugin);
|
this.fs = new MyAdapter(this.app.vault, this.plugin);
|
||||||
}
|
}
|
||||||
getRepo() {
|
getRepo() {
|
||||||
|
var _a2;
|
||||||
return {
|
return {
|
||||||
fs: this.fs,
|
fs: this.fs,
|
||||||
dir: this.plugin.settings.basePath,
|
dir: this.plugin.settings.basePath,
|
||||||
|
gitdir: (_a2 = this.plugin.settings.gitDir) != null ? _a2 : void 0,
|
||||||
onAuth: () => {
|
onAuth: () => {
|
||||||
var _a2, _b;
|
var _a3, _b;
|
||||||
return {
|
return {
|
||||||
username: (_a2 = this.plugin.localStorage.getUsername()) != null ? _a2 : void 0,
|
username: (_a3 = this.plugin.localStorage.getUsername()) != null ? _a3 : void 0,
|
||||||
password: (_b = this.plugin.localStorage.getPassword()) != null ? _b : void 0
|
password: (_b = this.plugin.localStorage.getPassword()) != null ? _b : void 0
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
@ -24138,11 +24144,20 @@ var SimpleGit = class extends GitManager {
|
||||||
binary: this.plugin.localStorage.getGitPath() || void 0,
|
binary: this.plugin.localStorage.getGitPath() || void 0,
|
||||||
config: ["core.quotepath=off"]
|
config: ["core.quotepath=off"]
|
||||||
});
|
});
|
||||||
const env = this.plugin.localStorage.getPATHPaths();
|
const pathPaths = this.plugin.localStorage.getPATHPaths();
|
||||||
if (env.length > 0) {
|
const envVars = this.plugin.localStorage.getEnvVars();
|
||||||
const path3 = process.env["PATH"] + ":" + env.join(":");
|
const gitDir = this.plugin.settings.gitDir;
|
||||||
|
if (pathPaths.length > 0) {
|
||||||
|
const path3 = process.env["PATH"] + ":" + pathPaths.join(":");
|
||||||
process.env["PATH"] = path3;
|
process.env["PATH"] = path3;
|
||||||
}
|
}
|
||||||
|
if (gitDir) {
|
||||||
|
process.env["GIT_DIR"] = gitDir;
|
||||||
|
}
|
||||||
|
for (const envVar of envVars) {
|
||||||
|
const [key2, value] = envVar.split("=");
|
||||||
|
process.env[key2] = value;
|
||||||
|
}
|
||||||
const debug2 = require_browser();
|
const debug2 = require_browser();
|
||||||
debug2.enable("simple-git");
|
debug2.enable("simple-git");
|
||||||
await this.git.cwd(await this.git.revparse("--show-toplevel"));
|
await this.git.cwd(await this.git.revparse("--show-toplevel"));
|
||||||
|
@ -24742,6 +24757,14 @@ var ObsidianGitSettingsTab = class extends import_obsidian7.PluginSettingTab {
|
||||||
plugin.gitManager.updateGitPath(value || "git");
|
plugin.gitManager.updateGitPath(value || "git");
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
if (plugin.gitManager instanceof SimpleGit)
|
||||||
|
new import_obsidian7.Setting(containerEl).setName("Additional environment variables").setDesc("Use each line for a new environment variable in the format KEY=VALUE").addTextArea((cb) => {
|
||||||
|
cb.setPlaceholder("GIT_DIR=/path/to/git/dir");
|
||||||
|
cb.setValue(plugin.localStorage.getEnvVars().join("\n"));
|
||||||
|
cb.onChange((value) => {
|
||||||
|
plugin.localStorage.setEnvVars(value.split("\n"));
|
||||||
|
});
|
||||||
|
});
|
||||||
if (plugin.gitManager instanceof SimpleGit)
|
if (plugin.gitManager instanceof SimpleGit)
|
||||||
new import_obsidian7.Setting(containerEl).setName("Additional PATH environment variable paths").setDesc("Use each line for one path").addTextArea((cb) => {
|
new import_obsidian7.Setting(containerEl).setName("Additional PATH environment variable paths").setDesc("Use each line for one path").addTextArea((cb) => {
|
||||||
cb.setValue(plugin.localStorage.getPATHPaths().join("\n"));
|
cb.setValue(plugin.localStorage.getPATHPaths().join("\n"));
|
||||||
|
@ -24750,7 +24773,7 @@ var ObsidianGitSettingsTab = class extends import_obsidian7.PluginSettingTab {
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
if (plugin.gitManager instanceof SimpleGit)
|
if (plugin.gitManager instanceof SimpleGit)
|
||||||
new import_obsidian7.Setting(containerEl).setName("Reload with new PATH environment variable").addButton((cb) => {
|
new import_obsidian7.Setting(containerEl).setName("Reload with new environment variables").setDesc("Removing previously added environment variables will not take effect until Obsidian is restarted.").addButton((cb) => {
|
||||||
cb.setButtonText("Reload");
|
cb.setButtonText("Reload");
|
||||||
cb.setCta();
|
cb.setCta();
|
||||||
cb.onClick(() => {
|
cb.onClick(() => {
|
||||||
|
@ -24769,6 +24792,14 @@ var ObsidianGitSettingsTab = class extends import_obsidian7.PluginSettingTab {
|
||||||
plugin.gitManager.updateBasePath(value || "");
|
plugin.gitManager.updateBasePath(value || "");
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
new import_obsidian7.Setting(containerEl).setName("Custom Git directory path (Instead of '.git')").setDesc(`Requires restart of Obsidian to take effect. Use "\\" instead of "/" on Windows.`).addText((cb) => {
|
||||||
|
cb.setValue(plugin.settings.gitDir);
|
||||||
|
cb.setPlaceholder(".git");
|
||||||
|
cb.onChange((value) => {
|
||||||
|
plugin.settings.gitDir = value;
|
||||||
|
plugin.saveSettings();
|
||||||
|
});
|
||||||
|
});
|
||||||
new import_obsidian7.Setting(containerEl).setName("Disable on this device").addToggle((toggle) => toggle.setValue(plugin.localStorage.getPluginDisabled()).onChange((value) => {
|
new import_obsidian7.Setting(containerEl).setName("Disable on this device").addToggle((toggle) => toggle.setValue(plugin.localStorage.getPluginDisabled()).onChange((value) => {
|
||||||
plugin.localStorage.setPluginDisabled(value);
|
plugin.localStorage.setPluginDisabled(value);
|
||||||
if (value) {
|
if (value) {
|
||||||
|
@ -25088,6 +25119,13 @@ var LocalStorageSettings = class {
|
||||||
setPATHPaths(value) {
|
setPATHPaths(value) {
|
||||||
return app.saveLocalStorage(this.prefix + "PATHPaths", value.join(":"));
|
return app.saveLocalStorage(this.prefix + "PATHPaths", value.join(":"));
|
||||||
}
|
}
|
||||||
|
getEnvVars() {
|
||||||
|
var _a2;
|
||||||
|
return JSON.parse((_a2 = app.loadLocalStorage(this.prefix + "envVars")) != null ? _a2 : "[]");
|
||||||
|
}
|
||||||
|
setEnvVars(value) {
|
||||||
|
return app.saveLocalStorage(this.prefix + "envVars", JSON.stringify(value));
|
||||||
|
}
|
||||||
getPluginDisabled() {
|
getPluginDisabled() {
|
||||||
return app.loadLocalStorage(this.prefix + "pluginDisabled") == "true";
|
return app.loadLocalStorage(this.prefix + "pluginDisabled") == "true";
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,5 +5,5 @@
|
||||||
"isDesktopOnly": false,
|
"isDesktopOnly": false,
|
||||||
"fundingUrl": "https://ko-fi.com/vinzent",
|
"fundingUrl": "https://ko-fi.com/vinzent",
|
||||||
"js": "main.js",
|
"js": "main.js",
|
||||||
"version": "2.15.0"
|
"version": "2.16.0"
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
"state": {
|
"state": {
|
||||||
"type": "markdown",
|
"type": "markdown",
|
||||||
"state": {
|
"state": {
|
||||||
"file": "62-1John/1John-Interlinear-TC.md",
|
"file": "62-1John/123John-Style.md",
|
||||||
"mode": "source",
|
"mode": "source",
|
||||||
"backlinks": false,
|
"backlinks": false,
|
||||||
"source": true
|
"source": true
|
||||||
|
@ -35,7 +35,7 @@
|
||||||
"state": {
|
"state": {
|
||||||
"type": "markdown",
|
"type": "markdown",
|
||||||
"state": {
|
"state": {
|
||||||
"file": "62-1John/1John-Interlinear-TC.md",
|
"file": "62-1John/123John-Style.md",
|
||||||
"mode": "preview",
|
"mode": "preview",
|
||||||
"backlinks": false,
|
"backlinks": false,
|
||||||
"source": true
|
"source": true
|
||||||
|
@ -109,7 +109,7 @@
|
||||||
"state": {
|
"state": {
|
||||||
"type": "outline",
|
"type": "outline",
|
||||||
"state": {
|
"state": {
|
||||||
"file": "62-1John/1John-Interlinear-TC.md"
|
"file": "62-1John/123John-Style.md"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -130,7 +130,7 @@
|
||||||
"state": {
|
"state": {
|
||||||
"type": "backlink",
|
"type": "backlink",
|
||||||
"state": {
|
"state": {
|
||||||
"file": "62-1John/1John-Interlinear-TC.md",
|
"file": "62-1John/123John-Style.md",
|
||||||
"collapseAll": false,
|
"collapseAll": false,
|
||||||
"extraContext": false,
|
"extraContext": false,
|
||||||
"sortOrder": "alphabetical",
|
"sortOrder": "alphabetical",
|
||||||
|
@ -147,7 +147,7 @@
|
||||||
"state": {
|
"state": {
|
||||||
"type": "outgoing-link",
|
"type": "outgoing-link",
|
||||||
"state": {
|
"state": {
|
||||||
"file": "62-1John/1John-Interlinear-TC.md",
|
"file": "62-1John/123John-Style.md",
|
||||||
"linksCollapsed": false,
|
"linksCollapsed": false,
|
||||||
"unlinkedCollapsed": true
|
"unlinkedCollapsed": true
|
||||||
}
|
}
|
||||||
|
@ -170,17 +170,17 @@
|
||||||
"workspaces:Manage workspace layouts": false
|
"workspaces:Manage workspace layouts": false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"active": "75b75d906b38f1fb",
|
"active": "1a81d9f000627cca",
|
||||||
"lastOpenFiles": [
|
"lastOpenFiles": [
|
||||||
"62-1John/1John-Interlinear.md",
|
"62-1John/1Jo.1.1-4.md",
|
||||||
"62-1John/1John-Notes.md",
|
"62-1John/123John-Style.md",
|
||||||
"62-1John/1John-Interlinear-TC.md",
|
"62-1John/1John-Interlinear-TC.md",
|
||||||
"62-1John/1John-Interlinear.md",
|
"62-1John/1John-Interlinear.md",
|
||||||
|
"62-1John/1John-Notes.md",
|
||||||
|
"62-1John/1John-Interlinear.md",
|
||||||
"62-1John/123John-Vocabulary.md",
|
"62-1John/123John-Vocabulary.md",
|
||||||
"62-1John/123John-Style.md",
|
|
||||||
"62-1John/123John-Clause.md",
|
"62-1John/123John-Clause.md",
|
||||||
"62-1John/1Jo.3.19-24.md",
|
"62-1John/1Jo.3.19-24.md",
|
||||||
"48-Galatians/Gal.3.7-14.md",
|
"48-Galatians/Gal.3.7-14.md"
|
||||||
"49-Ephesians/Eph.3.16-19.md"
|
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -6,7 +6,7 @@
|
||||||
### (2) ἐν τούτῳ 的 τούτῳ 指向下文
|
### (2) ἐν τούτῳ 的 τούτῳ 指向下文
|
||||||
其次,就句法來看,ἐν τούτῳ 這個介系詞片語總共出現 14 次 (1 Jo. 2:3, 4, 5 [2x]; 3:10, 16, 19, 24; 4:2, 9, 10, 13, 17; 5:2)。解經時最大的挑戰,就是要釐清 τούτῳ 指的是什麼?究竟是指向上文的子句、字詞、概念 (句法上所謂的「前指 anaphoric」),又或者是指向下文的子句、字詞、概念 (句法上所謂的「後指 cataphoric」)。
|
其次,就句法來看,ἐν τούτῳ 這個介系詞片語總共出現 14 次 (1 Jo. 2:3, 4, 5 [2x]; 3:10, 16, 19, 24; 4:2, 9, 10, 13, 17; 5:2)。解經時最大的挑戰,就是要釐清 τούτῳ 指的是什麼?究竟是指向上文的子句、字詞、概念 (句法上所謂的「前指 anaphoric」),又或者是指向下文的子句、字詞、概念 (句法上所謂的「後指 cataphoric」)。
|
||||||
|
|
||||||
Bateman[^1] 歸納出來一個原則:如果 ἐν τούτῳ 後面有 ὅτι、ἵνα、ἐάν、ὅταν 帶出來的從屬子句,那麼 τούτῳ 就是 cataphoric (後指);反過來說,如果 ἐν τούτῳ 後面沒有這些從屬子句,那麼 τούτῳ 就是 anaphoric (前指)。
|
Bateman 歸納出來一個原則:如果 ἐν τούτῳ 後面有 ὅτι、ἵνα、ἐάν、ὅταν 帶出來的從屬子句,那麼 τούτῳ 就是 cataphoric (後指);反過來說,如果 ἐν τούτῳ 後面沒有這些從屬子句,那麼 τούτῳ 就是 anaphoric (前指)。[^1]
|
||||||
|
|
||||||
這個原則,如果搭配 UBS5 的標點符號,就會看得更加清楚。以 1Jo 2:3 為例:
|
這個原則,如果搭配 UBS5 的標點符號,就會看得更加清楚。以 1Jo 2:3 為例:
|
||||||
|
|
||||||
|
@ -72,9 +72,9 @@ Bateman[^1] 歸納出來一個原則:如果 ἐν τούτῳ 後面有 ὅτ
|
||||||
- <mark>(there) is not any lie out-of the truth</mark> 比較好,可以合乎規則 😀
|
- <mark>(there) is not any lie out-of the truth</mark> 比較好,可以合乎規則 😀
|
||||||
- πᾶν πνεῦμα <ὃ ὁμολογεῖ Ἰησοῦν Χριστὸν ἐν σαρκὶ ἐληλυθότα> ἐκ τοῦ θεοῦ ἐστιν, (1 Jn. 4:2)
|
- πᾶν πνεῦμα <ὃ ὁμολογεῖ Ἰησοῦν Χριστὸν ἐν σαρκὶ ἐληλυθότα> ἐκ τοῦ θεοῦ ἐστιν, (1 Jn. 4:2)
|
||||||
- all spirit <...> is out-of the God
|
- all spirit <...> is out-of the God
|
||||||
- all spirit <...> <mark>‖ (it) is out-of the God</mark> 切成兩個子句,就合乎規則 😀
|
- all spirit <...> ‖ <mark>(it) is out-of the God</mark> 切成兩個子句,就合乎規則 😀
|
||||||
- καὶ πᾶν πνεῦμα <ὃ μὴ ὁμολογεῖ τὸν Ἰησοῦν> ἐκ τοῦ θεοῦ οὐκ ἔστιν (1 Jn. 4:3)
|
- καὶ πᾶν πνεῦμα <ὃ μὴ ὁμολογεῖ τὸν Ἰησοῦν> ἐκ τοῦ θεοῦ οὐκ ἔστιν (1 Jn. 4:3)
|
||||||
- and all spirit <...> is not out-of the God
|
- and all spirit <...> is not out-of the God
|
||||||
- and all spirit <...> <mark>‖ (it) is not out-of the God</mark> 切成兩個子句,就合乎規則 😀
|
- and all spirit <...> ‖ <mark>(it) is not out-of the God</mark> 切成兩個子句,就合乎規則 😀
|
||||||
|
|
||||||
[^1]: Herbert W. Bateman IV, _John’s Letters: An Exegetical Guide for Preaching and Teaching_, Big Greek Idea (Grand Rapids, MI.: Kregel Academic, 2018), 55.
|
[^1]: Herbert W. Bateman IV, _John’s Letters: An Exegetical Guide for Preaching and Teaching_, Big Greek Idea (Grand Rapids, MI.: Kregel Academic, 2018), 55.
|
Loading…
Reference in New Issue