1
0
Fork 0

fix automatic attachment updates, add some missing folder notes, adjust 'using the vault' to match fixed form of attachment management

This commit is contained in:
KemoNine 2024-11-29 08:32:34 -05:00
parent 69b5c11f3e
commit ab6c50d4b9
46 changed files with 279 additions and 9340 deletions

View file

@ -9,6 +9,5 @@
"obsidian-advanced-uri",
"folder-notes",
"waypoint",
"consistent-attachments-and-links",
"obsidian-custom-attachment-location"
"consistent-attachments-and-links"
]

View file

@ -40,6 +40,11 @@ const availableOptions = {
default: true,
comment: 'Make headings clickable',
},
hideWhenEmpty: {
type: 'boolean',
default: false,
comment: 'Hide TOC if no headings are found'
},
debugInConsole: {
type: 'boolean',
default: false,
@ -130,13 +135,18 @@ function getMarkdownFromHeadings(headings, options) {
nestedOrderedList: getMarkdownNestedOrderedListFromHeadings,
inlineFirstLevel: getMarkdownInlineFirstLevelFromHeadings,
}
let markdown = ''
let titleMarkdown = ''
if (options.title && options.title.length > 0) {
markdown += options.title + '\n'
titleMarkdown += options.title + '\n'
}
const noHeadingMessage = '_Table of contents: no headings found_'
markdown += markdownHandlersByStyle[options.style](headings, options) || noHeadingMessage
return markdown
const markdownHeadings = markdownHandlersByStyle[options.style](headings, options)
if (markdownHeadings === null) {
if (options.hideWhenEmpty) {
return ''
}
return titleMarkdown + '_Table of contents: no headings found_'
}
return titleMarkdown + markdownHeadings
}
function getMarkdownNestedListFromHeadings(headings, options) {
@ -289,3 +299,5 @@ if (isObsidian()) {
getMarkdownFromHeadings,
}
}
/* nosourcemap */

View file

