vault backup: 2023-01-12 20:12:24

This commit is contained in:
Paul Trowbridge 2023-01-12 20:12:24 -05:00
parent a44dab9704
commit a98210460d
37 changed files with 44027 additions and 215 deletions

1
.gitignore vendored
View File

@ -1,2 +1 @@
*.swp *.swp
.obsidian/

6
.obsidian/app.json vendored Normal file
View File

@ -0,0 +1,6 @@
{
"livePreview": false,
"vimMode": false,
"showUnsupportedFiles": true,
"promptDelete": false
}

5
.obsidian/appearance.json vendored Normal file
View File

@ -0,0 +1,5 @@
{
"accentColor": "",
"translucency": false,
"theme": "moonstone"
}

7
.obsidian/community-plugins.json vendored Normal file
View File

@ -0,0 +1,7 @@
[
"obsidian-kanban",
"obsidian-git",
"obsidian-tasks-plugin",
"obsidian-excalidraw-plugin",
"obsidian-plaintext"
]

29
.obsidian/core-plugins-migration.json vendored Normal file
View File

@ -0,0 +1,29 @@
{
"file-explorer": true,
"global-search": true,
"switcher": true,
"graph": true,
"backlink": true,
"canvas": true,
"outgoing-link": true,
"tag-pane": true,
"page-preview": true,
"daily-notes": true,
"templates": true,
"note-composer": true,
"command-palette": true,
"slash-command": false,
"editor-status": true,
"starred": true,
"markdown-importer": false,
"zk-prefixer": false,
"random-note": false,
"outline": true,
"word-count": true,
"slides": false,
"audio-recorder": false,
"workspaces": false,
"file-recovery": true,
"publish": false,
"sync": false
}

20
.obsidian/core-plugins.json vendored Normal file
View File

@ -0,0 +1,20 @@
[
"file-explorer",
"global-search",
"switcher",
"graph",
"backlink",
"canvas",
"outgoing-link",
"tag-pane",
"page-preview",
"daily-notes",
"templates",
"note-composer",
"command-palette",
"editor-status",
"starred",
"outline",
"word-count",
"file-recovery"
]

22
.obsidian/graph.json vendored Normal file
View File

@ -0,0 +1,22 @@
{
"collapse-filter": true,
"search": "",
"showTags": false,
"showAttachments": false,
"hideUnresolved": false,
"showOrphans": true,
"collapse-color-groups": true,
"colorGroups": [],
"collapse-display": false,
"showArrow": false,
"textFadeMultiplier": 0,
"nodeSizeMultiplier": 1,
"lineSizeMultiplier": 1,
"collapse-forces": true,
"centerStrength": 0.518713248970312,
"repelStrength": 10,
"linkStrength": 1,
"linkDistance": 250,
"scale": 0.9221079114817278,
"close": true
}

31
.obsidian/hotkeys.json vendored Normal file
View File

@ -0,0 +1,31 @@
{
"command-palette:open": [
{
"modifiers": [
"Mod"
],
"key": "P"
},
{
"modifiers": [],
"key": "F1"
}
],
"obsidian-excalidraw-plugin:export-png-scene": [
{
"modifiers": [
"Alt",
"Shift"
],
"key": "F"
}
],
"app:toggle-right-sidebar": [
{
"modifiers": [
"Mod"
],
"key": "W"
}
]
}

View File

