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 DEFAULT_SETTINGS = {
includeNoteName: "headersOnly",
titleProperty: "",
whichHeadings: "allHeaders",
includeNotice: false,
sep: " ",
@@ -64,6 +65,10 @@ var AnchorDisplayText = class extends import_obsidian.Plugin {
if (this.settings.ignoreEmbedded && match[0].charAt(0) === "!")
return;
const headings = match[1].split("#");
let notename = headings[0];
if (this.settings.titleProperty) {
notename = this.getTitleFromFile(notename);
}
let displayText = "";
if (this.settings.whichHeadings === "lastHeader") {
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;
if (this.settings.includeNoteName === "noteNameFirst") {
displayText = `${headings[0]}${this.settings.sep}${displayText}`;
displayText = `${notename}${this.settings.sep}${displayText}`;
} else if (this.settings.includeNoteName === "noteNameLast") {
displayText = `${displayText}${this.settings.sep}${headings[0]}`;
displayText = `${displayText}${this.settings.sep}${notename}`;
}
if (displayText.startsWith("^")) {
displayText = displayText.slice(1);
@@ -94,6 +99,23 @@ var AnchorDisplayText = class extends import_obsidian.Plugin {
}
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() {
this.settings = Object.assign({}, DEFAULT_SETTINGS, await this.loadData());
}
@@ -141,6 +163,10 @@ var AnchorDisplaySuggest = class extends import_obsidian.EditorSuggest {
}
getSuggestions(context) {
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];
if (displayText.startsWith("^")) {
displayText = displayText.slice(1);
@@ -153,11 +179,11 @@ var AnchorDisplaySuggest = class extends import_obsidian.EditorSuggest {
source: "Don't include note name"
};
const suggestion2 = {
displayText: `${headings[0]}${this.plugin.settings.sep}${displayText}`,
displayText: `${notename}${this.plugin.settings.sep}${displayText}`,
source: "Note name and than heading(s)"
};
const suggestion3 = {
displayText: `${displayText}${this.plugin.settings.sep}${headings[0]}`,
displayText: `${displayText}${this.plugin.settings.sep}${notename}`,
source: "Heading(s) and than note name"
};
return [suggestion1, suggestion2, suggestion3];
@@ -224,6 +250,13 @@ var AnchorDisplayTextSettingTab = class extends import_obsidian.PluginSettingTab
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) => {
dropdown.addOption("allHeaders", "All linked headings");
dropdown.addOption("lastHeader", "Last heading only");
+2 -2
View File
@@ -1,9 +1,9 @@
{
"id": "anchor-display-text",
"name": "Anchor Link Display Text",
"version": "1.3.0",
"version": "1.4.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",
"authorUrl": "https://github.com/rca-umb",
"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,
"openInMainWorkspace": true,
"showLinkBrackets": true,
"syncElementLinkWithText": false,
"allowCtrlClick": true,
"forceWrap": false,
"pageTransclusionCharLimit": 200,
@@ -122,7 +123,7 @@
"mdBorderColor": "Black",
"mdCSS": "",
"scriptEngineSettings": {},
"previousRelease": "2.18.3",
"previousRelease": "2.19.0",
"showReleaseNotes": true,
"compareManifestToPluginVersion": true,
"showNewVersionNotification": false,
@@ -131,6 +132,7 @@
"taskboneEnabled": false,
"taskboneAPIkey": "",
"pinnedScripts": [],
"sidepanelTabs": [],
"customPens": [
{
"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",
"name": "Excalidraw",
"version": "2.18.3",
"version": "2.19.0",
"minAppVersion": "1.5.7",
"description": "Sketch Your Mind. An Obsidian plugin to edit and view Excalidraw drawings. Enter the world of 4D Visual PKM.",
"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.",
"isDesktopOnly": false,
"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 {
border: 2px solid var(--interactive-accent);
border-radius: var(--radius-s);
@@ -129,444 +138,401 @@
color: var(--text-accent);
}
.workspace-leaf-content[data-type="diff-view"] .d2h-d-none {
display: none;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-wrapper {
text-align: left;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-header {
background-color: var(--background-primary);
border-bottom: 1px solid var(--interactive-accent);
font-family: var(--font-monospace);
height: 35px;
padding: 5px 10px;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-header,
.workspace-leaf-content[data-type="diff-view"] .d2h-file-stats {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-stats {
font-size: 14px;
margin-left: auto;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-lines-added {
border: 1px solid #b4e2b4;
border-radius: 5px 0 0 5px;
color: #399839;
padding: 2px;
text-align: right;
vertical-align: middle;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-lines-deleted {
border: 1px solid #e9aeae;
border-radius: 0 5px 5px 0;
color: #c33;
margin-left: 1px;
padding: 2px;
text-align: left;
vertical-align: middle;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-name-wrapper {
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
font-size: 15px;
width: 100%;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-name {
overflow-x: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-wrapper {
border: 1px solid var(--background-modifier-border);
border-radius: 3px;
margin-bottom: 1em;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-collapse {
-webkit-box-pack: end;
-ms-flex-pack: end;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
border: 1px solid var(--background-modifier-border);
border-radius: 3px;
cursor: pointer;
display: none;
font-size: 12px;
justify-content: flex-end;
padding: 4px 8px;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-collapse.d2h-selected {
background-color: #c8e1ff;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-collapse-input {
margin: 0 4px 0 0;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-diff-table {
border-collapse: collapse;
font-family: Menlo, Consolas, monospace;
font-size: 13px;
width: 100%;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-files-diff {
width: 100%;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-diff {
overflow-y: hidden;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-side-diff {
display: inline-block;
margin-bottom: -8px;
margin-right: -4px;
overflow-x: scroll;
overflow-y: hidden;
width: 50%;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line {
padding: 0 8em;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line,
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-line {
display: inline-block;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
white-space: nowrap;
width: 100%;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-line {
padding: 0 4.5em;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line-ctn {
word-wrap: normal;
background: none;
display: inline-block;
padding: 0;
-webkit-user-select: text;
-moz-user-select: text;
-ms-user-select: text;
user-select: text;
vertical-align: middle;
white-space: pre;
width: 100%;
}
.theme-light .workspace-leaf-content[data-type="diff-view"] .d2h-code-line del,
.theme-light
.workspace-leaf-content[data-type="diff-view"]
.d2h-code-side-line
del {
background-color: #ffb6ba;
}
.theme-dark .workspace-leaf-content[data-type="diff-view"] .d2h-code-line del,
.theme-dark
.workspace-leaf-content[data-type="diff-view"]
.d2h-code-side-line
del {
background-color: #8d232881;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line del,
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line ins,
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-line del,
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-line ins {
border-radius: 0.2em;
display: inline-block;
margin-top: -1px;
text-decoration: none;
vertical-align: middle;
}
.theme-light .workspace-leaf-content[data-type="diff-view"] .d2h-code-line ins,
.theme-light
.workspace-leaf-content[data-type="diff-view"]
.d2h-code-side-line
ins {
background-color: #97f295;
text-align: left;
}
.theme-dark .workspace-leaf-content[data-type="diff-view"] .d2h-code-line ins,
.theme-dark
.workspace-leaf-content[data-type="diff-view"]
.d2h-code-side-line
ins {
background-color: #1d921996;
text-align: left;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line-prefix {
word-wrap: normal;
background: none;
display: inline;
padding: 0;
white-space: pre;
}
.workspace-leaf-content[data-type="diff-view"] .line-num1 {
float: left;
}
.workspace-leaf-content[data-type="diff-view"] .line-num1,
.workspace-leaf-content[data-type="diff-view"] .line-num2 {
-webkit-box-sizing: border-box;
box-sizing: border-box;
overflow: hidden;
padding: 0 0.5em;
text-overflow: ellipsis;
width: 3.5em;
}
.workspace-leaf-content[data-type="diff-view"] .line-num2 {
float: right;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-linenumber {
background-color: var(--background-primary);
border: solid var(--background-modifier-border);
border-width: 0 1px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
color: var(--text-muted);
cursor: pointer;
display: inline-block;
position: absolute;
text-align: right;
width: 7.5em;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-linenumber:after {
content: "\200b";
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-linenumber {
background-color: var(--background-primary);
border: solid var(--background-modifier-border);
border-width: 0 1px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
color: var(--text-muted);
cursor: pointer;
display: inline-block;
overflow: hidden;
padding: 0 0.5em;
position: absolute;
text-align: right;
text-overflow: ellipsis;
width: 4em;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-diff-tbody tr {
position: relative;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-linenumber:after {
content: "\200b";
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-emptyplaceholder,
.workspace-leaf-content[data-type="diff-view"] .d2h-emptyplaceholder {
background-color: var(--background-primary);
border-color: var(--background-modifier-border);
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line-prefix,
.workspace-leaf-content[data-type="diff-view"] .d2h-code-linenumber,
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-linenumber,
.workspace-leaf-content[data-type="diff-view"] .d2h-emptyplaceholder {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-linenumber,
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-linenumber {
direction: rtl;
}
.theme-light .workspace-leaf-content[data-type="diff-view"] .d2h-del {
background-color: #fee8e9;
border-color: #e9aeae;
}
.theme-light .workspace-leaf-content[data-type="diff-view"] .d2h-ins {
background-color: #dfd;
border-color: #b4e2b4;
}
.theme-dark .workspace-leaf-content[data-type="diff-view"] .d2h-del {
background-color: #521b1d83;
border-color: #691d1d73;
}
.theme-dark .workspace-leaf-content[data-type="diff-view"] .d2h-ins {
background-color: rgba(30, 71, 30, 0.5);
border-color: #13501381;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-info {
background-color: var(--background-primary);
border-color: var(--background-modifier-border);
color: var(--text-normal);
}
.theme-light
.workspace-leaf-content[data-type="diff-view"]
.d2h-file-diff
.d2h-del.d2h-change {
background-color: #fdf2d0;
}
.theme-dark
.workspace-leaf-content[data-type="diff-view"]
.d2h-file-diff
.d2h-del.d2h-change {
background-color: #55492480;
}
.theme-light
.workspace-leaf-content[data-type="diff-view"]
.d2h-file-diff
.d2h-ins.d2h-change {
background-color: #ded;
}
.theme-dark
.workspace-leaf-content[data-type="diff-view"]
.d2h-file-diff
.d2h-ins.d2h-change {
background-color: rgba(37, 78, 37, 0.418);
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-wrapper {
margin-bottom: 10px;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-wrapper a {
color: #3572b0;
text-decoration: none;
}
.workspace-leaf-content[data-type="diff-view"]
.d2h-file-list-wrapper
a:visited {
color: #3572b0;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-header {
text-align: left;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-title {
font-weight: 700;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-line {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
text-align: left;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list {
display: block;
list-style: none;
margin: 0;
padding: 0;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list > li {
border-bottom: 1px solid var(--background-modifier-border);
margin: 0;
padding: 5px 10px;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list > li:last-child {
border-bottom: none;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-switch {
cursor: pointer;
display: none;
font-size: 10px;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-icon {
fill: currentColor;
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;
/* ====== diff2html ======
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:
https://github.com/rtfpessoa/diff2html/blob/master/LICENSE.md
Copyright 2014-2016 Rodrigo Fernandes https://rtfpessoa.github.io/
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit
persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
.theme-dark,
.theme-light {
--git-delete-bg: #ff475040;
--git-delete-hl: #96050a75;
--git-insert-bg: #68d36840;
--git-insert-hl: #23c02350;
--git-change-bg: #ffd55840;
--git-selected: #3572b0;
--git-delete: #c33;
--git-insert: #399839;
--git-change: #d0b44c;
--git-move: #3572b0;
}
.git-diff {
.d2h-d-none {
display: none;
}
.d2h-wrapper {
text-align: left;
border-radius: 0.25em;
overflow: auto;
}
.d2h-file-header.d2h-file-header {
background-color: var(--background-secondary);
border-bottom: 1px solid var(--background-modifier-border);
font-family:
Source Sans Pro,
Helvetica Neue,
Helvetica,
Arial,
sans-serif;
height: 35px;
padding: 5px 10px;
}
.d2h-file-header,
.d2h-file-stats {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
}
.d2h-file-header {
display: none;
}
.d2h-file-stats {
font-size: 14px;
margin-left: auto;
}
.d2h-lines-added {
border: 1px solid var(--color-green);
border-radius: 5px 0 0 5px;
color: var(--color-green);
padding: 2px;
text-align: right;
vertical-align: middle;
}
.d2h-lines-deleted {
border: 1px solid var(--color-red);
border-radius: 0 5px 5px 0;
color: var(--color-red);
margin-left: 1px;
padding: 2px;
text-align: left;
vertical-align: middle;
}
.d2h-file-name-wrapper {
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
font-size: 15px;
width: 100%;
}
.d2h-file-name {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
color: var(--text-normal);
font-size: var(--h5-size);
}
.d2h-file-wrapper {
border: 1px solid var(--background-secondary-alt);
border-radius: 3px;
margin-bottom: 1em;
max-height: 100%;
}
.d2h-file-collapse {
-webkit-box-pack: end;
-ms-flex-pack: end;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
border: 1px solid var(--background-secondary-alt);
border-radius: 3px;
cursor: pointer;
display: none;
font-size: 12px;
justify-content: flex-end;
padding: 4px 8px;
}
.d2h-file-collapse.d2h-selected {
background-color: var(--git-selected);
}
.d2h-file-collapse-input {
margin: 0 4px 0 0;
}
.d2h-diff-table {
border-collapse: collapse;
font-family: var(--font-monospace);
font-size: var(--code-size);
width: 100%;
}
.d2h-files-diff {
width: 100%;
}
.d2h-file-diff {
/*
overflow-y: scroll;
*/
border-radius: 5px;
font-size: var(--font-text-size);
line-height: var(--line-height-normal);
}
.d2h-file-side-diff {
display: inline-block;
margin-bottom: -8px;
margin-right: -4px;
overflow-x: scroll;
overflow-y: hidden;
width: 50%;
}
.d2h-code-line {
padding-left: 6em;
padding-right: 1.5em;
}
.d2h-code-line,
.d2h-code-side-line {
display: inline-block;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
white-space: nowrap;
width: 100%;
}
.d2h-code-side-line {
/* needed to be changed */
padding-left: 0.5em;
padding-right: 0.5em;
}
.d2h-code-line-ctn {
word-wrap: normal;
background: none;
display: inline-block;
padding: 0;
-webkit-user-select: text;
-moz-user-select: text;
-ms-user-select: text;
user-select: text;
vertical-align: middle;
width: 100%;
/* only works for line-by-line */
white-space: pre-wrap;
}
.d2h-code-line del,
.d2h-code-side-line del {
background-color: var(--git-delete-hl);
color: var(--text-normal);
}
.d2h-code-line del,
.d2h-code-line ins,
.d2h-code-side-line del,
.d2h-code-side-line ins {
border-radius: 0.2em;
display: inline-block;
margin-top: -1px;
text-decoration: none;
vertical-align: middle;
}
.d2h-code-line ins,
.d2h-code-side-line ins {
background-color: var(--git-insert-hl);
text-align: left;
}
.d2h-code-line-prefix {
word-wrap: normal;
background: none;
display: inline;
padding: 0;
white-space: pre;
}
.line-num1 {
float: left;
}
.line-num1,
.line-num2 {
-webkit-box-sizing: border-box;
box-sizing: border-box;
overflow: hidden;
/*
padding: 0 0.5em;
*/
text-overflow: ellipsis;
width: 2.5em;
padding-left: 0;
}
.line-num2 {
float: right;
}
.d2h-code-linenumber {
background-color: var(--background-primary);
border: solid var(--background-modifier-border);
border-width: 0 1px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
color: var(--text-faint);
cursor: pointer;
display: inline-block;
position: absolute;
text-align: right;
width: 5.5em;
}
.d2h-code-linenumber:after {
content: "\200b";
}
.d2h-code-side-linenumber {
background-color: var(--background-primary);
border: solid var(--background-modifier-border);
border-width: 0 1px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
color: var(--text-faint);
cursor: pointer;
overflow: hidden;
padding: 0 0.5em;
text-align: right;
text-overflow: ellipsis;
width: 4em;
/* needed to be changed */
display: table-cell;
position: relative;
}
.d2h-code-side-linenumber:after {
content: "\200b";
}
.d2h-code-side-emptyplaceholder,
.d2h-emptyplaceholder {
background-color: var(--background-primary);
border-color: var(--background-modifier-border);
}
.d2h-code-line-prefix,
.d2h-code-linenumber,
.d2h-code-side-linenumber,
.d2h-emptyplaceholder {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.d2h-code-linenumber,
.d2h-code-side-linenumber {
direction: rtl;
}
.d2h-del {
background-color: var(--git-delete-bg);
border-color: var(--git-delete-hl);
}
.d2h-ins {
background-color: var(--git-insert-bg);
border-color: var(--git-insert-hl);
}
.d2h-info {
background-color: var(--background-primary);
border-color: var(--background-modifier-border);
color: var(--text-faint);
}
.d2h-del,
.d2h-ins,
.d2h-file-diff .d2h-change {
color: var(--text-normal);
}
.d2h-file-diff .d2h-del.d2h-change {
background-color: var(--git-change-bg);
}
.d2h-file-diff .d2h-ins.d2h-change {
background-color: var(--git-insert-bg);
}
.d2h-file-list-wrapper {
a {
text-decoration: none;
cursor: default;
-webkit-user-drag: none;
}
svg {
display: none;
}
}
.d2h-file-list-header {
text-align: left;
}
.d2h-file-list-title {
display: none;
}
.d2h-file-list-line {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
text-align: left;
}
.d2h-file-list {
}
.d2h-file-list > li {
border-bottom: 1px solid var(--background-modifier-border);
margin: 0;
padding: 5px 10px;
}
.d2h-file-list > li:last-child {
border-bottom: none;
}
.d2h-file-switch {
cursor: pointer;
display: none;
font-size: 10px;
}
.d2h-icon {
fill: currentColor;
margin-right: 10px;
vertical-align: middle;
}
.d2h-deleted {
color: var(--git-delete);
}
.d2h-added {
color: var(--git-insert);
}
.d2h-changed {
color: var(--git-change);
}
.d2h-moved {
color: var(--git-move);
}
.d2h-tag {
background-color: var(--background-secondary);
display: -webkit-box;
display: -ms-flexbox;
display: flex;
font-size: 10px;
margin-left: 5px;
padding: 0 2px;
}
.d2h-deleted-tag {
border: 1px solid var(--git-delete);
}
.d2h-added-tag {
border: 1px solid var(--git-insert);
}
.d2h-changed-tag {
border: 1px solid var(--git-change);
}
.d2h-moved-tag {
border: 1px solid var(--git-move);
}
/* needed for line-by-line*/
.d2h-diff-tbody {
position: relative;
}
}
/* ====================== Line Authoring Information ====================== */
@@ -627,3 +593,113 @@
background: var(--interactive-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",
"name": "Hover Editor",
"version": "0.11.27",
"version": "0.11.28",
"minAppVersion": "1.5.8",
"description": "Transform the Page Preview hover popover into a fully working editor instance",
"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",
"name": "Recent Files",
"version": "1.7.5",
"version": "1.7.6",
"minAppVersion": "0.16.3",
"description": "List files by most recently opened",
"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)
**Count:** each _lighting control zone_.
%%
### Somewhere In Between
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)
**Length:** route to room.
**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.
### Wiring Method Selection
[[wiring-method-selection#Multi-Circuit Homeruns]]
### Voltage Drop
_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]]
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 |
| ---------------- | --------------- |
+6
View File
@@ -144,6 +144,12 @@ may only be used where they will be concealed from view.
#### 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.)
> Multi-circuit MC is not cost-effective
> when considering the difficulty of rework.