@ -1,7 +1,7 @@
{
"id": "automatic-table-of-contents",
"name": "Automatic Table Of Contents",
"version": "1.4.0",
"version": "1.5.0",
"minAppVersion": "1.3.0",
"description": "Create a table of contents in a note, that updates itself when the note changes",
"author": "Johan Satgé",

View file

@ -1,5 +1,5 @@
{
"autoCollectAttachments": false,
"autoCollectAttachments": true,
"changeNoteBacklinksAlt": true,
"consistencyReportFile": "consistency-report.md",
"deleteAttachmentsWithNote": true,
@ -7,14 +7,15 @@
"deleteExistFilesWhenMoveNote": false,
"ignoreFiles": [
"consistency\\-report\\.md",
".*attachments\\.md",
".*Source\\ Materials\\.md"
".*attachment.*\\.md",
".*Source\\ Material.*\\.md"
],
"ignoreFolders": [
".git/",
".obsidian/",
"_Templates/",
"Attic/"
"Attic/",
"Resources/"
],
"moveAttachmentsWithNote": true,
"showWarning": false,

View file

@ -3,6 +3,14 @@ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
if you want to view the source, please visit the github repository of this plugin
*/
(function patchRequireEsmDefault() {
const __require = require;
require = Object.assign((id) => {
const module2 = __require(id) ?? {};
return module2.__esModule && module2.default ? module2.default : module2;
}, __require);
})()
"use strict";
var __create = Object.create;
var __defProp = Object.defineProperty;
@ -41,8 +49,8 @@ var require_Function = __commonJS({
(function patchRequireEsmDefault() {
const __require = require;
require = Object.assign((id) => {
const module3 = __require(id);
return module3.__esModule && module3.default ? module3.default : module3;
const module22 = __require(id) ?? {};
return module22.__esModule && module22.default ? module22.default : module22;
}, __require);
})();
var __defProp2 = Object.defineProperty;
@ -840,8 +848,8 @@ var require_Error = __commonJS({
(function patchRequireEsmDefault() {
const __require = require;
require = Object.assign((id) => {
const module3 = __require(id);
return module3.__esModule && module3.default ? module3.default : module3;
const module22 = __require(id) ?? {};
return module22.__esModule && module22.default ? module22.default : module22;
}, __require);
})();
var __defProp2 = Object.defineProperty;
@ -944,8 +952,8 @@ var require_RegExp = __commonJS({
(function patchRequireEsmDefault() {
const __require = require;
require = Object.assign((id) => {
const module3 = __require(id);
return module3.__esModule && module3.default ? module3.default : module3;
const module22 = __require(id) ?? {};
return module22.__esModule && module22.default ? module22.default : module22;
}, __require);
})();
var __defProp2 = Object.defineProperty;
@ -982,8 +990,8 @@ var require_ValueProvider = __commonJS({
(function patchRequireEsmDefault() {
const __require = require;
require = Object.assign((id) => {
const module3 = __require(id);
return module3.__esModule && module3.default ? module3.default : module3;
const module22 = __require(id) ?? {};
return module22.__esModule && module22.default ? module22.default : module22;
}, __require);
})();
var __defProp2 = Object.defineProperty;
@ -1027,8 +1035,8 @@ var require_String = __commonJS({
(function patchRequireEsmDefault() {
const __require = require;
require = Object.assign((id) => {
const module3 = __require(id);
return module3.__esModule && module3.default ? module3.default : module3;
const module22 = __require(id) ?? {};
return module22.__esModule && module22.default ? module22.default : module22;
}, __require);
})();
var __defProp2 = Object.defineProperty;
@ -1142,8 +1150,8 @@ var require_Path = __commonJS({
(function patchRequireEsmDefault() {
const __require = require;
require = Object.assign((id) => {
const module3 = __require(id);
return module3.__esModule && module3.default ? module3.default : module3;
const module22 = __require(id) ?? {};
return module22.__esModule && module22.default ? module22.default : module22;
}, __require);
})();
var __create2 = Object.create;
@ -1249,8 +1257,8 @@ var require_FileSystem = __commonJS({
(function patchRequireEsmDefault() {
const __require = require;
require = Object.assign((id) => {
const module3 = __require(id);
return module3.__esModule && module3.default ? module3.default : module3;
const module22 = __require(id) ?? {};
return module22.__esModule && module22.default ? module22.default : module22;
}, __require);
})();
var __defProp2 = Object.defineProperty;
@ -1431,8 +1439,8 @@ var require_PluginSettings = __commonJS({
(function patchRequireEsmDefault() {
const __require = require;
require = Object.assign((id) => {
const module3 = __require(id);
return module3.__esModule && module3.default ? module3.default : module3;
const module22 = __require(id) ?? {};
return module22.__esModule && module22.default ? module22.default : module22;
}, __require);
})();
var __defProp2 = Object.defineProperty;
@ -1482,8 +1490,8 @@ var require_PluginBase = __commonJS({
(function patchRequireEsmDefault() {
const __require = require;
require = Object.assign((id) => {
const module3 = __require(id);
return module3.__esModule && module3.default ? module3.default : module3;
const module22 = __require(id) ?? {};
return module22.__esModule && module22.default ? module22.default : module22;
}, __require);
})();
var __defProp2 = Object.defineProperty;
@ -1633,8 +1641,8 @@ var require_Async = __commonJS({
(function patchRequireEsmDefault() {
const __require = require;
require = Object.assign((id) => {
const module3 = __require(id);
return module3.__esModule && module3.default ? module3.default : module3;
const module22 = __require(id) ?? {};
return module22.__esModule && module22.default ? module22.default : module22;
}, __require);
})();
var __defProp2 = Object.defineProperty;
@ -1780,8 +1788,8 @@ var require_App = __commonJS({
(function patchRequireEsmDefault() {
const __require = require;
require = Object.assign((id) => {
const module3 = __require(id);
return module3.__esModule && module3.default ? module3.default : module3;
const module22 = __require(id) ?? {};
return module22.__esModule && module22.default ? module22.default : module22;
}, __require);
})();
var __defProp2 = Object.defineProperty;
@ -1844,8 +1852,8 @@ var require_Logger = __commonJS({
(function patchRequireEsmDefault() {
const __require = require;
require = Object.assign((id) => {
const module3 = __require(id);
return module3.__esModule && module3.default ? module3.default : module3;
const module22 = __require(id) ?? {};
return module22.__esModule && module22.default ? module22.default : module22;
}, __require);
})();
var __defProp2 = Object.defineProperty;
@ -1909,8 +1917,8 @@ var require_Queue = __commonJS({
(function patchRequireEsmDefault() {
const __require = require;
require = Object.assign((id) => {
const module3 = __require(id);
return module3.__esModule && module3.default ? module3.default : module3;
const module22 = __require(id) ?? {};
return module22.__esModule && module22.default ? module22.default : module22;
}, __require);
})();
var __defProp2 = Object.defineProperty;
@ -2054,8 +2062,8 @@ var require_Object = __commonJS({
(function patchRequireEsmDefault() {
const __require = require;
require = Object.assign((id) => {
const module3 = __require(id);
return module3.__esModule && module3.default ? module3.default : module3;
const module22 = __require(id) ?? {};
return module22.__esModule && module22.default ? module22.default : module22;
}, __require);
})();
var __defProp2 = Object.defineProperty;
@ -2197,8 +2205,8 @@ var require_AttachmentPath = __commonJS({
(function patchRequireEsmDefault() {
const __require = require;
require = Object.assign((id) => {
const module3 = __require(id);
return module3.__esModule && module3.default ? module3.default : module3;
const module22 = __require(id) ?? {};
return module22.__esModule && module22.default ? module22.default : module22;
}, __require);
})();
var __defProp2 = Object.defineProperty;
@ -2289,8 +2297,8 @@ var require_FrontMatter = __commonJS({
(function patchRequireEsmDefault() {
const __require = require;
require = Object.assign((id) => {
const module3 = __require(id);
return module3.__esModule && module3.default ? module3.default : module3;
const module22 = __require(id) ?? {};
return module22.__esModule && module22.default ? module22.default : module22;
}, __require);
})();
var __defProp2 = Object.defineProperty;
@ -2344,8 +2352,8 @@ var require_Reference = __commonJS({
(function patchRequireEsmDefault() {
const __require = require;
require = Object.assign((id) => {
const module3 = __require(id);
return module3.__esModule && module3.default ? module3.default : module3;
const module22 = __require(id) ?? {};
return module22.__esModule && module22.default ? module22.default : module22;
}, __require);
})();
var __defProp2 = Object.defineProperty;
@ -2409,8 +2417,8 @@ var require_MetadataCache = __commonJS({
(function patchRequireEsmDefault() {
const __require = require;
require = Object.assign((id) => {
const module3 = __require(id);
return module3.__esModule && module3.default ? module3.default : module3;
const module22 = __require(id) ?? {};
return module22.__esModule && module22.default ? module22.default : module22;
}, __require);
})();
var __defProp2 = Object.defineProperty;
@ -2653,8 +2661,8 @@ var require_Vault = __commonJS({
(function patchRequireEsmDefault() {
const __require = require;
require = Object.assign((id) => {
const module3 = __require(id);
return module3.__esModule && module3.default ? module3.default : module3;
const module22 = __require(id) ?? {};
return module22.__esModule && module22.default ? module22.default : module22;
}, __require);
})();
var __defProp2 = Object.defineProperty;
@ -2927,8 +2935,8 @@ var require_FileChange = __commonJS({
(function patchRequireEsmDefault() {
const __require = require;
require = Object.assign((id) => {
const module3 = __require(id);
return module3.__esModule && module3.default ? module3.default : module3;
const module22 = __require(id) ?? {};
return module22.__esModule && module22.default ? module22.default : module22;
}, __require);
})();
var __defProp2 = Object.defineProperty;
@ -3067,8 +3075,8 @@ var require_ObsidianSettings = __commonJS({
(function patchRequireEsmDefault() {
const __require = require;
require = Object.assign((id) => {
const module3 = __require(id);
return module3.__esModule && module3.default ? module3.default : module3;
const module22 = __require(id) ?? {};
return module22.__esModule && module22.default ? module22.default : module22;
}, __require);
})();
var __defProp2 = Object.defineProperty;
@ -3109,8 +3117,8 @@ var require_Link = __commonJS({
(function patchRequireEsmDefault() {
const __require = require;
require = Object.assign((id) => {
const module3 = __require(id);
return module3.__esModule && module3.default ? module3.default : module3;
const module22 = __require(id) ?? {};
return module22.__esModule && module22.default ? module22.default : module22;
}, __require);
})();
var __defProp2 = Object.defineProperty;
@ -3395,8 +3403,8 @@ var require_RenameDeleteHandler = __commonJS({
(function patchRequireEsmDefault() {
const __require = require;
require = Object.assign((id) => {
const module3 = __require(id);
return module3.__esModule && module3.default ? module3.default : module3;
const module22 = __require(id) ?? {};
return module22.__esModule && module22.default ? module22.default : module22;
}, __require);
})();
var __defProp2 = Object.defineProperty;
@ -3495,7 +3503,7 @@ var require_RenameDeleteHandler = __commonJS({
}
const oldAttachmentFiles = [];
if (!await (0, import_AttachmentPath2.hasOwnAttachmentFolder)(app, oldPath)) {
const oldCache = await (0, import_MetadataCache3.getCacheSafe)(app, oldPath);
const oldCache = await (0, import_MetadataCache3.getCacheSafe)(app, newPath);
if (!oldCache) {
return;
}
@ -3753,8 +3761,8 @@ var require_PluginSettingsTabBase = __commonJS({
(function patchRequireEsmDefault() {
const __require = require;
require = Object.assign((id) => {
const module3 = __require(id);
return module3.__esModule && module3.default ? module3.default : module3;
const module22 = __require(id) ?? {};
return module22.__esModule && module22.default ? module22.default : module22;
}, __require);
})();
var __defProp2 = Object.defineProperty;
@ -3796,8 +3804,8 @@ var require_ValueComponent = __commonJS({
(function patchRequireEsmDefault() {
const __require = require;
require = Object.assign((id) => {
const module3 = __require(id);
return module3.__esModule && module3.default ? module3.default : module3;
const module22 = __require(id) ?? {};
return module22.__esModule && module22.default ? module22.default : module22;
}, __require);
})();
var __defProp2 = Object.defineProperty;

View file

@ -1,7 +1,7 @@
{
"id": "consistent-attachments-and-links",
"name": "Consistent Attachments and Links",
"version": "3.21.10",
"version": "3.21.11",
"minAppVersion": "1.7.7",
"description": "This plugin ensures the consistency of attachments and links",
"author": "Dmitry Savosh",

View file

@ -482,7 +482,7 @@ function formatFileSize(fileSize) {
function getFolderStructure(folder) {
const folders = folder.split("/").slice(0, -1);
if (folders.length === 0) {
return "//";
return "/";
}
return "/" + folders.join("/");
}
@ -513,8 +513,9 @@ function getTagsPerFile(file) {
}
if (frontmatter_tags !== void 0 && frontmatter_tags.tags) {
for (let i = 0, len = frontmatter_tags.tags.length; i < len; i++) {
if (arrTags.indexOf(frontmatter_tags.tags[i]) < 0) {
arrTags.push("#" + frontmatter_tags.tags[i]);
const fmTag = "#" + frontmatter_tags.tags[i];
if (arrTags.indexOf(fmTag) < 0) {
arrTags.push(fmTag);
}
}
}
@ -650,6 +651,7 @@ var DNModal = class extends import_obsidian2.Modal {
this.colored_files = false;
// Hide columns
this.hide_columns = [];
this._previewComponent = new import_obsidian2.Component();
this.dnHandleIntersection = (entries) => {
entries.forEach((entry) => {
if (!entry.isIntersecting) {
@ -664,7 +666,7 @@ var DNModal = class extends import_obsidian2.Modal {
async onOpen() {
var _a;
const { contentEl } = this;
this._previewComponent = new import_obsidian2.Component();
this._previewComponent.load();
this._hoverDiv = this.contentEl.createEl("div", { cls: "dn-preview" });
await this.updateModalData();
const leaf = (_a = this.app.workspace) == null ? void 0 : _a.getMostRecentLeaf();
@ -918,6 +920,8 @@ var DNModal = class extends import_obsidian2.Modal {
return param.slice(1, -1);
} else if (param.startsWith(".")) {
return "\\" + param + "$";
} else if (param.startsWith("/") && param.length === 1) {
return "^/$";
} else {
return param;
}
@ -932,7 +936,7 @@ var DNModal = class extends import_obsidian2.Modal {
// Search
async searchAction(val, files) {
let rExp;
const isExcludeSearch = val.startsWith("!") && val.length >= 2;
const isExcludeSearch = val.startsWith("!") && val.length >= 1;
let excludeParam = isExcludeSearch ? val.slice(1) : val;
if (excludeParam.startsWith('"') && excludeParam.endsWith('"')) {
excludeParam = excludeParam.slice(1, -1);
@ -959,10 +963,18 @@ var DNModal = class extends import_obsidian2.Modal {
this._INPUT_SEARCH.classList.remove("dn-input-datesearch");
}
if (isExcludeSearch) {
this._files_results = files.filter((file) => {
const isMatch = file.name.toLowerCase().includes(excludeParam) || getFolderStructure(file.path).toLowerCase().includes(excludeParam) || (0, import_obsidian3.moment)(file.stat.mtime).format(this.date_format).toLowerCase().includes(excludeParam) || getTagsPerFile(file).toLowerCase().includes(excludeParam) || getPropsPerFile(file).toLowerCase().includes(excludeParam);
return isExcludeSearch ? !isMatch : isMatch;
});
let isMatch;
if (excludeParam === "/") {
this._files_results = files.filter((file) => {
isMatch = getFolderStructure(file.path).toLowerCase() === "/";
return isExcludeSearch ? !isMatch : isMatch;
});
} else {
this._files_results = files.filter((file) => {
isMatch = file.name.toLowerCase().includes(excludeParam) || getFolderStructure(file.path).toLowerCase().includes(excludeParam) || (0, import_obsidian3.moment)(file.stat.mtime).format(this.date_format).toLowerCase().includes(excludeParam) || getTagsPerFile(file).toLowerCase().includes(excludeParam) || getPropsPerFile(file).toLowerCase().includes(excludeParam);
return isExcludeSearch ? !isMatch : isMatch;
});
}
} else {
this._files_results = files.filter(
(file) => {
@ -1078,29 +1090,33 @@ var DNModal = class extends import_obsidian2.Modal {
const tags_per_file = getTagsPerFile(file);
const props_per_file = getPropsPerFile(file);
const td6 = tr2.createEl("td", { title: tags_per_file });
const fTags = tags_per_file.split(" ");
fTags.forEach((tag) => {
td6.createEl("a", { cls: "dn-tag", text: tag }).onClickEvent((evt) => {
if (evt.button === 2) {
evt.preventDefault();
} else {
this._INPUT_SEARCH.value = tag;
this.dnModalSearchVault(this._INPUT_SEARCH.value);
}
if (tags_per_file !== "") {
const fTags = tags_per_file.split(" ");
fTags.forEach((tag) => {
td6.createEl("a", { cls: "tag", text: tag, href: tag }).onClickEvent((evt) => {
if (evt.button === 2) {
evt.preventDefault();
} else {
this._INPUT_SEARCH.value = tag;
this.dnModalSearchVault(this._INPUT_SEARCH.value);
}
});
});
});
const td7 = tr2.createEl("td", { title: props_per_file });
const fProps = props_per_file.split("\n");
fProps.forEach((prop) => {
td7.createEl("a", { cls: "dn-tag", text: prop }).onClickEvent((evt) => {
if (evt.button === 2) {
evt.preventDefault();
} else {
this._INPUT_SEARCH.value = prop;
this.dnModalSearchVault(this._INPUT_SEARCH.value);
}
}
const td7 = tr2.createEl("td");
if (props_per_file !== "") {
const fProps = props_per_file.split("\n");
fProps.forEach((prop) => {
td7.createEl("a", { cls: "dn-tag", text: prop, title: props_per_file }).onClickEvent((evt) => {
if (evt.button === 2) {
evt.preventDefault();
} else {
this._INPUT_SEARCH.value = prop;
this.dnModalSearchVault(this._INPUT_SEARCH.value);
}
});
});
});
}
});
paginationContainer.empty();
paginationContainer.createEl("div", { cls: "dn-pagination-total-results", text: `File(s): ${f.length} ` });
@ -1680,10 +1696,10 @@ var DNModal = class extends import_obsidian2.Modal {
rowTags.createEl("div", { text: "Tag(s): ", cls: "dn-property-name" });
const propTags = rowTags.createEl("div");
const curTags = getTagsPerFile(file);
if (curTags) {
if (curTags !== "") {
const tags = curTags.split(" ");
for (let i = 0, len = tags.length; i < len; i++) {
propTags.createEl("a", { text: tags[i], cls: "dn-tag" }).onClickEvent((evt2) => {
propTags.createEl("a", { text: tags[i], href: tags[i], cls: "tag" }).onClickEvent((evt2) => {
if (evt2.button === 2) {
evt2.preventDefault();
} else {
@ -1795,20 +1811,21 @@ var DNModal = class extends import_obsidian2.Modal {
this.app.workspace.getLeaf("window").openFile(file);
});
this._hoverRender = this._hoverDiv.createEl("div", { cls: "dn-pr-content" });
import_obsidian2.MarkdownRenderer.render(
this.app,
"![[" + file.path + "]]",
this._hoverRender,
file.path,
this._previewComponent
);
this._hoverRender.addEventListener("mousedown", (evt2) => {
evt2.stopPropagation();
});
try {
import_obsidian2.MarkdownRenderer.render(
this.app,
"![[" + (0, import_obsidian2.normalizePath)(file.path) + "]]",
this._hoverRender,
(0, import_obsidian2.normalizePath)(file.path),
this._previewComponent
);
} catch (error) {
return;
}
this._hoverDiv.style.display = "block";
previewTop.addEventListener("mousedown", (evt2) => this.dnHoverDragOnMouseDown(evt2));
this._hoverDiv.addEventListener("mousemove", (evt2) => this.dnHoverDragOnMouseMove(evt2));
this._hoverDiv.addEventListener("mouseup", (evt2) => this.dnHoverDragOnMouseUp(evt2));
this._hoverDiv.style.display = "block";
const screenWidth = window.innerWidth;
const screenHeight = window.innerHeight;
const divW = this._hoverDiv.offsetWidth;
@ -1818,9 +1835,6 @@ var DNModal = class extends import_obsidian2.Modal {
this._hoverDiv.style.top = ((screenHeight - divH) / 2).toString() + "px";
}
previewTop.removeEventListener("mousedown", (evt2) => this.dnHoverDragOnMouseDown(evt2));
this._hoverRender.removeEventListener("mousedown", (evt2) => {
evt2.stopPropagation();
});
}
dnHidePreview() {
this._isDraggingPreview = false;

View file

@ -1,7 +1,7 @@
{
"id": "dashboard-navigator",
"name": "Dashboard navigator",
"version": "5.2.0",
"version": "5.3.0",
"minAppVersion": "1.1.0",
"description": "Vault dashboard and navigator. Show recent files by type, files per day, week, month, search files by name, date, tags and more.",
"author": "Bernardo Pires",

View file

@ -525,21 +525,6 @@ a.dn-f-other::before {
font-style: italic;
}
a.dn-tag {
display: inline-block;
border-radius: var(--tag-radius);
margin-right: var(--size-4-1);
padding-inline-end: var(--tag-padding-x);
font-size: var(--font-size);
background-color: var(--tag-background);
color: var(--tag-color);
text-decoration: none;
}
a.dn-tag:hover {
color: var(--text-accent-hover);
}
a.dn-fproperties::before {
content: '•';
color: var(--dn-border-color);
@ -830,13 +815,14 @@ table#dn-table.dn-tbl-default td {
}
.dn-preview .dn-pr-content {
display: grid;
grid-template-rows: 1fr;
grid-template-columns: 1fr;
display: flex;
flex-direction: column;
flex-grow: 1;
width: 100%;
background: var(--background-primary);
border-radius: var(--radius-s);
cursor: auto;
position: relative;
}
.dn-preview .dn-pr-content img {
@ -844,6 +830,21 @@ table#dn-table.dn-tbl-default td {
height: auto;
}
.dn-preview .dn-pr-content span.pdf-embed {
width: 100% !important;
height: 2000px;
max-height: inherit;
overflow: auto;
}
.dn-preview .dn-pr-content span.pdf-embed .pdf-toolbar-right {
display: none;
}
.dn-preview .dn-pr-content span.pdf-embed .pdf-viewer-container.node-insert-event {
overflow: auto;
}
.dn-preview .markdown-embed-title {
display: none;
}
@ -879,4 +880,28 @@ table#dn-table.dn-tbl-default td {
.dn-property-value span.nav-file-tag {
margin: 0;
}
/* Tags */
.dn-property-row a.tag,
table#dn-table a.tag {
display: inline-block;
margin-right: var(--size-4-1);
font-size: var(--font-size);
text-decoration: none;
}
a.dn-tag {
display: inline-block;
border-radius: var(--tag-radius);
margin-right: var(--size-4-1);
padding-inline-end: var(--tag-padding-x);
font-size: var(--font-size);
background-color: var(--tag-background);
color: var(--tag-color);
text-decoration: none;
}
a.dn-tag:hover {
color: var(--text-accent-hover);
}

File diff suppressed because one or more lines are too long

View file

@ -1,7 +1,7 @@
{
"id": "note-gallery",
"name": "Note Gallery",
"version": "0.0.59",
"version": "0.0.60",
"minAppVersion": "1.2.0",
"description": "A masonry gallery view for your notes. Allows to have a birds eye view over the notes in your vault.",
"author": "Pash Shocky",

View file

@ -1,18 +0,0 @@
{
"attachmentFolderPath": "./attachments/${filename}",
"autoRenameFiles": false,
"autoRenameFolder": true,
"convertImagesOnDragAndDrop": false,
"convertImagesToJpeg": false,
"deleteOrphanAttachments": false,
"duplicateNameSeparator": " ",
"jpegQuality": 0.8,
"keepEmptyAttachmentFolders": false,
"pastedFileName": "file-${date:YYYYMMDDHHmmssSSS}",
"renameAttachmentsOnDragAndDrop": false,
"renameCollectedFiles": false,
"renameOnlyImages": false,
"renamePastedFilesWithKnownNames": false,
"replaceWhitespace": false,
"toLowerCase": false
}

File diff suppressed because it is too large Load diff

View file

@ -1,11 +0,0 @@
{
"id": "obsidian-custom-attachment-location",
"name": "Custom Attachment Location",
"version": "4.28.3",
"minAppVersion": "1.7.7",
"description": "Customize attachment location with variables($filename, $data, etc) like typora.",
"author": "RainCat1998",
"authorUrl": "https://github.com/RainCat1998/",
"isDesktopOnly": false,
"fundingUrl": "https://www.buymeacoffee.com/mnaoumov"
}

View file

@ -213,32 +213,35 @@
},
"active": "7d5274162457b1c7",
"lastOpenFiles": [
"consistency-report.md",
"Readme.md",
"Notes/__Using The Vault.md",
"__Dashboard.md",
"Notes/Notes.md",
"Readme.md",
"attachments/attachments.md",
"Attic/Attic.md",
"Notes/_Troubleshooting The Vault.md",
"Drawing/Complete/attachments/attachments.md",
"Notes/attachments/attachments.md",
"consistency-report.md",
"attachments/downloading.png",
"attachments/downloading_2.png",
"Notes/attachments/Obsidian ToC/Obsidian ToC.png",
"Notes/attachments/Krita Quick Reference/Imagepipe_361.jpg",
"Notes/attachments/Krita Quick Reference/Imagepipe_360.jpg",
"Notes/attachments/Krita Quick Reference/Imagepipe_359.jpg",
"Notes/attachments/Dot to Dot Quick Reference/2024-09-13_17-00_1.png",
"Notes/attachments/Dot to Dot Quick Reference/2024-09-13_17-00.png",
"Notes/attachments/Dot to Dot Quick Reference/2024-09-13_16-58.png",
"Notes/attachments/Digital coloring and drawing/Blending---Normal---Layer---Fox.png",
"Notes/Coloring Page Quick Reference.md",
"Attic",
"New folder",
"New shortcut.lnk",
"Notes/attachments/attachments.md",
"Notes/attachments/Coloring Page Quick Reference",
"Ideas - Inspiration/attachments/attachments.md",
"Ideas - Inspiration/attachments/Coloring Page Quick Reference",
"Notes/Coloring Page Quick Reference.md",
"Notes/Color Palette Generator.md",
"Notes/Convert PDF Coloring Pages.md",
"Notes/Notes.md",
"Notes/_Troubleshooting The Vault.md",
"Notes/attachments/Vault Screenshot 3.png",
"Notes/attachments/Vault Screenshot 2.png",
"Notes/attachments/Vault Screenshot 1.png",
"Notes/attachments/Palate-Layer---Fox.png",
"Notes/attachments/Obsidian ToC.png",
"Notes/attachments/Imagepipe_361.jpg",
"Notes/attachments/Imagepipe_360.jpg",
"Notes/attachments/Imagepipe_359.jpg",
"Notes/attachments/DSC02900-3.jpg",
"Notes/attachments/downloading_2.png",
"attachments/Readme",
"attachments",
"Notes/attachments/Obsidian ToC",
@ -255,9 +258,7 @@
"Zentangle/In Progress/attachments/Untitled.md",
"Drawing/Practice/attachments/attachments.md",
"Drawing/In Progress/attachments/attachments.md",
"Drawing/Complete/attachments/attachments.md",
"Dot to Dot/Source Materials/Source Materials.md",
"Dot to Dot/Prepped/attachments/attachments.md",
"Coloring/Prepped/attachments/attachments.canvas"
]
}

4
Attic/Attic.md Normal file
View file

@ -0,0 +1,4 @@
%% Begin Waypoint %%
%% End Waypoint %%

View file

@ -34,6 +34,6 @@ source: N/A
## Screenshots
![](attachments/Coloring%20Page%20Quick%20Reference/2024-09-13_16-56.png)
![](attachments/2024-09-13_16-56.png)
![](attachments/Coloring%20Page%20Quick%20Reference/2024-09-13_16-56_1.png)
![](attachments/2024-09-13_16-56_1.png)

View file

@ -7,7 +7,7 @@ created_at: "2023-02-28"
source: "Unknown"
---
![](attachments/Digital%20coloring%20and%20drawing/DSC02900-3.jpg)
![](attachments/DSC02900-3.jpg)
## Changelog {#changelog}
@ -195,23 +195,23 @@ Hopefully you can do the same.
### Complete Coloring Page {#complete-coloring-page}
![](attachments/Digital%20coloring%20and%20drawing/Complete---Fox-1.png)
![](attachments/Complete---Fox-1.png)
### In Progress Coloring Page {#in-progress-coloring-page}
![](attachments/Digital%20coloring%20and%20drawing/Blending---On-Top---Fox.png)
![](attachments/Blending---On-Top---Fox.png)
### Palate Layer {#palate-layer}
![](attachments/Digital%20coloring%20and%20drawing/Palate-Layer---Fox.png)
![](attachments/Palate-Layer---Fox.png)
### Blending - Darken {#blending-darken}
![](attachments/Digital%20coloring%20and%20drawing/Blending---Darken---Layer---Fox.png)
![](attachments/Blending---Darken---Layer---Fox.png)
### Blending - Normal {#blending-normal}
![](attachments/Digital%20coloring%20and%20drawing/Blending---Normal---Layer---Fox.png)
![](attachments/Blending---Normal---Layer---Fox.png)
## Advanced Coloring With Krita {#advanced-coloring-with-krita}

View file

@ -42,8 +42,8 @@ source: N/A
## Screenshots
![](attachments/Dot%20to%20Dot%20Quick%20Reference/2024-09-13_16-58.png)
![](attachments/2024-09-13_16-58.png)
![](attachments/Dot%20to%20Dot%20Quick%20Reference/2024-09-13_17-00.png)
![](attachments/2024-09-13_17-00.png)
![](attachments/Dot%20to%20Dot%20Quick%20Reference/2024-09-13_17-00_1.png)
![](attachments/2024-09-13_17-00_1.png)

View file

@ -143,12 +143,12 @@ The below are the input settings KemoNine uses within Krita
### Main Krita View With File Open
![](attachments/Krita%20Quick%20Reference/Imagepipe_359.jpg)
![](attachments/Imagepipe_359.jpg)
### Canvas View
![](attachments/Krita%20Quick%20Reference/Imagepipe_360.jpg)
![](attachments/Imagepipe_360.jpg)
### Pop-up Palette
![](attachments/Krita%20Quick%20Reference/Imagepipe_361.jpg)
![](attachments/Imagepipe_361.jpg)

View file

@ -1,19 +1,19 @@
%% Begin Waypoint %%
- [__Using The Vault](./__Using%20The%20Vault.md)
- [_Troubleshooting The Vault](./_Troubleshooting%20The%20Vault.md)
- [Android Drawing Apps](./Android%20Drawing%20Apps.md)
- **[attachments](./attachments/attachments.md)**
- [Color Palette Generator](./Color%20Palette%20Generator.md)
- [Coloring Page Quick Reference](./Coloring%20Page%20Quick%20Reference.md)
- [Convert PDF Coloring Pages](./Convert%20PDF%20Coloring%20Pages.md)
- [Convert photo to coloring page](./Convert%20photo%20to%20coloring%20page.md)
- [Digital coloring and drawing](./Digital%20coloring%20and%20drawing.md)
- [Dot to Dot Quick Reference](./Dot%20to%20Dot%20Quick%20Reference.md)
- [Drawing Tablet Quick Reference](./Drawing%20Tablet%20Quick%20Reference.md)
- [eInk Setting](./eInk%20Setting.md)
- [Krita Quick Reference](./Krita%20Quick%20Reference.md)
- [Obsidian ToC](./Obsidian%20ToC.md)
- [Obtaining Source Material](./Obtaining%20Source%20Material.md)
- [Trackpad Quick Reference](./Trackpad%20Quick%20Reference.md)
- [\_\_Using The Vault](__Using%20The%20Vault.md)
- [\_Troubleshooting The Vault](_Troubleshooting%20The%20Vault.md)
- [Android Drawing Apps](Android%20Drawing%20Apps.md)
- **[attachments](attachments/attachments.md)**
- [Color Palette Generator](Color%20Palette%20Generator.md)
- [Coloring Page Quick Reference](Coloring%20Page%20Quick%20Reference.md)
- [Convert PDF Coloring Pages](Convert%20PDF%20Coloring%20Pages.md)
- [Convert photo to coloring page](Convert%20photo%20to%20coloring%20page.md)
- [Digital coloring and drawing](Digital%20coloring%20and%20drawing.md)
- [Dot to Dot Quick Reference](Dot%20to%20Dot%20Quick%20Reference.md)
- [Drawing Tablet Quick Reference](Drawing%20Tablet%20Quick%20Reference.md)
- [eInk Setting](eInk%20Setting.md)
- [Krita Quick Reference](Krita%20Quick%20Reference.md)
- [Obsidian ToC](Obsidian%20ToC.md)
- [Obtaining Source Material](Obtaining%20Source%20Material.md)
- [Trackpad Quick Reference](Trackpad%20Quick%20Reference.md)
%% End Waypoint %%

View file

@ -18,4 +18,4 @@ title: **Table of Contents**
To see a table of contents using built in methods:
![](attachments/Obsidian%20ToC/Obsidian%20ToC.png)
![](attachments/Obsidian%20ToC.png)

View file

@ -32,11 +32,11 @@ If you are the type of person who would go through the trouble of cutting or tea
## Automatic Attachment Management
This vault is setup to automatically manage attachments. It is configured to ensure all note attachments are stored in the appropriate `attachments` directory under a sub-folder with the same name as the note.
This vault is setup to automatically manage attachments. It is configured to ensure all note attachments are stored in the appropriate `attachments` directory.
This will automatically move attachments and update links when a note is moved between folders. This is especially helpful as a note moves through the various state/status folders.
You can disable this functionality by disabling the `Consistent Attachments and Links` and `Custom Attachment Location` community plugins.
You can disable this functionality entirely by disabling the `Consistent Attachments and Links` community plugin. You can also disable the plugin's `Auto Collect Attachments` setting to manually manage attachments if you don't want attachments automatically updated when notes are moved to a new folder.
## Folder Indexes
@ -111,7 +111,7 @@ The [Troubleshooting The Vault](_Troubleshooting%20The%20Vault.md) note includes
- Prep downloaded files
- Convert source material to art app native format
- Setup any necessary layers
- See [Coloring Page Quick Reference](Notes/Coloring%20Page%20Quick%20Reference.md) for coloring pages
- See [Coloring Page Quick Reference](Coloring%20Page%20Quick%20Reference.md) for coloring pages
- See [Dot to Dot Quick Reference](Dot%20to%20Dot%20Quick%20Reference.md) for dot to dot pages
- Create page for artwork using the appropriate template
- Link files to new artwork page as appropriate
@ -126,7 +126,7 @@ The [Troubleshooting The Vault](_Troubleshooting%20The%20Vault.md) note includes
- [Android Drawing Apps](Android%20Drawing%20Apps.md)
- [Krita Quick Reference](Krita%20Quick%20Reference.md)
- [Color Palette Generator](Color%20Palette%20Generator.md)
- [Coloring Page Quick Reference](Notes/Coloring%20Page%20Quick%20Reference.md)
- [Coloring Page Quick Reference](Coloring%20Page%20Quick%20Reference.md)
- [Dot to Dot Quick Reference](Dot%20to%20Dot%20Quick%20Reference.md)
## Enjoy

View file

Before

Width:  |  Height:  |  Size: 6.9 KiB

After

Width:  |  Height:  |  Size: 6.9 KiB

View file

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View file

Before

Width:  |  Height:  |  Size: 5.8 KiB

After

Width:  |  Height:  |  Size: 5.8 KiB

View file

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View file

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

View file

Before

Width:  |  Height:  |  Size: 573 KiB

After

Width:  |  Height:  |  Size: 573 KiB

View file

Before

Width:  |  Height:  |  Size: 490 KiB

After

Width:  |  Height:  |  Size: 490 KiB

View file

Before

Width:  |  Height:  |  Size: 541 KiB

After

Width:  |  Height:  |  Size: 541 KiB

View file

Before

Width:  |  Height:  |  Size: 894 KiB

After

Width:  |  Height:  |  Size: 894 KiB

View file

Before

Width:  |  Height:  |  Size: 100 KiB

After

Width:  |  Height:  |  Size: 100 KiB

View file

Before

Width:  |  Height:  |  Size: 239 KiB

After

Width:  |  Height:  |  Size: 239 KiB

View file

Before

Width:  |  Height:  |  Size: 334 KiB

After

Width:  |  Height:  |  Size: 334 KiB

View file

Before

Width:  |  Height:  |  Size: 236 KiB

After

Width:  |  Height:  |  Size: 236 KiB

View file

Before

Width:  |  Height:  |  Size: 50 KiB

After

Width:  |  Height:  |  Size: 50 KiB

View file

Before

Width:  |  Height:  |  Size: 117 KiB

After

Width:  |  Height:  |  Size: 117 KiB

View file

@ -1,23 +1,18 @@
%% Begin Waypoint %%
- **Coloring Page Quick Reference**
- [2024-09-13_16-56_1.png](./Coloring%20Page%20Quick%20Reference/2024-09-13_16-56_1.png)
- [2024-09-13_16-56.png](./Coloring%20Page%20Quick%20Reference/2024-09-13_16-56.png)
- **Digital coloring and drawing**
- [Blending---Darken---Layer---Fox.png](./Digital%20coloring%20and%20drawing/Blending---Darken---Layer---Fox.png)
- [Blending---Normal---Layer---Fox.png](./Digital%20coloring%20and%20drawing/Blending---Normal---Layer---Fox.png)
- [Blending---On-Top---Fox.png](./Digital%20coloring%20and%20drawing/Blending---On-Top---Fox.png)
- [Complete---Fox-1.png](./Digital%20coloring%20and%20drawing/Complete---Fox-1.png)
- [DSC02900-3.jpg](./Digital%20coloring%20and%20drawing/DSC02900-3.jpg)
- [Palate-Layer---Fox.png](./Digital%20coloring%20and%20drawing/Palate-Layer---Fox.png)
- **Dot to Dot Quick Reference**
- [2024-09-13_16-58.png](./Dot%20to%20Dot%20Quick%20Reference/2024-09-13_16-58.png)
- [2024-09-13_17-00_1.png](./Dot%20to%20Dot%20Quick%20Reference/2024-09-13_17-00_1.png)
- [2024-09-13_17-00.png](./Dot%20to%20Dot%20Quick%20Reference/2024-09-13_17-00.png)
- **Krita Quick Reference**
- [Imagepipe_359.jpg](./Krita%20Quick%20Reference/Imagepipe_359.jpg)
- [Imagepipe_360.jpg](./Krita%20Quick%20Reference/Imagepipe_360.jpg)
- [Imagepipe_361.jpg](./Krita%20Quick%20Reference/Imagepipe_361.jpg)
- **Obsidian ToC**
- [Obsidian ToC.png](./Obsidian%20ToC/Obsidian%20ToC.png)
- [2024-09-13_16-56_1.png](./2024-09-13_16-56_1.png)
- [2024-09-13_16-56.png](./2024-09-13_16-56.png)
- [2024-09-13_16-58.png](./2024-09-13_16-58.png)
- [2024-09-13_17-00_1.png](./2024-09-13_17-00_1.png)
- [2024-09-13_17-00.png](./2024-09-13_17-00.png)
- [Blending---Darken---Layer---Fox.png](./Blending---Darken---Layer---Fox.png)
- [Blending---Normal---Layer---Fox.png](./Blending---Normal---Layer---Fox.png)
- [Blending---On-Top---Fox.png](./Blending---On-Top---Fox.png)
- [Complete---Fox-1.png](./Complete---Fox-1.png)
- [DSC02900-3.jpg](./DSC02900-3.jpg)
- [Imagepipe_359.jpg](./Imagepipe_359.jpg)
- [Imagepipe_360.jpg](./Imagepipe_360.jpg)
- [Imagepipe_361.jpg](./Imagepipe_361.jpg)
- [Obsidian ToC.png](./Obsidian%20ToC.png)
- [Palate-Layer---Fox.png](./Palate-Layer---Fox.png)
%% End Waypoint %%

View file

@ -27,19 +27,19 @@ This project is licensed under the [Creative Commons BY-NC 4.0 International](ht
### From GitHub (the main site)
![How to download - GitHub](attachments/Readme/downloading_2.png)
![How to download - GitHub](attachments/downloading_2.png)
### From Forgejo (KemoNine's personal site mirror)
![How to download - Forgejo](attachments/Readme/downloading.png)
![How to download - Forgejo](attachments/downloading.png)
## Screenshots
### Main Vault View
![Main Vault View](attachments/Readme/Vault%20Screenshot%201.png)
![Main Vault View](attachments/Vault%20Screenshot%201.png)
### KemoNine Zentangle View
![KemoNine Zentangle View](attachments/Readme/Vault%20Screenshot%202.png)
![KemoNine Zentangle View](attachments/Vault%20Screenshot%202.png)
### KemoNine Coloring View
![KemoNine Coloring View](attachments/Readme/Vault%20Screenshot%203.png)
![KemoNine Coloring View](attachments/Vault%20Screenshot%203.png)

View file

Before

Width:  |  Height:  |  Size: 114 KiB

After

Width:  |  Height:  |  Size: 114 KiB

View file

Before

Width:  |  Height:  |  Size: 523 KiB

After

Width:  |  Height:  |  Size: 523 KiB

View file

Before

Width:  |  Height:  |  Size: 571 KiB

After

Width:  |  Height:  |  Size: 571 KiB

View file

@ -0,0 +1,8 @@
%% Begin Waypoint %%
- [downloading_2.png](./downloading_2.png)
- [downloading.png](./downloading.png)
- [Vault Screenshot 1.png](./Vault%20Screenshot%201.png)
- [Vault Screenshot 2.png](./Vault%20Screenshot%202.png)
- [Vault Screenshot 3.png](./Vault%20Screenshot%203.png)
%% End Waypoint %%

View file

Before

Width:  |  Height:  |  Size: 64 KiB

After

Width:  |  Height:  |  Size: 64 KiB

View file

Before

Width:  |  Height:  |  Size: 55 KiB

After

Width:  |  Height:  |  Size: 55 KiB