vault backup: 2026-08-10 02:12:27
This commit is contained in:
@@ -0,0 +1,3 @@
|
|||||||
|
.stfolder
|
||||||
|
.trash
|
||||||
|
|
||||||
Vendored
+3
-1
@@ -6,5 +6,7 @@
|
|||||||
"obsidian-pandoc",
|
"obsidian-pandoc",
|
||||||
"obsidian-tasks-plugin",
|
"obsidian-tasks-plugin",
|
||||||
"automatic-table-of-contents",
|
"automatic-table-of-contents",
|
||||||
"obsidian-text-format"
|
"obsidian-text-format",
|
||||||
|
"templater-obsidian",
|
||||||
|
"dataview"
|
||||||
]
|
]
|
||||||
Vendored
+27
@@ -0,0 +1,27 @@
|
|||||||
|
{
|
||||||
|
"renderNullAs": "\\-",
|
||||||
|
"taskCompletionTracking": false,
|
||||||
|
"taskCompletionUseEmojiShorthand": false,
|
||||||
|
"taskCompletionText": "completion",
|
||||||
|
"taskCompletionDateFormat": "yyyy-MM-dd",
|
||||||
|
"recursiveSubTaskCompletion": false,
|
||||||
|
"warnOnEmptyResult": true,
|
||||||
|
"refreshEnabled": true,
|
||||||
|
"refreshInterval": 2500,
|
||||||
|
"defaultDateFormat": "MMMM dd, yyyy",
|
||||||
|
"defaultDateTimeFormat": "h:mm a - MMMM dd, yyyy",
|
||||||
|
"maxRecursiveRenderDepth": 4,
|
||||||
|
"tableIdColumnName": "File",
|
||||||
|
"tableGroupColumnName": "Group",
|
||||||
|
"showResultCount": true,
|
||||||
|
"allowHtml": true,
|
||||||
|
"inlineQueryPrefix": "=",
|
||||||
|
"inlineJsQueryPrefix": "$=",
|
||||||
|
"inlineQueriesInCodeblocks": true,
|
||||||
|
"enableInlineDataview": true,
|
||||||
|
"enableDataviewJs": true,
|
||||||
|
"enableInlineDataviewJs": false,
|
||||||
|
"prettyRenderInlineFields": true,
|
||||||
|
"prettyRenderInlineFieldsInLivePreview": true,
|
||||||
|
"dataviewJsKeyword": "dataviewjs"
|
||||||
|
}
|
||||||
Vendored
+20876
File diff suppressed because one or more lines are too long
+11
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"id": "dataview",
|
||||||
|
"name": "Dataview",
|
||||||
|
"version": "0.5.68",
|
||||||
|
"minAppVersion": "0.13.11",
|
||||||
|
"description": "Complex data views for the data-obsessed.",
|
||||||
|
"author": "Michael Brenan <blacksmithgu@gmail.com>",
|
||||||
|
"authorUrl": "https://github.com/blacksmithgu",
|
||||||
|
"helpUrl": "https://blacksmithgu.github.io/obsidian-dataview/",
|
||||||
|
"isDesktopOnly": false
|
||||||
|
}
|
||||||
+141
@@ -0,0 +1,141 @@
|
|||||||
|
.block-language-dataview {
|
||||||
|
overflow-y: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****************/
|
||||||
|
/** Table Views **/
|
||||||
|
/*****************/
|
||||||
|
|
||||||
|
/* List View Default Styling; rendered internally as a table. */
|
||||||
|
.table-view-table {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.table-view-table > thead > tr, .table-view-table > tbody > tr {
|
||||||
|
margin-top: 1em;
|
||||||
|
margin-bottom: 1em;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.table-view-table > tbody > tr:hover {
|
||||||
|
background-color: var(--table-row-background-hover);
|
||||||
|
}
|
||||||
|
|
||||||
|
.table-view-table > thead > tr > th {
|
||||||
|
font-weight: 700;
|
||||||
|
font-size: larger;
|
||||||
|
border-top: none;
|
||||||
|
border-left: none;
|
||||||
|
border-right: none;
|
||||||
|
border-bottom: solid;
|
||||||
|
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.table-view-table > tbody > tr > td {
|
||||||
|
text-align: left;
|
||||||
|
border: none;
|
||||||
|
font-weight: 400;
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.table-view-table ul, .table-view-table ol {
|
||||||
|
margin-block-start: 0.2em !important;
|
||||||
|
margin-block-end: 0.2em !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Rendered value styling for any view. */
|
||||||
|
.dataview-result-list-root-ul {
|
||||||
|
padding: 0em !important;
|
||||||
|
margin: 0em !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dataview-result-list-ul {
|
||||||
|
margin-block-start: 0.2em !important;
|
||||||
|
margin-block-end: 0.2em !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Generic grouping styling. */
|
||||||
|
.dataview.result-group {
|
||||||
|
padding-left: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*******************/
|
||||||
|
/** Inline Fields **/
|
||||||
|
/*******************/
|
||||||
|
|
||||||
|
.dataview.inline-field-key {
|
||||||
|
padding-left: 8px;
|
||||||
|
padding-right: 8px;
|
||||||
|
font-family: var(--font-monospace);
|
||||||
|
background-color: var(--background-primary-alt);
|
||||||
|
color: var(--nav-item-color-selected);
|
||||||
|
}
|
||||||
|
|
||||||
|
.dataview.inline-field-value {
|
||||||
|
padding-left: 8px;
|
||||||
|
padding-right: 8px;
|
||||||
|
font-family: var(--font-monospace);
|
||||||
|
background-color: var(--background-secondary-alt);
|
||||||
|
color: var(--nav-item-color-selected);
|
||||||
|
}
|
||||||
|
|
||||||
|
.dataview.inline-field-standalone-value {
|
||||||
|
padding-left: 8px;
|
||||||
|
padding-right: 8px;
|
||||||
|
font-family: var(--font-monospace);
|
||||||
|
background-color: var(--background-secondary-alt);
|
||||||
|
color: var(--nav-item-color-selected);
|
||||||
|
}
|
||||||
|
|
||||||
|
/***************/
|
||||||
|
/** Task View **/
|
||||||
|
/***************/
|
||||||
|
|
||||||
|
.dataview.task-list-item, .dataview.task-list-basic-item {
|
||||||
|
margin-top: 3px;
|
||||||
|
margin-bottom: 3px;
|
||||||
|
transition: 0.4s;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dataview.task-list-item:hover, .dataview.task-list-basic-item:hover {
|
||||||
|
background-color: var(--text-selection);
|
||||||
|
box-shadow: -40px 0 0 var(--text-selection);
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****************/
|
||||||
|
/** Error Views **/
|
||||||
|
/*****************/
|
||||||
|
|
||||||
|
div.dataview-error-box {
|
||||||
|
width: 100%;
|
||||||
|
min-height: 150px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
border: 4px dashed var(--background-secondary);
|
||||||
|
}
|
||||||
|
|
||||||
|
.dataview-error-message {
|
||||||
|
color: var(--text-muted);
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*************************/
|
||||||
|
/** Additional Metadata **/
|
||||||
|
/*************************/
|
||||||
|
|
||||||
|
.dataview.small-text {
|
||||||
|
font-size: smaller;
|
||||||
|
color: var(--text-muted);
|
||||||
|
margin-left: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dataview.small-text::before {
|
||||||
|
content: "(";
|
||||||
|
}
|
||||||
|
|
||||||
|
.dataview.small-text::after {
|
||||||
|
content: ")";
|
||||||
|
}
|
||||||
+1
-1
@@ -121,7 +121,7 @@
|
|||||||
"library2": {
|
"library2": {
|
||||||
"type": "excalidrawlib",
|
"type": "excalidrawlib",
|
||||||
"version": 2,
|
"version": 2,
|
||||||
"source": "https://github.com/zsviczian/obsidian-excalidraw-plugin/releases/tag/2.25.2",
|
"source": "https://github.com/zsviczian/obsidian-excalidraw-plugin/releases/tag/2.25.3",
|
||||||
"libraryItems": []
|
"libraryItems": []
|
||||||
},
|
},
|
||||||
"imageElementNotice": true,
|
"imageElementNotice": true,
|
||||||
|
|||||||
+53
File diff suppressed because one or more lines are too long
@@ -0,0 +1,17 @@
|
|||||||
|
{
|
||||||
|
"id": "templater-obsidian",
|
||||||
|
"name": "Templater",
|
||||||
|
"version": "2.20.6",
|
||||||
|
"description": "Advanced templating and automation using handlebars-like syntax.",
|
||||||
|
"minAppVersion": "1.12.2",
|
||||||
|
"author": "SilentVoid",
|
||||||
|
"authorUrl": "https://github.com/SilentVoid13",
|
||||||
|
"fundingUrl": {
|
||||||
|
"GitHub Sponser (Zachatoo, maintainer)": "https://github.com/sponsors/Zachatoo",
|
||||||
|
"Ko-fi (Zachatoo, maintainer)": "https://ko-fi.com/zachatoo",
|
||||||
|
"GitHub Sponser (SilentVoid13, creator)": "https://github.com/sponsors/SilentVoid13",
|
||||||
|
"Paypal (SilentVoid13, creator)": "https://www.paypal.com/donate?hosted_button_id=U2SRGAFYXT32Q"
|
||||||
|
},
|
||||||
|
"helpUrl": "https://silentvoid13.github.io/Templater/",
|
||||||
|
"isDesktopOnly": false
|
||||||
|
}
|
||||||
+226
@@ -0,0 +1,226 @@
|
|||||||
|
.templater_search {
|
||||||
|
width: calc(100% - 20px);
|
||||||
|
}
|
||||||
|
|
||||||
|
.templater_div {
|
||||||
|
border-top: 1px solid var(--background-modifier-border);
|
||||||
|
}
|
||||||
|
|
||||||
|
.templater_div > .setting-item {
|
||||||
|
border-top: none !important;
|
||||||
|
align-self: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.templater_div > .setting-item > .setting-item-control {
|
||||||
|
justify-content: space-around;
|
||||||
|
padding: 0;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.templater_div
|
||||||
|
> .setting-item
|
||||||
|
> .setting-item-control
|
||||||
|
> .setting-editor-extra-setting-button {
|
||||||
|
align-self: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.templater_donating {
|
||||||
|
margin: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.templater_title {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
margin-top: 5px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.templater_template {
|
||||||
|
align-self: center;
|
||||||
|
margin-left: 5px;
|
||||||
|
margin-right: 5px;
|
||||||
|
width: 70%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.templater_cmd {
|
||||||
|
margin-left: 5px;
|
||||||
|
margin-right: 5px;
|
||||||
|
font-size: 14px;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.templater_div2 > .setting-item {
|
||||||
|
align-content: center;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.templater-prompt-div,
|
||||||
|
.templater-multisuggester-div {
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.templater-prompt-form {
|
||||||
|
display: flex;
|
||||||
|
flex-grow: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.templater-prompt-input,
|
||||||
|
.templater-multisuggester-input {
|
||||||
|
flex-grow: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.templater-button-div {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
margin-top: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
textarea.templater-prompt-input {
|
||||||
|
height: 10rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
textarea.templater-prompt-input:focus {
|
||||||
|
border-color: var(--interactive-accent);
|
||||||
|
}
|
||||||
|
|
||||||
|
.templater-multisuggester-list {
|
||||||
|
margin: 1.5em 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cm-s-obsidian .templater-command-bg {
|
||||||
|
left: 0px;
|
||||||
|
right: 0px;
|
||||||
|
background-color: var(--background-primary-alt);
|
||||||
|
}
|
||||||
|
|
||||||
|
.cm-s-obsidian .cm-templater-command {
|
||||||
|
font-size: 0.85em;
|
||||||
|
font-family: var(--font-monospace);
|
||||||
|
line-height: 1.3;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cm-s-obsidian .templater-inline .cm-templater-command {
|
||||||
|
background-color: var(--background-primary-alt);
|
||||||
|
}
|
||||||
|
|
||||||
|
.cm-s-obsidian .cm-templater-command.cm-templater-opening-tag {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cm-s-obsidian .cm-templater-command.cm-templater-closing-tag {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cm-s-obsidian .cm-templater-command.cm-templater-interpolation-tag {
|
||||||
|
color: var(--code-property, #008bff);
|
||||||
|
}
|
||||||
|
|
||||||
|
.cm-s-obsidian .cm-templater-command.cm-templater-execution-tag {
|
||||||
|
color: var(--code-function, #c0d700);
|
||||||
|
}
|
||||||
|
|
||||||
|
.cm-s-obsidian .cm-templater-command.cm-keyword {
|
||||||
|
color: var(--code-keyword, #00a7aa);
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cm-s-obsidian .cm-templater-command.cm-atom {
|
||||||
|
color: var(--code-normal, #f39b35);
|
||||||
|
}
|
||||||
|
|
||||||
|
.cm-s-obsidian .cm-templater-command.cm-value,
|
||||||
|
.cm-s-obsidian .cm-templater-command.cm-number,
|
||||||
|
.cm-s-obsidian .cm-templater-command.cm-type {
|
||||||
|
color: var(--code-value, #a06fca);
|
||||||
|
}
|
||||||
|
|
||||||
|
.cm-s-obsidian .cm-templater-command.cm-def,
|
||||||
|
.cm-s-obsidian .cm-templater-command.cm-type.cm-def {
|
||||||
|
color: var(--code-normal, var(--text-normal));
|
||||||
|
}
|
||||||
|
|
||||||
|
.cm-s-obsidian .cm-templater-command.cm-property,
|
||||||
|
.cm-s-obsidian .cm-templater-command.cm-property.cm-def,
|
||||||
|
.cm-s-obsidian .cm-templater-command.cm-attribute {
|
||||||
|
color: var(--code-function, #98e342);
|
||||||
|
}
|
||||||
|
|
||||||
|
.cm-s-obsidian .cm-templater-command.cm-variable,
|
||||||
|
.cm-s-obsidian .cm-templater-command.cm-variable-2,
|
||||||
|
.cm-s-obsidian .cm-templater-command.cm-variable-3,
|
||||||
|
.cm-s-obsidian .cm-templater-command.cm-meta {
|
||||||
|
color: var(--code-property, #d4d4d4);
|
||||||
|
}
|
||||||
|
|
||||||
|
.cm-s-obsidian .cm-templater-command.cm-callee,
|
||||||
|
.cm-s-obsidian .cm-templater-command.cm-operator,
|
||||||
|
.cm-s-obsidian .cm-templater-command.cm-qualifier,
|
||||||
|
.cm-s-obsidian .cm-templater-command.cm-builtin {
|
||||||
|
color: var(--code-operator, #fc4384);
|
||||||
|
}
|
||||||
|
|
||||||
|
.cm-s-obsidian .cm-templater-command.cm-tag {
|
||||||
|
color: var(--code-tag, #fc4384);
|
||||||
|
}
|
||||||
|
|
||||||
|
.cm-s-obsidian .cm-templater-command.cm-comment,
|
||||||
|
.cm-s-obsidian .cm-templater-command.cm-comment.cm-tag,
|
||||||
|
.cm-s-obsidian .cm-templater-command.cm-comment.cm-attribute {
|
||||||
|
color: var(--code-comment, #696d70);
|
||||||
|
}
|
||||||
|
|
||||||
|
.cm-s-obsidian .cm-templater-command.cm-string,
|
||||||
|
.cm-s-obsidian .cm-templater-command.cm-string-2 {
|
||||||
|
color: var(--code-string, #e6db74);
|
||||||
|
}
|
||||||
|
|
||||||
|
.cm-s-obsidian .cm-templater-command.cm-header,
|
||||||
|
.cm-s-obsidian .cm-templater-command.cm-hr {
|
||||||
|
color: var(--code-keyword, #da7dae);
|
||||||
|
}
|
||||||
|
|
||||||
|
.cm-s-obsidian .cm-templater-command.cm-link {
|
||||||
|
color: var(--code-normal, #696d70);
|
||||||
|
}
|
||||||
|
|
||||||
|
.cm-s-obsidian .cm-templater-command.cm-error {
|
||||||
|
border-bottom: 1px solid #c42412;
|
||||||
|
}
|
||||||
|
|
||||||
|
.CodeMirror-hints {
|
||||||
|
position: absolute;
|
||||||
|
z-index: 10;
|
||||||
|
overflow: hidden;
|
||||||
|
list-style: none;
|
||||||
|
|
||||||
|
margin: 0;
|
||||||
|
padding: 2px;
|
||||||
|
|
||||||
|
-webkit-box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.2);
|
||||||
|
-moz-box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.2);
|
||||||
|
box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.2);
|
||||||
|
border-radius: 3px;
|
||||||
|
border: 1px solid silver;
|
||||||
|
|
||||||
|
background: white;
|
||||||
|
font-size: 90%;
|
||||||
|
font-family: monospace;
|
||||||
|
|
||||||
|
max-height: 20em;
|
||||||
|
overflow-y: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.CodeMirror-hint {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0 4px;
|
||||||
|
border-radius: 2px;
|
||||||
|
white-space: pre;
|
||||||
|
color: black;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
li.CodeMirror-hint-active {
|
||||||
|
background: #0088ff;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
Vendored
+4
-1
@@ -37,7 +37,9 @@
|
|||||||
"type": "file-explorer",
|
"type": "file-explorer",
|
||||||
"state": {
|
"state": {
|
||||||
"sortOrder": "alphabetical",
|
"sortOrder": "alphabetical",
|
||||||
"autoReveal": false
|
"autoReveal": false,
|
||||||
|
"showSearch": false,
|
||||||
|
"searchQuery": ""
|
||||||
},
|
},
|
||||||
"icon": "lucide-folder-closed",
|
"icon": "lucide-folder-closed",
|
||||||
"title": "Files"
|
"title": "Files"
|
||||||
@@ -177,6 +179,7 @@
|
|||||||
},
|
},
|
||||||
"left-ribbon": {
|
"left-ribbon": {
|
||||||
"hiddenItems": {
|
"hiddenItems": {
|
||||||
|
"templater-obsidian:Templater": false,
|
||||||
"obsidian-git:Open Git source control": false,
|
"obsidian-git:Open Git source control": false,
|
||||||
"translate:Open translation view": false,
|
"translate:Open translation view": false,
|
||||||
"obsidian-excalidraw-plugin:New drawing": false,
|
"obsidian-excalidraw-plugin:New drawing": false,
|
||||||
|
|||||||
Vendored
+24
-16
@@ -4,18 +4,18 @@
|
|||||||
"type": "split",
|
"type": "split",
|
||||||
"children": [
|
"children": [
|
||||||
{
|
{
|
||||||
"id": "31a06db1561705d3",
|
"id": "23eca6143055cd35",
|
||||||
"type": "tabs",
|
"type": "tabs",
|
||||||
"children": [
|
"children": [
|
||||||
{
|
{
|
||||||
"id": "1fb08cacc95faa0c",
|
"id": "8d296aee3eca9a6d",
|
||||||
"type": "leaf",
|
"type": "leaf",
|
||||||
"state": {
|
"state": {
|
||||||
"type": "markdown",
|
"type": "markdown",
|
||||||
"state": {
|
"state": {
|
||||||
"file": "Semester 2/EIST/EIST CHEATSHEET.md",
|
"file": "Semester 2/EIST/EIST CHEATSHEET.md",
|
||||||
"mode": "source",
|
"mode": "source",
|
||||||
"source": true
|
"source": false
|
||||||
},
|
},
|
||||||
"icon": "lucide-file",
|
"icon": "lucide-file",
|
||||||
"title": "EIST CHEATSHEET"
|
"title": "EIST CHEATSHEET"
|
||||||
@@ -53,7 +53,7 @@
|
|||||||
"state": {
|
"state": {
|
||||||
"type": "search",
|
"type": "search",
|
||||||
"state": {
|
"state": {
|
||||||
"query": " ",
|
"query": "",
|
||||||
"matchingCase": false,
|
"matchingCase": false,
|
||||||
"explainSearch": false,
|
"explainSearch": false,
|
||||||
"collapseAll": false,
|
"collapseAll": false,
|
||||||
@@ -203,28 +203,37 @@
|
|||||||
"daily-notes:Open today's daily note": false,
|
"daily-notes:Open today's daily note": false,
|
||||||
"templates:Insert template": false,
|
"templates:Insert template": false,
|
||||||
"command-palette:Open command palette": false,
|
"command-palette:Open command palette": false,
|
||||||
"bases:Create new base": false
|
"bases:Create new base": false,
|
||||||
|
"templater-obsidian:Templater": false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"active": "1221778bf93051e6",
|
"active": "1221778bf93051e6",
|
||||||
"lastOpenFiles": [
|
"lastOpenFiles": [
|
||||||
|
"Excalidraw/Drawing 2026-08-10 00.07.58.excalidraw.md",
|
||||||
|
"Semester 2/GAD/Progress.md",
|
||||||
|
"Excalidraw",
|
||||||
|
"Semester 2/Linear Algebra/Progress.md",
|
||||||
|
"Templates/Progress template.md",
|
||||||
|
"Templates/Progress template with date.md",
|
||||||
|
"Semester 2/FPV/Progress.md",
|
||||||
"Untitled.md",
|
"Untitled.md",
|
||||||
|
"2026-07-10.md",
|
||||||
|
"Semester 2/GAD",
|
||||||
|
"Semester 2/Untitled.md",
|
||||||
"Semester 2/EIST/EIST CHEATSHEET.md",
|
"Semester 2/EIST/EIST CHEATSHEET.md",
|
||||||
|
"Semester 2/FPV",
|
||||||
|
"Templates",
|
||||||
|
"Semester 2/EIST/Progress.md",
|
||||||
|
"Semester 2/Linear Algebra",
|
||||||
|
"Semester 2/Linear Algebra.md",
|
||||||
|
"Semester 2/EIST CHEATSHEET.pdf",
|
||||||
|
"Semester 2/EIST/test.pdf",
|
||||||
"Attachments/Pasted image 20260719010551.png",
|
"Attachments/Pasted image 20260719010551.png",
|
||||||
"Semester 2/EIST/EIST CHEATSHEET.pdf",
|
"Semester 2/EIST/EIST CHEATSHEET.pdf",
|
||||||
"Semester 2/EIST CHEATSHEET.pdf",
|
|
||||||
"Semester 2/EIST/Progress.md",
|
|
||||||
"2026-07-10.md",
|
|
||||||
"Semester 2/EIST/lu280859klubr.tmp",
|
"Semester 2/EIST/lu280859klubr.tmp",
|
||||||
"Semester 2/EIST/lu280859klubn.tmp",
|
"Semester 2/EIST/lu280859klubn.tmp",
|
||||||
"Semester 2/EIST/EIST CHEATSHEET.odg",
|
|
||||||
"Semester 2/EIST/lu280859klubk.tmp",
|
|
||||||
"Semester 2/EIST/test.html",
|
|
||||||
"Semester 2/EIST/test.pdf",
|
|
||||||
"Semester 2/EIST/EIST CHEATSHEET.docx",
|
|
||||||
"Excalidraw/Drawing 2026-07-09 18.02.17.excalidraw.md",
|
"Excalidraw/Drawing 2026-07-09 18.02.17.excalidraw.md",
|
||||||
"Excalidraw/Drawing 2026-07-09 18.02.06.excalidraw.md",
|
"Excalidraw/Drawing 2026-07-09 18.02.06.excalidraw.md",
|
||||||
"Excalidraw",
|
|
||||||
"home/nikola/Documents/EIST/eist26l09p01-go38coz.md",
|
"home/nikola/Documents/EIST/eist26l09p01-go38coz.md",
|
||||||
"file/home/nikola/Documents/EIST/eist26l09p01-go38coz 3.md",
|
"file/home/nikola/Documents/EIST/eist26l09p01-go38coz 3.md",
|
||||||
"file/home/nikola/Documents/EIST/eist26l09p01-go38coz 2.md",
|
"file/home/nikola/Documents/EIST/eist26l09p01-go38coz 2.md",
|
||||||
@@ -233,7 +242,6 @@
|
|||||||
"2026-07-09.md",
|
"2026-07-09.md",
|
||||||
"Semester 1/ERA/Vorlesung 24 - K-Maps.md",
|
"Semester 1/ERA/Vorlesung 24 - K-Maps.md",
|
||||||
"Semester 1/ERA/Progress.md",
|
"Semester 1/ERA/Progress.md",
|
||||||
"Semester 1/DS/Progress.md",
|
"Semester 1/DS/Progress.md"
|
||||||
"Semester 2/Untitled.md"
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
excalidraw-plugin: parsed
|
||||||
|
tags: [excalidraw]
|
||||||
|
|
||||||
|
---
|
||||||
|
==⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠== You can decompress Drawing data with the command palette: 'Decompress current Excalidraw file'. For more info check in plugin settings under 'Saving'
|
||||||
|
|
||||||
|
|
||||||
|
## Drawing
|
||||||
|
```compressed-json
|
||||||
|
N4IgLgngDgpiBcIYA8DGBDANgSwCYCd0B3EAGhADcZ8BnbAewDsEAmcm+gV31TkQAswYKDXgB6MQHNsYfpwBGAOlT0AtmIBeNCtlQbs6RmPry6uA4wC0KDDgLFLUTJ2lH8MTDHQ0YNMWHRJMRZFFgBWRQBmMiRPVRhGMBoEAG0AXXJ0KCgAZQCwPlBJfDwc7A0+Rk5MTHIdGCIAIXRUAGtirkZcAGF6THp8BBAAYgAzcYmQAF8poA===
|
||||||
|
```
|
||||||
|
%%
|
||||||
Binary file not shown.
@@ -13,7 +13,7 @@ debugInConsole: false # Print debug info in Obsidian console
|
|||||||
|
|
||||||
<div class="page-break"></div>
|
<div class="page-break"></div>
|
||||||
|
|
||||||
# REST API General Tips
|
# REST API General Tips
|
||||||
|
|
||||||
## HTTP Status Messages
|
## HTTP Status Messages
|
||||||
HTTP response status codes indicate whether a specific HTTP request has been successfully completed. Responses are grouped in five classes:
|
HTTP response status codes indicate whether a specific HTTP request has been successfully completed. Responses are grouped in five classes:
|
||||||
@@ -26,15 +26,15 @@ HTTP response status codes indicate whether a specific HTTP request has been suc
|
|||||||
|
|
||||||
Often used codes in excercises are:
|
Often used codes in excercises are:
|
||||||
|
|
||||||
| Code | Name | Purpose | |
|
| Code | Name | Purpose |
|
||||||
| ------- | ---------------- | --------------------------------------------------------------------------------------------------------------------- | --- |
|
| ------- | ---------------- | --------------------------------------------------------------------------------------------------------------------- |
|
||||||
| **2xx** | **Successful** | | |
|
| **2xx** | **Successful** | |
|
||||||
| 200 | OK | The request is OK (this is the standard response for successful HTTP requests) | |
|
| 200 | OK | The request is OK (this is the standard response for successful HTTP requests) |
|
||||||
| 201 | Created | The request has been fulfilled, and a new resource is created | |
|
| 201 | Created | The request has been fulfilled, and a new resource is created |
|
||||||
| 204 | No Content | The request has been successfully processed, but is not returning any content (may be returned for successful delete) | |
|
| 204 | No Content | The request has been successfully processed, but is not returning any content (may be returned for successful delete) |
|
||||||
| **4xx** | **Client Error** | | |
|
| **4xx** | **Client Error** | |
|
||||||
| 400 | Bad Request | The request cannot be fulfilled due to bad syntax or content | |
|
| 400 | Bad Request | The request cannot be fulfilled due to bad syntax or content |
|
||||||
| 404 | Not Found | The requested page/resource could not be found | |
|
| 404 | Not Found | The requested page/resource could not be found |
|
||||||
|
|
||||||
If you don't know an HTTP Code you can use `HttpStatus.<Message Name>.value()` class in Java
|
If you don't know an HTTP Code you can use `HttpStatus.<Message Name>.value()` class in Java
|
||||||
For example: `HttpStatus.OK.value()` returns `200`
|
For example: `HttpStatus.OK.value()` returns `200`
|
||||||
@@ -1247,7 +1247,7 @@ struct Shower {
|
|||||||
Before they can be used they also need to be initialized
|
Before they can be used they also need to be initialized
|
||||||
```C
|
```C
|
||||||
struct Shower s;;
|
struct Shower s;;
|
||||||
pthread_mutex_init(&s.showerLock,NULL); // The se
|
pthread_mutex_init(&s.showerLock,NULL);
|
||||||
```
|
```
|
||||||
The second parameter is a mutex attribute which determines what kind of mutex it is. The kind of a mutex determines whether it can be locked again by a thread that already owns it.
|
The second parameter is a mutex attribute which determines what kind of mutex it is. The kind of a mutex determines whether it can be locked again by a thread that already owns it.
|
||||||
**For our purposes not specifying is okay and you can pass NULL.**
|
**For our purposes not specifying is okay and you can pass NULL.**
|
||||||
@@ -1624,7 +1624,7 @@ Some of the most common instructions in a `Dockerfile` include:
|
|||||||
### Building docker
|
### Building docker
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker build -t <tag>
|
docker build -t <tag> .
|
||||||
```
|
```
|
||||||
|
|
||||||
### Docker processes
|
### Docker processes
|
||||||
@@ -2118,6 +2118,11 @@ sudo alternatives --config java
|
|||||||
sudo alternatives --config javac
|
sudo alternatives --config javac
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## To cancel an automatic shutdown
|
||||||
|
```bash
|
||||||
|
sudo shutdown -c
|
||||||
|
```
|
||||||
|
|
||||||
<div class="page-break"></div>
|
<div class="page-break"></div>
|
||||||
|
|
||||||
# ALL RESOURCE LINKS:
|
# ALL RESOURCE LINKS:
|
||||||
@@ -2142,3 +2147,49 @@ sudo alternatives --config javac
|
|||||||
- **EasyMock:** https://easymock.org/user-guide.html
|
- **EasyMock:** https://easymock.org/user-guide.html
|
||||||
- **man pages (command line, not online)**
|
- **man pages (command line, not online)**
|
||||||
|
|
||||||
|
# Excersises:
|
||||||
|
- **L09P02** Garching Best Software
|
||||||
|
- **L10PE01** Tutor Meeting Management
|
||||||
|
- **L09P01** Registry Office Service Deployment
|
||||||
|
- **L09PE01** TUMPixel
|
||||||
|
- **L09PE02** Wizardry Character Creation
|
||||||
|
- **L09PE03** Your First Kubernetes Deployment
|
||||||
|
- **L08P01** Oops Another Git Merge Conflict
|
||||||
|
- **L08P02** Multilingual Codebase using Bazel
|
||||||
|
- **L08PE01** Continuous Integration
|
||||||
|
- **L08PE02** Merge the Right Merge
|
||||||
|
- **L08PE03** Defend FoodPalace
|
||||||
|
- **L08PE04** Spaceship
|
||||||
|
- **L07P01** Spot the Bugs
|
||||||
|
- **L07P02** Dynamic Code analysis for Priority Scheduling
|
||||||
|
- **L07PE01** The Recovery of Aniruddhs Restaurant Part 2
|
||||||
|
- **L07PE02** Playlist Manager -- Memory Debugging with MemorySanitizer
|
||||||
|
- **L07PE03** Gym Threading
|
||||||
|
- **L06P01** University App Unit Testing Part 2
|
||||||
|
- **L06P02** Discussion Forum Mock Testing
|
||||||
|
- **L06PE01** The Iron Bank of Braavos
|
||||||
|
- **L06PE02** Student Absences System Testing
|
||||||
|
- **L06PE03** Tutorial Service
|
||||||
|
- **L05P01** Database Sharding and Recovery
|
||||||
|
- **L05P02** Searching in e-BOOKist
|
||||||
|
- **L05P03** Old Beer Factory Digitalization
|
||||||
|
- **L05PE01** Capability-based File Sharing
|
||||||
|
- **L05PE02** Thermometer Adapter
|
||||||
|
- **L05PE03** Observer Pattern
|
||||||
|
- **L04P01** Swimming Pool Facility Management
|
||||||
|
- **L04P02** Book Management System
|
||||||
|
- **L04PE01** Caching and its policies
|
||||||
|
- **L04PE02** Scalable Kitchen Simulation
|
||||||
|
- **L04PE03** Voices in the Void
|
||||||
|
- **L04PE04** The Shaft
|
||||||
|
- **L04PE05** German Meteorological Service
|
||||||
|
- **L03P01** Event Registration Application part 2
|
||||||
|
- **L03P02** Monkey Business
|
||||||
|
- **L03PE01** Online FileFolder
|
||||||
|
- **L03PE02** Shopingu
|
||||||
|
- **L03PE03** Gobblemaps
|
||||||
|
- **L03PE04** Harry Plotter and the Deathly Derivative
|
||||||
|
- **L02P01** Spotify gRPC
|
||||||
|
- **L02P02** TUM Social App
|
||||||
|
- **L02PE01** TUM Social App
|
||||||
|
- **L02PE02** REST Architectural Style Part 2
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
- [x] Week 1 ✅ 2026-07-22
|
||||||
|
- [x] Week 2 ✅ 2026-07-22
|
||||||
|
- [x] Week 3 ✅ 2026-07-22
|
||||||
|
- [x] Week 4 ✅ 2026-07-22
|
||||||
|
- [x] Week 5 ✅ 2026-07-22
|
||||||
|
- [x] Week 6 ✅ 2026-07-22
|
||||||
|
- [x] Week 7 ✅ 2026-07-23
|
||||||
|
- [x] Week 8 ✅ 2026-07-29
|
||||||
|
- [x] Week 9 ✅ 2026-07-29
|
||||||
|
- [x] Week 10 ✅ 2026-07-29
|
||||||
|
- [x] Week 11 ✅ 2026-07-29
|
||||||
|
- [x] Week 12 ✅ 2026-07-29
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
|
||||||
|
|
||||||
|
```dataviewjs
|
||||||
|
const tasks = dv.current().file.tasks;
|
||||||
|
const filtered = tasks.where(t => t.text.includes("#ubung"));
|
||||||
|
|
||||||
|
const total = filtered.length;
|
||||||
|
const completed = filtered.where(t => t.completed).length;
|
||||||
|
const remaining = total - completed;
|
||||||
|
|
||||||
|
const due = new Date("2026-08-02");
|
||||||
|
const today = new Date();
|
||||||
|
today.setHours(0,0,0,0);
|
||||||
|
due.setHours(0,0,0,0);
|
||||||
|
const days = Math.max(1, Math.ceil((due - today) / (1000 * 60 * 60 * 24)) + 1);
|
||||||
|
|
||||||
|
dv.paragraph(`Tasks: ${total}`);
|
||||||
|
dv.paragraph(`Completed: ${completed}`);
|
||||||
|
dv.paragraph(`Remaining: ${remaining}`);
|
||||||
|
dv.paragraph(`Days left: ${days}`);
|
||||||
|
dv.paragraph(`Tasks per day: ${Math.ceil(remaining / days)}`);
|
||||||
|
```
|
||||||
|
|
||||||
|
- [x] Ubung 1 #ubung
|
||||||
|
- [x] Ubung 2 #ubung
|
||||||
|
- [x] Ubung 3 #ubung
|
||||||
|
- [x] Ubung 4 #ubung
|
||||||
|
- [x] Ubung 5 #ubung 📅 2026-07-30 ✅ 2026-07-30
|
||||||
|
- [x] Ubung 6 #ubung 📅 2026-07-30 ✅ 2026-07-30
|
||||||
|
- [x] Ubung 7 #ubung 📅 2026-07-30 ✅ 2026-07-31
|
||||||
|
- [x] Ubung 8 #ubung 📅 2026-07-31 ✅ 2026-07-31
|
||||||
|
- [x] Ubung 9 #ubung 📅 2026-07-31 ✅ 2026-07-31
|
||||||
|
- [x] Ubung 10 #ubung 📅 2026-07-31 ✅ 2026-08-01
|
||||||
|
- [x] Ubung 11 #ubung 📅 2026-08-01 ✅ 2026-08-01
|
||||||
|
- [x] Ubung 12 #ubung 📅 2026-08-01 ✅ 2026-08-01
|
||||||
|
- [x] Ubung 13 #ubung 📅 2026-08-02 ✅ 2026-08-01
|
||||||
|
- [ ] Ubung 14 📅 2026-08-02 #ubung
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
# Vorlesung
|
||||||
|
- [x] Vorlesung 1 ✅ 2026-07-22
|
||||||
|
- [x] Vorlesung 2 ✅ 2026-07-22
|
||||||
|
- [x] Vorlesung 3 ✅ 2026-07-22
|
||||||
|
- [x] Vorlesung 4 ✅ 2026-07-29
|
||||||
|
- [x] Vorlesung 5
|
||||||
|
- [ ] Vorlesung 6
|
||||||
|
- [ ] Vorlesung 7
|
||||||
|
- [ ] Vorlesung 8
|
||||||
|
- [ ] Vorlesung 9
|
||||||
|
- [ ] Vorlesung 10
|
||||||
|
- [ ] Vorlesung 11
|
||||||
|
- [ ] Vorlesung 12
|
||||||
|
- [ ] Vorlesung 13
|
||||||
|
- [ ] Vorlesung 14
|
||||||
|
- [ ] Vorlesung 15
|
||||||
|
- [ ] Vorlesung 16
|
||||||
|
- [ ] Vorlesung 17
|
||||||
|
- [ ] Vorlesung 18
|
||||||
|
- [ ] Vorlesung 19
|
||||||
|
- [ ] Vorlesung 20
|
||||||
|
- [ ] Vorlesung 21
|
||||||
|
- [ ] Vorlesung 22
|
||||||
|
- [ ] Vorlesung 23
|
||||||
|
- [ ] Vorlesung 24
|
||||||
|
- [ ] Vorlesung 25
|
||||||
|
- [ ] Vorlesung 26
|
||||||
|
# Übungen
|
||||||
|
- [x] Übung 1 ✅ 2026-07-22
|
||||||
|
- [x] Übung 2 ✅ 2026-07-22
|
||||||
|
- [ ] Übung 3
|
||||||
|
- [ ] Übung 4
|
||||||
|
- [ ] Übung 5
|
||||||
|
- [ ] Übung 6
|
||||||
|
- [ ] Übung 7
|
||||||
|
- [ ] Übung 8
|
||||||
|
- [ ] Übung 9
|
||||||
|
- [ ] Übung 10
|
||||||
|
- [ ] Übung 11
|
||||||
|
- [ ] Übung 12
|
||||||
|
- [ ] Übung 13
|
||||||
@@ -0,0 +1,77 @@
|
|||||||
|
<%*
|
||||||
|
const title = await tp.system.prompt("What is the list for?");
|
||||||
|
const taskCount = Number(await tp.system.prompt("How many tasks total?"));
|
||||||
|
const completedCount = Number(await tp.system.prompt("How many already completed?"));
|
||||||
|
const dueDateStr = await tp.system.prompt("Due date (YYYY-MM-DD)");
|
||||||
|
|
||||||
|
const tag = title.toLowerCase().replace(/\s+/g, "-");
|
||||||
|
|
||||||
|
function formatDate(date) {
|
||||||
|
return date.getFullYear() + "-" +
|
||||||
|
String(date.getMonth() + 1).padStart(2, "0") + "-" +
|
||||||
|
String(date.getDate()).padStart(2, "0");
|
||||||
|
}
|
||||||
|
|
||||||
|
tR += `# ${title}\n\n`;
|
||||||
|
|
||||||
|
// Dynamic dashboard
|
||||||
|
tR += "```dataviewjs\n";
|
||||||
|
tR += "const tasks = dv.current().file.tasks;\n";
|
||||||
|
tR += `const filtered = tasks.where(t => t.text.includes("#${tag}"));\n\n`;
|
||||||
|
tR += "const total = filtered.length;\n";
|
||||||
|
tR += "const completed = filtered.where(t => t.completed).length;\n";
|
||||||
|
tR += "const remaining = total - completed;\n\n";
|
||||||
|
tR += `const due = new Date("${dueDateStr}");\n`;
|
||||||
|
tR += "const today = new Date();\n";
|
||||||
|
tR += "today.setHours(0,0,0,0);\n";
|
||||||
|
tR += "due.setHours(0,0,0,0);\n";
|
||||||
|
tR += "const days = Math.max(1, Math.ceil((due - today) / (1000 * 60 * 60 * 24)) + 1);\n\n";
|
||||||
|
|
||||||
|
tR += "dv.paragraph(`Tasks: ${total}`);\n";
|
||||||
|
tR += "dv.paragraph(`Completed: ${completed}`);\n";
|
||||||
|
tR += "dv.paragraph(`Remaining: ${remaining}`);\n";
|
||||||
|
tR += "dv.paragraph(`Days left: ${days}`);\n";
|
||||||
|
tR += "dv.paragraph(`Tasks per day: ${Math.ceil(remaining / days)}`);\n";
|
||||||
|
tR += "```\n\n";
|
||||||
|
|
||||||
|
|
||||||
|
const today = new Date();
|
||||||
|
today.setHours(0, 0, 0, 0);
|
||||||
|
|
||||||
|
const dueDate = new Date(dueDateStr);
|
||||||
|
dueDate.setHours(0, 0, 0, 0);
|
||||||
|
|
||||||
|
const daysLeft = Math.max(
|
||||||
|
1,
|
||||||
|
Math.ceil((dueDate - today) / (1000 * 60 * 60 * 24)) + 1
|
||||||
|
);
|
||||||
|
|
||||||
|
const remainingTasks = taskCount - completedCount;
|
||||||
|
|
||||||
|
const base = Math.floor(remainingTasks / daysLeft);
|
||||||
|
const remainder = remainingTasks % daysLeft;
|
||||||
|
|
||||||
|
|
||||||
|
// Completed tasks first
|
||||||
|
for (let i = 1; i <= completedCount; i++) {
|
||||||
|
tR += `- [x] ${title} ${i} #${tag}\n`;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Remaining tasks distributed across days
|
||||||
|
let task = completedCount + 1;
|
||||||
|
|
||||||
|
for (let day = 0; day < daysLeft; day++) {
|
||||||
|
const tasksToday = base + (day < remainder ? 1 : 0);
|
||||||
|
|
||||||
|
const date = new Date(today);
|
||||||
|
date.setDate(today.getDate() + day);
|
||||||
|
|
||||||
|
const dateStr = formatDate(date);
|
||||||
|
|
||||||
|
for (let i = 0; i < tasksToday; i++) {
|
||||||
|
tR += `- [ ] ${title} ${task} 📅 ${dateStr} #${tag}\n`;
|
||||||
|
task++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
%>
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
<%*
|
||||||
|
const title = await tp.system.prompt("What is the list for?")
|
||||||
|
const count = await tp.system.prompt("How many?");
|
||||||
|
for (let i = 1; i <= count; i++) {
|
||||||
|
tR += `- [ ] ${title} ${i}\n`;
|
||||||
|
}
|
||||||
|
%>
|
||||||
+26
@@ -0,0 +1,26 @@
|
|||||||
|
# Ubung
|
||||||
|
|
||||||
|
|
||||||
|
```dataview
|
||||||
|
TABLE WITHOUT ID
|
||||||
|
length(rows) AS "Tasks"
|
||||||
|
FROM ""
|
||||||
|
FLATTEN file.tasks AS task
|
||||||
|
WHERE contains(task.text, "Functional Programming")
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
- [ ] Ubung 1 📅 2026-07-30
|
||||||
|
- [ ] Ubung 2 📅 2026-07-30
|
||||||
|
- [ ] Ubung 3 📅 2026-07-30
|
||||||
|
- [ ] Ubung 4 📅 2026-07-30
|
||||||
|
- [ ] Ubung 5 📅 2026-07-31
|
||||||
|
- [ ] Ubung 6 📅 2026-07-31
|
||||||
|
- [ ] Ubung 7 📅 2026-07-31
|
||||||
|
- [ ] Ubung 8 📅 2026-07-31
|
||||||
|
- [ ] Ubung 9 📅 2026-08-01
|
||||||
|
- [ ] Ubung 10 📅 2026-08-01
|
||||||
|
- [ ] Ubung 11 📅 2026-08-01
|
||||||
|
- [ ] Ubung 12 📅 2026-08-02
|
||||||
|
- [ ] Ubung 13 📅 2026-08-02
|
||||||
|
- [ ] Ubung 14 📅 2026-08-02
|
||||||
|
|||||||
Reference in New Issue
Block a user