@ -0,0 +1,87 @@
{
"folder": "Excalidraw",
"embedUseExcalidrawFolder": false,
"templateFilePath": "Excalidraw/Template.excalidraw",
"scriptFolderPath": "Excalidraw/Scripts",
"compress": false,
"autosave": true,
"autosaveInterval": 15000,
"autosaveIntervalDesktop": 15000,
"autosaveIntervalMobile": 10000,
"drawingFilenamePrefix": "Drawing ",
"drawingEmbedPrefixWithFilename": true,
"drawingFilnameEmbedPostfix": " ",
"drawingFilenameDateTime": "YYYY-MM-DD HH.mm.ss",
"useExcalidrawExtension": true,
"displaySVGInPreview": true,
"displayExportedImageIfAvailable": false,
"previewMatchObsidianTheme": false,
"width": "400",
"isLeftHanded": false,
"matchTheme": false,
"matchThemeAlways": false,
"matchThemeTrigger": false,
"defaultMode": "normal",
"defaultPenMode": "never",
"zoomToFitOnOpen": true,
"zoomToFitOnResize": true,
"zoomToFitMaxLevel": 2,
"linkPrefix": "📍",
"urlPrefix": "🌐",
"parseTODO": false,
"todo": "☐",
"done": "🗹",
"hoverPreviewWithoutCTRL": false,
"linkOpacity": 1,
"openInAdjacentPane": false,
"openInMainWorkspace": true,
"showLinkBrackets": true,
"allowCtrlClick": true,
"forceWrap": false,
"pageTransclusionCharLimit": 200,
"wordWrappingDefault": 0,
"removeTransclusionQuoteSigns": true,
"iframelyAllowed": true,
"pngExportScale": 1,
"exportWithTheme": true,
"exportWithBackground": true,
"exportPaddingSVG": 10,
"keepInSync": false,
"autoexportSVG": false,
"autoexportPNG": false,
"autoExportLightAndDark": false,
"autoexportExcalidraw": false,
"embedType": "excalidraw",
"embedWikiLink": true,
"syncExcalidraw": false,
"experimentalFileType": false,
"experimentalFileTag": "✏️",
"experimentalLivePreview": true,
"experimentalEnableFourthFont": false,
"experimantalFourthFont": "Virgil",
"fieldSuggester": true,
"compatibilityMode": false,
"drawingOpenCount": 0,
"library": "deprecated",
"library2": {
"type": "excalidrawlib",
"version": 2,
"source": "https://excalidraw.com",
"libraryItems": []
},
"imageElementNotice": true,
"mdSVGwidth": 500,
"mdSVGmaxHeight": 800,
"mdFont": "Virgil",
"mdFontColor": "Black",
"mdBorderColor": "Black",
"mdCSS": "",
"scriptEngineSettings": {},
"defaultTrayMode": false,
"previousRelease": "1.8.9",
"showReleaseNotes": true,
"showNewVersionNotification": true,
"mathjaxSourceURL": "https://cdn.jsdelivr.net/npm/mathjax@3.2.1/es5/tex-svg.js",
"taskboneEnabled": false,
"taskboneAPIkey": ""
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,11 @@
{
"id": "obsidian-excalidraw-plugin",
"name": "Excalidraw",
"version": "1.8.9",
"minAppVersion": "1.0.0",
"description": "An Obsidian plugin to edit and view Excalidraw drawings",
"author": "Zsolt Viczian",
"authorUrl": "https://zsolt.blog",
"fundingUrl": "https://ko-fi.com/zsolt",
"isDesktopOnly": false
}

View File

@ -0,0 +1,291 @@
.App {
font-family: sans-serif;
text-align: center;
}
.excalidraw-wrapper {
height: 100%;
margin: 0px;
background-color: white;
}
.context-menu-option__shortcut {
background-color: transparent !important;
}
.block-language-excalidraw {
text-align:center;
}
.excalidraw .github-corner {
display: none;
}
img.excalidraw-svg-right-wrap {
float: right;
margin: 0px 0px 20px 20px;
}
img.excalidraw-svg-left-wrap {
float: left;
margin: 0px 35px 20px 0px;
}
img.excalidraw-svg-right {
float: right;
}
.excalidraw-svg-center {
text-align: center;
}
img.excalidraw-svg-left {
float: left;
}
div.excalidraw-svg-right,
div.excalidraw-svg-left {
display: table;
width: 100%;
}
button.ToolIcon_type_button[title="Export"] {
display:none;
}
.excalidraw-prompt-div {
display: flex;
max-width: 800px;
}
.excalidraw-prompt-form {
display: flex;
flex-grow: 1;
}
.excalidraw-prompt-input {
flex-grow: 1;
}
li[data-testid] {
border: 0 !important;
margin: 0 !important;
padding: 0 !important;
width: 100% !important;
}
.excalidraw .context-menu-option-separator {
margin: 4px !important;
}
.excalidraw .popover {
padding: 0 !important;
border-color: transparent !important;
border: 0 !important;
box-shadow: 0 !important;
background-color: transparent !important;
}
.disable-zen-mode--visible {
color: var(--text-primary-color);
}
.disable-zen-mode {
width: 9em !important;
}
.ex-coffee-div {
text-align: center;
margin-bottom: 10px;
}
.excalidraw-scriptengine-install td>img {
width: 100%;
max-width:800px;
}
.excalidraw-scriptengine-install img.coffee {
width: 130px;
}
.excalidraw-scriptengine-install tr {
vertical-align: top;
}
.excalidraw-scriptengine-install table {
max-width: 130ch;
}
.excalidraw-scriptengine-install td.label {
min-width: 11ch;
font-weight: bold;
padding-right: 5px;
}
.excalidraw-scriptengine-install td.data {
width: 100%;
}
.excalidraw-scriptengine-install .modal-content {
max-width: 130ch;
user-select: text;
}
.excalidraw-scriptengine-install .modal {
max-height:90%;
width: auto;
}
.excalidraw-prompt-center {
text-align: center !important;
}
.excalidraw-prompt-center button {
margin: 0 10px;
}
.excalidraw-prompt-center.filepath {
text-align: center;
font-weight: bold;
margin-bottom: 2em;
}
.excalidraw-dirty {
color: red;
}
.workspace-leaf-content .excalidraw-view {
padding: 0px 1px; /*1px so on ipad swipe in from left and right still works*/
}
.excalidraw-videoWrapper {
max-width:600px
}
.excalidraw-videoWrapper div {
position: relative;
padding-bottom: 56.25%;
height: 0;
margin: 0 auto;
}
.excalidraw-videoWrapper iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.excalidraw-release .modal-content{
padding-right: 5px;
margin-right: -5px;
user-select: text;
}
.excalidraw-release .modal {
max-height: 80%;
max-width: 100ch;
}
.excalidraw .Island .scrollbar {
--scrollbar-thumb-bg: silver;
}
.excalidraw .ToolIcon__icon img{
height: 1em;
}
.excalidraw-scriptengine-install tbody>tr>td>div>img {
height:20px;
background-color: silver;
padding: 2px;
}
.excalidraw-scriptengine-install tbody>tr>td>div {
width: 50px;
display: inline-block;
}
.excalidraw-release p>a>img {
width: 100%
}
.excalidraw .context-menu-option {
box-shadow: none;
}
textarea.excalidraw-wysiwyg {
border: none;
outline: none;
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
border-radius: 0;
}
.is-tablet .excalidraw button,
.is-mobile .excalidraw button {
padding: initial;
height: 1.8rem;
}
.excalidraw button,
.ToolIcon button {
box-shadow: none;
justify-content: initial;
}
.excalidraw {
--default-button-size: 2rem !important;
--default-icon-size: 1rem !important;
--lg-button-size: 1.8rem !important;
--lg-icon-size: 1rem !important;
}
.excalidraw .tray-zoom {
pointer-events: initial;
padding-bottom: 0.05rem;
padding-top: 0.05rem;
}
.excalidraw-container.theme--dark {
background-color: #121212;
color: #fff;
}
/* https://discordapp.com/channels/686053708261228577/989603365606531104/1041266507256184863 */
/*.workspace-leaf {
contain: none !important;
}*/
.color-picker-content {
overflow-y: auto;
max-height: 10rem;
}
.excalidraw .FixedSideContainer_side_top {
top: 0.3rem;
}
.excalidraw .ToolIcon__keybinding {
font-size: 0.45rem !important;
}
.Island > .Stack > .Stack {
padding:0.2rem;
}
label.color-input-container > input {
max-width: 8rem;
}
.excalidraw .FixedSideContainer_side_top {
left: 10px !important;
top: 10px !important;
right: 10px !important;
bottom: 10px !important;
}
.excalidraw-hidden {
display: none !important;
}

View File

@ -0,0 +1,27 @@
{
"commitMessage": "vault backup: {{date}}",
"autoCommitMessage": "vault backup: {{date}}",
"commitDateFormat": "YYYY-MM-DD HH:mm:ss",
"autoSaveInterval": 0,
"autoPushInterval": 0,
"autoPullInterval": 0,
"autoPullOnBoot": false,
"disablePush": false,
"pullBeforePush": true,
"disablePopups": false,
"listChangedFilesInMessageBody": false,
"showStatusBar": true,
"updateSubmodules": false,
"syncMethod": "merge",
"customMessageOnAutoBackup": false,
"autoBackupAfterFileChange": false,
"treeStructure": true,
"refreshSourceControl": true,
"basePath": "",
"differentIntervalCommitAndPush": false,
"changedFilesInStatusBar": false,
"showedMobileNotice": true,
"refreshSourceControlTimer": 7000,
"showBranchStatusBar": true,
"setLastSaveToLastCommit": false
}

31716
.obsidian/plugins/obsidian-git/main.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,9 @@
{
"id": "obsidian-git",
"name": "Obsidian Git",
"description": "Backup your vault with Git.",
"isDesktopOnly": false,
"fundingUrl": "https://ko-fi.com/vinzent",
"js": "main.js",
"version": "2.14.0"
}

View File

@ -0,0 +1,474 @@
@keyframes loading {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
.workspace-leaf-content[data-type='git-view'] .view-content {
padding: 0;
}
.loading>svg {
animation: 2s linear infinite loading;
transform-origin: 50% 50%;
display: inline-block;
}
.obsidian-git-center {
margin: auto;
text-align: center;
width: 50%;
}
.obsidian-git-textarea {
display: block;
margin-left: auto;
margin-right: auto;
}
.obsidian-git-center-button {
display: block;
margin: 20px auto;
}
.tooltip.mod-left {
overflow-wrap: break-word;
}
.tooltip.mod-right {
overflow-wrap: break-word;
}
.obsidian-git-shortcuts {
margin: 10px;
}
.diff-err {
height: 100%;
display: flex;
justify-content: center;
flex-direction: column;
align-items: center;
}
.diff-err-sign {
font-size: 2em;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-d-none {
display: none;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-wrapper {
text-align: left;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-header {
background-color: var(--background-primary);
border-bottom: 1px solid var(--interactive-accent);
font-family: var(--font-monospace);
height: 35px;
padding: 5px 10px;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-header,
.workspace-leaf-content[data-type="diff-view"] .d2h-file-stats {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-stats {
font-size: 14px;
margin-left: auto;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-lines-added {
border: 1px solid #b4e2b4;
border-radius: 5px 0 0 5px;
color: #399839;
padding: 2px;
text-align: right;
vertical-align: middle;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-lines-deleted {
border: 1px solid #e9aeae;
border-radius: 0 5px 5px 0;
color: #c33;
margin-left: 1px;
padding: 2px;
text-align: left;
vertical-align: middle;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-name-wrapper {
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
font-size: 15px;
width: 100%;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-name {
overflow-x: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-wrapper {
border: 1px solid var(--background-modifier-border);
border-radius: 3px;
margin-bottom: 1em;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-collapse {
-webkit-box-pack: end;
-ms-flex-pack: end;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
border: 1px solid var(--background-modifier-border);
border-radius: 3px;
cursor: pointer;
display: none;
font-size: 12px;
justify-content: flex-end;
padding: 4px 8px;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-collapse.d2h-selected {
background-color: #c8e1ff;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-collapse-input {
margin: 0 4px 0 0;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-diff-table {
border-collapse: collapse;
font-family: Menlo, Consolas, monospace;
font-size: 13px;
width: 100%;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-files-diff {
width: 100%;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-diff {
overflow-y: hidden;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-side-diff {
display: inline-block;
margin-bottom: -8px;
margin-right: -4px;
overflow-x: scroll;
overflow-y: hidden;
width: 50%;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line {
padding: 0 8em;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line,
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-line {
display: inline-block;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
white-space: nowrap;
width: 100%;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-line {
padding: 0 4.5em;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line-ctn {
word-wrap: normal;
background: none;
display: inline-block;
padding: 0;
-webkit-user-select: text;
-moz-user-select: text;
-ms-user-select: text;
user-select: text;
vertical-align: middle;
white-space: pre;
width: 100%;
}
.theme-light .workspace-leaf-content[data-type="diff-view"] .d2h-code-line del,
.theme-light .workspace-leaf-content[data-type="diff-view"] .d2h-code-side-line del {
background-color: #ffb6ba;
}
.theme-dark .workspace-leaf-content[data-type="diff-view"] .d2h-code-line del,
.theme-dark .workspace-leaf-content[data-type="diff-view"] .d2h-code-side-line del {
background-color: #8d232881;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line del,
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line ins,
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-line del,
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-line ins {
border-radius: 0.2em;
display: inline-block;
margin-top: -1px;
text-decoration: none;
vertical-align: middle;
}
.theme-light .workspace-leaf-content[data-type="diff-view"] .d2h-code-line ins,
.theme-light .workspace-leaf-content[data-type="diff-view"] .d2h-code-side-line ins {
background-color: #97f295;
text-align: left;
}
.theme-dark .workspace-leaf-content[data-type="diff-view"] .d2h-code-line ins,
.theme-dark .workspace-leaf-content[data-type="diff-view"] .d2h-code-side-line ins {
background-color: #1d921996;
text-align: left;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line-prefix {
word-wrap: normal;
background: none;
display: inline;
padding: 0;
white-space: pre;
}
.workspace-leaf-content[data-type="diff-view"] .line-num1 {
float: left;
}
.workspace-leaf-content[data-type="diff-view"] .line-num1,
.workspace-leaf-content[data-type="diff-view"] .line-num2 {
-webkit-box-sizing: border-box;
box-sizing: border-box;
overflow: hidden;
padding: 0 0.5em;
text-overflow: ellipsis;
width: 3.5em;
}
.workspace-leaf-content[data-type="diff-view"] .line-num2 {
float: right;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-linenumber {
background-color: var(--background-primary);
border: solid var(--background-modifier-border);
border-width: 0 1px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
color: var(--text-muted);
cursor: pointer;
display: inline-block;
position: absolute;
text-align: right;
width: 7.5em;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-linenumber:after {
content: "\200b";
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-linenumber {
background-color: var(--background-primary);
border: solid var(--background-modifier-border);
border-width: 0 1px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
color: var(--text-muted);
cursor: pointer;
display: inline-block;
overflow: hidden;
padding: 0 0.5em;
position: absolute;
text-align: right;
text-overflow: ellipsis;
width: 4em;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-diff-tbody tr {
position: relative;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-linenumber:after {
content: "\200b";
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-emptyplaceholder,
.workspace-leaf-content[data-type="diff-view"] .d2h-emptyplaceholder {
background-color: var(--background-primary);
border-color: var(--background-modifier-border);
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line-prefix,
.workspace-leaf-content[data-type="diff-view"] .d2h-code-linenumber,
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-linenumber,
.workspace-leaf-content[data-type="diff-view"] .d2h-emptyplaceholder {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-linenumber,
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-linenumber {
direction: rtl;
}
.theme-light .workspace-leaf-content[data-type="diff-view"] .d2h-del {
background-color: #fee8e9;
border-color: #e9aeae;
}
.theme-light .workspace-leaf-content[data-type="diff-view"] .d2h-ins {
background-color: #dfd;
border-color: #b4e2b4;
}
.theme-dark .workspace-leaf-content[data-type="diff-view"] .d2h-del {
background-color: #521b1d83;
border-color: #691d1d73;
}
.theme-dark .workspace-leaf-content[data-type="diff-view"] .d2h-ins {
background-color: rgba(30, 71, 30, 0.5);
border-color: #13501381;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-info {
background-color: var(--background-primary);
border-color: var(--background-modifier-border);
color: var(--text-normal);
}
.theme-light .workspace-leaf-content[data-type="diff-view"] .d2h-file-diff .d2h-del.d2h-change {
background-color: #fdf2d0;
}
.theme-dark .workspace-leaf-content[data-type="diff-view"] .d2h-file-diff .d2h-del.d2h-change {
background-color: #55492480;
}
.theme-light .workspace-leaf-content[data-type="diff-view"] .d2h-file-diff .d2h-ins.d2h-change {
background-color: #ded;
}
.theme-dark .workspace-leaf-content[data-type="diff-view"] .d2h-file-diff .d2h-ins.d2h-change {
background-color: rgba(37, 78, 37, 0.418);
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-wrapper {
margin-bottom: 10px;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-wrapper a {
color: #3572b0;
text-decoration: none;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-wrapper a:visited {
color: #3572b0;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-header {
text-align: left;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-title {
font-weight: 700;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-line {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
text-align: left;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list {
display: block;
list-style: none;
margin: 0;
padding: 0;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list>li {
border-bottom: 1px solid var(--background-modifier-border);
margin: 0;
padding: 5px 10px;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list>li:last-child {
border-bottom: none;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-switch {
cursor: pointer;
display: none;
font-size: 10px;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-icon {
fill: currentColor;
margin-right: 10px;
vertical-align: middle;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-deleted {
color: #c33;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-added {
color: #399839;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-changed {
color: #d0b44c;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-moved {
color: #3572b0;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-tag {
background-color: var(--background-primary);
display: -webkit-box;
display: -ms-flexbox;
display: flex;
font-size: 10px;
margin-left: 5px;
padding: 0 2px;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-deleted-tag {
border: 2px solid #c33;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-added-tag {
border: 1px solid #399839;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-changed-tag {
border: 1px solid #d0b44c;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-moved-tag {
border: 1px solid #3572b0;
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,10 @@
{
"id": "obsidian-kanban",
"name": "Kanban",
"version": "1.5.1",
"minAppVersion": "1.0.0",
"description": "Create markdown-backed Kanban boards in Obsidian.",
"author": "mgmeyers",
"authorUrl": "https://github.com/mgmeyers/obsidian-kanban",
"isDesktopOnly": false
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,8 @@
{
"destroyOtherPlugins": false,
"extensions": [
"sql",
"sh",
"json"
]
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,10 @@
{
"id": "obsidian-plaintext",
"name": "Plaintext",
"version": "0.2.0",
"minAppVersion": "0.13.14",
"description": "Allow opening specified files as plaintext (RAW mode).",
"author": "dbarenholz",
"authorUrl": "https://github.com/dbarenholz/dbarenholz",
"isDesktopOnly": false
}

View File

@ -0,0 +1,14 @@
{
"globalFilter": "",
"removeGlobalFilter": false,
"setDoneDate": true,
"autoSuggestInEditor": true,
"autoSuggestMinMatch": 0,
"autoSuggestMaxItems": 6,
"provideAccessKeys": true,
"useFilenameAsScheduledDate": false,
"filenameAsDateFolders": [],
"features": {
"INTERNAL_TESTING_ENABLED_BY_DEFAULT": true
}
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,10 @@
{
"id": "obsidian-tasks-plugin",
"name": "Tasks",
"version": "1.22.0",
"minAppVersion": "0.14.6",
"description": "Task management for Obsidian",
"author": "Martin Schenck and Clare Macrae",
"authorUrl": "https://github.com/obsidian-tasks-group",
"isDesktopOnly": false
}

View File

@ -0,0 +1,199 @@
.plugin-tasks-query-explanation{
/* Prevent long explanation lines wrapping, so they are more readable,
especially on small screens.
A horizontal scroll bar will be displayed, if the explanation
is too wide to fit.
*/
--code-white-space: pre;
}
.tasks-count {
color: var(--text-faint);
padding-left: 20px;
}
/* Pencil icon. */
.tasks-edit {
background-color: var(--text-faint);
mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20aria-hidden%3D%22true%22%20focusable%3D%22false%22%20width%3D%221em%22%20height%3D%221em%22%20style%3D%22-ms-transform%3A%20rotate(360deg)%3B%20-webkit-transform%3A%20rotate(360deg)%3B%20transform%3A%20rotate(360deg)%3B%22%20preserveAspectRatio%3D%22xMidYMid%20meet%22%20viewBox%3D%220%200%201536%201536%22%3E%3Cpath%20d%3D%22M363%201408l91-91l-235-235l-91%2091v107h128v128h107zm523-928q0-22-22-22q-10%200-17%207l-542%20542q-7%207-7%2017q0%2022%2022%2022q10%200%2017-7l542-542q7-7%207-17zm-54-192l416%20416l-832%20832H0v-416zm683%2096q0%2053-37%2090l-166%20166l-416-416l166-165q36-38%2090-38q53%200%2091%2038l235%20234q37%2039%2037%2091z%22%20fill%3D%22%23626262%22%2F%3E%3C%2Fsvg%3E");
-webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20aria-hidden%3D%22true%22%20focusable%3D%22false%22%20width%3D%221em%22%20height%3D%221em%22%20style%3D%22-ms-transform%3A%20rotate(360deg)%3B%20-webkit-transform%3A%20rotate(360deg)%3B%20transform%3A%20rotate(360deg)%3B%22%20preserveAspectRatio%3D%22xMidYMid%20meet%22%20viewBox%3D%220%200%201536%201536%22%3E%3Cpath%20d%3D%22M363%201408l91-91l-235-235l-91%2091v107h128v128h107zm523-928q0-22-22-22q-10%200-17%207l-542%20542q-7%207-7%2017q0%2022%2022%2022q10%200%2017-7l542-542q7-7%207-17zm-54-192l416%20416l-832%20832H0v-416zm683%2096q0%2053-37%2090l-166%20166l-416-416l166-165q36-38%2090-38q53%200%2091%2038l235%20234q37%2039%2037%2091z%22%20fill%3D%22%23626262%22%2F%3E%3C%2Fsvg%3E");
mask-size: contain;
-webkit-mask-size: contain;
display: inline-block;
width: 1em;
height: 1em;
vertical-align: middle;
margin-left: 0.5em;
cursor: pointer;
}
/* Urgency score */
.tasks-urgency {
font-size: var(--font-ui-smaller);
font-family: var(--font-interface);
padding: 2px 6px;
border-radius: var(--radius-s);
color: var(--text-normal);
background-color: var(--background-secondary);
margin-left: 0.5em;
line-height: 1;
}
.internal-link.internal-link-short-mode {
text-decoration: none;
}
.tasks-list-text {
position: relative;
}
.tasks-list-text .tooltip {
position: absolute;
top: 0px;
left: 0px;
white-space: nowrap;
}
.tasks-setting-important {
color: red;
font-weight: bold;
}
.tasks-modal-section + .tasks-modal-section {
margin-top: 16px;
}
.tasks-modal-section label {
display: inline-block;
margin-bottom: 4px;
}
.tasks-modal-section label > span {
display: inline-block;
}
.tasks-modal .with-accesskeys .accesskey-first::first-letter,
.tasks-modal .with-accesskeys .accesskey {
text-decoration: underline;
text-underline-offset: 1pt;
}
.tasks-modal-buttons {
display: grid;
grid-template-columns: 3fr 1fr;
column-gap: .5em;
}
.tasks-modal label + input[type="checkbox"] {
margin-left: 0.67em;
top: 2px;
}
.tasks-modal input[type="text"] {
width: 100%;
}
.tasks-modal-priorities {
display: grid;
grid-template-columns: 4em 5em 5em 7em 5em;
grid-column-gap: 1.33em;
}
.tasks-modal-priorities span {
line-height: 1.41;
white-space: nowrap;
}
.tasks-modal-priorities label {
border-radius: var(--input-radius);
padding: 2px 3px;
}
.tasks-modal-priorities input:focus + label {
box-shadow: 0 0 0 2px var(--background-modifier-border-focus);
border-color: var(--background-modifier-border-focus);
}
.tasks-modal-priorities input:checked + label > span:first-child {
font-weight: bold;
}
.tasks-modal-priorities input:not(:checked) + label > span:nth-child(2) {
filter: grayscale(100%) opacity(60%);
}
.tasks-modal-dates {
display: grid;
grid-template-columns: 5.5em auto;
column-gap: .5em;
row-gap: 5px;
}
.tasks-modal-dates > label {
grid-column: 1;
margin-top: 6px;
}
.tasks-modal-dates > input, .tasks-modal-dates > code {
grid-column: 2;
align-items: stretch;
}
.tasks-modal-dates > code {
margin-bottom: 5px;
}
.tasks-modal-dates > div {
grid-column-start: 1;
grid-column-end: 3;
}
.tasks-modal-status {
display: flex;
justify-content: space-between;
}
@media (max-width: 649px) {
.tasks-modal-priorities {
grid-template-columns: 4em 7.5em 5em;
margin-bottom: -10px;
}
.tasks-modal-priorities > label {
grid-row: 1 / span 2;
}
.tasks-modal-dates {
grid-template-columns: 1fr;
}
.tasks-modal-dates > label {
margin: 0;
}
.tasks-modal-dates > input, .tasks-modal-dates > code {
grid-column: 1;
}
.tasks-modal-dates > div {
grid-column-end: 1;
}
.tasks-modal-status {
display: block;
}
}
@media (max-width: 399px) {
.tasks-modal-priorities {
grid-template-columns: 4em auto;
}
.tasks-modal-priorities > label {
grid-row: 1 / span 4;
}
}
@media (max-width: 259px) {
.tasks-modal-priorities {
grid-template-columns: 1fr;
margin-bottom: 0;
}
.tasks-modal-priorities > label {
grid-row: 1;
}
}

163
.obsidian/workspace.json vendored Normal file
View File

@ -0,0 +1,163 @@
{
"main": {
"id": "6ae951a76f77b808",
"type": "split",
"children": [
{
"id": "d2484c0cd1898ce7",
"type": "tabs",
"children": [
{
"id": "28f1090e043b6c83",
"type": "leaf",
"state": {
"type": "empty",
"state": {}
}
}
]
}
],
"direction": "vertical"
},
"left": {
"id": "9e4b2d8bf3f1e97f",
"type": "split",
"children": [
{
"id": "e07493049a939d4e",
"type": "tabs",
"children": [
{
"id": "7cb0262d1780b639",
"type": "leaf",
"state": {
"type": "file-explorer",
"state": {
"sortOrder": "alphabetical"
}
}
},
{
"id": "72f39dcfa36c0152",
"type": "leaf",
"state": {
"type": "search",
"state": {
"query": "",
"matchingCase": false,
"explainSearch": false,
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical"
}
}
},
{
"id": "b0c6410777dfc58b",
"type": "leaf",
"state": {
"type": "starred",
"state": {}
}
}
]
}
],
"direction": "horizontal",
"width": 300
},
"right": {
"id": "c46115cbe16372ca",
"type": "split",
"children": [
{
"id": "735447b83d07c286",
"type": "tabs",
"children": [
{
"id": "9b3a7e6169f99548",
"type": "leaf",
"state": {
"type": "backlink",
"state": {
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical",
"showSearch": false,
"searchQuery": "",
"backlinkCollapsed": false,
"unlinkedCollapsed": true
}
}
},
{
"id": "22adc284fe78495a",
"type": "leaf",
"state": {
"type": "outgoing-link",
"state": {
"linksCollapsed": false,
"unlinkedCollapsed": true
}
}
},
{
"id": "1809c073e47abcf2",
"type": "leaf",
"state": {
"type": "tag",
"state": {
"sortOrder": "frequency",
"useHierarchy": true
}
}
},
{
"id": "2f265725c8d83858",
"type": "leaf",
"state": {
"type": "outline",
"state": {}
}
},
{
"id": "37a0d4b229607ffd",
"type": "leaf",
"state": {
"type": "git-view",
"state": {}
}
}
],
"currentTab": 4
}
],
"direction": "horizontal",
"width": 300
},
"left-ribbon": {
"hiddenItems": {
"obsidian-excalidraw-plugin:New Excalidraw drawing": false,
"switcher:Open quick switcher": false,
"graph:Open graph view": false,
"canvas:Create new canvas": false,
"daily-notes:Open today's daily note": false,
"templates:Insert template": false,
"command-palette:Open command palette": false
}
},
"active": "28f1090e043b6c83",
"lastOpenFiles": [
"sql_server/error_handling.sql",
"2023-01-09.md",
"visidata.md",
"webmin.md",
"wekan.md",
"telnet.md",
"ssh.md",
"vagrant.md",
"virtualbox.md",
"regex.md"
]
}

View File

View File

@ -1,4 +1,4 @@
https://github.com/forbesmyester/esqlate https://github.com/forbesmyester/esqlate
builds little forms out of sql builds little forms out of sql

View File

@ -1,9 +1,9 @@
RAID edits ## RAID edits
* Enter the system setup menu at boot time, then you also have to press additional keys to get to the RAID screen * Enter the system setup menu at boot time, then you also have to press additional keys to get to the RAID screen
* create a new virtual disk and assign the new disks, then initialize the VD * create a new virtual disk and assign the new disks, then initialize the VD
Mounting the new VD ## Mounting the new VD
* find the disk with `fdisk -l | grep '^Disk'` * find the disk with `fdisk -l | grep '^Disk'`
* create a partition table * create a partition table
* `fdisk /dev/sdb` * `fdisk /dev/sdb`

View File

@ -1,18 +0,0 @@
dbeaver
vs code
bash
vundle
npgsql
pspg
postgresql apt repo
pgadmin
windows postgres
nodejs
power bi
ms data gateway
excel add-in

View File

@ -1,121 +1,121 @@
mutlipass - ubuntu vm's from canonical mutlipass - ubuntu vm's from canonical
snap install multipass --classic (apparently this option is required and allows the snap to violate it's sandbox??) snap install multipass --classic (apparently this option is required and allows the snap to violate it's sandbox??)
https://multipass.run/ https://multipass.run/
launch an instance: launch an instance:
* `multipass launch --name ubuntu-lts` * `multipass launch --name ubuntu-lts`
* `multipass stop ubuntu-lts` * `multipass stop ubuntu-lts`
* `multipass delete ubuntu-lts-custom` * `multipass delete ubuntu-lts-custom`
* `multipass purge` * `multipass purge`
* `multipass find` * `multipass find`
you have to `sudo multipass shell` to get a sudo-able shell you have to `sudo multipass shell` to get a sudo-able shell
setup setup
``` ```
sudo apt update sudo apt update
sudo apt upgrade sudo apt upgrade
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" |sudo tee /etc/apt/sources.list.d/pgdg.list echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" |sudo tee /etc/apt/sources.list.d/pgdg.list
sudo apt update sudo apt update
sudo apt -y install postgresql-12 postgresql-client-12 sudo apt -y install postgresql-12 postgresql-client-12
sudo apt install nginx sudo apt install nginx
sudo apt install nodejs sudo apt install nodejs
sudo apt install redis sudo apt install redis
sudo apt install npm sudo apt install npm
sudo npm install -g n sudo npm install -g n
n lts n lts
sudo su root sudo su root
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
exit exit
sudo apt update sudo apt update
apt install -y \ apt install -y \
imagemagick ffmpeg libpq-dev libxml2-dev libxslt1-dev file git-core \ imagemagick ffmpeg libpq-dev libxml2-dev libxslt1-dev file git-core \
g++ libprotobuf-dev protobuf-compiler pkg-config nodejs gcc autoconf \ g++ libprotobuf-dev protobuf-compiler pkg-config nodejs gcc autoconf \
bison build-essential libssl-dev libyaml-dev libreadline6-dev \ bison build-essential libssl-dev libyaml-dev libreadline6-dev \
zlib1g-dev libncurses5-dev libffi-dev libgdbm5 libgdbm-dev \ zlib1g-dev libncurses5-dev libffi-dev libgdbm5 libgdbm-dev \
nginx redis-server redis-tools postgresql postgresql-contrib \ nginx redis-server redis-tools postgresql postgresql-contrib \
certbot python-certbot-nginx yarn libidn11-dev libicu-dev libjemalloc-dev certbot python-certbot-nginx yarn libidn11-dev libicu-dev libjemalloc-dev
``` ```
install mastodon install mastodon
``` ```
adduser --disabled-login mastodon adduser --disabled-login mastodon
sudo su - mastodon sudo su - mastodon
git clone https://github.com/rbenv/rbenv.git ~/.rbenv git clone https://github.com/rbenv/rbenv.git ~/.rbenv
cd ~/.rbenv && src/configure && make -C src cd ~/.rbenv && src/configure && make -C src
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc echo 'eval "$(rbenv init -)"' >> ~/.bashrc
exec bash exec bash
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
RUBY_CONFIGURE_OPTS=--with-jemalloc rbenv install 2.6.5 RUBY_CONFIGURE_OPTS=--with-jemalloc rbenv install 2.6.5
rbenv global 2.6.5 rbenv global 2.6.5
gem update --system gem update --system
gem install bundler --no-document gem install bundler --no-document
exit exit
sudo -u postgres psql sudo -u postgres psql
CREATE USER mastodon CREATEDB; CREATE USER mastodon CREATEDB;
\q \q
git clone https://github.com/tootsuite/mastodon.git live && cd live git clone https://github.com/tootsuite/mastodon.git live && cd live
git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1) git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)
bundle install \ bundle install \
-j$(getconf _NPROCESSORS_ONLN) \ -j$(getconf _NPROCESSORS_ONLN) \
--deployment --without development test --deployment --without development test
yarn install --pure-lockfile yarn install --pure-lockfile
``` ```
need to set database credentials before the env file is built need to set database credentials before the env file is built
``` ```
sudo su postgres sudo su postgres
psql psql
alter role mastodon password 'mastodon'; alter role mastodon password 'mastodon';
\q \q
sudo vim //etc/redis/redis.conf sudo vim //etc/redis/redis.conf
requirepass password requirepass password
``` ```
``` ```
RAILS_ENV=production bundle exec rake mastodon:setup RAILS_ENV=production bundle exec rake mastodon:setup
``` ```
this will prompt a bunch of setting, after a while mail from localhost = no this will prompt a bunch of setting, after a while mail from localhost = no
this will prompt smtp setup this will prompt smtp setup
``` ```
compilation failed, complained about memory compilation failed, complained about memory
setup nginx files: setup nginx files:
``` ```
cp /home/mastodon/live/dist/nginx.conf /etc/nginx/sites-available/mastodon cp /home/mastodon/live/dist/nginx.conf /etc/nginx/sites-available/mastodon
ln -s /etc/nginx/sites-available/mastodon /etc/nginx/sites-enabled/mastodon ln -s /etc/nginx/sites-available/mastodon /etc/nginx/sites-enabled/mastodon
``` ```
then you have to replace example.com with a target domain in the nginx files then you have to replace example.com with a target domain in the nginx files
using vim -> `:%s/example.com/hptrow.me` using vim -> `:%s/example.com/hptrow.me`
copy sevice files: copy sevice files:
``` ```
cp /home/mastodon/live/dist/mastodon-*.service /etc/systemd/system/ cp /home/mastodon/live/dist/mastodon-*.service /etc/systemd/system/
``` ```
setup load services setup load services
``` ```
sudo systemctl daemon-reload sudo systemctl daemon-reload
sudo systemctl start mastodon-web mastodon-sidekiq mastodon-streaming sudo systemctl start mastodon-web mastodon-sidekiq mastodon-streaming
sudo systemctl enable mastodon-* sudo systemctl enable mastodon-*

View File

@ -1,36 +1,36 @@
version management version management
=================================================================================================================================== ===================================================================================================================================
## nvm ## nvm
can use nvm to manage nodejs versions. can use nvm to manage nodejs versions.
not really sure how this works, but it is per user and operates off bash scripts and variables not really sure how this works, but it is per user and operates off bash scripts and variables
going to have to pull from github. It will curl to clone the repo and then add some stuff to your bashrc to make it work. going to have to pull from github. It will curl to clone the repo and then add some stuff to your bashrc to make it work.
`exec bash` after install to refresh `exec bash` after install to refresh
nvm install --lts nvm install --lts
nvm use version nvm use version
## npm n helper ## npm n helper
npm can be used to manage node itself through n npm can be used to manage node itself through n
https://github.com/tj/n https://github.com/tj/n
sudo npm cache clean -f sudo npm cache clean -f
1. setup & *own* directyory with versions 1. setup & *own* directyory with versions
* `sudo mkdir -p /usr/local/n` * `sudo mkdir -p /usr/local/n`
* `sudo chown -R $(whoami) /usr/local/n` * `sudo chown -R $(whoami) /usr/local/n`
2. own the instalation folders 2. own the instalation folders
* `sudo chown -R $(whoami) /usr/local/bin /usr/local/lib /usr/local/include /usr/local/share` * `sudo chown -R $(whoami) /usr/local/bin /usr/local/lib /usr/local/include /usr/local/share`
3. install n: `sudo npm install -g n` 3. install n: `sudo npm install -g n`
## upgrading npm in windows ## upgrading npm in windows
`npm install -g npm-windows-upgrade` `npm install -g npm-windows-upgrade`
or just download from the wesite or just download from the wesite
## npm ## npm
to update npm do `npm install npm@latest -g` to update npm do `npm install npm@latest -g`

5
plv8.md Normal file
View File

@ -0,0 +1,5 @@
[PLV8 Documentation For Building](https://plv8.github.io/#building)
* To build plv8 you have to download a tarbal of the code and use `make`
* Beyond the listed dependencies I had to `apt-get install postgresql-server-dev` to get a `postgres.h` file that is needed

6
sc.md
View File

@ -1,4 +1,4 @@
to open a csv file in sc to open a csv file in sc
`cat file.csv | psc -k -d, | sc` `cat file.csv | psc -k -d, | sc`
sc-im supposedly does a better job with csv, but have not been able to get it to compile sc-im supposedly does a better job with csv, but have not been able to get it to compile

View File

@ -1,33 +1,33 @@
CREATE PROC RLARP.TEST AS CREATE PROC RLARP.TEST AS
BEGIN BEGIN
PRINT 'Hi'; --non-erroring statement PRINT 'Hi'; --non-erroring statement
create table #temp(x varchar(255)); --create a permanent object to call outside block after error create table #temp(x varchar(255)); --create a permanent object to call outside block after error
insert into #temp select 1/0; insert into #temp select 1/0;
insert into #temp select 'hi'; --fill it after error insert into #temp select 'hi'; --fill it after error
--select * from #temp; --select it after error --select * from #temp; --select it after error
PRINT ERROR_MESSAGE(); --error message is gone PRINT ERROR_MESSAGE(); --error message is gone
END; END;
begin transaction x begin transaction x
declare @e int; declare @e int;
DECLARE @em varchar(max); DECLARE @em varchar(max);
begin try begin try
EXEC RLARP.TEST; EXEC RLARP.TEST;
end TRY end TRY
begin CATCH begin CATCH
select @e = ERROR_NUMBER(), @em = ERROR_MESSAGE(); select @e = ERROR_NUMBER(), @em = ERROR_MESSAGE();
if @e <> 0 if @e <> 0
BEGIN BEGIN
rollback transaction x; rollback transaction x;
print @em; print @em;
END END
if @e = 0 if @e = 0
BEGIN BEGIN
commit transaction x; commit transaction x;
print 'ok'; print 'ok';
end end
end catch end catch
SELECT * FROM #temp SELECT * FROM #temp