vault backup: 2025-08-08 14:29:11

This commit is contained in:
2025-08-08 14:29:11 -04:00
parent baca4a962d
commit c11ae391f5
103 changed files with 32531 additions and 37142 deletions
Binary file not shown.
Binary file not shown.
+2 -1
View File
@@ -9,5 +9,6 @@
"alwaysUpdateLinks": true,
"tabSize": 2,
"vimMode": true,
"promptDelete": false
"promptDelete": false,
"focusNewTab": true
}
+4 -4
View File
@@ -2,14 +2,14 @@
"obsidian-git",
"homepage",
"tag-wrangler",
"obsidian-tasks-plugin",
"table-editor-obsidian",
"dataview",
"obsidian-linter",
"templater-obsidian",
"obsidian-style-settings",
"obsidian-tagfolder",
"obsidian-excalidraw-plugin",
"excalibrain",
"obsidian-hover-editor"
"obsidian-hover-editor",
"quickadd",
"recent-files-obsidian",
"obsidian-spaced-repetition"
]
File diff suppressed because one or more lines are too long
-10
View File
@@ -1,10 +0,0 @@
{
"id": "breadcrumbs",
"name": "Breadcrumbs",
"version": "3.6.11",
"minAppVersion": "0.15.2",
"description": "Visualise & navigate your vault's structure",
"author": "SkepticMystic",
"authorUrl": "https://github.com/SkepticMystic/breadcrumbs",
"isDesktopOnly": false
}
-113
View File
@@ -1,113 +0,0 @@
.BC-trail {
border: 1px solid var(--background-modifier-border);
border-radius: 5px;
padding: 5px;
margin-bottom: 5px !important;
}
/* completely hides the trail when "no path found message" is left empty and no path is found */
.BC-trail:empty {
display: none;
}
.BC-matrix-square li {
text-align: left;
}
/* ensure empty headers not leaving an element */
.BC-Matrix .BC-Matrix-square .BC-Matrix-header:empty {
display: none;
}
.internal-link.BC-Link {
color: var(--text-accent);
}
.internal-link.BC-Link:hover {
color: var(--text-accent-hover, var(--text-accent));
}
.vis-view-options > * {
padding: 5px;
}
/* Source: https://svelte.dev/repl/3153faf7584d40bd8ddebecf39f24ac1?version=3.41.0 */
[data-tooltip] {
position: relative;
/* z-index: 2; */
/* display: block; */
}
[data-tooltip]:before,
[data-tooltip]:after {
visibility: hidden;
opacity: 0;
pointer-events: none;
transition: 0.2s ease-out;
transform: translate(-50%, 5px);
}
[data-tooltip]:before {
position: absolute;
top: 80%;
/* bottom: 100%; */
left: 50%;
margin-bottom: 5px;
padding: 7px;
width: fit-content;
height: fit-content;
min-width: 200px;
min-height: 200px;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
background-color: var(--background-primary);
color: var(--text-normal);
content: attr(data-tooltip);
text-align: center;
font-size: var(--font-medium);
line-height: 1.2;
transition: 0.2s ease-out;
white-space: pre-line;
z-index: 100;
}
/* [data-tooltip]:after {
position: absolute;
top: 80%;
left: 50%;
width: 0;
border-top: 5px solid #000;
border-top: 5px solid hsla(0, 0%, 20%, 0.9);
border-right: 5px solid transparent;
border-left: 5px solid transparent;
background-color: red;
content: " ";
font-size: 0;
line-height: 0;
} */
[data-tooltip]:hover:before,
[data-tooltip]:hover:after {
visibility: visible;
opacity: 1;
transform: translate(-50%, 0);
}
[data-tooltip="false"]:hover:before,
[data-tooltip="false"]:hover:after {
visibility: hidden;
opacity: 0;
}
.thread-dir-templates .setting-item-control {
display: flex;
flex-direction: column;
}
.juggl-hide {
display: none;
}
[data-type="BC-matrix"] div.view-content {
overflow: hidden !important;
}
-255
View File
@@ -1,255 +0,0 @@
{
"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": [
"README.md",
"systems.md",
"electrical.md",
"lighting-controls.md",
"full-takeoff.md"
],
"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
@@ -1,10 +0,0 @@
{
"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
@@ -1,349 +0,0 @@
/* 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;
}
Binary file not shown.
+90
View File
@@ -0,0 +1,90 @@
{
"newNotePlaceholder": "Untitled",
"defaultInitialization": false,
"navigatorEnabled": true,
"filePreviewOnHover": false,
"blinkEnabled": true,
"datePickerTime": false,
"imageThumbnails": false,
"noteThumbnails": false,
"spacesMDBInHidden": true,
"cacheIndex": true,
"spacesRightSplit": false,
"contextEnabled": true,
"spaceViewEnabled": true,
"saveAllContextToFrontmatter": true,
"autoOpenFileContext": false,
"activeView": "/",
"hideFrontmatter": true,
"activeSpace": "",
"defaultDateFormat": "yyyy-MM-dd",
"defaultTimeFormat": "h:mm a",
"spacesEnabled": true,
"syncFormulaToFrontmatter": true,
"spacesPerformance": false,
"currentWaypoint": 0,
"enableFolderNote": true,
"folderIndentationLines": true,
"revealActiveFile": false,
"spacesStickers": true,
"spaceRowHeight": 29,
"mobileSpaceRowHeight": 40,
"bannerHeight": 200,
"spacesDisablePatch": false,
"folderNoteInsideFolder": true,
"folderNoteName": "",
"sidebarTabs": true,
"showRibbon": true,
"vaultSelector": true,
"deleteFileOption": "trash",
"expandedSpaces": [
"//Tags",
"/"
],
"expandFolderOnClick": true,
"spacesFolder": "Tags",
"suppressedWarnings": [],
"spaceSubFolder": ".space",
"hiddenFiles": [],
"hiddenExtensions": [
".mdb",
"_assets",
"_blocks"
],
"inlineBacklinks": false,
"inlineContext": true,
"inlineBacklinksExpanded": false,
"inlineContextExpanded": true,
"inlineContextProperties": true,
"inlineContextSectionsExpanded": true,
"banners": true,
"inlineContextNameLayout": "vertical",
"spacesUseAlias": false,
"fmKeyAlias": "aliases",
"fmKeyBanner": "banner",
"fmKeyColor": "color",
"fmKeyBannerOffset": "banner_y",
"fmKeySticker": "sticker",
"openSpacesOnLaunch": true,
"indexSVG": false,
"readableLineWidth": false,
"autoAddContextsToSubtags": true,
"releaseNotesPrompt": 0.999,
"enableDefaultSpaces": true,
"showSpacePinIcon": true,
"experimental": false,
"systemName": "zmVault",
"defaultSpaceTemplate": "",
"selectedKit": "default",
"actionMaxSteps": 100,
"contextPagination": 25,
"skipFolderNames": [],
"skipFolders": [],
"enhancedLogs": false,
"basics": true,
"basicsSettings": null,
"firstLaunch": true,
"notesPreview": false,
"editStickerInSidebar": true,
"overrideNativeMenu": false
}
+1177
View File
File diff suppressed because one or more lines are too long
+10
View File
@@ -0,0 +1,10 @@
{
"id": "make-md",
"name": "make.md",
"version": "1.1.7",
"minAppVersion": "0.16.0",
"description": "make.md gives you everything you need to organize and personalize your notes.",
"author": "make.md",
"authorUrl": "https://www.make.md",
"isDesktopOnly": false
}
File diff suppressed because one or more lines are too long
+2 -2
View File
@@ -103,7 +103,7 @@
"library2": {
"type": "excalidrawlib",
"version": 2,
"source": "https://github.com/zsviczian/obsidian-excalidraw-plugin/releases/tag/2.14.0",
"source": "https://github.com/zsviczian/obsidian-excalidraw-plugin/releases/tag/2.14.1",
"libraryItems": []
},
"imageElementNotice": true,
@@ -115,7 +115,7 @@
"mdCSS": "",
"scriptEngineSettings": {},
"defaultTrayMode": true,
"previousRelease": "2.14.0",
"previousRelease": "2.14.1",
"showReleaseNotes": true,
"showNewVersionNotification": true,
"latexBoilerplate": "\\color{blue}",
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.14.0",
"version": "2.14.1",
"minAppVersion": "1.5.7",
"description": "An Obsidian plugin to edit and view Excalidraw drawings",
"author": "Zsolt Viczian",
File diff suppressed because one or more lines are too long
+213 -205
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.34.0"
"version": "2.35.0"
}
+24 -8
View File
@@ -55,6 +55,15 @@
.tooltip.mod-right {
overflow-wrap: break-word;
}
/* Limits the scrollbar to the view body */
.git-view {
display: flex;
flex-direction: column;
position: relative;
height: 100%;
}
.git-tools {
display: flex;
margin-left: auto;
@@ -81,6 +90,21 @@
height: auto;
}
.workspace-leaf-content[data-type="git-view"] .tree-item-self,
.workspace-leaf-content[data-type="git-history-view"] .tree-item-self {
align-items: center;
}
.workspace-leaf-content[data-type="git-view"]
.tree-item-self:hover
.clickable-icon,
.workspace-leaf-content[data-type="git-history-view"]
.tree-item-self:hover
.clickable-icon {
color: var(--icon-color-hover);
}
/* Highlight an item as active if it's diff is currently opened */
.is-active .git-tools .buttons > * {
color: var(--nav-item-color-active);
}
@@ -575,14 +599,6 @@
background-color: #22bb2230;
}
/* Limits the scrollbar to the view body */
.git-view {
display: flex;
flex-direction: column;
position: relative;
height: 100%;
}
.git-obscure-prompt[git-is-obscured="true"] #git-show-password:after {
-webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon lucide-eye"><path d="M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"></path><circle cx="12" cy="12" r="3"></circle></svg>');
}
+61
View File
@@ -0,0 +1,61 @@
{
"settings": {
"flashcardTags": [
"#fleeting"
],
"convertFoldersToDecks": false,
"burySiblingCards": false,
"randomizeCardOrder": null,
"flashcardCardOrder": "DueFirstRandom",
"flashcardDeckOrder": "PrevDeckComplete_Sequential",
"convertHighlightsToClozes": true,
"convertBoldTextToClozes": false,
"convertCurlyBracketsToClozes": false,
"clozePatterns": [
"==[123;;]answer[;;hint]=="
],
"singleLineCardSeparator": "::",
"singleLineReversedCardSeparator": ":::",
"multilineCardSeparator": "?",
"multilineReversedCardSeparator": "??",
"multilineCardEndMarker": "",
"editLaterTag": "#edit-later",
"enableNoteReviewPaneOnStartup": true,
"tagsToReview": [
"#review"
],
"noteFoldersToIgnore": [
"**/*.excalidraw.md"
],
"openRandomNote": false,
"autoNextNote": false,
"disableFileMenuReviewOptions": false,
"maxNDaysNotesReviewQueue": 365,
"showRibbonIcon": true,
"showStatusBar": true,
"initiallyExpandAllSubdecksInTree": false,
"showContextInCards": true,
"showIntervalInReviewButtons": true,
"flashcardHeightPercentage": 80,
"flashcardWidthPercentage": 40,
"flashcardEasyText": "Easy",
"flashcardGoodText": "Good",
"flashcardHardText": "Hard",
"reviewButtonDelay": 0,
"openViewInNewTab": false,
"algorithm": "SM-2-OSR",
"baseEase": 250,
"lapsesIntervalChange": 0.5,
"easyBonus": 1.3,
"loadBalance": true,
"maximumInterval": 36525,
"maxLinkFactor": 1,
"dataStore": "NOTES",
"cardCommentOnSameLine": false,
"showSchedulingDebugMessages": false,
"showParserDebugMessages": false
},
"buryDate": "",
"buryList": [],
"historyDeck": null
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,12 @@
{
"id": "obsidian-spaced-repetition",
"name": "Spaced Repetition",
"version": "1.13.3",
"minAppVersion": "1.2.8",
"description": "Fight the forgetting curve by reviewing flashcards & entire notes.",
"author": "Stephen Mwangi",
"authorUrl": "https://github.com/st3v3nmw",
"helpUrl": "https://www.stephenmwangi.com/obsidian-spaced-repetition/",
"isDesktopOnly": false,
"fundingUrl": "https://ko-fi.com/M4M44DEN6"
}
+997
View File
@@ -0,0 +1,997 @@
/* MARK: utils */
.sr-bg-blue,
.sr-bg-green,
.sr-bg-red {
color: #ffffff !important;
}
.sr-bg-green {
background-color: #4caf50 !important;
}
.sr-bg-blue {
background-color: #2094f3 !important;
}
.sr-bg-red {
background-color: #ff7043 !important;
}
.sr-deck-list .sr-tree-item-row:hover .sr-bg-green,
.sr-response-button.sr-bg-green:hover {
background-color: hsl(122, 39%, 44%) !important;
}
.sr-deck-list .sr-tree-item-row:hover .sr-bg-blue,
.sr-response-button.sr-bg-blue:hover {
background-color: hsl(207, 90%, 49%) !important;
}
.sr-deck-list .sr-tree-item-row:hover .sr-bg-red,
.sr-response-button.sr-bg-red:hover {
background-color: hsl(14, 100%, 58%) !important;
}
.sr-is-hidden {
display: none !important;
}
.sr-centered {
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
}
.is-tablet .sr-button {
padding: var(--size-4-1) var(--size-4-3) !important;
}
.sr-button {
box-shadow: none !important;
cursor: pointer;
width: var(--side-button-size);
height: var(--side-button-size);
}
.sr-back-button:hover,
.sr-button:hover {
background-color: var(--background-modifier-hover);
}
/* MARK: Mobile landscape mode */
@media only screen and (orientation: landscape) {
.is-mobile:not(.is-tablet) .sr-tab-view {
padding: 0 8px;
}
.is-mobile:not(.is-tablet) #sr-modal .sr-modal-content {
padding: 8px;
}
.is-mobile:not(.is-tablet) #sr-modal,
.is-mobile:not(.is-tablet) .sr-tab-view {
--side-button-clearance: calc(calc(var(--side-button-size)) + 8px);
}
.is-mobile:not(.is-tablet) .sr-deck-list,
.is-mobile:not(.is-tablet) .sr-flashcard {
gap: 8px;
}
.is-mobile:not(.is-tablet) .sr-deck-list hr {
margin-bottom: 8px;
}
.is-mobile:not(.is-tablet) .sr-flashcard .sr-controls {
width: unset !important;
flex-direction: column;
position: absolute;
left: 0;
top: 0;
bottom: 0;
padding-left: 8px;
}
.is-mobile:not(.is-tablet) .sr-flashcard .sr-chosen-deck-info > *,
.is-mobile:not(.is-tablet) .sr-flashcard .sr-current-deck-info > * {
font-size: medium;
}
.is-mobile:not(.is-tablet) .sr-tab-view .sr-flashcard .sr-info-section {
margin: 0 0 0 calc(var(--side-button-clearance));
}
.is-mobile:not(.is-tablet) #sr-modal .sr-flashcard .sr-info-section {
margin: 0 calc(var(--side-button-clearance));
}
.is-mobile:not(.is-tablet) .sr-flashcard .sr-content {
margin: 0 0 0 calc(var(--side-button-clearance));
}
.is-mobile:not(.is-tablet) .sr-flashcard .sr-content hr {
margin: 2px 0;
}
.is-mobile:not(.is-tablet) .sr-response-button {
height: 48px !important;
}
}
@media only screen and (orientation: landscape) and (max-height: 460px) {
#sr-modal,
.sr-tab-view {
--side-button-size: 35px !important;
}
.is-mobile:not(.is-tablet) .sr-response {
margin: 0 0 0 calc(var(--side-button-clearance));
}
.is-mobile:not(.is-tablet) .sr-response-button {
height: 32px !important;
}
.is-mobile:not(.is-tablet) .sr-flashcard .sr-content p {
margin-block-start: 0.5rem;
margin-block-end: 0.5rem;
}
}
@media only screen and (orientation: landscape) and (max-height: 400px) {
.is-mobile:not(.is-tablet) .sr-tab-view .sr-flashcard .sr-info-section {
--side-button-clearance: calc(var(--side-button-size) * 3) !important;
}
.is-mobile:not(.is-tablet) .sr-tab-view .sr-back-button {
left: calc(var(--side-button-size) * 2) !important;
top: 0px !important;
}
.is-mobile:not(.is-tablet) .sr-flashcard {
gap: 4px;
}
}
/* MARK: Mobile portrait mode */
@media only screen and (orientation: portrait) {
.is-mobile:not(.is-tablet) .sr-flashcard,
.is-mobile:not(.is-tablet) .sr-deck-list {
gap: 12px;
}
.is-mobile:not(.is-tablet) .sr-tab-view {
padding: 0 8px;
}
}
@media only screen and (orientation: portrait) and (max-width: 650px) {
.is-mobile:not(.is-tablet) .sr-chosen-deck-name,
.is-mobile:not(.is-tablet) .sr-current-deck-name {
max-width: 15ch;
}
}
@media only screen and (orientation: portrait) and (max-width: 550px) {
.is-mobile .sr-tab-view {
padding: 0 8px;
}
.is-mobile:not(.is-tablet) .sr-chosen-deck-name,
.is-mobile:not(.is-tablet) .sr-current-deck-name {
max-width: 10ch;
}
}
@media only screen and (orientation: portrait) and (max-width: 500px) {
.is-mobile .sr-tab-view {
padding: 0 8px;
}
}
@media only screen and (orientation: portrait) and (max-width: 440px) {
.is-mobile:not(.is-tablet) .sr-chosen-deck-name,
.is-mobile:not(.is-tablet) .sr-current-deck-name {
max-width: 8ch;
}
}
@media only screen and (orientation: portrait) and (max-width: 410px) {
.is-mobile:not(.is-tablet) .sr-chosen-deck-name,
.is-mobile:not(.is-tablet) .sr-current-deck-name {
max-width: 6ch;
}
}
@media only screen and (orientation: portrait) and (max-width: 340px) {
.is-mobile .sr-response-button {
height: 32px !important;
}
#sr-modal,
.sr-tab-view {
--side-button-size: 35px !important;
}
.is-mobile .sr-tab-view {
padding: 0 4px;
}
}
/* MARK: Modal */
#sr-modal {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
#sr-modal,
.sr-tab-view {
--side-button-size: 44px;
--side-button-clearance: calc(var(--side-button-size));
overflow: hidden !important;
}
#sr-modal .modal-header {
display: none;
}
#sr-modal .modal-close-button {
z-index: 21;
}
body:not(.native-scrollbars) #sr-modal .modal-close-button {
top: 12px;
}
.sr-back-button {
z-index: 21;
cursor: var(--cursor);
position: absolute;
top: 12px;
left: 12px;
font-size: 26px;
line-height: 22px;
height: 26px;
width: 26px;
padding: 0 var(--size-2-2);
border-radius: var(--radius-s);
color: var(--text-muted);
display: flex;
justify-content: center;
align-items: center;
}
/* MARK: Tab view */
.sr-tab-view {
display: flex;
flex-direction: column;
}
.sr-tab-view-content {
flex-grow: 1;
margin: auto;
}
.sr-modal-content,
.sr-tab-view {
position: relative;
overflow: hidden;
}
/* MARK: Views*/
.sr-deck-list,
.sr-flashcard {
gap: 16px;
}
.sr-deck-list,
.sr-flashcard,
.sr-edit-view {
display: flex;
flex-direction: column;
width: 100%;
height: 100%;
}
.sr-header {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.sr-tab-view .sr-deck-list .sr-header {
margin: 0;
}
.sr-title {
font-size: var(--font-ui-large);
font-weight: var(--font-semibold);
text-align: center;
line-height: var(--line-height-tight);
}
.sr-content {
overflow-y: auto;
}
/* MARK: DeckListView */
.sr-deck-list > hr {
margin: 2px 0 14px 0;
}
.sr-deck-list .sr-header {
gap: 8px;
}
.sr-deck-list .sr-header-stats-container {
display: flex;
flex-wrap: wrap;
gap: 8px;
justify-content: center;
align-items: center;
}
.sr-deck-list .sr-header-stats-count {
display: flex;
color: #ffffff;
padding: 4px;
gap: 4px;
}
.sr-deck-list .sr-header-stats-count > *:first-child {
min-width: 10ch;
}
.sr-deck-list .sr-header-stats-count > *:last-child {
min-width: 3ch;
text-align: right;
}
.sr-deck-list .sr-tree-item-row {
padding-top: 2px;
padding-bottom: 2px;
margin-bottom: 0;
}
.sr-deck-list .sr-tree-stats-container {
display: flex;
gap: 4px;
}
.sr-deck-list .sr-tree-stats-count {
min-width: 3ch;
padding: 4px;
box-sizing: content-box;
text-align: center;
color: #ffffff !important;
}
/* MARK: FlashcardReviewView */
.sr-flashcard .sr-button:disabled {
cursor: not-allowed;
}
.sr-flashcard .sr-controls {
display: flex;
width: 100%;
gap: var(--size-4-4);
justify-content: center;
align-items: center;
}
.sr-flashcard .sr-info-section {
display: flex;
flex-direction: column;
gap: 8px;
}
.sr-flashcard .sr-deck-progress-info {
display: flex;
flex-wrap: wrap;
gap: 4px 24px;
}
.sr-flashcard .sr-chosen-deck-info,
.sr-flashcard .sr-current-deck-info {
display: flex;
gap: 12px;
flex-wrap: nowrap;
color: var(--text-muted);
text-wrap: nowrap;
font-weight: bold;
}
.sr-flashcard .sr-chosen-deck-name,
.sr-flashcard .sr-current-deck-name {
max-width: 20ch;
overflow: hidden;
text-overflow: ellipsis;
}
.sr-flashcard .sr-chosen-deck-counter-wrapper,
.sr-flashcard .sr-current-deck-counter-wrapper {
display: flex;
justify-content: center;
align-items: center;
gap: 12px;
}
.sr-flashcard .sr-chosen-deck-counter-divider,
.sr-flashcard .sr-current-deck-counter-divider {
display: flex;
border: 1px solid var(--text-faint);
padding: 1ch 0;
}
.sr-flashcard .sr-chosen-deck-card-counter-wrapper,
.sr-flashcard .sr-current-deck-card-counter-wrapper,
.sr-flashcard .sr-chosen-deck-subdeck-counter-wrapper {
display: flex;
justify-content: center;
align-items: center;
gap: 0.5ch;
}
.sr-flashcard .sr-chosen-deck-card-counter-icon,
.sr-flashcard .sr-chosen-deck-subdeck-counter-icon,
.sr-flashcard .sr-current-deck-card-counter-icon {
display: flex;
justify-content: center;
align-items: center;
}
.sr-flashcard .sr-chosen-deck-card-counter-icon svg,
.sr-flashcard .sr-chosen-deck-subdeck-counter-icon svg,
.sr-flashcard .sr-current-deck-card-counter-icon svg {
--icon-size: 16px;
--icon-stroke: 2.5px;
}
.sr-flashcard .sr-context {
font-style: italic;
color: var(--text-faint);
display: block;
}
.sr-flashcard .sr-content {
font-size: var(--font-text-size);
overflow-y: auto;
user-select: text;
padding-inline: 8px;
flex-grow: 1;
}
.sr-flashcard .sr-content,
.sr-flashcard .sr-context {
text-wrap: wrap;
word-break: break-word;
}
.sr-flashcard .sr-content hr {
backdrop-filter: invert(40%);
border-top-style: dashed;
}
.sr-response {
display: flex;
gap: var(--size-4-4);
}
.sr-response-button {
height: 48px;
flex-grow: 1;
margin: auto;
line-height: 48px;
text-align: center;
cursor: pointer;
border-radius: 4px;
user-select: text;
}
/* MARK: EditModal */
.sr-edit-modal {
height: 80%;
}
.sr-edit-view {
height: 100%;
width: 100%;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
gap: var(--size-4-4);
}
.sr-edit-view .sr-input {
flex-grow: 1;
width: 100%;
resize: none;
}
.sr-edit-view .sr-response {
display: grid;
grid-template-columns: auto auto auto;
width: 100%;
margin-top: 0;
}
.sr-edit-view .sr-response-button {
width: 100%;
}
.sr-edit-view .sr-response-button.sr-spacer {
opacity: 0;
cursor: default;
}
/* MARK: Statistics */
#sr-chart-period {
appearance: menulist;
border-right: 8px solid transparent;
}
/* MARK: Tab elements */
/*
* Tab elements
* This CSS is copied from https://github.com/Taitava/obsidian-shellcommands
* Jarkko Linnanvirta https://github.com/Taitava comments below...
* - Renamed classes
*
* This CSS is copied 2021-10-21 from https://www.w3schools.com/howto/howto_js_tabs.asp
* Modifications:
* - Renamed classes
* - Added tab icons.
* - Changed colors.
* - Changed/removed borders.
* - Removed button transition.
* - Changed button border-radiuses
* - Added margin-right rule to .sr-tab-header-button .
*/
/* Style the tab */
.sr-tab-header {
border-bottom: 6px solid var(--background-modifier-border);
}
/* Style the buttons that are used to open the tab content */
button.sr-tab-header-button {
background-color: unset;
border: none;
box-shadow: none;
/* Remove a "border" that came via Obsidian 0.16.0. */
outline: none;
cursor: pointer;
padding: 14px 16px;
margin-right: 6px;
/* Reduced margin. Obsidian's default margin-right for button is 12px (0 for other margins). */
border-radius: 10px 10px 0 0;
/* 0 0 = No border-radius at bottom */
}
/* Create an active/current tablink class */
button.sr-tab-header-button.sr-tab-active,
button.sr-tab-header-button:hover {
background-color: var(--background-modifier-border);
}
.sr-tab-header-button svg {
vertical-align: middle;
/* Not middle but close enough. */
}
/* Style the tab content */
.sr-tab-content {
display: none;
padding: 6px 12px;
}
.sr-tab-content.sr-tab-active {
display: block;
}
/* MARK: gridjs */
/*
* gridjs
* put everything SR plugin specific above this block
*/
.gridjs-footer button,
.gridjs-head button {
background-color: transparent;
background-image: none;
border: none;
cursor: pointer;
margin: 0;
outline: none;
padding: 0;
}
.gridjs-temp {
position: relative;
}
.gridjs-head {
margin-bottom: 5px;
padding: 5px 1px;
width: 100%;
}
.gridjs-head:after {
clear: both;
content: "";
display: block;
}
.gridjs-head:empty {
border: none;
padding: 0;
}
.gridjs-container {
color: #000;
display: inline-block;
overflow: hidden;
padding: 2px;
position: relative;
z-index: 0;
}
.gridjs-footer {
background-color: #fff;
border-bottom-width: 1px;
border-color: #e5e7eb;
border-radius: 0 0 8px 8px;
border-top: 1px solid #e5e7eb;
box-shadow:
0 1px 3px 0 rgba(0, 0, 0, 0.1),
0 1px 2px 0 rgba(0, 0, 0, 0.26);
display: block;
padding: 12px 24px;
position: relative;
width: 100%;
z-index: 5;
}
.gridjs-footer:empty {
border: none;
padding: 0;
}
input.gridjs-input {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
background-color: #fff;
border: 1px solid #d2d6dc;
border-radius: 5px;
font-size: 14px;
line-height: 1.45;
outline: none;
padding: 10px 13px;
}
input.gridjs-input:focus {
border-color: #9bc2f7;
box-shadow: 0 0 0 3px rgba(149, 189, 243, 0.5);
}
.gridjs-pagination {
color: #3d4044;
}
.gridjs-pagination:after {
clear: both;
content: "";
display: block;
}
.gridjs-pagination .gridjs-summary {
float: left;
margin-top: 5px;
}
.gridjs-pagination .gridjs-pages {
float: right;
}
.gridjs-pagination .gridjs-pages button {
background-color: #fff;
border: 1px solid #d2d6dc;
border-right: none;
outline: none;
padding: 5px 14px;
-webkit-user-select: none;
-moz-user-select: none;
user-select: none;
}
.gridjs-pagination .gridjs-pages button:focus {
border-right: 1px solid #d2d6dc;
box-shadow: 0 0 0 2px rgba(149, 189, 243, 0.5);
margin-right: -1px;
position: relative;
}
.gridjs-pagination .gridjs-pages button:hover {
background-color: #f7f7f7;
color: #3c4257;
outline: none;
}
.gridjs-pagination .gridjs-pages button:disabled,
.gridjs-pagination .gridjs-pages button:hover:disabled,
.gridjs-pagination .gridjs-pages button[disabled] {
background-color: #fff;
color: #6b7280;
cursor: default;
}
.gridjs-pagination .gridjs-pages button.gridjs-spread {
background-color: #fff;
box-shadow: none;
cursor: default;
}
.gridjs-pagination .gridjs-pages button.gridjs-currentPage {
background-color: #f7f7f7;
font-weight: 700;
}
.gridjs-pagination .gridjs-pages button:last-child {
border-bottom-right-radius: 6px;
border-right: 1px solid #d2d6dc;
border-top-right-radius: 6px;
}
.gridjs-pagination .gridjs-pages button:first-child {
border-bottom-left-radius: 6px;
border-top-left-radius: 6px;
}
.gridjs-pagination .gridjs-pages button:last-child:focus {
margin-right: 0;
}
button.gridjs-sort {
background-color: transparent;
background-position-x: center;
background-repeat: no-repeat;
background-size: contain;
border: none;
cursor: pointer;
float: right;
height: 24px;
margin: 0;
outline: none;
padding: 0;
width: 13px;
}
button.gridjs-sort-neutral {
background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0MDEuOTk4IiBoZWlnaHQ9IjQwMS45OTgiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQwMS45OTggNDAxLjk5OCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBhdGggZD0iTTczLjA5MiAxNjQuNDUyaDI1NS44MTNjNC45NDkgMCA5LjIzMy0xLjgwNyAxMi44NDgtNS40MjQgMy42MTMtMy42MTYgNS40MjctNy44OTggNS40MjctMTIuODQ3cy0xLjgxMy05LjIyOS01LjQyNy0xMi44NUwyMTMuODQ2IDUuNDI0QzIxMC4yMzIgMS44MTIgMjA1Ljk1MSAwIDIwMC45OTkgMHMtOS4yMzMgMS44MTItMTIuODUgNS40MjRMNjAuMjQyIDEzMy4zMzFjLTMuNjE3IDMuNjE3LTUuNDI0IDcuOTAxLTUuNDI0IDEyLjg1IDAgNC45NDggMS44MDcgOS4yMzEgNS40MjQgMTIuODQ3IDMuNjIxIDMuNjE3IDcuOTAyIDUuNDI0IDEyLjg1IDUuNDI0ek0zMjguOTA1IDIzNy41NDlINzMuMDkyYy00Ljk1MiAwLTkuMjMzIDEuODA4LTEyLjg1IDUuNDIxLTMuNjE3IDMuNjE3LTUuNDI0IDcuODk4LTUuNDI0IDEyLjg0N3MxLjgwNyA5LjIzMyA1LjQyNCAxMi44NDhMMTg4LjE0OSAzOTYuNTdjMy42MjEgMy42MTcgNy45MDIgNS40MjggMTIuODUgNS40MjhzOS4yMzMtMS44MTEgMTIuODQ3LTUuNDI4bDEyNy45MDctMTI3LjkwNmMzLjYxMy0zLjYxNCA1LjQyNy03Ljg5OCA1LjQyNy0xMi44NDggMC00Ljk0OC0xLjgxMy05LjIyOS01LjQyNy0xMi44NDctMy42MTQtMy42MTYtNy44OTktNS40Mi0xMi44NDgtNS40MnoiLz48L3N2Zz4=");
background-position-y: center;
opacity: 0.3;
}
button.gridjs-sort-asc {
background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyOTIuMzYyIiBoZWlnaHQ9IjI5Mi4zNjEiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDI5Mi4zNjIgMjkyLjM2MSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBhdGggZD0iTTI4Ni45MzUgMTk3LjI4NyAxNTkuMDI4IDY5LjM4MWMtMy42MTMtMy42MTctNy44OTUtNS40MjQtMTIuODQ3LTUuNDI0cy05LjIzMyAxLjgwNy0xMi44NSA1LjQyNEw1LjQyNCAxOTcuMjg3QzEuODA3IDIwMC45MDQgMCAyMDUuMTg2IDAgMjEwLjEzNHMxLjgwNyA5LjIzMyA1LjQyNCAxMi44NDdjMy42MjEgMy42MTcgNy45MDIgNS40MjUgMTIuODUgNS40MjVoMjU1LjgxM2M0Ljk0OSAwIDkuMjMzLTEuODA4IDEyLjg0OC01LjQyNSAzLjYxMy0zLjYxMyA1LjQyNy03Ljg5OCA1LjQyNy0xMi44NDdzLTEuODE0LTkuMjMtNS40MjctMTIuODQ3eiIvPjwvc3ZnPg==");
background-position-y: 35%;
background-size: 10px;
}
button.gridjs-sort-desc {
background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyOTIuMzYyIiBoZWlnaHQ9IjI5Mi4zNjIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDI5Mi4zNjIgMjkyLjM2MiIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBhdGggZD0iTTI4Ni45MzUgNjkuMzc3Yy0zLjYxNC0zLjYxNy03Ljg5OC01LjQyNC0xMi44NDgtNS40MjRIMTguMjc0Yy00Ljk1MiAwLTkuMjMzIDEuODA3LTEyLjg1IDUuNDI0QzEuODA3IDcyLjk5OCAwIDc3LjI3OSAwIDgyLjIyOGMwIDQuOTQ4IDEuODA3IDkuMjI5IDUuNDI0IDEyLjg0N2wxMjcuOTA3IDEyNy45MDdjMy42MjEgMy42MTcgNy45MDIgNS40MjggMTIuODUgNS40MjhzOS4yMzMtMS44MTEgMTIuODQ3LTUuNDI4TDI4Ni45MzUgOTUuMDc0YzMuNjEzLTMuNjE3IDUuNDI3LTcuODk4IDUuNDI3LTEyLjg0NyAwLTQuOTQ4LTEuODE0LTkuMjI5LTUuNDI3LTEyLjg1eiIvPjwvc3ZnPg==");
background-position-y: 65%;
background-size: 10px;
}
button.gridjs-sort:focus {
outline: none;
}
table.gridjs-table {
border-collapse: collapse;
display: table;
margin: 0;
max-width: 100%;
overflow: auto;
padding: 0;
table-layout: fixed;
text-align: left;
width: 100%;
}
.gridjs-tbody,
td.gridjs-td {
background-color: #fff;
}
td.gridjs-td {
border: 1px solid #e5e7eb;
box-sizing: content-box;
padding: 12px 24px;
}
td.gridjs-td:first-child {
border-left: none;
}
td.gridjs-td:last-child {
border-right: none;
}
td.gridjs-message {
text-align: center;
}
th.gridjs-th {
background-color: #f9fafb;
border: 1px solid #e5e7eb;
border-top: none;
box-sizing: border-box;
color: #6b7280;
outline: none;
padding: 14px 24px;
position: relative;
-webkit-user-select: none;
-moz-user-select: none;
user-select: none;
vertical-align: middle;
white-space: nowrap;
}
th.gridjs-th .gridjs-th-content {
float: left;
overflow: hidden;
text-overflow: ellipsis;
width: 100%;
}
th.gridjs-th-sort {
cursor: pointer;
}
th.gridjs-th-sort .gridjs-th-content {
width: calc(100% - 15px);
}
th.gridjs-th-sort:focus,
th.gridjs-th-sort:hover {
background-color: #e5e7eb;
}
th.gridjs-th-fixed {
box-shadow: 0 1px 0 0 #e5e7eb;
position: sticky;
}
@supports (-moz-appearance: none) {
th.gridjs-th-fixed {
box-shadow: 0 0 0 1px #e5e7eb;
}
}
th.gridjs-th:first-child {
border-left: none;
}
th.gridjs-th:last-child {
border-right: none;
}
.gridjs-tr {
border: none;
}
.gridjs-tr-selected td {
background-color: #ebf5ff;
}
.gridjs-tr:last-child td {
border-bottom: 0;
}
.gridjs *,
.gridjs :after,
.gridjs :before {
box-sizing: border-box;
}
.gridjs-wrapper {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
border-color: #e5e7eb;
border-radius: 8px 8px 0 0;
border-top-width: 1px;
box-shadow:
0 1px 3px 0 rgba(0, 0, 0, 0.1),
0 1px 2px 0 rgba(0, 0, 0, 0.26);
display: block;
overflow: auto;
position: relative;
width: 100%;
z-index: 1;
}
.gridjs-wrapper:nth-last-of-type(2) {
border-bottom-width: 1px;
border-radius: 8px;
}
.gridjs-search {
float: left;
}
.gridjs-search-input {
width: 250px;
}
.gridjs-loading-bar {
background-color: #fff;
opacity: 0.5;
z-index: 10;
}
.gridjs-loading-bar,
.gridjs-loading-bar:after {
bottom: 0;
left: 0;
position: absolute;
right: 0;
top: 0;
}
.gridjs-loading-bar:after {
animation: shimmer 2s infinite;
background-image: linear-gradient(
90deg,
hsla(0, 0%, 80%, 0),
hsla(0, 0%, 80%, 0.2) 20%,
hsla(0, 0%, 80%, 0.5) 60%,
hsla(0, 0%, 80%, 0)
);
content: "";
transform: translateX(-100%);
}
@keyframes shimmer {
to {
transform: translateX(100%);
}
}
.gridjs-td .gridjs-checkbox {
cursor: pointer;
display: block;
margin: auto;
}
.gridjs-resizable {
bottom: 0;
position: absolute;
right: 0;
top: 0;
width: 5px;
}
.gridjs-resizable:hover {
background-color: #9bc2f7;
cursor: ew-resize;
}
+97
View File
@@ -0,0 +1,97 @@
{
"choices": [],
"inputPrompt": "single-line",
"devMode": false,
"templateFolderPath": "",
"announceUpdates": false,
"version": "2.1.0",
"disableOnlineFeatures": true,
"enableRibbonIcon": false,
"showCaptureNotification": true,
"ai": {
"defaultModel": "Ask me",
"defaultSystemPrompt": "As an AI assistant within Obsidian, your primary goal is to help users manage their ideas and knowledge more effectively. Format your responses using Markdown syntax. Please use the [[Obsidian]] link format. You can write aliases for the links by writing [[Obsidian|the alias after the pipe symbol]]. To use mathematical notation, use LaTeX syntax. LaTeX syntax for larger equations should be on separate lines, surrounded with double dollar signs ($$). You can also inline math expressions by wrapping it in $ symbols. For example, use $$w_{ij}^{\text{new}}:=w_{ij}^{\text{current}}+etacdotdelta_jcdot x_{ij}$$ on a separate line, but you can write \"($eta$ = learning rate, $delta_j$ = error term, $x_{ij}$ = input)\" inline.",
"promptTemplatesFolderPath": "",
"showAssistant": true,
"providers": [
{
"name": "OpenAI",
"endpoint": "https://api.openai.com/v1",
"apiKey": "",
"models": [
{
"name": "text-davinci-003",
"maxTokens": 4096
},
{
"name": "gpt-3.5-turbo",
"maxTokens": 4096
},
{
"name": "gpt-3.5-turbo-16k",
"maxTokens": 16384
},
{
"name": "gpt-3.5-turbo-1106",
"maxTokens": 16385
},
{
"name": "gpt-4",
"maxTokens": 8192
},
{
"name": "gpt-4-32k",
"maxTokens": 32768
},
{
"name": "gpt-4-1106-preview",
"maxTokens": 128000
},
{
"name": "gpt-4-turbo",
"maxTokens": 128000
},
{
"name": "gpt-4o",
"maxTokens": 128000
},
{
"name": "gpt-4o-mini",
"maxTokens": 128000
}
],
"autoSyncModels": false
},
{
"name": "Gemini",
"endpoint": "https://generativelanguage.googleapis.com",
"apiKey": "",
"models": [
{
"name": "gemini-1.5-pro",
"maxTokens": 1000000
},
{
"name": "gemini-1.5-flash",
"maxTokens": 1000000
},
{
"name": "gemini-1.5-flash-8b",
"maxTokens": 1000000
}
],
"autoSyncModels": false
}
]
},
"migrations": {
"migrateToMacroIDFromEmbeddedMacro": true,
"useQuickAddTemplateFolder": true,
"incrementFileNameSettingMoveToDefaultBehavior": true,
"mutualExclusionInsertAfterAndWriteToBottomOfFile": true,
"setVersionAfterUpdateModalRelease": true,
"addDefaultAIProviders": true,
"removeMacroIndirection": true,
"migrateFileOpeningSettings": true
}
}
File diff suppressed because one or more lines are too long
+12
View File
@@ -0,0 +1,12 @@
{
"id": "quickadd",
"name": "QuickAdd",
"version": "2.1.0",
"minAppVersion": "1.6.0",
"description": "Quickly add new pages or content to your vault.",
"author": "Christian B. B. Houmann",
"authorUrl": "https://bagerbach.com",
"fundingUrl": "https://www.buymeacoffee.com/chhoumann",
"helpUrl": "https://quickadd.obsidian.guide/docs/",
"isDesktopOnly": false
}
File diff suppressed because one or more lines are too long
+208
View File
@@ -0,0 +1,208 @@
{
"recentFiles": [
{
"basename": "feeders",
"path": "feeders.md"
},
{
"basename": "full-takeoff",
"path": "full-takeoff.md"
},
{
"basename": "project-setup",
"path": "project-setup.md"
},
{
"basename": "assembly-philosophy",
"path": "assembly-philosophy.md"
},
{
"basename": "assembly-objects",
"path": "assembly-objects.md"
},
{
"basename": "switchgear",
"path": "switchgear.md"
},
{
"basename": "bpm-award-analysis",
"path": "bpm-award-analysis.md"
},
{
"basename": "automating-pdf-annotation",
"path": "automating-pdf-annotation.md"
},
{
"basename": "automating-estimating-project-creation",
"path": "automating-estimating-project-creation.md"
},
{
"basename": "automating-email",
"path": "automating-email.md"
},
{
"basename": "area-of-refuge",
"path": "area-of-refuge.md"
},
{
"basename": "ai-in-estimating",
"path": "ai-in-estimating.md"
},
{
"basename": "2025-07-18_estimating-isnt-engineering",
"path": "2025-07-18_estimating-isnt-engineering.md"
},
{
"basename": "mike-holts-illustrated-guide-to-electrical-estimating",
"path": "mike-holts-illustrated-guide-to-electrical-estimating.md"
},
{
"basename": "monte-carlo-methods",
"path": "monte-carlo-methods.md"
},
{
"basename": "misc-budgets",
"path": "misc-budgets.md"
},
{
"basename": "new-hire",
"path": "new-hire.md"
},
{
"basename": "requirement-precedence",
"path": "requirement-precedence.md"
},
{
"basename": "raceway-terms",
"path": "raceway-terms.md"
},
{
"basename": "nfpa70_314.028_pull-and-junction-boxes",
"path": "nfpa70_314.028_pull-and-junction-boxes.md"
},
{
"basename": "separating-estimating-concerns",
"path": "separating-estimating-concerns.md"
},
{
"basename": "estimating-philosophy",
"path": "estimating-philosophy.md"
},
{
"basename": "accubid-setup",
"path": "accubid-setup.md"
},
{
"basename": "units",
"path": "units.md"
},
{
"basename": "fire-alarm",
"path": "fire-alarm.md"
},
{
"basename": "estimating-detail",
"path": "estimating-detail.md"
},
{
"basename": "estimating-dimensionality",
"path": "estimating-dimensionality.md"
},
{
"basename": "excel-macros",
"path": "excel-macros.md"
},
{
"basename": "gold-plating",
"path": "gold-plating.md"
},
{
"basename": "uncertainty",
"path": "uncertainty.md"
},
{
"basename": "sleeving",
"path": "sleeving.md"
},
{
"basename": "lightning-protection",
"path": "lightning-protection.md"
},
{
"basename": "standalone-systems",
"path": "standalone-systems.md"
},
{
"basename": "low-voltage",
"path": "low-voltage.md"
},
{
"basename": "lighting-controls",
"path": "lighting-controls.md"
},
{
"basename": "fixtures",
"path": "fixtures.md"
},
{
"basename": "fixture-designations",
"path": "fixture-designations.md"
},
{
"basename": "electrical",
"path": "electrical.md"
},
{
"basename": "distributed-antenna-systems",
"path": "distributed-antenna-systems.md"
},
{
"basename": "design-build-budget",
"path": "design-build-budget.md"
},
{
"basename": "grounding",
"path": "grounding.md"
},
{
"basename": "blank-system",
"path": "blank-system.md"
},
{
"basename": "subfeeds",
"path": "subfeeds.md"
},
{
"basename": "systems",
"path": "systems.md"
},
{
"basename": "telecom",
"path": "telecom.md"
},
{
"basename": "software-based-estimating",
"path": "software-based-estimating.md"
},
{
"basename": "supertopics",
"path": "supertopics.md"
},
{
"basename": "risk-oriented-estimating",
"path": "risk-oriented-estimating.md"
},
{
"basename": "risk",
"path": "risk.md"
},
{
"basename": "README",
"path": "README.md"
}
],
"omittedPaths": [],
"omittedTags": [],
"updateOn": "file-open",
"omitBookmarks": false
}
File diff suppressed because one or more lines are too long
+16
View File
@@ -0,0 +1,16 @@
{
"id": "recent-files-obsidian",
"name": "Recent Files",
"version": "1.7.4",
"minAppVersion": "0.16.3",
"description": "List files by most recently opened",
"author": "Tony Grosinger",
"authorUrl": "https://grosinger.net",
"isDesktopOnly": false,
"fundingUrl": {
"Github Sponsor": "https://github.com/sponsors/tgrosinger",
"Buy me a Coffee": "https://buymeacoffee.com/tgrosinger",
"Paypal": "https://paypal.me/tgrosinger"
},
"donation": "https://buymeacoffee.com/tgrosinger"
}
+34
View File
@@ -0,0 +1,34 @@
.recent-files-file {
.tree-item-spacer {
flex-grow: 1;
}
}
.recent-files-title {
justify-content: flex-start;
align-items: unset;
}
.recent-files-file-delete {
justify-content: right;
display: none;
}
.recent-files-title:hover .recent-files-file-delete {
display: flex;
cursor: var(--cursor);
}
.recent-files-file-delete:hover {
color: var(--nav-item-color-hover);
}
.recent-files-donation {
width: 70%;
margin: 0 auto;
text-align: center;
}
.recent-files-donate-button {
margin: 10px;
}
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1,7 +1,7 @@
{
"id": "templater-obsidian",
"name": "Templater",
"version": "2.13.1",
"version": "2.14.1",
"description": "Create and use templates",
"minAppVersion": "1.5.0",
"author": "SilentVoid",
+1
View File
@@ -0,0 +1 @@
[{"name":"Home","sticker":"ui//home","paths":["/"]}]
+1 -1
View File
@@ -3,7 +3,7 @@ id: 2025-07-18_estimating-isnt-engineering
aliases: []
tags:
- type/anecdote
- estimating
- topic/estimating
---
# Estimating Isn't Engineering
@@ -2,6 +2,7 @@
id:
aliases: []
tags:
- topic/electrical
- type/media
---
# 314.28 Pull and Junction Boxes and Conduit Bodies.
+1 -1
View File
@@ -4,7 +4,7 @@ aliases:
- home
- zmVault
tags:
- meta
- topic/meta
---
# zmVault
Binary file not shown.
Binary file not shown.
+3 -2
View File
@@ -1,7 +1,8 @@
---
tags:
- estimating
- software
- topic/estimating
- topic/software
- status/fleeting
---
# AI in Estimating
+1 -1
View File
@@ -3,8 +3,8 @@ id:
aliases:
- area-of-rescue
- two-way-communication
- 2-way-communication
tags:
- occupational
- occupational/systems/standalone-systems
---
# Area of Refuge (AoR)
+20 -4
View File
@@ -2,10 +2,10 @@
id:
aliases: []
tags:
- automation
- estimating
- software
- type/idea
- status/fleeting
- topic/automation
- topic/estimating
- topic/software
---
# Assembly Objects
@@ -33,3 +33,19 @@ public class OutletBox
}
}
```
```yaml
- type: switchboard
parents: 1
children: 0..
primary-rating: amperes
- type: transfer-switch
parents: 2
children: 1
- type: transformer
parents: 1
children: 1
primary-rating: volt-amperes
```
+4 -2
View File
@@ -1,6 +1,8 @@
---
id:
aliases: []
tags:
- estimating/philosophy
- topic/estimating
---
# Assembly Philosophy
@@ -8,7 +10,7 @@ also "Modularization"
## Assemblies
In [[construction-estimating-software]],
In [[construction-estimating-software]],
assemblies are groups of material items
representing a specific scope of work.
+14
View File
@@ -0,0 +1,14 @@
---
id:
aliases: []
tags:
- topic/automation
- topic/organization
- topic/software
- status/fleeting
---
# Automating Email
[Outlook Email Automation with PowerShell](https://devblogs.microsoft.com/premier-developer/outlook-email-automation-with-powershell)
[zmPSRepo/zmOutlookAutomation](https://github.com/ZaneMeyers/zmPSRepo/tree/main/zmOutlookAutomation/0.0.10)
@@ -2,38 +2,20 @@
id:
aliases: []
tags:
- automation
- organization
- software
- type/idea
- topic/automation
- topic/organization
- topic/software
- status/fleeting
---
# Necessary Automation
This file describes functionality that
* Can be explained relatively easily
* Benefits greatly from consistency
* Is unlikely to need frequent maintenance
## Standard Emails
[Outlook Email Automation with PowerShell](https://devblogs.microsoft.com/premier-developer/outlook-email-automation-with-powershell)
## PERSONAL.xlsb
Vendor Quote UserForm
other frequently referenced values
## Job Handler
# Automating Estimating Project Creation
Use-case specific wrapper for a document database like MongoDB.
### Features
## Features
Features below are in addition to those of Vanilla Atlas.
#### Extract from Bid Boards
### Extract from Bid Boards
```sh
> jobHandler --new project --from-web https://app.buildingconnected.com/opportunities/66fab32654ef4e1affd178e0/info
@@ -71,11 +53,3 @@ neglecting the former benefits,
markdown can be rendered with standard stylesheets for improved consistency.
Sublime is a friendly option for non-technical users.
## Estimate Objects
## Wiring Method Parser
```
3#12 #12G 3/4"C
```
+3 -3
View File
@@ -2,9 +2,9 @@
id:
aliases: []
tags:
- automation
- software
- type/idea
- topic/automation
- topic/software
- status/fleeting
---
# Automating PDF Annotation
-1
View File
@@ -2,7 +2,6 @@
id:
aliases: []
tags:
- occupational
- occupational/systems
---
# Blank System
+3 -3
View File
@@ -2,11 +2,11 @@
id:
aliases: []
tags:
- automation
- topic/automation
- occupational
- type/idea
- status/fleeting
---
# Award Analysis
# BPM Award Analysis
BPM > Reports > Awards
The HUB > HUB Insights > WIGs, KPIs & milestones
+4 -1
View File
@@ -1,7 +1,10 @@
---
id:
aliases: []
tags: []
tags:
- topic/risk
- topic/estimating
- status/fleeting
---
# Calibration Questions
+2 -2
View File
@@ -1,7 +1,7 @@
---
tags:
- estimating
- software
- topic/estimating
- topic/software
---
# Construction Estimating Software
+21 -1
View File
@@ -2,7 +2,7 @@
id:
aliases: []
tags:
- estimating
- topic/estimating
---
# Construction Estimating
@@ -85,3 +85,23 @@ It's important to recognize that retracting a proposal
may upset a few people employed by the GC,
but consider how little your own opinion matters to your company's strategic decisions.
Much bigger people are involved after the proposal is accepted.
## Ethics
Clients engaging in unethical bidding practices can quickly gain a reputation for doing so,
leading to reduced bid response that can be impossible to fully recover from.
To ensure a transparent bidding process, one must
* divulge all selection criteria to bidders,
* avoid conflicts of interest,
* maintain confidentiality of bid submissions, and
* provide equal access to bidding information.
### Terms
> [!info] Bid Shopping
> the practice of sharing a bidder's quote with other prospective vendors
> in order to solicit lower bids.
> The competing quote may be legitimate, fabricated,
> or a non-serious proposal from a colluding vendor.
-1
View File
@@ -3,7 +3,6 @@ id:
aliases:
- das
tags:
- occupational
- occupational/systems/standalone-systems
---
# Distributed Antenna Systems (DAS)
+4 -3
View File
@@ -2,7 +2,6 @@
id: electrical
aliases: []
tags:
- occupational
- occupational/systems/electrical
---
# Electrical
@@ -11,14 +10,14 @@ tags:
### Lighting Control
By PDI convention, [child:: [[lighting-controls]]] are generally "Electrical", not "Lighting".
By PDI convention, [[lighting-controls]] are generally "Electrical", not "Lighting".
### Wiring Device Specifications
Wiring devices and their wall plates are a common target of [[gold-plating]].
* Device grades (commercial < specification)
* General use receptacle amp rating (N5-15R vs N5-20R)
* General use receptacle amp rating (N5-15R < N5-20R)
* Device plate material (plastic < nylon < stainless steel)
* Device plate size (standard size < mid-size < oversize "jumbo")
* Screwless plates
@@ -46,6 +45,8 @@ Wiring devices and their wall plates are a common target of [[gold-plating]].
#### Mechanical Connections
`COMMON ASSEMBLIES`/`MECHANICAL CONNECTIONS ...`/
##### CU/IP
* Units Condensing Unit
+4 -4
View File
@@ -2,10 +2,10 @@
id:
aliases: []
tags:
- automation
- estimating
- software
- type/idea
- topic/automation
- topic/estimating
- topic/software
- status/fleeting
---
# Estimating as Code
+2 -2
View File
@@ -1,7 +1,7 @@
---
tags:
- estimating
- project-management
- topic/estimating
- topic/project-management
---
# Estimating Culture
+1 -1
View File
@@ -2,7 +2,7 @@
id:
aliases: []
tags:
- estimating
- topic/estimating
---
# Estimating Detail
+3 -3
View File
@@ -1,8 +1,8 @@
---
tags:
- estimating
- software
- organization
- topic/estimating
- topic/software
- topic/organization
---
# Estimating Dimensionality
+3 -3
View File
@@ -2,9 +2,9 @@
id:
aliases: []
tags:
- estimating
- software
- type/idea
- topic/estimating
- topic/software
- status/fleeting
---
# Estimating Ergonomics
+1 -1
View File
@@ -1,6 +1,6 @@
---
tags:
- estimating/philosophy
- topic/estimating
---
# Estimating Philosophy
-87
View File
@@ -1,87 +0,0 @@
---
excalidraw-plugin: parsed
excalidraw-default-mode: view
excalidraw-export-dark: false
excalidraw-export-transparent: false
excalidraw-linkbutton-opacity: 0.3
excalidraw-onload-script: "app.plugins.plugins[`excalibrain`].start(ea.targetView.leaf);"
tags: [excalidraw]
---
# Text Elements
Open a document in another pane and click it to get started.
For the best experience enable 'Open in adjacent pane'
in Excalidraw settings under 'Links and Transclusion'. ^4mylk7KK
%%
# Drawing
```json
{
"type": "excalidraw",
"version": 2,
"source": "https://excalidraw.com",
"elements": [
{
"type": "text",
"version": 1,
"versionNonce": 423577018,
"isDeleted": false,
"id": "4mylk7KK",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 0,
"y": 0,
"strokeColor": "white",
"backgroundColor": "transparent",
"width": 703,
"height": 96,
"seed": 4429,
"groupIds": [],
"strokeSharpness": "sharp",
"boundElements": [],
"updated": 1650784785611,
"link": null,
"locked": false,
"fontSize": 20,
"fontFamily": 3,
"text": "Open a document in another pane and click it to get started.\n\nFor the best experience enable 'Open in adjacent pane'\nin Excalidraw settings under 'Links and Transclusion'.",
"rawText": "Open a document in another pane and click it to get started.\n\nFor the best experience enable 'Open in adjacent pane'\nin Excalidraw settings under 'Links and Transclusion'.",
"baseline": 91,
"textAlign": "center",
"verticalAlign": "top",
"containerId": null,
"originalText": "Open a document in another pane and click it to get started.\n\nFor the best experience enable 'Open in adjacent pane'\nin Excalidraw settings under 'Links and Transclusion'."
}
],
"appState": {
"theme": "dark",
"viewBackgroundColor": "hsl(208, 80%, 23%)",
"currentItemStrokeColor": "#000000",
"currentItemBackgroundColor": "transparent",
"currentItemFillStyle": "hachure",
"currentItemStrokeWidth": 2,
"currentItemStrokeStyle": "solid",
"currentItemRoughness": 1,
"currentItemOpacity": 100,
"currentItemFontFamily": 1,
"currentItemFontSize": 16,
"currentItemTextAlign": "left",
"currentItemStrokeSharpness": "sharp",
"currentItemStartArrowhead": null,
"currentItemEndArrowhead": "arrow",
"currentItemLinearStrokeSharpness": "round",
"gridSize": null,
"colorPalette": {}
},
"files": {}
}
```
%%
+1 -1
View File
@@ -2,7 +2,7 @@
id: excel-macros
aliases: []
tags:
- software
- topic/software
- type/guide
---
# Excel Macros
+2 -2
View File
@@ -2,9 +2,9 @@
id:
aliases: []
tags:
- automation
- topic/automation
- occupational
- type/idea
- status/fleeting
---
# Feeder Verification
+12 -35
View File
@@ -43,8 +43,16 @@ Locate:
#### Primaries
Empty conduit.
#### Secondaries
> [!info] Vaults and Secondary Connections
> In utility vaults, secondary conductors sometimes run on racks,
> far past their entrance conduits, to their transformers.
> It is necessary to add this distance to the wire makeup,
> rather than simply measure the conduit assembly to the transformer.
#### Feeders
#### Bus Duct
@@ -77,43 +85,12 @@ Locate:
`ITEM DATABASE`/`CONDUIT & FITTINGS`/`CABLE SUPPORT / WEDGES`/`... COMPLETE FITTING`/...
#### Grounding
See [[grounding]].
#### Sleeving
See [[sleeving]].
#### Grounding
This script is intended to cover both electrical and telecom grounding
in lieu of detail sufficient for standard takeoff (e.g. a grounding riser).
`COMMON ASSEMBLIES`/`GROUNDING`
##### System Grounding
> Area: "01 - Feeders/Risers Building"
`COMMON ASSEMBLIES`/`GROUNDING`/`GND = #3/0 & 1" CONDUIT - EMT`
* Length: Measure around the main electrical rooms to stacked
* Count: Total number of electrical rooms
`COMMON ASSEMBLIES`/`GROUNDING`/`(3) ... x 10' CU CLAD GRD ROD & 4"X12" GND BAR`
* Count: 1
##### Riser
> Area: "Typical - Building All Electrical Riser Rooms"
`COMMON ASSEMBLIES`/`GROUNDING`/`GND = #3/0 & 1" CONDUIT - EMT`
* Length: 15
* Count: 1
##### Telecom Ground Bridge
Use only where shown.
`COMMON ASSEMBLIES`/`GROUNDING`/`TELE/DATA GND BRIDGE, ..., W/ COVER & (60') #6 THHN GREEN`
### 3. Extension (Review and Checking)
+51 -41
View File
@@ -2,11 +2,12 @@
id:
aliases: []
tags:
- occupational
- occupational/systems/fire-alarm
---
# Fire Alarm
## Info
## Sequence
### 1. Estimate preparation
@@ -24,25 +25,23 @@ tags:
### 2. Takeoff
#### Riser
#### Fire Command Center
##### Fire Command Center
`COMMON ASSEMBLIES`/`FIRE ALARM & DAS SYSTEMS`/`HEAD END EQUIP`/`... HEAD END`
{Building Type} Head End CA.30.23.X
#### Generator Room
##### Generator Room
`COMMON ASSEMBLIES`/`FIRE ALARM & DAS SYSTEMS`/`GEN, ELEV, FIRE PUMP & FA ROOM ASSEMBLIES`/`GENERATOR ROOM ...`
CA.30.22.2
#### Fire Pump Room
##### Fire Pump Room
`COMMON ASSEMBLIES`/`FIRE ALARM & DAS SYSTEMS`/`GEN, ELEV, FIRE PUMP & FA ROOM ASSEMBLIES`/`FIRE PUMP ROOM ...`
CA.30.22.4
#### FACR to Elevator Shafts
##### FACR to Elevator Shafts
`COMMON ASSEMBLIES`/`FIRE ALARM & DAS SYSTEMS`/`GEN, ELEV, FIRE PUMP & FA ROOM ASSEMBLIES`/`ELEV SHAFT ...`
Elevator Shafts (CA.30.22.8)
FACR TO ELEV SHAFT 1 ½" (CA.30.22.10/11)
`COMMON ASSEMBLIES`/`FIRE ALARM & DAS SYSTEMS`/`GEN, ELEV, FIRE PUMP & FA ROOM ASSEMBLIES`/`FACR TO ELEV SHAFT ...`
Measure Length from the most distant points of the FACR and each shaft.
Input adder length to reach the bottom of the pit
@@ -57,25 +56,27 @@ Input adder length to reach the bottom of the pit
| | |
```
##### FACR to Elevator Control Rooms
#### FACR to Elevator Control Rooms
Elevator Control Room (CA.30.22.6)
`COMMON ASSEMBLIES`/`FIRE ALARM & DAS SYSTEMS`/`GEN, ELEV, FIRE PUMP & FA ROOM ASSEMBLIES`/`ELEV CONTROL ROOM ...`
FACR/FCC TO ELEV CONTROL ROOM (CA.30.22.13/14)
`COMMON ASSEMBLIES`/`FIRE ALARM & DAS SYSTEMS`/`GEN, ELEV, FIRE PUMP & FA ROOM ASSEMBLIES`/`FACR TO ELEV CONTROL RM ...`
* Measure the Horizontal and Vertical Distance from the FACR to the ECR.
* Use Typicals for the vertical riser. (Ex// 10' per floor)
* Add [[sleeving]] as necessary.
##### FACR to Stairwells
#### FACR to Stairwells
FACR TO STAIRWELLS 1" PVC (CA.30.22.17)
This is for the Flow/Tamper modules in the stairwells
`COMMON ASSEMBLIES`/`FIRE ALARM & DAS SYSTEMS`/`GEN, ELEV, FIRE PUMP & FA ROOM ASSEMBLIES`/`FACR TO STAIRWELLS ...`
* Measure from the furthest end of FACR to the furthest end of the stairwell to find length
* This is for the Flow/Tamper modules in the stairwells
##### Terminal Cabinets
#### Terminal Cabinets
`COMMON ASSEMBLIES`/`FIRE ALARM & DAS SYSTEMS`/`TERMINAL CABINET`
TERMINAL CABINETS (2) 2" EMT/PVC (CA.30.26.X)
Horizontal:
@@ -83,45 +84,38 @@ Horizontal:
Vertical:
* Use 10ft Riser in Typical
* GA or HD - 1" conduit / HR - (2) 2" conduits)
* *Garden Style or High Density:* 1" conduit / HR - (2) 2" conduits)
* Add [[sleeving]] as necessary.
##### Annunciator Panels
#### Annunciator Panels
* Fire Alarm Annunciator (FAA),
* Fire Alarm Annunciator Panel (FAAP)
> [!info] Also Known As
> * Fire Alarm Annunciator (FAA)
> * Fire Alarm Annunciator Panel (FAAP)
ANNUNCIATORS (CA.30.27.2/3)
Remote Serial Annunciator, LCD Display - PVC
`COMMON ASSEMBLIES`/`FIRE ALARM & DAS SYSTEMS`/`ANNUNCIATORS`/`REMOTE SERIAL ANNUNCIATOR ...`
* Measure from the Fire Command Room to FAA or Lobby
##### Sleeving
#### Devices
1. Takeoff floor plans in order
2. Takeoff enlarged drawings
##### Smoke Detectors
#### Smoke Detectors
_Design Build:_
Count every stairwell at every level.
##### Pull Stations
#### Pull Stations
_Design Build:_
Count every stairwell at every level
and every exterior exit.
##### Flow-Tamper Switches
#### Flow-Tamper Switches
No free air. if wood frame, take off as EMT.
_Design Build:_
Count every stairwell at every level.
##### Magnetic Door Holders
#### Magnetic Door Holders
Mech Connection - PVC AL Flex - 20 A
@@ -129,7 +123,7 @@ _Design Build:_
Count every set of double doors.
(Typical of elevator lobbies and corridors)
##### Speaker Strobes
#### Speaker Strobes
_Design Build:_
* Count every 75 ft,
@@ -139,10 +133,26 @@ _Design Build:_
* every elevator lobby,
* and every BOH room on the first floor and garage levels.
#### Firefighter Phone System
* firefighter phone jacks
* fire warden station
* fire phone cabinet
Communicates directly with FACR.
Not related to responder radio.
`COMMON ASSEMBLIES`/`FIRE ALARM & DAS SYSTEMS`/`COMMUNICATION DEVICES ...`/`...`
#### Fire Smoke Dampers (FSD's)
Take off both FA and Electrical
* Misc Assemblies
Take off both FA
`COMMON ASSEMBLIES`/`MISC ASSEMBLIES`/`FSD ...`
and Electrical
`COMMON ASSEMBLIES`/`MECHANICAL CONNECTIONS (UP TO 100A)`/.../...
### 3. Extension (Review and Checking)
-1
View File
@@ -2,7 +2,6 @@
id:
aliases: []
tags:
- occupational
- occupational/systems/fixtures
---
# Fixture Designations
-1
View File
@@ -2,7 +2,6 @@
id:
aliases: []
tags:
- occupational
- occupational/systems/fixtures
---
# Fixtures
+4 -4
View File
@@ -2,10 +2,10 @@
id:
aliases: []
tags:
- automation
- estimating
- software
- type/idea
- topic/automation
- topic/estimating
- topic/software
- status/fleeting
---
# Functional Labor Factoring
+1 -1
View File
@@ -2,7 +2,7 @@
id:
aliases: []
tags:
- risk
- topic/risk
---
# Gold Plating
+42
View File
@@ -6,3 +6,45 @@ tags:
---
# Grounding
## Info
This script is intended to cover both electrical and telecom grounding
in lieu of detail sufficient for standard takeoff (e.g. a grounding riser).
## Sequence
### 1. Estimate preparation
### 2. Takeoff
`COMMON ASSEMBLIES`/`GROUNDING`
#### System Grounding
> Area: "01 - Feeders/Risers Building"
`COMMON ASSEMBLIES`/`GROUNDING`/`GND = #3/0 & 1" CONDUIT - EMT`
* Length: Measure around the main electrical rooms to stacked
* Count: Total number of electrical rooms
`COMMON ASSEMBLIES`/`GROUNDING`/`(3) ... x 10' CU CLAD GRD ROD & 4"X12" GND BAR`
* Count: 1
#### Riser
> Area: "Typical - Building All Electrical Riser Rooms"
`COMMON ASSEMBLIES`/`GROUNDING`/`GND = #3/0 & 1" CONDUIT - EMT`
* Length: 15
* Count: 1
#### Telecom Ground Bridge
Use only where shown.
`COMMON ASSEMBLIES`/`GROUNDING`/`TELE/DATA GND BRIDGE, ..., W/ COVER & (60') #6 THHN GREEN`
### 3. Extension (Review and Checking)
+1 -1
View File
@@ -2,7 +2,7 @@
id:
aliases: []
tags:
- risk
- topic/risk
---
# Gut Feel
-1
View File
@@ -2,7 +2,6 @@
id:
aliases: []
tags:
- occupational
- occupational/systems/electrical
parent: [[electrical]]
---
-1
View File
@@ -2,7 +2,6 @@
id:
aliases: []
tags:
- occupational
- occupational/systems/lightning-protection
---
# Lightning Protection
-1
View File
@@ -2,7 +2,6 @@
id:
aliases: []
tags:
- occupational
- occupational/systems/low-voltage
---
# Low Voltage
+1 -1
View File
@@ -2,7 +2,7 @@
id: me
aliases: []
tags:
- meta
- topic/meta
---
# Me
@@ -3,6 +3,8 @@ id: mike-holts-illustrated-guide-to-electrical-estimating
aliases: []
tags:
- type/media-commentary
- topic/electrical
- topic/estimating
---
# *Mike Holt's Illustrated Guide to Electrical Estimating*
-1
View File
@@ -2,7 +2,6 @@
id:
aliases: []
tags:
- occupational
- occupational/systems
---
# Misc Budgets
+2 -1
View File
@@ -2,7 +2,8 @@
id:
aliases: []
tags:
- risk
- topic/risk
- type/encyclopedia
---
# Monte Carlo Methods
+1 -1
View File
@@ -2,7 +2,7 @@
id:
aliases: []
tags:
- estimating
- topic/estimating
---
# Open Problems in Estimating
+1 -1
View File
@@ -1,6 +1,6 @@
---
tags:
- software
- topic/software
---
# Portable Tools
+2 -2
View File
@@ -2,8 +2,8 @@
id:
aliases: []
tags:
- type/idea
- automation
- status/fleeting
- topic/automation
---
# PowerShell Document Conversion
+2 -2
View File
@@ -2,8 +2,8 @@
id:
aliases: []
tags:
- type/idea
- automation
- status/fleeting
- topic/automation
- occupational
---
# Project Info
+1 -1
View File
@@ -1,6 +1,6 @@
---
tags:
- project-management
- topic/project-management
---
# Project Management™
+2 -1
View File
@@ -1,7 +1,8 @@
---
id:
aliases: []
tags:
tags:
- topic/electrical
- type/encyclopedia
---
# Raceway Terms
+2 -2
View File
@@ -2,8 +2,8 @@
id: risk-oriented-estimating
aliases: []
tags:
- estimating
- risk
- topic/estimating
- topic/risk
---
# Risk Oriented Estimating
+1 -1
View File
@@ -2,7 +2,7 @@
id:
aliases: []
tags:
- risk
- topic/risk
---
# Risk
+4 -4
View File
@@ -2,10 +2,10 @@
id:
aliases: []
tags:
- automation
- estimating
- software
- type/idea
- topic/automation
- topic/estimating
- topic/software
- status/fleeting
---
# Separating Estimating Concerns
+1 -1
View File
@@ -2,7 +2,7 @@
id:
aliases: []
tags:
- organization
- topic/organization
---
# Separation of Concerns
-1
View File
@@ -1,4 +1,3 @@
---
id: sleeving
aliases: []
+2 -2
View File
@@ -1,7 +1,7 @@
---
tags:
- estimating
- software
- topic/estimating
- topic/software
---
# Software Based Estimating
-1
View File
@@ -2,7 +2,6 @@
id:
aliases: []
tags:
- occupational
- occupational/systems/standalone-systems
---
# Standalone Systems
+1 -1
View File
@@ -2,7 +2,7 @@
id:
aliases: []
tags:
- risk
- topic/risk
---
# Strategy
-1
View File
@@ -2,7 +2,6 @@
id:
aliases: []
tags:
- occupational
- occupational/systems/subfeeds
---
# Subfeeds
+1 -1
View File
@@ -2,7 +2,7 @@
id:
aliases: []
tags:
- organization
- topic/organization
---
# Supertopics
-1
View File
@@ -2,7 +2,6 @@
id:
aliases: []
tags:
- occupational
- occupational/systems/switchgear
---
# Switchgear
-1
View File
@@ -2,7 +2,6 @@
id:
aliases: []
tags:
- occupational
- occupational/systems/telecom
---
# Telecom
+1 -1
View File
@@ -2,7 +2,7 @@
id:
aliases: []
tags:
- meta
- topic/meta
---
# This Notebook

Some files were not shown because too many files have changed in this diff Show More