vault backup: 2026-01-13 16:40:30

This commit is contained in:
2026-01-13 16:40:30 -05:00
parent 887b0e2139
commit 7fe988d0a6
20 changed files with 976 additions and 631 deletions
+9
View File
@@ -0,0 +1,9 @@
{
"includeNoteName": "headersOnly",
"titleProperty": "title",
"whichHeadings": "allHeaders",
"includeNotice": false,
"sep": " ",
"suggest": true,
"ignoreEmbedded": true
}
+37 -4
View File
@@ -33,6 +33,7 @@ var RE_ANCHOR_DISPLAY = /(\[\[([^\]]+#[^\n\r\]]+)\]\])$/;
var RE_DISPLAY = /\|([^\]]+)/; var RE_DISPLAY = /\|([^\]]+)/;
var DEFAULT_SETTINGS = { var DEFAULT_SETTINGS = {
includeNoteName: "headersOnly", includeNoteName: "headersOnly",
titleProperty: "",
whichHeadings: "allHeaders", whichHeadings: "allHeaders",
includeNotice: false, includeNotice: false,
sep: " ", sep: " ",
@@ -64,6 +65,10 @@ var AnchorDisplayText = class extends import_obsidian.Plugin {
if (this.settings.ignoreEmbedded && match[0].charAt(0) === "!") if (this.settings.ignoreEmbedded && match[0].charAt(0) === "!")
return; return;
const headings = match[1].split("#"); const headings = match[1].split("#");
let notename = headings[0];
if (this.settings.titleProperty) {
notename = this.getTitleFromFile(notename);
}
let displayText = ""; let displayText = "";
if (this.settings.whichHeadings === "lastHeader") { if (this.settings.whichHeadings === "lastHeader") {
displayText = headings[headings.length - 1]; displayText = headings[headings.length - 1];
@@ -77,9 +82,9 @@ var AnchorDisplayText = class extends import_obsidian.Plugin {
} }
const startIndex = ((_a = match.index) != null ? _a : 0) + match[0].length - 2; const startIndex = ((_a = match.index) != null ? _a : 0) + match[0].length - 2;
if (this.settings.includeNoteName === "noteNameFirst") { if (this.settings.includeNoteName === "noteNameFirst") {
displayText = `${headings[0]}${this.settings.sep}${displayText}`; displayText = `${notename}${this.settings.sep}${displayText}`;
} else if (this.settings.includeNoteName === "noteNameLast") { } else if (this.settings.includeNoteName === "noteNameLast") {
displayText = `${displayText}${this.settings.sep}${headings[0]}`; displayText = `${displayText}${this.settings.sep}${notename}`;
} }
if (displayText.startsWith("^")) { if (displayText.startsWith("^")) {
displayText = displayText.slice(1); displayText = displayText.slice(1);
@@ -94,6 +99,23 @@ var AnchorDisplayText = class extends import_obsidian.Plugin {
} }
onunload() { onunload() {
} }
/**
* Get title property value from file's frontmatter
* @param filename - The filename to look up
* @returns The title property value if found, otherwise returns the original filename
*/
getTitleFromFile(filename) {
if (this.settings.titleProperty) {
const file = this.app.metadataCache.getFirstLinkpathDest(filename, "");
if (file) {
const cache = this.app.metadataCache.getFileCache(file);
if (cache && cache.frontmatter && cache.frontmatter[this.settings.titleProperty]) {
return String(cache.frontmatter[this.settings.titleProperty]);
}
}
}
return filename;
}
async loadSettings() { async loadSettings() {
this.settings = Object.assign({}, DEFAULT_SETTINGS, await this.loadData()); this.settings = Object.assign({}, DEFAULT_SETTINGS, await this.loadData());
} }
@@ -141,6 +163,10 @@ var AnchorDisplaySuggest = class extends import_obsidian.EditorSuggest {
} }
getSuggestions(context) { getSuggestions(context) {
const headings = context.query.split("|")[0].split("#"); const headings = context.query.split("|")[0].split("#");
let notename = headings[0];
if (this.plugin.settings.titleProperty) {
notename = this.plugin.getTitleFromFile(notename);
}
let displayText = headings[1]; let displayText = headings[1];
if (displayText.startsWith("^")) { if (displayText.startsWith("^")) {
displayText = displayText.slice(1); displayText = displayText.slice(1);
@@ -153,11 +179,11 @@ var AnchorDisplaySuggest = class extends import_obsidian.EditorSuggest {
source: "Don't include note name" source: "Don't include note name"
}; };
const suggestion2 = { const suggestion2 = {
displayText: `${headings[0]}${this.plugin.settings.sep}${displayText}`, displayText: `${notename}${this.plugin.settings.sep}${displayText}`,
source: "Note name and than heading(s)" source: "Note name and than heading(s)"
}; };
const suggestion3 = { const suggestion3 = {
displayText: `${displayText}${this.plugin.settings.sep}${headings[0]}`, displayText: `${displayText}${this.plugin.settings.sep}${notename}`,
source: "Heading(s) and than note name" source: "Heading(s) and than note name"
}; };
return [suggestion1, suggestion2, suggestion3]; return [suggestion1, suggestion2, suggestion3];
@@ -224,6 +250,13 @@ var AnchorDisplayTextSettingTab = class extends import_obsidian.PluginSettingTab
this.plugin.saveSettings(); this.plugin.saveSettings();
}); });
}); });
new import_obsidian.Setting(containerEl).setName("Title property").setDesc("If set, use the value of this property as the note name. (Leave blank to use file name)").addText((text) => {
text.setValue(this.plugin.settings.titleProperty);
text.onChange((value) => {
this.plugin.settings.titleProperty = value;
this.plugin.saveSettings();
});
});
new import_obsidian.Setting(containerEl).setName("Include subheadings").setDesc("Change which headings and subheadings are in the display text.").addDropdown((dropdown) => { new import_obsidian.Setting(containerEl).setName("Include subheadings").setDesc("Change which headings and subheadings are in the display text.").addDropdown((dropdown) => {
dropdown.addOption("allHeaders", "All linked headings"); dropdown.addOption("allHeaders", "All linked headings");
dropdown.addOption("lastHeader", "Last heading only"); dropdown.addOption("lastHeader", "Last heading only");
+2 -2
View File
@@ -1,9 +1,9 @@
{ {
"id": "anchor-display-text", "id": "anchor-display-text",
"name": "Anchor Link Display Text", "name": "Anchor Link Display Text",
"version": "1.3.0", "version": "1.4.0",
"minAppVersion": "0.15.0", "minAppVersion": "0.15.0",
"description": "Automatically uses the linked heading as the display text for the anchor links.", "description": "Automatically uses the linked heading as the display text for anchor links.",
"author": "Robert C Arsenault", "author": "Robert C Arsenault",
"authorUrl": "https://github.com/rca-umb", "authorUrl": "https://github.com/rca-umb",
"isDesktopOnly": false "isDesktopOnly": false
+30
View File
@@ -0,0 +1,30 @@
{
"useFrontmatterAsDisplay": false,
"frontmatterKey": "title",
"addToMenu": true,
"addExtraCommands": true,
"showNotice": true,
"useHeadingAsDisplayText": true,
"headingLinkSeparator": "#",
"simplifiedHeadingToNoteLink": true,
"linkFormat": "wiki-link",
"customizeTargets": false,
"enableInlineCode": true,
"enableBold": true,
"enableHighlight": true,
"enableItalic": true,
"enableStrikethrough": true,
"enableInlineLatex": true,
"enableLink": true,
"enableWikiLink": true,
"keepWikiBrackets": true,
"autoEmbedBlockLink": false,
"enableCalloutCopy": true,
"calloutCopyPriority": true,
"autoAddBlockId": true,
"allowManualBlockId": true,
"blockIdInsertPosition": "next-line",
"autoBlockDisplayText": true,
"blockDisplayWordLimit": 3,
"blockDisplayCharLimit": 5
}
+3 -1
View File
@@ -75,6 +75,7 @@
"focusOnFileTab": true, "focusOnFileTab": true,
"openInMainWorkspace": true, "openInMainWorkspace": true,
"showLinkBrackets": true, "showLinkBrackets": true,
"syncElementLinkWithText": false,
"allowCtrlClick": true, "allowCtrlClick": true,
"forceWrap": false, "forceWrap": false,
"pageTransclusionCharLimit": 200, "pageTransclusionCharLimit": 200,
@@ -122,7 +123,7 @@
"mdBorderColor": "Black", "mdBorderColor": "Black",
"mdCSS": "", "mdCSS": "",
"scriptEngineSettings": {}, "scriptEngineSettings": {},
"previousRelease": "2.18.3", "previousRelease": "2.19.0",
"showReleaseNotes": true, "showReleaseNotes": true,
"compareManifestToPluginVersion": true, "compareManifestToPluginVersion": true,
"showNewVersionNotification": false, "showNewVersionNotification": false,
@@ -131,6 +132,7 @@
"taskboneEnabled": false, "taskboneEnabled": false,
"taskboneAPIkey": "", "taskboneAPIkey": "",
"pinnedScripts": [], "pinnedScripts": [],
"sidepanelTabs": [],
"customPens": [ "customPens": [
{ {
"type": "default", "type": "default",
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1,7 +1,7 @@
{ {
"id": "obsidian-excalidraw-plugin", "id": "obsidian-excalidraw-plugin",
"name": "Excalidraw", "name": "Excalidraw",
"version": "2.18.3", "version": "2.19.0",
"minAppVersion": "1.5.7", "minAppVersion": "1.5.7",
"description": "Sketch Your Mind. An Obsidian plugin to edit and view Excalidraw drawings. Enter the world of 4D Visual PKM.", "description": "Sketch Your Mind. An Obsidian plugin to edit and view Excalidraw drawings. Enter the world of 4D Visual PKM.",
"author": "Zsolt Viczian", "author": "Zsolt Viczian",
File diff suppressed because one or more lines are too long
+178 -162
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -6,5 +6,5 @@
"description": "Integrate Git version control with automatic backup and other advanced features.", "description": "Integrate Git version control with automatic backup and other advanced features.",
"isDesktopOnly": false, "isDesktopOnly": false,
"fundingUrl": "https://ko-fi.com/vinzent", "fundingUrl": "https://ko-fi.com/vinzent",
"version": "2.35.2" "version": "2.36.1"
} }
+514 -438
View File
@@ -8,6 +8,15 @@
} }
} }
.git-signs-gutter {
.cm-gutterElement {
/* Needed to align the sign properly for different line heigts. Such as
* when having a heading or list item.
*/
padding-top: 0 !important;
}
}
.workspace-leaf-content[data-type="git-view"] .button-border { .workspace-leaf-content[data-type="git-view"] .button-border {
border: 2px solid var(--interactive-accent); border: 2px solid var(--interactive-accent);
border-radius: var(--radius-s); border-radius: var(--radius-s);
@@ -129,444 +138,401 @@
color: var(--text-accent); color: var(--text-accent);
} }
.workspace-leaf-content[data-type="diff-view"] .d2h-d-none { /* ====== diff2html ======
display: none; The following styles are adapted from the obsidian-version-history plugin by
} @kometenstaub https://github.com/kometenstaub/obsidian-version-history-diff/blob/main/src/styles.scss
which itself is adapted from the diff2html library with the following original license:
.workspace-leaf-content[data-type="diff-view"] .d2h-wrapper {
text-align: left; https://github.com/rtfpessoa/diff2html/blob/master/LICENSE.md
}
Copyright 2014-2016 Rodrigo Fernandes https://rtfpessoa.github.io/
.workspace-leaf-content[data-type="diff-view"] .d2h-file-header {
background-color: var(--background-primary); Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
border-bottom: 1px solid var(--interactive-accent); documentation files (the "Software"), to deal in the Software without restriction, including without limitation the
font-family: var(--font-monospace); rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit
height: 35px; persons to whom the Software is furnished to do so, subject to the following conditions:
padding: 5px 10px;
} The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
.workspace-leaf-content[data-type="diff-view"] .d2h-file-header,
.workspace-leaf-content[data-type="diff-view"] .d2h-file-stats { THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
display: -webkit-box; WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
display: -ms-flexbox; COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
display: flex; OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
} */
.workspace-leaf-content[data-type="diff-view"] .d2h-file-stats { .theme-dark,
font-size: 14px; .theme-light {
margin-left: auto; --git-delete-bg: #ff475040;
} --git-delete-hl: #96050a75;
--git-insert-bg: #68d36840;
.workspace-leaf-content[data-type="diff-view"] .d2h-lines-added { --git-insert-hl: #23c02350;
border: 1px solid #b4e2b4; --git-change-bg: #ffd55840;
border-radius: 5px 0 0 5px; --git-selected: #3572b0;
color: #399839;
padding: 2px; --git-delete: #c33;
text-align: right; --git-insert: #399839;
vertical-align: middle; --git-change: #d0b44c;
} --git-move: #3572b0;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-lines-deleted {
border: 1px solid #e9aeae; .git-diff {
border-radius: 0 5px 5px 0; .d2h-d-none {
color: #c33; display: none;
margin-left: 1px; }
padding: 2px; .d2h-wrapper {
text-align: left; text-align: left;
vertical-align: middle; border-radius: 0.25em;
} overflow: auto;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-name-wrapper { .d2h-file-header.d2h-file-header {
-webkit-box-align: center; background-color: var(--background-secondary);
-ms-flex-align: center; border-bottom: 1px solid var(--background-modifier-border);
align-items: center; font-family:
display: -webkit-box; Source Sans Pro,
display: -ms-flexbox; Helvetica Neue,
display: flex; Helvetica,
font-size: 15px; Arial,
width: 100%; sans-serif;
} height: 35px;
padding: 5px 10px;
.workspace-leaf-content[data-type="diff-view"] .d2h-file-name { }
overflow-x: hidden; .d2h-file-header,
text-overflow: ellipsis; .d2h-file-stats {
white-space: nowrap; display: -webkit-box;
} display: -ms-flexbox;
display: flex;
.workspace-leaf-content[data-type="diff-view"] .d2h-file-wrapper { }
border: 1px solid var(--background-modifier-border); .d2h-file-header {
border-radius: 3px; display: none;
margin-bottom: 1em; }
} .d2h-file-stats {
font-size: 14px;
.workspace-leaf-content[data-type="diff-view"] .d2h-file-collapse { margin-left: auto;
-webkit-box-pack: end; }
-ms-flex-pack: end; .d2h-lines-added {
-webkit-box-align: center; border: 1px solid var(--color-green);
-ms-flex-align: center; border-radius: 5px 0 0 5px;
align-items: center; color: var(--color-green);
border: 1px solid var(--background-modifier-border); padding: 2px;
border-radius: 3px; text-align: right;
cursor: pointer; vertical-align: middle;
display: none; }
font-size: 12px; .d2h-lines-deleted {
justify-content: flex-end; border: 1px solid var(--color-red);
padding: 4px 8px; border-radius: 0 5px 5px 0;
} color: var(--color-red);
margin-left: 1px;
.workspace-leaf-content[data-type="diff-view"] .d2h-file-collapse.d2h-selected { padding: 2px;
background-color: #c8e1ff; text-align: left;
} vertical-align: middle;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-collapse-input { .d2h-file-name-wrapper {
margin: 0 4px 0 0; -webkit-box-align: center;
} -ms-flex-align: center;
align-items: center;
.workspace-leaf-content[data-type="diff-view"] .d2h-diff-table { display: -webkit-box;
border-collapse: collapse; display: -ms-flexbox;
font-family: Menlo, Consolas, monospace; display: flex;
font-size: 13px; font-size: 15px;
width: 100%; width: 100%;
} }
.d2h-file-name {
.workspace-leaf-content[data-type="diff-view"] .d2h-files-diff { overflow: hidden;
width: 100%; text-overflow: ellipsis;
} white-space: nowrap;
color: var(--text-normal);
.workspace-leaf-content[data-type="diff-view"] .d2h-file-diff { font-size: var(--h5-size);
overflow-y: hidden; }
} .d2h-file-wrapper {
border: 1px solid var(--background-secondary-alt);
.workspace-leaf-content[data-type="diff-view"] .d2h-file-side-diff { border-radius: 3px;
display: inline-block; margin-bottom: 1em;
margin-bottom: -8px; max-height: 100%;
margin-right: -4px; }
overflow-x: scroll; .d2h-file-collapse {
overflow-y: hidden; -webkit-box-pack: end;
width: 50%; -ms-flex-pack: end;
} -webkit-box-align: center;
-ms-flex-align: center;
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line { align-items: center;
padding: 0 8em; border: 1px solid var(--background-secondary-alt);
} border-radius: 3px;
cursor: pointer;
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line, display: none;
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-line { font-size: 12px;
display: inline-block; justify-content: flex-end;
-webkit-user-select: none; padding: 4px 8px;
-moz-user-select: none; }
-ms-user-select: none; .d2h-file-collapse.d2h-selected {
user-select: none; background-color: var(--git-selected);
white-space: nowrap; }
width: 100%; .d2h-file-collapse-input {
} margin: 0 4px 0 0;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-line { .d2h-diff-table {
padding: 0 4.5em; border-collapse: collapse;
} font-family: var(--font-monospace);
font-size: var(--code-size);
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line-ctn { width: 100%;
word-wrap: normal; }
background: none; .d2h-files-diff {
display: inline-block; width: 100%;
padding: 0; }
-webkit-user-select: text; .d2h-file-diff {
-moz-user-select: text; /*
-ms-user-select: text; overflow-y: scroll;
user-select: text; */
vertical-align: middle; border-radius: 5px;
white-space: pre; font-size: var(--font-text-size);
width: 100%; line-height: var(--line-height-normal);
} }
.d2h-file-side-diff {
.theme-light .workspace-leaf-content[data-type="diff-view"] .d2h-code-line del, display: inline-block;
.theme-light margin-bottom: -8px;
.workspace-leaf-content[data-type="diff-view"] margin-right: -4px;
.d2h-code-side-line overflow-x: scroll;
del { overflow-y: hidden;
background-color: #ffb6ba; width: 50%;
} }
.d2h-code-line {
.theme-dark .workspace-leaf-content[data-type="diff-view"] .d2h-code-line del, padding-left: 6em;
.theme-dark padding-right: 1.5em;
.workspace-leaf-content[data-type="diff-view"] }
.d2h-code-side-line .d2h-code-line,
del { .d2h-code-side-line {
background-color: #8d232881; display: inline-block;
} -webkit-user-select: none;
-moz-user-select: none;
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line del, -ms-user-select: none;
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line ins, user-select: none;
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-line del, white-space: nowrap;
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-line ins { width: 100%;
border-radius: 0.2em; }
display: inline-block; .d2h-code-side-line {
margin-top: -1px; /* needed to be changed */
text-decoration: none; padding-left: 0.5em;
vertical-align: middle; padding-right: 0.5em;
} }
.d2h-code-line-ctn {
.theme-light .workspace-leaf-content[data-type="diff-view"] .d2h-code-line ins, word-wrap: normal;
.theme-light background: none;
.workspace-leaf-content[data-type="diff-view"] display: inline-block;
.d2h-code-side-line padding: 0;
ins { -webkit-user-select: text;
background-color: #97f295; -moz-user-select: text;
text-align: left; -ms-user-select: text;
} user-select: text;
vertical-align: middle;
.theme-dark .workspace-leaf-content[data-type="diff-view"] .d2h-code-line ins, width: 100%;
.theme-dark /* only works for line-by-line */
.workspace-leaf-content[data-type="diff-view"] white-space: pre-wrap;
.d2h-code-side-line }
ins { .d2h-code-line del,
background-color: #1d921996; .d2h-code-side-line del {
text-align: left; background-color: var(--git-delete-hl);
} color: var(--text-normal);
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line-prefix { .d2h-code-line del,
word-wrap: normal; .d2h-code-line ins,
background: none; .d2h-code-side-line del,
display: inline; .d2h-code-side-line ins {
padding: 0; border-radius: 0.2em;
white-space: pre; display: inline-block;
} margin-top: -1px;
text-decoration: none;
.workspace-leaf-content[data-type="diff-view"] .line-num1 { vertical-align: middle;
float: left; }
} .d2h-code-line ins,
.d2h-code-side-line ins {
.workspace-leaf-content[data-type="diff-view"] .line-num1, background-color: var(--git-insert-hl);
.workspace-leaf-content[data-type="diff-view"] .line-num2 { text-align: left;
-webkit-box-sizing: border-box; }
box-sizing: border-box; .d2h-code-line-prefix {
overflow: hidden; word-wrap: normal;
padding: 0 0.5em; background: none;
text-overflow: ellipsis; display: inline;
width: 3.5em; padding: 0;
} white-space: pre;
}
.workspace-leaf-content[data-type="diff-view"] .line-num2 { .line-num1 {
float: right; float: left;
} }
.line-num1,
.workspace-leaf-content[data-type="diff-view"] .d2h-code-linenumber { .line-num2 {
background-color: var(--background-primary); -webkit-box-sizing: border-box;
border: solid var(--background-modifier-border); box-sizing: border-box;
border-width: 0 1px; overflow: hidden;
-webkit-box-sizing: border-box; /*
box-sizing: border-box; padding: 0 0.5em;
color: var(--text-muted); */
cursor: pointer; text-overflow: ellipsis;
display: inline-block; width: 2.5em;
position: absolute; padding-left: 0;
text-align: right; }
width: 7.5em; .line-num2 {
} float: right;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-linenumber:after { .d2h-code-linenumber {
content: "\200b"; background-color: var(--background-primary);
} border: solid var(--background-modifier-border);
border-width: 0 1px;
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-linenumber { -webkit-box-sizing: border-box;
background-color: var(--background-primary); box-sizing: border-box;
border: solid var(--background-modifier-border); color: var(--text-faint);
border-width: 0 1px; cursor: pointer;
-webkit-box-sizing: border-box; display: inline-block;
box-sizing: border-box; position: absolute;
color: var(--text-muted); text-align: right;
cursor: pointer; width: 5.5em;
display: inline-block; }
overflow: hidden; .d2h-code-linenumber:after {
padding: 0 0.5em; content: "\200b";
position: absolute; }
text-align: right; .d2h-code-side-linenumber {
text-overflow: ellipsis; background-color: var(--background-primary);
width: 4em; border: solid var(--background-modifier-border);
} border-width: 0 1px;
-webkit-box-sizing: border-box;
.workspace-leaf-content[data-type="diff-view"] .d2h-diff-tbody tr { box-sizing: border-box;
position: relative; color: var(--text-faint);
} cursor: pointer;
overflow: hidden;
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-linenumber:after { padding: 0 0.5em;
content: "\200b"; text-align: right;
} text-overflow: ellipsis;
width: 4em;
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-emptyplaceholder, /* needed to be changed */
.workspace-leaf-content[data-type="diff-view"] .d2h-emptyplaceholder { display: table-cell;
background-color: var(--background-primary); position: relative;
border-color: var(--background-modifier-border); }
} .d2h-code-side-linenumber:after {
content: "\200b";
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line-prefix, }
.workspace-leaf-content[data-type="diff-view"] .d2h-code-linenumber, .d2h-code-side-emptyplaceholder,
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-linenumber, .d2h-emptyplaceholder {
.workspace-leaf-content[data-type="diff-view"] .d2h-emptyplaceholder { background-color: var(--background-primary);
-webkit-user-select: none; border-color: var(--background-modifier-border);
-moz-user-select: none; }
-ms-user-select: none; .d2h-code-line-prefix,
user-select: none; .d2h-code-linenumber,
} .d2h-code-side-linenumber,
.d2h-emptyplaceholder {
.workspace-leaf-content[data-type="diff-view"] .d2h-code-linenumber, -webkit-user-select: none;
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-linenumber { -moz-user-select: none;
direction: rtl; -ms-user-select: none;
} user-select: none;
}
.theme-light .workspace-leaf-content[data-type="diff-view"] .d2h-del { .d2h-code-linenumber,
background-color: #fee8e9; .d2h-code-side-linenumber {
border-color: #e9aeae; direction: rtl;
} }
.d2h-del {
.theme-light .workspace-leaf-content[data-type="diff-view"] .d2h-ins { background-color: var(--git-delete-bg);
background-color: #dfd; border-color: var(--git-delete-hl);
border-color: #b4e2b4; }
} .d2h-ins {
background-color: var(--git-insert-bg);
.theme-dark .workspace-leaf-content[data-type="diff-view"] .d2h-del { border-color: var(--git-insert-hl);
background-color: #521b1d83; }
border-color: #691d1d73; .d2h-info {
} background-color: var(--background-primary);
border-color: var(--background-modifier-border);
.theme-dark .workspace-leaf-content[data-type="diff-view"] .d2h-ins { color: var(--text-faint);
background-color: rgba(30, 71, 30, 0.5); }
border-color: #13501381; .d2h-del,
} .d2h-ins,
.d2h-file-diff .d2h-change {
.workspace-leaf-content[data-type="diff-view"] .d2h-info { color: var(--text-normal);
background-color: var(--background-primary); }
border-color: var(--background-modifier-border); .d2h-file-diff .d2h-del.d2h-change {
color: var(--text-normal); background-color: var(--git-change-bg);
} }
.d2h-file-diff .d2h-ins.d2h-change {
.theme-light background-color: var(--git-insert-bg);
.workspace-leaf-content[data-type="diff-view"] }
.d2h-file-diff .d2h-file-list-wrapper {
.d2h-del.d2h-change { a {
background-color: #fdf2d0; text-decoration: none;
} cursor: default;
-webkit-user-drag: none;
.theme-dark }
.workspace-leaf-content[data-type="diff-view"]
.d2h-file-diff svg {
.d2h-del.d2h-change { display: none;
background-color: #55492480; }
} }
.d2h-file-list-header {
.theme-light text-align: left;
.workspace-leaf-content[data-type="diff-view"] }
.d2h-file-diff .d2h-file-list-title {
.d2h-ins.d2h-change { display: none;
background-color: #ded; }
} .d2h-file-list-line {
display: -webkit-box;
.theme-dark display: -ms-flexbox;
.workspace-leaf-content[data-type="diff-view"] display: flex;
.d2h-file-diff text-align: left;
.d2h-ins.d2h-change { }
background-color: rgba(37, 78, 37, 0.418); .d2h-file-list {
} }
.d2h-file-list > li {
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-wrapper { border-bottom: 1px solid var(--background-modifier-border);
margin-bottom: 10px; margin: 0;
} padding: 5px 10px;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-wrapper a { .d2h-file-list > li:last-child {
color: #3572b0; border-bottom: none;
text-decoration: none; }
} .d2h-file-switch {
cursor: pointer;
.workspace-leaf-content[data-type="diff-view"] display: none;
.d2h-file-list-wrapper font-size: 10px;
a:visited { }
color: #3572b0; .d2h-icon {
} fill: currentColor;
margin-right: 10px;
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-header { vertical-align: middle;
text-align: left; }
} .d2h-deleted {
color: var(--git-delete);
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-title { }
font-weight: 700; .d2h-added {
} color: var(--git-insert);
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-line { .d2h-changed {
display: -webkit-box; color: var(--git-change);
display: -ms-flexbox; }
display: flex; .d2h-moved {
text-align: left; color: var(--git-move);
} }
.d2h-tag {
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list { background-color: var(--background-secondary);
display: block; display: -webkit-box;
list-style: none; display: -ms-flexbox;
margin: 0; display: flex;
padding: 0; font-size: 10px;
} margin-left: 5px;
padding: 0 2px;
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list > li { }
border-bottom: 1px solid var(--background-modifier-border); .d2h-deleted-tag {
margin: 0; border: 1px solid var(--git-delete);
padding: 5px 10px; }
} .d2h-added-tag {
border: 1px solid var(--git-insert);
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list > li:last-child { }
border-bottom: none; .d2h-changed-tag {
} border: 1px solid var(--git-change);
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-switch { .d2h-moved-tag {
cursor: pointer; border: 1px solid var(--git-move);
display: none; }
font-size: 10px;
} /* needed for line-by-line*/
.workspace-leaf-content[data-type="diff-view"] .d2h-icon { .d2h-diff-tbody {
fill: currentColor; position: relative;
margin-right: 10px; }
vertical-align: middle;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-deleted {
color: #c33;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-added {
color: #399839;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-changed {
color: #d0b44c;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-moved {
color: #3572b0;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-tag {
background-color: var(--background-primary);
display: -webkit-box;
display: -ms-flexbox;
display: flex;
font-size: 10px;
margin-left: 5px;
padding: 0 2px;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-deleted-tag {
border: 2px solid #c33;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-added-tag {
border: 1px solid #399839;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-changed-tag {
border: 1px solid #d0b44c;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-moved-tag {
border: 1px solid #3572b0;
} }
/* ====================== Line Authoring Information ====================== */ /* ====================== Line Authoring Information ====================== */
@@ -627,3 +593,113 @@
background: var(--interactive-hover); background: var(--interactive-hover);
color: var(--text-accent-hover); color: var(--text-accent-hover);
} }
.git-signs-gutter {
.cm-gutterElement {
display: grid;
}
}
.git-gutter-marker:hover {
border-radius: 2px;
}
.git-gutter-marker.git-add {
background-color: var(--color-green);
justify-self: center;
height: inherit;
width: 0.2rem;
}
.git-gutter-marker.git-change {
background-color: var(--color-yellow);
justify-self: center;
height: inherit;
width: 0.2rem;
}
.git-gutter-marker.git-changedelete {
color: var(--color-yellow);
font-weight: var(--font-bold);
font-size: 1rem;
justify-self: center;
height: inherit;
}
.git-gutter-marker.git-delete {
background-color: var(--color-red);
height: 0.2rem;
width: 0.8rem;
align-self: end;
}
.git-gutter-marker.git-topdelete {
background-color: var(--color-red);
height: 0.2rem;
width: 0.8rem;
align-self: start;
}
div:hover > .git-gutter-marker.git-change {
width: 0.6rem;
}
div:hover > .git-gutter-marker.git-add {
width: 0.6rem;
}
div:hover > .git-gutter-marker.git-delete {
height: 0.6rem;
}
div:hover > .git-gutter-marker.git-topdelete {
height: 0.6rem;
}
div:hover > .git-gutter-marker.git-changedelete {
font-weight: var(--font-bold);
}
.git-gutter-marker.staged {
opacity: 0.5;
}
.git-diff {
.cm-merge-revert {
width: 4em;
}
/* Ensure that merge revert markers are positioned correctly */
.cm-merge-revert > * {
position: absolute;
background-color: var(--background-secondary);
display: flex;
}
}
/* Prevent shifting of the editor when git signs gutter is the only gutter present */
.cm-gutters.cm-gutters-before:has(> .git-signs-gutter:only-child) {
margin-inline-end: 0;
.git-signs-gutter {
margin-inline-start: -1rem;
}
}
.git-changes-status-bar-colored {
.git-add {
color: var(--color-green);
}
.git-change {
color: var(--color-yellow);
}
.git-delete {
color: var(--color-red);
}
}
.git-changes-status-bar .git-add {
margin-right: 0.3em;
}
.git-changes-status-bar .git-change {
margin-right: 0.3em;
}
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1,7 +1,7 @@
{ {
"id": "obsidian-hover-editor", "id": "obsidian-hover-editor",
"name": "Hover Editor", "name": "Hover Editor",
"version": "0.11.27", "version": "0.11.28",
"minAppVersion": "1.5.8", "minAppVersion": "1.5.8",
"description": "Transform the Page Preview hover popover into a fully working editor instance", "description": "Transform the Page Preview hover popover into a fully working editor instance",
"author": "NothingIsLost", "author": "NothingIsLost",
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1,7 +1,7 @@
{ {
"id": "recent-files-obsidian", "id": "recent-files-obsidian",
"name": "Recent Files", "name": "Recent Files",
"version": "1.7.5", "version": "1.7.6",
"minAppVersion": "0.16.3", "minAppVersion": "0.16.3",
"description": "List files by most recently opened", "description": "List files by most recently opened",
"author": "Tony Grosinger", "author": "Tony Grosinger",
+60
View File
@@ -0,0 +1,60 @@
---
id:
aliases: []
title: 2026-01-13
tags:
- authorship/original
- destiny/permanent
- status/draft
- type/daily
---
# 2026-01-13
## 2026-01-13 11:28
### 2100 Crystal Drive ConEst Manager Review
#### Josh's Review Order
1. Backwards from Final Pricing through rest of closeout,
1. Equipment: Cost = 1% of total cost - systems quotes?
2. briefly check Extension,
3. Takeoff:
1. Feeders
2. Subfeeds
3. Units
> [!failure]
> Quad USB's in Units were taken off as standard receptacles.
#### Lighting Control
Follow up to [[2026-01-09#Lighting Control]]
Josh stated my takeoff was correct per drawings,
but that concessions would need to be made for the scope
as sold by [[pdi-estimating#Bid Estimating|Bid]].
At his direction I've removed dimming from BOH and corridor spaces.
The remaining takeoff will remain,
a $4/sf budget for a lighting control system for those areas was added.
I stated that our proposal was deceptive
for stating lighting control was included
to which Josh agreed.
2021 IECC applies.
Josh wants [[pre-takeoff-confirmation]]
to ask if lighting control is "as shown" or "to code",
I objected that "to code" as interpreted by Bid
is not necessarily _to code_ in truth.
Truly, they need to just tell us what they included.
The customer would appreciate it too, I'm sure.
#### Bonus Incentivized Inter-Departmental Conflict
During the review a ~~project manager~~ came to Josh
to ask for a revision to a WBS
> [!aside]
> Sunset WBS: Engineer did not approve aluminum EMT
-4
View File
@@ -94,8 +94,6 @@ Zones switched and dimmed from central lighting control panel (LCP).
2. `COMMON ASSEMBLIES`/`PDI BRANCH CKT HOME RUNS`/... (_with_ dimming cable) 2. `COMMON ASSEMBLIES`/`PDI BRANCH CKT HOME RUNS`/... (_with_ dimming cable)
**Count:** each _lighting control zone_. **Count:** each _lighting control zone_.
%%
### Somewhere In Between ### Somewhere In Between
The dichotomy of [[#"Standalone" Systems]] vs. [[#"Centralized" Systems]] The dichotomy of [[#"Standalone" Systems]] vs. [[#"Centralized" Systems]]
@@ -110,5 +108,3 @@ I think just as common is 3--5 circuit controllers above the ceiling.
2. `COMMON ASSEMBLIES`/`PDI BRANCH CKT HOME RUNS`/... (_without_ dimming cable) 2. `COMMON ASSEMBLIES`/`PDI BRANCH CKT HOME RUNS`/... (_without_ dimming cable)
**Length:** route to room. **Length:** route to room.
**Count:** each circuit. **Count:** each circuit.
%%
@@ -0,0 +1,112 @@
---
id:
aliases: []
title: "PDI Success Profile: Estimator - ConEST Electrical"
tags: []
---
# PDI Success Profile: Estimator - ConEST Electrical
## Job Description
### About the Position
The electrical estimator operates from our corporate headquarters in St. Petersburg, Florida.
The estimator is a driven individual who plays a key role in Power Design's growth
by bidding timely, accurate, and comprehensive electrical estimates
for multifamily, commercial, and federal projects.
### Position Responsibilities
* Manage the electrical estimating process from beginning to end,
including timelines, deadlines, and estimating packages.
* Work with a regionally aligned estimating team,
providing leadership, direction, and training.
* Perform necessary research to produce accurate, complete, and competitive pricing.
* Communicate with customers to properly define the project scope, address deficiencies, and negotiate pricing.
* Partner with our construction teams to properly transfer awarded projects.
* A motivated problem solver with a focus on customer service
and three to five (3--5) years of relevant electrical estimating experience.
* Someone who thrives in a fast-paced, constantly changing environment with very strict deadlines.
* Excellent communicator who is organized, detail-oriented, and efficient.
* Proficiency in Microsoft Office and estimating software (Accubid preferred).
* Demonstrate and uphold all of Power Design's core values,
which include integrity, accountability, teamwork, innovation, and growth.
### Additional Job Description
#### Objective 1
Effectively execute the customer relationship strategy (internal/external)
to maximize the opportunity to create a Raving Fan.
##### Key Results
* Demonstrating PDI's core values and exhibiting behaviors that support and align with our values.
* Possessing a strong sense of urgency, responsiveness and professionalism
in all tasks, assignments, and communication (written, verbal, non-verbal).
* Identifying, communicating and taking action on plusONE opportunities
including support and recognition (personal/professional).
* Building and maintaining high-trust relationships
that increase effective collaboration and communication with clients and customers.
* Identifying and understanding drivers of employee engagement
and how it influences organizational success.
#### Objective 2
Effectively execute the financial strategy of a project
to meet or exceed targeted gross profit.
##### Key Results
* Demonstrating proficient use of estimating software and project management tools.
* Exhibiting thorough knowledge and understanding of product pricing.
* Supporting all components of applicable estimating processes (Bid, ConEst, VE).
* Assisting with contract scope of work reviews.
* Drafting Bid documents.
* Performing preliminary cost analysis and identifying constructability issues/concerns.
#### Objective 3
Effectively plan, manage and execute PDI's leadership strategy
to drive employee engagement and support the growth and development
of today's talent and future talent.
##### Key Results
* Participating in the onboarding experience for new team members,
including new hires and transferring employees, to ensure they are set up for success.
* Practicing giving and seeking performance feedback (skills, strengths, opportunities)
and learning how to create development plans that align with organizational priorities.
* Observing coaching conversations
and practicing effective delegation to grow individual capabilities
while seeking process improvement opportunities
that increase production capacity of the entire team.
* Establishing a commitment to self-development
and continued learning to grow your skills and expertise.
* Identifying the importance of managing your time and energy
and understanding the impact a healthy work/life balance has on leadership effectiveness.
* Understanding PDI's philosophy on rewards and recognition
and establishing a reputation that seeks to recognize others.
+6 -1
View File
@@ -23,6 +23,10 @@ Typical of hotels and dormitories.
Route from panel to center of the room. Route from panel to center of the room.
### Wiring Method Selection
[[wiring-method-selection#Multi-Circuit Homeruns]]
### Voltage Drop ### Voltage Drop
_If_ voltage drop is to be considered in takeoff, _If_ voltage drop is to be considered in takeoff,
@@ -43,7 +47,8 @@ Route from meter center to unit load center.
[[distribution-equipment#Pigtail Adaptors|Pigtail Adaptors]] [[distribution-equipment#Pigtail Adaptors|Pigtail Adaptors]]
Use where conductors are oversized for voltage drop or otherwise. Use where conductors are oversized
(for voltage drop or otherwise).
| Load Center Size | Max Feeder Size | | Load Center Size | Max Feeder Size |
| ---------------- | --------------- | | ---------------- | --------------- |
+6
View File
@@ -144,6 +144,12 @@ may only be used where they will be concealed from view.
#### Multi-Circuit Homeruns #### Multi-Circuit Homeruns
Different schools of thought exist
on whether to use multi-neutral MC or EMT for homeruns.
Which is more cost-effective
is apparently subject to transient market conditions.
Seek clarification from your senior on a job by job basis.
> [!quote] Art Baldwin (pp.) > [!quote] Art Baldwin (pp.)
> Multi-circuit MC is not cost-effective > Multi-circuit MC is not cost-effective
> when considering the difficulty of rework. > when considering the difficulty of rework.