vault backup: 2024-10-16 09:12:37
This commit is contained in:
16
.obsidian/app.json
vendored
Normal file
16
.obsidian/app.json
vendored
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"showInlineTitle": true,
|
||||||
|
"useMarkdownLinks": true,
|
||||||
|
"promptDelete": true,
|
||||||
|
"showLineNumber": true,
|
||||||
|
"attachmentFolderPath": "images",
|
||||||
|
"pdfExportSettings": {
|
||||||
|
"pageSize": "A4",
|
||||||
|
"landscape": false,
|
||||||
|
"margin": "0",
|
||||||
|
"downscalePercent": 64
|
||||||
|
},
|
||||||
|
"readableLineLength": false,
|
||||||
|
"alwaysUpdateLinks": true,
|
||||||
|
"newFileLocation": "current"
|
||||||
|
}
|
7
.obsidian/appearance.json
vendored
Normal file
7
.obsidian/appearance.json
vendored
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"accentColor": "#4f78d8",
|
||||||
|
"theme": "obsidian",
|
||||||
|
"cssTheme": "Things",
|
||||||
|
"nativeMenus": true,
|
||||||
|
"baseFontSize": 16
|
||||||
|
}
|
18
.obsidian/bookmarks.json
vendored
Normal file
18
.obsidian/bookmarks.json
vendored
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"type": "file",
|
||||||
|
"ctime": 1695299728113,
|
||||||
|
"path": "Semester 1/Web Development and HCI/Week 1/Week 1 Web Development.md",
|
||||||
|
"subpath": "#^401105",
|
||||||
|
"title": "WebDev Assessment Deadline"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "file",
|
||||||
|
"ctime": 1695715480041,
|
||||||
|
"path": "Semester 1/Professional Development & Practices/Week 1/Week 1 Professional Development.md",
|
||||||
|
"subpath": "#^af5cab",
|
||||||
|
"title": "PDP Weighting"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
11
.obsidian/community-plugins.json
vendored
Normal file
11
.obsidian/community-plugins.json
vendored
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
[
|
||||||
|
"obsidian-git",
|
||||||
|
"obsidian-excel-to-markdown-table",
|
||||||
|
"obsidian-linter",
|
||||||
|
"omnisearch",
|
||||||
|
"obsidian-full-calendar",
|
||||||
|
"obsidian-style-settings",
|
||||||
|
"url-into-selection",
|
||||||
|
"obsidian-csv-table",
|
||||||
|
"mermaid-tools"
|
||||||
|
]
|
30
.obsidian/core-plugins-migration.json
vendored
Normal file
30
.obsidian/core-plugins-migration.json
vendored
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
{
|
||||||
|
"file-explorer": true,
|
||||||
|
"global-search": true,
|
||||||
|
"switcher": true,
|
||||||
|
"graph": true,
|
||||||
|
"backlink": true,
|
||||||
|
"canvas": false,
|
||||||
|
"outgoing-link": true,
|
||||||
|
"tag-pane": true,
|
||||||
|
"properties": true,
|
||||||
|
"page-preview": true,
|
||||||
|
"daily-notes": false,
|
||||||
|
"templates": false,
|
||||||
|
"note-composer": true,
|
||||||
|
"command-palette": true,
|
||||||
|
"slash-command": false,
|
||||||
|
"editor-status": true,
|
||||||
|
"bookmarks": 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
|
||||||
|
}
|
18
.obsidian/core-plugins.json
vendored
Normal file
18
.obsidian/core-plugins.json
vendored
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
[
|
||||||
|
"file-explorer",
|
||||||
|
"global-search",
|
||||||
|
"switcher",
|
||||||
|
"graph",
|
||||||
|
"backlink",
|
||||||
|
"outgoing-link",
|
||||||
|
"tag-pane",
|
||||||
|
"properties",
|
||||||
|
"page-preview",
|
||||||
|
"note-composer",
|
||||||
|
"command-palette",
|
||||||
|
"editor-status",
|
||||||
|
"bookmarks",
|
||||||
|
"outline",
|
||||||
|
"word-count",
|
||||||
|
"file-recovery"
|
||||||
|
]
|
22
.obsidian/graph.json
vendored
Normal file
22
.obsidian/graph.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"collapse-filter": false,
|
||||||
|
"search": "",
|
||||||
|
"showTags": false,
|
||||||
|
"showAttachments": false,
|
||||||
|
"hideUnresolved": false,
|
||||||
|
"showOrphans": true,
|
||||||
|
"collapse-color-groups": false,
|
||||||
|
"colorGroups": [],
|
||||||
|
"collapse-display": true,
|
||||||
|
"showArrow": false,
|
||||||
|
"textFadeMultiplier": 0,
|
||||||
|
"nodeSizeMultiplier": 1,
|
||||||
|
"lineSizeMultiplier": 1,
|
||||||
|
"collapse-forces": true,
|
||||||
|
"centerStrength": 0.518713248970312,
|
||||||
|
"repelStrength": 10,
|
||||||
|
"linkStrength": 1,
|
||||||
|
"linkDistance": 250,
|
||||||
|
"scale": 1,
|
||||||
|
"close": true
|
||||||
|
}
|
29
.obsidian/hotkeys.json
vendored
Normal file
29
.obsidian/hotkeys.json
vendored
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
{
|
||||||
|
"file-explorer:open": [
|
||||||
|
{
|
||||||
|
"modifiers": [
|
||||||
|
"Mod",
|
||||||
|
"Shift"
|
||||||
|
],
|
||||||
|
"key": "E"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"obsidian-diagrams-net:app:diagrams-net-new-diagram": [
|
||||||
|
{
|
||||||
|
"modifiers": [
|
||||||
|
"Mod",
|
||||||
|
"Shift"
|
||||||
|
],
|
||||||
|
"key": "D"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"obsidian-linter:lint-all-files": [
|
||||||
|
{
|
||||||
|
"modifiers": [
|
||||||
|
"Alt",
|
||||||
|
"Mod"
|
||||||
|
],
|
||||||
|
"key": "S"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
6
.obsidian/plugins/cm-typewriter-scroll-obsidian/data.json
vendored
Normal file
6
.obsidian/plugins/cm-typewriter-scroll-obsidian/data.json
vendored
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"enabled": false,
|
||||||
|
"typewriterOffset": 0,
|
||||||
|
"zenEnabled": true,
|
||||||
|
"zenOpacity": 0.75
|
||||||
|
}
|
425
.obsidian/plugins/cm-typewriter-scroll-obsidian/main.js
vendored
Normal file
425
.obsidian/plugins/cm-typewriter-scroll-obsidian/main.js
vendored
Normal file
File diff suppressed because one or more lines are too long
10
.obsidian/plugins/cm-typewriter-scroll-obsidian/manifest.json
vendored
Normal file
10
.obsidian/plugins/cm-typewriter-scroll-obsidian/manifest.json
vendored
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"id": "cm-typewriter-scroll-obsidian",
|
||||||
|
"name": "Typewriter Scroll",
|
||||||
|
"author": "death_au",
|
||||||
|
"authorUrl": "https://github.com/deathau",
|
||||||
|
"description": "Typewriter-style scrolling which keeps the view centered in the editor.",
|
||||||
|
"isDesktopOnly": false,
|
||||||
|
"version": "0.2.2",
|
||||||
|
"minAppVersion": "0.10.0"
|
||||||
|
}
|
6
.obsidian/plugins/cm-typewriter-scroll-obsidian/styles.css
vendored
Normal file
6
.obsidian/plugins/cm-typewriter-scroll-obsidian/styles.css
vendored
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
body.plugin-cm-typewriter-scroll-zen .CodeMirror-lines:not(.selecting) .CodeMirror-code > :not(.CodeMirror-activeline) {
|
||||||
|
opacity: var(--zen-opacity);
|
||||||
|
}
|
||||||
|
body.plugin-cm-typewriter-scroll-zen .cm-editor.cm-focused .cm-line:not(.cm-active) {
|
||||||
|
opacity: var(--zen-opacity);
|
||||||
|
}
|
20723
.obsidian/plugins/dataview/main.js
vendored
Normal file
20723
.obsidian/plugins/dataview/main.js
vendored
Normal file
File diff suppressed because one or more lines are too long
11
.obsidian/plugins/dataview/manifest.json
vendored
Normal file
11
.obsidian/plugins/dataview/manifest.json
vendored
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"id": "dataview",
|
||||||
|
"name": "Dataview",
|
||||||
|
"version": "0.5.67",
|
||||||
|
"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
|
||||||
|
}
|
146
.obsidian/plugins/dataview/styles.css
vendored
Normal file
146
.obsidian/plugins/dataview/styles.css
vendored
Normal file
@@ -0,0 +1,146 @@
|
|||||||
|
/** Live Preview padding fixes, specifically for DataviewJS custom HTML elements. */
|
||||||
|
.is-live-preview .block-language-dataviewjs > p, .is-live-preview .block-language-dataviewjs > span {
|
||||||
|
line-height: 1.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.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(--text-nav-selected);
|
||||||
|
}
|
||||||
|
|
||||||
|
.dataview.inline-field-value {
|
||||||
|
padding-left: 8px;
|
||||||
|
padding-right: 8px;
|
||||||
|
font-family: var(--font-monospace);
|
||||||
|
background-color: var(--background-secondary-alt);
|
||||||
|
color: var(--text-nav-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(--text-nav-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: ")";
|
||||||
|
}
|
10
.obsidian/plugins/drawio-obsidian/data.json
vendored
Normal file
10
.obsidian/plugins/drawio-obsidian/data.json
vendored
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"welcomeComplete": true,
|
||||||
|
"theme": {
|
||||||
|
"dark": true,
|
||||||
|
"layout": "compact"
|
||||||
|
},
|
||||||
|
"drawing": {
|
||||||
|
"sketch": false
|
||||||
|
}
|
||||||
|
}
|
15
.obsidian/plugins/drawio-obsidian/main.js
vendored
Normal file
15
.obsidian/plugins/drawio-obsidian/main.js
vendored
Normal file
File diff suppressed because one or more lines are too long
10
.obsidian/plugins/drawio-obsidian/manifest.json
vendored
Normal file
10
.obsidian/plugins/drawio-obsidian/manifest.json
vendored
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"id": "drawio-obsidian",
|
||||||
|
"name": "Diagrams",
|
||||||
|
"version": "1.5.0",
|
||||||
|
"minAppVersion": "0.9.12",
|
||||||
|
"description": "Draw.io diagrams for Obsidian. This plugin introduces diagrams that can be included within notes or as stand-alone files. Diagrams are created as SVG files (although .drawio extensions are also supported).",
|
||||||
|
"author": "Sam Greenhalgh",
|
||||||
|
"authorUrl": "https://www.radicalresearch.co.uk/",
|
||||||
|
"isDesktopOnly": true
|
||||||
|
}
|
28
.obsidian/plugins/drawio-obsidian/styles.css
vendored
Normal file
28
.obsidian/plugins/drawio-obsidian/styles.css
vendored
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
.progress-bar-line {
|
||||||
|
width: 100%;
|
||||||
|
left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.progress-bar-indicator {
|
||||||
|
width: 90%;
|
||||||
|
margin: 0 10%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.diagram-view svg {
|
||||||
|
max-width: 100%;
|
||||||
|
max-height: 100%;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.diagram-view svg a:link,
|
||||||
|
.diagram-view svg a:visited {
|
||||||
|
color: var(--interactive-accent, #00f);
|
||||||
|
filter: drop-shadow(
|
||||||
|
0 0 3px rgba(var(--interactive-accent-rgb, "0, 0, 255"), 0.5)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
.diagram-view svg a:hover {
|
||||||
|
color: var(--interactive-accent-hover, #00f);
|
||||||
|
filter: drop-shadow(0 0 3px var(--interactive-accent-hover, #00f));
|
||||||
|
}
|
5
.obsidian/plugins/local-backup/data.json
vendored
Normal file
5
.obsidian/plugins/local-backup/data.json
vendored
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"startupSetting": true,
|
||||||
|
"lifecycleSetting": "3",
|
||||||
|
"savePathSetting": "/home/boris/Documents/Obsidian"
|
||||||
|
}
|
5388
.obsidian/plugins/local-backup/main.js
vendored
Normal file
5388
.obsidian/plugins/local-backup/main.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
13
.obsidian/plugins/local-backup/manifest.json
vendored
Normal file
13
.obsidian/plugins/local-backup/manifest.json
vendored
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"id": "local-backup",
|
||||||
|
"name": "Local Backup",
|
||||||
|
"version": "0.1.7",
|
||||||
|
"minAppVersion": "0.15.0",
|
||||||
|
"description": "Automatically creates a local backup of the vault.",
|
||||||
|
"author": "GC Chen",
|
||||||
|
"authorUrl": "https://github.com/cgcel/obsidian-local-backup",
|
||||||
|
"fundingUrl": "https://www.buymeacoffee.com/cgcel",
|
||||||
|
"isDesktopOnly": true,
|
||||||
|
"js": "main.js",
|
||||||
|
"tags": ["backup"]
|
||||||
|
}
|
775
.obsidian/plugins/mermaid-tools/data.json
vendored
Normal file
775
.obsidian/plugins/mermaid-tools/data.json
vendored
Normal file
@@ -0,0 +1,775 @@
|
|||||||
|
{
|
||||||
|
"categories": {
|
||||||
|
"Flowchart": "Flowchart",
|
||||||
|
"SequenceDiagram": "SequenceDiagram",
|
||||||
|
"ClassDiagram": "ClassDiagram",
|
||||||
|
"StateDiagram": "StateDiagram",
|
||||||
|
"EntityRelationshipDiagram": "EntityRelationshipDiagram",
|
||||||
|
"UserJourneyDiagram": "UserJourneyDiagram",
|
||||||
|
"GanttChart": "GanttChart",
|
||||||
|
"PieChart": "PieChart",
|
||||||
|
"RequirementDiagram": "RequirementDiagram",
|
||||||
|
"GitGraph": "GitGraph",
|
||||||
|
"Mindmap": "Mindmap",
|
||||||
|
"Timeline": "Timeline",
|
||||||
|
"C4Diagram": "C4Diagram",
|
||||||
|
"QuadrantChart": "QuadrantChart",
|
||||||
|
"SankeyDiagram": "SankeyDiagram",
|
||||||
|
"XyChart": "XyChart"
|
||||||
|
},
|
||||||
|
"elements": [
|
||||||
|
{
|
||||||
|
"id": "f0b470f6-e758-40a1-b83a-ee8877bab687",
|
||||||
|
"category": "Flowchart",
|
||||||
|
"description": "a simple flowchart with top to down direction",
|
||||||
|
"content": "flowchart TD\nStart --> Stop",
|
||||||
|
"sortingOrder": 1,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "c8f4d7ae-2ad7-439c-b29e-b955b1b4843e",
|
||||||
|
"category": "Flowchart",
|
||||||
|
"description": "a simple flowchart with left to right direction",
|
||||||
|
"content": "flowchart LR\nStart --> Stop",
|
||||||
|
"sortingOrder": 2,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "0d341c0f-f212-4b95-a933-4cea34d7d9ff",
|
||||||
|
"category": "Flowchart",
|
||||||
|
"description": "A node with round edges",
|
||||||
|
"content": "id1(Some text)",
|
||||||
|
"sortingOrder": 3,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "b7130fb4-47b2-43b7-be7e-766b8d63b2a6",
|
||||||
|
"category": "Flowchart",
|
||||||
|
"description": "A stadium-shaped node",
|
||||||
|
"content": "id1([Some text])",
|
||||||
|
"sortingOrder": 4,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "3d1f71ab-5695-4c56-91fc-c7691065bdaa",
|
||||||
|
"category": "Flowchart",
|
||||||
|
"description": "A node in a cylindrical shape",
|
||||||
|
"content": "id1[(Database)]",
|
||||||
|
"sortingOrder": 5,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "05ee45db-6f42-4c2c-b16b-2992921e2b90",
|
||||||
|
"category": "Flowchart",
|
||||||
|
"description": "Circle",
|
||||||
|
"content": "id1((Some text))",
|
||||||
|
"sortingOrder": 6,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "62806473-c5d9-4f8e-8269-9ff81d21b555",
|
||||||
|
"category": "Flowchart",
|
||||||
|
"description": "Rhombus",
|
||||||
|
"content": "id1{Some text}",
|
||||||
|
"sortingOrder": 7,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "e0b82242-e824-4cff-a875-aa1497ca323e",
|
||||||
|
"category": "Flowchart",
|
||||||
|
"description": "Hexagon",
|
||||||
|
"content": "id1{{Some text}}",
|
||||||
|
"sortingOrder": 8,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "a3624459-1eaa-4c4c-8f58-77f0b2f24317",
|
||||||
|
"category": "Flowchart",
|
||||||
|
"description": "Parallelogram skewed right",
|
||||||
|
"content": "id1[/Some text/]",
|
||||||
|
"sortingOrder": 9,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "3c43f246-7f2e-42ad-a547-fa4f74379f4c",
|
||||||
|
"category": "Flowchart",
|
||||||
|
"description": "Parallelogram skewed left",
|
||||||
|
"content": "id1[\\Some text\\]",
|
||||||
|
"sortingOrder": 10,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "4994bf34-7776-4b11-a913-ff30a5dd96c0",
|
||||||
|
"category": "Flowchart",
|
||||||
|
"description": "Trapezoid",
|
||||||
|
"content": "A[/Some text\\]",
|
||||||
|
"sortingOrder": 11,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "d1637dee-0e3d-4c00-861f-030127faba04",
|
||||||
|
"category": "Flowchart",
|
||||||
|
"description": "Trapezoid upside down",
|
||||||
|
"content": "A[\\Some text/]",
|
||||||
|
"sortingOrder": 12,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "1b0c8a81-43a3-4fe4-9fe1-df069b5f58ef",
|
||||||
|
"category": "Flowchart",
|
||||||
|
"description": "Double circle node",
|
||||||
|
"content": "id1(((Some text)))",
|
||||||
|
"sortingOrder": 13,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "2d12f3b2-4e8c-43ba-9547-2f195b01fda3",
|
||||||
|
"category": "Flowchart",
|
||||||
|
"description": "A link with arrow head",
|
||||||
|
"content": "A-->B",
|
||||||
|
"sortingOrder": 14,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "b65a89eb-445f-4893-91b4-8e8f6e8263d0",
|
||||||
|
"category": "Flowchart",
|
||||||
|
"description": "An open link",
|
||||||
|
"content": "A --- B",
|
||||||
|
"sortingOrder": 15,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "ac373a66-7204-4a53-825a-eb6fbc493c4a",
|
||||||
|
"category": "Flowchart",
|
||||||
|
"description": "Text on links",
|
||||||
|
"content": "A-- This is the text! ---B",
|
||||||
|
"sortingOrder": 16,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "405d1a66-a98d-497b-a518-4eb983d42954",
|
||||||
|
"category": "Flowchart",
|
||||||
|
"description": "A link with arrow head and text",
|
||||||
|
"content": "A-->|text|B",
|
||||||
|
"sortingOrder": 17,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "2d72edb7-af63-4a2a-8b6f-cb2194a77c22",
|
||||||
|
"category": "Flowchart",
|
||||||
|
"description": "Dotted link",
|
||||||
|
"content": "A-.->B",
|
||||||
|
"sortingOrder": 18,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "81d9ebb0-a88f-49b1-94e4-99ba6e7830c6",
|
||||||
|
"category": "Flowchart",
|
||||||
|
"description": "Thick link",
|
||||||
|
"content": "A ==> B",
|
||||||
|
"sortingOrder": 19,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "34590175-e487-406c-87c0-af36aff52227",
|
||||||
|
"category": "Flowchart",
|
||||||
|
"description": "Invisible link",
|
||||||
|
"content": "A ~~~ B",
|
||||||
|
"sortingOrder": 20,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "09e29cb2-2d29-4a03-adfd-1b114bf0c652",
|
||||||
|
"category": "Flowchart",
|
||||||
|
"description": "Link with circle edge",
|
||||||
|
"content": "A --o B",
|
||||||
|
"sortingOrder": 21,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "3e83e974-06e1-455b-b06d-4e03528e7034",
|
||||||
|
"category": "Flowchart",
|
||||||
|
"description": "Link with cross edge",
|
||||||
|
"content": "A --x B",
|
||||||
|
"sortingOrder": 22,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "e912d1f6-4c16-45fd-abcb-ec4905baa94a",
|
||||||
|
"category": "Flowchart",
|
||||||
|
"description": "Subgraph",
|
||||||
|
"content": "subgraph one\na1-->a2\nend",
|
||||||
|
"sortingOrder": 14,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "b97108ee-8e30-4191-9581-fb3217dadae8",
|
||||||
|
"category": "SequenceDiagram",
|
||||||
|
"description": "a simple sequence diagram",
|
||||||
|
"content": "sequenceDiagram\nAlice->>John: Hello John, how are you?\nJohn-->>Alice: Great!\nAlice-)John: See you later!",
|
||||||
|
"sortingOrder": 0,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "8302a3e3-23c7-467e-9b77-bc4ff89c2939",
|
||||||
|
"category": "SequenceDiagram",
|
||||||
|
"description": "a simple sequence diagram with actors",
|
||||||
|
"content": "sequenceDiagram\nactor Alice\nactor John\nAlice->>John: Hello John, how are you?\nJohn-->>Alice: Great!\nAlice-)John: See you later!",
|
||||||
|
"sortingOrder": 1,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "7517b980-928d-4067-b032-e9bcaece4368",
|
||||||
|
"category": "ClassDiagram",
|
||||||
|
"description": "sample class",
|
||||||
|
"content": "class Duck{\n +String beakColor\n +swim()\n +quack()\n }",
|
||||||
|
"sortingOrder": 0,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "c9f304da-ed52-4d9c-80ae-f4e583ea4bf4",
|
||||||
|
"category": "ClassDiagram",
|
||||||
|
"description": "sample class",
|
||||||
|
"content": "class BankAccount\n BankAccount : +String owner\n BankAccount : +Bigdecimal balance\n BankAccount : +deposit(amount)\n BankAccount : +withdrawal(amount)",
|
||||||
|
"sortingOrder": 1,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "bf93cb8c-4c06-4fea-973a-d9ada4c4bb65",
|
||||||
|
"category": "ClassDiagram",
|
||||||
|
"description": "generic class",
|
||||||
|
"content": "class Square~Shape~{\n int id\n List~int~ position\n setPoints(List~int~ points)\n getPoints() List~int~\n }\n \n Square : -List~string~ messages\n Square : +setMessages(List~string~ messages)\n Square : +getMessages() List~string~",
|
||||||
|
"sortingOrder": 2,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "782a4caf-bcb4-479b-b084-6cdaf9b87bb7",
|
||||||
|
"category": "ClassDiagram",
|
||||||
|
"description": "inheritance",
|
||||||
|
"content": "classA <|-- classB",
|
||||||
|
"sortingOrder": 3,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "a2f694b0-b9a2-4c51-b0d2-e30f1513a62f",
|
||||||
|
"category": "ClassDiagram",
|
||||||
|
"description": "composition",
|
||||||
|
"content": "classC *-- classD",
|
||||||
|
"sortingOrder": 4,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "adbea3a9-c070-44c9-8aaf-34780d330c40",
|
||||||
|
"category": "ClassDiagram",
|
||||||
|
"description": "aggregation",
|
||||||
|
"content": "classE o-- classF",
|
||||||
|
"sortingOrder": 5,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "c98bdcb6-2490-48f5-8373-2cd456e2c435",
|
||||||
|
"category": "ClassDiagram",
|
||||||
|
"description": "association",
|
||||||
|
"content": "classG <-- classH",
|
||||||
|
"sortingOrder": 6,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "4c58d09d-91ca-4de4-adb9-b85282b79d7f",
|
||||||
|
"category": "ClassDiagram",
|
||||||
|
"description": "solid link",
|
||||||
|
"content": "classI -- classJ",
|
||||||
|
"sortingOrder": 7,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "c1830a64-1247-4176-8439-c9badac5fd39",
|
||||||
|
"category": "ClassDiagram",
|
||||||
|
"description": "dependency",
|
||||||
|
"content": "classK <.. classL",
|
||||||
|
"sortingOrder": 8,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "5218e72c-db76-48a3-8dd7-7cd39e5499b0",
|
||||||
|
"category": "ClassDiagram",
|
||||||
|
"description": "realization",
|
||||||
|
"content": "classM <|.. classN",
|
||||||
|
"sortingOrder": 9,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "34819115-9a4f-432f-8fcd-abffbd3851b3",
|
||||||
|
"category": "ClassDiagram",
|
||||||
|
"description": "dashed link",
|
||||||
|
"content": "classO .. classP",
|
||||||
|
"sortingOrder": 10,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "07f02636-7c88-4c50-8249-b4f9fd922699",
|
||||||
|
"category": "ClassDiagram",
|
||||||
|
"description": "two-way relation",
|
||||||
|
"content": "Animal <|--|> Zebra",
|
||||||
|
"sortingOrder": 11,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "629680af-30d3-4e6e-8b14-b77eee92fe33",
|
||||||
|
"category": "ClassDiagram",
|
||||||
|
"description": "sample class diagram",
|
||||||
|
"content": "classDiagram\n Animal <|-- Duck\n Animal <|-- Fish\n Animal <|-- Zebra\n Animal : +int age\n Animal : +String gender\n Animal: +isMammal()\n Animal: +mate()\n class Duck{\n +String beakColor\n +swim()\n +quack()\n }\n class Fish{\n -int sizeInFeet\n -canEat()\n }\n class Zebra{\n +bool is_wild\n +run()\n }",
|
||||||
|
"sortingOrder": 12,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "b729d6a2-56fc-47a1-9d20-ff4edc7dbc9f",
|
||||||
|
"category": "StateDiagram",
|
||||||
|
"description": "a sample state diagram",
|
||||||
|
"content": "stateDiagram-v2\n [*] --> Still\n Still --> [*]\n \n Still --> Moving\n Moving --> Still\n Moving --> Crash\n Crash --> [*]",
|
||||||
|
"sortingOrder": 0,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "202e804d-3cc2-4193-aa3f-6f453aebabe7",
|
||||||
|
"category": "StateDiagram",
|
||||||
|
"description": "a sample state diagram with left-to-right direction",
|
||||||
|
"content": "stateDiagram-v2\n direction LR\n [*] --> Still\n Still --> [*]\n \n Still --> Moving\n Moving --> Still\n Moving --> Crash\n Crash --> [*]",
|
||||||
|
"sortingOrder": 1,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "33746916-9359-44ce-a67f-ee3e9d892b2f",
|
||||||
|
"category": "StateDiagram",
|
||||||
|
"description": "node with description",
|
||||||
|
"content": "s2 : This is a state description",
|
||||||
|
"sortingOrder": 2,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "b578cd8a-f522-456f-b113-bdf5326b3fe8",
|
||||||
|
"category": "StateDiagram",
|
||||||
|
"description": "a transition",
|
||||||
|
"content": "s1 --> s2",
|
||||||
|
"sortingOrder": 3,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "0f3325b1-3712-4cbf-a6ec-0c626d0b805e",
|
||||||
|
"category": "StateDiagram",
|
||||||
|
"description": "a transition with label",
|
||||||
|
"content": "s1 --> s2: A transition",
|
||||||
|
"sortingOrder": 4,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "7dceb7de-cd40-4c05-ad54-4077a91eead1",
|
||||||
|
"category": "StateDiagram",
|
||||||
|
"description": "composite state",
|
||||||
|
"content": "\n [*] --> First\n state First {\n [*] --> second\n second --> [*]\n }",
|
||||||
|
"sortingOrder": 5,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "6ff8f945-a713-4c3b-9574-10f4df026c1f",
|
||||||
|
"category": "StateDiagram",
|
||||||
|
"description": "diagram with choice",
|
||||||
|
"content": "stateDiagram-v2\n state if_state <<choice>>\n [*] --> IsPositive\n IsPositive --> if_state\n if_state --> False: if n < 0\n if_state --> True : if n >= 0",
|
||||||
|
"sortingOrder": 6,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "3cf86621-2a99-40b7-9e7e-fb533fbaa68d",
|
||||||
|
"category": "StateDiagram",
|
||||||
|
"description": "diagram with fork",
|
||||||
|
"content": "stateDiagram-v2\n state fork_state <<fork>>\n [*] --> fork_state\n fork_state --> State2\n fork_state --> State3\n \n state join_state <<join>>\n State2 --> join_state\n State3 --> join_state\n join_state --> State4\n State4 --> [*]",
|
||||||
|
"sortingOrder": 7,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "f5b8a154-1722-4ccf-931c-3c8f7543ef56",
|
||||||
|
"category": "StateDiagram",
|
||||||
|
"description": "a diagram with concurrency",
|
||||||
|
"content": "stateDiagram-v2\n [*] --> Active\n \n state Active {\n [*] --> NumLockOff\n NumLockOff --> NumLockOn : EvNumLockPressed\n NumLockOn --> NumLockOff : EvNumLockPressed\n --\n [*] --> CapsLockOff\n CapsLockOff --> CapsLockOn : EvCapsLockPressed\n CapsLockOn --> CapsLockOff : EvCapsLockPressed\n --\n [*] --> ScrollLockOff\n ScrollLockOff --> ScrollLockOn : EvScrollLockPressed\n ScrollLockOn --> ScrollLockOff : EvScrollLockPressed\n }",
|
||||||
|
"sortingOrder": 8,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "8f570530-6f1f-4f62-961a-b25c81a5f3d3",
|
||||||
|
"category": "EntityRelationshipDiagram",
|
||||||
|
"description": "a sample entity relationship diagram",
|
||||||
|
"content": "erDiagram\n CUSTOMER ||--o{ ORDER : places\n ORDER ||--|{ LINE-ITEM : contains\n CUSTOMER }|..|{ DELIVERY-ADDRESS : uses",
|
||||||
|
"sortingOrder": 0,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "bda50acd-6d9d-4761-b4a1-9d46fa0e529d",
|
||||||
|
"category": "EntityRelationshipDiagram",
|
||||||
|
"description": "an entity",
|
||||||
|
"content": " CUSTOMER {\n string name\n string custNumber\n string sector\n }",
|
||||||
|
"sortingOrder": 1,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "b34b4ecb-dde3-4774-bb95-451592d3962d",
|
||||||
|
"category": "EntityRelationshipDiagram",
|
||||||
|
"description": "one-to-many relationship",
|
||||||
|
"content": "A ||--|{ B : label",
|
||||||
|
"sortingOrder": 2,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "186bd61c-75d8-45d9-8fbc-7c75ba382934",
|
||||||
|
"category": "EntityRelationshipDiagram",
|
||||||
|
"description": "many-to-many relationship",
|
||||||
|
"content": "A }|--|{ B : label",
|
||||||
|
"sortingOrder": 3,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "d59103dc-aa07-42ca-a9ef-99206967f64b",
|
||||||
|
"category": "EntityRelationshipDiagram",
|
||||||
|
"description": "one-to-one relationship",
|
||||||
|
"content": "A ||--|| B : label",
|
||||||
|
"sortingOrder": 4,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "cc04e766-d90e-417e-9965-ca61c5227619",
|
||||||
|
"category": "EntityRelationshipDiagram",
|
||||||
|
"description": "many-to-one relationship",
|
||||||
|
"content": "A }|--|| B : label",
|
||||||
|
"sortingOrder": 5,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "728a5cd8-bf05-45a2-bb3d-d3e60a1972fb",
|
||||||
|
"category": "EntityRelationshipDiagram",
|
||||||
|
"description": "zero/one-to-one relationship",
|
||||||
|
"content": "A |o--|| B : label",
|
||||||
|
"sortingOrder": 6,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "c671792a-c9fc-4fec-a2f1-1c2e731438d6",
|
||||||
|
"category": "EntityRelationshipDiagram",
|
||||||
|
"description": "one-to-one/zero relationship",
|
||||||
|
"content": "A ||--o| B : label",
|
||||||
|
"sortingOrder": 7,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "435b1b1a-7d2a-41c7-8819-61f8d40a1e36",
|
||||||
|
"category": "EntityRelationshipDiagram",
|
||||||
|
"description": "zero-or-more-to-one relationship",
|
||||||
|
"content": "A }o--|| B : label",
|
||||||
|
"sortingOrder": 8,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "073e36a5-549d-4188-80b6-dba7b4cf4a6c",
|
||||||
|
"category": "EntityRelationshipDiagram",
|
||||||
|
"description": "one-to-zero-or-more relationship",
|
||||||
|
"content": "A ||--o{ B : label",
|
||||||
|
"sortingOrder": 9,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "f26adf9c-95cb-49e4-a762-8e92662ef391",
|
||||||
|
"category": "EntityRelationshipDiagram",
|
||||||
|
"description": "zero-or-more-to-many relationship",
|
||||||
|
"content": "A }o--|{ B : label",
|
||||||
|
"sortingOrder": 10,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "f41b436c-7eeb-4fc8-8299-9bedae50ddf6",
|
||||||
|
"category": "EntityRelationshipDiagram",
|
||||||
|
"description": "many-to-zero-or-more relationship",
|
||||||
|
"content": "A }|--o{ B : label",
|
||||||
|
"sortingOrder": 11,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "b5c9e252-5913-40da-9727-9ae4df412301",
|
||||||
|
"category": "UserJourneyDiagram",
|
||||||
|
"description": "a sample user journey diagram",
|
||||||
|
"content": "journey\n title My working day\n section Go to work\n Make tea: 5: Me\n Go upstairs: 3: Me\n Do work: 1: Me, Cat\n section Go home\n Go downstairs: 5: Me\n Sit down: 5: Me",
|
||||||
|
"sortingOrder": 0,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "2f8a880d-c5ff-4621-a6bc-4da7a3f6161d",
|
||||||
|
"category": "UserJourneyDiagram",
|
||||||
|
"description": "a step in user journey",
|
||||||
|
"content": " Step Title: 5: ActorName",
|
||||||
|
"sortingOrder": 1,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "17d7b59b-a5bf-4cee-af6e-2c8ab524b58a",
|
||||||
|
"category": "GanttChart",
|
||||||
|
"description": "simple gantt chart",
|
||||||
|
"content": "gantt\n title A Gantt Diagram\n dateFormat YYYY-MM-DD\n section Section\n A task :a1, 2014-01-01, 30d\n Another task :after a1 , 20d\n section Another\n Task in sec :2014-01-12 , 12d\n another task : 24d",
|
||||||
|
"sortingOrder": 0,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "ada6159a-fbdf-4cab-8279-e0c2ec09334f",
|
||||||
|
"category": "GanttChart",
|
||||||
|
"description": "rich gantt chart",
|
||||||
|
"content": "gantt\n dateFormat YYYY-MM-DD\n title Adding GANTT diagram functionality to mermaid\n excludes weekends\n \n section A section\n Completed task :done, des1, 2014-01-06,2014-01-08\n Active task :active, des2, 2014-01-09, 3d\n Future task : des3, after des2, 5d\n Future task2 : des4, after des3, 5d\n \n section Critical tasks\n Completed task in the critical line :crit, done, 2014-01-06,24h\n Implement parser and jison :crit, done, after des1, 2d\n Create tests for parser :crit, active, 3d\n Future task in critical line :crit, 5d\n Create tests for renderer :2d\n Add to mermaid :1d\n Functionality added :milestone, 2014-01-25, 0d\n \n section Documentation\n Describe gantt syntax :active, a1, after des1, 3d\n Add gantt diagram to demo page :after a1 , 20h\n Add another diagram to demo page :doc1, after a1 , 48h\n \n section Last section\n Describe gantt syntax :after doc1, 3d\n Add gantt diagram to demo page :20h\n Add another diagram to demo page :48h",
|
||||||
|
"sortingOrder": 1,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "9455ce9c-d136-4ce5-97c8-dea67c643edc",
|
||||||
|
"category": "GanttChart",
|
||||||
|
"description": "milestones example",
|
||||||
|
"content": "gantt\n dateFormat HH:mm\n axisFormat %H:%M\n Initial milestone : milestone, m1, 17:49,2min\n taska2 : 10min\n taska3 : 5min\n Final milestone : milestone, m2, 18:14, 2min",
|
||||||
|
"sortingOrder": 2,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "d1debb13-ea98-481e-b3e7-7d736131ec6c",
|
||||||
|
"category": "PieChart",
|
||||||
|
"description": "sample pie chart",
|
||||||
|
"content": "pie title /r/obsidianmd posts by type\n \"Look at my awesome graph\" : 85\n \"Look at my cool dashboard\" : 14\n \"Moved from Notion, liking it\" : 1",
|
||||||
|
"sortingOrder": 0,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "b38f6ae2-908e-4129-9d68-7b78e8adbf36",
|
||||||
|
"category": "PieChart",
|
||||||
|
"description": "sample pie chart with values shown in legend",
|
||||||
|
"content": "pie showdata\n title /r/obsidianmd posts by type\n \"Graphs\" : 85\n \"Dashboards\" : 14\n \"Tips\" : 1",
|
||||||
|
"sortingOrder": 1,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "9c4f6451-6a32-4750-9b9d-98be0763372b",
|
||||||
|
"category": "RequirementDiagram",
|
||||||
|
"description": "sample requirements diagram",
|
||||||
|
"content": " requirementDiagram\n\n requirement test_req {\n id: 1\n text: the test text.\n risk: high\n verifymethod: test\n }\n \n element test_entity {\n type: simulation\n }\n \n test_entity - satisfies -> test_req",
|
||||||
|
"sortingOrder": 0,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "b6ca2fc5-5048-4dca-a46f-432d6b3de467",
|
||||||
|
"category": "RequirementDiagram",
|
||||||
|
"description": "sample requirements diagram",
|
||||||
|
"content": "element customElement {\n type: customType\n docref: customDocRef\n }",
|
||||||
|
"sortingOrder": 1,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "d8a91025-62e1-4373-b25c-25b21963843e",
|
||||||
|
"category": "RequirementDiagram",
|
||||||
|
"description": "a requirement with high risk",
|
||||||
|
"content": "functionalRequirement myReq {\n id: reqId\n text: someText\n risk: High\n verifymethod: analysis\n }",
|
||||||
|
"sortingOrder": 2,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "29c26c80-e603-437d-882e-3c850feb1534",
|
||||||
|
"category": "RequirementDiagram",
|
||||||
|
"description": "sample requirements diagram",
|
||||||
|
"content": "interfaceRequirement myReq2 {\n id: reqId\n text: someText\n risk: Medium\n verifymethod: demonstration\n }",
|
||||||
|
"sortingOrder": 3,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "65423e9f-032a-46bb-939a-620aacb72c1b",
|
||||||
|
"category": "RequirementDiagram",
|
||||||
|
"description": "sample requirements diagram",
|
||||||
|
"content": "designConstraint myReq3 {\n id: reqId\n text: someText\n risk: Low\n verifymethod: test\n }",
|
||||||
|
"sortingOrder": 4,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "f3c005e4-c1ca-4c59-8981-7d0199840c78",
|
||||||
|
"category": "GitGraph",
|
||||||
|
"description": "simple git graph",
|
||||||
|
"content": "gitGraph\n commit\n commit\n branch develop\n checkout develop\n commit\n commit\n checkout main\n merge develop\n commit\n commit",
|
||||||
|
"sortingOrder": 0,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "e1dc1d49-17ed-4821-b8f4-4ea7e69dc6ea",
|
||||||
|
"category": "GitGraph",
|
||||||
|
"description": "tagged commit",
|
||||||
|
"content": "commit id: \"Normal\" tag: \"v1.0.0\"",
|
||||||
|
"sortingOrder": 1,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "c2daef1c-2fe9-4762-af73-274dd20c3922",
|
||||||
|
"category": "GitGraph",
|
||||||
|
"description": "reverse commit",
|
||||||
|
"content": "commit id: \"Reverse\" type: REVERSE",
|
||||||
|
"sortingOrder": 2,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "f9b1b682-5ba9-4b0f-8491-37e8c00745e7",
|
||||||
|
"category": "GitGraph",
|
||||||
|
"description": "highlighted commit",
|
||||||
|
"content": "commit id: \"Highlight\" type: HIGHLIGHT",
|
||||||
|
"sortingOrder": 3,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "243c6251-5898-4cd6-8453-85684c423dee",
|
||||||
|
"category": "GitGraph",
|
||||||
|
"description": "reverse commit",
|
||||||
|
"content": "commit id: \"Reverse\" type: REVERSE",
|
||||||
|
"sortingOrder": 4,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "0c003837-d67c-4e12-afea-ac495d38e404",
|
||||||
|
"category": "GitGraph",
|
||||||
|
"description": "git graph with cherry-pick",
|
||||||
|
"content": "gitGraph\n commit id: \"ZERO\"\n branch develop\n commit id:\"A\"\n checkout main\n commit id:\"ONE\"\n checkout develop\n commit id:\"B\"\n checkout main\n commit id:\"TWO\"\n cherry-pick id:\"A\"\n commit id:\"THREE\"\n checkout develop\n commit id:\"C\"",
|
||||||
|
"sortingOrder": 5,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "79cfc768-1500-47e8-8827-b33b28f9ebb0",
|
||||||
|
"category": "Mindmap",
|
||||||
|
"description": "a simple mindmap",
|
||||||
|
"content": "mindmap\n Root\n A\n B\n C",
|
||||||
|
"sortingOrder": 1,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "9f4648c8-0697-4b09-8f45-847f11f9bdca",
|
||||||
|
"category": "Mindmap",
|
||||||
|
"description": "square",
|
||||||
|
"content": "id[I am a square]",
|
||||||
|
"sortingOrder": 2,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "eec294f8-60a6-4a5f-a6a1-ead4c5f5af77",
|
||||||
|
"category": "Mindmap",
|
||||||
|
"description": "rounded square",
|
||||||
|
"content": "id(I am a rounded square)",
|
||||||
|
"sortingOrder": 3,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "48f045fc-30db-4f14-9b16-04c72f4ca067",
|
||||||
|
"category": "Mindmap",
|
||||||
|
"description": "circle",
|
||||||
|
"content": "id((I am a circle))",
|
||||||
|
"sortingOrder": 4,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "0980f34a-2627-46be-9f63-7924d9db8b20",
|
||||||
|
"category": "Mindmap",
|
||||||
|
"description": "bang",
|
||||||
|
"content": "id))I am a bang((",
|
||||||
|
"sortingOrder": 5,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "ff554a9c-5d63-43d8-9de7-2b7cc8945fd8",
|
||||||
|
"category": "Mindmap",
|
||||||
|
"description": "cloud",
|
||||||
|
"content": "id)I am a cloud(",
|
||||||
|
"sortingOrder": 6,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "0ffe41de-a327-4e5e-9191-f21dea9be077",
|
||||||
|
"category": "Mindmap",
|
||||||
|
"description": "hexagon",
|
||||||
|
"content": "id{{I am a hexagon}}",
|
||||||
|
"sortingOrder": 7,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "73c96ed1-9f4e-4c00-a8bb-96f6dc32e9d1",
|
||||||
|
"category": "Mindmap",
|
||||||
|
"description": "default",
|
||||||
|
"content": "I am the default shape",
|
||||||
|
"sortingOrder": 8,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "2e741382-2b79-4c8e-be64-bd8818bacbc9",
|
||||||
|
"category": "Mindmap",
|
||||||
|
"description": "sample mindmap",
|
||||||
|
"content": "mindmap\n root((mindmap))\n Origins\n Long history\n Popularisation\n British popular psychology author Tony Buzan\n Research\n On effectiveness<br/>and features\n On Automatic creation\n Uses\n Creative techniques\n Strategic planning\n Argument mapping\n Tools\n Pen and paper\n Mermaid",
|
||||||
|
"sortingOrder": 9,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "fd8a19e0-fd13-42b0-bc3d-f70f4a517ea6",
|
||||||
|
"category": "Timeline",
|
||||||
|
"description": "sample timeline",
|
||||||
|
"content": "timeline\n\t\ttitle History of Social Media Platform\n\t\t2002 : LinkedIn\n\t\t2004 : Facebook\n\t\t\t : Google\n\t\t2005 : Youtube\n\t\t2006 : Twitter",
|
||||||
|
"sortingOrder": 1,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "26851611-0f5e-4903-bc1d-aaf20d91a7ab",
|
||||||
|
"category": "Timeline",
|
||||||
|
"description": "timeline with grouping",
|
||||||
|
"content": "timeline\n\t\ttitle Timeline of Industrial Revolution\n\t\tsection 17th-20th century\n\t\t\tIndustry 1.0 : Machinery, Water power, Steam <br>power\n\t\t\tIndustry 2.0 : Electricity, Internal combustion engine, Mass production\n\t\t\tIndustry 3.0 : Electronics, Computers, Automation\n\t\tsection 21st century\n\t\t\tIndustry 4.0 : Internet, Robotics, Internet of Things\n\t\t\tIndustry 5.0 : Artificial intelligence, Big data,3D printing",
|
||||||
|
"sortingOrder": 2,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "7bc16821-c2f6-402d-acfe-41625398a383",
|
||||||
|
"category": "Timeline",
|
||||||
|
"description": "timeline with Forest theme. see the docs for additional themes",
|
||||||
|
"content": "%%{init: { 'logLevel': 'debug', 'theme': 'forest' } }%%\n\t\ttimeline\n\t\t\ttitle History of Social Media Platform\n\t\t\t 2002 : LinkedIn\n\t\t\t 2004 : Facebook : Google\n\t\t\t 2005 : Youtube\n\t\t\t 2006 : Twitter\n\t\t\t 2007 : Tumblr\n\t\t\t 2008 : Instagram\n\t\t\t 2010 : Pinterest",
|
||||||
|
"sortingOrder": 3,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "5ebc370e-37e0-475f-8036-c18e5144f0cd",
|
||||||
|
"category": "QuadrantChart",
|
||||||
|
"description": "sample quadrant chart",
|
||||||
|
"content": "quadrantChart\n\t\ttitle Reach and engagement of campaigns\n\t\tx-axis Low Reach --> High Reach\n\t\ty-axis Low Engagement --> High Engagement\n\t\tquadrant-1 We should expand\n\t\tquadrant-2 Need to promote\n\t\tquadrant-3 Re-evaluate\n\t\tquadrant-4 May be improved\n\t\tCampaign A: [0.3, 0.6]\n\t\tCampaign B: [0.45, 0.23]\n\t\tCampaign C: [0.57, 0.69]\n\t\tCampaign D: [0.78, 0.34]\n\t\tCampaign E: [0.40, 0.34]\n\t\tCampaign F: [0.35, 0.78]",
|
||||||
|
"sortingOrder": 1,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "c4283670-6d36-425d-abe9-ffc0251d4dab",
|
||||||
|
"category": "QuadrantChart",
|
||||||
|
"description": "themed quadrant chart",
|
||||||
|
"content": "%%{init: {\"quadrantChart\": {\"chartWidth\": 400, \"chartHeight\": 400}, \"themeVariables\": {\"quadrant1TextFill\": \"#ff0000\"} }}%%\n\t\tquadrantChart\n\t\t x-axis Urgent --> Not Urgent\n\t\t y-axis Not Important --> \"Important ❤\"\n\t\t quadrant-1 Plan\n\t\t quadrant-2 Do\n\t\t quadrant-3 Delegate\n\t\t quadrant-4 Delete",
|
||||||
|
"sortingOrder": 1,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "c7226c80-ae6d-49e5-b974-69107b83cb81",
|
||||||
|
"category": "C4Diagram",
|
||||||
|
"description": "sample C4 diagram (compatible with PlantUML)",
|
||||||
|
"content": "C4Context\n\t\ttitle System Context diagram for Internet Banking System\n\t\tEnterprise_Boundary(b0, \"BankBoundary0\") {\n\t\t Person(customerA, \"Banking Customer A\", \"A customer of the bank, with personal bank accounts.\")\n\t\t Person(customerB, \"Banking Customer B\")\n\t\t Person_Ext(customerC, \"Banking Customer C\", \"desc\")\n \n\t\t Person(customerD, \"Banking Customer D\", \"A customer of the bank, <br/> with personal bank accounts.\")\n \n\t\t System(SystemAA, \"Internet Banking System\", \"Allows customers to view information about their bank accounts, and make payments.\")\n \n\t\t Enterprise_Boundary(b1, \"BankBoundary\") {\n \n\t\t\tSystemDb_Ext(SystemE, \"Mainframe Banking System\", \"Stores all of the core banking information about customers, accounts, transactions, etc.\")\n \n\t\t\tSystem_Boundary(b2, \"BankBoundary2\") {\n\t\t\t System(SystemA, \"Banking System A\")\n\t\t\t System(SystemB, \"Banking System B\", \"A system of the bank, with personal bank accounts. next line.\")\n\t\t\t}\n \n\t\t\tSystem_Ext(SystemC, \"E-mail system\", \"The internal Microsoft Exchange e-mail system.\")\n\t\t\tSystemDb(SystemD, \"Banking System D Database\", \"A system of the bank, with personal bank accounts.\")\n \n\t\t\tBoundary(b3, \"BankBoundary3\", \"boundary\") {\n\t\t\t SystemQueue(SystemF, \"Banking System F Queue\", \"A system of the bank.\")\n\t\t\t SystemQueue_Ext(SystemG, \"Banking System G Queue\", \"A system of the bank, with personal bank accounts.\")\n\t\t\t}\n\t\t }\n\t\t}\n \n\t\tBiRel(customerA, SystemAA, \"Uses\")\n\t\tBiRel(SystemAA, SystemE, \"Uses\")\n\t\tRel(SystemAA, SystemC, \"Sends e-mails\", \"SMTP\")\n\t\tRel(SystemC, customerA, \"Sends e-mails to\")\n \n\t\tUpdateElementStyle(customerA, $fontColor=\"red\", $bgColor=\"grey\", $borderColor=\"red\")\n\t\tUpdateRelStyle(customerA, SystemAA, $textColor=\"blue\", $lineColor=\"blue\", $offsetX=\"5\")\n\t\tUpdateRelStyle(SystemAA, SystemE, $textColor=\"blue\", $lineColor=\"blue\", $offsetY=\"-10\")\n\t\tUpdateRelStyle(SystemAA, SystemC, $textColor=\"blue\", $lineColor=\"blue\", $offsetY=\"-40\", $offsetX=\"-50\")\n\t\tUpdateRelStyle(SystemC, customerA, $textColor=\"red\", $lineColor=\"red\", $offsetX=\"-50\", $offsetY=\"20\")\n \n\t\tUpdateLayoutConfig($c4ShapeInRow=\"3\", $c4BoundaryInRow=\"1\")",
|
||||||
|
"sortingOrder": 1,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "31b2c838-9a6d-45cc-b4ce-72a390a97b3a",
|
||||||
|
"category": "SankeyDiagram",
|
||||||
|
"description": "",
|
||||||
|
"content": "sankey-beta\n %% source,target,value\n Electricity grid,Over generation / exports,104.453\n Electricity grid,Heating and cooling - homes,113.726\n Electricity grid,H2 conversion,27.14",
|
||||||
|
"sortingOrder": 0,
|
||||||
|
"isPinned": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "89c31de2-14ce-49e0-ad02-87802d70bb8b",
|
||||||
|
"category": "XyChart",
|
||||||
|
"description": "a sample XYChart diagram",
|
||||||
|
"content": "xychart-beta\n title \"Sales Revenue\"\n x-axis [jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec]\n y-axis \"Revenue (in $)\" 4000 --> 11000\n bar [5000, 6000, 7500, 8200, 9500, 10500, 11000, 10200, 9200, 8500, 7000, 6000]\n line [5000, 6000, 7500, 8200, 9500, 10500, 11000, 10200, 9200, 8500, 7000, 6000]",
|
||||||
|
"sortingOrder": 0,
|
||||||
|
"isPinned": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"selectedCategory": "Flowchart"
|
||||||
|
}
|
1880
.obsidian/plugins/mermaid-tools/main.js
vendored
Normal file
1880
.obsidian/plugins/mermaid-tools/main.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
11
.obsidian/plugins/mermaid-tools/manifest.json
vendored
Normal file
11
.obsidian/plugins/mermaid-tools/manifest.json
vendored
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"id": "mermaid-tools",
|
||||||
|
"name": "Mermaid Tools",
|
||||||
|
"version": "1.1.3",
|
||||||
|
"minAppVersion": "1.4.0",
|
||||||
|
"description": "Improved Mermaid.js experience for Obsidian: visual toolbar with common elements & more",
|
||||||
|
"author": "dartungar",
|
||||||
|
"authorUrl": "https://dartungar.com",
|
||||||
|
"fundingUrl": "https://www.paypal.com/paypalme/dartungar",
|
||||||
|
"isDesktopOnly": false
|
||||||
|
}
|
55
.obsidian/plugins/mermaid-tools/styles.css
vendored
Normal file
55
.obsidian/plugins/mermaid-tools/styles.css
vendored
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
.mermaid-toolbar-container, .mermaid-toolbar-container * {
|
||||||
|
max-width: 100%;
|
||||||
|
max-height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mermaid-toolbar-top-row {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
gap: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mermaid-toolbar-elements-container {
|
||||||
|
padding-top: 1rem;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mermaid-toolbar-element {
|
||||||
|
font-size: var(--font-ui-small);
|
||||||
|
cursor: pointer;
|
||||||
|
padding: 2px 2px 2px 5px;
|
||||||
|
border-radius: 3px;
|
||||||
|
flex: 1 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mermaid-toolbar-element:hover {
|
||||||
|
background-color: var(--interactive-hover);
|
||||||
|
}
|
||||||
|
|
||||||
|
.mermaid-tools-element-category-header::before {
|
||||||
|
content: "▼ ";
|
||||||
|
font-size: 70%;
|
||||||
|
padding-bottom: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mermaid-tools-element-category-header.collapsed::before {
|
||||||
|
content: "▶ ";
|
||||||
|
font-size: 70%;
|
||||||
|
padding-bottom: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mermaid-tools-element-container {
|
||||||
|
padding-top: 6px;
|
||||||
|
border-bottom: var(--border-width) solid var(--color-base-35);
|
||||||
|
}
|
||||||
|
|
||||||
|
.mermaid-tools-edit-element-modal > div {
|
||||||
|
margin-bottom: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mermaid-tools-edit-element-modal label {
|
||||||
|
margin-right: 1rem;
|
||||||
|
}
|
3454
.obsidian/plugins/obsidian-csv-table/main.js
vendored
Normal file
3454
.obsidian/plugins/obsidian-csv-table/main.js
vendored
Normal file
File diff suppressed because one or more lines are too long
10
.obsidian/plugins/obsidian-csv-table/manifest.json
vendored
Normal file
10
.obsidian/plugins/obsidian-csv-table/manifest.json
vendored
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"id": "obsidian-csv-table",
|
||||||
|
"name": "CSV Table",
|
||||||
|
"version": "1.2.0",
|
||||||
|
"minAppVersion": "0.11.10",
|
||||||
|
"description": "Render CSV data as a table within your notes.",
|
||||||
|
"author": "Adam Coddington <me@adamcoddington.net>",
|
||||||
|
"authorUrl": "https://coddingtonbear.net/",
|
||||||
|
"isDesktopOnly": false
|
||||||
|
}
|
8
.obsidian/plugins/obsidian-csv-table/styles.css
vendored
Normal file
8
.obsidian/plugins/obsidian-csv-table/styles.css
vendored
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
.csv-table {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.csv-error {
|
||||||
|
font-weight: 700;
|
||||||
|
padding: 10em;
|
||||||
|
border: 1px solid #f00;
|
||||||
|
}
|
20905
.obsidian/plugins/obsidian-diagrams-net/main.js
vendored
Normal file
20905
.obsidian/plugins/obsidian-diagrams-net/main.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
10
.obsidian/plugins/obsidian-diagrams-net/manifest.json
vendored
Normal file
10
.obsidian/plugins/obsidian-diagrams-net/manifest.json
vendored
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"id": "obsidian-diagrams-net",
|
||||||
|
"name": "Diagrams.net",
|
||||||
|
"version": "1.0.4",
|
||||||
|
"minAppVersion": "0.12.0",
|
||||||
|
"description": "Enable diagrams.net (previously draw.io) type diagrams, with the diagrams.net embedded editor.",
|
||||||
|
"author": "Jens M Gleditsch",
|
||||||
|
"authorUrl": "https://github.com/jensmtg",
|
||||||
|
"isDesktopOnly": true
|
||||||
|
}
|
228
.obsidian/plugins/obsidian-excel-to-markdown-table/main.js
vendored
Normal file
228
.obsidian/plugins/obsidian-excel-to-markdown-table/main.js
vendored
Normal file
@@ -0,0 +1,228 @@
|
|||||||
|
/*
|
||||||
|
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
||||||
|
if you want to view the source, please visit the github repository of this plugin
|
||||||
|
*/
|
||||||
|
|
||||||
|
var __create = Object.create;
|
||||||
|
var __defProp = Object.defineProperty;
|
||||||
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||||
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||||
|
var __getProtoOf = Object.getPrototypeOf;
|
||||||
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||||
|
var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
|
||||||
|
var __export = (target, all) => {
|
||||||
|
__markAsModule(target);
|
||||||
|
for (var name in all)
|
||||||
|
__defProp(target, name, { get: all[name], enumerable: true });
|
||||||
|
};
|
||||||
|
var __reExport = (target, module2, desc) => {
|
||||||
|
if (module2 && typeof module2 === "object" || typeof module2 === "function") {
|
||||||
|
for (let key of __getOwnPropNames(module2))
|
||||||
|
if (!__hasOwnProp.call(target, key) && key !== "default")
|
||||||
|
__defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
|
||||||
|
}
|
||||||
|
return target;
|
||||||
|
};
|
||||||
|
var __toModule = (module2) => {
|
||||||
|
return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
|
||||||
|
};
|
||||||
|
var __async = (__this, __arguments, generator) => {
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
var fulfilled = (value) => {
|
||||||
|
try {
|
||||||
|
step(generator.next(value));
|
||||||
|
} catch (e) {
|
||||||
|
reject(e);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
var rejected = (value) => {
|
||||||
|
try {
|
||||||
|
step(generator.throw(value));
|
||||||
|
} catch (e) {
|
||||||
|
reject(e);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
||||||
|
step((generator = generator.apply(__this, __arguments)).next());
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
// src/main.ts
|
||||||
|
__export(exports, {
|
||||||
|
default: () => ExcelToMarkdownTablePlugin
|
||||||
|
});
|
||||||
|
var import_obsidian = __toModule(require("obsidian"));
|
||||||
|
|
||||||
|
// src/table-alignment-syntax.ts
|
||||||
|
var ALIGNED_LEFT_SYNTAX = {
|
||||||
|
prefix: "",
|
||||||
|
postfix: "",
|
||||||
|
adjust: 0
|
||||||
|
};
|
||||||
|
var ALIGNED_RIGHT_SYNTAX = {
|
||||||
|
prefix: "",
|
||||||
|
postfix: ":",
|
||||||
|
adjust: 1
|
||||||
|
};
|
||||||
|
var ALIGNED_CENTER_SYNTAX = {
|
||||||
|
prefix: ":",
|
||||||
|
postfix: ":",
|
||||||
|
adjust: 2
|
||||||
|
};
|
||||||
|
|
||||||
|
// src/excel-markdown-helpers.ts
|
||||||
|
var ALIGNED_LEFT = "l";
|
||||||
|
var ALIGNED_RIGHT = "r";
|
||||||
|
var ALIGNED_CENTER = "c";
|
||||||
|
var EXCEL_COLUMN_DELIMITER = " ";
|
||||||
|
var MARKDOWN_NEWLINE = "<br/>";
|
||||||
|
var UNESCAPED_DOUBLE_QUOTE = '"';
|
||||||
|
var EXCEL_ROW_DELIMITER_REGEX = /[\n\u0085\u2028\u2029]|\r\n?/g;
|
||||||
|
var COLUMN_ALIGNMENT_REGEX = /^(\^[lcr])/i;
|
||||||
|
var EXCEL_NEWLINE_ESCAPED_CELL_REGEX = /"([^\t]*(?<=[^\r])\n[^\t]*)"/g;
|
||||||
|
var EXCEL_NEWLINE_REGEX = /\n/g;
|
||||||
|
var EXCEL_DOUBLE_QUOTE_ESCAPED_REGEX = /""/g;
|
||||||
|
function addMarkdownSyntax(rows, columnWidths) {
|
||||||
|
return rows.map(function(row, rowIndex) {
|
||||||
|
return "| " + row.map(function(column, index) {
|
||||||
|
column = column.replace("|", "\\|");
|
||||||
|
return column + Array(columnWidths[index] - column.length + 1).join(" ");
|
||||||
|
}).join(" | ") + " |";
|
||||||
|
});
|
||||||
|
}
|
||||||
|
function addAlignmentSyntax(markdownRows, columnWidths, colAlignments) {
|
||||||
|
let result = Object.assign([], markdownRows);
|
||||||
|
result.splice(1, 0, "|" + columnWidths.map(function(width, index) {
|
||||||
|
let { prefix, postfix, adjust } = calculateAlignmentMarkdownSyntaxMetadata(colAlignments[index]);
|
||||||
|
return prefix + Array(columnWidths[index] + 3 - adjust).join("-") + postfix;
|
||||||
|
}).join("|") + "|");
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
function calculateAlignmentMarkdownSyntaxMetadata(alignment) {
|
||||||
|
switch (alignment) {
|
||||||
|
case ALIGNED_LEFT:
|
||||||
|
return ALIGNED_LEFT_SYNTAX;
|
||||||
|
case ALIGNED_CENTER:
|
||||||
|
return ALIGNED_CENTER_SYNTAX;
|
||||||
|
case ALIGNED_RIGHT:
|
||||||
|
return ALIGNED_RIGHT_SYNTAX;
|
||||||
|
default:
|
||||||
|
return ALIGNED_LEFT_SYNTAX;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function getColumnWidthsAndAlignments(rows) {
|
||||||
|
let colAlignments = [];
|
||||||
|
return {
|
||||||
|
columnWidths: rows[0].map(function(column, columnIndex) {
|
||||||
|
let alignment = columnAlignment(column);
|
||||||
|
colAlignments.push(alignment);
|
||||||
|
column = column.replace(COLUMN_ALIGNMENT_REGEX, "");
|
||||||
|
rows[0][columnIndex] = column;
|
||||||
|
return columnWidth(rows, columnIndex);
|
||||||
|
}),
|
||||||
|
colAlignments
|
||||||
|
};
|
||||||
|
}
|
||||||
|
function columnAlignment(columnHeaderText) {
|
||||||
|
var m = columnHeaderText.match(COLUMN_ALIGNMENT_REGEX);
|
||||||
|
if (m) {
|
||||||
|
var alignChar = m[1][1].toLowerCase();
|
||||||
|
return columnAlignmentFromChar(alignChar);
|
||||||
|
}
|
||||||
|
return ALIGNED_LEFT;
|
||||||
|
}
|
||||||
|
function columnAlignmentFromChar(alignChar) {
|
||||||
|
switch (alignChar) {
|
||||||
|
case ALIGNED_LEFT:
|
||||||
|
return ALIGNED_LEFT;
|
||||||
|
case ALIGNED_CENTER:
|
||||||
|
return ALIGNED_CENTER;
|
||||||
|
case ALIGNED_RIGHT:
|
||||||
|
return ALIGNED_RIGHT;
|
||||||
|
default:
|
||||||
|
return ALIGNED_LEFT;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function columnWidth(rows, columnIndex) {
|
||||||
|
return Math.max.apply(null, rows.map(function(row) {
|
||||||
|
return row[columnIndex] && row[columnIndex].length || 0;
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
function splitIntoRowsAndColumns(data) {
|
||||||
|
var rows = data.split(EXCEL_ROW_DELIMITER_REGEX).map(function(row) {
|
||||||
|
return row.split(EXCEL_COLUMN_DELIMITER);
|
||||||
|
});
|
||||||
|
return rows;
|
||||||
|
}
|
||||||
|
function replaceIntraCellNewline(data) {
|
||||||
|
let cellReplacer = (_) => _.slice(1, -1).replace(EXCEL_DOUBLE_QUOTE_ESCAPED_REGEX, UNESCAPED_DOUBLE_QUOTE).replace(EXCEL_NEWLINE_REGEX, MARKDOWN_NEWLINE);
|
||||||
|
return data.replace(EXCEL_NEWLINE_ESCAPED_CELL_REGEX, cellReplacer);
|
||||||
|
}
|
||||||
|
|
||||||
|
// src/excel-markdown-tables.ts
|
||||||
|
var LINE_ENDING = "\n";
|
||||||
|
function excelToMarkdown(rawData) {
|
||||||
|
let data = rawData.trim();
|
||||||
|
var intraCellNewlineReplacedData = replaceIntraCellNewline(data);
|
||||||
|
var rows = splitIntoRowsAndColumns(intraCellNewlineReplacedData);
|
||||||
|
var { columnWidths, colAlignments } = getColumnWidthsAndAlignments(rows);
|
||||||
|
const markdownRows = addMarkdownSyntax(rows, columnWidths);
|
||||||
|
return addAlignmentSyntax(markdownRows, columnWidths, colAlignments).join(LINE_ENDING);
|
||||||
|
}
|
||||||
|
function getExcelRows(rawData) {
|
||||||
|
let data = rawData.trim();
|
||||||
|
var intraCellNewlineReplacedData = replaceIntraCellNewline(data);
|
||||||
|
return splitIntoRowsAndColumns(intraCellNewlineReplacedData);
|
||||||
|
}
|
||||||
|
function excelRowsToMarkdown(rows) {
|
||||||
|
var { columnWidths, colAlignments } = getColumnWidthsAndAlignments(rows);
|
||||||
|
const markdownRows = addMarkdownSyntax(rows, columnWidths);
|
||||||
|
return addAlignmentSyntax(markdownRows, columnWidths, colAlignments).join(LINE_ENDING);
|
||||||
|
}
|
||||||
|
function isExcelData(rows) {
|
||||||
|
return rows && rows[0] && rows[0].length > 1 ? true : false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// src/main.ts
|
||||||
|
var ExcelToMarkdownTablePlugin = class extends import_obsidian.Plugin {
|
||||||
|
constructor() {
|
||||||
|
super(...arguments);
|
||||||
|
this.pasteHandler = (evt, editor) => {
|
||||||
|
if (evt.clipboardData === null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (evt.clipboardData.types.length === 1 && evt.clipboardData.types[0] === "text/plain") {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const rawData = evt.clipboardData.getData("text");
|
||||||
|
const rows = getExcelRows(rawData);
|
||||||
|
if (isExcelData(rows)) {
|
||||||
|
const markdownData = excelRowsToMarkdown(rows);
|
||||||
|
editor.replaceSelection(markdownData + "\n");
|
||||||
|
evt.preventDefault();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
onload() {
|
||||||
|
return __async(this, null, function* () {
|
||||||
|
this.addCommand({
|
||||||
|
id: "excel-to-markdown-table",
|
||||||
|
name: "Excel to Markdown",
|
||||||
|
hotkeys: [
|
||||||
|
{
|
||||||
|
modifiers: ["Mod", "Alt"],
|
||||||
|
key: "v"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
editorCallback: (editor, view) => __async(this, null, function* () {
|
||||||
|
const text = yield navigator.clipboard.readText();
|
||||||
|
editor.replaceSelection(excelToMarkdown(text));
|
||||||
|
})
|
||||||
|
});
|
||||||
|
this.app.workspace.on("editor-paste", this.pasteHandler);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
onunload() {
|
||||||
|
this.app.workspace.off("editor-paste", this.pasteHandler);
|
||||||
|
}
|
||||||
|
};
|
10
.obsidian/plugins/obsidian-excel-to-markdown-table/manifest.json
vendored
Normal file
10
.obsidian/plugins/obsidian-excel-to-markdown-table/manifest.json
vendored
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"id": "obsidian-excel-to-markdown-table",
|
||||||
|
"name": "Excel to Markdown Table",
|
||||||
|
"version": "0.4.0",
|
||||||
|
"minAppVersion": "0.12.0",
|
||||||
|
"description": "An Obsidian plugin to paste data from Microsoft Excel, Google Sheets, Apple Numbers and LibreOffice Calc as Markdown tables in Obsidian editor.",
|
||||||
|
"author": "Ganessh Kumar R P <rpganesshkumar@gmail.com>",
|
||||||
|
"authorUrl": "https://ganesshkumar.com",
|
||||||
|
"isDesktopOnly": false
|
||||||
|
}
|
1
.obsidian/plugins/obsidian-excel-to-markdown-table/styles.css
vendored
Normal file
1
.obsidian/plugins/obsidian-excel-to-markdown-table/styles.css
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
|
29
.obsidian/plugins/obsidian-full-calendar/data.json
vendored
Normal file
29
.obsidian/plugins/obsidian-full-calendar/data.json
vendored
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
{
|
||||||
|
"calendarSources": [
|
||||||
|
{
|
||||||
|
"type": "caldav",
|
||||||
|
"name": "Personal",
|
||||||
|
"url": "https://cloud.borishub.co.uk/remote.php/dav",
|
||||||
|
"homeUrl": "https://cloud.borishub.co.uk/remote.php/dav/calendars/boris/personal/",
|
||||||
|
"color": "#795AAB",
|
||||||
|
"username": "boris",
|
||||||
|
"password": "9PFNM-dwLnK-ZPAQq-ndZNa-H2YSa"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "caldav",
|
||||||
|
"name": "Contact birthdays",
|
||||||
|
"url": "https://cloud.borishub.co.uk/remote.php/dav",
|
||||||
|
"homeUrl": "https://cloud.borishub.co.uk/remote.php/dav/calendars/boris/contact_birthdays/",
|
||||||
|
"color": "#E9D859",
|
||||||
|
"username": "boris",
|
||||||
|
"password": "9PFNM-dwLnK-ZPAQq-ndZNa-H2YSa"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"defaultCalendar": 0,
|
||||||
|
"firstDay": 0,
|
||||||
|
"initialView": {
|
||||||
|
"desktop": "timeGridWeek",
|
||||||
|
"mobile": "timeGrid3Days"
|
||||||
|
},
|
||||||
|
"timeFormat24h": false
|
||||||
|
}
|
65473
.obsidian/plugins/obsidian-full-calendar/main.js
vendored
Normal file
65473
.obsidian/plugins/obsidian-full-calendar/main.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
11
.obsidian/plugins/obsidian-full-calendar/manifest.json
vendored
Normal file
11
.obsidian/plugins/obsidian-full-calendar/manifest.json
vendored
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"id": "obsidian-full-calendar",
|
||||||
|
"name": "Full Calendar",
|
||||||
|
"version": "0.10.7",
|
||||||
|
"minAppVersion": "0.16.3",
|
||||||
|
"description": "Obsidian integration with Full Calendar (fullcalendar.io)",
|
||||||
|
"author": "Davis Haupt",
|
||||||
|
"authorUrl": "https://davi.sh",
|
||||||
|
"isDesktopOnly": false,
|
||||||
|
"fundingUrl": "https://ko-fi.com/davish"
|
||||||
|
}
|
1327
.obsidian/plugins/obsidian-full-calendar/styles.css
vendored
Normal file
1327
.obsidian/plugins/obsidian-full-calendar/styles.css
vendored
Normal file
File diff suppressed because it is too large
Load Diff
58
.obsidian/plugins/obsidian-git/data.json
vendored
Normal file
58
.obsidian/plugins/obsidian-git/data.json
vendored
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
{
|
||||||
|
"commitMessage": "vault backup: {{date}}",
|
||||||
|
"commitDateFormat": "YYYY-MM-DD HH:mm:ss",
|
||||||
|
"autoSaveInterval": 0,
|
||||||
|
"autoPushInterval": 0,
|
||||||
|
"autoPullInterval": 0,
|
||||||
|
"autoPullOnBoot": true,
|
||||||
|
"disablePush": false,
|
||||||
|
"pullBeforePush": true,
|
||||||
|
"disablePopups": false,
|
||||||
|
"disablePopupsForNoChanges": 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,
|
||||||
|
"submoduleRecurseCheckout": false,
|
||||||
|
"gitDir": "",
|
||||||
|
"showFileMenu": true,
|
||||||
|
"authorInHistoryView": "hide",
|
||||||
|
"dateInHistoryView": false,
|
||||||
|
"lineAuthor": {
|
||||||
|
"show": false,
|
||||||
|
"followMovement": "inactive",
|
||||||
|
"authorDisplay": "initials",
|
||||||
|
"showCommitHash": false,
|
||||||
|
"dateTimeFormatOptions": "date",
|
||||||
|
"dateTimeFormatCustomString": "YYYY-MM-DD HH:mm",
|
||||||
|
"dateTimeTimezone": "viewer-local",
|
||||||
|
"coloringMaxAge": "1y",
|
||||||
|
"colorNew": {
|
||||||
|
"r": 255,
|
||||||
|
"g": 150,
|
||||||
|
"b": 150
|
||||||
|
},
|
||||||
|
"colorOld": {
|
||||||
|
"r": 120,
|
||||||
|
"g": 160,
|
||||||
|
"b": 255
|
||||||
|
},
|
||||||
|
"textColorCss": "var(--text-muted)",
|
||||||
|
"ignoreWhitespace": false,
|
||||||
|
"gutterSpacingFallbackLength": 5,
|
||||||
|
"lastShownAuthorDisplay": "initials",
|
||||||
|
"lastShownDateTimeFormatOptions": "date"
|
||||||
|
},
|
||||||
|
"autoCommitMessage": "vault backup: {{date}}"
|
||||||
|
}
|
44951
.obsidian/plugins/obsidian-git/main.js
vendored
Normal file
44951
.obsidian/plugins/obsidian-git/main.js
vendored
Normal file
File diff suppressed because one or more lines are too long
10
.obsidian/plugins/obsidian-git/manifest.json
vendored
Normal file
10
.obsidian/plugins/obsidian-git/manifest.json
vendored
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"author": "Vinzent",
|
||||||
|
"authorUrl": "https://github.com/Vinzent03",
|
||||||
|
"id": "obsidian-git",
|
||||||
|
"name": "Git",
|
||||||
|
"description": "Integrate Git version control with automatic backup and other advanced features.",
|
||||||
|
"isDesktopOnly": false,
|
||||||
|
"fundingUrl": "https://ko-fi.com/vinzent",
|
||||||
|
"version": "2.26.0"
|
||||||
|
}
|
562
.obsidian/plugins/obsidian-git/styles.css
vendored
Normal file
562
.obsidian/plugins/obsidian-git/styles.css
vendored
Normal file
@@ -0,0 +1,562 @@
|
|||||||
|
@keyframes loading {
|
||||||
|
0% {
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
transform: rotate(360deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="git-view"] .button-border {
|
||||||
|
border: 2px solid var(--interactive-accent);
|
||||||
|
border-radius: var(--radius-s);
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="git-view"] .view-content {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="git-history-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;
|
||||||
|
}
|
||||||
|
.git-tools {
|
||||||
|
display: flex;
|
||||||
|
margin-left: auto;
|
||||||
|
}
|
||||||
|
.git-tools .type {
|
||||||
|
padding-left: var(--size-2-1);
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
width: 11px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.git-tools .type[data-type="M"] {
|
||||||
|
color: orange;
|
||||||
|
}
|
||||||
|
.git-tools .type[data-type="D"] {
|
||||||
|
color: red;
|
||||||
|
}
|
||||||
|
.git-tools .buttons {
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
.git-tools .buttons > * {
|
||||||
|
padding: 0 0;
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.is-active .git-tools .buttons > * {
|
||||||
|
color: var(--nav-item-color-active);
|
||||||
|
}
|
||||||
|
|
||||||
|
.git-author {
|
||||||
|
color: var(--text-accent);
|
||||||
|
}
|
||||||
|
|
||||||
|
.git-date {
|
||||||
|
color: var(--text-accent);
|
||||||
|
}
|
||||||
|
|
||||||
|
.git-ref {
|
||||||
|
color: var(--text-accent);
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-d-none {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-wrapper {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-file-header {
|
||||||
|
background-color: var(--background-primary);
|
||||||
|
border-bottom: 1px solid var(--interactive-accent);
|
||||||
|
font-family: var(--font-monospace);
|
||||||
|
height: 35px;
|
||||||
|
padding: 5px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-file-header,
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-file-stats {
|
||||||
|
display: -webkit-box;
|
||||||
|
display: -ms-flexbox;
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-file-stats {
|
||||||
|
font-size: 14px;
|
||||||
|
margin-left: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-lines-added {
|
||||||
|
border: 1px solid #b4e2b4;
|
||||||
|
border-radius: 5px 0 0 5px;
|
||||||
|
color: #399839;
|
||||||
|
padding: 2px;
|
||||||
|
text-align: right;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-lines-deleted {
|
||||||
|
border: 1px solid #e9aeae;
|
||||||
|
border-radius: 0 5px 5px 0;
|
||||||
|
color: #c33;
|
||||||
|
margin-left: 1px;
|
||||||
|
padding: 2px;
|
||||||
|
text-align: left;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-file-name-wrapper {
|
||||||
|
-webkit-box-align: center;
|
||||||
|
-ms-flex-align: center;
|
||||||
|
align-items: center;
|
||||||
|
display: -webkit-box;
|
||||||
|
display: -ms-flexbox;
|
||||||
|
display: flex;
|
||||||
|
font-size: 15px;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-file-name {
|
||||||
|
overflow-x: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-file-wrapper {
|
||||||
|
border: 1px solid var(--background-modifier-border);
|
||||||
|
border-radius: 3px;
|
||||||
|
margin-bottom: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-file-collapse {
|
||||||
|
-webkit-box-pack: end;
|
||||||
|
-ms-flex-pack: end;
|
||||||
|
-webkit-box-align: center;
|
||||||
|
-ms-flex-align: center;
|
||||||
|
align-items: center;
|
||||||
|
border: 1px solid var(--background-modifier-border);
|
||||||
|
border-radius: 3px;
|
||||||
|
cursor: pointer;
|
||||||
|
display: none;
|
||||||
|
font-size: 12px;
|
||||||
|
justify-content: flex-end;
|
||||||
|
padding: 4px 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-file-collapse.d2h-selected {
|
||||||
|
background-color: #c8e1ff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-file-collapse-input {
|
||||||
|
margin: 0 4px 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-diff-table {
|
||||||
|
border-collapse: collapse;
|
||||||
|
font-family: Menlo, Consolas, monospace;
|
||||||
|
font-size: 13px;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-files-diff {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-file-diff {
|
||||||
|
overflow-y: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-file-side-diff {
|
||||||
|
display: inline-block;
|
||||||
|
margin-bottom: -8px;
|
||||||
|
margin-right: -4px;
|
||||||
|
overflow-x: scroll;
|
||||||
|
overflow-y: hidden;
|
||||||
|
width: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line {
|
||||||
|
padding: 0 8em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line,
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-line {
|
||||||
|
display: inline-block;
|
||||||
|
-webkit-user-select: none;
|
||||||
|
-moz-user-select: none;
|
||||||
|
-ms-user-select: none;
|
||||||
|
user-select: none;
|
||||||
|
white-space: nowrap;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-line {
|
||||||
|
padding: 0 4.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line-ctn {
|
||||||
|
word-wrap: normal;
|
||||||
|
background: none;
|
||||||
|
display: inline-block;
|
||||||
|
padding: 0;
|
||||||
|
-webkit-user-select: text;
|
||||||
|
-moz-user-select: text;
|
||||||
|
-ms-user-select: text;
|
||||||
|
user-select: text;
|
||||||
|
vertical-align: middle;
|
||||||
|
white-space: pre;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.theme-light .workspace-leaf-content[data-type="diff-view"] .d2h-code-line del,
|
||||||
|
.theme-light
|
||||||
|
.workspace-leaf-content[data-type="diff-view"]
|
||||||
|
.d2h-code-side-line
|
||||||
|
del {
|
||||||
|
background-color: #ffb6ba;
|
||||||
|
}
|
||||||
|
|
||||||
|
.theme-dark .workspace-leaf-content[data-type="diff-view"] .d2h-code-line del,
|
||||||
|
.theme-dark
|
||||||
|
.workspace-leaf-content[data-type="diff-view"]
|
||||||
|
.d2h-code-side-line
|
||||||
|
del {
|
||||||
|
background-color: #8d232881;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line del,
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line ins,
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-line del,
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-line ins {
|
||||||
|
border-radius: 0.2em;
|
||||||
|
display: inline-block;
|
||||||
|
margin-top: -1px;
|
||||||
|
text-decoration: none;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
|
||||||
|
.theme-light .workspace-leaf-content[data-type="diff-view"] .d2h-code-line ins,
|
||||||
|
.theme-light
|
||||||
|
.workspace-leaf-content[data-type="diff-view"]
|
||||||
|
.d2h-code-side-line
|
||||||
|
ins {
|
||||||
|
background-color: #97f295;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.theme-dark .workspace-leaf-content[data-type="diff-view"] .d2h-code-line ins,
|
||||||
|
.theme-dark
|
||||||
|
.workspace-leaf-content[data-type="diff-view"]
|
||||||
|
.d2h-code-side-line
|
||||||
|
ins {
|
||||||
|
background-color: #1d921996;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line-prefix {
|
||||||
|
word-wrap: normal;
|
||||||
|
background: none;
|
||||||
|
display: inline;
|
||||||
|
padding: 0;
|
||||||
|
white-space: pre;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .line-num1 {
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .line-num1,
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .line-num2 {
|
||||||
|
-webkit-box-sizing: border-box;
|
||||||
|
box-sizing: border-box;
|
||||||
|
overflow: hidden;
|
||||||
|
padding: 0 0.5em;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
width: 3.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .line-num2 {
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-code-linenumber {
|
||||||
|
background-color: var(--background-primary);
|
||||||
|
border: solid var(--background-modifier-border);
|
||||||
|
border-width: 0 1px;
|
||||||
|
-webkit-box-sizing: border-box;
|
||||||
|
box-sizing: border-box;
|
||||||
|
color: var(--text-muted);
|
||||||
|
cursor: pointer;
|
||||||
|
display: inline-block;
|
||||||
|
position: absolute;
|
||||||
|
text-align: right;
|
||||||
|
width: 7.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-code-linenumber:after {
|
||||||
|
content: "\200b";
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-linenumber {
|
||||||
|
background-color: var(--background-primary);
|
||||||
|
border: solid var(--background-modifier-border);
|
||||||
|
border-width: 0 1px;
|
||||||
|
-webkit-box-sizing: border-box;
|
||||||
|
box-sizing: border-box;
|
||||||
|
color: var(--text-muted);
|
||||||
|
cursor: pointer;
|
||||||
|
display: inline-block;
|
||||||
|
overflow: hidden;
|
||||||
|
padding: 0 0.5em;
|
||||||
|
position: absolute;
|
||||||
|
text-align: right;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
width: 4em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-diff-tbody tr {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-linenumber:after {
|
||||||
|
content: "\200b";
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-emptyplaceholder,
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-emptyplaceholder {
|
||||||
|
background-color: var(--background-primary);
|
||||||
|
border-color: var(--background-modifier-border);
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line-prefix,
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-code-linenumber,
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-linenumber,
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-emptyplaceholder {
|
||||||
|
-webkit-user-select: none;
|
||||||
|
-moz-user-select: none;
|
||||||
|
-ms-user-select: none;
|
||||||
|
user-select: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-code-linenumber,
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-linenumber {
|
||||||
|
direction: rtl;
|
||||||
|
}
|
||||||
|
|
||||||
|
.theme-light .workspace-leaf-content[data-type="diff-view"] .d2h-del {
|
||||||
|
background-color: #fee8e9;
|
||||||
|
border-color: #e9aeae;
|
||||||
|
}
|
||||||
|
|
||||||
|
.theme-light .workspace-leaf-content[data-type="diff-view"] .d2h-ins {
|
||||||
|
background-color: #dfd;
|
||||||
|
border-color: #b4e2b4;
|
||||||
|
}
|
||||||
|
|
||||||
|
.theme-dark .workspace-leaf-content[data-type="diff-view"] .d2h-del {
|
||||||
|
background-color: #521b1d83;
|
||||||
|
border-color: #691d1d73;
|
||||||
|
}
|
||||||
|
|
||||||
|
.theme-dark .workspace-leaf-content[data-type="diff-view"] .d2h-ins {
|
||||||
|
background-color: rgba(30, 71, 30, 0.5);
|
||||||
|
border-color: #13501381;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-info {
|
||||||
|
background-color: var(--background-primary);
|
||||||
|
border-color: var(--background-modifier-border);
|
||||||
|
color: var(--text-normal);
|
||||||
|
}
|
||||||
|
|
||||||
|
.theme-light
|
||||||
|
.workspace-leaf-content[data-type="diff-view"]
|
||||||
|
.d2h-file-diff
|
||||||
|
.d2h-del.d2h-change {
|
||||||
|
background-color: #fdf2d0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.theme-dark
|
||||||
|
.workspace-leaf-content[data-type="diff-view"]
|
||||||
|
.d2h-file-diff
|
||||||
|
.d2h-del.d2h-change {
|
||||||
|
background-color: #55492480;
|
||||||
|
}
|
||||||
|
|
||||||
|
.theme-light
|
||||||
|
.workspace-leaf-content[data-type="diff-view"]
|
||||||
|
.d2h-file-diff
|
||||||
|
.d2h-ins.d2h-change {
|
||||||
|
background-color: #ded;
|
||||||
|
}
|
||||||
|
|
||||||
|
.theme-dark
|
||||||
|
.workspace-leaf-content[data-type="diff-view"]
|
||||||
|
.d2h-file-diff
|
||||||
|
.d2h-ins.d2h-change {
|
||||||
|
background-color: rgba(37, 78, 37, 0.418);
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-wrapper {
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-wrapper a {
|
||||||
|
color: #3572b0;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"]
|
||||||
|
.d2h-file-list-wrapper
|
||||||
|
a:visited {
|
||||||
|
color: #3572b0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-header {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-title {
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-line {
|
||||||
|
display: -webkit-box;
|
||||||
|
display: -ms-flexbox;
|
||||||
|
display: flex;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list {
|
||||||
|
display: block;
|
||||||
|
list-style: none;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list > li {
|
||||||
|
border-bottom: 1px solid var(--background-modifier-border);
|
||||||
|
margin: 0;
|
||||||
|
padding: 5px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list > li:last-child {
|
||||||
|
border-bottom: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-file-switch {
|
||||||
|
cursor: pointer;
|
||||||
|
display: none;
|
||||||
|
font-size: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-icon {
|
||||||
|
fill: currentColor;
|
||||||
|
margin-right: 10px;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-deleted {
|
||||||
|
color: #c33;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-added {
|
||||||
|
color: #399839;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-changed {
|
||||||
|
color: #d0b44c;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-moved {
|
||||||
|
color: #3572b0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-tag {
|
||||||
|
background-color: var(--background-primary);
|
||||||
|
display: -webkit-box;
|
||||||
|
display: -ms-flexbox;
|
||||||
|
display: flex;
|
||||||
|
font-size: 10px;
|
||||||
|
margin-left: 5px;
|
||||||
|
padding: 0 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-deleted-tag {
|
||||||
|
border: 2px solid #c33;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-added-tag {
|
||||||
|
border: 1px solid #399839;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-changed-tag {
|
||||||
|
border: 1px solid #d0b44c;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-moved-tag {
|
||||||
|
border: 1px solid #3572b0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ====================== Line Authoring Information ====================== */
|
||||||
|
|
||||||
|
.cm-gutterElement.obs-git-blame-gutter {
|
||||||
|
/* Add background color to spacing inbetween and around the gutter for better aesthetics */
|
||||||
|
border-width: 0px 2px 0.2px 2px;
|
||||||
|
border-style: solid;
|
||||||
|
border-color: var(--background-secondary);
|
||||||
|
background-color: var(--background-secondary);
|
||||||
|
}
|
||||||
|
|
||||||
|
.cm-gutterElement.obs-git-blame-gutter > div,
|
||||||
|
.line-author-settings-preview {
|
||||||
|
/* delegate text color to settings */
|
||||||
|
color: var(--obs-git-gutter-text);
|
||||||
|
font-family: monospace;
|
||||||
|
height: 100%; /* ensure, that age-based background color occupies entire parent */
|
||||||
|
text-align: right;
|
||||||
|
padding: 0px 6px 0px 6px;
|
||||||
|
white-space: pre; /* Keep spaces and do not collapse them. */
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 800px) {
|
||||||
|
/* hide git blame gutter not to superpose text */
|
||||||
|
.cm-gutterElement.obs-git-blame-gutter {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
257
.obsidian/plugins/obsidian-linter/data.json
vendored
Normal file
257
.obsidian/plugins/obsidian-linter/data.json
vendored
Normal file
@@ -0,0 +1,257 @@
|
|||||||
|
{
|
||||||
|
"ruleConfigs": {
|
||||||
|
"escape-yaml-special-characters": {
|
||||||
|
"enabled": false,
|
||||||
|
"try-to-escape-single-line-arrays": false
|
||||||
|
},
|
||||||
|
"force-yaml-escape": {
|
||||||
|
"enabled": false,
|
||||||
|
"force-yaml-escape-keys": ""
|
||||||
|
},
|
||||||
|
"format-tags-in-yaml": {
|
||||||
|
"enabled": false
|
||||||
|
},
|
||||||
|
"format-yaml-array": {
|
||||||
|
"enabled": false,
|
||||||
|
"alias-key": true,
|
||||||
|
"tag-key": true,
|
||||||
|
"default-array-style": "single-line",
|
||||||
|
"default-array-keys": true,
|
||||||
|
"force-single-line-array-style": "",
|
||||||
|
"force-multi-line-array-style": ""
|
||||||
|
},
|
||||||
|
"insert-yaml-attributes": {
|
||||||
|
"enabled": false,
|
||||||
|
"text-to-insert": "aliases: \ntags: "
|
||||||
|
},
|
||||||
|
"move-tags-to-yaml": {
|
||||||
|
"enabled": false,
|
||||||
|
"how-to-handle-existing-tags": "Nothing",
|
||||||
|
"tags-to-ignore": ""
|
||||||
|
},
|
||||||
|
"remove-yaml-keys": {
|
||||||
|
"enabled": false,
|
||||||
|
"yaml-keys-to-remove": ""
|
||||||
|
},
|
||||||
|
"yaml-key-sort": {
|
||||||
|
"enabled": false,
|
||||||
|
"yaml-key-priority-sort-order": "",
|
||||||
|
"priority-keys-at-start-of-yaml": true,
|
||||||
|
"yaml-sort-order-for-other-keys": "None"
|
||||||
|
},
|
||||||
|
"yaml-timestamp": {
|
||||||
|
"enabled": false,
|
||||||
|
"date-created": true,
|
||||||
|
"date-created-key": "date created",
|
||||||
|
"force-retention-of-create-value": false,
|
||||||
|
"date-modified": true,
|
||||||
|
"date-modified-key": "date modified",
|
||||||
|
"format": "dddd, MMMM Do YYYY, h:mm:ss a"
|
||||||
|
},
|
||||||
|
"yaml-title": {
|
||||||
|
"enabled": false,
|
||||||
|
"title-key": "title",
|
||||||
|
"mode": "first-h1-or-filename-if-h1-missing"
|
||||||
|
},
|
||||||
|
"yaml-title-alias": {
|
||||||
|
"enabled": false,
|
||||||
|
"preserve-existing-alias-section-style": true,
|
||||||
|
"keep-alias-that-matches-the-filename": false,
|
||||||
|
"use-yaml-key-to-keep-track-of-old-filename-or-heading": true
|
||||||
|
},
|
||||||
|
"capitalize-headings": {
|
||||||
|
"enabled": true,
|
||||||
|
"style": "Title Case",
|
||||||
|
"ignore-case-words": true,
|
||||||
|
"ignore-words": "macOS, iOS, iPhone, iPad, JavaScript, TypeScript, AppleScript, I",
|
||||||
|
"lowercase-words": "a, an, the, aboard, about, abt., above, abreast, absent, across, after, against, along, aloft, alongside, amid, amidst, mid, midst, among, amongst, anti, apropos, around, round, as, aslant, astride, at, atop, ontop, bar, barring, before, B4, behind, below, beneath, neath, beside, besides, between, 'tween, beyond, but, by, chez, circa, c., ca., come, concerning, contra, counting, cum, despite, spite, down, during, effective, ere, except, excepting, excluding, failing, following, for, from, in, including, inside, into, less, like, minus, modulo, mod, near, nearer, nearest, next, notwithstanding, of, o', off, offshore, on, onto, opposite, out, outside, over, o'er, pace, past, pending, per, plus, post, pre, pro, qua, re, regarding, respecting, sans, save, saving, short, since, sub, than, through, thru, throughout, thruout, till, times, to, t', touching, toward, towards, under, underneath, unlike, until, unto, up, upon, versus, vs., v., via, vice, vis-à-vis, wanting, with, w/, w., c̄, within, w/i, without, 'thout, w/o, abroad, adrift, aft, afterward, afterwards, ahead, apart, ashore, aside, away, back, backward, backwards, beforehand, downhill, downstage, downstairs, downstream, downward, downwards, downwind, east, eastward, eastwards, forth, forward, forwards, heavenward, heavenwards, hence, henceforth, here, hereby, herein, hereof, hereto, herewith, home, homeward, homewards, indoors, inward, inwards, leftward, leftwards, north, northeast, northward, northwards, northwest, now, onward, onwards, outdoors, outward, outwards, overboard, overhead, overland, overseas, rightward, rightwards, seaward, seawards, skywards, skyward, south, southeast, southwards, southward, southwest, then, thence, thenceforth, there, thereby, therein, thereof, thereto, therewith, together, underfoot, underground, uphill, upstage, upstairs, upstream, upward, upwards, upwind, west, westward, westwards, when, whence, where, whereby, wherein, whereto, wherewith, although, because, considering, given, granted, if, lest, once, provided, providing, seeing, so, supposing, though, unless, whenever, whereas, wherever, while, whilst, ago, according to, as regards, counter to, instead of, owing to, pertaining to, at the behest of, at the expense of, at the hands of, at risk of, at the risk of, at variance with, by dint of, by means of, by virtue of, by way of, for the sake of, for sake of, for lack of, for want of, from want of, in accordance with, in addition to, in case of, in charge of, in compliance with, in conformity with, in contact with, in exchange for, in favor of, in front of, in lieu of, in light of, in the light of, in line with, in place of, in point of, in quest of, in relation to, in regard to, with regard to, in respect to, with respect to, in return for, in search of, in step with, in touch with, in terms of, in the name of, in view of, on account of, on behalf of, on grounds of, on the grounds of, on the part of, on top of, with a view to, with the exception of, à la, a la, as soon as, as well as, close to, due to, far from, in case, other than, prior to, pursuant to, regardless of, subsequent to, as long as, as much as, as far as, by the time, in as much as, inasmuch, in order to, in order that, even, provide that, if only, whether, whose, whoever, why, how, or not, whatever, what, both, and, or, not only, but also, either, neither, nor, just, rather, no sooner, such, that, yet, is, it"
|
||||||
|
},
|
||||||
|
"file-name-heading": {
|
||||||
|
"enabled": false
|
||||||
|
},
|
||||||
|
"header-increment": {
|
||||||
|
"enabled": false,
|
||||||
|
"start-at-h2": false
|
||||||
|
},
|
||||||
|
"headings-start-line": {
|
||||||
|
"enabled": false
|
||||||
|
},
|
||||||
|
"remove-trailing-punctuation-in-heading": {
|
||||||
|
"enabled": false,
|
||||||
|
"punctuation-to-remove": ".,;:!。,;:!"
|
||||||
|
},
|
||||||
|
"footnote-after-punctuation": {
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
"move-footnotes-to-the-bottom": {
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
"re-index-footnotes": {
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
"auto-correct-common-misspellings": {
|
||||||
|
"enabled": true,
|
||||||
|
"ignore-words": ""
|
||||||
|
},
|
||||||
|
"blockquote-style": {
|
||||||
|
"enabled": true,
|
||||||
|
"style": "space"
|
||||||
|
},
|
||||||
|
"convert-bullet-list-markers": {
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
"emphasis-style": {
|
||||||
|
"enabled": true,
|
||||||
|
"style": "asterisk"
|
||||||
|
},
|
||||||
|
"no-bare-urls": {
|
||||||
|
"enabled": true,
|
||||||
|
"no-bare-uris": true
|
||||||
|
},
|
||||||
|
"ordered-list-style": {
|
||||||
|
"enabled": true,
|
||||||
|
"number-style": "ascending",
|
||||||
|
"list-end-style": "."
|
||||||
|
},
|
||||||
|
"proper-ellipsis": {
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
"quote-style": {
|
||||||
|
"enabled": false,
|
||||||
|
"single-quote-enabled": true,
|
||||||
|
"single-quote-style": "''",
|
||||||
|
"double-quote-enabled": true,
|
||||||
|
"double-quote-style": "\"\""
|
||||||
|
},
|
||||||
|
"remove-consecutive-list-markers": {
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
"remove-empty-list-markers": {
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
"remove-hyphenated-line-breaks": {
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
"remove-multiple-spaces": {
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
"strong-style": {
|
||||||
|
"enabled": true,
|
||||||
|
"style": "consistent"
|
||||||
|
},
|
||||||
|
"two-spaces-between-lines-with-content": {
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
"unordered-list-style": {
|
||||||
|
"enabled": true,
|
||||||
|
"list-style": "consistent"
|
||||||
|
},
|
||||||
|
"compact-yaml": {
|
||||||
|
"enabled": true,
|
||||||
|
"inner-new-lines": false
|
||||||
|
},
|
||||||
|
"consecutive-blank-lines": {
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
"convert-spaces-to-tabs": {
|
||||||
|
"enabled": true,
|
||||||
|
"tabsize": " "
|
||||||
|
},
|
||||||
|
"empty-line-around-blockquotes": {
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
"empty-line-around-code-fences": {
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
"empty-line-around-math-blocks": {
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
"empty-line-around-tables": {
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
"heading-blank-lines": {
|
||||||
|
"enabled": true,
|
||||||
|
"bottom": true,
|
||||||
|
"empty-line-after-yaml": true
|
||||||
|
},
|
||||||
|
"line-break-at-document-end": {
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
"move-math-block-indicators-to-their-own-line": {
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
"paragraph-blank-lines": {
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
"remove-empty-lines-between-list-markers-and-checklists": {
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
"remove-link-spacing": {
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
"remove-space-around-characters": {
|
||||||
|
"enabled": false,
|
||||||
|
"include-fullwidth-forms": true,
|
||||||
|
"include-cjk-symbols-and-punctuation": true,
|
||||||
|
"include-dashes": true,
|
||||||
|
"other-symbols": ""
|
||||||
|
},
|
||||||
|
"remove-space-before-or-after-characters": {
|
||||||
|
"enabled": false,
|
||||||
|
"characters-to-remove-space-before": ",!?;:).’”]",
|
||||||
|
"characters-to-remove-space-after": "¿¡‘“(["
|
||||||
|
},
|
||||||
|
"space-after-list-markers": {
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
"space-between-chinese-japanese-or-korean-and-english-or-numbers": {
|
||||||
|
"enabled": false
|
||||||
|
},
|
||||||
|
"trailing-spaces": {
|
||||||
|
"enabled": true,
|
||||||
|
"twp-space-line-break": false
|
||||||
|
},
|
||||||
|
"add-blockquote-indentation-on-paste": {
|
||||||
|
"enabled": false
|
||||||
|
},
|
||||||
|
"prevent-double-checklist-indicator-on-paste": {
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
"prevent-double-list-item-indicator-on-paste": {
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
"proper-ellipsis-on-paste": {
|
||||||
|
"enabled": false
|
||||||
|
},
|
||||||
|
"remove-hyphens-on-paste": {
|
||||||
|
"enabled": false
|
||||||
|
},
|
||||||
|
"remove-leading-or-trailing-whitespace-on-paste": {
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
"remove-leftover-footnotes-from-quote-on-paste": {
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
"remove-multiple-blank-lines-on-paste": {
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"lintOnSave": true,
|
||||||
|
"recordLintOnSaveLogs": false,
|
||||||
|
"displayChanged": true,
|
||||||
|
"lintOnFileChange": false,
|
||||||
|
"displayLintOnFileChangeNotice": false,
|
||||||
|
"settingsConvertedToConfigKeyValues": true,
|
||||||
|
"foldersToIgnore": [],
|
||||||
|
"linterLocale": "system-default",
|
||||||
|
"logLevel": "ERROR",
|
||||||
|
"lintCommands": [],
|
||||||
|
"customRegexes": [],
|
||||||
|
"commonStyles": {
|
||||||
|
"aliasArrayStyle": "single-line",
|
||||||
|
"tagArrayStyle": "single-line",
|
||||||
|
"minimumNumberOfDollarSignsToBeAMathBlock": 2,
|
||||||
|
"escapeCharacter": "\"",
|
||||||
|
"removeUnnecessaryEscapeCharsForMultiLineArrays": false
|
||||||
|
}
|
||||||
|
}
|
320
.obsidian/plugins/obsidian-linter/main.js
vendored
Normal file
320
.obsidian/plugins/obsidian-linter/main.js
vendored
Normal file
File diff suppressed because one or more lines are too long
11
.obsidian/plugins/obsidian-linter/manifest.json
vendored
Normal file
11
.obsidian/plugins/obsidian-linter/manifest.json
vendored
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"id": "obsidian-linter",
|
||||||
|
"name": "Linter",
|
||||||
|
"version": "1.26.0",
|
||||||
|
"minAppVersion": "1.5.7",
|
||||||
|
"description": "Formats and styles your notes. It can be used to format YAML tags, aliases, arrays, and metadata; footnotes; headings; spacing; math blocks; regular markdown contents like list, italics, and bold styles; and more with the use of custom rule options as well.",
|
||||||
|
"author": "Victor Tao",
|
||||||
|
"authorUrl": "https://github.com/platers",
|
||||||
|
"helpUrl": "https://platers.github.io/obsidian-linter/",
|
||||||
|
"isDesktopOnly": false
|
||||||
|
}
|
244
.obsidian/plugins/obsidian-linter/styles.css
vendored
Normal file
244
.obsidian/plugins/obsidian-linter/styles.css
vendored
Normal file
@@ -0,0 +1,244 @@
|
|||||||
|
/**
|
||||||
|
* Based on https://github.com/Fevol/obsidian-translate/blob/master/src/ui/translator-components/SettingsPage.svelte
|
||||||
|
*/
|
||||||
|
|
||||||
|
.linter-navigation-item {
|
||||||
|
cursor: pointer;
|
||||||
|
border-radius: 100px;
|
||||||
|
border: 1px solid var(--background-modifier-border);
|
||||||
|
border-radius: 8px 8px 2px 2px;
|
||||||
|
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 16px;
|
||||||
|
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
white-space: nowrap;
|
||||||
|
|
||||||
|
padding: 4px 6px;
|
||||||
|
align-items: center;
|
||||||
|
gap: 4px;
|
||||||
|
overflow: hidden;
|
||||||
|
|
||||||
|
background-color: var(--background-primary-secondary-alt);
|
||||||
|
|
||||||
|
transition: color 0.25s ease-in-out,
|
||||||
|
padding 0.25s ease-in-out,
|
||||||
|
background-color 0.35s cubic-bezier(0.45, 0.25, 0.83, 0.67),
|
||||||
|
max-width 0.35s cubic-bezier(0.57, 0.04, 0.58, 1);
|
||||||
|
height: 32px;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (max-width: 1325px) {
|
||||||
|
.linter-navigation-item.linter-desktop {
|
||||||
|
max-width: 32px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (max-width: 800px) {
|
||||||
|
.linter-navigation-item.linter-mobile {
|
||||||
|
max-width: 32px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.linter-navigation-item-icon {
|
||||||
|
padding-top: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.linter-navigation-item:hover {
|
||||||
|
border-color: var(--interactive-accent-hover);
|
||||||
|
border-bottom: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.linter-navigation-item-selected {
|
||||||
|
background-color: var(--interactive-accent) !important;
|
||||||
|
color: var(--text-on-accent);
|
||||||
|
padding: 4px 9px !important;
|
||||||
|
max-width: 100% !important;
|
||||||
|
border: 1px solid var(--background-modifier-border);
|
||||||
|
border-radius: 8px 8px 2px 2px;
|
||||||
|
border-bottom: 0px;
|
||||||
|
transition: color 0.25s ease-in-out,
|
||||||
|
padding 0.25s ease-in-out,
|
||||||
|
background-color 0.35s cubic-bezier(0.45, 0.25, 0.83, 0.67),
|
||||||
|
max-width 0.45s cubic-bezier(0.57, 0.04, 0.58, 1) 0.2s;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Based on https://github.com/phibr0/obsidian-commander/blob/main/src/styles.scss
|
||||||
|
*/
|
||||||
|
.linter {
|
||||||
|
transition: transform 400ms 0s;
|
||||||
|
}
|
||||||
|
|
||||||
|
.linter-setting-title {
|
||||||
|
display: flex;
|
||||||
|
align-items: baseline;
|
||||||
|
justify-content: space-between;
|
||||||
|
gap: 30px;
|
||||||
|
}
|
||||||
|
.linter-setting-title.linter-mobile {
|
||||||
|
justify-content: space-around;
|
||||||
|
}
|
||||||
|
.linter-setting-title h1 {
|
||||||
|
font-weight: 900;
|
||||||
|
margin-top: 6px;
|
||||||
|
margin-bottom: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.linter-setting-header {
|
||||||
|
margin-bottom: 24px;
|
||||||
|
overflow-y: hidden;
|
||||||
|
overflow-x: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.linter-setting-header .linter-setting-tab-group {
|
||||||
|
display: flex;
|
||||||
|
align-items: flex-end;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.linter-setting-tab-group {
|
||||||
|
margin-top: 6px;
|
||||||
|
padding-left: 2px;
|
||||||
|
padding-right: 2px;
|
||||||
|
border-bottom: 2px solid var(--background-modifier-border);
|
||||||
|
}
|
||||||
|
|
||||||
|
.linter-setting-header .linter-tab-settings {
|
||||||
|
padding: 6px 12px;
|
||||||
|
font-weight: 600;
|
||||||
|
cursor: pointer;
|
||||||
|
white-space: nowrap;
|
||||||
|
border-left: 2px solid transparent;
|
||||||
|
border-right: 2px solid transparent;
|
||||||
|
}
|
||||||
|
.linter-setting-header .linter-tab-settings:first-child {
|
||||||
|
margin-left: 6px;
|
||||||
|
}
|
||||||
|
.linter-setting-header .linter-tab-settings.linter-tab-settings-active {
|
||||||
|
border-bottom: 2px solid var(--background-primary);
|
||||||
|
transform: translateY(2px);
|
||||||
|
border-radius: 2px;
|
||||||
|
border-left: 2px solid var(--background-modifier-border);
|
||||||
|
border-top: 2px solid var(--background-modifier-border);
|
||||||
|
border-right: 2px solid var(--background-modifier-border);
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Hide linter element css
|
||||||
|
* Based on https://zellwk.com/blog/hide-content-accessibly/
|
||||||
|
*/
|
||||||
|
.linter-navigation-item:not(.linter-navigation-item-selected) > span:nth-child(2),
|
||||||
|
.linter-visually-hidden {
|
||||||
|
border: 0;
|
||||||
|
clip: rect(0 0 0 0);
|
||||||
|
clip-path: rect(0 0 0 0);
|
||||||
|
height: auto;
|
||||||
|
margin: 0;
|
||||||
|
overflow: hidden;
|
||||||
|
padding: 0;
|
||||||
|
position: absolute;
|
||||||
|
width: 1px;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Full-width text areas
|
||||||
|
* Based on https://github.com/nyable/obsidian-code-block-enhancer/blob/bb0c636c1e7609b6d26c48a8d7ca15d5cd9abdcf/src/styles/index.scss
|
||||||
|
*/
|
||||||
|
textarea.full-width {
|
||||||
|
width: 100%;
|
||||||
|
min-height: 10em;
|
||||||
|
margin-top: 0.8em;
|
||||||
|
margin-bottom: 0.8em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.full-width-textbox-input-wrapper {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.settings-copy-button {
|
||||||
|
position: absolute;
|
||||||
|
top: 0.8em;
|
||||||
|
right: 0.8em;
|
||||||
|
margin: 0 0 0 auto;
|
||||||
|
padding: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.settings-copy-button svg.linter-clipboard path {
|
||||||
|
fill: var(--text-faint);
|
||||||
|
}
|
||||||
|
.settings-copy-button svg.linter-success path {
|
||||||
|
fill: var(--interactive-success);
|
||||||
|
}
|
||||||
|
.settings-copy-button:hover, .settings-copy-button:active {
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
.settings-copy-button:hover svg path, .settings-copy-button:active svg path {
|
||||||
|
fill: var(--text-accent-hover);
|
||||||
|
transition: all ease 0.3s;
|
||||||
|
}
|
||||||
|
.settings-copy-button:focus {
|
||||||
|
outline: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Custom regex replacement
|
||||||
|
*/
|
||||||
|
.linter-custom-regex-replacement-container div:last-child {
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
.linter-custom-regex-replacement {
|
||||||
|
margin-bottom: 15px;
|
||||||
|
border: none;
|
||||||
|
border-bottom: var(--hr-thickness) solid;
|
||||||
|
border-color: var(--hr-color);
|
||||||
|
}
|
||||||
|
.linter-custom-regex-replacement-row2 {
|
||||||
|
flex-wrap: wrap;
|
||||||
|
}
|
||||||
|
.linter-custom-regex-replacement-normal-input {
|
||||||
|
width: 40%;
|
||||||
|
}
|
||||||
|
.linter-custom-regex-replacement-flags {
|
||||||
|
width: 15%;
|
||||||
|
}
|
||||||
|
.linter-custom-regex-replacement-label {
|
||||||
|
flex-direction: row-reverse;
|
||||||
|
}
|
||||||
|
.linter-custom-regex-replacement-label-input {
|
||||||
|
width: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Files to ignore
|
||||||
|
*/
|
||||||
|
.linter-files-to-ignore-container div:last-child {
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
.linter-files-to-ignore {
|
||||||
|
margin-bottom: 15px;
|
||||||
|
border: none;
|
||||||
|
border-bottom: var(--hr-thickness) solid;
|
||||||
|
border-color: var(--hr-color);
|
||||||
|
}
|
||||||
|
.linter-files-to-ignore-normal-input {
|
||||||
|
width: 40%;
|
||||||
|
}
|
||||||
|
.linter-files-to-ignore-flags {
|
||||||
|
width: 15%;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Setting item no border
|
||||||
|
*/
|
||||||
|
.linter-no-border {
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Custom row
|
||||||
|
*/
|
||||||
|
.custom-row-description {
|
||||||
|
margin-top: 0px;
|
||||||
|
}
|
19
.obsidian/plugins/obsidian-style-settings/data.json
vendored
Normal file
19
.obsidian/plugins/obsidian-style-settings/data.json
vendored
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
"title@@vibrant": true,
|
||||||
|
"title@@dim-light-mode": false,
|
||||||
|
"title@@enable-mica": true,
|
||||||
|
"title@@no-top-space": false,
|
||||||
|
"title@@fab-enabled-desktop": true,
|
||||||
|
"title@@custom-page-header": true,
|
||||||
|
"title@@more-drag-desktop": false,
|
||||||
|
"title@@hide-toolbar-desktop": false,
|
||||||
|
"title@@space-above-document": true,
|
||||||
|
"title@@button-shapes-mobile": true,
|
||||||
|
"title@@win-menu": false,
|
||||||
|
"things-style@@no-kanban-styles": false,
|
||||||
|
"things-style@@fancy-highlight": true,
|
||||||
|
"things-style@@fancy-code": true,
|
||||||
|
"things-style@@active-line": true,
|
||||||
|
"things-style@@link-decoration": "None",
|
||||||
|
"things-style@@default-font-color": false
|
||||||
|
}
|
163
.obsidian/plugins/obsidian-style-settings/main.js
vendored
Normal file
163
.obsidian/plugins/obsidian-style-settings/main.js
vendored
Normal file
File diff suppressed because one or more lines are too long
10
.obsidian/plugins/obsidian-style-settings/manifest.json
vendored
Normal file
10
.obsidian/plugins/obsidian-style-settings/manifest.json
vendored
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"id": "obsidian-style-settings",
|
||||||
|
"name": "Style Settings",
|
||||||
|
"version": "1.0.9",
|
||||||
|
"minAppVersion": "0.11.5",
|
||||||
|
"description": "Offers controls for adjusting theme, plugin, and snippet CSS variables.",
|
||||||
|
"author": "mgmeyers",
|
||||||
|
"authorUrl": "https://github.com/mgmeyers/obsidian-style-settings",
|
||||||
|
"isDesktopOnly": false
|
||||||
|
}
|
243
.obsidian/plugins/obsidian-style-settings/styles.css
vendored
Normal file
243
.obsidian/plugins/obsidian-style-settings/styles.css
vendored
Normal file
File diff suppressed because one or more lines are too long
40
.obsidian/plugins/omnisearch/data.json
vendored
Normal file
40
.obsidian/plugins/omnisearch/data.json
vendored
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
{
|
||||||
|
"useCache": true,
|
||||||
|
"hideExcluded": false,
|
||||||
|
"downrankedFoldersFilters": [],
|
||||||
|
"ignoreDiacritics": true,
|
||||||
|
"ignoreArabicDiacritics": false,
|
||||||
|
"indexedFileTypes": [],
|
||||||
|
"displayTitle": "",
|
||||||
|
"PDFIndexing": false,
|
||||||
|
"officeIndexing": false,
|
||||||
|
"imagesIndexing": false,
|
||||||
|
"aiImageIndexing": false,
|
||||||
|
"unsupportedFilesIndexing": "no",
|
||||||
|
"splitCamelCase": true,
|
||||||
|
"openInNewPane": false,
|
||||||
|
"vimLikeNavigationShortcut": false,
|
||||||
|
"ribbonIcon": true,
|
||||||
|
"showExcerpt": true,
|
||||||
|
"renderLineReturnInExcerpts": true,
|
||||||
|
"showCreateButton": false,
|
||||||
|
"highlight": true,
|
||||||
|
"showPreviousQueryResults": true,
|
||||||
|
"simpleSearch": false,
|
||||||
|
"tokenizeUrls": false,
|
||||||
|
"fuzziness": "1",
|
||||||
|
"weightBasename": 3,
|
||||||
|
"weightDirectory": 2,
|
||||||
|
"weightH1": 1.5,
|
||||||
|
"weightH2": 1.3,
|
||||||
|
"weightH3": 1.1,
|
||||||
|
"weightUnmarkedTags": 1.1,
|
||||||
|
"weightCustomProperties": [],
|
||||||
|
"httpApiEnabled": false,
|
||||||
|
"httpApiPort": "51361",
|
||||||
|
"httpApiNotice": true,
|
||||||
|
"welcomeMessage": "1.21.0",
|
||||||
|
"verboseLogging": false,
|
||||||
|
"DANGER_httpHost": null,
|
||||||
|
"DANGER_forceSaveCache": false
|
||||||
|
}
|
105
.obsidian/plugins/omnisearch/main.js
vendored
Normal file
105
.obsidian/plugins/omnisearch/main.js
vendored
Normal file
File diff suppressed because one or more lines are too long
14
.obsidian/plugins/omnisearch/manifest.json
vendored
Normal file
14
.obsidian/plugins/omnisearch/manifest.json
vendored
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"id": "omnisearch",
|
||||||
|
"name": "Omnisearch",
|
||||||
|
"version": "1.24.1",
|
||||||
|
"minAppVersion": "1.3.0",
|
||||||
|
"description": "A search engine that just works",
|
||||||
|
"author": "Simon Cambier",
|
||||||
|
"authorUrl": "https://github.com/scambier/obsidian-omnisearch",
|
||||||
|
"fundingUrl": {
|
||||||
|
"Github": "https://github.com/sponsors/scambier",
|
||||||
|
"Ko-fi": "https://ko-fi.com/scambier"
|
||||||
|
},
|
||||||
|
"isDesktopOnly": false
|
||||||
|
}
|
111
.obsidian/plugins/omnisearch/styles.css
vendored
Normal file
111
.obsidian/plugins/omnisearch/styles.css
vendored
Normal file
@@ -0,0 +1,111 @@
|
|||||||
|
.omnisearch-modal {
|
||||||
|
}
|
||||||
|
|
||||||
|
.omnisearch-result {
|
||||||
|
white-space: normal;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
justify-content: space-between;
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.omnisearch-result__title-container {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
column-gap: 5px;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.omnisearch-result__title {
|
||||||
|
white-space: pre-wrap;
|
||||||
|
align-items: center;
|
||||||
|
display: flex;
|
||||||
|
gap: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.omnisearch-result__title > span {
|
||||||
|
}
|
||||||
|
|
||||||
|
.omnisearch-result__folder-path {
|
||||||
|
font-size: 0.75rem;
|
||||||
|
align-items: center;
|
||||||
|
display: flex;
|
||||||
|
gap: 5px;
|
||||||
|
color: var(--text-muted);
|
||||||
|
}
|
||||||
|
|
||||||
|
.omnisearch-result__extension {
|
||||||
|
font-size: 0.7rem;
|
||||||
|
color: var(--text-muted);
|
||||||
|
}
|
||||||
|
|
||||||
|
.omnisearch-result__counter {
|
||||||
|
font-size: 0.7rem;
|
||||||
|
color: var(--text-muted);
|
||||||
|
}
|
||||||
|
|
||||||
|
.omnisearch-result__body {
|
||||||
|
white-space: normal;
|
||||||
|
font-size: small;
|
||||||
|
word-wrap: normal;
|
||||||
|
|
||||||
|
overflow: hidden;
|
||||||
|
display: -webkit-box;
|
||||||
|
-webkit-line-clamp: 3;
|
||||||
|
-webkit-box-orient: vertical;
|
||||||
|
|
||||||
|
color: var(--text-muted);
|
||||||
|
margin-inline-start: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.omnisearch-result__image-container {
|
||||||
|
flex-basis: 20%;
|
||||||
|
text-align: end;
|
||||||
|
}
|
||||||
|
|
||||||
|
.omnisearch-highlight {
|
||||||
|
}
|
||||||
|
|
||||||
|
.omnisearch-default-highlight {
|
||||||
|
text-decoration: underline;
|
||||||
|
text-decoration-color: var(--text-highlight-bg);
|
||||||
|
text-decoration-thickness: 3px;
|
||||||
|
text-underline-offset: -1px;
|
||||||
|
text-decoration-skip-ink: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.omnisearch-input-container {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
flex-direction: row;
|
||||||
|
gap: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media only screen and (max-width: 600px) {
|
||||||
|
.omnisearch-input-container {
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
|
.omnisearch-input-container__buttons {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
width: 100%;
|
||||||
|
padding: 0 1em 0 1em;
|
||||||
|
gap: 1em;
|
||||||
|
}
|
||||||
|
.omnisearch-input-container__buttons > button {
|
||||||
|
flex-grow: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media only screen and (min-width: 600px) {
|
||||||
|
.omnisearch-input-container__buttons {
|
||||||
|
margin-inline-end: 1em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.omnisearch-input-field {
|
||||||
|
position: relative;
|
||||||
|
flex-grow: 1;
|
||||||
|
}
|
754
.obsidian/plugins/url-into-selection/main.js
vendored
Normal file
754
.obsidian/plugins/url-into-selection/main.js
vendored
Normal file
File diff suppressed because one or more lines are too long
8
.obsidian/plugins/url-into-selection/manifest.json
vendored
Normal file
8
.obsidian/plugins/url-into-selection/manifest.json
vendored
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"id": "url-into-selection",
|
||||||
|
"name": "Paste URL into selection",
|
||||||
|
"description": "Paste URL \"into\" selected text.",
|
||||||
|
"isDesktopOnly": false,
|
||||||
|
"js": "main.js",
|
||||||
|
"version": "1.7.0"
|
||||||
|
}
|
7
.obsidian/themes/AnuPpuccin/manifest.json
vendored
Normal file
7
.obsidian/themes/AnuPpuccin/manifest.json
vendored
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"name": "AnuPpuccin",
|
||||||
|
"version": "1.4.5",
|
||||||
|
"minAppVersion": "0.16.0",
|
||||||
|
"author": "Anubis",
|
||||||
|
"authorUrl": "https://github.com/AnubisNekhet"
|
||||||
|
}
|
8490
.obsidian/themes/AnuPpuccin/theme.css
vendored
Normal file
8490
.obsidian/themes/AnuPpuccin/theme.css
vendored
Normal file
File diff suppressed because it is too large
Load Diff
7
.obsidian/themes/Catppuccin/manifest.json
vendored
Normal file
7
.obsidian/themes/Catppuccin/manifest.json
vendored
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"name": "Catppuccin",
|
||||||
|
"version": "0.4.17",
|
||||||
|
"minAppVersion": "1.0.0",
|
||||||
|
"author": "Marshall Beckrich",
|
||||||
|
"authorUrl": "https://github.com/catppuccin/obsidian"
|
||||||
|
}
|
3842
.obsidian/themes/Catppuccin/theme.css
vendored
Normal file
3842
.obsidian/themes/Catppuccin/theme.css
vendored
Normal file
File diff suppressed because one or more lines are too long
7
.obsidian/themes/Dracula Official/manifest.json
vendored
Normal file
7
.obsidian/themes/Dracula Official/manifest.json
vendored
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"name": "Dracula Official",
|
||||||
|
"version": "1.0.9",
|
||||||
|
"minAppVersion": "0.16.0",
|
||||||
|
"author": "Dracula",
|
||||||
|
"authorUrl": "https://gitlab.com/chrismettal"
|
||||||
|
}
|
805
.obsidian/themes/Dracula Official/theme.css
vendored
Normal file
805
.obsidian/themes/Dracula Official/theme.css
vendored
Normal file
@@ -0,0 +1,805 @@
|
|||||||
|
.theme-dark,
|
||||||
|
.theme-light{
|
||||||
|
|
||||||
|
/* Obsidian "Dark" import so light mode looks the same*/
|
||||||
|
--color-scheme: dark;
|
||||||
|
--highlight-mix-blend-mode: lighten;
|
||||||
|
--mono-rgb-0: 0, 0, 0;
|
||||||
|
--mono-rgb-100: 255, 255, 255;
|
||||||
|
--color-red-rgb: 251, 70, 76;
|
||||||
|
--color-red: #fb464c;
|
||||||
|
--color-orange-rgb: 233, 151, 63;
|
||||||
|
--color-orange: #e9973f;
|
||||||
|
--color-yellow-rgb: 224, 222, 113;
|
||||||
|
--color-yellow: #e0de71;
|
||||||
|
--color-green-rgb: 68, 207, 110;
|
||||||
|
--color-green: #44cf6e;
|
||||||
|
--color-cyan-rgb: 83, 223, 221;
|
||||||
|
--color-cyan: #53dfdd;
|
||||||
|
--color-blue-rgb: 2, 122, 255;
|
||||||
|
--color-blue: #027aff;
|
||||||
|
--color-purple-rgb: 168, 130, 255;
|
||||||
|
--color-purple: #a882ff;
|
||||||
|
--color-pink-rgb: 250, 153, 205;
|
||||||
|
--color-pink: #fa99cd;
|
||||||
|
--color-base-00: #1e1e1e;
|
||||||
|
--color-base-05: #212121;
|
||||||
|
--color-base-10: #242424;
|
||||||
|
--color-base-20: #262626;
|
||||||
|
--color-base-25: #2a2a2a;
|
||||||
|
--color-base-30: #363636;
|
||||||
|
--color-base-35: #3f3f3f;
|
||||||
|
--color-base-40: #555555;
|
||||||
|
--color-base-50: #666666;
|
||||||
|
--color-base-60: #999999;
|
||||||
|
--color-base-70: #bababa;
|
||||||
|
--color-base-100: #dadada;
|
||||||
|
--color-accent-hsl: var(--accent-h), var(--accent-s), var(--accent-l);
|
||||||
|
--color-accent: hsl(var(--accent-h), var(--accent-s), var(--accent-l));
|
||||||
|
--color-accent-1: hsl(var(--accent-h), var(--accent-s), calc(var(--accent-l) - 3.8%));
|
||||||
|
--color-accent-2: hsl(var(--accent-h), var(--accent-s), calc(var(--accent-l) + 3.8%));
|
||||||
|
--background-modifier-form-field: var(--color-base-25);
|
||||||
|
--interactive-normal: var(--color-base-30);
|
||||||
|
--interactive-hover: var(--color-base-35);
|
||||||
|
--background-modifier-box-shadow: rgba(0, 0, 0, 0.3);
|
||||||
|
--background-modifier-cover: rgba(10, 10, 10, 0.4);
|
||||||
|
--text-selection: hsla(var(--interactive-accent-hsl), 0.25);
|
||||||
|
--input-shadow: inset 0 0.5px 0.5px 0.5px rgba(255, 255, 255, 0.09), 0 2px 4px 0 rgba(0,0,0,.15), 0 1px 1.5px 0 rgba(0,0,0,.1), 0 1px 2px 0 rgba(0,0,0,.2), 0 0 0 0 transparent;
|
||||||
|
--input-shadow-hover: inset 0 0.5px 1px 0.5px rgba(255, 255, 255, 0.16), 0 2px 3px 0 rgba(0,0,0,.3), 0 1px 1.5px 0 rgba(0,0,0,.2), 0 1px 2px 0 rgba(0,0,0,.4), 0 0 0 0 transparent;
|
||||||
|
--shadow-s: 0px 1px 2px rgba(0, 0, 0, 0.121), 0px 3.4px 6.7px rgba(0, 0, 0, 0.179), 0px 15px 30px rgba(0, 0, 0, 0.3);
|
||||||
|
--shadow-l: 0px 1.8px 7.3px rgba(0, 0, 0, 0.071), 0px 6.3px 24.7px rgba(0, 0, 0, 0.112), 0px 30px 90px rgba(0, 0, 0, 0.2);
|
||||||
|
--pdf-shadow: 0 0 0 1px var(--background-modifier-border);
|
||||||
|
--pdf-thumbnail-shadow: 0 0 0 1px var(--background-modifier-border);
|
||||||
|
|
||||||
|
/* Actual Dracula colors*/
|
||||||
|
--background-primary: #282a36;
|
||||||
|
--background-primary-alt: #44475a;
|
||||||
|
--background-secondary: #1a1e24;
|
||||||
|
--background-secondary-alt: #282a36;
|
||||||
|
--text-normal: #f8f8f2;
|
||||||
|
--text-on-accent: #282a36;
|
||||||
|
--text-title-h1: #bd93f9;
|
||||||
|
--text-title-h2: #ffb86c;
|
||||||
|
--text-title-h3: #52fa7c;
|
||||||
|
--text-title-h4: #ff5555;
|
||||||
|
--text-title-h5: #f1fa8c;
|
||||||
|
--text-title-h6: #bd93f4;
|
||||||
|
--canvas-color-1: 255, 85, 85;
|
||||||
|
--canvas-color-2: 255, 184, 108;
|
||||||
|
--canvas-color-3: 241, 250, 140;
|
||||||
|
--canvas-color-4: 82, 250, 124;
|
||||||
|
--canvas-color-5: 139, 233, 253;
|
||||||
|
--canvas-color-6: 189, 147, 244;
|
||||||
|
--text-link: var(--text-accent);
|
||||||
|
--markup-code: #ffb86c;
|
||||||
|
--text-tag: #50fa7b;
|
||||||
|
--text-a: #ff79c6;
|
||||||
|
--text-a-hover: #ff79c0;
|
||||||
|
--text-mark: #f1fa8c;
|
||||||
|
--interactive-accent: #50fa7b;
|
||||||
|
--blockquote-border: #b294bb;
|
||||||
|
--interactive-accent-rgb: #f1fa8c;
|
||||||
|
--accent-h: 135;
|
||||||
|
--accent-s: 94%;
|
||||||
|
--accent-l: 65%;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* LINKS & BRACKETS */
|
||||||
|
|
||||||
|
/* link */
|
||||||
|
|
||||||
|
/* url's */
|
||||||
|
|
||||||
|
/* editor */
|
||||||
|
|
||||||
|
.cm-url {
|
||||||
|
color: var(--text-link) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* preview */
|
||||||
|
|
||||||
|
.external-link {
|
||||||
|
color: var(--text-link) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* make external links italics to differentiate */
|
||||||
|
|
||||||
|
a:not(.internal-link) {
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* horizontal line in preview */
|
||||||
|
|
||||||
|
hr {
|
||||||
|
background-color: var(--text-normal);
|
||||||
|
border-color: var(--text-normal);
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown-preview-view hr {
|
||||||
|
background-color: var(--text-normal);
|
||||||
|
border-color: var(--text-normal);
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown-rendered hr {
|
||||||
|
background-color: var(--text-normal);
|
||||||
|
border-color: var(--text-normal);
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown-embed {
|
||||||
|
padding-left: 8px !important;
|
||||||
|
padding-right: 4px !important;
|
||||||
|
margin-left: 8px !important;
|
||||||
|
margin-right: 4px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* internal embedded link rendering in preview */
|
||||||
|
|
||||||
|
.markdown-embed-title {
|
||||||
|
color: var(--text-link);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* NAKED EMBEDS*/
|
||||||
|
|
||||||
|
/* But keeping Border and Scroll! */
|
||||||
|
|
||||||
|
.markdown-embed-title {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown-preview-view .markdown-embed-content > :first-child {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown-preview-view .markdown-embed-content > :last-child {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.markdown-embed-link {
|
||||||
|
color: var(--text-a) !important;
|
||||||
|
right: 2px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown-embed-link:hover {
|
||||||
|
color: var(--text-link) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* NO FILE OPEN PAGE*/
|
||||||
|
|
||||||
|
.empty-state-title {
|
||||||
|
color: var(--text-title-h1) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.empty-state-action {
|
||||||
|
color: var(--text-muted) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.empty-state-action:hover {
|
||||||
|
color: var(--text-normal) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* GRAPH VIEW */
|
||||||
|
|
||||||
|
#graph-view-canvas .links {
|
||||||
|
stroke: var(--interactive-accent-rgb) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* CODEBLOCKS */
|
||||||
|
|
||||||
|
|
||||||
|
/* code blocks in preview */
|
||||||
|
|
||||||
|
pre code {
|
||||||
|
padding: 5px !important;
|
||||||
|
color: var(--code-normal) !important;
|
||||||
|
line-height: normal;
|
||||||
|
display: block;
|
||||||
|
background-color: var(--background-primary-alt) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown-preview-view pre {
|
||||||
|
padding: 0px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* in-line code for editor and preview and code block for editor*/
|
||||||
|
|
||||||
|
code,
|
||||||
|
.cm-inline-code {
|
||||||
|
background-color: var(--background-primary-alt) !important;
|
||||||
|
color: var(--markup-code) !important;
|
||||||
|
bottom: 0px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Code Appearance */
|
||||||
|
|
||||||
|
/* editor */
|
||||||
|
|
||||||
|
.CodeMirror-code span.cm-inline-code {
|
||||||
|
color: var(--markup-code) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Editor CodeBlock TEXT Appearance - */
|
||||||
|
|
||||||
|
.cm-s-obsidian pre.HyperMD-codeblock {
|
||||||
|
color: var(--markup-code) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* preview */
|
||||||
|
|
||||||
|
.markdown-preview-view code {
|
||||||
|
color: var(--code-normal);
|
||||||
|
background-color: var(--background-primary-alt) !important;
|
||||||
|
bottom: -0.1px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* borders */
|
||||||
|
|
||||||
|
.cm-s-obsidian span.cm-inline-code {
|
||||||
|
border: 1px solid #525660;
|
||||||
|
border-radius: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cm-s-obsidian span.cm-formatting-code.cm-inline-code {
|
||||||
|
border-right-width: 0;
|
||||||
|
border-top-right-radius: 0;
|
||||||
|
border-bottom-right-radius: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cm-s-obsidian span.cm-formatting-code.cm-inline-code + span.cm-inline-code {
|
||||||
|
border-right: none;
|
||||||
|
border-left: none;
|
||||||
|
border-radius: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cm-s-obsidian
|
||||||
|
span.cm-formatting-code.cm-inline-code
|
||||||
|
+ span.cm-inline-code
|
||||||
|
+ span.cm-formatting-code.cm-inline-code {
|
||||||
|
border-left-width: 0;
|
||||||
|
border-top-left-radius: 0;
|
||||||
|
border-bottom-left-radius: 0;
|
||||||
|
border-right-width: 1px;
|
||||||
|
border-top-right-radius: 4px;
|
||||||
|
border-bottom-right-radius: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* BLOCKQUOTES */
|
||||||
|
|
||||||
|
/* editor */
|
||||||
|
|
||||||
|
.cm-quote {
|
||||||
|
color: var(--interactive-accent) !important;
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* preview */
|
||||||
|
|
||||||
|
blockquote {
|
||||||
|
color: var(--interactive-accent) !important;
|
||||||
|
font-style: italic;
|
||||||
|
border-color: var(--blockquote-border) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* IMAGES */
|
||||||
|
|
||||||
|
/* embedded images */
|
||||||
|
|
||||||
|
img {
|
||||||
|
display: block;
|
||||||
|
margin-left: 20pt;
|
||||||
|
margin-right: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* TABLES */
|
||||||
|
|
||||||
|
th {
|
||||||
|
border: 1px solid var(--background-primary-alt) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
td {
|
||||||
|
border: 1px solid var(--background-primary-alt) !important
|
||||||
|
}
|
||||||
|
|
||||||
|
thead {
|
||||||
|
border-bottom: 4px solid var(--background-primary-alt);
|
||||||
|
}
|
||||||
|
|
||||||
|
.table {
|
||||||
|
background-color: var(--background-secondary-alt);
|
||||||
|
border: 1px solid var(--background-primary-alt);
|
||||||
|
padding: 4px;
|
||||||
|
line-height: normal;
|
||||||
|
display: block;
|
||||||
|
border-top-left-radius: 4px;
|
||||||
|
border-top-right-radius: 4px;
|
||||||
|
border-bottom-right-radius: 4px;
|
||||||
|
border-bottom-left-radius: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* SIDEBAR & DOCK ETC. */
|
||||||
|
|
||||||
|
/* view action buttons */
|
||||||
|
|
||||||
|
.view-action {
|
||||||
|
color: var(--text-muted) !important;
|
||||||
|
text-decoration: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.view-action:hover,
|
||||||
|
.view-action.is-active {
|
||||||
|
color: var(--text-normal) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.status-bar {
|
||||||
|
background-color: var(--background-secondary-alt);
|
||||||
|
}
|
||||||
|
|
||||||
|
.side-dock-ribbon-action {
|
||||||
|
color: var(--text-muted) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.side-dock-ribbon-action:hover {
|
||||||
|
color: var(--text-normal) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-tab-header {
|
||||||
|
color: var(--text-muted) !important;
|
||||||
|
text-decoration: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-tab-header:hover {
|
||||||
|
color: var(--text-normal) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
button.mod-cta {
|
||||||
|
background-color: var(--interactive-accent);
|
||||||
|
color: var(--text-on-accent);
|
||||||
|
}
|
||||||
|
|
||||||
|
.horizontal-tab-nav-item.is-active, .vertical-tab-nav-item.is-active {
|
||||||
|
background-color: var(--interactive-accent);
|
||||||
|
color: var(--text-on-accent);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* searchbar */
|
||||||
|
|
||||||
|
.side-dock-panels-container {
|
||||||
|
background-color: var(--background-secondary-alt) !important;
|
||||||
|
color: var(background-secondary-alt);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* icons at top of panes*/
|
||||||
|
|
||||||
|
.file-view-actions a {
|
||||||
|
color: var(--text-muted) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.file-view-actions a:hover {
|
||||||
|
color: var(--text-muted) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* html tags in editor */
|
||||||
|
|
||||||
|
.cm-tag {
|
||||||
|
color: var(--text-tag) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* .side-dock-ribbon-tab,
|
||||||
|
.side-dock-ribbon-action {} */
|
||||||
|
|
||||||
|
.side-dock-ribbon-tab.is-active {
|
||||||
|
color: var(--interactive-accent) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.side-dock-ribbon-tab.is-active .side-dock-ribbon-tab-inner:hover {
|
||||||
|
color: #6272a4 !important;
|
||||||
|
background-color: var(--background-secondary);
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav-file-title {
|
||||||
|
color: var(--text-muted) !important;
|
||||||
|
background-color: var(--background-secondary);
|
||||||
|
}
|
||||||
|
|
||||||
|
.is-translucent .nav-file-title:not(.is-active) {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav-folder-title {
|
||||||
|
color: var(--text-muted) !important;
|
||||||
|
background-color: var(--background-secondary);
|
||||||
|
}
|
||||||
|
|
||||||
|
.is-translucent .nav-folder-title {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav-file-title:hover {
|
||||||
|
color: var(--text-normal) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav-folder-title:hover {
|
||||||
|
color: var(--text-normal) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav-action-button.is-active {
|
||||||
|
background-color: var(--background-secondary-alt);
|
||||||
|
}
|
||||||
|
|
||||||
|
.search-result-file-title {
|
||||||
|
color: var(--text-a) !important;
|
||||||
|
background-color: var(--background-secondary);
|
||||||
|
}
|
||||||
|
|
||||||
|
.is-translucent .search-result-file-title {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.search-result-file-matched-text {
|
||||||
|
color: var(--text-link) !important;
|
||||||
|
background-color: var(--background-secondary);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* .nav-file-tag {
|
||||||
|
color: #59a2c5;
|
||||||
|
} /* for the PNG text, but can't specifically target "PNG", just all of those filetype tags. */
|
||||||
|
|
||||||
|
.nav-file.is-active .nav-file-tag {
|
||||||
|
color: var(--text-normal);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* hover actions on side dock navigation */
|
||||||
|
|
||||||
|
.side-dock-ribbon-tab:hover,
|
||||||
|
.side-dock-ribbon-tab-inner:hover,
|
||||||
|
.side-dock-ribbon-action:hover,
|
||||||
|
.side-dock-ribbon-action.is-active:hover,
|
||||||
|
.nav-action-button:hover,
|
||||||
|
.side-dock-collapse-btn:hover {
|
||||||
|
color: var(--text-normal);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Hover color over tree item flairs */
|
||||||
|
.tree-item-self:hover .tree-item-flair {
|
||||||
|
background-color: var(--background-secondary);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* clean up side bar empty state (e.g. unlinked mentions) */
|
||||||
|
|
||||||
|
.search-empty-state {
|
||||||
|
width: auto;
|
||||||
|
padding-left: 15px;
|
||||||
|
padding-right: 15px;
|
||||||
|
line-height: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* clean up side bar empty state (e.g. unlinked mentions) */
|
||||||
|
|
||||||
|
.search-empty-state {
|
||||||
|
width: auto;
|
||||||
|
padding-left: 10px;
|
||||||
|
padding-right: 5px;
|
||||||
|
line-height: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* NORMAL TEXT OUTSIDE OF HEADINGS AND CODE */
|
||||||
|
|
||||||
|
/* preview */
|
||||||
|
|
||||||
|
.markdown-preview-view {
|
||||||
|
color: var(--text-normal);
|
||||||
|
padding-left: 8% !important;
|
||||||
|
padding-right: 4% !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mod-single-child .markdown-preview-view {
|
||||||
|
color: var(--text-normal);
|
||||||
|
padding-left: 10% !important;
|
||||||
|
padding-right: 10% !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* editor */
|
||||||
|
|
||||||
|
.cm-s-obsidian {
|
||||||
|
color: var(--text-normal);
|
||||||
|
padding-left: 8% !important;
|
||||||
|
padding-right: 4% !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mod-single-child .cm-s-obsidian {
|
||||||
|
color: var(--text-normal);
|
||||||
|
padding-left: 8% !important;
|
||||||
|
padding-right: 4% !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* HEADINGS */
|
||||||
|
|
||||||
|
/* preview */
|
||||||
|
|
||||||
|
.markdown-preview-view h1 {
|
||||||
|
color: var(--text-title-h1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown-preview-view h2 {
|
||||||
|
color: var(--text-title-h2);
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown-preview-view h3 {
|
||||||
|
color: var(--text-title-h3);
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown-preview-view h4 {
|
||||||
|
color: var(--text-title-h4);
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown-preview-view h5 {
|
||||||
|
color: var(--text-title-h5);
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown-preview-view h6 {
|
||||||
|
color: var(--text-title-h6);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* editor */
|
||||||
|
|
||||||
|
.cm-header-1 {
|
||||||
|
color: var(--text-title-h1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.cm-header-2 {
|
||||||
|
color: var(--text-title-h2);
|
||||||
|
}
|
||||||
|
|
||||||
|
.cm-header-3 {
|
||||||
|
color: var(--text-title-h3);
|
||||||
|
}
|
||||||
|
|
||||||
|
.cm-header-4 {
|
||||||
|
color: var(--text-title-h4);
|
||||||
|
}
|
||||||
|
|
||||||
|
.cm-header-5 {
|
||||||
|
color: var(--text-title-h5);
|
||||||
|
}
|
||||||
|
|
||||||
|
.cm-header-6 {
|
||||||
|
color: var(--text-title-h6);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* TAGS */
|
||||||
|
|
||||||
|
/* preview */
|
||||||
|
|
||||||
|
a.tag {
|
||||||
|
color: var(--text-tag);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* editor */
|
||||||
|
|
||||||
|
.cm-hashtag {
|
||||||
|
color: var(--text-tag) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* BOLD */
|
||||||
|
|
||||||
|
/* preview */
|
||||||
|
|
||||||
|
strong {
|
||||||
|
color: var(--markup-code);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* editor */
|
||||||
|
|
||||||
|
.cm-strong {
|
||||||
|
color: var(--markup-code);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ITALICS */
|
||||||
|
|
||||||
|
/* preview */
|
||||||
|
|
||||||
|
em {
|
||||||
|
color: var(--interactive-accent);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* editor */
|
||||||
|
|
||||||
|
.cm-em {
|
||||||
|
color: var(--interactive-accent);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* HIGHLIGHT */
|
||||||
|
|
||||||
|
/* preview */
|
||||||
|
|
||||||
|
mark {
|
||||||
|
color: var(--background-primary);
|
||||||
|
background-color: var(--text-mark);
|
||||||
|
padding-top: 1px;
|
||||||
|
padding-bottom: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* editor */
|
||||||
|
|
||||||
|
.cm-highlight {
|
||||||
|
color: var(--background-primary) !important;
|
||||||
|
background-color: var(--text-mark) !important;
|
||||||
|
padding-top: 1px;
|
||||||
|
padding-bottom: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* COLLAPSED RIBBONS */
|
||||||
|
|
||||||
|
.workspace-ribbon.is-collapsed {
|
||||||
|
background-color: var(--background-secondary-alt) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-ribbon.mod-right.is-collapsed {
|
||||||
|
background-color: var(--background-secondary-alt) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-ribbon.mod-left.is-collapsed {
|
||||||
|
background-color: var(--background-secondary-alt) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* POPUP NOTIFICATION*/
|
||||||
|
|
||||||
|
.notice {
|
||||||
|
color: var(--text-normal) !important;
|
||||||
|
background-color: var(--blockquote-border) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* UL, OL, BULLETS, CHECKBOXES & FOLDING ARROWS */
|
||||||
|
|
||||||
|
/* task lists */
|
||||||
|
|
||||||
|
.markdown-preview-view .task-list-item-checkbox {
|
||||||
|
-webkit-appearance: none;
|
||||||
|
top: 1.3px !important;
|
||||||
|
right: 5px !important;
|
||||||
|
box-sizing: border-box;
|
||||||
|
border: 1px solid var(--accent-2);
|
||||||
|
position: relative;
|
||||||
|
width: 1.25em;
|
||||||
|
height: 1.25em;
|
||||||
|
margin: 0;
|
||||||
|
box-shadow: 0 0 0.1em var(--interactive-accent);
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown-preview-view .task-list-item-checkbox:checked::before {
|
||||||
|
content: "✓";
|
||||||
|
position: absolute;
|
||||||
|
color: var(--interactive-accent);
|
||||||
|
line-height: 1.25em;
|
||||||
|
width: 1.2em;
|
||||||
|
text-align: center;
|
||||||
|
text-shadow: 0 0 0.5em var(--accent-2);
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown-preview-view .task-list-item-checkbox {
|
||||||
|
top: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.checkbox-container {
|
||||||
|
background-color: var(--background-primary-alt);
|
||||||
|
border-radius: 14px;
|
||||||
|
display: inline-block;
|
||||||
|
height: 22px;
|
||||||
|
position: relative;
|
||||||
|
top: 4px;
|
||||||
|
user-select: none;
|
||||||
|
width: 42px;
|
||||||
|
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.15);
|
||||||
|
transition: background 0.15s ease-in-out, box-shadow 0.15s ease-in-out,
|
||||||
|
border 0.15s ease-in-out, opacity 0.15s ease-in-out,
|
||||||
|
-webkit-box-shadow 0.15s ease-in-out;
|
||||||
|
}
|
||||||
|
|
||||||
|
.checkbox-container.is-enabled {
|
||||||
|
background-color: var(--interactive-accent);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.markdown-preview-view mark {
|
||||||
|
color: var(--text-link);
|
||||||
|
background-color: var(--background-primary-alt);
|
||||||
|
}
|
||||||
|
|
||||||
|
.cm-formatting
|
||||||
|
/* This is the color of header hashtags. Don't change. */
|
||||||
|
|
||||||
|
.cm-formatting-list-ul .cm-list-1
|
||||||
|
/* This is the color of text in lists. Don't change. */
|
||||||
|
|
||||||
|
|
||||||
|
/* Subtler code folding arrows */
|
||||||
|
|
||||||
|
.CodeMirror-foldgutter-folded:after,
|
||||||
|
.CodeMirror-foldgutter-open:after {
|
||||||
|
opacity: 0.5;
|
||||||
|
color: var(--text-link);
|
||||||
|
}
|
||||||
|
|
||||||
|
.CodeMirror-foldgutter-folded:hover:after,
|
||||||
|
.CodeMirror-foldgutter-open:hover:after {
|
||||||
|
opacity: 1;
|
||||||
|
color: var(--text-link);
|
||||||
|
}
|
||||||
|
|
||||||
|
.CodeMirror-foldgutter-folded:after {
|
||||||
|
content: "\25BA";
|
||||||
|
color: var(--text-link);
|
||||||
|
}
|
||||||
|
|
||||||
|
.CodeMirror-foldgutter-open:after {
|
||||||
|
content: "\25BC";
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Bullet Point Relationship Lines */
|
||||||
|
|
||||||
|
.cm-hmd-list-indent .cm-tab,
|
||||||
|
ul ul {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cm-hmd-list-indent .cm-tab::before,
|
||||||
|
ul ul::before {
|
||||||
|
content: "";
|
||||||
|
border-left: 1px solid;
|
||||||
|
color: #92CDD6;
|
||||||
|
position: absolute;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cm-hmd-list-indent .cm-tab::before {
|
||||||
|
left: 0;
|
||||||
|
top: -5px;
|
||||||
|
bottom: -4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul ul::before {
|
||||||
|
left: 0px;
|
||||||
|
top: 0;
|
||||||
|
bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ul, li & ol colors in editor */
|
||||||
|
|
||||||
|
.cm-s-obsidian span.cm-formatting-list {
|
||||||
|
color: #8abeb7;
|
||||||
|
}
|
||||||
|
|
||||||
|
ol {
|
||||||
|
display: block;
|
||||||
|
list-style-type: decimal;
|
||||||
|
margin-block-start: 1em;
|
||||||
|
margin-block-end: 1em;
|
||||||
|
margin-inline-start: 0px;
|
||||||
|
margin-inline-end: 0px;
|
||||||
|
padding-inline-start: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.suggestion-highlight {
|
||||||
|
color: var(--interactive-accent)!important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.is-selected {
|
||||||
|
background-color: var(--blockquote-border)!important;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media print {
|
||||||
|
@page {
|
||||||
|
margin: 0mm 0mm 0mm 0mm;
|
||||||
|
}
|
||||||
|
.print .markdown-preview-view {
|
||||||
|
-webkit-print-color-adjust: exact;
|
||||||
|
background-color: #282a36;
|
||||||
|
color: #f8f8f2;
|
||||||
|
}
|
||||||
|
.markdown-rendered code {
|
||||||
|
color: #BABABA !important;
|
||||||
|
}
|
||||||
|
}
|
7
.obsidian/themes/Encore/manifest.json
vendored
Normal file
7
.obsidian/themes/Encore/manifest.json
vendored
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"name": "Encore",
|
||||||
|
"version": "2.8.0",
|
||||||
|
"minAppVersion": "1.1.9",
|
||||||
|
"author": "Carbonateb",
|
||||||
|
"authorUrl": "https://lucaschampagne.dev/"
|
||||||
|
}
|
2011
.obsidian/themes/Encore/theme.css
vendored
Normal file
2011
.obsidian/themes/Encore/theme.css
vendored
Normal file
File diff suppressed because one or more lines are too long
7
.obsidian/themes/Material Flat/manifest.json
vendored
Normal file
7
.obsidian/themes/Material Flat/manifest.json
vendored
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"name": "Material Flat",
|
||||||
|
"version": "1.4.0",
|
||||||
|
"minAppVersion": "0.16.0",
|
||||||
|
"author": "Threethan, Joschua",
|
||||||
|
"authorUrl": "https://github.com/Threethan/"
|
||||||
|
}
|
2576
.obsidian/themes/Material Flat/theme.css
vendored
Normal file
2576
.obsidian/themes/Material Flat/theme.css
vendored
Normal file
File diff suppressed because one or more lines are too long
7
.obsidian/themes/Obsidian Nord/manifest.json
vendored
Normal file
7
.obsidian/themes/Obsidian Nord/manifest.json
vendored
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"name": "Obsidian Nord",
|
||||||
|
"version": "0.2.0",
|
||||||
|
"minAppVersion": "0.16.0",
|
||||||
|
"author": "insanum",
|
||||||
|
"authorUrl": "https://insanum.com"
|
||||||
|
}
|
525
.obsidian/themes/Obsidian Nord/theme.css
vendored
Normal file
525
.obsidian/themes/Obsidian Nord/theme.css
vendored
Normal file
@@ -0,0 +1,525 @@
|
|||||||
|
|
||||||
|
:root
|
||||||
|
{
|
||||||
|
--dark0_x: 46,52,64; /* #2e3440 */
|
||||||
|
--dark0: rgb(var(--dark0_x));
|
||||||
|
--dark1_x: 59,66,82; /* #3b4252 */
|
||||||
|
--dark1: rgb(var(--dark1_x));
|
||||||
|
--dark2_x: 67,76,94; /* #434c5e */
|
||||||
|
--dark2: rgb(var(--dark2_x));
|
||||||
|
--dark3_x: 76,86,106; /* #4c566a */
|
||||||
|
--dark3: rgb(var(--dark3_x));
|
||||||
|
|
||||||
|
--light0_x: 216,222,233; /* #d8dee9 */
|
||||||
|
--light0: rgb(var(--light0_x));
|
||||||
|
--light1_x: 229,233,240; /* #e5e9f0 */
|
||||||
|
--light1: rgb(var(--light1_x));
|
||||||
|
--light2_x: 236,239,244; /* #eceff4 */
|
||||||
|
--light2: rgb(var(--light2_x));
|
||||||
|
--light3_x: 255,255,255; /* #ffffff */
|
||||||
|
--light3: rgb(var(--light3_x));
|
||||||
|
|
||||||
|
--frost0_x: 143,188,187; /* #8fbcbb */
|
||||||
|
--frost0: rgb(var(--frost0_x));
|
||||||
|
--frost1_x: 136,192,208; /* #88c0d0 */
|
||||||
|
--frost1: rgb(var(--frost1_x));
|
||||||
|
--frost2_x: 129,161,193; /* #81a1c1 */
|
||||||
|
--frost2: rgb(var(--frost2_x));
|
||||||
|
--frost3_x: 94,129,172; /* #5e81ac */
|
||||||
|
--frost3: rgb(var(--frost3_x));
|
||||||
|
|
||||||
|
--red_x: 191,97,106; /* #bf616a */
|
||||||
|
--red: rgb(var(--red_x));
|
||||||
|
--orange_x: 208,135,112; /* #d08770 */
|
||||||
|
--orange: rgb(var(--orange_x));
|
||||||
|
--yellow_x: 235,203,139; /* #ebcb8b */
|
||||||
|
--yellow: rgb(var(--yellow_x));
|
||||||
|
--green_x: 163,190,140; /* #a3be8c */
|
||||||
|
--green: rgb(var(--green_x));
|
||||||
|
--purple_x: 180,142,173; /* #b48ead */
|
||||||
|
--purple: rgb(var(--purple_x));
|
||||||
|
}
|
||||||
|
|
||||||
|
body
|
||||||
|
{
|
||||||
|
--accent-h: 354; /* --red #bf616a */
|
||||||
|
--accent-s: 42%;
|
||||||
|
--accent-l: 56%;
|
||||||
|
|
||||||
|
--link-decoration: none;
|
||||||
|
--link-decoration-hover: none;
|
||||||
|
--link-external-decoration: none;
|
||||||
|
--link-external-decoration-hover: none;
|
||||||
|
|
||||||
|
--tag-decoration: none;
|
||||||
|
--tag-decoration-hover: underline;
|
||||||
|
--tag-padding-x: .5em;
|
||||||
|
--tag-padding-y: .2em;
|
||||||
|
--tag-radius: .5em;
|
||||||
|
|
||||||
|
--tab-font-weight: 600;
|
||||||
|
--bold-weight: 600;
|
||||||
|
|
||||||
|
--checkbox-radius: 0;
|
||||||
|
|
||||||
|
/* --list-indent: 2em; */
|
||||||
|
|
||||||
|
--embed-border-left: 6px double var(--interactive-accent);
|
||||||
|
}
|
||||||
|
|
||||||
|
.theme-dark
|
||||||
|
{
|
||||||
|
--color-red-rgb: var(--red_x);
|
||||||
|
--color-red: var(--red);
|
||||||
|
--color-purple-rgb: var(--purple_x);
|
||||||
|
--color-purple: var(--purple);
|
||||||
|
--color-green-rgb: var(--green_x);
|
||||||
|
--color-green: var(--green);
|
||||||
|
--color-cyan-rgb: var(--frost1_x);
|
||||||
|
--color-cyan: var(--frost1);
|
||||||
|
--color-blue-rgb: var(--frost3_x);
|
||||||
|
--color-blue: var(--frost3);
|
||||||
|
--color-yellow-rgb: var(--yellow_x);
|
||||||
|
--color-yellow: var(--yellow);
|
||||||
|
--color-orange-rgb: var(--orange_x);
|
||||||
|
--color-orange: var(--orange);
|
||||||
|
/* --color-pink: var(--purple); */
|
||||||
|
|
||||||
|
--background-primary: var(--dark0);
|
||||||
|
--background-primary-alt: var(--dark0);
|
||||||
|
--background-secondary: var(--dark1);
|
||||||
|
--background-secondary-alt: var(--dark2);
|
||||||
|
--background-modifier-border: var(--dark2);
|
||||||
|
|
||||||
|
--cursor-line-background: rgba(var(--red_x), 0.2);
|
||||||
|
|
||||||
|
--text-normal: var(--light2);
|
||||||
|
--text-faint: var(--light0);
|
||||||
|
--text-muted: var(--light1);
|
||||||
|
|
||||||
|
--link-url: var(--purple);
|
||||||
|
|
||||||
|
--h1-color: var(--red);
|
||||||
|
--h2-color: var(--yellow);
|
||||||
|
--h3-color: var(--green);
|
||||||
|
--h4-color: var(--purple);
|
||||||
|
--h5-color: var(--frost0);
|
||||||
|
--h6-color: var(--frost2);
|
||||||
|
|
||||||
|
--text-highlight-bg: var(--frost1);
|
||||||
|
--text-highlight-fg: var(--dark0);
|
||||||
|
|
||||||
|
--text-accent: var(--orange);
|
||||||
|
--text-accent-hover: var(--frost2);
|
||||||
|
|
||||||
|
--tag-color: var(--frost0);
|
||||||
|
--tag-background: var(--dark2);
|
||||||
|
--tag-background-hover: var(--dark1);
|
||||||
|
|
||||||
|
--titlebar-text-color-focused: var(--red);
|
||||||
|
|
||||||
|
--inline-title-color: var(--yellow);
|
||||||
|
|
||||||
|
--bold-color: var(--yellow);
|
||||||
|
--italic-color: var(--yellow);
|
||||||
|
|
||||||
|
--checkbox-color: var(--frost0);
|
||||||
|
--checkbox-color-hover: var(--frost0);
|
||||||
|
--checkbox-border-color: var(--frost0);
|
||||||
|
--checkbox-border-color-hover: var(--frost0);
|
||||||
|
--checklist-done-color: rgba(var(--light2_x), 0.5);
|
||||||
|
|
||||||
|
--table-header-background: hsl(220, 16%, 16%);
|
||||||
|
--table-header-background-hover: var(--dark3);
|
||||||
|
--table-row-even-background: hsl(220, 16%, 20%);
|
||||||
|
--table-row-odd-background: hsl(220, 16%, 24%);
|
||||||
|
--table-row-background-hover: var(--dark3);
|
||||||
|
|
||||||
|
--text-selection: rgba(var(--red_x), 0.6);
|
||||||
|
--flashing-background: rgba(var(--red_x), 0.3);
|
||||||
|
|
||||||
|
--code-normal: var(--frost1);
|
||||||
|
--code-background: var(--dark1);
|
||||||
|
|
||||||
|
--mermaid-note: var(--frost3);
|
||||||
|
--mermaid-loopline: var(--frost1);
|
||||||
|
--mermaid-exclude: var(--dark3);
|
||||||
|
--mermaid-seqnum: var(--dark0);
|
||||||
|
|
||||||
|
--icon-color-hover: var(--red);
|
||||||
|
--icon-color-focused: var(--frost2);
|
||||||
|
|
||||||
|
--nav-item-color-hover: var(--red);
|
||||||
|
--nav-item-color-active: var(--frost2);
|
||||||
|
--nav-file-tag: rgba(var(--yellow_x), 0.9);
|
||||||
|
|
||||||
|
--graph-line: var(--dark3);
|
||||||
|
--graph-node: var(--light3);
|
||||||
|
--graph-node-tag: var(--red);
|
||||||
|
--graph-node-attachment: var(--green);
|
||||||
|
|
||||||
|
--calendar-hover: var(--red);
|
||||||
|
--calendar-background-hover: var(--dark3);
|
||||||
|
--calendar-week: var(--yellow);
|
||||||
|
--calendar-today: var(--yellow);
|
||||||
|
|
||||||
|
--dataview-key: var(--text-faint);
|
||||||
|
--dataview-key-background: rgba(var(--frost2_x), 0.3);
|
||||||
|
--dataview-value: var(--text-faint);
|
||||||
|
--dataview-value-background: rgba(var(--red_x), 0.3);
|
||||||
|
|
||||||
|
--tab-text-color-focused-active: var(--frost2);
|
||||||
|
--tab-text-color-focused-active-current: var(--red);
|
||||||
|
}
|
||||||
|
|
||||||
|
.theme-light
|
||||||
|
{
|
||||||
|
--color-red-rgb: var(--red_x);
|
||||||
|
--color-red: var(--red);
|
||||||
|
--color-purple-rgb: var(--purple_x);
|
||||||
|
--color-purple: var(--purple);
|
||||||
|
--color-green-rgb: var(--green_x);
|
||||||
|
--color-green: var(--green);
|
||||||
|
--color-cyan-rgb: var(--frost1_x);
|
||||||
|
--color-cyan: var(--frost1);
|
||||||
|
--color-blue-rgb: var(--frost3_x);
|
||||||
|
--color-blue: var(--frost3);
|
||||||
|
--color-yellow-rgb: var(--yellow_x);
|
||||||
|
--color-yellow: var(--yellow);
|
||||||
|
--color-orange-rgb: var(--orange_x);
|
||||||
|
--color-orange: var(--orange);
|
||||||
|
/* --color-pink: var(--purple); */
|
||||||
|
|
||||||
|
--background-primary: var(--light3);
|
||||||
|
--background-primary-alt: var(--light3);
|
||||||
|
--background-secondary: var(--light2);
|
||||||
|
--background-secondary-alt: var(--light1);
|
||||||
|
--background-modifier-border: var(--light1);
|
||||||
|
|
||||||
|
--cursor-line-background: rgba(var(--red_x), 0.1);
|
||||||
|
|
||||||
|
--text-normal: var(--dark2);
|
||||||
|
--text-faint: var(--dark0);
|
||||||
|
--text-muted: var(--dark1);
|
||||||
|
|
||||||
|
--link-url: var(--purple);
|
||||||
|
|
||||||
|
--h1-color: var(--red);
|
||||||
|
--h2-color: var(--yellow);
|
||||||
|
--h3-color: var(--green);
|
||||||
|
--h4-color: var(--purple);
|
||||||
|
--h5-color: var(--frost0);
|
||||||
|
--h6-color: var(--frost2);
|
||||||
|
|
||||||
|
--text-highlight-bg: var(--yellow);
|
||||||
|
--text-highlight-fg: var(--dark0);
|
||||||
|
|
||||||
|
--text-accent: var(--orange);
|
||||||
|
--text-accent-hover: var(--frost2);
|
||||||
|
|
||||||
|
--tag-color: var(--dark3);
|
||||||
|
--tag-background: var(--light1);
|
||||||
|
--tag-background-hover: var(--light0);
|
||||||
|
|
||||||
|
--titlebar-text-color-focused: var(--red);
|
||||||
|
|
||||||
|
--inline-title-color: var(--yellow);
|
||||||
|
|
||||||
|
--bold-color: var(--green);
|
||||||
|
--italic-color: var(--green);
|
||||||
|
|
||||||
|
--checkbox-color: var(--frost2);
|
||||||
|
--checkbox-color-hover: var(--frost2);
|
||||||
|
--checkbox-border-color: var(--frost2);
|
||||||
|
--checkbox-border-color-hover: var(--frost2);
|
||||||
|
--checklist-done-color: rgba(var(--dark2_x), 0.4);
|
||||||
|
|
||||||
|
--table-header-background: rgba(var(--light2_x), 0.2);
|
||||||
|
--table-header-background-hover: var(--frost2);
|
||||||
|
--table-row-even-background: rgba(var(--light2_x), 0.4);
|
||||||
|
--table-row-odd-background: rgba(var(--light2_x), 0.8);
|
||||||
|
--table-row-background-hover: var(--frost2);
|
||||||
|
|
||||||
|
--text-selection: rgba(var(--red_x), 0.6);
|
||||||
|
--flashing-background: rgba(var(--red_x), 0.3);
|
||||||
|
|
||||||
|
--code-normal: var(--frost1);
|
||||||
|
--code-background: var(--light2);
|
||||||
|
|
||||||
|
--mermaid-note: var(--frost0);
|
||||||
|
--mermaid-loopline: var(--frost1);
|
||||||
|
--mermaid-exclude: var(--light0);
|
||||||
|
--mermaid-seqnum: var(--light0);
|
||||||
|
|
||||||
|
--icon-color-hover: var(--red);
|
||||||
|
--icon-color-focused: var(--frost3);
|
||||||
|
|
||||||
|
--nav-item-color-hover: var(--red);
|
||||||
|
--nav-item-color-active: var(--frost2);
|
||||||
|
--nav-file-tag: rgba(var(--orange_x), 0.9);
|
||||||
|
|
||||||
|
--graph-line: var(--light0);
|
||||||
|
--graph-node: var(--dark3);
|
||||||
|
--graph-node-tag: var(--red);
|
||||||
|
--graph-node-attachment: var(--green);
|
||||||
|
|
||||||
|
--calendar-hover: var(--red);
|
||||||
|
--calendar-background-hover: var(--light0);
|
||||||
|
--calendar-week: var(--orange);
|
||||||
|
--calendar-today: var(--orange);
|
||||||
|
|
||||||
|
--dataview-key: var(--text-faint);
|
||||||
|
--dataview-key-background: rgba(var(--frost2_x), 0.3);
|
||||||
|
--dataview-value: var(--text-faint);
|
||||||
|
--dataview-value-background: rgba(var(--red_x), 0.3);
|
||||||
|
|
||||||
|
--tab-text-color-focused-active: var(--frost2);
|
||||||
|
--tab-text-color-focused-active-current: var(--red);
|
||||||
|
}
|
||||||
|
|
||||||
|
table
|
||||||
|
{
|
||||||
|
border: 1px solid var(--background-secondary) !important;
|
||||||
|
border-collapse: collapse;
|
||||||
|
}
|
||||||
|
|
||||||
|
thead
|
||||||
|
{
|
||||||
|
border-bottom: 2px solid var(--background-modifier-border) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
th
|
||||||
|
{
|
||||||
|
font-weight: 600 !important;
|
||||||
|
border: 1px solid var(--background-secondary) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
td
|
||||||
|
{
|
||||||
|
border-left: 1px solid var(--background-secondary) !important;
|
||||||
|
border-right: 1px solid var(--background-secondary) !important;
|
||||||
|
border-bottom: 1px solid var(--background-secondary) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown-rendered tbody tr:nth-child(even)
|
||||||
|
{
|
||||||
|
background-color: var(--table-row-even-background) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown-rendered tbody tr:nth-child(odd)
|
||||||
|
{
|
||||||
|
background-color: var(--table-row-odd-background) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown-rendered tbody tr:nth-child(even):hover,
|
||||||
|
.markdown-rendered tbody tr:nth-child(odd):hover
|
||||||
|
{
|
||||||
|
background-color: var(--table-row-background-hover) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown-rendered mark
|
||||||
|
{
|
||||||
|
background-color: var(--text-highlight-bg);
|
||||||
|
color: var(--text-highlight-fg);
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown-rendered mark a
|
||||||
|
{
|
||||||
|
color: var(--red) !important;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
|
||||||
|
.search-result-file-matched-text
|
||||||
|
{
|
||||||
|
color: var(--text-highlight-fg) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cm-hashtag-begin:hover, .cm-hashtag-end:hover
|
||||||
|
{
|
||||||
|
color: var(--text-accent);
|
||||||
|
/* background-color: var(--tag-background-hover); */
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
input[type=checkbox]
|
||||||
|
{
|
||||||
|
border: 1px solid var(--checkbox-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
input[type=checkbox]:checked
|
||||||
|
{
|
||||||
|
background-color: var(--checkbox-color);
|
||||||
|
box-shadow: inset 0 0 0 2px var(--background-primary);
|
||||||
|
}
|
||||||
|
|
||||||
|
input[type=checkbox]:checked:after
|
||||||
|
{
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
code[class*="language-"],
|
||||||
|
pre[class*="language-"]
|
||||||
|
{
|
||||||
|
line-height: var(--line-height-tight) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cm-url
|
||||||
|
{
|
||||||
|
color: var(--link-url) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cm-url:hover
|
||||||
|
{
|
||||||
|
color: var(--text-accent-hover) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Keep highlight/marks the same between viewer and editor. */
|
||||||
|
.cm-highlight
|
||||||
|
{
|
||||||
|
color: var(--text-highlight-fg) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Keep inline code the same between viewer and editor. */
|
||||||
|
.cm-inline-code
|
||||||
|
{
|
||||||
|
border-radius: var(--radius-s);
|
||||||
|
font-size: var(--code-size);
|
||||||
|
padding: 0.1em 0.25em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cm-formatting-code + .cm-inline-code
|
||||||
|
{
|
||||||
|
border-radius: 0;
|
||||||
|
padding: 0.1em 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cm-formatting-code
|
||||||
|
{
|
||||||
|
border-radius: var(--radius-s) 0 0 var(--radius-s);
|
||||||
|
padding: 0.1em 0 0.1em 0.25em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cm-inline-code + .cm-formatting-code
|
||||||
|
{
|
||||||
|
border-radius: 0 var(--radius-s) var(--radius-s) 0;
|
||||||
|
padding: 0.1em 0.25em 0.1em 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cm-line .cm-strong
|
||||||
|
{
|
||||||
|
color: var(--bold-color) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Keep list bullet padding the same between viewer and editor.
|
||||||
|
* This is annoying with the cursor in the editor as there is a gap.
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
.cm-formatting-list
|
||||||
|
{
|
||||||
|
padding-right: 4px !important;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Keep sub-list indenting the same between viewer and editor.
|
||||||
|
* This assumes --list-indent is default at 2em.
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
.cm-indent
|
||||||
|
{
|
||||||
|
text-indent: 1em !important;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
.mermaid .note
|
||||||
|
{
|
||||||
|
fill: var(--mermaid-note) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mermaid .loopLine,
|
||||||
|
{
|
||||||
|
stroke: var(--mermaid-loopline) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mermaid .loopText>tspan,
|
||||||
|
.mermaid .entityLabel
|
||||||
|
{
|
||||||
|
fill: var(--red) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mermaid .exclude-range
|
||||||
|
{
|
||||||
|
fill: var(--mermaid-exclude) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mermaid .sequenceNumber
|
||||||
|
{
|
||||||
|
fill: var(--mermaid-seqnum) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.calendar .week-num
|
||||||
|
{
|
||||||
|
color: var(--calendar-week) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.calendar .today
|
||||||
|
{
|
||||||
|
color: var(--calendar-today) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.calendar .week-num:hover,
|
||||||
|
.calendar .day:hover
|
||||||
|
{
|
||||||
|
color: var(--calendar-hover) !important;
|
||||||
|
background-color: var(--calendar-background-hover) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown-embed-title
|
||||||
|
{
|
||||||
|
color: var(--yellow);
|
||||||
|
font-weight: 600 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cm-active
|
||||||
|
{
|
||||||
|
background-color: var(--cursor-line-background) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav-file-tag
|
||||||
|
{
|
||||||
|
color: var(--nav-file-tag) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.is-flashing
|
||||||
|
{
|
||||||
|
background-color: var(--flashing-background) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dataview.inline-field-key
|
||||||
|
{
|
||||||
|
border-top-left-radius: var(--radius-s);
|
||||||
|
border-bottom-left-radius: var(--radius-s);
|
||||||
|
padding-left: 4px;
|
||||||
|
font-family: var(--font-monospace);
|
||||||
|
font-size: var(--font-smaller);
|
||||||
|
color: var(--dataview-key) !important;
|
||||||
|
background-color: var(--dataview-key-background) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dataview.inline-field-value
|
||||||
|
{
|
||||||
|
border-top-right-radius: var(--radius-s);
|
||||||
|
border-bottom-right-radius: var(--radius-s);
|
||||||
|
padding-right: 4px;
|
||||||
|
font-family: var(--font-monospace);
|
||||||
|
font-size: var(--font-smaller);
|
||||||
|
color: var(--dataview-value) !important;
|
||||||
|
background-color: var(--dataview-value-background) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.suggestion-highlight
|
||||||
|
{
|
||||||
|
color: var(--red);
|
||||||
|
}
|
||||||
|
|
7
.obsidian/themes/Things/manifest.json
vendored
Normal file
7
.obsidian/themes/Things/manifest.json
vendored
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"name": "Things",
|
||||||
|
"version": "2.1.20",
|
||||||
|
"minAppVersion": "1.0.0",
|
||||||
|
"author": "@colineckert",
|
||||||
|
"authorUrl": "https://twitter.com/colineckert"
|
||||||
|
}
|
1628
.obsidian/themes/Things/theme.css
vendored
Normal file
1628
.obsidian/themes/Things/theme.css
vendored
Normal file
File diff suppressed because it is too large
Load Diff
240
.obsidian/workspace.json
vendored
Normal file
240
.obsidian/workspace.json
vendored
Normal file
@@ -0,0 +1,240 @@
|
|||||||
|
{
|
||||||
|
"main": {
|
||||||
|
"id": "b894e6395441bf91",
|
||||||
|
"type": "split",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"id": "18e28060fe2de0a2",
|
||||||
|
"type": "tabs",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"id": "d83bb0bbeeb86eec",
|
||||||
|
"type": "leaf",
|
||||||
|
"state": {
|
||||||
|
"type": "empty",
|
||||||
|
"state": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "3ed058b7ba32ddc0",
|
||||||
|
"type": "leaf",
|
||||||
|
"state": {
|
||||||
|
"type": "markdown",
|
||||||
|
"state": {
|
||||||
|
"file": "Software Project with Agile Techinques/Week 3/Study Skills - Class Diagrams.md",
|
||||||
|
"mode": "source",
|
||||||
|
"source": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"currentTab": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"direction": "vertical"
|
||||||
|
},
|
||||||
|
"left": {
|
||||||
|
"id": "29180f976da6913e",
|
||||||
|
"type": "split",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"id": "5e6a5a1cfc68c394",
|
||||||
|
"type": "tabs",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"id": "b645eb003ca29da3",
|
||||||
|
"type": "leaf",
|
||||||
|
"state": {
|
||||||
|
"type": "search",
|
||||||
|
"state": {
|
||||||
|
"query": "tag:#Subsets",
|
||||||
|
"matchingCase": false,
|
||||||
|
"explainSearch": false,
|
||||||
|
"collapseAll": false,
|
||||||
|
"extraContext": false,
|
||||||
|
"sortOrder": "alphabetical"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "fffdf73e5f225916",
|
||||||
|
"type": "leaf",
|
||||||
|
"state": {
|
||||||
|
"type": "bookmarks",
|
||||||
|
"state": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "671043c113c40804",
|
||||||
|
"type": "leaf",
|
||||||
|
"state": {
|
||||||
|
"type": "file-explorer",
|
||||||
|
"state": {
|
||||||
|
"sortOrder": "alphabetical"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"currentTab": 2
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"direction": "horizontal",
|
||||||
|
"width": 395.5
|
||||||
|
},
|
||||||
|
"right": {
|
||||||
|
"id": "ee8f6df41634f71e",
|
||||||
|
"type": "split",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"id": "08c5be16080a33d4",
|
||||||
|
"type": "tabs",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"id": "28df09223f5ff3ba",
|
||||||
|
"type": "leaf",
|
||||||
|
"state": {
|
||||||
|
"type": "backlink",
|
||||||
|
"state": {
|
||||||
|
"file": "Software Project with Agile Techinques/Week 3/Study Skills - Class Diagrams.md",
|
||||||
|
"collapseAll": false,
|
||||||
|
"extraContext": false,
|
||||||
|
"sortOrder": "alphabetical",
|
||||||
|
"showSearch": false,
|
||||||
|
"searchQuery": "",
|
||||||
|
"backlinkCollapsed": false,
|
||||||
|
"unlinkedCollapsed": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "7bc5b41711af1822",
|
||||||
|
"type": "leaf",
|
||||||
|
"state": {
|
||||||
|
"type": "outgoing-link",
|
||||||
|
"state": {
|
||||||
|
"file": "Software Project with Agile Techinques/Week 3/Study Skills - Class Diagrams.md",
|
||||||
|
"linksCollapsed": false,
|
||||||
|
"unlinkedCollapsed": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "1817c377e59b8531",
|
||||||
|
"type": "leaf",
|
||||||
|
"state": {
|
||||||
|
"type": "tag",
|
||||||
|
"state": {
|
||||||
|
"sortOrder": "frequency",
|
||||||
|
"useHierarchy": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "3f130e3d308d39ed",
|
||||||
|
"type": "leaf",
|
||||||
|
"state": {
|
||||||
|
"type": "outline",
|
||||||
|
"state": {
|
||||||
|
"file": "Software Project with Agile Techinques/Week 3/Study Skills - Class Diagrams.md"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "2e33e92dc5f2fbae",
|
||||||
|
"type": "leaf",
|
||||||
|
"state": {
|
||||||
|
"type": "all-properties",
|
||||||
|
"state": {
|
||||||
|
"sortOrder": "frequency",
|
||||||
|
"showSearch": false,
|
||||||
|
"searchQuery": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "ff4e63a36b080692",
|
||||||
|
"type": "leaf",
|
||||||
|
"state": {
|
||||||
|
"type": "git-view",
|
||||||
|
"state": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "390f03a34bed73fd",
|
||||||
|
"type": "leaf",
|
||||||
|
"state": {
|
||||||
|
"type": "mermaid-toolbar-view",
|
||||||
|
"state": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"currentTab": 5
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"direction": "horizontal",
|
||||||
|
"width": 307.5
|
||||||
|
},
|
||||||
|
"left-ribbon": {
|
||||||
|
"hiddenItems": {
|
||||||
|
"graph:Open graph view": false,
|
||||||
|
"command-palette:Open command palette": false,
|
||||||
|
"switcher:Open quick switcher": false,
|
||||||
|
"obsidian-git:Open Git source control": false,
|
||||||
|
"obsidian-full-calendar:Open Full Calendar": false,
|
||||||
|
"omnisearch:Omnisearch": false,
|
||||||
|
"mermaid-tools:Open Mermaid Toolbar": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"active": "ff4e63a36b080692",
|
||||||
|
"lastOpenFiles": [
|
||||||
|
"README.md",
|
||||||
|
"AI & Data Mining/Week 4/Tutorial 4 - Nearest Neighbor.md",
|
||||||
|
"AI & Data Mining/Week 4/Lecture 7 - Nearest Neighbor.md",
|
||||||
|
"AI & Data Mining/Week 4/Workshop 4 - Nearest Neighbor.md",
|
||||||
|
"Penetration Testing/Week 3/Workshop 3 - netcat.md",
|
||||||
|
"Penetration Testing/Week 4/Week 4 - Pre-Engagement.md",
|
||||||
|
"Penetration Testing/Week 4/Workshop 4 - Google Dorking.md",
|
||||||
|
"Pasted image 20241011140717.png",
|
||||||
|
"Pasted image 20241011140654.png",
|
||||||
|
"Pasted image 20241011140611.png",
|
||||||
|
"Pasted image 20241011131844.png",
|
||||||
|
"Pasted image 20241011131542.png",
|
||||||
|
"Software Project with Agile Techinques/Week 4/Workshop 4 - SPAT.md",
|
||||||
|
"Software Project with Agile Techinques/Week 3/Study Skills - Class Diagrams.md",
|
||||||
|
"Networking and Security/Week 4/Workshop 4 - Routing.md",
|
||||||
|
"Software Project with Agile Techinques/Week 4",
|
||||||
|
"Networking and Security/Week 3/Workshop 3 - Subnetting.md",
|
||||||
|
"Networking and Security/Week 2/Lecture 3 - IP4 and Subnetting.md",
|
||||||
|
"Pasted image 20241010135130.png",
|
||||||
|
"Pasted image 20241010133818.png",
|
||||||
|
"Client Server Systems/Week 3/Workshop 3.md",
|
||||||
|
"AI & Data Mining/Week 4",
|
||||||
|
"Pasted image 20241010132326.png",
|
||||||
|
"Pasted image 20241010132324.png",
|
||||||
|
"Client Server Systems/Week 4",
|
||||||
|
"Data Structures/Week 4/Week 4 - Exceptions.md",
|
||||||
|
"Penetration Testing/Week 4",
|
||||||
|
"Networking and Security/Week 4/Lecture 8.md",
|
||||||
|
"Data Structures/Week 4",
|
||||||
|
"AI & Data Mining/Week 3/Workshop 3.md",
|
||||||
|
"Networking and Security/Week 4",
|
||||||
|
"AI & Data Mining/Week 3/Tutorial 3.md",
|
||||||
|
"AI & Data Mining/Week 1/Lecture 2 - Input and Output.md",
|
||||||
|
"Pasted image 20241004143909.png",
|
||||||
|
"AI & Data Mining/Week 3/Untitled.md.partial",
|
||||||
|
"AI & Data Mining/Week 3/Lecture 5 - Naive Bayes.md",
|
||||||
|
"Client Server Systems/Week 3/workshop3/strings.php~",
|
||||||
|
"Software Project with Agile Techinques/Week 3",
|
||||||
|
"Networking and Security/Week 3",
|
||||||
|
"Data Structures/Week 1/Lecture 2 - Data Structures & ADTs.md",
|
||||||
|
"Data Structures/Week 1/Lecture 1 - Module Intro.md",
|
||||||
|
"Penetration Testing/Week 3/Lecture 3 - Blue Team.md",
|
||||||
|
"Data Structures/Week 3/Workshop 3 - ADTs.md",
|
||||||
|
"Data Structures/Week 3/Lecture 5 - Linear List.md",
|
||||||
|
"Career Development/Week 3/Lecture 3 - Employment Skills.md",
|
||||||
|
"Data Structures/Untitled.md",
|
||||||
|
"Database Systems/Untitled.canvas",
|
||||||
|
"Untitled 1.canvas",
|
||||||
|
"Untitled.canvas"
|
||||||
|
]
|
||||||
|
}
|
@@ -0,0 +1,214 @@
|
|||||||
|
# Assessment
|
||||||
|
|
||||||
|
## T1
|
||||||
|
|
||||||
|
- Exam (50%)
|
||||||
|
|
||||||
|
## T2
|
||||||
|
|
||||||
|
- Coursework (50%)
|
||||||
|
|
||||||
|
# Resources
|
||||||
|
|
||||||
|
Data Mining: Practical Machine Learning Tools and Techniques (Witten, Frank, Hall & Pal) 4th Edition 2016
|
||||||
|
|
||||||
|
Scientific Calculator
|
||||||
|
|
||||||
|
# Data Vs Information
|
||||||
|
|
||||||
|
- Too much data
|
||||||
|
- Valuable resource
|
||||||
|
- Raw data less important, need to develop techniques to extract information
|
||||||
|
- Data: recorded facts
|
||||||
|
- Information: patterns underlying data
|
||||||
|
|
||||||
|
# Philosophy
|
||||||
|
|
||||||
|
## Cow Culling
|
||||||
|
|
||||||
|
- Cows described by 700 features about certain variables
|
||||||
|
- Problem is the selection of cows of which to cull
|
||||||
|
- Data is historical records, and farmer decisions
|
||||||
|
- Machine Learning used to ascertain which factors taken into account by farmers, rather than automating the decision making process.
|
||||||
|
|
||||||
|
# Definition of Data Mining
|
||||||
|
|
||||||
|
- The extraction of:
|
||||||
|
- Implicit,
|
||||||
|
- Previously unknown,
|
||||||
|
- Potentially useful data
|
||||||
|
- Programs that detect patterns and regularities are needed
|
||||||
|
- Strong patterns => good predictions
|
||||||
|
- Issues:
|
||||||
|
- Most patterns not interesting
|
||||||
|
- Patterns may be inexact
|
||||||
|
- Data may be garbled or missing
|
||||||
|
|
||||||
|
# Machine Learning Techniques
|
||||||
|
|
||||||
|
- Algorithms for acquiring structural descriptions from examples
|
||||||
|
- Structural descriptions represent patterns, explicitly.
|
||||||
|
- Predict outcome in new situation
|
||||||
|
- Understand and explain how prediction derived.
|
||||||
|
- Methods originate from AI, statistics and research on databases.
|
||||||
|
|
||||||
|
# Can Machines Learn?
|
||||||
|
|
||||||
|
- By definition, sort of. The ability to obtain knowledge by study, experience or being taught, is very difficult to measure.
|
||||||
|
- Does learning imply intention?
|
||||||
|
|
||||||
|
# Terminology
|
||||||
|
|
||||||
|
- Concept - Thing to be learned
|
||||||
|
- Example / Instance - Individual, independent examples of a concept
|
||||||
|
- Attributes / Features - Measuring aspects of an example / instance
|
||||||
|
- Concept description (pattern, model, hypothesis) - Output for data mining algorithms.
|
||||||
|
|
||||||
|
# Famous Small Datasets
|
||||||
|
|
||||||
|
- Will be used in module
|
||||||
|
- Unrealistically simple
|
||||||
|
|
||||||
|
## Weather Dataset - Nominal
|
||||||
|
|
||||||
|
Concept: conditions which are suitable for a game.
|
||||||
|
Reference: Quinlan, J.R. (1986)
|
||||||
|
Induction of decision trees. Machine
|
||||||
|
Learning, 1(1), 81-106.
|
||||||
|
|
||||||
|
### Attributes
|
||||||
|
|
||||||
|
3\*3\*2\*2 = 36 possible combinations of values.
|
||||||
|
Outlook
|
||||||
|
|
||||||
|
- sunny, overcast, rainy
|
||||||
|
Temperature
|
||||||
|
- hot, mild, cool
|
||||||
|
Humidity
|
||||||
|
- high, normal
|
||||||
|
Windy
|
||||||
|
- yes, no
|
||||||
|
Play
|
||||||
|
- Class
|
||||||
|
- yes, no
|
||||||
|
|
||||||
|
### Dataset
|
||||||
|
|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
|
Rules ordered, higher = higher priority
|
||||||
|
|
||||||
|
### Weather Dataset - Mixed
|
||||||
|
|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
|
## Contact Lenses Dataset
|
||||||
|
|
||||||
|
Describes conditions under which an optician might want to prescribe soft, hard or no contact lenses.
|
||||||
|
Grossly over-simplified.
|
||||||
|
Reference: Cendrowska, J. (1987). Prism: an algorithm
|
||||||
|
for inducing module rules. Journal of Man-Machine
|
||||||
|
Studies, 27(4), 349–370.
|
||||||
|
|
||||||
|
### Attributes
|
||||||
|
|
||||||
|
3\*2\*2\*2 = 24 possibilities
|
||||||
|
Dataset is exhaustive, which is unusual.
|
||||||
|
|
||||||
|
Age
|
||||||
|
|
||||||
|
- young, pre-presbyopic, presbyopic
|
||||||
|
Spectacle Prescription
|
||||||
|
- myope (short), hypermetrope (long)
|
||||||
|
Astigmatism
|
||||||
|
- yes, no
|
||||||
|
Tear Production Rate
|
||||||
|
- reduced, normal
|
||||||
|
Recommended Lenses
|
||||||
|
- class
|
||||||
|
- hard, soft, none
|
||||||
|
|
||||||
|
### Dataset
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## Iris Dataset
|
||||||
|
|
||||||
|
Used in many statistical experiments
|
||||||
|
Contains numeric attributes of 3 different types of iris.
|
||||||
|
Created in 1936 by Sir Ronald Fisher
|
||||||
|
|
||||||
|
### Dataset
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
# Styles of Learning
|
||||||
|
|
||||||
|
- Classification Learning: Predicting a **nominal** class
|
||||||
|
- Numeric Prediction (Regression): Predicting a **numeric** quantity
|
||||||
|
- Clustering: Grouping similar examples into clusters
|
||||||
|
- Association Learning: Detecting associations between attributes
|
||||||
|
|
||||||
|
## Classification Learning
|
||||||
|
|
||||||
|
- Nominal
|
||||||
|
- Supervised
|
||||||
|
- Provided with actual value of the class
|
||||||
|
- Measure success on fresh data for which class labels are known (test data)
|
||||||
|
|
||||||
|
## Numeric Prediction (Regression)
|
||||||
|
|
||||||
|
- Numeric
|
||||||
|
- Supervised
|
||||||
|
- Test Data
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Example uses a linear regression function to provide an estimated performance value based on attributes.
|
||||||
|
|
||||||
|
## Clustering
|
||||||
|
|
||||||
|
- Finding similar groups
|
||||||
|
- Unsupervised
|
||||||
|
- Class of example is unknown
|
||||||
|
- Success measured **subjectively**
|
||||||
|
|
||||||
|
## Association Learning
|
||||||
|
|
||||||
|
- Applied if no class specified, and any kind of structure is interesting
|
||||||
|
- Difference to Classification Learning:
|
||||||
|
- Predicts any attribute's value, not just class.
|
||||||
|
- More than one attribute's value at a time
|
||||||
|
- Far more association rules than classification rules.
|
||||||
|
|
||||||
|
## Classification Vs Association Rules
|
||||||
|
|
||||||
|
Classification Rule:
|
||||||
|
|
||||||
|
- Predicts value of a given attribute (class of example)
|
||||||
|
- ``If outlook = sunny and humidity = high, then play = no``
|
||||||
|
|
||||||
|
Association Rule:
|
||||||
|
|
||||||
|
- Predicts value of arbitrary attribute / combination
|
||||||
|
|
||||||
|
```If temperature = cool, humidity = normal
|
||||||
|
If humidity = normal and windy = false, play = yes
|
||||||
|
If outlook = sunny and play = no, humidity = high
|
||||||
|
If windy = false and play = no, then outlook = sunny and humidity = high
|
||||||
|
```
|
||||||
|
|
||||||
|
# Data Mining and Ethics
|
||||||
|
|
||||||
|
- Ethical Issues arise in practical applications
|
||||||
|
- Data mining often used to discriminate
|
||||||
|
- Ethical situation depends on application
|
||||||
|
- Attributes may contain problematic information
|
||||||
|
- Does ownership of data bestow right to use it in other ways than those purported when it was originally collected?
|
||||||
|
- Who is permitted to access the data?
|
||||||
|
- For what purpose was the data collected?
|
||||||
|
- What conclusions can sensibly be drawn?
|
||||||
|
- Caveats must be attached to results
|
||||||
|
- Purely statistical arguments never sufficient
|
135
AI & Data Mining/Week 1/Lecture 2 - Input and Output.md
Normal file
135
AI & Data Mining/Week 1/Lecture 2 - Input and Output.md
Normal file
@@ -0,0 +1,135 @@
|
|||||||
|
# Attributes
|
||||||
|
|
||||||
|
- Each example described by fixed pre-defined set of features (attributes)
|
||||||
|
- Number of attributes may vary
|
||||||
|
- ex. Transportation Vehicles
|
||||||
|
- no. wheels not applicable to ships
|
||||||
|
- no. masts not applicable to cars
|
||||||
|
- Possible solution: "irrelevant value" flag
|
||||||
|
- Attributes may be dependent on other attributes
|
||||||
|
|
||||||
|
# Taxonomy of Data Types
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
# Nominal Attributes
|
||||||
|
|
||||||
|
- Distinct symbols
|
||||||
|
- Serve as labels or names
|
||||||
|
- No relation implied among nominal values
|
||||||
|
- Only equality tests can be performed
|
||||||
|
- ex. outlook = sunny
|
||||||
|
|
||||||
|
# Sources of Missing Values
|
||||||
|
|
||||||
|
- Malfunctioning / Misconfigured Equipment
|
||||||
|
- Changes in design
|
||||||
|
- Collation of different datasets
|
||||||
|
- Data not collected for mining
|
||||||
|
- Errors and omissions dont affect purpose of data
|
||||||
|
- ex. Banks do not need to know age in banking datasets, DOB may contain missing values
|
||||||
|
- Missing value may have significance
|
||||||
|
- ex. medical diagnoses can be made from tests a doctor decides, rather than the outcome.
|
||||||
|
- Most DM algos assume this is not the case, hence "missing" may need to be coded as an additional nominal value.
|
||||||
|
|
||||||
|
# Inaccurate Values
|
||||||
|
|
||||||
|
- Typographical errors in nominal attributes
|
||||||
|
- Typographical and measurement errors in numeric attributes
|
||||||
|
- Deliberate errors
|
||||||
|
- ex. Incorrect ZIP codes, unsanitised inputs
|
||||||
|
- Duplicate examples
|
||||||
|
|
||||||
|
# Weka and ARFF
|
||||||
|
|
||||||
|
## Weather Dataset in ARFF
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
### Getting to Know the Data
|
||||||
|
|
||||||
|
- First task, get to know data
|
||||||
|
- Simple visualisations useful:
|
||||||
|
- Nominal: bar graph
|
||||||
|
- Numeric: histograms
|
||||||
|
- 2D and 3D plots show dependencies
|
||||||
|
- Need to consult experts
|
||||||
|
- Too much data? Take sample.
|
||||||
|
|
||||||
|
# Concept Descriptions
|
||||||
|
|
||||||
|
- Output of DM algorithm
|
||||||
|
- Many ways of representing:
|
||||||
|
- Decision Trees
|
||||||
|
- Rules
|
||||||
|
- Linear Regression Functions
|
||||||
|
|
||||||
|
## Decision Trees
|
||||||
|
|
||||||
|
- Divide-and-Conquer approach
|
||||||
|
- Trees drawn upside down
|
||||||
|
- Node at top is root
|
||||||
|
- Edges are branches
|
||||||
|
- Rectangles represent leaves
|
||||||
|
- Leaves assign classification
|
||||||
|
- Nodes involve testing attribute
|
||||||
|
|
||||||
|
### Decision Tree with Nominal Attributes
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
- Number of branches usually equal to number values
|
||||||
|
- Attribute not tested more than once.
|
||||||
|
|
||||||
|
### Decision Tree with Numeric Attributes
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
- Test whether value is greater or less than constant
|
||||||
|
- Attribute may be tested multiple times
|
||||||
|
|
||||||
|
### Decision Trees with Missing Values
|
||||||
|
|
||||||
|
- Not clear which branch should be taken when node tests attribute with missing value
|
||||||
|
- Does absence of a value have significance?
|
||||||
|
- Yes => Treat as separate value during training
|
||||||
|
- No => Treat in special way during testing
|
||||||
|
- Assign sample to most popular branch
|
||||||
|
|
||||||
|
# Classification Rules
|
||||||
|
|
||||||
|
- Popular alternative to decision tree
|
||||||
|
- Antecedent (pre-condition) - series of tests
|
||||||
|
- Tests usually logically ANDed together
|
||||||
|
- Consequent (conclusion) - usually a class
|
||||||
|
- Individual rules often logically ORed together
|
||||||
|
|
||||||
|
## If-Then Rules for Contact Lenses
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
# Nuggets
|
||||||
|
|
||||||
|
- Are rules independent
|
||||||
|
- Problem: Ignores process of executing rules
|
||||||
|
- Ordered set (decision list)
|
||||||
|
- Order important for interpretation
|
||||||
|
- Unordered set
|
||||||
|
- Rules may overlap and lead to different conclusions for the same example
|
||||||
|
- Needs conflict resolution
|
||||||
|
|
||||||
|
## Executing Rules
|
||||||
|
|
||||||
|
- What if $\geq$ 2 rules conflict?
|
||||||
|
- Give no conclusion?
|
||||||
|
- Go with the rule that covers largest no. training samples?
|
||||||
|
- What is no rule applies to test example?
|
||||||
|
- Give no conclusion?
|
||||||
|
- Go with class that is most frequent?
|
||||||
|
|
||||||
|
## Special Case: Boolean Classes
|
||||||
|
|
||||||
|
- Assumption: if example does not belong to class "yes", belongs to "no"
|
||||||
|
- Solution: only learn rules for class "yes", use default rule for "no"
|
||||||
|

|
||||||
|
- Order is important, no conflicts.
|
85
AI & Data Mining/Week 3/Lecture 5 - Naive Bayes.md
Normal file
85
AI & Data Mining/Week 3/Lecture 5 - Naive Bayes.md
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
# Statistical Modelling
|
||||||
|
|
||||||
|
- Using statistical modelling for classification
|
||||||
|
- Bayesian techniques adopted by machine learning community in the 90s
|
||||||
|
- Opposite of 1R, uses all attributes
|
||||||
|
- Assume:
|
||||||
|
- Attributes equally important
|
||||||
|
- Statistically independent
|
||||||
|
- Independence assumption never correct
|
||||||
|
- Works in practice
|
||||||
|
|
||||||
|
# Weather Dataset
|
||||||
|
|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
|
# Bayes' Rule of Conditional Probability
|
||||||
|
|
||||||
|
- Probability of event H given evidence E:
|
||||||
|
|
||||||
|
# $Pr[H|E] = \frac{Pr[E|H]\times Pr[H]}{Pr[E]}$
|
||||||
|
|
||||||
|
- H may be ex. Play = Yes
|
||||||
|
- E may be particular weather for new day
|
||||||
|
- A priori probability of H: $Pr[H]$
|
||||||
|
- Probability before evidence
|
||||||
|
- A posteriori probability of H: $Pr[H|E]$
|
||||||
|
- Probability after evidence
|
||||||
|
|
||||||
|
## Naive Bayes for Classification
|
||||||
|
|
||||||
|
- Classification Learning: what is the probability of class given instance?
|
||||||
|
- Evidence $E$ = instance
|
||||||
|
- Event $H$ = class for given instance
|
||||||
|
- Naive assumption: evidence splits into attributes that are independent
|
||||||
|
|
||||||
|
# $Pr[H|E] = \frac{Pr[E_1|H] \times Pr[E_2|H]… Pr[E_n|H] \times Pr[H]}{Pr[E]}$
|
||||||
|
|
||||||
|
- Denominator cancels out during conversion into probability by normalisation
|
||||||
|
|
||||||
|
### Weather Data Example
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
# Laplace Estimator
|
||||||
|
|
||||||
|
- Remedy to Zero-frequency problem: Add 1 to the count for every attribute value-class combination (laplace estimator)
|
||||||
|
- Result: probabilities will never be 0 (also stabilises probability estimates)
|
||||||
|
- Simple remedy is one which is often used in practice when zero frequency problem arises.
|
||||||
|
|
||||||
|
## Example
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
# Modified Probability Estimates
|
||||||
|
|
||||||
|
- Consider attribute *outlook* for class *yes*
|
||||||
|
# $\frac{2+\frac{1}{3}\mu}{9+\mu}$
|
||||||
|
Sunny
|
||||||
|
|
||||||
|
# $\frac{4+\frac{1}{3}\mu}{9+\mu}$
|
||||||
|
Overcast
|
||||||
|
|
||||||
|
# $\frac{3+\frac{1}{3}\mu}{9+\mu}$
|
||||||
|
Rainy
|
||||||
|
|
||||||
|
- Each value treated the same way
|
||||||
|
- Prior to seeing training set, assume each value is equally likely, ex. prior probability is $\frac{1}{3}$
|
||||||
|
- When decided to add 1 to counts, we implicitly set $\mu$ to 3.
|
||||||
|
- However, no particular reason to add 1 to the count, we could increment by 0.1 instead, setting $\mu$ to 0.3.
|
||||||
|
- A large value of $\mu$ indicates prior probabilities are very important compared to evidence in training set.
|
||||||
|
|
||||||
|
## Fully Bayesian Formulation
|
||||||
|
|
||||||
|
# $\frac{2+\frac{1}{3}\mu p_1}{9+\mu}$
|
||||||
|
Sunny
|
||||||
|
|
||||||
|
# $\frac{4+\frac{1}{3}\mu p_2}{9+\mu}$
|
||||||
|
Overcast
|
||||||
|
|
||||||
|
# $\frac{3+\frac{1}{3}\mu p_3}{9+\mu}$
|
||||||
|
Rainy
|
||||||
|
|
||||||
|
- Where $p_1 + p_2 + p_3 = 1$
|
||||||
|
- $p_1, p_2, p_3$ are prior probabilities of outlook being sunny, overcast or rainy before seeing the training set. However, in practice it is not clear how these prior probabilities should be assigned.
|
51
AI & Data Mining/Week 3/Tutorial 3.md
Normal file
51
AI & Data Mining/Week 3/Tutorial 3.md
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
| Temperature | Skin | Blood Pressure | Blocked Nose | Diagnosis |
|
||||||
|
| ----------- | ------ | -------------- | ------------ | --------- |
|
||||||
|
| Low | Pale | Normal | True | N |
|
||||||
|
| Moderate | Pale | Normal | True | B |
|
||||||
|
| High | Normal | High | False | N |
|
||||||
|
| Moderate | PaleFF | Normal | False | B |
|
||||||
|
| High | Red | High | False | N |
|
||||||
|
| High | Red | High | True | N |
|
||||||
|
| Moderate | Red | High | False | B |
|
||||||
|
| Low | Normal | High | False | B |
|
||||||
|
| Low | Pale | Normal | False | B |
|
||||||
|
| Low | Normal | Normal | False | B |
|
||||||
|
| High | Normal | Normal | True | B |
|
||||||
|
| Moderate | Normal | High | True | B |
|
||||||
|
| Moderate | Red | Normal | False | B |
|
||||||
|
| Low | Normal | High | True | N |
|
||||||
|
|
||||||
|
| | Temperature | | | Skin | | | Pressure | | | Blocked | | Diag | |
|
||||||
|
| -------- | ----------- | --- | ------ | ---- | --- | ------ | -------- | --- | ----- | ------- | --- | ---- | ---- |
|
||||||
|
| | N | B | | N | B | | N | B | | N | B | N | B |
|
||||||
|
| Low | 2 | 3 | Pale | 1 | 3 | Normal | 1 | 6 | True | 3 | 3 | 5 | 9 |
|
||||||
|
| Moderate | 0 | 5 | Normal | 2 | 4 | High | 4 | 3 | False | 2 | 6 | | |
|
||||||
|
| High | 3 | 1 | Red | 2 | 2 | | | | | | | | |
|
||||||
|
| | Temperature | | | Skin | | | Pressure | | | Blocked | | | Diag |
|
||||||
|
| Low | 2/5 | 3/9 | Pale | 1/5 | 3/9 | Normal | 1/5 | 6/9 | True | 3/5 | 3/9 | 5/14 | 9/14 |
|
||||||
|
| Moderate | 0/5 | 5/9 | Normal | 2/5 | 4/9 | High | 4/5 | 3/9 | False | 2/5 | 6/9 | | |
|
||||||
|
| High | 2/5 | 1/9 | Red | 3/5 | 2/9 | | | | | | | | |
|
||||||
|
|
||||||
|
# Problem 1
|
||||||
|
# $Pr[Diagnosis=N|E] = \frac{2}{5} \times \frac{2}{5} \times \frac{4}{5} \times \frac{3}{5} \times \frac{5}{14} = 0.027428571$
|
||||||
|
# $Pr[Diagnosis = B|E] = \frac{3}{9} \times \frac{4}{9} \times \frac{3}{9} \times \frac{3}{9} \times \frac{9}{14} = 0.010582011$
|
||||||
|
|
||||||
|
# $p(B) = \frac{0.0106}{0.0106+0.0274} = 0.2789$
|
||||||
|
|
||||||
|
# $p(N) = \frac{0.0274}{0.0106+0.0274} = 0.7211$
|
||||||
|
|
||||||
|
Diagnosis N is much more likely than Diagnosis B
|
||||||
|
|
||||||
|
# Problem 2
|
||||||
|
|
||||||
|
# $Pr[Diagnosis = N|E] = \frac{2}{5} \times \frac{1}{5} \times \frac{3}{5} \times \frac{5}{14} = 0.0171$
|
||||||
|
# $Pr[Diagnosis = B|E] = \frac{3}{9} \times \frac{6}{9} \times \frac{3}{9} \times \frac{9}{14} = 0.0476$
|
||||||
|
# $p(N) = \frac{0.0171}{0.0171+0.0476} = 0.2643$
|
||||||
|
# $p(B) = \frac{0.0474}{0.0476+0.0171} = 0.7357$
|
||||||
|
|
||||||
|
Diagnosis B is much more likely than Diagnosis N
|
||||||
|
|
||||||
|
# Problem 3
|
||||||
|
|
||||||
|
# $Pr[Diagnosis = N|E] = \frac{0}{5} \times \frac{2}{5} \times \frac{4}{5} \times \frac{3}{5} \times \frac{5}{14} = 0$
|
||||||
|
# $Pr[Diagnosis = B|E] = \frac{5}{9} \times \frac{4}{9} \times \frac{3}{9} \times \frac{3}{9} \times \frac{9}{14} = 0.018$
|
277
AI & Data Mining/Week 3/Workshop 3.md
Normal file
277
AI & Data Mining/Week 3/Workshop 3.md
Normal file
@@ -0,0 +1,277 @@
|
|||||||
|
# Weather Dataset
|
||||||
|
|
||||||
|
## Dataset
|
||||||
|
|
||||||
|
```
|
||||||
|
% This is a comment about the data set.
|
||||||
|
% This data describes examples of whether to play
|
||||||
|
% a game or not depending on weather conditions.
|
||||||
|
@relation letsPlay
|
||||||
|
@attribute outlook {sunny, overcast, rainy}
|
||||||
|
@attribute temperature real
|
||||||
|
@attribute humidity real
|
||||||
|
@attribute windy {TRUE, FALSE}
|
||||||
|
@attribute play {yes, no}
|
||||||
|
|
||||||
|
@data
|
||||||
|
sunny,85,FALSE,no
|
||||||
|
sunny,90,TRUE,no
|
||||||
|
overcast,86,FALSE,yes
|
||||||
|
rainy,96,FALSE,yes
|
||||||
|
rainy,80,FALSE,yes
|
||||||
|
rainy,70,TRUE,no
|
||||||
|
overcast,65,TRUE,yes
|
||||||
|
sunny,95,FALSE,no
|
||||||
|
sunny,70,FALSE,yes
|
||||||
|
rainy,80,FALSE,yes
|
||||||
|
sunny,70,TRUE,yes
|
||||||
|
overcast,90,TRUE,yes
|
||||||
|
overcast,75,FALSE,yes
|
||||||
|
rainy,91,TRUE,no
|
||||||
|
```
|
||||||
|
|
||||||
|
## Output
|
||||||
|
|
||||||
|
```
|
||||||
|
=== Run information ===
|
||||||
|
|
||||||
|
Scheme: weka.classifiers.bayes.NaiveBayes
|
||||||
|
Relation: letsPlay
|
||||||
|
Instances: 14
|
||||||
|
Attributes: 5
|
||||||
|
outlook
|
||||||
|
temperature
|
||||||
|
humidity
|
||||||
|
windy
|
||||||
|
play
|
||||||
|
Test mode: evaluate on training data
|
||||||
|
|
||||||
|
=== Classifier model (full training set) ===
|
||||||
|
|
||||||
|
Naive Bayes Classifier
|
||||||
|
|
||||||
|
Class
|
||||||
|
Attribute yes no
|
||||||
|
(0.63) (0.38)
|
||||||
|
===============================
|
||||||
|
outlook
|
||||||
|
sunny 3.0 4.0
|
||||||
|
overcast 5.0 1.0
|
||||||
|
rainy 4.0 3.0
|
||||||
|
[total] 12.0 8.0
|
||||||
|
|
||||||
|
temperature
|
||||||
|
mean 72.9697 74.8364
|
||||||
|
std. dev. 5.2304 7.384
|
||||||
|
weight sum 9 5
|
||||||
|
precision 1.9091 1.9091
|
||||||
|
|
||||||
|
humidity
|
||||||
|
mean 78.8395 86.1111
|
||||||
|
std. dev. 9.8023 9.2424
|
||||||
|
weight sum 9 5
|
||||||
|
precision 3.4444 3.4444
|
||||||
|
|
||||||
|
windy
|
||||||
|
TRUE 4.0 4.0
|
||||||
|
FALSE 7.0 3.0
|
||||||
|
[total] 11.0 7.0
|
||||||
|
|
||||||
|
Time taken to build model: 0 seconds
|
||||||
|
|
||||||
|
=== Evaluation on training set ===
|
||||||
|
|
||||||
|
Time taken to test model on training data: 0.01 seconds
|
||||||
|
|
||||||
|
=== Summary ===
|
||||||
|
|
||||||
|
Correctly Classified Instances 13 92.8571 %
|
||||||
|
Incorrectly Classified Instances 1 7.1429 %
|
||||||
|
Kappa statistic 0.8372
|
||||||
|
Mean absolute error 0.2798
|
||||||
|
Root mean squared error 0.3315
|
||||||
|
Relative absolute error 60.2576 %
|
||||||
|
Root relative squared error 69.1352 %
|
||||||
|
Total Number of Instances 14
|
||||||
|
```
|
||||||
|
|
||||||
|
# Medical Dataset
|
||||||
|
|
||||||
|
## Dataset
|
||||||
|
|
||||||
|
```
|
||||||
|
```@relation medical
|
||||||
|
@attribute Temperature {Low,Moderate,High}
|
||||||
|
@attribute Skin {Pale,Normal,Red}
|
||||||
|
@attribute BloodPressure {Normal,High}
|
||||||
|
@attribute BlockedNose {True,False}
|
||||||
|
@attribute Diagnosis {N,B}
|
||||||
|
|
||||||
|
@data
|
||||||
|
Low, Pale, Normal, True, N
|
||||||
|
Moderate, Pale, Normal, True, B
|
||||||
|
High, Normal, High, False, N
|
||||||
|
Moderate, Pale, Normal, False, B
|
||||||
|
High, Red, High, False, N
|
||||||
|
High, Red, High, True, N
|
||||||
|
Moderate, Red, High, False, B
|
||||||
|
Low, Normal, High, False, B
|
||||||
|
Low, Pale, Normal, False, B
|
||||||
|
Low, Normal, Normal, False, B
|
||||||
|
High, Normal, Normal, True, B
|
||||||
|
Moderate, Normal, High, True, B
|
||||||
|
Moderate, Red, Normal, False, B
|
||||||
|
Low, Normal, High, True, N```
|
||||||
|
```
|
||||||
|
|
||||||
|
## Output
|
||||||
|
|
||||||
|
```
|
||||||
|
=== Run information ===
|
||||||
|
|
||||||
|
Scheme: weka.classifiers.bayes.NaiveBayes
|
||||||
|
Relation: diagnosis
|
||||||
|
Instances: 14
|
||||||
|
Attributes: 5
|
||||||
|
Temperature
|
||||||
|
Skin
|
||||||
|
BloodPressure
|
||||||
|
BlockedNose
|
||||||
|
Diagnosis
|
||||||
|
Test mode: evaluate on training data
|
||||||
|
|
||||||
|
=== Classifier model (full training set) ===
|
||||||
|
|
||||||
|
Naive Bayes Classifier
|
||||||
|
|
||||||
|
Class
|
||||||
|
Attribute N B
|
||||||
|
(0.38) (0.63)
|
||||||
|
==============================
|
||||||
|
Temperature
|
||||||
|
Low 3.0 4.0
|
||||||
|
Moderate 1.0 6.0
|
||||||
|
High 4.0 2.0
|
||||||
|
[total] 8.0 12.0
|
||||||
|
|
||||||
|
Skin
|
||||||
|
Pale 2.0 4.0
|
||||||
|
Normal 3.0 5.0
|
||||||
|
Red 3.0 3.0
|
||||||
|
[total] 8.0 12.0
|
||||||
|
|
||||||
|
BloodPressure
|
||||||
|
Normal 2.0 7.0
|
||||||
|
High 5.0 4.0
|
||||||
|
[total] 7.0 11.0
|
||||||
|
|
||||||
|
BlockedNose
|
||||||
|
True 4.0 4.0
|
||||||
|
False 3.0 7.0
|
||||||
|
[total] 7.0 11.0
|
||||||
|
|
||||||
|
Time taken to build model: 0 seconds
|
||||||
|
|
||||||
|
=== Evaluation on training set ===
|
||||||
|
|
||||||
|
Time taken to test model on training data: 0 seconds
|
||||||
|
|
||||||
|
=== Summary ===
|
||||||
|
|
||||||
|
Correctly Classified Instances 12 85.7143 %
|
||||||
|
Incorrectly Classified Instances 2 14.2857 %
|
||||||
|
Kappa statistic 0.6889
|
||||||
|
Mean absolute error 0.2635
|
||||||
|
Root mean squared error 0.3272
|
||||||
|
Relative absolute error 56.7565 %
|
||||||
|
Root relative squared error 68.2385 %
|
||||||
|
Total Number of Instances 14
|
||||||
|
```
|
||||||
|
|
||||||
|
# Using Test Data
|
||||||
|
|
||||||
|
## Test Data
|
||||||
|
|
||||||
|
```
|
||||||
|
@relation medical
|
||||||
|
@attribute Temperature {Low,Moderate,High}
|
||||||
|
@attribute Skin {Pale,Normal,Red}
|
||||||
|
@attribute BloodPressure {Normal,High}
|
||||||
|
@attribute BlockedNose {True,False}
|
||||||
|
@attribute Diagnosis {N,B}
|
||||||
|
@data
|
||||||
|
Low,Normal,High,True,N
|
||||||
|
Low,?,Normal,True,B
|
||||||
|
Moderate,Normal,High,True,B
|
||||||
|
```
|
||||||
|
|
||||||
|
## Output
|
||||||
|
|
||||||
|
```
|
||||||
|
=== Run information ===
|
||||||
|
|
||||||
|
Scheme: weka.classifiers.bayes.NaiveBayes
|
||||||
|
Relation: medical
|
||||||
|
Instances: 14
|
||||||
|
Attributes: 5
|
||||||
|
Temperature
|
||||||
|
Skin
|
||||||
|
BloodPressure
|
||||||
|
BlockedNose
|
||||||
|
Diagnosis
|
||||||
|
Test mode: user supplied test set: size unknown (reading incrementally)
|
||||||
|
|
||||||
|
=== Classifier model (full training set) ===
|
||||||
|
|
||||||
|
Naive Bayes Classifier
|
||||||
|
|
||||||
|
Class
|
||||||
|
Attribute N B
|
||||||
|
(0.38) (0.63)
|
||||||
|
==============================
|
||||||
|
Temperature
|
||||||
|
Low 3.0 4.0
|
||||||
|
Moderate 1.0 6.0
|
||||||
|
High 4.0 2.0
|
||||||
|
[total] 8.0 12.0
|
||||||
|
|
||||||
|
Skin
|
||||||
|
Pale 2.0 4.0
|
||||||
|
Normal 3.0 5.0
|
||||||
|
Red 3.0 3.0
|
||||||
|
[total] 8.0 12.0
|
||||||
|
|
||||||
|
BloodPressure
|
||||||
|
Normal 2.0 7.0
|
||||||
|
High 5.0 4.0
|
||||||
|
[total] 7.0 11.0
|
||||||
|
|
||||||
|
BlockedNose
|
||||||
|
True 4.0 4.0
|
||||||
|
False 3.0 7.0
|
||||||
|
[total] 7.0 11.0
|
||||||
|
|
||||||
|
Time taken to build model: 0 seconds
|
||||||
|
|
||||||
|
=== Predictions on test set ===
|
||||||
|
|
||||||
|
inst# actual predicted error prediction
|
||||||
|
1 1:N 1:N 0.652
|
||||||
|
2 2:B 2:B 0.677
|
||||||
|
3 2:B 2:B 0.706
|
||||||
|
|
||||||
|
=== Evaluation on test set ===
|
||||||
|
|
||||||
|
Time taken to test model on supplied test set: 0 seconds
|
||||||
|
|
||||||
|
=== Summary ===
|
||||||
|
|
||||||
|
Correctly Classified Instances 3 100 %
|
||||||
|
Incorrectly Classified Instances 0 0 %
|
||||||
|
Kappa statistic 1
|
||||||
|
Mean absolute error 0.3215
|
||||||
|
Root mean squared error 0.3223
|
||||||
|
Relative absolute error 70.1487 %
|
||||||
|
Root relative squared error 68.0965 %
|
||||||
|
Total Number of Instances 3
|
||||||
|
```
|
112
AI & Data Mining/Week 4/Lecture 7 - Nearest Neighbor.md
Normal file
112
AI & Data Mining/Week 4/Lecture 7 - Nearest Neighbor.md
Normal file
@@ -0,0 +1,112 @@
|
|||||||
|
- Instance Based
|
||||||
|
- Solution to new problem is solution to closest example
|
||||||
|
- Must be able to measure distance between pair of examples
|
||||||
|
- Normally euclidean distance
|
||||||
|
|
||||||
|
# Normalisation of Numeric Attributes
|
||||||
|
|
||||||
|
- Attributes measured on different scales
|
||||||
|
- Larger scales have higher impacts
|
||||||
|
- Must normalise (transform to scale [0, 1])
|
||||||
|
|
||||||
|
# $a_i = \frac{v_i - minv_i}{maxv_i - minv_i}$
|
||||||
|
|
||||||
|
Where:
|
||||||
|
- $a_i$ is normalised value for attribute $i$
|
||||||
|
- $v_i$ is the current value for attribute $i$
|
||||||
|
- $maxv_i$ is largest value of attribute $i$
|
||||||
|
- $minv_i$ is smallest value of attribute $i$
|
||||||
|
|
||||||
|
## Example
|
||||||
|
|
||||||
|
# $maxv_{humidity} = 96$
|
||||||
|
# $minv_{humidity} = 65$
|
||||||
|
# $v_{humidity} = 80.5$
|
||||||
|
|
||||||
|
# $a_i = \frac{80.5-65}{96-55} = \frac{15.5}{31} = 0.5$
|
||||||
|
|
||||||
|
## Example (Transport Dataset)
|
||||||
|
|
||||||
|
# $maxv_{doors} = 5$
|
||||||
|
# $minv_{doors} = 2$
|
||||||
|
# $v_{doors} = 3$
|
||||||
|
# $a_i = \frac{3-2}{5-2} = \frac{1}{3}$
|
||||||
|
|
||||||
|
# Nearest Neighbor Applied (Transport Dataset)
|
||||||
|
|
||||||
|
- Last row is new vehicle to be classified
|
||||||
|
- N denotes normalised
|
||||||
|
- Right most column shows euclidean distances between each vehicle and new vehicle
|
||||||
|
- New vehicle is closest to the 1st example, a taxi, NN predicts taxi
|
||||||
|

|
||||||
|
# $vmin_{doors} = 2$
|
||||||
|
# $vmax_{doors} = 5$
|
||||||
|
# $vmin_{seats} = 7$
|
||||||
|
# $vmax_{seats} = 65$
|
||||||
|
|
||||||
|
# Missing Values
|
||||||
|
|
||||||
|
## Missing Nominal Values
|
||||||
|
|
||||||
|
- Assume missing feature is maximally different from any other value
|
||||||
|
- Distance is:
|
||||||
|
- 0 if identical and not missing
|
||||||
|
- 1 if otherwise
|
||||||
|
|
||||||
|
## Missing Numeric Values
|
||||||
|
|
||||||
|
- 1 if both missing
|
||||||
|
- Assume maximum distance if one missing. Largest of:
|
||||||
|
- (normalised) size of known value or
|
||||||
|
- 1 - (normalised) size of known value
|
||||||
|
|
||||||
|
## Example (Weather Data)
|
||||||
|
|
||||||
|
- Humidity of one example = 76
|
||||||
|
- Normalised = 0.36
|
||||||
|
- One missing
|
||||||
|
- Max distance = 1 - 0.36 = 0.64
|
||||||
|
|
||||||
|
## Example (Transport Data)
|
||||||
|
|
||||||
|
- Number of seats of one example = 16
|
||||||
|
- Normalised = 9/58
|
||||||
|
- One missing
|
||||||
|
- 1 - 9/58 = 49/58
|
||||||
|
|
||||||
|
## Normalised Transport Data with Missing Values
|
||||||
|
|
||||||
|
- Last row to be classified
|
||||||
|
- N denotes normalised
|
||||||
|
- Right most column is euclidean values
|
||||||
|

|
||||||
|
|
||||||
|
# Definitions of Proximity
|
||||||
|
|
||||||
|
## Euclidean Distance
|
||||||
|
|
||||||
|
# $\sqrt{(a_1-a_1')^2) + (a_2-a_2')^2 + ... + (a_n-a_n')^2}$
|
||||||
|
|
||||||
|
Where $a$ and $a'$ are two examples with $n$ attributes and $a'$ is the value of attribute $i$ for $a$
|
||||||
|
|
||||||
|
## Manhattan Distance
|
||||||
|
|
||||||
|
# $|a_1-a_1'|+|a_2-a_2'|+...+|a_n-a_n'|$
|
||||||
|
|
||||||
|
Vertical bar means absolute value
|
||||||
|
Negative becomes positive
|
||||||
|
|
||||||
|
Another distance measure could be cube root of sum of cubes.
|
||||||
|
Higher the power, greater influence of large differences
|
||||||
|
Euclidean distance is generally a good compromise
|
||||||
|
|
||||||
|
# Problems with Nearest Neighbor
|
||||||
|
|
||||||
|
- Slow since every example must be compared with new
|
||||||
|
- Assumes all attributes are equal
|
||||||
|
- Only use important attributes to compute distance
|
||||||
|
- Weight attributes according to importance
|
||||||
|
- Does not detect noise
|
||||||
|
- Use k-NN, get k closest examples and take majority vote on solutions
|
||||||
|

|
||||||
|
|
36
AI & Data Mining/Week 4/Tutorial 4 - Nearest Neighbor.md
Normal file
36
AI & Data Mining/Week 4/Tutorial 4 - Nearest Neighbor.md
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## Normalisation Equation
|
||||||
|
# $a_i = \frac{v_i - minv_i}{maxv_i - minv_i}$
|
||||||
|
## Euclidean Distance Equation
|
||||||
|
# $\sqrt{(a_1-a_1')^2) + (a_2-a_2')^2 + ... + (a_n-a_n')^2}$
|
||||||
|
|
||||||
|
|
||||||
|
# $vmax_{temp} = 85$
|
||||||
|
# $vmin_{temp} = 64$
|
||||||
|
|
||||||
|
# $a_{temp} = \frac{v_{temp} - 64}{21}$
|
||||||
|
|
||||||
|
# $vmax_{humidity} = 96$
|
||||||
|
# $vmin_{humidity} = 65$
|
||||||
|
|
||||||
|
# $a_{humidity} = \frac{v_{humidity} - 65}{31}$
|
||||||
|
|
||||||
|
| outlook | temp | NT | humidity | NH | windy | play | Euclidean Distance to a' Calculation | Euclidean Distance |
|
||||||
|
| -------- | ---- | ---- | -------- | ---- | ----- | ---- | -------------------------------------------------- | ------------------ |
|
||||||
|
| sunny | 85 | 1 | 85 | 0.65 | F | N | $\sqrt{(85-72)^2 + (85-76)^2 + (2-2)^2 + (0-1)^2}$ | 15.84 |
|
||||||
|
| sunny | 80 | 0.76 | 90 | 0.81 | T | N | $\sqrt{(80-72)^2 + (90-76)^2+ (2-2)^2 + (1-1)^2}$ | 16.12 |
|
||||||
|
| overcast | 83 | 0.90 | 68 | 0.68 | F | Y | $\sqrt{(83-72)^2 + (68-76)^2+ (1-2)^2 + (0-1)^2}$ | 13.67 |
|
||||||
|
| rainy | 70 | 0.29 | 96 | 1 | F | Y | $\sqrt{(70-72)^2 + (96-76)^2+ (0-2)^2 + (0-1)^2}$ | 20.22 |
|
||||||
|
| rainy | 68 | 0.19 | 80 | 0.48 | F | Y | $\sqrt{(68-72)^2 + (80-76)^2+ (0-2)^2 + (0-1)^2}$ | 25 |
|
||||||
|
| rainy | 65 | 0.05 | 70 | 0.16 | T | N | $\sqrt{(65-72)^2 + (70-76)^2+ (0-2)^2 + (1-1)^2}$ | |
|
||||||
|
| overcast | 64 | 0 | 65 | 0 | T | Y | $\sqrt{(64-72)^2 + (65-76)^2+ (1-2)^2 + (1-1)^2}$ | |
|
||||||
|
| sunny | 72 | 0.38 | 95 | 0.97 | F | N | $\sqrt{(72-72)^2 + (95-76)^2+ (2-2)^2 + (0-1)^2}$ | |
|
||||||
|
| sunny | 69 | 0.24 | 70 | 0.16 | F | Y | $\sqrt{(69-72)^2 + (70-76)^2+ (2-2)^2 + (0-1)^2}$ | |
|
||||||
|
| rainy | 75 | 0.52 | 80 | 0.48 | F | Y | $\sqrt{(75-72)^2 + (80-76)^2+ (0-2)^2 + (0-1)^2}$ | |
|
||||||
|
| sunny | 75 | 0.52 | 70 | 0.16 | T | Y | $\sqrt{(75-72)^2 + (70-76)^2+ (2-2)^2 + (1-1)^2}$ | |
|
||||||
|
| overcast | 72 | 0.38 | 90 | 0.81 | T | Y | $\sqrt{(72-72)^2 + (90-76)^2+ (1-2)^2 + (1-1)^2}$ | |
|
||||||
|
| overcast | 81 | 0.81 | 75 | 0.32 | F | Y | $\sqrt{(81-72)^2 + (75-76)^2+ (1-2)^2 + (0-1)^2}$ | |
|
||||||
|
| rainy | 71 | 0.33 | 91 | 0.84 | T | N | $\sqrt{(71-72)^2 + (91-76)^2+ (0-2)^2 + (1-1)^2}$ | |
|
||||||
|
| sunny | 72 | 0.38 | 76 | 0.35 | T | ?? | | |
|
42
AI & Data Mining/Week 4/Workshop 4 - Nearest Neighbor.md
Normal file
42
AI & Data Mining/Week 4/Workshop 4 - Nearest Neighbor.md
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
```
|
||||||
|
=== Run information ===
|
||||||
|
|
||||||
|
Scheme: weka.classifiers.lazy.IBk -K 3 -W 0 -A "weka.core.neighboursearch.LinearNNSearch -A \"weka.core.EuclideanDistance -R first-last\""
|
||||||
|
Relation: letsPlay
|
||||||
|
Instances: 14
|
||||||
|
Attributes: 5
|
||||||
|
outlook
|
||||||
|
temperature
|
||||||
|
humidity
|
||||||
|
windy
|
||||||
|
play
|
||||||
|
Test mode: user supplied test set: size unknown (reading incrementally)
|
||||||
|
|
||||||
|
=== Classifier model (full training set) ===
|
||||||
|
|
||||||
|
IB1 instance-based classifier
|
||||||
|
using 3 nearest neighbour(s) for classification
|
||||||
|
|
||||||
|
Time taken to build model: 0 seconds
|
||||||
|
|
||||||
|
=== Predictions on test set ===
|
||||||
|
|
||||||
|
inst# actual predicted error prediction
|
||||||
|
1 1:yes 1:yes 0.659
|
||||||
|
2 1:yes 1:yes 0.659
|
||||||
|
|
||||||
|
=== Evaluation on test set ===
|
||||||
|
|
||||||
|
Time taken to test model on supplied test set: 0 seconds
|
||||||
|
|
||||||
|
=== Summary ===
|
||||||
|
|
||||||
|
Correctly Classified Instances 2 100 %
|
||||||
|
Incorrectly Classified Instances 0 0 %
|
||||||
|
Kappa statistic 1
|
||||||
|
Mean absolute error 0.3409
|
||||||
|
Root mean squared error 0.3409
|
||||||
|
Relative absolute error 90.9091 %
|
||||||
|
Root relative squared error 90.9091 %
|
||||||
|
Total Number of Instances 2
|
||||||
|
```
|
@@ -0,0 +1,55 @@
|
|||||||
|
# Reflection
|
||||||
|
|
||||||
|
Career Development is as important as any technical module on this course. I found the concept of just the acknowledgement of different soft skills significant; I had never thought of this effect before, even happening subconsciously. Awareness of a fact is the first step to changing or implementing.
|
||||||
|
|
||||||
|
This lecture highlighted a weakness in my note taking, as I tend to not note down points I misunderstood, instead just making a mental note to investigate later and rarely adding retroactive points. Noting this is both an example of understanding I should change this, and how I should continue in the future.
|
||||||
|
|
||||||
|
In addition, I found the concept of writing reflections helpful for not just this module, and not even just at university. I rarely reflect on past learning generally; this will help growth in most aspects of life continuing to reflect.
|
||||||
|
|
||||||
|
# About
|
||||||
|
|
||||||
|
Description of module and objectives. Practical aspects and assessments explained. Importance of soft skills in employability and different types of soft skills. Refresher on note taking and reflective writing.
|
||||||
|
|
||||||
|
Career Development just as important as technical modules, soft skills are what get you hired and provide communication skills in the workplace.
|
||||||
|
|
||||||
|
# Assessments
|
||||||
|
|
||||||
|
## T1
|
||||||
|
|
||||||
|
### Early Self Assessment Report (30%)
|
||||||
|
|
||||||
|
Understanding and development of your soft skills so far (diary)
|
||||||
|
|
||||||
|
## T2
|
||||||
|
|
||||||
|
### Reflective Weekly Journal (50%)
|
||||||
|
|
||||||
|
Weekly reflective entries on each lecture in T1 and T2
|
||||||
|
|
||||||
|
### Final Self Assessment Report (20%)
|
||||||
|
|
||||||
|
Reflection of your existing and soft skills
|
||||||
|
|
||||||
|
These Assessments start as of this lecture.
|
||||||
|
|
||||||
|
# Examples of Soft Skills
|
||||||
|
|
||||||
|
- Communication
|
||||||
|
- Teamwork, but also Independence
|
||||||
|
- Time Management
|
||||||
|
- Leadership
|
||||||
|
- Note: some people aren't built for leadership, and have to force it to make it.
|
||||||
|
- Very important to take charge, building confidence
|
||||||
|
- Critical Thinking
|
||||||
|
- Adaptability
|
||||||
|
- Digital Literacy
|
||||||
|
|
||||||
|
Just awareness of the skills existence is beneficial. Never thought of it this way, awareness is the first step to implementation.
|
||||||
|
|
||||||
|
Review and correct notes, reflect. Add extra notes, look up sources of misunderstood information.
|
||||||
|
|
||||||
|
# Reflective Writing
|
||||||
|
|
||||||
|
A response to new experiences or information, and a valuable opportunity to growth. Not a purely descriptive method, but rather retroactive form of writing, using critical thinking to understand what has been learned or gained from an experience.
|
||||||
|
|
||||||
|
Starting with a short description, write about goals and content. Reflect on what was interesting, useful, or relevant; why was this the case? Honest reflective writing often involves revealing concerns and weaknesses, along with strengths and successes. This shows understanding.
|
93
Career Development/Week 2/Lecture 2 - Placements.md
Normal file
93
Career Development/Week 2/Lecture 2 - Placements.md
Normal file
@@ -0,0 +1,93 @@
|
|||||||
|
# Reflection
|
||||||
|
|
||||||
|
Finding a placement would broaden knowledge outside of purely academia.
|
||||||
|
|
||||||
|
# Applying
|
||||||
|
|
||||||
|
- Need good CV, applicable CV
|
||||||
|
- Need Cover Letter
|
||||||
|
- Interview skills
|
||||||
|
|
||||||
|
# Process
|
||||||
|
|
||||||
|
On Placement:
|
||||||
|
|
||||||
|
- Two Visits from Uni
|
||||||
|
- Documentation and Presentation
|
||||||
|
- Weekly Log
|
||||||
|
- Interim Report
|
||||||
|
- Final Report
|
||||||
|
- Presentation at University
|
||||||
|
- Line Manager Present
|
||||||
|
|
||||||
|
# Benefits
|
||||||
|
|
||||||
|
- Gives more confidence
|
||||||
|
- Work experience
|
||||||
|
- Chances of employment increase
|
||||||
|
- Chance to meet new people
|
||||||
|
- Chance for company to gain new passionate employees
|
||||||
|
|
||||||
|
# CVs
|
||||||
|
|
||||||
|
- Aim to get interview
|
||||||
|
- Prepare by reflection, and developed knowledge
|
||||||
|
- Skills audit (Week 3)
|
||||||
|
- Listing skills and abilities employers want
|
||||||
|
- Opportunity to demonstrate skill matching requirements
|
||||||
|
- Marketing tool
|
||||||
|
- 2 pages max
|
||||||
|
|
||||||
|
## Structure
|
||||||
|
|
||||||
|
- Name, contact details
|
||||||
|
- Personal Profile
|
||||||
|
- Education
|
||||||
|
- Most recent first
|
||||||
|
- Don't simply list modules
|
||||||
|
- Write what was taught, or is taught
|
||||||
|
- Pre-Salford 2-3 lines
|
||||||
|
- Action words
|
||||||
|
- Leading, Organising, etc.
|
||||||
|
- Short sentences why candidate
|
||||||
|
- Employment History
|
||||||
|
- Responsibilities / Interests
|
||||||
|
- References
|
||||||
|
- Where key skills?
|
||||||
|
- Separate section or embedded, but highlighted
|
||||||
|
- Check spelling -\_-, this is just common sense
|
||||||
|
|
||||||
|
# Cover Letter
|
||||||
|
|
||||||
|
- Read information supplied by employer, doing own research
|
||||||
|
|
||||||
|
## Structure
|
||||||
|
|
||||||
|
- Address to named individual, if possible
|
||||||
|
- State post applying for and where advertised (Re: Software Engineer at BT Group)
|
||||||
|
- Explain why want job, and why want to work for company - virtue signal pls
|
||||||
|
- Draw attention to important points in CV
|
||||||
|
- Explain weak points and what youre doing to address points
|
||||||
|
- Indicate what you have done that makes you a preferred candidate
|
||||||
|
|
||||||
|
# Interview
|
||||||
|
|
||||||
|
- First impression
|
||||||
|
- Dressed, greeting, body language, how questions answered
|
||||||
|
- Preparation, research company
|
||||||
|
- Know competitors, products, profitability
|
||||||
|
- Dress appropriately
|
||||||
|
- Body Language
|
||||||
|
- Eye contact, smile
|
||||||
|
- Use opportunity to sell yourself
|
||||||
|
- Practice before answering typical questions
|
||||||
|
- Interviewers are typically interested in
|
||||||
|
- Teamworking
|
||||||
|
- Communication
|
||||||
|
- Leadership Skills
|
||||||
|
- Problem solving
|
||||||
|
- Time management
|
||||||
|
- STAR (Situation Task Action Result)
|
||||||
|
- If no situation, offer hypothetical
|
||||||
|
- Have prepared questions
|
||||||
|
- Take practice interview with Salford Careers
|
@@ -0,0 +1 @@
|
|||||||
|
This lecture has revealed that we should be reflecting on both our technical and employable skills - Computer Science careers are not purely based on technical ability, but also the ability to converse, communicate, work in teams, etc. University primarily trains technical skills, soft skills must be learned through experience, not just education.
|
23
Client Server Systems/Week 1/Workshop 1 - Intro to PHP.md
Normal file
23
Client Server Systems/Week 1/Workshop 1 - Intro to PHP.md
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
- Originally stood for "Personal Home Page", and grew to mean PHP: Hypertext Preprocessor.
|
||||||
|
- PHP is a HTML embedded scripting language
|
||||||
|
- Since it's inception, PHP has seen exponential growth in use and now powers around 80% of websites
|
||||||
|
- PHP usually runs on UNIX or LINUX operation systems, but a number of Windows web hosting companies offer emulation on their Windows servers.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
# Comment Standards for the Module
|
||||||
|
|
||||||
|
```@param <type> $variableName description
|
||||||
|
@return <type> description
|
||||||
|
@author name <email>
|
||||||
|
@copyright copyright
|
||||||
|
@license url licenseName
|
||||||
|
@version version
|
||||||
|
@package package
|
||||||
|
```
|
||||||
|
|
||||||
|
# Workshop Exercises
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
@@ -0,0 +1,3 @@
|
|||||||
|
|
||||||
|
- 
|
||||||
|
- 
|
8
Client Server Systems/Week 1/workshop1/.idea/.gitignore
generated
vendored
Normal file
8
Client Server Systems/Week 1/workshop1/.idea/.gitignore
generated
vendored
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
# Default ignored files
|
||||||
|
/shelf/
|
||||||
|
/workspace.xml
|
||||||
|
# Editor-based HTTP Client requests
|
||||||
|
/httpRequests/
|
||||||
|
# Datasource local storage ignored files
|
||||||
|
/dataSources/
|
||||||
|
/dataSources.local.xml
|
8
Client Server Systems/Week 1/workshop1/.idea/modules.xml
generated
Normal file
8
Client Server Systems/Week 1/workshop1/.idea/modules.xml
generated
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ProjectModuleManager">
|
||||||
|
<modules>
|
||||||
|
<module fileurl="file://$PROJECT_DIR$/.idea/workshop1.iml" filepath="$PROJECT_DIR$/.idea/workshop1.iml" />
|
||||||
|
</modules>
|
||||||
|
</component>
|
||||||
|
</project>
|
19
Client Server Systems/Week 1/workshop1/.idea/php.xml
generated
Normal file
19
Client Server Systems/Week 1/workshop1/.idea/php.xml
generated
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="MessDetectorOptionsConfiguration">
|
||||||
|
<option name="transferred" value="true" />
|
||||||
|
</component>
|
||||||
|
<component name="PHPCSFixerOptionsConfiguration">
|
||||||
|
<option name="transferred" value="true" />
|
||||||
|
</component>
|
||||||
|
<component name="PHPCodeSnifferOptionsConfiguration">
|
||||||
|
<option name="highlightLevel" value="WARNING" />
|
||||||
|
<option name="transferred" value="true" />
|
||||||
|
</component>
|
||||||
|
<component name="PhpStanOptionsConfiguration">
|
||||||
|
<option name="transferred" value="true" />
|
||||||
|
</component>
|
||||||
|
<component name="PsalmOptionsConfiguration">
|
||||||
|
<option name="transferred" value="true" />
|
||||||
|
</component>
|
||||||
|
</project>
|
8
Client Server Systems/Week 1/workshop1/.idea/workshop1.iml
generated
Normal file
8
Client Server Systems/Week 1/workshop1/.idea/workshop1.iml
generated
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module type="WEB_MODULE" version="4">
|
||||||
|
<component name="NewModuleRootManager">
|
||||||
|
<content url="file://$MODULE_DIR$" />
|
||||||
|
<orderEntry type="inheritedJdk" />
|
||||||
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
</component>
|
||||||
|
</module>
|
2
Client Server Systems/Week 1/workshop1/composer.json
Normal file
2
Client Server Systems/Week 1/workshop1/composer.json
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
{
|
||||||
|
}
|
4
Client Server Systems/Week 1/workshop1/index.php
Normal file
4
Client Server Systems/Week 1/workshop1/index.php
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<?php
|
||||||
|
echo "Tomorrow I'll learn PHP global variables";
|
||||||
|
echo "<br>";
|
||||||
|
echo "This is a bad command : del c:\*.*";
|
8
Client Server Systems/Week 1/workshop2/.idea/.gitignore
generated
vendored
Normal file
8
Client Server Systems/Week 1/workshop2/.idea/.gitignore
generated
vendored
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
# Default ignored files
|
||||||
|
/shelf/
|
||||||
|
/workspace.xml
|
||||||
|
# Editor-based HTTP Client requests
|
||||||
|
/httpRequests/
|
||||||
|
# Datasource local storage ignored files
|
||||||
|
/dataSources/
|
||||||
|
/dataSources.local.xml
|
21
Client Server Systems/Week 1/workshop2/.idea/inspectionProfiles/Project_Default.xml
generated
Normal file
21
Client Server Systems/Week 1/workshop2/.idea/inspectionProfiles/Project_Default.xml
generated
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
<component name="InspectionProjectProfileManager">
|
||||||
|
<profile version="1.0">
|
||||||
|
<option name="myName" value="Project Default" />
|
||||||
|
<inspection_tool class="HtmlUnknownTag" enabled="true" level="WARNING" enabled_by_default="true">
|
||||||
|
<option name="myValues">
|
||||||
|
<value>
|
||||||
|
<list size="7">
|
||||||
|
<item index="0" class="java.lang.String" itemvalue="nobr" />
|
||||||
|
<item index="1" class="java.lang.String" itemvalue="noembed" />
|
||||||
|
<item index="2" class="java.lang.String" itemvalue="comment" />
|
||||||
|
<item index="3" class="java.lang.String" itemvalue="noscript" />
|
||||||
|
<item index="4" class="java.lang.String" itemvalue="embed" />
|
||||||
|
<item index="5" class="java.lang.String" itemvalue="script" />
|
||||||
|
<item index="6" class="java.lang.String" itemvalue="head" />
|
||||||
|
</list>
|
||||||
|
</value>
|
||||||
|
</option>
|
||||||
|
<option name="myCustomValuesEnabled" value="true" />
|
||||||
|
</inspection_tool>
|
||||||
|
</profile>
|
||||||
|
</component>
|
6
Client Server Systems/Week 1/workshop2/.idea/jsLibraryMappings.xml
generated
Normal file
6
Client Server Systems/Week 1/workshop2/.idea/jsLibraryMappings.xml
generated
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="JavaScriptLibraryMappings">
|
||||||
|
<file url="PROJECT" libraries="{@types/bootstrap, bootstrap}" />
|
||||||
|
</component>
|
||||||
|
</project>
|
8
Client Server Systems/Week 1/workshop2/.idea/modules.xml
generated
Normal file
8
Client Server Systems/Week 1/workshop2/.idea/modules.xml
generated
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ProjectModuleManager">
|
||||||
|
<modules>
|
||||||
|
<module fileurl="file://$PROJECT_DIR$/.idea/workshop2.iml" filepath="$PROJECT_DIR$/.idea/workshop2.iml" />
|
||||||
|
</modules>
|
||||||
|
</component>
|
||||||
|
</project>
|
20
Client Server Systems/Week 1/workshop2/.idea/php.xml
generated
Normal file
20
Client Server Systems/Week 1/workshop2/.idea/php.xml
generated
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="MessDetectorOptionsConfiguration">
|
||||||
|
<option name="transferred" value="true" />
|
||||||
|
</component>
|
||||||
|
<component name="PHPCSFixerOptionsConfiguration">
|
||||||
|
<option name="transferred" value="true" />
|
||||||
|
</component>
|
||||||
|
<component name="PHPCodeSnifferOptionsConfiguration">
|
||||||
|
<option name="highlightLevel" value="WARNING" />
|
||||||
|
<option name="transferred" value="true" />
|
||||||
|
</component>
|
||||||
|
<component name="PhpProjectSharedConfiguration" php_language_level="8.3" />
|
||||||
|
<component name="PhpStanOptionsConfiguration">
|
||||||
|
<option name="transferred" value="true" />
|
||||||
|
</component>
|
||||||
|
<component name="PsalmOptionsConfiguration">
|
||||||
|
<option name="transferred" value="true" />
|
||||||
|
</component>
|
||||||
|
</project>
|
10
Client Server Systems/Week 1/workshop2/.idea/workshop2.iml
generated
Normal file
10
Client Server Systems/Week 1/workshop2/.idea/workshop2.iml
generated
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module type="WEB_MODULE" version="4">
|
||||||
|
<component name="NewModuleRootManager">
|
||||||
|
<content url="file://$MODULE_DIR$" />
|
||||||
|
<orderEntry type="inheritedJdk" />
|
||||||
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
<orderEntry type="library" name="@types/bootstrap" level="application" />
|
||||||
|
<orderEntry type="library" name="bootstrap" level="application" />
|
||||||
|
</component>
|
||||||
|
</module>
|
19
Client Server Systems/Week 1/workshop2/index.css
Normal file
19
Client Server Systems/Week 1/workshop2/index.css
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
body {
|
||||||
|
outline: 1px solid black;
|
||||||
|
padding: 10px;
|
||||||
|
width: fit-content;
|
||||||
|
height: fit-content;
|
||||||
|
}
|
||||||
|
|
||||||
|
#main * {
|
||||||
|
margin-bottom: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#radio {
|
||||||
|
outline: 1px solid black;
|
||||||
|
width: fit-content;
|
||||||
|
}
|
||||||
|
|
||||||
|
#radio * {
|
||||||
|
margin: 5px;
|
||||||
|
}
|
28
Client Server Systems/Week 1/workshop2/index.html
Normal file
28
Client Server Systems/Week 1/workshop2/index.html
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
<body>
|
||||||
|
<head>
|
||||||
|
<link rel="stylesheet" href="index.css">
|
||||||
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/css/bootstrap.min.css" integrity="sha384-TX8t27EcRE3e/ihU7zmQxVncDAy5uIKz4rEkgIXeMed4M0jlfIDPvg6uqKI2xXr2" crossorigin="anonymous">
|
||||||
|
<title>Passing Data</title>
|
||||||
|
</head>
|
||||||
|
<p><strong>Please enter your details below:</strong></p>
|
||||||
|
<form name="form1" method="post" action="passingdata.php">
|
||||||
|
<div id="main">
|
||||||
|
<label>First Name:
|
||||||
|
<input type="text" name="firstname">
|
||||||
|
</label>
|
||||||
|
<label>Surname:
|
||||||
|
<input type="text" name="surname">
|
||||||
|
</label>
|
||||||
|
<div id="radio">
|
||||||
|
<label>CS <input type="radio" name="course" value="CS"/> </label>
|
||||||
|
<label>SE <input type="radio" name="course" value="SE"/> </label>
|
||||||
|
<label>MIT <input type="radio" name="course" value="MIT"/> </label>
|
||||||
|
</div>
|
||||||
|
<label>Living on Salford Campus<input type="checkbox" name="onCampus"></label>
|
||||||
|
<br>
|
||||||
|
<input type="submit" name="Submit" value="Submit"/>
|
||||||
|
<input type="reset" name="Reset" value="Reset"/>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/js/bootstrap.min.js" integrity="sha384-w1Q4orYjBQndcko6MimVbzY0tgp4pWB4lZ7lr30WKz0vr/aWKhXdBNmNb5D92v7s" crossorigin="anonymous"></script>
|
||||||
|
</body>
|
20
Client Server Systems/Week 1/workshop2/index.php
Normal file
20
Client Server Systems/Week 1/workshop2/index.php
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
<body>
|
||||||
|
<div>
|
||||||
|
<p><strong>Please enter your name and birthday:</strong></p>
|
||||||
|
<form name="form1" method="post" action="passingdata.php">
|
||||||
|
<span>
|
||||||
|
<label>Your name:
|
||||||
|
<input type="text" name="name">
|
||||||
|
</label>
|
||||||
|
<br>
|
||||||
|
<label>Your Birthday (in DD/MM/YY format):
|
||||||
|
<input type="text"
|
||||||
|
name="birthday" required>
|
||||||
|
</label>
|
||||||
|
<br>
|
||||||
|
<input type="submit" name="Submit" value="Submit">
|
||||||
|
<input type="reset" name="Submit2" value="Reset">
|
||||||
|
</span>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</body>
|
44
Client Server Systems/Week 1/workshop2/passingdata.php
Normal file
44
Client Server Systems/Week 1/workshop2/passingdata.php
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
<body>
|
||||||
|
<span>
|
||||||
|
<?php
|
||||||
|
|
||||||
|
$birthday = $_POST['birthday'];
|
||||||
|
$test_array = explode("/", $birthday);
|
||||||
|
$firstname = $_POST['firstname'];
|
||||||
|
$surname = $_POST['surname'];
|
||||||
|
$course = $_POST['course'];
|
||||||
|
$onCampus = $_POST['onCampus'];
|
||||||
|
|
||||||
|
echo "Hello, $firstname $surname";
|
||||||
|
echo "<br>";
|
||||||
|
if (isset($_POST["birthday"])) {
|
||||||
|
if (count($test_array) == 3) {
|
||||||
|
if (checkdate($test_array[0], $test_array[1], $test_array[2])) {
|
||||||
|
if (($test_array[2]-2024)<-100) {
|
||||||
|
echo "Birthday: $birthday";
|
||||||
|
echo "<br>";
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
echo "Over 100 years old";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
echo "Birthday in Incorrect Format";
|
||||||
|
echo "<br>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
echo "Course: $course";
|
||||||
|
echo "<br>";
|
||||||
|
echo "On Campus: ";
|
||||||
|
if (isset($_POST['onCampus'])) {
|
||||||
|
echo "True";
|
||||||
|
} else {
|
||||||
|
echo "False";
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
<br>
|
||||||
|
<a href="index.html"><button>Return to Form</button></a>
|
||||||
|
</span>
|
||||||
|
</body>
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user