vault backup: 2025-07-25 15:43:44

This commit is contained in:
2025-07-25 15:43:44 -04:00
parent 66be41640e
commit 8ba8473372
32 changed files with 2156 additions and 74 deletions
+3 -1
View File
@@ -7,5 +7,7 @@
"autoPairMarkdown": false,
"useTab": false,
"alwaysUpdateLinks": true,
"tabSize": 2
"tabSize": 2,
"vimMode": false,
"promptDelete": false
}
+4 -1
View File
@@ -8,5 +8,8 @@
"obsidian-linter",
"templater-obsidian",
"obsidian-style-settings",
"obsidian-tagfolder"
"obsidian-tagfolder",
"obsidian-excalidraw-plugin",
"excalibrain",
"obsidian-hover-editor"
]
+16 -9
View File
@@ -1,25 +1,32 @@
{
"collapse-filter": false,
"search": "",
"showTags": false,
"showTags": true,
"showAttachments": false,
"hideUnresolved": true,
"showOrphans": true,
"collapse-color-groups": false,
"colorGroups": [
{
"query": "tag:#systems ",
"color": {
"a": 1,
"rgb": 14701138
}
},
{
"query": "tag:#meta",
"color": {
"a": 1,
"rgb": 14725458
}
},
{
"query": "tag:#occupational",
"color": {
"a": 1,
"rgb": 11657298
}
},
{
"query": "tag:#software",
"color": {
"a": 1,
"rgb": 6443744
}
}
],
"collapse-display": false,
@@ -32,6 +39,6 @@
"repelStrength": 10,
"linkStrength": 1,
"linkDistance": 250,
"scale": 0.6135434814060167,
"scale": 0.42373736104909404,
"close": false
}
+249
View File
@@ -0,0 +1,249 @@
{
"compactView": false,
"compactingFactor": 1.5,
"minLinkLength": 18,
"excalibrainFilepath": "excalibrain.md",
"indexUpdateInterval": 5000,
"hierarchy": {
"exclusions": [
"excalidraw-border-color",
"excalidraw-css",
"excalidraw-default-mode",
"excalidraw-export-dark",
"excalidraw-export-pngscale",
"excalidraw-export-svgpadding",
"excalidraw-export-transparent",
"excalidraw-font",
"excalidraw-font-color",
"excalidraw-link-brackets",
"excalidraw-link-prefix",
"excalidraw-linkbutton-opacity",
"excalidraw-onload-script",
"excalidraw-plugin",
"excalidraw-url-prefix",
"kanban-plugin"
],
"parents": [
"inception",
"North",
"origin",
"Parent",
"parent domain",
"Parents",
"source",
"u",
"up"
],
"children": [
"Child",
"Children",
"contributes to",
"d",
"down",
"leads to",
"nurtures",
"South"
],
"leftFriends": [
"advantages",
"alternatives",
"Friend",
"Friends",
"j",
"Jump",
"Jumps",
"pros",
"similar",
"supports"
],
"rightFriends": [
"cons",
"disadvantages",
"missing",
"opposes"
],
"previous": [
"Before",
"Prev",
"Previous",
"w",
"West"
],
"next": [
"After",
"e",
"East",
"n",
"Next"
],
"hidden": [
"hidden"
]
},
"inferAllLinksAsFriends": false,
"inverseInfer": false,
"inverseArrowDirection": true,
"renderAlias": true,
"nodeTitleScript": "",
"backgroundColor": "#0c3e6aff",
"excludeFilepaths": [
"templates"
],
"autoOpenCentralDocument": true,
"toggleEmbedTogglesAutoOpen": true,
"showInferredNodes": true,
"showAttachments": true,
"showURLNodes": true,
"showVirtualNodes": true,
"showFolderNodes": false,
"showTagNodes": false,
"showPageNodes": true,
"showNeighborCount": true,
"showFullTagName": false,
"maxItemCount": 30,
"renderSiblings": false,
"applyPowerFilter": false,
"baseNodeStyle": {
"prefix": "",
"backgroundColor": "#00000066",
"fillStyle": "solid",
"textColor": "#ffffffff",
"borderColor": "#00000000",
"fontSize": 20,
"fontFamily": 3,
"maxLabelLength": 30,
"roughness": 0,
"strokeShaprness": "round",
"strokeWidth": 1,
"strokeStyle": "solid",
"padding": 10,
"gateRadius": 5,
"gateOffset": 15,
"gateStrokeColor": "#ffffffff",
"gateBackgroundColor": "#ffffffff",
"gateFillStyle": "solid"
},
"centralNodeStyle": {
"fontSize": 30,
"backgroundColor": "#B5B5B5",
"textColor": "#000000ff"
},
"inferredNodeStyle": {
"backgroundColor": "#000005b3",
"textColor": "#95c7f3ff"
},
"urlNodeStyle": {
"prefix": "🌐 "
},
"virtualNodeStyle": {
"backgroundColor": "#ff000066",
"fillStyle": "hachure",
"textColor": "#ffffffff"
},
"siblingNodeStyle": {
"fontSize": 15
},
"attachmentNodeStyle": {
"prefix": "📎 "
},
"folderNodeStyle": {
"prefix": "📂 ",
"strokeShaprness": "sharp",
"borderColor": "#ffd700ff",
"textColor": "#ffd700ff"
},
"tagNodeStyle": {
"prefix": "#",
"strokeShaprness": "sharp",
"borderColor": "#4682b4ff",
"textColor": "#4682b4ff"
},
"tagNodeStyles": {},
"tagStyleList": [],
"primaryTagField": "Note type",
"primaryTagFieldLowerCase": "note-type",
"displayAllStylePrefixes": true,
"baseLinkStyle": {
"strokeColor": "#696969FF",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 0,
"startArrowHead": "none",
"endArrowHead": "none",
"showLabel": false,
"fontSize": 10,
"fontFamily": 3,
"textColor": "#ffffffff"
},
"inferredLinkStyle": {
"strokeStyle": "dashed"
},
"folderLinkStyle": {
"strokeColor": "#ffd700ff"
},
"tagLinkStyle": {
"strokeColor": "#4682b4ff"
},
"hierarchyLinkStyles": {
"hidden": {},
"inception": {},
"North": {},
"origin": {},
"Parent": {},
"parent domain": {},
"Parents": {},
"source": {},
"u": {},
"up": {},
"Child": {},
"Children": {},
"contributes to": {},
"d": {},
"down": {},
"leads to": {},
"nurtures": {},
"South": {},
"advantages": {},
"alternatives": {},
"Friend": {},
"Friends": {},
"j": {},
"Jump": {},
"Jumps": {},
"pros": {},
"similar": {},
"supports": {},
"cons": {},
"disadvantages": {},
"missing": {},
"opposes": {},
"Before": {},
"Prev": {},
"Previous": {},
"w": {},
"West": {},
"After": {},
"e": {},
"East": {},
"n": {},
"Next": {}
},
"navigationHistory": [],
"allowOntologySuggester": true,
"ontologySuggesterParentTrigger": "::p",
"ontologySuggesterChildTrigger": "::c",
"ontologySuggesterLeftFriendTrigger": "::l",
"ontologySuggesterRightFriendTrigger": "::r",
"ontologySuggesterPreviousTrigger": "::e",
"ontologySuggesterNextTrigger": "::n",
"ontologySuggesterTrigger": ":::",
"ontologySuggesterMidSentenceTrigger": "(",
"boldFields": false,
"allowAutozoom": true,
"maxZoom": 1,
"allowAutofocuOnSearch": true,
"defaultAlwaysOnTop": false,
"embedCentralNode": false,
"centerEmbedWidth": 550,
"centerEmbedHeight": 700
}
File diff suppressed because one or more lines are too long
+10
View File
@@ -0,0 +1,10 @@
{
"id": "excalibrain",
"name": "ExcaliBrain",
"version": "0.2.15",
"minAppVersion": "1.1.6",
"description": "A clean, intuitive and editable graph view for Obsidian",
"author": "Zsolt Viczian",
"authorUrl": "https://zsolt.blog",
"isDesktopOnly": false
}
+349
View File
@@ -0,0 +1,349 @@
/* Sets all the text color to red! */
.excalibrain-warning {
background-color: var(--text-highlight-bg);
color: var(--text-normal);
}
.excalibrain-prompt-center {
text-align: center;
}
.excalibrain-contentEl div.Island,
.excalibrain-contentEl button.help-icon {
display:none;
}
.excalibrain-contentEl {
overflow: hidden !important;
position: relative;
}
/* -----------
TOOLS PANEL
------------ */
.excalibrain-toolspanel-wrapper {
z-index: 3;
position: absolute;
top: 0.6em;
padding-left: 0.6em;
/* Set width to auto to fit its content */
width: 100%;
padding-right: 0.6em;
pointer-events: none;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.excalibrain-dropdown-wrapper,
.excalibrain-buttons {
pointer-events: none;
margin-top: 0.3em;
max-width: 37em;
justify-content: space-between;
}
.excalibrain-searchinput {
width: 26em;
vertical-align: middle;
pointer-events: all;
}
.excalibrain-buttons {
margin-left: -0.3em;
display: flex;
float: right;
flex: 1 0 30em;
}
.excalibrain-toolspanel-divider {
width: 0.15em;
background-color: var(--default-border-color);
margin-left: 0.5em;
margin-right: 0.2em;
}
.excalibrain-button {
pointer-events: all;
vertical-align: middle;
padding-left: 0.3em;
padding-right: 0.3em;
margin-left: 0.3em !important;
margin-right: 0px !important;
width: 2.4em !important;
justify-content: center !important;
box-shadow: none;
transition: box-shadow 0.3s ease;
}
.excalibrain-button.off {
background-color: var(--island-bg-color);
}
.excalibrain-button.on {
background-color: var(--color-primary-darker);
}
.excalibrain-button:hover {
box-shadow: 0 3px 6px rgba(0, 0, 0, 0.4);
}
.excalibrain-button:active {
box-shadow: 0 6px 12px rgba(0, 0, 0, 0.6);
}
.excalibrain-button.disabled {
background-color: var(--island-bg-color);
pointer-events: none;
opacity: 0.5;
cursor: not-allowed;
}
/* -----------
HISTORY
------------ */
.excalibrain-history-wrapper {
z-index: 3;
position: absolute;
bottom: 0px;
padding-left: 7rem;
padding-bottom: 10px;
width: 100%;
padding-right: 10px;
overflow: hidden;
}
.excalibrain-history-container {
overflow-y: hidden;
display: -webkit-box;
overflow-x: scroll;
padding-left: 0.5em;
background-color: #00000030;
}
.excalibrain-history-divider {
color: gold;
margin-left: 5px;
margin-right: 5px;
font-size: smaller;
}
.excalibrain-history-item {
cursor: pointer;
color: silver;
font-size: smaller;
}
/* -----------
SETTINGS
------------ */
.excalibrain-settings-folding-L1 {
font-size: large;
font-weight: bold;
color: var(--text-title-h3);
}
.excalibrain-settings-h1 {
color: var(--text-title-h1);
}
.excalibrain-setting-style-section {
padding-left: 30px;
border-left: 10px solid var(--background-modifier-border);
}
.excalibrain-settings-demoimg {
max-width: 400px;
}
.excalibrain-setting-nameEl {
min-width: 10em;
max-width: 20em;
}
.excalibrain-setting-descEl {
min-width: 10em;
max-width: 20em;
}
.excalibrain-setting-controlEl {
width: 90%;
}
.excalibrain-settings-colorlabel {
padding-right: 5px;
min-width: 3em;
}
.excalibrain-settings-colorpicker {
max-width: 32px;
min-width: 32px;
width: 32px !important;
}
.excalibrain-settings-opacitylabel {
padding-right: 5px;
padding-left: 10px;
min-width: 5em;
}
.excalibrain-settings-sliderlabel {
min-width: 2em;
text-align: right;
}
.excalibrain-settings-toggle {
min-width: 2em;
margin-right: 5px;
}
.excalibrain-dropdown-wrapper {
display: inline-flex;
}
/* -----------
MULTISELECT
------------ */
.multiselect-container {
padding-left: 0.3em;
width:14.2em;
pointer-events: all;
}
.multiselect-container * {
box-sizing:border-box;
}
.multiselect-container .multiselect-header {
width:100%;
margin-bottom:6px;
}
.multiselect-container .multiselect-wrapper {
position:relative;
width:100%;
height:30px;
background: var(--island-bg-color); /*var(--background-modifier-form-field);*/
border:1px solid var(--background-modifier-border);
display:flex;
align-items:center;
padding:0 8px;
cursor:pointer
}
.multiselect-container .multiselect-wrapper:after {
content:"";
position:absolute;
width:8px;
height:8px;
right:12px;
top:8px;
border-right:2px solid var(--text-normal);
border-top:2px solid var(--text-normal);
transform:rotate(135deg);
transform-origin:center center;
transition:all .2s ease-in-out;
}
.multiselect-container .multiselect-wrapper .selected-value {
padding-right:30px;
text-overflow:ellipsis;
overflow:hidden;
white-space:nowrap;
}
.multiselect-container .multiselect-wrapper .options-wrapper {
position:absolute;
top:100%;
left:0;
width:100%;
max-height:300px;
overflow:auto;
background-color:var(--background-secondary);
border:1px solid var(--background-modifier-border);
display:none;
flex-direction:column;
}
.multiselect-container .multiselect-wrapper .option:hover {
cursor:pointer;
background-color:rgba(0,0,0,0.1);
}
.multiselect-container .multiselect-wrapper .option-text {
display:none;
padding:6px 12px;
}
.multiselect-container .multiselect-wrapper .checkbox-wrapper {
display:flex;
align-items:center;min-height:19px;
position:relative;
padding:6px 12px 6px 36px;
cursor:pointer;
-webkit-user-select:none;
-moz-user-select:none;
-ms-user-select:none;
user-select:none;
}
.multiselect-container .multiselect-wrapper .checkbox-wrapper .checkbox-checkmark {
position:absolute;
top:6px;
left:6px;
height:19px;
width:19px;
background-color:#eee;
border-radius:4px;
border:1px solid #000;
}
.multiselect-container .multiselect-wrapper .checkbox-wrapper .checkbox-checkmark:after {
content:'';
position:absolute;display:none;
left:6px;
top:2px;
width:4px;
height:8px;
border:solid white;
border-width:0 2px 2px 0;
transform:rotate(45deg);
}
.multiselect-container .multiselect-wrapper .checkbox-wrapper input {
position:absolute;
opacity:0;
cursor:pointer;
height:0;
width:0;
}
.multiselect-container .multiselect-wrapper .checkbox-wrapper input:checked ~ .checkbox-checkmark {
background-color:#2196F3;
}
.multiselect-container .multiselect-wrapper .checkbox-wrapper input:checked ~ .checkbox-checkmark:after {
display:block;
}
.multiselect-container .multiselect-wrapper.single-select .checkbox-wrapper {
display:none;
}
.multiselect-container .multiselect-wrapper.single-select .option-text {
display:block;
}
.multiselect-container .multiselect-wrapper.single-select .option-text.selected {
background-color:#2196F3;
}
.multiselect-container .multiselect-wrapper.opened:after {
top:12px;
transform:rotate(315deg);
}
.multiselect-container .multiselect-wrapper.opened .options-wrapper {
display:flex;
}
+807
View File
@@ -0,0 +1,807 @@
{
"disableDoubleClickTextEditing": false,
"folder": "Excalidraw",
"cropFolder": "",
"annotateFolder": "",
"embedUseExcalidrawFolder": false,
"templateFilePath": "Excalidraw/Template.excalidraw",
"scriptFolderPath": "Excalidraw/Scripts",
"fontAssetsPath": "Excalidraw/CJK Fonts",
"loadChineseFonts": false,
"loadJapaneseFonts": false,
"loadKoreanFonts": false,
"compress": true,
"decompressForMDView": false,
"onceOffCompressFlagReset": true,
"onceOffGPTVersionReset": true,
"autosave": true,
"autosaveIntervalDesktop": 60000,
"autosaveIntervalMobile": 30000,
"drawingFilenamePrefix": "drawing ",
"drawingEmbedPrefixWithFilename": true,
"drawingFilnameEmbedPostfix": " ",
"drawingFilenameDateTime": "YYYY-MM-DD_hh-mm",
"useExcalidrawExtension": true,
"cropSuffix": "",
"cropPrefix": "cropped_",
"annotateSuffix": "",
"annotatePrefix": "annotated_",
"annotatePreserveSize": false,
"previewImageType": "SVGIMG",
"renderingConcurrency": 3,
"allowImageCache": true,
"allowImageCacheInScene": true,
"displayExportedImageIfAvailable": false,
"previewMatchObsidianTheme": false,
"width": "400",
"height": "",
"overrideObsidianFontSize": false,
"dynamicStyling": "colorful",
"isLeftHanded": false,
"iframeMatchExcalidrawTheme": true,
"matchTheme": false,
"matchThemeAlways": false,
"matchThemeTrigger": false,
"defaultMode": "normal",
"defaultPenMode": "never",
"penModeDoubleTapEraser": true,
"penModeSingleFingerPanning": true,
"penModeCrosshairVisible": true,
"renderImageInMarkdownReadingMode": false,
"renderImageInHoverPreviewForMDNotes": false,
"renderImageInMarkdownToPDF": false,
"allowPinchZoom": false,
"allowWheelZoom": false,
"zoomToFitOnOpen": true,
"zoomToFitOnResize": true,
"zoomToFitMaxLevel": 2,
"linkPrefix": "📍",
"urlPrefix": "🌐",
"parseTODO": false,
"todo": "☐",
"done": "🗹",
"hoverPreviewWithoutCTRL": false,
"linkOpacity": 1,
"openInAdjacentPane": true,
"showSecondOrderLinks": true,
"focusOnFileTab": true,
"openInMainWorkspace": true,
"showLinkBrackets": true,
"allowCtrlClick": true,
"forceWrap": false,
"pageTransclusionCharLimit": 200,
"wordWrappingDefault": 0,
"removeTransclusionQuoteSigns": true,
"iframelyAllowed": true,
"pngExportScale": 1,
"exportWithTheme": true,
"exportWithBackground": true,
"exportPaddingSVG": 10,
"exportEmbedScene": false,
"keepInSync": false,
"autoexportSVG": false,
"autoexportPNG": false,
"autoExportLightAndDark": false,
"autoexportExcalidraw": false,
"embedType": "excalidraw",
"embedMarkdownCommentLinks": true,
"embedWikiLink": true,
"syncExcalidraw": false,
"experimentalFileType": false,
"experimentalFileTag": "✏️",
"experimentalLivePreview": true,
"fadeOutExcalidrawMarkup": false,
"loadPropertySuggestions": false,
"experimentalEnableFourthFont": false,
"experimantalFourthFont": "Virgil",
"addDummyTextElement": false,
"zoteroCompatibility": false,
"fieldSuggester": true,
"compatibilityMode": false,
"drawingOpenCount": 0,
"library": "deprecated",
"library2": {
"type": "excalidrawlib",
"version": 2,
"source": "https://github.com/zsviczian/obsidian-excalidraw-plugin/releases/tag/2.14.0",
"libraryItems": []
},
"imageElementNotice": true,
"mdSVGwidth": 500,
"mdSVGmaxHeight": 800,
"mdFont": "Virgil",
"mdFontColor": "Black",
"mdBorderColor": "Black",
"mdCSS": "",
"scriptEngineSettings": {},
"defaultTrayMode": true,
"previousRelease": "2.14.0",
"showReleaseNotes": true,
"showNewVersionNotification": true,
"latexBoilerplate": "\\color{blue}",
"latexPreambleLocation": "preamble.sty",
"taskboneEnabled": false,
"taskboneAPIkey": "",
"pinnedScripts": [],
"customPens": [
{
"type": "default",
"freedrawOnly": false,
"strokeColor": "#000000",
"backgroundColor": "transparent",
"fillStyle": "hachure",
"strokeWidth": 0,
"roughness": 0,
"penOptions": {
"highlighter": false,
"constantPressure": false,
"hasOutline": false,
"outlineWidth": 1,
"options": {
"thinning": 0.6,
"smoothing": 0.5,
"streamline": 0.5,
"easing": "easeOutSine",
"start": {
"cap": true,
"taper": 0,
"easing": "linear"
},
"end": {
"cap": true,
"taper": 0,
"easing": "linear"
}
}
}
},
{
"type": "highlighter",
"freedrawOnly": true,
"strokeColor": "#FFC47C",
"backgroundColor": "#FFC47C",
"fillStyle": "solid",
"strokeWidth": 2,
"roughness": null,
"penOptions": {
"highlighter": true,
"constantPressure": true,
"hasOutline": true,
"outlineWidth": 4,
"options": {
"thinning": 1,
"smoothing": 0.5,
"streamline": 0.5,
"easing": "linear",
"start": {
"taper": 0,
"cap": true,
"easing": "linear"
},
"end": {
"taper": 0,
"cap": true,
"easing": "linear"
}
}
}
},
{
"type": "finetip",
"freedrawOnly": false,
"strokeColor": "#3E6F8D",
"backgroundColor": "transparent",
"fillStyle": "hachure",
"strokeWidth": 0.5,
"roughness": 0,
"penOptions": {
"highlighter": false,
"hasOutline": false,
"outlineWidth": 1,
"constantPressure": true,
"options": {
"smoothing": 0.4,
"thinning": -0.5,
"streamline": 0.4,
"easing": "linear",
"start": {
"taper": 5,
"cap": false,
"easing": "linear"
},
"end": {
"taper": 5,
"cap": false,
"easing": "linear"
}
}
}
},
{
"type": "fountain",
"freedrawOnly": false,
"strokeColor": "#000000",
"backgroundColor": "transparent",
"fillStyle": "hachure",
"strokeWidth": 2,
"roughness": 0,
"penOptions": {
"highlighter": false,
"constantPressure": false,
"hasOutline": false,
"outlineWidth": 1,
"options": {
"smoothing": 0.2,
"thinning": 0.6,
"streamline": 0.2,
"easing": "easeInOutSine",
"start": {
"taper": 150,
"cap": true,
"easing": "linear"
},
"end": {
"taper": 1,
"cap": true,
"easing": "linear"
}
}
}
},
{
"type": "marker",
"freedrawOnly": true,
"strokeColor": "#B83E3E",
"backgroundColor": "#FF7C7C",
"fillStyle": "dashed",
"strokeWidth": 2,
"roughness": 3,
"penOptions": {
"highlighter": false,
"constantPressure": true,
"hasOutline": true,
"outlineWidth": 4,
"options": {
"thinning": 1,
"smoothing": 0.5,
"streamline": 0.5,
"easing": "linear",
"start": {
"taper": 0,
"cap": true,
"easing": "linear"
},
"end": {
"taper": 0,
"cap": true,
"easing": "linear"
}
}
}
},
{
"type": "thick-thin",
"freedrawOnly": true,
"strokeColor": "#CECDCC",
"backgroundColor": "transparent",
"fillStyle": "hachure",
"strokeWidth": 0,
"roughness": null,
"penOptions": {
"highlighter": true,
"constantPressure": true,
"hasOutline": false,
"outlineWidth": 1,
"options": {
"thinning": 1,
"smoothing": 0.5,
"streamline": 0.5,
"easing": "linear",
"start": {
"taper": 0,
"cap": true,
"easing": "linear"
},
"end": {
"cap": true,
"taper": true,
"easing": "linear"
}
}
}
},
{
"type": "thin-thick-thin",
"freedrawOnly": true,
"strokeColor": "#CECDCC",
"backgroundColor": "transparent",
"fillStyle": "hachure",
"strokeWidth": 0,
"roughness": null,
"penOptions": {
"highlighter": true,
"constantPressure": true,
"hasOutline": false,
"outlineWidth": 1,
"options": {
"thinning": 1,
"smoothing": 0.5,
"streamline": 0.5,
"easing": "linear",
"start": {
"cap": true,
"taper": true,
"easing": "linear"
},
"end": {
"cap": true,
"taper": true,
"easing": "linear"
}
}
}
},
{
"type": "default",
"freedrawOnly": false,
"strokeColor": "#000000",
"backgroundColor": "transparent",
"fillStyle": "hachure",
"strokeWidth": 0,
"roughness": 0,
"penOptions": {
"highlighter": false,
"constantPressure": false,
"hasOutline": false,
"outlineWidth": 1,
"options": {
"thinning": 0.6,
"smoothing": 0.5,
"streamline": 0.5,
"easing": "easeOutSine",
"start": {
"cap": true,
"taper": 0,
"easing": "linear"
},
"end": {
"cap": true,
"taper": 0,
"easing": "linear"
}
}
}
},
{
"type": "default",
"freedrawOnly": false,
"strokeColor": "#000000",
"backgroundColor": "transparent",
"fillStyle": "hachure",
"strokeWidth": 0,
"roughness": 0,
"penOptions": {
"highlighter": false,
"constantPressure": false,
"hasOutline": false,
"outlineWidth": 1,
"options": {
"thinning": 0.6,
"smoothing": 0.5,
"streamline": 0.5,
"easing": "easeOutSine",
"start": {
"cap": true,
"taper": 0,
"easing": "linear"
},
"end": {
"cap": true,
"taper": 0,
"easing": "linear"
}
}
}
},
{
"type": "default",
"freedrawOnly": false,
"strokeColor": "#000000",
"backgroundColor": "transparent",
"fillStyle": "hachure",
"strokeWidth": 0,
"roughness": 0,
"penOptions": {
"highlighter": false,
"constantPressure": false,
"hasOutline": false,
"outlineWidth": 1,
"options": {
"thinning": 0.6,
"smoothing": 0.5,
"streamline": 0.5,
"easing": "easeOutSine",
"start": {
"cap": true,
"taper": 0,
"easing": "linear"
},
"end": {
"cap": true,
"taper": 0,
"easing": "linear"
}
}
}
}
],
"numberOfCustomPens": 0,
"pdfScale": 4,
"pdfBorderBox": true,
"pdfFrame": false,
"pdfGapSize": 20,
"pdfGroupPages": false,
"pdfLockAfterImport": true,
"pdfNumColumns": 1,
"pdfNumRows": 1,
"pdfDirection": "right",
"pdfImportScale": 0.3,
"gridSettings": {
"DYNAMIC_COLOR": true,
"COLOR": "#000000",
"OPACITY": 50,
"GRID_DIRECTION": {
"horizontal": true,
"vertical": true
}
},
"laserSettings": {
"DECAY_LENGTH": 50,
"DECAY_TIME": 1000,
"COLOR": "#ff0000"
},
"embeddableMarkdownDefaults": {
"useObsidianDefaults": false,
"backgroundMatchCanvas": false,
"backgroundMatchElement": true,
"backgroundColor": "#fff",
"backgroundOpacity": 60,
"borderMatchElement": true,
"borderColor": "#fff",
"borderOpacity": 0,
"filenameVisible": false
},
"markdownNodeOneClickEditing": false,
"canvasImmersiveEmbed": true,
"startupScriptPath": "",
"aiEnabled": true,
"openAIAPIToken": "",
"openAIDefaultTextModel": "gpt-3.5-turbo-1106",
"openAIDefaultVisionModel": "gpt-4o",
"openAIDefaultImageGenerationModel": "dall-e-3",
"openAIURL": "https://api.openai.com/v1/chat/completions",
"openAIImageGenerationURL": "https://api.openai.com/v1/images/generations",
"openAIImageEditsURL": "https://api.openai.com/v1/images/edits",
"openAIImageVariationURL": "https://api.openai.com/v1/images/variations",
"modifierKeyConfig": {
"Mac": {
"LocalFileDragAction": {
"defaultAction": "image-import",
"rules": [
{
"shift": false,
"ctrl_cmd": false,
"alt_opt": false,
"meta_ctrl": false,
"result": "image-import"
},
{
"shift": true,
"ctrl_cmd": false,
"alt_opt": true,
"meta_ctrl": false,
"result": "link"
},
{
"shift": true,
"ctrl_cmd": false,
"alt_opt": false,
"meta_ctrl": false,
"result": "image-url"
},
{
"shift": false,
"ctrl_cmd": false,
"alt_opt": true,
"meta_ctrl": false,
"result": "embeddable"
}
]
},
"WebBrowserDragAction": {
"defaultAction": "image-url",
"rules": [
{
"shift": false,
"ctrl_cmd": false,
"alt_opt": false,
"meta_ctrl": false,
"result": "image-url"
},
{
"shift": true,
"ctrl_cmd": false,
"alt_opt": true,
"meta_ctrl": false,
"result": "link"
},
{
"shift": false,
"ctrl_cmd": false,
"alt_opt": true,
"meta_ctrl": false,
"result": "embeddable"
},
{
"shift": true,
"ctrl_cmd": false,
"alt_opt": false,
"meta_ctrl": false,
"result": "image-import"
}
]
},
"InternalDragAction": {
"defaultAction": "link",
"rules": [
{
"shift": false,
"ctrl_cmd": false,
"alt_opt": false,
"meta_ctrl": false,
"result": "link"
},
{
"shift": false,
"ctrl_cmd": false,
"alt_opt": false,
"meta_ctrl": true,
"result": "embeddable"
},
{
"shift": true,
"ctrl_cmd": false,
"alt_opt": false,
"meta_ctrl": false,
"result": "image"
},
{
"shift": true,
"ctrl_cmd": false,
"alt_opt": false,
"meta_ctrl": true,
"result": "image-fullsize"
}
]
},
"LinkClickAction": {
"defaultAction": "new-tab",
"rules": [
{
"shift": false,
"ctrl_cmd": false,
"alt_opt": false,
"meta_ctrl": false,
"result": "active-pane"
},
{
"shift": false,
"ctrl_cmd": true,
"alt_opt": false,
"meta_ctrl": false,
"result": "new-tab"
},
{
"shift": false,
"ctrl_cmd": true,
"alt_opt": true,
"meta_ctrl": false,
"result": "new-pane"
},
{
"shift": true,
"ctrl_cmd": true,
"alt_opt": true,
"meta_ctrl": false,
"result": "popout-window"
},
{
"shift": false,
"ctrl_cmd": true,
"alt_opt": false,
"meta_ctrl": true,
"result": "md-properties"
}
]
}
},
"Win": {
"LocalFileDragAction": {
"defaultAction": "image-import",
"rules": [
{
"shift": false,
"ctrl_cmd": false,
"alt_opt": false,
"meta_ctrl": false,
"result": "image-import"
},
{
"shift": false,
"ctrl_cmd": true,
"alt_opt": false,
"meta_ctrl": false,
"result": "link"
},
{
"shift": true,
"ctrl_cmd": false,
"alt_opt": false,
"meta_ctrl": false,
"result": "image-url"
},
{
"shift": true,
"ctrl_cmd": true,
"alt_opt": false,
"meta_ctrl": false,
"result": "embeddable"
}
]
},
"WebBrowserDragAction": {
"defaultAction": "image-url",
"rules": [
{
"shift": false,
"ctrl_cmd": false,
"alt_opt": false,
"meta_ctrl": false,
"result": "image-url"
},
{
"shift": false,
"ctrl_cmd": true,
"alt_opt": false,
"meta_ctrl": false,
"result": "link"
},
{
"shift": true,
"ctrl_cmd": true,
"alt_opt": false,
"meta_ctrl": false,
"result": "embeddable"
},
{
"shift": true,
"ctrl_cmd": false,
"alt_opt": false,
"meta_ctrl": false,
"result": "image-import"
}
]
},
"InternalDragAction": {
"defaultAction": "link",
"rules": [
{
"shift": false,
"ctrl_cmd": false,
"alt_opt": false,
"meta_ctrl": false,
"result": "link"
},
{
"shift": true,
"ctrl_cmd": true,
"alt_opt": false,
"meta_ctrl": false,
"result": "embeddable"
},
{
"shift": true,
"ctrl_cmd": false,
"alt_opt": false,
"meta_ctrl": false,
"result": "image"
},
{
"shift": false,
"ctrl_cmd": true,
"alt_opt": true,
"meta_ctrl": false,
"result": "image-fullsize"
}
]
},
"LinkClickAction": {
"defaultAction": "new-tab",
"rules": [
{
"shift": false,
"ctrl_cmd": false,
"alt_opt": false,
"meta_ctrl": false,
"result": "active-pane"
},
{
"shift": false,
"ctrl_cmd": true,
"alt_opt": false,
"meta_ctrl": false,
"result": "new-tab"
},
{
"shift": false,
"ctrl_cmd": true,
"alt_opt": true,
"meta_ctrl": false,
"result": "new-pane"
},
{
"shift": true,
"ctrl_cmd": true,
"alt_opt": true,
"meta_ctrl": false,
"result": "popout-window"
},
{
"shift": false,
"ctrl_cmd": true,
"alt_opt": false,
"meta_ctrl": true,
"result": "md-properties"
}
]
}
}
},
"slidingPanesSupport": false,
"areaZoomLimit": 1,
"longPressDesktop": 500,
"longPressMobile": 500,
"doubleClickLinkOpenViewMode": true,
"isDebugMode": false,
"rank": "Bronze",
"modifierKeyOverrides": [
{
"modifiers": [
"Mod"
],
"key": "Enter"
},
{
"modifiers": [
"Mod"
],
"key": "k"
},
{
"modifiers": [
"Mod"
],
"key": "G"
}
],
"showSplashscreen": true,
"pdfSettings": {
"pageSize": "A4",
"pageOrientation": "portrait",
"fitToPage": 1,
"paperColor": "white",
"customPaperColor": "#ffffff",
"alignment": "center",
"margin": "normal"
}
}
File diff suppressed because one or more lines are too long
@@ -0,0 +1,12 @@
{
"id": "obsidian-excalidraw-plugin",
"name": "Excalidraw",
"version": "2.14.0",
"minAppVersion": "1.5.7",
"description": "An Obsidian plugin to edit and view Excalidraw drawings",
"author": "Zsolt Viczian",
"authorUrl": "https://excalidraw-obsidian.online",
"fundingUrl": "https://ko-fi.com/zsolt",
"helpUrl": "https://github.com/zsviczian/obsidian-excalidraw-plugin#readme",
"isDesktopOnly": false
}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+10
View File
@@ -0,0 +1,10 @@
{
"id": "obsidian-hover-editor",
"name": "Hover Editor",
"version": "0.11.26",
"minAppVersion": "1.5.8",
"description": "Transform the Page Preview hover popover into a fully working editor instance",
"author": "NothingIsLost",
"authorUrl": "https://github.com/nothingislost",
"isDesktopOnly": false
}
+582
View File
@@ -0,0 +1,582 @@
/* @settings
name: Hover Editor
id: hover-editor
settings:
-
id: titlebar-heading
title: Title bar
type: heading
level: 1
collapsed: true
-
id: titlebar-heading
title: Title bar background/foreground
type: heading
level: 2
collapsed: true
-
id: he-title-bar-active-bg
title: Active unpinned title bar background color
type: variable-themed-color
format: hex
default-light: '#'
default-dark: '#'
-
id: he-title-bar-inactive-bg
title: Inactive unpinned title bar background color
type: variable-themed-color
format: hex
default-light: '#'
default-dark: '#'
-
id: he-title-bar-active-pinned-bg
title: Active pinned title bar background color
type: variable-themed-color
format: hex
default-light: '#'
default-dark: '#'
-
id: he-title-bar-inactive-pinned-bg
title: Inactive pinned title bar background color
type: variable-themed-color
format: hex
default-light: '#'
default-dark: '#'
-
id: he-title-bar-active-fg
title: Active title bar foreground color
type: variable-themed-color
format: hex
default-light: '#'
default-dark: '#'
-
id: he-title-bar-inactive-fg
title: Inactive title bar foreground color
type: variable-themed-color
format: hex
default-light: '#'
default-dark: '#'
-
id: titlebar-action-heading
title: Title bar icons
type: heading
level: 2
collapsed: true
-
id: he-title-bar-inactive-action
title: Title bar inactive icon color
type: variable-themed-color
format: hex
default-light: '#'
default-dark: '#'
-
id: he-title-bar-active-action
title: Titlebar active icon color
type: variable-themed-color
format: hex
default-light: '#'
default-dark: '#'
-
id: titlebar-text-heading
title: Title bar text
type: heading
level: 2
collapsed: true
-
id: he-title-bar-font-size
title: Title bar Font size
type: variable-text
description: Accepts any CSS font-size value
default: 15px
-
id: titlebar-height-heading
title: Title bar height
type: heading
level: 2
collapsed: true
-
id: he-title-bar-height
title: Title bar height
type: variable-text
description: Accepts any CSS font-size value
default: 28px
*/
:root {
/* general styling */
--he-popover-opacity-while-dragging: 0.8;
--he-popover-border-radius: 6px;
--he-popover-header-transition-speed: 0.3s;
--he-popover-snap-to-edge-transition-speed: 0.3s;
/* resize handle sizing */
--he-resize-handle-side-size: 12px;
--he-resize-handle-corner-size: 18px;
/* view header height */
--he-view-header-height: 36px;
}
body {
--he-text-on-accent-inactive: var(--text-on-accent); /* couldn't find a good variable that worked across themes */
--he-text-on-accent-active: #fff;
/* z-index layer settings, probably not a good idea to mess with these */
--he-popover-layer-inactive: calc(var(--layer-slides) - 4);
--he-popover-layer-active: calc(var(--he-popover-layer-inactive) + 1);
--he-popover-layer-new: calc(var(--he-popover-layer-inactive) + 2);
--he-leaf-drag-overlay: calc(var(--he-popover-layer-inactive) + 3);
/* calculated variables, do not modify */
--he-resize-handle-side-offset: calc((var(--he-resize-handle-side-size) - 3px) * -1);
--he-resize-handle-corner-offset: calc((var(--he-resize-handle-corner-size) / 2) * -1);
--he-resize-handle-side-length: calc(100% - var(--he-resize-handle-corner-size));
/* title bar colors */
--he-title-bar-active-bg: var(--interactive-accent);
--he-title-bar-inactive-bg: #777777;
--he-title-bar-inactive-pinned-bg: #777777;
--he-title-bar-active-pinned-bg: var(--interactive-accent);
--he-title-bar-active-fg: var(--he-text-on-accent-active);
--he-title-bar-inactive-fg: var(--he-text-on-accent-inactive);
/* title bar action/icon colors */
--he-title-bar-inactive-action: var(--he-text-on-accent-inactive);
--he-title-bar-active-action: var(--he-text-on-accent-active);
/* titlebar sizing */
--he-title-bar-height: 28px;
--he-title-bar-font-size: 15px;
}
.popover.hover-editor .workspace-leaf,
.popover.hover-editor .workspace-split {
height: 100%;
width: 100%;
}
/*
Obsidian 1.6 sets a different background for non-root splits,
then uses primary as an override at root. Since hover editors
don't live in a root split, we have to copy the override:
*/
.popover.hover-editor .workspace-split .view-content {
background-color: var(--background-primary);
}
.popover.hover-editor {
min-height: unset;
max-height: unset;
/* touch action none fixes dragging and resizing on mobile */
touch-action: none;
/* this is set to allow the drag/resize handles to overflow the popover frame */
overflow: visible;
border: none;
padding: 0;
z-index: var(--he-popover-layer-inactive);
border-radius: var(--he-popover-border-radius);
/* Prevent snagging on titlebar */
-webkit-app-region: no-drag;
}
.popover.hover-editor .markdown-preview-view {
font-size: inherit;
}
.popover.hover-editor.is-active {
z-index: var(--he-popover-layer-active);
}
.popover.hover-editor.is-new {
z-index: var(--he-popover-layer-new);
}
/* Drag/link overlay needs to overlay popups */
.workspace-fake-target-overlay,
.workspace-drop-overlay {
z-index: var(--he-leaf-drag-overlay);
}
.popover.hover-editor .resize-handle {
position: absolute;
touch-action: none;
}
.popover.hover-editor .resize-handle.top {
top: var(--he-resize-handle-side-offset);
height: var(--he-resize-handle-side-size);
left: calc(var(--he-resize-handle-corner-offset) * -1);
width: var(--he-resize-handle-side-length);
}
.popover.hover-editor .resize-handle.left {
height: var(--he-resize-handle-side-length);
left: var(--he-resize-handle-side-offset);
top: calc(var(--he-resize-handle-corner-offset) * -1);
width: var(--he-resize-handle-side-size);
}
.popover.hover-editor .resize-handle.right {
height: var(--he-resize-handle-side-length);
right: var(--he-resize-handle-side-offset);
top: calc(var(--he-resize-handle-corner-offset) * -1);
width: var(--he-resize-handle-side-size);
}
.popover.hover-editor .resize-handle.bottom {
bottom: var(--he-resize-handle-side-offset);
height: var(--he-resize-handle-side-size);
left: calc(var(--he-resize-handle-corner-offset) * -1);
width: var(--he-resize-handle-side-length);
}
.popover.hover-editor .resize-handle.bottom-left {
bottom: var(--he-resize-handle-corner-offset);
height: var(--he-resize-handle-corner-size);
left: var(--he-resize-handle-corner-offset);
width: var(--he-resize-handle-corner-size);
}
.popover.hover-editor .resize-handle.bottom-right {
bottom: var(--he-resize-handle-corner-offset);
height: var(--he-resize-handle-corner-size);
right: var(--he-resize-handle-corner-offset);
width: var(--he-resize-handle-corner-size);
}
.popover.hover-editor .resize-handle.top-left {
top: var(--he-resize-handle-corner-offset);
height: var(--he-resize-handle-corner-size);
left: var(--he-resize-handle-corner-offset);
width: var(--he-resize-handle-corner-size);
}
.popover.hover-editor .resize-handle.top-right {
top: var(--he-resize-handle-corner-offset);
height: var(--he-resize-handle-corner-size);
right: var(--he-resize-handle-corner-offset);
width: var(--he-resize-handle-corner-size);
}
/* body.is-dragging-popover .tooltip {
opacity: 0;
} */
.popover-header-icon {
width: fit-content;
}
.mod-pin-popover > svg {
transform: rotate(45deg);
}
.mod-pin-popover.is-active > svg {
transform: rotate(0deg);
}
.popover-action,
.popover-header-icon {
margin: 0 8px;
cursor: pointer;
color: var(--he-title-bar-inactive-action);
position: relative;
display: flex;
align-items: center;
}
.popover-action.is-active,
.mod-pin-popover.is-active {
color: var(--he-title-bar-active-action);
}
.popover-action:hover,
.popover-header-icon:hover {
color: var(--he-title-bar-active-action);
}
.popover-action.is-active svg,
.mod-pin-popover.is-active svg {
}
.mod-pin-popover.is-active > svg {
transform: unset;
}
.popover.hover-editor .workspace-leaf-content[data-type="empty"] .view-header {
/* ensures that minimal theme doesn't hide the popover header */
display: flex;
}
.popover.hover-editor .workspace-split > .workspace-leaf:last-child > .workspace-leaf-resize-handle {
/* this hides the leaf resize handles that touch the edge of the popover */
/* without this the leaf resize handles conflict with the popover resize handles */
display: none;
}
.popover.hover-editor.is-dragging {
opacity: var(--he-popover-opacity-while-dragging);
}
.popover.hover-editor:is(.snap-to-viewport, .snap-to-left, .snap-to-right) .resize-handle {
display: none;
}
.popover.hover-editor.snap-to-right .resize-handle.left,
.popover.hover-editor.snap-to-left .resize-handle.right {
display: block;
}
.popover.hover-editor.is-dragging.snap-to-left,
.popover.hover-editor.is-dragging.snap-to-right,
.popover.hover-editor.is-dragging.snap-to-viewport {
transition: width var(--he-popover-snap-to-edge-transition-speed),
height var(--he-popover-snap-to-edge-transition-speed), top var(--he-popover-snap-to-edge-transition-speed),
left var(--he-popover-snap-to-edge-transition-speed);
}
.hover-popover.is-dragging.snap-to-left::after,
.hover-popover.is-dragging.snap-to-right::after,
.hover-popover.is-dragging.snap-to-viewport::after {
position: absolute;
content: "";
width: 100%;
height: 100%;
top: 0;
border-radius: var(--he-popover-border-radius);
box-shadow: inset 0px 0px 0px 4px var(--interactive-accent);
pointer-events: none;
}
.popover.hover-editor.snap-to-left {
max-height: unset !important;
}
.popover.hover-editor.snap-to-right {
right: 0 !important;
max-height: unset !important;
}
.popover.hover-editor.snap-to-viewport {
max-height: unset !important;
max-width: unset !important;
}
.popover.hover-editor .popover-titlebar {
display: flex;
height: var(--he-title-bar-height);
width: 100%;
background-color: var(--he-title-bar-inactive-bg);
}
.popover.hover-editor.is-active .popover-titlebar {
background-color: var(--he-title-bar-active-bg);
}
.popover.hover-editor.is-pinned.is-pinned .popover-titlebar {
background-color: var(--he-title-bar-inactive-pinned-bg);
}
.popover.hover-editor.is-pinned.is-pinned.is-active .popover-titlebar {
background-color: var(--he-title-bar-active-pinned-bg);
}
.popover.hover-editor .popover-titlebar .popover-actions {
display: flex;
justify-content: flex-end;
}
.popover.hover-editor > .popover-content {
margin: 0;
border-radius: var(--he-popover-border-radius);
overflow: hidden;
height: 100%;
width: 100%;
}
.popover.hover-popover.hover-editor .pdf-toolbar:not(.pdf-findbar.mod-hidden) {
/* Show PDF toolbar in hover editor */
display: flex;
}
.popover.hover-editor .popover-titlebar .popover-title {
display: block;
flex-grow: 1;
transition: all 0.3s;
align-self: center;
font-size: var(--he-title-bar-font-size);
font-weight: 500;
white-space: pre;
word-wrap: normal;
color: var(--he-title-bar-inactive-fg);
overflow: hidden;
position: relative;
}
.popover.hover-editor.is-active .popover-title {
color: var(--he-title-bar-active-fg);
}
.popover.hover-editor.is-active .popover-title:after {
background: linear-gradient(to right, transparent, var(--he-title-bar-active-bg));
}
.popover.hover-editor.is-pinned.is-pinned.is-active .popover-title:after {
background: linear-gradient(to right, transparent, var(--he-title-bar-active-pinned-bg));
}
.popover.hover-editor.is-pinned.is-pinned .popover-title:after {
background: linear-gradient(to right, transparent, var(--he-title-bar-inactive-pinned-bg));
}
.popover.hover-editor .popover-title:after {
content: " ";
position: absolute;
top: 0;
right: 0;
width: 30px;
height: 100%;
background: linear-gradient(to right, transparent, var(--he-title-bar-inactive-bg));
}
.popover.hover-editor .mod-show-navbar svg {
transform: rotate(90deg);
}
.popover.hover-editor > .popover-content > .workspace-split {
height: calc(100% - var(--he-title-bar-height));
}
.popover.hover-editor .view-header {
border-top: none;
transition: all var(--he-popover-header-transition-speed);
display: flex;
}
/* Restore 1.5.x view header icons */
.view-header .view-header-icon {
display: none;
padding: var(--size-2-2);
margin-right: var(--size-2-3);
color: var(--text-muted);
align-self: center;
cursor: grab;
}
.view-header .view-header-icon:active {
cursor: grabbing;
}
.popover.hover-editor .view-header .view-header-icon {
display: flex;
}
.popover.hover-editor.show-navbar:not(.is-minimized) .popover-title {
opacity: 0;
}
.popover.hover-editor:not(.show-navbar) .view-header {
height: 0px;
overflow: hidden;
}
.popover.hover-editor.show-navbar .view-header {
/* theme devs: if you want to change the header height, you must do so by setting the --he-view-header-height variable */
/* if you don't use the variable, you will break internal measurement logic */
height: var(--he-view-header-height);
overflow: unset;
}
.popover.hover-editor:not(.show-navbar) .view-content {
height: 100%;
}
.popover.hover-editor .workspace-leaf-content[data-type="image"] .view-content {
padding: 0;
position: relative;
overflow: hidden;
}
.popover.hover-editor .workspace-leaf-content[data-type="image"] img {
display: block;
position: relative;
height: 100%;
width: 100%;
max-width: unset;
border-radius: 0;
}
body .popover.hover-editor .view-content {
/* theme devs: if you want to change the header height, you must do so by setting the --he-view-header-height variable */
/* if you don't use the variable, you will break internal measurement logic */
height: calc(100% - var(--he-view-header-height));
}
/* start: zoomable images feature */
.popover.hover-editor.image-zoom .view-content .image-embed:active {
aspect-ratio: unset;
cursor: zoom-out;
display: block;
z-index: 200;
position: fixed;
max-height: calc(100% + 1px);
max-width: 100%;
height: calc(100% + 1px);
width: 100%;
object-fit: contain;
margin: -0.5px auto 0;
text-align: center;
padding: 0;
left: 0;
right: 0;
bottom: 0;
max-width: unset;
}
/* extra specificity to override some community theme styles that cause issues */
.popover.hover-editor.image-zoom .view-content .image-embed img:active {
top: 50%;
z-index: 99;
transform: translateY(-50%);
padding: 0;
margin: 0 auto;
width: calc(100% - 20px);
height: unset;
max-height: 95vh;
object-fit: contain;
left: 0;
right: 0;
bottom: 0;
position: absolute;
opacity: 1;
max-width: unset;
max-height: 100%;
}
.popover.hover-editor.image-zoom .view-content .image-embed:active:after {
background-color: var(--background-primary);
opacity: 0.9;
content: " ";
height: calc(100% + 1px);
width: 100%;
position: fixed;
left: 0;
right: 1px;
z-index: 0;
}
.popover.hover-editor.image-zoom .view-content img {
cursor: zoom-in;
}
/* extra specificity to override some community theme styles that cause issues */
.popover.hover-editor.image-zoom .workspace-leaf-content[data-type="image"] img {
cursor: zoom-in;
top: 50%;
transform: translateY(-50%);
object-fit: contain;
height: unset;
left: 0;
right: 0;
bottom: 0;
position: absolute;
opacity: 1;
max-height: 100%;
}
/* end: zoomable images feature */
@@ -3,6 +3,7 @@ id: 2025-07-18_estimating-isnt-engineering
aliases: []
tags:
- anecdote
- estimating
---
# Estimating Isn't Engineering
+7 -22
View File
@@ -1,31 +1,16 @@
---
id:
id: README
aliases:
- home
- zmVault
tags:
- meta
---
# zmVault
This obsidian vault collects my thoughts on my most developed [[supertopics|supertopic]],
which I would call "[[construction-estimating]]",
but that includes fields far more disparate
than my peers would traditionally consider relevant.
> [!info]
> This note on the meta-formatting of this repository.
> For contents, prose conventions, etc. see [[this-notebook]].
See [[this-notebook]].
## Purpose
I want to be involved construction estimating for the rest of my working life.
Current discourse on the subject is self-similar and sanitized.
I'd like to be known as an innovator in [[estimating-philosophy]],
and for solving some of its [[open-problems-in-estimating]].
## Contents
Despite how alien my approach may seem to most estimators,
I believe its all merely extrapolation on the conventional practice.
* Industry Knowledge
* Statistics
* [[strategy]]
* [Obsidian syntax](https://help.obsidian.md/)
* [Markdown Oxide syntax](https://oxide.md/)
+1
View File
@@ -3,6 +3,7 @@ id:
aliases: []
tags:
- guide
- occupational
---
# Accubid Setup
+1 -1
View File
@@ -2,7 +2,7 @@
id:
aliases: []
tags:
- professional
- occupational
- automation
---
# Award Analysis
+1
View File
@@ -3,6 +3,7 @@ id:
aliases: []
tags:
- guide
- occupational
---
# Design Build Budget
+1 -1
View File
@@ -35,7 +35,7 @@ tags:
### Lighting Control
By PDI convention, [[lighting-controls]] are generally "Electrical", not "Lighting".
By PDI convention, [child:: [[lighting-controls]]] are generally "Electrical", not "Lighting".
### Receptacles
+3 -2
View File
@@ -3,8 +3,9 @@ id:
aliases: []
tags:
- guide
- professional
next: project-setup
- occupational
friends:
- project-setup
---
# Estimating Workflow
+1 -1
View File
@@ -3,7 +3,7 @@ id:
aliases: []
tags:
- automation
- professional
- occupational
---
# Feeder Verification Automation
+3 -2
View File
@@ -1,8 +1,9 @@
---
id:
aliases:
tags:
aliases: []
tags:
- systems/electrical
parent: [[electrical]]
---
# Lighting Controls
+9 -8
View File
@@ -43,9 +43,8 @@ I have several problematic productivity habits.
My primary motivators are curiosity and stress.
#### Curiosity
I find it very easy and natural to work on projects for extended, uninterrupted periods
I find it very easy and natural
to work on projects for extended, uninterrupted periods
when I am investigating a new problem,
or a potential new way to solve a problem.
@@ -54,14 +53,16 @@ that will not benefit me or anyone else.
Even if they _could_ be useful, my motivation ends with my curiosity
around 90% progress, where I'm able to visualize the end result.
#### Stress
I find it near impossible to do work I'm not curious of
until my subconscious determines that we have exactly enough time
to finish it before the deadline.
## Boredom
I think I spend much more time bored than my peers.
Others with as much freetime as me tend to spend it exercizing.
Others with as much free time as me tend to spend it exercising.
## My Purpose
I want to be involved construction estimating for the rest of my working life.
Current discourse on the subject is self-similar and sanitized.
I'd like to be known as an innovator in [[estimating-philosophy]],
and for solving some of its [[open-problems-in-estimating]].
+1 -1
View File
@@ -3,7 +3,7 @@ id:
aliases: []
tags:
- automation
- professional
- occupational
- software
---
# Necessary Automation
+1 -1
View File
@@ -2,7 +2,7 @@
id:
aliases: []
tags:
- professional
- occupational
- media
---
# NEW HIRE - ESTIMATOR
+1 -1
View File
@@ -3,7 +3,7 @@ id:
aliases: []
tags:
- automation
- professional
- occupational
---
# Project Info
+2 -2
View File
@@ -3,7 +3,7 @@ id:
aliases: []
tags:
- guide
- professional
- occupational
next: setup-accubid
---
# Project Setup
@@ -13,7 +13,7 @@ next: setup-accubid
```pwsh
# Copy template folder to
Set-Location "\\EgnyteDrive\Shared\Estimating\7 ConEst Team\Projects\ConEst 2025\"
Copy-Item ".\z.Template Folder\" ".\$region\$projectName"
Copy-Item ".\z.Template Folder\" ".\$region\$projectName - $state, $buildingType"
```
## Download Project Documents
+1 -1
View File
@@ -2,7 +2,7 @@
id:
aliases: []
tags:
- terminology
- encyclopedia
---
# Raceway Terms
+12 -8
View File
@@ -1,4 +1,6 @@
---
id:
aliases: []
tags:
- risk
---
@@ -7,23 +9,24 @@ tags:
Risk, in common parlance, is the chance that something "bad" will happen.
As such, it is generally understood as a binary, win/loss relationship.
This model of [[discrete-probability]] is ubiquitous of
This model of discrete probability is ubiquitous of
[[project-management-tm|Project Management™]],
and is the sort assumed when using [[risk-registers]].
and is the sort assumed when using [[#risk registers].
> [!example]
> This scope of work presents a 1 in 10 chance of significant delay.
## In Cost Estimation
The prior model is well suited to project management,
which (being reductive) cares about why's,
where cost estimation only cares about the bottom line.
where cost estimation only cares about the bottom line.
It is generally not useful for construction cost estimation.
Potential impacts sufficient to warrant documenting
should usually just be [[proposals#exclusions|excluded]].
should usually just be [[proposals#exclusions|excluded]].
Cost estimators usually understand risk in terms of [[continuous-probability]].
Cost estimators usually understand risk in terms of continuous probability.
The reality of cost estimation is that there are _no_ certain costs.
Traditional construction estimates give a false impression of certainty
@@ -31,11 +34,12 @@ because they operate on and return fixed values.
With the most generous interpretation, they can be said to evaluate cost
in the most likely case of each axis of uncertainty.
"Escalation" means projecting recent pricing to a later date of purchase
based on anticipated market conditions.
> [!info] Escalation
> Projecting recent pricing to a later date of purchase
> based on anticipated market conditions.
> [!aside] ISO 31000
> ISO 31000 defines risk as the "effect of [[uncertainty]] on objectives"
> [ISO 31000]([ISO 31000:2018 - Risk management — Guidelines](https://www.iso.org/standard/65694.html)) defines risk as the "effect of [[uncertainty]] on objectives"
> therefore referring to positive consequences of uncertainty, as well as negative ones.
>
> The standard gives a list on how to deal with risk:
+20 -2
View File
@@ -1,10 +1,19 @@
---
id:
aliases: []
tags:
- meta
---
# This Notebook
This journal is for [[me|my]] rough ideas that I'm likely to change my opinion on
This obsidian vault collects [[me|my]] thoughts
on my most developed [[supertopics|supertopic]],
which I would call "[[construction-estimating]]",
but that includes fields far more disparate
than my peers would traditionally consider relevant.
This journal is for my rough ideas
that I'm likely to change my opinion on
as my understanding of them develops.
It's my intent that any outside sources used here will be properly cited,
@@ -13,6 +22,15 @@ and that work can be assumed to be my own unless otherwise stated.
This is not an appropriate place for definition lists, tables,
or other resources provided without context or analysis.
## Contents
Despite how alien my approach may seem to most estimators,
I believe its all merely extrapolation on the conventional practice.
* Industry Knowledge
* Statistics
* [[strategy]]
## Purpose
* Compensate for my poor memory
@@ -41,4 +59,4 @@ I didn't like them at first,
but this notebook uses [semantic line breaks](https://sembr.org/)
for text wrapping.
I shoot for less than 90 columns.
I shoot for less than 90 columns.
+13 -10
View File
@@ -8,12 +8,7 @@ tags:
## Info
"Units" includes [hotel](#hotel) and [residential](#residential) spaces.
> [!tip] Preparing for Unit Takeoff
> Units generally have very little variation.
> It is usually best to copy-paste takeoffs
> rather than re-build them for each unit.
"Units" includes [[#hotel]] and [[#residential]] spaces.
> [!info] Americans with Disabilities Act (ADA) Terms
> * hearing impaired (HI or H.I.)
@@ -28,14 +23,17 @@ tags:
> * Keys
> [!trivia]
> The origin of the term "key" as a synonym of "hotel room"
> ...
> %% TODO: %%
> The term "key" as a synonym of "hotel room" is a synecdoche,
> referring to the unit's door key.
> In the pre-digital days of hotel management,
> one could count the rooms of a hotel
> by the keys behind the front desk.
### Residential
> [!info] Also Known As
> * Condos
> * Apartments
## Sequence
@@ -46,7 +44,7 @@ tags:
2. Read about the project specifications and construction type
* Wood or Metal studs
* Wiring Method
* wiring methods
* NM or MC
* Wiring device plates
* Decora or Standard
@@ -58,6 +56,11 @@ tags:
### 2. Takeoff
> [!tip] Preparing for Unit Takeoff
> Units generally have very little variation.
> It is usually best to copy-paste takeoffs
> rather than re-build them for each unit.
1. Kitchen and Bath
2. General assemblies
3. Low Voltage