├── .DS_Store ├── .obsidian ├── app.json ├── appearance.json ├── community-plugins.json ├── core-plugins-migration.json ├── core-plugins.json ├── daily-notes.json ├── graph.json ├── hotkeys.json ├── plugins │ ├── calendar │ │ ├── data.json │ │ ├── main.js │ │ └── manifest.json │ ├── dataview │ │ ├── data.json │ │ ├── main.js │ │ ├── manifest.json │ │ └── styles.css │ └── dbfolder │ │ ├── main.js │ │ ├── manifest.json │ │ └── styles.css ├── templates.json ├── themes │ └── Dayspring │ │ ├── manifest.json │ │ └── theme.css └── workspace.json ├── 1️⃣ Primary Sources ├── Connell 1964.md ├── Pianka 1966.md ├── Shabanov 2022a.md └── Shabanov 2022b.md ├── 2️⃣ Collections ├── Concepts │ └── Law of Requisite Variety.md └── Diversity.md ├── 3️⃣ Thoughts └── Biodiversity Mechanisms.md ├── 4️⃣ Outlines └── What defines Biodiversity.md ├── Dataview Templates.md ├── Readme.md ├── Reference Manager.canvas ├── Start here.canvas ├── __Media ├── Pasted image 20221202163803.png ├── Pasted image 20221214094010.png ├── Pasted image 20221214115955.png ├── Pasted image 20221214120446.png ├── Pasted image 20221214121016.png ├── Pasted image 20221214121635.png ├── Pasted image 20221214121823.png ├── Pasted image 20221214122006.png ├── Pasted image 20221214122025.png ├── Pasted image 20221214122340.png ├── Pasted image 20221214123958.png ├── Pasted image 20221214124807.png ├── Pasted image 20221214125814.png ├── Pasted image 20221214131115.png └── Screenshot 2022-12-14 at 17.03.26.jpg ├── __Papers ├── Connell 1964.pdf └── Pianka 1966.pdf ├── __Templates ├── Calendar Entry.md ├── Outline Note.md └── Source Note.md ├── 👓 List of Papers.md ├── 💡 SCTO System explained.md ├── 📆 Calendar └── 24 Dec 2022.md ├── 📚 Reading List.md └── 🗓️ Calendar Home.md /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnilya/scto_obsidian/2fa0f576819bcfdb9ef05cd441e02ea15f5d8864/.DS_Store -------------------------------------------------------------------------------- /.obsidian/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "spellcheck": false, 3 | "showInlineTitle": false 4 | } -------------------------------------------------------------------------------- /.obsidian/appearance.json: -------------------------------------------------------------------------------- 1 | { 2 | "accentColor": "", 3 | "theme": "moonstone", 4 | "cssTheme": "" 5 | } -------------------------------------------------------------------------------- /.obsidian/community-plugins.json: -------------------------------------------------------------------------------- 1 | [ 2 | "dataview", 3 | "dbfolder", 4 | "calendar" 5 | ] -------------------------------------------------------------------------------- /.obsidian/core-plugins-migration.json: -------------------------------------------------------------------------------- 1 | { 2 | "file-explorer": true, 3 | "global-search": true, 4 | "switcher": true, 5 | "graph": true, 6 | "backlink": true, 7 | "outgoing-link": true, 8 | "tag-pane": true, 9 | "page-preview": true, 10 | "daily-notes": true, 11 | "templates": true, 12 | "note-composer": true, 13 | "command-palette": true, 14 | "slash-command": false, 15 | "editor-status": true, 16 | "starred": true, 17 | "markdown-importer": false, 18 | "zk-prefixer": false, 19 | "random-note": false, 20 | "outline": true, 21 | "word-count": true, 22 | "slides": false, 23 | "audio-recorder": false, 24 | "workspaces": false, 25 | "file-recovery": true, 26 | "publish": false, 27 | "sync": false, 28 | "canvas": true 29 | } -------------------------------------------------------------------------------- /.obsidian/core-plugins.json: -------------------------------------------------------------------------------- 1 | [ 2 | "file-explorer", 3 | "global-search", 4 | "switcher", 5 | "graph", 6 | "backlink", 7 | "canvas", 8 | "outgoing-link", 9 | "tag-pane", 10 | "page-preview", 11 | "daily-notes", 12 | "templates", 13 | "note-composer", 14 | "command-palette", 15 | "editor-status", 16 | "starred", 17 | "outline", 18 | "word-count", 19 | "file-recovery" 20 | ] -------------------------------------------------------------------------------- /.obsidian/daily-notes.json: -------------------------------------------------------------------------------- 1 | { 2 | "folder": "📆 Calendar", 3 | "format": "DD MMM Y", 4 | "template": "__Templates/Calendar Entry" 5 | } -------------------------------------------------------------------------------- /.obsidian/graph.json: -------------------------------------------------------------------------------- 1 | { 2 | "collapse-filter": true, 3 | "search": "", 4 | "showTags": false, 5 | "showAttachments": false, 6 | "hideUnresolved": false, 7 | "showOrphans": true, 8 | "collapse-color-groups": true, 9 | "colorGroups": [], 10 | "collapse-display": true, 11 | "showArrow": false, 12 | "textFadeMultiplier": 0, 13 | "nodeSizeMultiplier": 1, 14 | "lineSizeMultiplier": 1, 15 | "collapse-forces": true, 16 | "centerStrength": 0.518713248970312, 17 | "repelStrength": 10, 18 | "linkStrength": 1, 19 | "linkDistance": 250, 20 | "scale": 1, 21 | "close": false 22 | } -------------------------------------------------------------------------------- /.obsidian/hotkeys.json: -------------------------------------------------------------------------------- 1 | { 2 | "editor:toggle-blockquote": [ 3 | { 4 | "modifiers": [ 5 | "Mod" 6 | ], 7 | "key": "J" 8 | } 9 | ], 10 | "editor:toggle-highlight": [ 11 | { 12 | "modifiers": [ 13 | "Mod" 14 | ], 15 | "key": "H" 16 | } 17 | ], 18 | "open-with-default-app:open": [ 19 | { 20 | "modifiers": [ 21 | "Alt" 22 | ], 23 | "key": "3" 24 | } 25 | ], 26 | "open-with-default-app:show": [ 27 | { 28 | "modifiers": [ 29 | "Alt" 30 | ], 31 | "key": "2" 32 | } 33 | ], 34 | "note-composer:split-file": [ 35 | { 36 | "modifiers": [ 37 | "Mod" 38 | ], 39 | "key": "E" 40 | } 41 | ], 42 | "markdown:toggle-preview": [], 43 | "editor:attach-file": [ 44 | { 45 | "modifiers": [ 46 | "Mod", 47 | "Shift" 48 | ], 49 | "key": "A" 50 | } 51 | ], 52 | "app:delete-file": [ 53 | { 54 | "modifiers": [ 55 | "Mod", 56 | "Shift" 57 | ], 58 | "key": "D" 59 | } 60 | ], 61 | "insert-template": [ 62 | { 63 | "modifiers": [ 64 | "Mod", 65 | "Shift" 66 | ], 67 | "key": "T" 68 | } 69 | ], 70 | "workspace:undo-close-pane": [], 71 | "file-explorer:move-file": [ 72 | { 73 | "modifiers": [ 74 | "Mod" 75 | ], 76 | "key": "M" 77 | } 78 | ], 79 | "workspace:edit-file-title": [ 80 | { 81 | "modifiers": [ 82 | "Alt", 83 | "Ctrl" 84 | ], 85 | "key": "R" 86 | } 87 | ] 88 | } -------------------------------------------------------------------------------- /.obsidian/plugins/calendar/data.json: -------------------------------------------------------------------------------- 1 | { 2 | "shouldConfirmBeforeCreate": true, 3 | "weekStart": "locale", 4 | "wordsPerDot": 250, 5 | "showWeeklyNote": true, 6 | "weeklyNoteFormat": "", 7 | "weeklyNoteTemplate": "", 8 | "weeklyNoteFolder": "", 9 | "localeOverride": "system-default" 10 | } -------------------------------------------------------------------------------- /.obsidian/plugins/calendar/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "calendar", 3 | "name": "Calendar", 4 | "description": "Calendar view of your daily notes", 5 | "version": "1.5.10", 6 | "author": "Liam Cain", 7 | "authorUrl": "https://github.com/liamcain/", 8 | "isDesktopOnly": false, 9 | "minAppVersion": "0.9.11" 10 | } 11 | -------------------------------------------------------------------------------- /.obsidian/plugins/dataview/data.json: -------------------------------------------------------------------------------- 1 | { 2 | "renderNullAs": "\\-", 3 | "taskCompletionTracking": true, 4 | "taskCompletionUseEmojiShorthand": true, 5 | "taskCompletionText": "completion", 6 | "taskCompletionDateFormat": "yyyy-MM-dd", 7 | "warnOnEmptyResult": true, 8 | "refreshEnabled": true, 9 | "refreshInterval": 2500, 10 | "defaultDateFormat": "MMMM dd, yyyy", 11 | "defaultDateTimeFormat": "h:mm a - MMMM dd, yyyy", 12 | "maxRecursiveRenderDepth": 4, 13 | "tableIdColumnName": "Note", 14 | "tableGroupColumnName": "Group", 15 | "allowHtml": true, 16 | "inlineQueryPrefix": "=", 17 | "inlineJsQueryPrefix": "$=", 18 | "inlineQueriesInCodeblocks": true, 19 | "enableDataviewJs": false, 20 | "enableInlineDataviewJs": false, 21 | "prettyRenderInlineFields": true 22 | } -------------------------------------------------------------------------------- /.obsidian/plugins/dataview/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "dataview", 3 | "name": "Dataview", 4 | "version": "0.5.47", 5 | "minAppVersion": "0.13.11", 6 | "description": "Complex data views for the data-obsessed.", 7 | "author": "Michael Brenan ", 8 | "authorUrl": "https://github.com/blacksmithgu", 9 | "isDesktopOnly": false 10 | } 11 | -------------------------------------------------------------------------------- /.obsidian/plugins/dataview/styles.css: -------------------------------------------------------------------------------- 1 | /** Live Preview padding fixes, specifically for DataviewJS custom HTML elements. */ 2 | .is-live-preview .block-language-dataviewjs > p, .is-live-preview .block-language-dataviewjs > span { 3 | line-height: 1.0; 4 | } 5 | 6 | /*****************/ 7 | /** Table Views **/ 8 | /*****************/ 9 | 10 | /* List View Default Styling; rendered internally as a table. */ 11 | .table-view-table { 12 | width: 100%; 13 | } 14 | 15 | .table-view-table > thead > tr, .table-view-table > tbody > tr { 16 | margin-top: 1em; 17 | margin-bottom: 1em; 18 | text-align: left; 19 | } 20 | 21 | .table-view-table > tbody > tr:hover { 22 | background-color: var(--text-selection) !important; 23 | } 24 | 25 | .table-view-table > thead > tr > th { 26 | font-weight: 700; 27 | font-size: larger; 28 | border-top: none; 29 | border-left: none; 30 | border-right: none; 31 | border-bottom: solid; 32 | 33 | max-width: 100%; 34 | } 35 | 36 | .table-view-table > tbody > tr > td { 37 | text-align: left; 38 | border: none; 39 | font-weight: 400; 40 | max-width: 100%; 41 | } 42 | 43 | .table-view-table ul, .table-view-table ol { 44 | margin-block-start: 0.2em !important; 45 | margin-block-end: 0.2em !important; 46 | } 47 | 48 | /** Rendered value styling for any view. */ 49 | .dataview-result-list-root-ul { 50 | padding: 0em !important; 51 | margin: 0em !important; 52 | } 53 | 54 | .dataview-result-list-ul { 55 | margin-block-start: 0.2em !important; 56 | margin-block-end: 0.2em !important; 57 | } 58 | 59 | /** Generic grouping styling. */ 60 | .dataview.result-group { 61 | padding-left: 8px; 62 | } 63 | 64 | /*******************/ 65 | /** Inline Fields **/ 66 | /*******************/ 67 | 68 | .dataview.inline-field-key { 69 | padding-left: 8px; 70 | padding-right: 8px; 71 | font-family: var(--font-monospace); 72 | background-color: var(--background-primary-alt); 73 | color: var(--text-nav-selected); 74 | } 75 | 76 | .dataview.inline-field-value { 77 | padding-left: 8px; 78 | padding-right: 8px; 79 | font-family: var(--font-monospace); 80 | background-color: var(--background-secondary-alt); 81 | color: var(--text-nav-selected); 82 | } 83 | 84 | .dataview.inline-field-standalone-value { 85 | padding-left: 8px; 86 | padding-right: 8px; 87 | font-family: var(--font-monospace); 88 | background-color: var(--background-secondary-alt); 89 | color: var(--text-nav-selected); 90 | } 91 | 92 | /***************/ 93 | /** Task View **/ 94 | /***************/ 95 | 96 | .dataview.task-list-item, .dataview.task-list-basic-item { 97 | margin-top: 3px; 98 | margin-bottom: 3px; 99 | transition: 0.4s; 100 | } 101 | 102 | .dataview.task-list-item:hover, .dataview.task-list-basic-item:hover { 103 | background-color: var(--text-selection); 104 | box-shadow: -40px 0 0 var(--text-selection); 105 | cursor: pointer; 106 | } 107 | 108 | /*****************/ 109 | /** Error Views **/ 110 | /*****************/ 111 | 112 | div.dataview-error-box { 113 | width: 100%; 114 | min-height: 150px; 115 | display: flex; 116 | align-items: center; 117 | justify-content: center; 118 | border: 4px dashed var(--background-secondary); 119 | } 120 | 121 | .dataview-error-message { 122 | color: var(--text-muted); 123 | text-align: center; 124 | } 125 | 126 | /*************************/ 127 | /** Additional Metadata **/ 128 | /*************************/ 129 | 130 | .dataview.small-text { 131 | font-size: smaller; 132 | color: var(--text-muted); 133 | margin-left: 3px; 134 | } 135 | 136 | .dataview.small-text::before { 137 | content: "("; 138 | } 139 | 140 | .dataview.small-text::after { 141 | content: ")"; 142 | } 143 | -------------------------------------------------------------------------------- /.obsidian/plugins/dbfolder/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "dbfolder", 3 | "name": "DB Folder", 4 | "version": "3.0.1", 5 | "minAppVersion": "0.16.3", 6 | "description": "Folder with the capability to store and retrieve data from a folder like database", 7 | "author": "RafaelGB", 8 | "authorUrl": "https://github.com/RafaelGB/obsidian-bd-folder", 9 | "isDesktopOnly": false 10 | } -------------------------------------------------------------------------------- /.obsidian/plugins/dbfolder/styles.css: -------------------------------------------------------------------------------- 1 | /***************** 2 | * Base 3 | ******************/ 4 | .database-plugin__html { 5 | box-sizing: border-box; 6 | } 7 | 8 | .database-plugin, 9 | .database-plugin:before, 10 | .database-plugin:after { 11 | box-sizing: inherit; 12 | overflow-x: hidden; 13 | overflow-y: hidden; 14 | } 15 | 16 | .database-plugin { 17 | margin: 0px; 18 | padding: 0px; 19 | font-family: "Inter", sans-serif; 20 | } 21 | 22 | .transition-fade-enter { 23 | opacity: 0; 24 | } 25 | 26 | .transition-fade-enter-active { 27 | opacity: 1; 28 | transition: opacity 300ms; 29 | } 30 | 31 | .transition-fade-exit { 32 | opacity: 1; 33 | } 34 | 35 | .transition-fade-exit-active { 36 | opacity: 0; 37 | transition: opacity 300ms; 38 | } 39 | 40 | .svg-icon svg { 41 | position: relative; 42 | display: block; 43 | height: 1.5em; 44 | width: 1.5em; 45 | } 46 | 47 | .svg-text svg { 48 | stroke: var(--text-faint); 49 | } 50 | 51 | .sort-button .svg-text svg { 52 | stroke: var(--text-muted); 53 | } 54 | 55 | .svg-180 svg { 56 | transform: rotate(180deg); 57 | } 58 | 59 | .database-plugin__form-input { 60 | padding: 0.375rem; 61 | border: none; 62 | border-radius: 4px; 63 | font-size: 0.875rem; 64 | color: var(--text-normal); 65 | } 66 | 67 | .database-plugin__form-input:focus { 68 | outline: none; 69 | box-shadow: 0 0 1px 2px var(--background-modifier-border); 70 | } 71 | 72 | .database-plugin__invalid-form { 73 | padding: 0.375rem; 74 | border: none; 75 | border-radius: 4px; 76 | font-size: 0.875rem; 77 | color: var(--text-error); 78 | background-color: var(--background-modifier-error); 79 | } 80 | 81 | .is-fullwidth { 82 | width: 100%; 83 | } 84 | 85 | div.database-plugin__td.data-input:hover { 86 | box-shadow: 0 0 1px 2px var(--text-accent-hover); 87 | } 88 | 89 | /****************************************************** 90 | * Table Structure 91 | ******************************************************/ 92 | /*** FOOTER ***/ 93 | .database-plugin__tfoot { 94 | display: table-footer-group; 95 | } 96 | 97 | .database-plugin__footer { 98 | border: 2px solid var(--background-modifier-accent); 99 | border-radius: 5px; 100 | text-align: center; 101 | } 102 | /****************************************************** 103 | * Inputs of cells 104 | ******************************************************/ 105 | .data-input { 106 | white-space: pre-wrap; 107 | border: none; 108 | padding: 0.5rem; 109 | color: var(--text-normal); 110 | font-size: 1rem; 111 | resize: none; 112 | box-sizing: border-box; 113 | flex: 1 1 auto; 114 | text-align: -webkit-center; 115 | vertical-align: middle; 116 | } 117 | 118 | .database-plugin__td.data-input p { 119 | margin: 6px 0px; 120 | } 121 | /** children of data-input fills parent div*/ 122 | .data-input > * { 123 | border: none; 124 | height: 100%; 125 | width: 100%; 126 | } 127 | 128 | .data-input > *:focus { 129 | outline: none; 130 | } 131 | 132 | .data-input * { 133 | margin: initial; 134 | } 135 | 136 | .data-input:hover { 137 | background-color: var(--background-secondary); 138 | } 139 | 140 | .database-plugin__td span.is-loaded, 141 | span.database-plugin__calendar, 142 | div.database-plugin__checkbox { 143 | display: flex; 144 | align-items: center; 145 | justify-content: center; 146 | } 147 | 148 | .database-plugin__checkbox { 149 | place-self: center; 150 | } 151 | 152 | .database-plugin__checkbox input[type="checkbox"] { 153 | /* Add if not using autoprefixer */ 154 | -webkit-appearance: none; 155 | /* Remove most all native input styles */ 156 | appearance: none; 157 | background-color: var(--form-background); 158 | /* Not removed via appearance */ 159 | margin: 0; 160 | 161 | font: inherit; 162 | color: currentColor; 163 | width: 1.15em; 164 | height: 1.15em; 165 | border: 0.05em solid currentColor; 166 | border-radius: 0.15em; 167 | transform: translateY(-0.075em); 168 | 169 | display: grid; 170 | place-content: center; 171 | } 172 | 173 | .database-plugin__checkbox input[type="checkbox"]::before { 174 | content: ""; 175 | width: 0.65em; 176 | height: 0.65em; 177 | clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%); 178 | transform: scale(0); 179 | transform-origin: bottom left; 180 | transition: 120ms transform ease-in-out; 181 | box-shadow: inset 1em 1em var(--form-control-color); 182 | /* Windows High Contrast Mode */ 183 | background-color: CanvasText; 184 | } 185 | 186 | .database-plugin__checkbox input[type="checkbox"]:checked { 187 | background-color: var(--text-accent); 188 | } 189 | 190 | .database-plugin__checkbox input[type="checkbox"]:checked::before { 191 | transform: scale(1); 192 | } 193 | 194 | .database-plugin__checkbox input[type="checkbox"]:focus { 195 | outline: max(2px, 0.15em) solid currentColor; 196 | outline-offset: max(2px, 0.15em); 197 | } 198 | 199 | .database-plugin__checkbox input[type="checkbox"]:checked:after { 200 | background-color: var(--form-background); 201 | } 202 | 203 | .database-plugin__md_cell { 204 | vertical-align: middle; 205 | } 206 | 207 | .database-plugin__md_cell p { 208 | display: inline; 209 | margin: 3px 0; 210 | } 211 | 212 | .database-plugin__md_cell ul { 213 | margin-block-start: unset !important; 214 | margin-block-end: unset !important; 215 | display: inline-table; 216 | } 217 | 218 | .database-plugin__markdown-preview-view { 219 | padding: 0; 220 | height: fit-content; 221 | } 222 | 223 | .svg-icon-sm svg { 224 | position: relative; 225 | height: 1.25em; 226 | width: 1.25em; 227 | } 228 | 229 | .svg-gray svg { 230 | stroke: var(--text-faint); 231 | } 232 | 233 | .option-input { 234 | width: 100%; 235 | font-size: 1rem; 236 | border: none; 237 | background-color: transparent; 238 | } 239 | 240 | .option-input:focus { 241 | outline: none; 242 | } 243 | 244 | .database-plugin__noselect { 245 | -webkit-touch-callout: none; 246 | -webkit-user-select: none; 247 | -khtml-user-select: none; 248 | -moz-user-select: none; 249 | -ms-user-select: none; 250 | user-select: none; 251 | } 252 | 253 | .resizer { 254 | position: absolute; 255 | right: 0; 256 | top: 0; 257 | height: 100%; 258 | width: 5px; 259 | background: var(--background-modifier-border); 260 | cursor: col-resize; 261 | user-select: none; 262 | touch-action: none; 263 | } 264 | 265 | .resizer.isResizing { 266 | background: var(--background-modifier-error); 267 | opacity: 1; 268 | } 269 | 270 | @media (hover: hover) { 271 | .resizer { 272 | opacity: 0; 273 | } 274 | 275 | *:hover > .resizer { 276 | opacity: 1; 277 | } 278 | } 279 | 280 | .overlay { 281 | position: fixed; 282 | top: 0; 283 | left: 0; 284 | height: 100vh; 285 | width: 100vw; 286 | z-index: 2; 287 | overflow: hidden; 288 | } 289 | 290 | .sort-button { 291 | padding: 0.25rem 0.75rem; 292 | margin: 0; 293 | width: 100%; 294 | background-color: transparent; 295 | font-size: 0.875rem; 296 | color: var(--text-muted); 297 | cursor: pointer; 298 | text-align: left; 299 | display: flex; 300 | flex-direction: row; 301 | align-items: center; 302 | } 303 | 304 | .workspace-leaf-content[data-type="database-plugin"] .view-content { 305 | padding: 0; 306 | } 307 | 308 | .database-plugin__tr { 309 | display: table-row; 310 | } 311 | 312 | .database-plugin__tr:last-child .database-plugin__td { 313 | border-bottom: 0; 314 | } 315 | 316 | .database-plugin__add-row { 317 | color: var(--text-accent); 318 | align-items: center; 319 | cursor: pointer; 320 | z-index: 100; 321 | position: sticky; 322 | left: 0; 323 | bottom: 0; 324 | background-color: var(--background-primary); 325 | } 326 | 327 | .database-plugin__add-row .svg-icon:hover { 328 | background-color: var(--background-secondary); 329 | color: var(--text-accent-hover); 330 | padding: 0.3rem; 331 | } 332 | 333 | .database-plugin__add-row-input { 334 | height: 30px; 335 | max-height: 30px; 336 | border: 0 !important; 337 | } 338 | 339 | .database-plugin__add-row-input:focus { 340 | outline: none; 341 | border: 0 !important; 342 | box-shadow: 0 0 0 0 !important; 343 | } 344 | 345 | .database-plugin__th { 346 | color: var(--text-faint); 347 | font-weight: 500; 348 | font-size: 0.875rem; 349 | cursor: pointer; 350 | background-color: var(--background-primary); 351 | display: table-cell; 352 | z-index: 1; 353 | } 354 | 355 | .database-plugin__th:hover { 356 | background-color: var(--background-secondary); 357 | color: var(--text-normal); 358 | } 359 | 360 | .database-plugin__th-content { 361 | overflow-x: hidden; 362 | text-overflow: ellipsis; 363 | padding: 0.1rem; 364 | display: flex; 365 | align-items: center; 366 | } 367 | 368 | .database-plugin__td { 369 | overflow: hidden; 370 | color: var(--text-normal); 371 | align-items: stretch; 372 | justify-content: center; 373 | padding: 0; 374 | display: table-cell; 375 | padding: 0.5rem; 376 | flex-direction: column; 377 | } 378 | 379 | .database-plugin__expanded-td { 380 | overflow: hidden; 381 | display: table-caption; 382 | left: 0; 383 | position: sticky; 384 | padding: 0; 385 | justify-content: center; 386 | } 387 | 388 | .database-plugin__td-content { 389 | display: block; 390 | align-items: center; 391 | } 392 | 393 | .database-plugin__cell_size_compact .database-plugin__tags-container { 394 | flex-wrap: nowrap; 395 | } 396 | 397 | .database-plugin__cell_size_compact .data-input { 398 | white-space: nowrap; 399 | } 400 | 401 | .database-plugin__cell_size_compact .database-plugin__td { 402 | padding: 0; 403 | } 404 | 405 | .database-plugin__cell_size_normal .database-plugin__td { 406 | padding: 0.1rem; 407 | } 408 | 409 | .database-plugin__cell_size_wide .database-plugin__td { 410 | padding: 0.6rem; 411 | } 412 | 413 | .database-plugin__table .database-plugin__td:first-child, 414 | .database-plugin__table .database-plugin__th:first-child { 415 | position: sticky; 416 | left: 0; 417 | z-index: 1; 418 | } 419 | 420 | .database-plugin__sticky_first_column .database-plugin__td:nth-child(2), 421 | .database-plugin__sticky_first_column .database-plugin__th:nth-child(2) { 422 | position: sticky; 423 | z-index: 2; 424 | left: 30px; 425 | background-color: var(--background-secondary); 426 | } 427 | 428 | .database-plugin__table { 429 | position: relative; 430 | border-spacing: 0.5px; 431 | border-bottom: 1px solid var(--background-modifier-border); 432 | display: table; 433 | height: 1px; /** Hack to prevent collapsing of table cells */ 434 | overflow: scroll; 435 | } 436 | 437 | .database-plugin__th:last-child { 438 | border-right: 0; 439 | } 440 | 441 | .database-plugin__td:last-child { 442 | border-right: 0; 443 | } 444 | 445 | .database-plugin__th, 446 | .database-plugin__td { 447 | white-space: pre-wrap; 448 | margin: 0; 449 | border-bottom: 1px solid var(--background-modifier-border); 450 | border-right: 1px solid var(--background-modifier-border); 451 | position: relative; 452 | } 453 | 454 | .database-plugin__tbody { 455 | display: table-row-group; 456 | } 457 | 458 | .database-plugin__header-group, 459 | .database-plugin__header { 460 | justify-content: flex-start; 461 | background-color: var(--background-secondary); 462 | } 463 | 464 | .database-plugin__sticky-top { 465 | position: -webkit-sticky; 466 | position: sticky; 467 | left: 0; 468 | top: 0; 469 | z-index: 2; 470 | } 471 | 472 | .database-plugin__thead { 473 | border-top: 1px solid var(--background-modifier-border); 474 | display: table-header-group; 475 | } 476 | 477 | .database-plugin__navbar { 478 | width: 100%; 479 | position: sticky; 480 | position: -webkit-sticky; 481 | left: 0; 482 | top: 0; 483 | z-index: 2; 484 | } 485 | .database-plugin__toolbar-navbar { 486 | min-height: 40px !important; 487 | padding: 0; 488 | padding-left: 2px !important; 489 | max-height: 40px !important; 490 | } 491 | 492 | .database-plugin__nabvar-button { 493 | min-width: 30px; 494 | min-height: 30px; 495 | padding: 2px; 496 | border-radius: 0; 497 | max-width: 30px; 498 | max-height: 30px; 499 | } 500 | 501 | .database-plugin__nabvar-button:disabled { 502 | background-color: var(--background-secondary); 503 | opacity: 0.5; 504 | } 505 | 506 | .database-plugin__pagination { 507 | width: 100%; 508 | height: 40px; 509 | justify-content: flex-end; 510 | list-style: none; 511 | bottom: 1em; 512 | position: sticky; 513 | margin: 0; 514 | padding: 0 10px 0 0; 515 | display: flex; 516 | column-gap: 2px; 517 | } 518 | 519 | .database-plugin__pagination-button { 520 | background-color: var(--text-accent); 521 | max-width: 30px; 522 | max-height: 30px; 523 | min-width: 32px; 524 | min-height: 32px; 525 | } 526 | 527 | .database-plugin__pagination-button:hover { 528 | background-color: var(--background-text-accent-hover); 529 | } 530 | 531 | .database-plugin__pagination-button:disabled { 532 | opacity: 0.5; 533 | cursor: "not-allowed"; 534 | background-color: var(--background-secondary); 535 | box-shadow: var(--input-shadow); 536 | color: var(--text-normal); 537 | } 538 | 539 | .database-plugin__padding-left-05 { 540 | padding-left: 0.5rem; 541 | } 542 | 543 | .database-plugin__calendar { 544 | align-self: center; 545 | } 546 | 547 | .database-plugin__relationship, 548 | .react-select__option { 549 | color: rgb(66, 66, 66); 550 | box-sizing: border-box; 551 | font-weight: 400; 552 | padding: 2px 6px; 553 | border-radius: 4px; 554 | display: inline-block; 555 | white-space: nowrap; 556 | } 557 | 558 | .react-select__option + .react-select__option { 559 | margin-top: 10px; 560 | } 561 | 562 | .react-select__option, 563 | .react-select__multi-value { 564 | background-color: #e3e3e3; 565 | color: var(--text-normal); 566 | } 567 | 568 | .react-select__menu .react-select__menu-list { 569 | background-color: var(--background-primary); 570 | border: 1px solid var(--background-modifier-border); 571 | border-radius: 4px; 572 | padding: 10px; 573 | } 574 | 575 | .react-select__value-container .react-select__input-container { 576 | color: var(--text-normal); 577 | } 578 | 579 | .database-plugin__tags { 580 | background-color: var(--background-primary); 581 | } 582 | 583 | .database-plugin__tags-container { 584 | gap: 0.3rem; 585 | } 586 | 587 | .database-plugin__row-extend-decorator { 588 | padding: 5px; 589 | box-shadow: rgba(0, 0, 0, 0.16) 0px 3px 6px, rgba(0, 0, 0, 0.23) 0px 3px 6px; 590 | } 591 | 592 | /************************************************************ 593 | * CELL CONTENT STYLES 594 | ************************************************************/ 595 | .database-plugin__text-align-right { 596 | display: flex; 597 | justify-content: flex-end; 598 | text-align: right; 599 | } 600 | 601 | .database-plugin__text-align-center { 602 | display: flex; 603 | align-items: center; 604 | justify-content: center; 605 | flex-wrap: wrap; 606 | } 607 | 608 | .database-plugin__text-align-left { 609 | display: flex; 610 | justify-content: flex-start; 611 | text-align: left; 612 | } 613 | 614 | .database-plugin__text-align-justify { 615 | display: flex; 616 | text-align: justify; 617 | } 618 | 619 | .database-plugin__text-wrap { 620 | white-space: normal; 621 | } 622 | 623 | .database-plugin__text-nowrap { 624 | white-space: nowrap; 625 | } 626 | 627 | .menu.database-plugin__popper { 628 | position: relative; 629 | padding: 0; 630 | } 631 | 632 | .icon-margin { 633 | margin-right: 4px; 634 | } 635 | 636 | .font-weight-600 { 637 | font-weight: 600; 638 | } 639 | 640 | .font-size-75 { 641 | font-size: 0.75rem; 642 | } 643 | 644 | /** 645 | * Database Styles 646 | */ 647 | .database-plugin__container { 648 | contain: content; 649 | height: 100%; 650 | width: 100%; 651 | position: relative; 652 | } 653 | 654 | .database-plugin__container tr input { 655 | background: var(--background-modifier-box-shadow); 656 | } 657 | 658 | .database-plugin__scroll-horizontal { 659 | overflow-y: auto; 660 | overflow-x: auto; 661 | } 662 | 663 | .database-plugin__scroll-container { 664 | will-change: transform; 665 | width: 100%; 666 | height: 92%; 667 | } 668 | 669 | @media only screen and (max-width: 768px) { 670 | .database-plugin__scroll-container { 671 | will-change: transform; 672 | width: 100%; 673 | height: 85%; 674 | } 675 | } 676 | 677 | .draggable { 678 | top: auto !important; 679 | left: auto !important; 680 | } 681 | 682 | /* 683 | * Settings styles 684 | */ 685 | .configuration-section-container-developer { 686 | background-color: var(--background-modifier-error); 687 | } 688 | 689 | .configuration-section-container-columns-template { 690 | background-color: var(--background-modifier-box-shadow); 691 | } 692 | /** 693 | * Row styles 694 | */ 695 | /* row context menu shows an icon to the left of the first cell translucent*/ 696 | .database-plugin__row-context-menu { 697 | padding: 0; 698 | background-color: var(--background-primary); 699 | } 700 | 701 | .database-plugin__cell-context-menu { 702 | align-items: center; 703 | display: flex; 704 | justify-content: center; 705 | height: 100%; 706 | width: 100%; 707 | margin: 0; 708 | } 709 | 710 | .database-plugin__cell-context-button { 711 | display: inherit; 712 | } 713 | 714 | /** 715 | * AUTOCOMPLETE STYLES 716 | */ 717 | .database-plugin__autocomplete { 718 | font-size: 0.875rem; 719 | border: 1px solid var(--background-modifier-border); 720 | background-color: var(--background-primary); 721 | list-style: none; 722 | padding: 0; 723 | margin: 0; 724 | min-width: 20ch; 725 | max-width: 40ch; 726 | max-height: 200px; 727 | border-radius: 6px; 728 | box-shadow: 0px 15px 25px rgba(0, 0, 0, 0.2); 729 | overflow-x: hidden; 730 | overflow-y: auto; 731 | } 732 | 733 | .database-plugin__autocomplete li { 734 | margin: 0; 735 | } 736 | 737 | .database-plugin__autocomplete li em { 738 | opacity: 0.6; 739 | } 740 | 741 | .database-plugin .textcomplete-footer, 742 | .database-plugin .textcomplete-header { 743 | display: none; 744 | } 745 | 746 | .database-plugin__autocomplete-item-active, 747 | .database-plugin__autocomplete-item { 748 | border-top: 1px solid var(--background-modifier-border); 749 | padding: 4px 6px; 750 | cursor: pointer; 751 | } 752 | 753 | .database-plugin__autocomplete 754 | .textcomplete-header 755 | + .database-plugin__autocomplete-item, 756 | .database-plugin__autocomplete 757 | .textcomplete-header 758 | + .database-plugin__autocomplete-item-active { 759 | border-top: none; 760 | } 761 | 762 | .database-plugin__autocomplete-item:hover, 763 | .database-plugin__autocomplete-item-active { 764 | color: var(--text-on-accent); 765 | background-color: var(--interactive-accent-hover); 766 | } 767 | 768 | .database-plugin__file-suggestion-wrapper { 769 | display: flex; 770 | line-height: 1.2; 771 | } 772 | 773 | .database-plugin__file-suggestion-icon { 774 | flex-shrink: 0; 775 | flex-grow: 0; 776 | padding-right: 4px; 777 | } 778 | 779 | .database-plugin__file-suggestion-subtitle { 780 | font-size: 0.875em; 781 | color: var(--text-muted); 782 | } 783 | 784 | .database-plugin__autocomplete-item:hover 785 | .database-plugin__file-suggestion-subtitle, 786 | .database-plugin__autocomplete-item-active 787 | .database-plugin__file-suggestion-subtitle { 788 | color: var(--text-on-accent); 789 | } 790 | 791 | /************************* 792 | * React-datepicker styles 793 | **************************/ 794 | .react-datepicker { 795 | --react-datepicker-navigation-height: 24px; 796 | --react-datepicker-navigation-width: 24px; 797 | } 798 | 799 | .react-datepicker button { 800 | max-width: var(--react-datepicker-navigation-width); 801 | max-height: var(--react-datepicker-navigation-height); 802 | } 803 | 804 | .react-datepicker__year-read-view--down-arrow, 805 | .react-datepicker__month-read-view--down-arrow, 806 | .react-datepicker__month-year-read-view--down-arrow, 807 | .react-datepicker__navigation-icon::before { 808 | border-color: var(--background-modifier-box-shadow); 809 | border-style: solid; 810 | border-width: 3px 3px 0 0; 811 | content: ""; 812 | display: block; 813 | height: 9px; 814 | position: absolute; 815 | top: 6px; 816 | width: 9px; 817 | } 818 | 819 | .react-datepicker-popper[data-placement^="top"] .react-datepicker__triangle, 820 | .react-datepicker-popper[data-placement^="bottom"] .react-datepicker__triangle { 821 | margin-left: -4px; 822 | position: absolute; 823 | width: 0; 824 | } 825 | 826 | .react-datepicker-popper[data-placement^="top"] 827 | .react-datepicker__triangle::before, 828 | .react-datepicker-popper[data-placement^="bottom"] 829 | .react-datepicker__triangle::before, 830 | .react-datepicker-popper[data-placement^="top"] 831 | .react-datepicker__triangle::after, 832 | .react-datepicker-popper[data-placement^="bottom"] 833 | .react-datepicker__triangle::after { 834 | box-sizing: content-box; 835 | position: absolute; 836 | border: 8px solid transparent; 837 | height: 0; 838 | width: 1px; 839 | content: ""; 840 | z-index: -1; 841 | border-width: 8px; 842 | left: -8px; 843 | } 844 | 845 | .react-datepicker-popper[data-placement^="top"] 846 | .react-datepicker__triangle::before, 847 | .react-datepicker-popper[data-placement^="bottom"] 848 | .react-datepicker__triangle::before { 849 | border-bottom-color: var(--background-modifier-border); 850 | } 851 | 852 | .react-datepicker-popper[data-placement^="bottom"] .react-datepicker__triangle { 853 | top: 0; 854 | margin-top: -8px; 855 | } 856 | 857 | .react-datepicker-popper[data-placement^="bottom"] 858 | .react-datepicker__triangle::before, 859 | .react-datepicker-popper[data-placement^="bottom"] 860 | .react-datepicker__triangle::after { 861 | border-top: none; 862 | border-bottom-color: var(--background-modifier-border); 863 | } 864 | 865 | .react-datepicker-popper[data-placement^="bottom"] 866 | .react-datepicker__triangle::after { 867 | top: 0; 868 | } 869 | 870 | .react-datepicker-popper[data-placement^="bottom"] 871 | .react-datepicker__triangle::before { 872 | top: -1px; 873 | border-bottom-color: var(--background-modifier-border); 874 | } 875 | 876 | .react-datepicker-popper[data-placement^="top"] .react-datepicker__triangle { 877 | bottom: 0; 878 | margin-bottom: -8px; 879 | } 880 | 881 | .react-datepicker-popper[data-placement^="top"] 882 | .react-datepicker__triangle::before, 883 | .react-datepicker-popper[data-placement^="top"] 884 | .react-datepicker__triangle::after { 885 | border-bottom: none; 886 | border-top-color: #fff; 887 | } 888 | 889 | .react-datepicker-popper[data-placement^="top"] 890 | .react-datepicker__triangle::after { 891 | bottom: 0; 892 | } 893 | 894 | .react-datepicker-popper[data-placement^="top"] 895 | .react-datepicker__triangle::before { 896 | bottom: -1px; 897 | border-top-color: #aeaeae; 898 | } 899 | 900 | .react-datepicker-wrapper { 901 | display: flex; 902 | flex: 1 1 0px; 903 | align-self: center; 904 | } 905 | 906 | .react-datepicker-wrapper input[type="text"], 907 | .react-datepicker-wrapper input[type="text"]:focus { 908 | border: none; 909 | font-size: var(--font-size-normal); 910 | padding: 0.5rem; 911 | color: var(--text-normal); 912 | background-color: var(--background-primary); 913 | font-size: 1rem; 914 | resize: none; 915 | box-sizing: border-box; 916 | width: inherit; 917 | align-self: center; 918 | top: 0; 919 | bottom: 0; 920 | } 921 | 922 | .react-datepicker { 923 | font-size: 0.8rem; 924 | background-color: var(--background-primary); 925 | color: var(--text-normal); 926 | border: 1px solid var(--background-modifier-border); 927 | border-radius: 0.3rem; 928 | display: inline-block; 929 | position: relative; 930 | z-index: 100; 931 | } 932 | 933 | .react-datepicker--time-only .react-datepicker__triangle { 934 | left: 35px; 935 | } 936 | 937 | .react-datepicker--time-only .react-datepicker__time-container { 938 | border-left: 0; 939 | } 940 | 941 | .react-datepicker--time-only .react-datepicker__time, 942 | .react-datepicker--time-only .react-datepicker__time-box { 943 | border-bottom-left-radius: 0.3rem; 944 | border-bottom-right-radius: 0.3rem; 945 | } 946 | 947 | .react-datepicker__triangle { 948 | position: absolute; 949 | left: 50px; 950 | } 951 | 952 | .react-datepicker-popper { 953 | z-index: 4; 954 | } 955 | 956 | .react-datepicker-popper[data-placement^="bottom"] { 957 | padding-top: 10px; 958 | } 959 | 960 | .react-datepicker-popper[data-placement="bottom-end"] 961 | .react-datepicker__triangle, 962 | .react-datepicker-popper[data-placement="top-end"] .react-datepicker__triangle { 963 | left: auto; 964 | right: 50px; 965 | } 966 | 967 | .react-datepicker-popper[data-placement^="top"] { 968 | padding-bottom: 10px; 969 | } 970 | 971 | .react-datepicker-popper[data-placement^="right"] { 972 | padding-left: 8px; 973 | } 974 | 975 | .react-datepicker-popper[data-placement^="right"] .react-datepicker__triangle { 976 | left: auto; 977 | right: 42px; 978 | } 979 | 980 | .react-datepicker-popper[data-placement^="left"] { 981 | padding-right: 8px; 982 | } 983 | 984 | .react-datepicker-popper[data-placement^="left"] .react-datepicker__triangle { 985 | left: 42px; 986 | right: auto; 987 | } 988 | 989 | .react-datepicker__header { 990 | text-align: center; 991 | background-color: var(--background-secondary); 992 | border-bottom: 1px solid var(--background-secondary); 993 | border-top-left-radius: 0.3rem; 994 | padding: 8px 0; 995 | position: relative; 996 | height: auto; 997 | width: auto; 998 | } 999 | 1000 | .react-datepicker__header--time { 1001 | padding-bottom: 8px; 1002 | padding-left: 5px; 1003 | padding-right: 5px; 1004 | } 1005 | 1006 | .react-datepicker__header--time:not(.react-datepicker__header--time--only) { 1007 | border-top-left-radius: 0; 1008 | } 1009 | 1010 | .react-datepicker__header:not(.react-datepicker__header--has-time-select) { 1011 | border-top-right-radius: 0.3rem; 1012 | } 1013 | 1014 | .react-datepicker__year-dropdown-container--select, 1015 | .react-datepicker__month-dropdown-container--select, 1016 | .react-datepicker__month-year-dropdown-container--select, 1017 | .react-datepicker__year-dropdown-container--scroll, 1018 | .react-datepicker__month-dropdown-container--scroll, 1019 | .react-datepicker__month-year-dropdown-container--scroll { 1020 | display: inline-block; 1021 | margin: 0 2px; 1022 | } 1023 | 1024 | .react-datepicker__current-month, 1025 | .react-datepicker-time__header, 1026 | .react-datepicker-year-header { 1027 | margin-top: 0; 1028 | color: var(--text-normal); 1029 | font-weight: bold; 1030 | font-size: 0.944rem; 1031 | } 1032 | 1033 | .react-datepicker-time__header { 1034 | text-overflow: ellipsis; 1035 | white-space: nowrap; 1036 | overflow: hidden; 1037 | } 1038 | 1039 | .react-datepicker__navigation { 1040 | align-items: center; 1041 | background: none; 1042 | display: flex; 1043 | justify-content: center; 1044 | text-align: center; 1045 | cursor: pointer; 1046 | position: absolute; 1047 | top: 2px; 1048 | padding: 0; 1049 | border: none; 1050 | z-index: 4; 1051 | height: var(--react-datepicker-navigation-height); 1052 | width: var(--react-datepicker-navigation-width); 1053 | text-indent: -999em; 1054 | overflow: hidden; 1055 | } 1056 | 1057 | .react-datepicker__navigation--previous { 1058 | left: 2px; 1059 | } 1060 | 1061 | .react-datepicker__navigation--next { 1062 | right: 2px; 1063 | } 1064 | 1065 | .react-datepicker__navigation--next--with-time:not( 1066 | .react-datepicker__navigation--next--with-today-button 1067 | ) { 1068 | right: 85px; 1069 | } 1070 | 1071 | .react-datepicker__navigation--years { 1072 | position: relative; 1073 | top: 0; 1074 | display: block; 1075 | margin-left: auto; 1076 | margin-right: auto; 1077 | } 1078 | 1079 | .react-datepicker__navigation--years-previous { 1080 | top: 4px; 1081 | } 1082 | 1083 | .react-datepicker__navigation--years-upcoming { 1084 | top: -4px; 1085 | } 1086 | 1087 | .react-datepicker__navigation:hover *::before { 1088 | border-color: #a6a6a6; 1089 | } 1090 | 1091 | .react-datepicker__navigation-icon { 1092 | position: relative; 1093 | top: -1px; 1094 | font-size: 20px; 1095 | width: 0; 1096 | } 1097 | 1098 | .react-datepicker__navigation-icon--next { 1099 | left: -2px; 1100 | } 1101 | 1102 | .react-datepicker__navigation-icon--next::before { 1103 | transform: rotate(45deg); 1104 | left: -7px; 1105 | } 1106 | 1107 | .react-datepicker__navigation-icon--previous { 1108 | right: -2px; 1109 | } 1110 | 1111 | .react-datepicker__navigation-icon--previous::before { 1112 | transform: rotate(225deg); 1113 | right: -7px; 1114 | } 1115 | 1116 | .react-datepicker__month-container { 1117 | float: left; 1118 | } 1119 | 1120 | .react-datepicker__year { 1121 | margin: 0.4rem; 1122 | text-align: center; 1123 | } 1124 | 1125 | .react-datepicker__year-wrapper { 1126 | display: flex; 1127 | flex-wrap: wrap; 1128 | max-width: 180px; 1129 | } 1130 | 1131 | .react-datepicker__year .react-datepicker__year-text { 1132 | display: inline-block; 1133 | width: 4rem; 1134 | margin: 2px; 1135 | } 1136 | 1137 | .react-datepicker__month { 1138 | margin: 0.4rem; 1139 | text-align: center; 1140 | } 1141 | 1142 | .react-datepicker__month .react-datepicker__month-text, 1143 | .react-datepicker__month .react-datepicker__quarter-text { 1144 | display: inline-block; 1145 | width: 4rem; 1146 | margin: 2px; 1147 | } 1148 | 1149 | .react-datepicker__input-time-container { 1150 | clear: both; 1151 | width: 100%; 1152 | float: left; 1153 | margin: 5px 0 10px 15px; 1154 | text-align: left; 1155 | } 1156 | 1157 | .react-datepicker__input-time-container .react-datepicker-time__caption { 1158 | display: inline-block; 1159 | } 1160 | 1161 | .react-datepicker__input-time-container 1162 | .react-datepicker-time__input-container { 1163 | display: inline-block; 1164 | } 1165 | 1166 | .react-datepicker__input-time-container 1167 | .react-datepicker-time__input-container 1168 | .react-datepicker-time__input { 1169 | display: inline-block; 1170 | margin-left: 10px; 1171 | } 1172 | 1173 | .react-datepicker__input-time-container 1174 | .react-datepicker-time__input-container 1175 | .react-datepicker-time__input 1176 | input { 1177 | width: auto; 1178 | } 1179 | 1180 | .react-datepicker__input-time-container 1181 | .react-datepicker-time__input-container 1182 | .react-datepicker-time__input 1183 | input[type="time"]::-webkit-inner-spin-button, 1184 | .react-datepicker__input-time-container 1185 | .react-datepicker-time__input-container 1186 | .react-datepicker-time__input 1187 | input[type="time"]::-webkit-outer-spin-button { 1188 | margin: 0; 1189 | } 1190 | 1191 | .react-datepicker__input-time-container 1192 | .react-datepicker-time__input-container 1193 | .react-datepicker-time__delimiter { 1194 | margin-left: 5px; 1195 | display: inline-block; 1196 | } 1197 | 1198 | .react-datepicker__time-container { 1199 | float: right; 1200 | border-left: 1px solid var(--background-modifier-box-shadow); 1201 | width: 85px; 1202 | } 1203 | 1204 | .react-datepicker__time-container--with-today-button { 1205 | display: inline; 1206 | border: 1px solid var(--background-modifier-box-shadow); 1207 | border-radius: 0.3rem; 1208 | position: absolute; 1209 | right: -72px; 1210 | top: 0; 1211 | } 1212 | 1213 | .react-datepicker__time-container .react-datepicker__time { 1214 | position: relative; 1215 | background: var(--background-primary); 1216 | border-bottom-right-radius: 0.3rem; 1217 | } 1218 | 1219 | .react-datepicker__time-container 1220 | .react-datepicker__time 1221 | .react-datepicker__time-box { 1222 | width: 85px; 1223 | overflow-x: hidden; 1224 | margin: 0 auto; 1225 | text-align: center; 1226 | border-bottom-right-radius: 0.3rem; 1227 | } 1228 | 1229 | .react-datepicker__time-container 1230 | .react-datepicker__time 1231 | .react-datepicker__time-box 1232 | ul.react-datepicker__time-list { 1233 | list-style: none; 1234 | margin: 0; 1235 | height: calc(195px + (1.7rem / 2)); 1236 | overflow-y: scroll; 1237 | padding-right: 0; 1238 | padding-left: 0; 1239 | width: 100%; 1240 | box-sizing: content-box; 1241 | } 1242 | 1243 | .react-datepicker__time-container 1244 | .react-datepicker__time 1245 | .react-datepicker__time-box 1246 | ul.react-datepicker__time-list 1247 | li.react-datepicker__time-list-item { 1248 | height: 30px; 1249 | padding: 5px 10px; 1250 | color: var(--text-normal); 1251 | white-space: nowrap; 1252 | } 1253 | 1254 | .react-datepicker__time-container 1255 | .react-datepicker__time 1256 | .react-datepicker__time-box 1257 | ul.react-datepicker__time-list 1258 | li.react-datepicker__time-list-item:hover { 1259 | cursor: pointer; 1260 | background-color: #f0f0f0; 1261 | } 1262 | 1263 | .react-datepicker__time-container 1264 | .react-datepicker__time 1265 | .react-datepicker__time-box 1266 | ul.react-datepicker__time-list 1267 | li.react-datepicker__time-list-item--selected { 1268 | background-color: #216ba5; 1269 | color: var(--text-normal); 1270 | font-weight: bold; 1271 | } 1272 | 1273 | .react-datepicker__time-container 1274 | .react-datepicker__time 1275 | .react-datepicker__time-box 1276 | ul.react-datepicker__time-list 1277 | li.react-datepicker__time-list-item--selected:hover { 1278 | background-color: #216ba5; 1279 | } 1280 | 1281 | .react-datepicker__time-container 1282 | .react-datepicker__time 1283 | .react-datepicker__time-box 1284 | ul.react-datepicker__time-list 1285 | li.react-datepicker__time-list-item--disabled { 1286 | color: #ccc; 1287 | } 1288 | 1289 | .react-datepicker__time-container 1290 | .react-datepicker__time 1291 | .react-datepicker__time-box 1292 | ul.react-datepicker__time-list 1293 | li.react-datepicker__time-list-item--disabled:hover { 1294 | cursor: default; 1295 | background-color: transparent; 1296 | } 1297 | 1298 | .react-datepicker__week-number { 1299 | color: #ccc; 1300 | display: inline-block; 1301 | width: 1.7rem; 1302 | line-height: 1.7rem; 1303 | text-align: center; 1304 | margin: 0.166rem; 1305 | } 1306 | 1307 | .react-datepicker__week-number.react-datepicker__week-number--clickable { 1308 | cursor: pointer; 1309 | } 1310 | 1311 | .react-datepicker__week-number.react-datepicker__week-number--clickable:hover { 1312 | border-radius: 0.3rem; 1313 | background-color: #f0f0f0; 1314 | } 1315 | 1316 | .react-datepicker__day-names, 1317 | .react-datepicker__week { 1318 | white-space: nowrap; 1319 | } 1320 | 1321 | .react-datepicker__day-names { 1322 | margin-bottom: -8px; 1323 | } 1324 | 1325 | .react-datepicker__day-name, 1326 | .react-datepicker__day, 1327 | .react-datepicker__time-name { 1328 | color: var(--text-normal); 1329 | display: inline-block; 1330 | width: 1.7rem; 1331 | line-height: 1.7rem; 1332 | text-align: center; 1333 | margin: 0.166rem; 1334 | } 1335 | 1336 | .react-datepicker__month--selected, 1337 | .react-datepicker__month--in-selecting-range, 1338 | .react-datepicker__month--in-range, 1339 | .react-datepicker__quarter--selected, 1340 | .react-datepicker__quarter--in-selecting-range, 1341 | .react-datepicker__quarter--in-range { 1342 | border-radius: 0.3rem; 1343 | background-color: #216ba5; 1344 | color: #fff; 1345 | } 1346 | 1347 | .react-datepicker__month--selected:hover, 1348 | .react-datepicker__month--in-selecting-range:hover, 1349 | .react-datepicker__month--in-range:hover, 1350 | .react-datepicker__quarter--selected:hover, 1351 | .react-datepicker__quarter--in-selecting-range:hover, 1352 | .react-datepicker__quarter--in-range:hover { 1353 | background-color: #1d5d90; 1354 | } 1355 | 1356 | .react-datepicker__month--disabled, 1357 | .react-datepicker__quarter--disabled { 1358 | color: #ccc; 1359 | pointer-events: none; 1360 | } 1361 | 1362 | .react-datepicker__month--disabled:hover, 1363 | .react-datepicker__quarter--disabled:hover { 1364 | cursor: default; 1365 | background-color: transparent; 1366 | } 1367 | 1368 | .react-datepicker__day, 1369 | .react-datepicker__month-text, 1370 | .react-datepicker__quarter-text, 1371 | .react-datepicker__year-text { 1372 | cursor: pointer; 1373 | } 1374 | 1375 | .react-datepicker__day:hover, 1376 | .react-datepicker__month-text:hover, 1377 | .react-datepicker__quarter-text:hover, 1378 | .react-datepicker__year-text:hover { 1379 | border-radius: 0.3rem; 1380 | background-color: #f0f0f0; 1381 | } 1382 | 1383 | .react-datepicker__day--today, 1384 | .react-datepicker__month-text--today, 1385 | .react-datepicker__quarter-text--today, 1386 | .react-datepicker__year-text--today { 1387 | font-weight: bold; 1388 | } 1389 | 1390 | .react-datepicker__day--highlighted, 1391 | .react-datepicker__month-text--highlighted, 1392 | .react-datepicker__quarter-text--highlighted, 1393 | .react-datepicker__year-text--highlighted { 1394 | border-radius: 0.3rem; 1395 | background-color: #3dcc4a; 1396 | color: #fff; 1397 | } 1398 | 1399 | .react-datepicker__day--highlighted:hover, 1400 | .react-datepicker__month-text--highlighted:hover, 1401 | .react-datepicker__quarter-text--highlighted:hover, 1402 | .react-datepicker__year-text--highlighted:hover { 1403 | background-color: #32be3f; 1404 | } 1405 | 1406 | .react-datepicker__day--highlighted-custom-1, 1407 | .react-datepicker__month-text--highlighted-custom-1, 1408 | .react-datepicker__quarter-text--highlighted-custom-1, 1409 | .react-datepicker__year-text--highlighted-custom-1 { 1410 | color: magenta; 1411 | } 1412 | 1413 | .react-datepicker__day--highlighted-custom-2, 1414 | .react-datepicker__month-text--highlighted-custom-2, 1415 | .react-datepicker__quarter-text--highlighted-custom-2, 1416 | .react-datepicker__year-text--highlighted-custom-2 { 1417 | color: green; 1418 | } 1419 | 1420 | .react-datepicker__day--selected, 1421 | .react-datepicker__day--in-selecting-range, 1422 | .react-datepicker__day--in-range, 1423 | .react-datepicker__month-text--selected, 1424 | .react-datepicker__month-text--in-selecting-range, 1425 | .react-datepicker__month-text--in-range, 1426 | .react-datepicker__quarter-text--selected, 1427 | .react-datepicker__quarter-text--in-selecting-range, 1428 | .react-datepicker__quarter-text--in-range, 1429 | .react-datepicker__year-text--selected, 1430 | .react-datepicker__year-text--in-selecting-range, 1431 | .react-datepicker__year-text--in-range { 1432 | border-radius: 0.3rem; 1433 | background-color: #216ba5; 1434 | color: #fff; 1435 | } 1436 | 1437 | .react-datepicker__day--selected:hover, 1438 | .react-datepicker__day--in-selecting-range:hover, 1439 | .react-datepicker__day--in-range:hover, 1440 | .react-datepicker__month-text--selected:hover, 1441 | .react-datepicker__month-text--in-selecting-range:hover, 1442 | .react-datepicker__month-text--in-range:hover, 1443 | .react-datepicker__quarter-text--selected:hover, 1444 | .react-datepicker__quarter-text--in-selecting-range:hover, 1445 | .react-datepicker__quarter-text--in-range:hover, 1446 | .react-datepicker__year-text--selected:hover, 1447 | .react-datepicker__year-text--in-selecting-range:hover, 1448 | .react-datepicker__year-text--in-range:hover { 1449 | background-color: #1d5d90; 1450 | } 1451 | 1452 | .react-datepicker__day--keyboard-selected, 1453 | .react-datepicker__month-text--keyboard-selected, 1454 | .react-datepicker__quarter-text--keyboard-selected, 1455 | .react-datepicker__year-text--keyboard-selected { 1456 | border-radius: 0.3rem; 1457 | background-color: #2579ba; 1458 | color: #fff; 1459 | } 1460 | 1461 | .react-datepicker__day--keyboard-selected:hover, 1462 | .react-datepicker__month-text--keyboard-selected:hover, 1463 | .react-datepicker__quarter-text--keyboard-selected:hover, 1464 | .react-datepicker__year-text--keyboard-selected:hover { 1465 | background-color: #1d5d90; 1466 | } 1467 | 1468 | .react-datepicker__day--in-selecting-range:not( 1469 | .react-datepicker__day--in-range, 1470 | .react-datepicker__month-text--in-range, 1471 | .react-datepicker__quarter-text--in-range, 1472 | .react-datepicker__year-text--in-range 1473 | ), 1474 | .react-datepicker__month-text--in-selecting-range:not( 1475 | .react-datepicker__day--in-range, 1476 | .react-datepicker__month-text--in-range, 1477 | .react-datepicker__quarter-text--in-range, 1478 | .react-datepicker__year-text--in-range 1479 | ), 1480 | .react-datepicker__quarter-text--in-selecting-range:not( 1481 | .react-datepicker__day--in-range, 1482 | .react-datepicker__month-text--in-range, 1483 | .react-datepicker__quarter-text--in-range, 1484 | .react-datepicker__year-text--in-range 1485 | ), 1486 | .react-datepicker__year-text--in-selecting-range:not( 1487 | .react-datepicker__day--in-range, 1488 | .react-datepicker__month-text--in-range, 1489 | .react-datepicker__quarter-text--in-range, 1490 | .react-datepicker__year-text--in-range 1491 | ) { 1492 | background-color: rgba(33, 107, 165, 0.5); 1493 | } 1494 | 1495 | .react-datepicker__month--selecting-range 1496 | .react-datepicker__day--in-range:not( 1497 | .react-datepicker__day--in-selecting-range, 1498 | .react-datepicker__month-text--in-selecting-range, 1499 | .react-datepicker__quarter-text--in-selecting-range, 1500 | .react-datepicker__year-text--in-selecting-range 1501 | ), 1502 | .react-datepicker__month--selecting-range 1503 | .react-datepicker__month-text--in-range:not( 1504 | .react-datepicker__day--in-selecting-range, 1505 | .react-datepicker__month-text--in-selecting-range, 1506 | .react-datepicker__quarter-text--in-selecting-range, 1507 | .react-datepicker__year-text--in-selecting-range 1508 | ), 1509 | .react-datepicker__month--selecting-range 1510 | .react-datepicker__quarter-text--in-range:not( 1511 | .react-datepicker__day--in-selecting-range, 1512 | .react-datepicker__month-text--in-selecting-range, 1513 | .react-datepicker__quarter-text--in-selecting-range, 1514 | .react-datepicker__year-text--in-selecting-range 1515 | ), 1516 | .react-datepicker__month--selecting-range 1517 | .react-datepicker__year-text--in-range:not( 1518 | .react-datepicker__day--in-selecting-range, 1519 | .react-datepicker__month-text--in-selecting-range, 1520 | .react-datepicker__quarter-text--in-selecting-range, 1521 | .react-datepicker__year-text--in-selecting-range 1522 | ) { 1523 | background-color: #f0f0f0; 1524 | color: var(--text-normal); 1525 | } 1526 | 1527 | .react-datepicker__day--disabled, 1528 | .react-datepicker__month-text--disabled, 1529 | .react-datepicker__quarter-text--disabled, 1530 | .react-datepicker__year-text--disabled { 1531 | cursor: default; 1532 | color: #ccc; 1533 | } 1534 | 1535 | .react-datepicker__day--disabled:hover, 1536 | .react-datepicker__month-text--disabled:hover, 1537 | .react-datepicker__quarter-text--disabled:hover, 1538 | .react-datepicker__year-text--disabled:hover { 1539 | background-color: transparent; 1540 | } 1541 | 1542 | .react-datepicker__month-text.react-datepicker__month--selected:hover, 1543 | .react-datepicker__month-text.react-datepicker__month--in-range:hover, 1544 | .react-datepicker__month-text.react-datepicker__quarter--selected:hover, 1545 | .react-datepicker__month-text.react-datepicker__quarter--in-range:hover, 1546 | .react-datepicker__quarter-text.react-datepicker__month--selected:hover, 1547 | .react-datepicker__quarter-text.react-datepicker__month--in-range:hover, 1548 | .react-datepicker__quarter-text.react-datepicker__quarter--selected:hover, 1549 | .react-datepicker__quarter-text.react-datepicker__quarter--in-range:hover { 1550 | background-color: #216ba5; 1551 | } 1552 | 1553 | .react-datepicker__month-text:hover, 1554 | .react-datepicker__quarter-text:hover { 1555 | background-color: #f0f0f0; 1556 | } 1557 | 1558 | .react-datepicker__input-container { 1559 | display: flex; 1560 | justify-content: space-around; 1561 | width: 100%; 1562 | } 1563 | 1564 | .react-datepicker__year-read-view, 1565 | .react-datepicker__month-read-view, 1566 | .react-datepicker__month-year-read-view { 1567 | border: 1px solid transparent; 1568 | border-radius: 0.3rem; 1569 | position: relative; 1570 | } 1571 | 1572 | .react-datepicker__year-read-view:hover, 1573 | .react-datepicker__month-read-view:hover, 1574 | .react-datepicker__month-year-read-view:hover { 1575 | cursor: pointer; 1576 | } 1577 | 1578 | .react-datepicker__year-read-view:hover 1579 | .react-datepicker__year-read-view--down-arrow, 1580 | .react-datepicker__year-read-view:hover 1581 | .react-datepicker__month-read-view--down-arrow, 1582 | .react-datepicker__month-read-view:hover 1583 | .react-datepicker__year-read-view--down-arrow, 1584 | .react-datepicker__month-read-view:hover 1585 | .react-datepicker__month-read-view--down-arrow, 1586 | .react-datepicker__month-year-read-view:hover 1587 | .react-datepicker__year-read-view--down-arrow, 1588 | .react-datepicker__month-year-read-view:hover 1589 | .react-datepicker__month-read-view--down-arrow { 1590 | border-top-color: #b3b3b3; 1591 | } 1592 | 1593 | .react-datepicker__year-read-view--down-arrow, 1594 | .react-datepicker__month-read-view--down-arrow, 1595 | .react-datepicker__month-year-read-view--down-arrow { 1596 | transform: rotate(135deg); 1597 | right: -16px; 1598 | top: 0; 1599 | } 1600 | 1601 | .react-datepicker__year-dropdown, 1602 | .react-datepicker__month-dropdown, 1603 | .react-datepicker__month-year-dropdown { 1604 | background-color: #f0f0f0; 1605 | position: absolute; 1606 | width: 50%; 1607 | left: 25%; 1608 | top: 30px; 1609 | z-index: 4; 1610 | text-align: center; 1611 | border-radius: 0.3rem; 1612 | border: 1px solid #aeaeae; 1613 | } 1614 | 1615 | .react-datepicker__year-dropdown:hover, 1616 | .react-datepicker__month-dropdown:hover, 1617 | .react-datepicker__month-year-dropdown:hover { 1618 | cursor: pointer; 1619 | } 1620 | 1621 | .react-datepicker__year-dropdown--scrollable, 1622 | .react-datepicker__month-dropdown--scrollable, 1623 | .react-datepicker__month-year-dropdown--scrollable { 1624 | height: 150px; 1625 | overflow-y: scroll; 1626 | } 1627 | 1628 | .react-datepicker__year-option, 1629 | .react-datepicker__month-option, 1630 | .react-datepicker__month-year-option { 1631 | line-height: 20px; 1632 | width: 100%; 1633 | display: block; 1634 | margin-left: auto; 1635 | margin-right: auto; 1636 | } 1637 | 1638 | .react-datepicker__year-option:first-of-type, 1639 | .react-datepicker__month-option:first-of-type, 1640 | .react-datepicker__month-year-option:first-of-type { 1641 | border-top-left-radius: 0.3rem; 1642 | border-top-right-radius: 0.3rem; 1643 | } 1644 | 1645 | .react-datepicker__year-option:last-of-type, 1646 | .react-datepicker__month-option:last-of-type, 1647 | .react-datepicker__month-year-option:last-of-type { 1648 | -webkit-user-select: none; 1649 | -moz-user-select: none; 1650 | -ms-user-select: none; 1651 | user-select: none; 1652 | border-bottom-left-radius: 0.3rem; 1653 | border-bottom-right-radius: 0.3rem; 1654 | } 1655 | 1656 | .react-datepicker__year-option:hover, 1657 | .react-datepicker__month-option:hover, 1658 | .react-datepicker__month-year-option:hover { 1659 | background-color: var(--interactive-success); 1660 | } 1661 | 1662 | .react-datepicker__year-option:hover 1663 | .react-datepicker__navigation--years-upcoming, 1664 | .react-datepicker__month-option:hover 1665 | .react-datepicker__navigation--years-upcoming, 1666 | .react-datepicker__month-year-option:hover 1667 | .react-datepicker__navigation--years-upcoming { 1668 | border-bottom-color: var(--interactive-success); 1669 | } 1670 | 1671 | .react-datepicker__year-option:hover 1672 | .react-datepicker__navigation--years-previous, 1673 | .react-datepicker__month-option:hover 1674 | .react-datepicker__navigation--years-previous, 1675 | .react-datepicker__month-year-option:hover 1676 | .react-datepicker__navigation--years-previous { 1677 | border-top-color: var(--interactive-success); 1678 | } 1679 | 1680 | .react-datepicker__year-option--selected, 1681 | .react-datepicker__month-option--selected, 1682 | .react-datepicker__month-year-option--selected { 1683 | position: absolute; 1684 | left: 15px; 1685 | } 1686 | 1687 | .react-datepicker__close-icon { 1688 | cursor: pointer; 1689 | background-color: transparent; 1690 | border: 0; 1691 | box-shadow: none; 1692 | outline: 0; 1693 | padding: 6px; 1694 | right: 0; 1695 | align-self: center; 1696 | } 1697 | 1698 | .react-datepicker__close-icon::after { 1699 | cursor: pointer; 1700 | color: var(--text-primary); 1701 | border-radius: 50%; 1702 | text-align: center; 1703 | display: table-cell; 1704 | vertical-align: middle; 1705 | content: "×"; 1706 | } 1707 | 1708 | .react-datepicker__today-button { 1709 | background: #f0f0f0; 1710 | border-top: 1px solid #aeaeae; 1711 | cursor: pointer; 1712 | text-align: center; 1713 | font-weight: bold; 1714 | padding: 5px 0; 1715 | clear: left; 1716 | } 1717 | -------------------------------------------------------------------------------- /.obsidian/templates.json: -------------------------------------------------------------------------------- 1 | { 2 | "folder": "__Templates" 3 | } -------------------------------------------------------------------------------- /.obsidian/themes/Dayspring/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Dayspring", 3 | "version": "1.0.2", 4 | "minAppVersion": "1.0.0", 5 | "author": "Eric Rykwalder", 6 | "authorUrl": "https://github.com/erykwalder" 7 | } -------------------------------------------------------------------------------- /.obsidian/themes/Dayspring/theme.css: -------------------------------------------------------------------------------- 1 | /* latin-ext */ 2 | @font-face { 3 | font-family: "Figtree"; 4 | font-style: normal; 5 | font-weight: 300; 6 | font-display: swap; 7 | src: local("Figtree-Light"), 8 | url(https://fonts.gstatic.com/s/figtree/v1/_Xms-HUzqDCFdgfMm4q9DaRvziissg.woff2) 9 | format("woff2"); 10 | unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, 11 | U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; 12 | } 13 | /* latin */ 14 | @font-face { 15 | font-family: "Figtree"; 16 | font-style: normal; 17 | font-weight: 300; 18 | font-display: swap; 19 | src: local("Figtree-Light"), 20 | url(https://fonts.gstatic.com/s/figtree/v1/_Xms-HUzqDCFdgfMm4S9DaRvzig.woff2) 21 | format("woff2"); 22 | unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, 23 | U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, 24 | U+2215, U+FEFF, U+FFFD; 25 | } 26 | /* latin-ext */ 27 | @font-face { 28 | font-family: "Figtree"; 29 | font-style: normal; 30 | font-weight: 400; 31 | font-display: swap; 32 | src: local("Figtree-Regular"), 33 | url(https://fonts.gstatic.com/s/figtree/v1/_Xms-HUzqDCFdgfMm4q9DaRvziissg.woff2) 34 | format("woff2"); 35 | unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, 36 | U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; 37 | } 38 | /* latin */ 39 | @font-face { 40 | font-family: "Figtree"; 41 | font-style: normal; 42 | font-weight: 400; 43 | font-display: swap; 44 | src: local("Figtree-Regular"), 45 | url(https://fonts.gstatic.com/s/figtree/v1/_Xms-HUzqDCFdgfMm4S9DaRvzig.woff2) 46 | format("woff2"); 47 | unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, 48 | U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, 49 | U+2215, U+FEFF, U+FFFD; 50 | } 51 | /* latin-ext */ 52 | @font-face { 53 | font-family: "Figtree"; 54 | font-style: normal; 55 | font-weight: 500; 56 | font-display: swap; 57 | src: local("Figtree-Medium"), 58 | url(https://fonts.gstatic.com/s/figtree/v1/_Xms-HUzqDCFdgfMm4q9DaRvziissg.woff2) 59 | format("woff2"); 60 | unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, 61 | U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; 62 | } 63 | /* latin */ 64 | @font-face { 65 | font-family: "Figtree"; 66 | font-style: normal; 67 | font-weight: 500; 68 | font-display: swap; 69 | src: local("Figtree-Medium"), 70 | url(https://fonts.gstatic.com/s/figtree/v1/_Xms-HUzqDCFdgfMm4S9DaRvzig.woff2) 71 | format("woff2"); 72 | unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, 73 | U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, 74 | U+2215, U+FEFF, U+FFFD; 75 | } 76 | /* latin-ext */ 77 | @font-face { 78 | font-family: "Figtree"; 79 | font-style: normal; 80 | font-weight: 600; 81 | font-display: swap; 82 | src: local("Figtree-SemiBold"), 83 | url(https://fonts.gstatic.com/s/figtree/v1/_Xms-HUzqDCFdgfMm4q9DaRvziissg.woff2) 84 | format("woff2"); 85 | unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, 86 | U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; 87 | } 88 | /* latin */ 89 | @font-face { 90 | font-family: "Figtree"; 91 | font-style: normal; 92 | font-weight: 600; 93 | font-display: swap; 94 | src: local("Figtree-SemiBold"), 95 | url(https://fonts.gstatic.com/s/figtree/v1/_Xms-HUzqDCFdgfMm4S9DaRvzig.woff2) 96 | format("woff2"); 97 | unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, 98 | U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, 99 | U+2215, U+FEFF, U+FFFD; 100 | } 101 | /* latin-ext */ 102 | @font-face { 103 | font-family: "Figtree"; 104 | font-style: normal; 105 | font-weight: 700; 106 | font-display: swap; 107 | src: local("Figtree-Bold"), 108 | url(https://fonts.gstatic.com/s/figtree/v1/_Xms-HUzqDCFdgfMm4q9DaRvziissg.woff2) 109 | format("woff2"); 110 | unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, 111 | U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; 112 | } 113 | /* latin */ 114 | @font-face { 115 | font-family: "Figtree"; 116 | font-style: normal; 117 | font-weight: 700; 118 | font-display: swap; 119 | src: local("Figtree-Bold"), 120 | url(https://fonts.gstatic.com/s/figtree/v1/_Xms-HUzqDCFdgfMm4S9DaRvzig.woff2) 121 | format("woff2"); 122 | unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, 123 | U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, 124 | U+2215, U+FEFF, U+FFFD; 125 | } 126 | /* latin-ext */ 127 | @font-face { 128 | font-family: "Crimson Pro"; 129 | font-style: italic; 130 | font-weight: 300; 131 | font-display: swap; 132 | src: local("CrimsonProItalic-Light"), 133 | url(https://fonts.gstatic.com/s/crimsonpro/v23/q5uBsoa5M_tv7IihmnkabARekY1wDeChrlWhBw.woff2) 134 | format("woff2"); 135 | unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, 136 | U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; 137 | } 138 | /* latin */ 139 | @font-face { 140 | font-family: "Crimson Pro"; 141 | font-style: italic; 142 | font-weight: 300; 143 | font-display: swap; 144 | src: local("CrimsonProItalic-Light"), 145 | url(https://fonts.gstatic.com/s/crimsonpro/v23/q5uBsoa5M_tv7IihmnkabARekYNwDeChrlU.woff2) 146 | format("woff2"); 147 | unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, 148 | U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, 149 | U+2215, U+FEFF, U+FFFD; 150 | } 151 | /* latin-ext */ 152 | @font-face { 153 | font-family: "Crimson Pro"; 154 | font-style: italic; 155 | font-weight: 400; 156 | font-display: swap; 157 | src: local("CrimsonPro-Italic"), 158 | url(https://fonts.gstatic.com/s/crimsonpro/v23/q5uBsoa5M_tv7IihmnkabARekY1wDeChrlWhBw.woff2) 159 | format("woff2"); 160 | unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, 161 | U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; 162 | } 163 | /* latin */ 164 | @font-face { 165 | font-family: "Crimson Pro"; 166 | font-style: italic; 167 | font-weight: 400; 168 | font-display: swap; 169 | src: local("CrimsonPro-Italic"), 170 | url(https://fonts.gstatic.com/s/crimsonpro/v23/q5uBsoa5M_tv7IihmnkabARekYNwDeChrlU.woff2) 171 | format("woff2"); 172 | unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, 173 | U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, 174 | U+2215, U+FEFF, U+FFFD; 175 | } 176 | /* latin-ext */ 177 | @font-face { 178 | font-family: "Crimson Pro"; 179 | font-style: italic; 180 | font-weight: 500; 181 | font-display: swap; 182 | src: local("CrimsonProItalic-Medium"), 183 | url(https://fonts.gstatic.com/s/crimsonpro/v23/q5uBsoa5M_tv7IihmnkabARekY1wDeChrlWhBw.woff2) 184 | format("woff2"); 185 | unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, 186 | U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; 187 | } 188 | /* latin */ 189 | @font-face { 190 | font-family: "Crimson Pro"; 191 | font-style: italic; 192 | font-weight: 500; 193 | font-display: swap; 194 | src: local("CrimsonProItalic-Medium"), 195 | url(https://fonts.gstatic.com/s/crimsonpro/v23/q5uBsoa5M_tv7IihmnkabARekYNwDeChrlU.woff2) 196 | format("woff2"); 197 | unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, 198 | U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, 199 | U+2215, U+FEFF, U+FFFD; 200 | } 201 | /* latin-ext */ 202 | @font-face { 203 | font-family: "Crimson Pro"; 204 | font-style: italic; 205 | font-weight: 600; 206 | font-display: swap; 207 | src: local("CrimsonProItalic-SemiBold"), 208 | url(https://fonts.gstatic.com/s/crimsonpro/v23/q5uBsoa5M_tv7IihmnkabARekY1wDeChrlWhBw.woff2) 209 | format("woff2"); 210 | unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, 211 | U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; 212 | } 213 | /* latin */ 214 | @font-face { 215 | font-family: "Crimson Pro"; 216 | font-style: italic; 217 | font-weight: 600; 218 | font-display: swap; 219 | src: local("CrimsonProItalic-SemiBold"), 220 | url(https://fonts.gstatic.com/s/crimsonpro/v23/q5uBsoa5M_tv7IihmnkabARekYNwDeChrlU.woff2) 221 | format("woff2"); 222 | unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, 223 | U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, 224 | U+2215, U+FEFF, U+FFFD; 225 | } 226 | /* latin-ext */ 227 | @font-face { 228 | font-family: "Crimson Pro"; 229 | font-style: italic; 230 | font-weight: 700; 231 | font-display: swap; 232 | src: local("CrimsonProItalic-Bold"), 233 | url(https://fonts.gstatic.com/s/crimsonpro/v23/q5uBsoa5M_tv7IihmnkabARekY1wDeChrlWhBw.woff2) 234 | format("woff2"); 235 | unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, 236 | U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; 237 | } 238 | /* latin */ 239 | @font-face { 240 | font-family: "Crimson Pro"; 241 | font-style: italic; 242 | font-weight: 700; 243 | font-display: swap; 244 | src: local("CrimsonProItalic-Bold"), 245 | url(https://fonts.gstatic.com/s/crimsonpro/v23/q5uBsoa5M_tv7IihmnkabARekYNwDeChrlU.woff2) 246 | format("woff2"); 247 | unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, 248 | U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, 249 | U+2215, U+FEFF, U+FFFD; 250 | } 251 | /* latin-ext */ 252 | @font-face { 253 | font-family: "Crimson Pro"; 254 | font-style: normal; 255 | font-weight: 300; 256 | font-display: swap; 257 | src: local("CrimsonProRoman-Light"), 258 | url(https://fonts.gstatic.com/s/crimsonpro/v23/q5uDsoa5M_tv7IihmnkabARVoYF6CsKjnlQ.woff2) 259 | format("woff2"); 260 | unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, 261 | U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; 262 | } 263 | /* latin */ 264 | @font-face { 265 | font-family: "Crimson Pro"; 266 | font-style: normal; 267 | font-weight: 300; 268 | font-display: swap; 269 | src: local("CrimsonProRoman-Light"), 270 | url(https://fonts.gstatic.com/s/crimsonpro/v23/q5uDsoa5M_tv7IihmnkabARboYF6CsKj.woff2) 271 | format("woff2"); 272 | unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, 273 | U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, 274 | U+2215, U+FEFF, U+FFFD; 275 | } 276 | /* latin-ext */ 277 | @font-face { 278 | font-family: "Crimson Pro"; 279 | font-style: normal; 280 | font-weight: 400; 281 | font-display: swap; 282 | src: local("CrimsonPro-Regular"), 283 | url(https://fonts.gstatic.com/s/crimsonpro/v23/q5uDsoa5M_tv7IihmnkabARVoYF6CsKjnlQ.woff2) 284 | format("woff2"); 285 | unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, 286 | U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; 287 | } 288 | /* latin */ 289 | @font-face { 290 | font-family: "Crimson Pro"; 291 | font-style: normal; 292 | font-weight: 400; 293 | font-display: swap; 294 | src: local("CrimsonPro-Regular"), 295 | url(https://fonts.gstatic.com/s/crimsonpro/v23/q5uDsoa5M_tv7IihmnkabARboYF6CsKj.woff2) 296 | format("woff2"); 297 | unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, 298 | U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, 299 | U+2215, U+FEFF, U+FFFD; 300 | } 301 | /* latin-ext */ 302 | @font-face { 303 | font-family: "Crimson Pro"; 304 | font-style: normal; 305 | font-weight: 500; 306 | font-display: swap; 307 | src: local("CrimsonProRoman-Medium"), 308 | url(https://fonts.gstatic.com/s/crimsonpro/v23/q5uDsoa5M_tv7IihmnkabARVoYF6CsKjnlQ.woff2) 309 | format("woff2"); 310 | unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, 311 | U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; 312 | } 313 | /* latin */ 314 | @font-face { 315 | font-family: "Crimson Pro"; 316 | font-style: normal; 317 | font-weight: 500; 318 | font-display: swap; 319 | src: local("CrimsonProRoman-Medium"), 320 | url(https://fonts.gstatic.com/s/crimsonpro/v23/q5uDsoa5M_tv7IihmnkabARboYF6CsKj.woff2) 321 | format("woff2"); 322 | unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, 323 | U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, 324 | U+2215, U+FEFF, U+FFFD; 325 | } 326 | /* latin-ext */ 327 | @font-face { 328 | font-family: "Crimson Pro"; 329 | font-style: normal; 330 | font-weight: 600; 331 | font-display: swap; 332 | src: local("CrimsonProRoman-SemiBold"), 333 | url(https://fonts.gstatic.com/s/crimsonpro/v23/q5uDsoa5M_tv7IihmnkabARVoYF6CsKjnlQ.woff2) 334 | format("woff2"); 335 | unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, 336 | U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; 337 | } 338 | /* latin */ 339 | @font-face { 340 | font-family: "Crimson Pro"; 341 | font-style: normal; 342 | font-weight: 600; 343 | font-display: swap; 344 | src: local("CrimsonProRoman-SemiBold"), 345 | url(https://fonts.gstatic.com/s/crimsonpro/v23/q5uDsoa5M_tv7IihmnkabARboYF6CsKj.woff2) 346 | format("woff2"); 347 | unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, 348 | U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, 349 | U+2215, U+FEFF, U+FFFD; 350 | } 351 | /* latin-ext */ 352 | @font-face { 353 | font-family: "Crimson Pro"; 354 | font-style: normal; 355 | font-weight: 700; 356 | font-display: swap; 357 | src: local("CrimsonProRoman-Bold"), 358 | url(https://fonts.gstatic.com/s/crimsonpro/v23/q5uDsoa5M_tv7IihmnkabARVoYF6CsKjnlQ.woff2) 359 | format("woff2"); 360 | unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, 361 | U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; 362 | } 363 | /* latin */ 364 | @font-face { 365 | font-family: "Crimson Pro"; 366 | font-style: normal; 367 | font-weight: 700; 368 | font-display: swap; 369 | src: local("CrimsonProRoman-Bold"), 370 | url(https://fonts.gstatic.com/s/crimsonpro/v23/q5uDsoa5M_tv7IihmnkabARboYF6CsKj.woff2) 371 | format("woff2"); 372 | unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, 373 | U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, 374 | U+2215, U+FEFF, U+FFFD; 375 | } 376 | 377 | body { 378 | --font-text-theme: figtree, metropolis, raleway; 379 | --font-interface-theme: var(--font-text-theme); 380 | --font-serif: "Crimson Pro"; 381 | font-variant-numeric: lining-nums tabular-nums; 382 | font-variant-ligatures: none; 383 | font-weight: var(--font-light); 384 | letter-spacing: 0.02em; 385 | 386 | --font-smallest: 0.7em; 387 | --font-smaller: 0.8em; 388 | --font-small: 0.9em; 389 | --font-ui-small: 14px; 390 | --font-ui-smaller: 13px; 391 | 392 | --blockquote-border-thickness: 2px; 393 | --blockquote-border-color: var(--color-purple); 394 | 395 | --h1-size: 2.5em; 396 | --h2-size: 2em; 397 | --h3-size: 1.75em; 398 | --h4-size: 1.5em; 399 | --h5-size: 1.25em; 400 | --h6-size: 0.7em; 401 | --h1-weight: var(--font-semibold); 402 | --h2-weight: var(--font-medium); 403 | --h3-weight: var(--font-medium); 404 | --h4-weight: var(--font-medium); 405 | --h5-weight: var(--font-medium); 406 | --h1-line-height: 1.3; 407 | --h2-line-height: 1.3; 408 | --h3-line-height: 1.3; 409 | --h4-line-height: 1.3; 410 | --h5-line-height: 1.3; 411 | --h6-line-height: 0; 412 | --h1-font: inherit; 413 | --h2-font: inherit; 414 | --h3-font: inherit; 415 | --h4-font: inherit; 416 | --h5-font: inherit; 417 | --h6-font: inherit; 418 | 419 | --file-margins: var(--size-4-6) var(--size-4-12); 420 | 421 | --inline-title-weight: var(--font-semibold); 422 | 423 | --table-header-size: var(--font-normal); 424 | --table-header-weight: var(--font-medium); 425 | 426 | --embed-border-left: 0; 427 | --embed-padding: var(--size-4-4) var(--size-4-8) var(--size-4-4) 428 | var(--size-4-12); 429 | 430 | --footnote-size: var(--font-small); 431 | } 432 | 433 | .is-mobile { 434 | --file-margins: var(--size-4-6) var(--size-4-6) var(--size-4-6) 435 | var(--size-4-12); 436 | } 437 | 438 | .theme-light { 439 | --color-base-00: hsl(50, 13%, 96%); 440 | --color-base-05: hsl(50, 13%, 95%); 441 | --color-base-10: hsl(50, 13%, 94%); 442 | --color-base-20: hsl(50, 13%, 91%); 443 | --color-base-25: hsl(50, 13%, 89%); 444 | --color-base-30: hsl(50, 13%, 83%); 445 | --color-base-35: hsl(50, 13%, 73%); 446 | --color-base-40: hsl(50, 13%, 60%); 447 | --color-base-50: hsl(50, 13%, 50%); 448 | --color-base-60: hsl(50, 13%, 45%); 449 | --color-base-70: hsl(50, 13%, 35%); 450 | --color-base-100: hsl(50, 13%, 18%); 451 | --color-blue: hsl(199, 42%, 45%); 452 | --color-blue-rgb: 67, 132, 163; 453 | --color-purple: hsl(307, 26%, 40%); 454 | --color-purple-rgb: 129, 75, 122; 455 | --color-green: hsl(80, 45%, 45%); 456 | --color-green-rgb: 132, 166, 63; 457 | --color-red: hsl(346, 65%, 44%); 458 | --color-red-rgb: 186, 39, 74; 459 | --color-pink: hsl(346, 65%, 64%); 460 | --color-yellow: hsl(39, 97%, 62%); 461 | --color-yellow-lightest: hsla(41, 88%, 81%, 0.753); 462 | --color-orange: hsl(27, 82%, 57%); 463 | --color-orange-rgb: 235, 136, 55; 464 | --accent-h: 80; 465 | --accent-s: 45%; 466 | --accent-l: 45%; 467 | --color-accent-1: hsl( 468 | var(--accent-h), 469 | var(--accent-s), 470 | calc(var(--accent-l) + 5%) 471 | ); 472 | --color-accent-2: hsl( 473 | var(--accent-h), 474 | var(--accent-s), 475 | calc(var(--accent-l) + 10%) 476 | ); 477 | 478 | --text-normal: var(--color-base-100); 479 | --text-muted: var(--color-base-60); 480 | --text-faint: var(--color-base-35); 481 | 482 | --alpha-background: hsla(50, 14%, 67%, 0.2); 483 | --background-primary: var(--color-base-10); 484 | --background-secondary: var(--color-base-00); 485 | --code-block-background-color: var(--alpha-background); 486 | --code-normal: var(--color-orange); 487 | --code-background: var(--alpha-background); 488 | 489 | --blockquote-background-color: var(--alpha-background); 490 | 491 | --heading-color: var(--color-blue); 492 | --inline-title-color: var(--heading-color); 493 | --h1-color: var(--heading-color); 494 | --h2-color: var(--heading-color); 495 | --h3-color: var(--heading-color); 496 | --h4-color: var(--heading-color); 497 | --h5-color: var(--heading-color); 498 | --h6-color: var(--text-faint); 499 | 500 | --table-header-color: var(--heading-color); 501 | --table-header-background: var(--color-base-20); 502 | --table-header-background-hover: var(--color-base-20); 503 | 504 | --italic-color: var(--color-purple); 505 | --bold-color: var(--color-blue); 506 | --text-highlight-bg: var(--color-yellow-lightest); 507 | 508 | --titlebar-background-focused: var(--color-base-05); 509 | --titlebar-background: var(--color-base-05); 510 | 511 | --nav-item-color-active: var(--color-base-00); 512 | --nav-item-background-active: var(--color-accent); 513 | --nav-item-size: var(--font-ui-medium); 514 | 515 | --embed-background: var(--alpha-background); /*var(--alpha-background);*/ 516 | 517 | --code-property: var(--color-blue); 518 | --code-function: var(--color-orange); 519 | --code-keyword: var(--color-red); 520 | } 521 | 522 | /* Every p is margin block start & end, so they're useless */ 523 | 524 | p { 525 | margin-block-start: 0; 526 | margin-block-end: 0; 527 | margin-bottom: 1em; 528 | } 529 | 530 | /* Move h6's left of following content */ 531 | h6, 532 | .markdown-rendered h6 { 533 | position: relative; 534 | top: 1.15em; 535 | left: -3.5em; 536 | width: 3em; 537 | margin: 0 0; 538 | text-align: right; 539 | user-select: none; 540 | overflow: visible; 541 | } 542 | 543 | h6 .heading-collapse-indicator { 544 | display: none; 545 | } 546 | 547 | /* For h6's to work in embeds, embed padding has to change */ 548 | .markdown-embed-title { 549 | padding: var(--embed-padding); 550 | } 551 | 552 | .markdown-preview-view .markdown-embed .markdown-preview-sizer, 553 | .markdown-embed .markdown-preview-sizer { 554 | padding: var(--embed-padding); 555 | } 556 | 557 | /* Prioritize em and strong over blockquote */ 558 | span.cm-quote.cm-em { 559 | color: var(--italic-color); 560 | } 561 | 562 | span.cm-quote.cm-strong { 563 | color: var(--bold-color); 564 | } 565 | 566 | /* Prioritize em over strong */ 567 | .cm-strong.cm-em, 568 | strong em, 569 | em strong { 570 | color: var(--italic-color); 571 | } 572 | 573 | /* Internal link font weight */ 574 | .internal-link, 575 | .cm-hmd-internal-link { 576 | font-weight: 500; 577 | } 578 | 579 | /* Padding and radius around blockquotes */ 580 | .markdown-rendered blockquote, 581 | .markdown-source-view.is-live-preview .HyperMD-quote { 582 | padding: var(--size-4-4) var(--size-4-6) var(--size-4-4) var(--size-4-12); 583 | } 584 | 585 | .markdown-source-view.is-live-preview .HyperMD-quote + .HyperMD-quote { 586 | padding: 0 var(--size-4-6) var(--size-4-4) var(--size-4-12); 587 | } 588 | 589 | .markdown-rendered blockquote { 590 | border-left: 0; 591 | border-radius: var(--radius-s); 592 | } 593 | 594 | /* Math styling */ 595 | .math-block mjx-container[jax="CHTML"][display="true"] { 596 | text-align: inherit; 597 | background-color: var(--alpha-background); 598 | border-radius: var(--radius-s); 599 | padding: var(--size-4-4); 600 | width: auto; 601 | } 602 | .math { 603 | color: var(--color-orange); 604 | font-size: 1.2em; 605 | } 606 | 607 | .markdown-source-view.mod-cm6 .cm-content > .math-block { 608 | margin: 1em 0 !important; 609 | } 610 | 611 | /* Hide frontmatter in preview */ 612 | .frontmatter-container { 613 | display: none; 614 | } 615 | 616 | /* Style embeds to look like blockquotes */ 617 | .markdown-embed { 618 | border-radius: var(--radius-s); 619 | padding: 0; 620 | } 621 | .markdown-embed-content { 622 | border-radius: var(--radius-s); 623 | } 624 | .markdown-reading-view .internal-embed { 625 | margin-bottom: 1.5em; 626 | } 627 | 628 | /* Change some callout colors to match theme */ 629 | .callout, 630 | .callout[data-callout="info"], 631 | .callout[data-callout="tip"], 632 | .callout[data-callout="hint"], 633 | .callout[data-callout="important"], 634 | .callout[data-callout="abstract"], 635 | .callout[data-callout="summary"], 636 | .callout[data-callout="tldr"], 637 | .callout[data-callout="todo"] { 638 | --callout-color: var(--color-blue-rgb); 639 | } 640 | 641 | .callout[data-callout="question"], 642 | .callout[data-callout="help"], 643 | .callout[data-callout="faq"], 644 | .callout[data-callout="success"], 645 | .callout[data-callout="check"], 646 | .callout[data-callout="done"] { 647 | --callout-color: var(--color-green-rgb); 648 | } 649 | 650 | .callout[data-callout="warning"], 651 | .callout[data-callout="caution"], 652 | .callout[data-callout="attention"] { 653 | --callout-color: var(--color-orange-rgb); 654 | } 655 | 656 | .callout[data-callout="failure"], 657 | .callout[data-callout="fail"], 658 | .callout[data-callout="missing"], 659 | .callout[data-callout="danger"], 660 | .callout[data-callout="error"], 661 | .callout[data-callout="bug"] { 662 | --callout-color: var(--color-red-rgb); 663 | } 664 | 665 | .callout[data-callout="example"] { 666 | --callout-color: var(--color-purple-rgb); 667 | } 668 | 669 | /* space first paragraph in callout */ 670 | .callout-content p:first-child { 671 | margin-top: 1em; 672 | } 673 | 674 | /* Display brackets around footnotes in live */ 675 | .cm-hmd-footnote .cm-underline::before { 676 | content: "["; 677 | } 678 | 679 | .cm-hmd-footnote .cm-underline::after { 680 | content: "]:"; 681 | } 682 | 683 | /* Use font var for sup & sub sizing */ 684 | sup, 685 | sub { 686 | font-size: var(--font-smallest); 687 | } 688 | 689 | /* Add color to setting headings */ 690 | .setting-item-heading .setting-item-name { 691 | color: var(--color-blue); 692 | } 693 | 694 | /* Fix search color */ 695 | .search-result:not(.is-collapsed) .search-result-file-title { 696 | color: var(--text-normal); 697 | } 698 | 699 | /* don't double background in code block */ 700 | .markdown-rendered pre code { 701 | background-color: transparent; 702 | } 703 | 704 | /* optional altnote1 cssclass for notes */ 705 | .altnote1, 706 | .scripture, 707 | .source { 708 | --font-text-override: var(--font-serif); 709 | --font-text: var(--font-text-override), var(--font-text-theme), 710 | var(--font-interface); 711 | font-family: var(--font-serif); 712 | --h1-font: var(--font-serif); 713 | --h2-font: var(--font-serif); 714 | --h3-font: var(--font-serif); 715 | --h4-font: var(--font-serif); 716 | --h5-font: var(--font-serif); 717 | --h6-font: var(--font-serif); 718 | --inline-title-font: var(--font-serif); 719 | --inline-title-variant: small-caps; 720 | font-size: 20px; 721 | background: var(--color-base-25); 722 | } 723 | 724 | .altnote1 .cm-hmd-frontmatter, 725 | .scripture .cm-hmd-frontmatter, 726 | .source .cm-hmd-frontmatter { 727 | font-size: 0.8em; 728 | } 729 | 730 | .altnote1 pre, 731 | .scripture pre, 732 | .source pre { 733 | font-size: 1rem; 734 | } 735 | 736 | .altnote1 pre br, 737 | .scripture pre br, 738 | .source pre br { 739 | display: none; 740 | } 741 | 742 | /* optional list classes 743 | * IA1ai makes lists go from: 744 | * Upper Roman -> Upper Alpha -> Number -> Lower Alpha -> Lower Roman 745 | */ 746 | 747 | .list-IA1ai ol { 748 | list-style-type: upper-roman; 749 | } 750 | 751 | .list-IA1ai ol ol { 752 | list-style-type: upper-alpha; 753 | } 754 | 755 | .list-IA1ai ol ol ol { 756 | list-style-type: decimal; 757 | } 758 | 759 | .list-IA1ai ol ol ol ol { 760 | list-style-type: lower-alpha; 761 | } 762 | 763 | .list-IA1ai ol ol ol ol ol { 764 | list-style-type: lower-roman; 765 | } 766 | 767 | .list-IA1ai .footnotes ol { 768 | list-style-type: numeric; 769 | } 770 | -------------------------------------------------------------------------------- /.obsidian/workspace.json: -------------------------------------------------------------------------------- 1 | { 2 | "main": { 3 | "id": "062bb2dd732d5070", 4 | "type": "split", 5 | "children": [ 6 | { 7 | "id": "d95b2c2a87f48da6", 8 | "type": "tabs", 9 | "children": [ 10 | { 11 | "id": "375d5f436919fb70", 12 | "type": "leaf", 13 | "state": { 14 | "type": "markdown", 15 | "state": { 16 | "file": "1️⃣ Primary Sources/Pianka 1966.md", 17 | "mode": "source", 18 | "source": false 19 | } 20 | } 21 | }, 22 | { 23 | "id": "2a887f24fe2af383", 24 | "type": "leaf", 25 | "state": { 26 | "type": "canvas", 27 | "state": { 28 | "file": "Start here.canvas", 29 | "viewState": { 30 | "x": -120.81654660790429, 31 | "y": 1779.0211753038232, 32 | "zoom": -1.109362630577033, 33 | "snapToGrid": false 34 | } 35 | } 36 | } 37 | } 38 | ], 39 | "currentTab": 1 40 | } 41 | ], 42 | "direction": "vertical" 43 | }, 44 | "left": { 45 | "id": "705a183a696bd344", 46 | "type": "split", 47 | "children": [ 48 | { 49 | "id": "893caea0b62ba53c", 50 | "type": "tabs", 51 | "children": [ 52 | { 53 | "id": "65e9c833c39092e4", 54 | "type": "leaf", 55 | "state": { 56 | "type": "file-explorer", 57 | "state": { 58 | "sortOrder": "alphabetical" 59 | } 60 | } 61 | }, 62 | { 63 | "id": "79030114292247cd", 64 | "type": "leaf", 65 | "state": { 66 | "type": "search", 67 | "state": { 68 | "query": "Connel", 69 | "matchingCase": false, 70 | "explainSearch": false, 71 | "collapseAll": false, 72 | "extraContext": false, 73 | "sortOrder": "alphabetical" 74 | } 75 | } 76 | }, 77 | { 78 | "id": "6122b32f9984510f", 79 | "type": "leaf", 80 | "state": { 81 | "type": "starred", 82 | "state": {} 83 | } 84 | } 85 | ] 86 | } 87 | ], 88 | "direction": "horizontal", 89 | "width": 232.5 90 | }, 91 | "right": { 92 | "id": "f1027b9aeedb0cb5", 93 | "type": "split", 94 | "children": [ 95 | { 96 | "id": "f6e93ef09024c4cb", 97 | "type": "tabs", 98 | "children": [ 99 | { 100 | "id": "7832789618f5a81a", 101 | "type": "leaf", 102 | "state": { 103 | "type": "backlink", 104 | "state": { 105 | "file": "Start here.canvas", 106 | "collapseAll": false, 107 | "extraContext": false, 108 | "sortOrder": "alphabetical", 109 | "showSearch": false, 110 | "searchQuery": "", 111 | "backlinkCollapsed": false, 112 | "unlinkedCollapsed": true 113 | } 114 | } 115 | }, 116 | { 117 | "id": "5ebfab15fcc5d8d9", 118 | "type": "leaf", 119 | "state": { 120 | "type": "outgoing-link", 121 | "state": { 122 | "file": "Start here.canvas", 123 | "linksCollapsed": false, 124 | "unlinkedCollapsed": true 125 | } 126 | } 127 | }, 128 | { 129 | "id": "897d8f0c7eaed2e2", 130 | "type": "leaf", 131 | "state": { 132 | "type": "tag", 133 | "state": { 134 | "sortOrder": "frequency", 135 | "useHierarchy": true 136 | } 137 | } 138 | }, 139 | { 140 | "id": "6857a43a16461b86", 141 | "type": "leaf", 142 | "state": { 143 | "type": "outline", 144 | "state": { 145 | "file": "Start here.canvas" 146 | } 147 | } 148 | }, 149 | { 150 | "id": "ccc3dcce557eede7", 151 | "type": "leaf", 152 | "state": { 153 | "type": "calendar", 154 | "state": {} 155 | } 156 | } 157 | ], 158 | "currentTab": 4 159 | } 160 | ], 161 | "direction": "horizontal", 162 | "width": 300, 163 | "collapsed": true 164 | }, 165 | "left-ribbon": { 166 | "hiddenItems": { 167 | "dbfolder:Create a new database table": false, 168 | "switcher:Open quick switcher": false, 169 | "graph:Open graph view": false, 170 | "canvas:Create new canvas": false, 171 | "daily-notes:Open today's daily note": false, 172 | "templates:Insert template": false, 173 | "command-palette:Open command palette": false 174 | } 175 | }, 176 | "active": "2a887f24fe2af383", 177 | "lastOpenFiles": [ 178 | "Reference Manager.canvas", 179 | "Start here.canvas", 180 | "Readme.md", 181 | "👓 List of Papers.md", 182 | "4️⃣ Outlines/What defines Biodiversity.md", 183 | "1️⃣ Primary Sources/Pianka 1966.md", 184 | "📚 Reading List.md", 185 | "__Templates/Source Note.md", 186 | "1️⃣ Primary Sources/Shabanov 2022b.md", 187 | "__Templates/Outline Note.md" 188 | ] 189 | } -------------------------------------------------------------------------------- /1️⃣ Primary Sources/Connell 1964.md: -------------------------------------------------------------------------------- 1 | --- 2 | DOI: 10.1086/282335 3 | Date: 2 Dec 2022 4 | Rating: 4/5 5 | Title: The Ecological Regulation of Species Diversity 6 | ShortSummary: Primary production begets diversity. because more energy means bigger populations and more possibilities to speciate. 7 | --- 8 | #ecology 9 | 10 | *Joseph H Connell, Eduardo Orias* 11 | # The Ecological Regulation of Species Diversity 12 | 13 | 14 | > [!tldr] Summary 4/5 15 | > Primary production begets diversity. because more energy means bigger populations and more possibilities to speciate. More species leads to a feedback loop of overspecialization that makes populations more vulnerable to shifting environments. 16 | 17 | > [!quote] Quotable 18 | > In their landmark paper [Connel and Orias] identify a novel way of predicting biodiversity from primary production. 19 | 20 | 21 | ### Aim of Paper 22 | What brings about diversity? i.e. "more species" 23 | 24 | ### Insights 25 | - Niche can only be described a posteriori. 26 | - Niche as a profession and a professor is not a niche filled, but a niche **created**. 27 | - More niches does not mean more species for that reason. 28 | - Diversity is determined by amount of energy flowing through the food web. Hence, productivity may limit diversity. 29 | 30 | 31 | #### Key Theory 32 | - Living systems operate better at homeostatic conditions. 33 | 34 | - Energy available to a system (i.e. sunlight) splits into "Maintenance" and "Productivity". The first to make homeostatic conditions, the second to reproduce. 35 | - **Productivity** is stored in matter 36 | - **Maintenance** is dissipated as "heat" 37 | 38 | ![[Pasted image 20221202163803.png]] 39 | 40 | 41 | - Larger populations means more variability and this leads to the potential to create new species, if they are for example spatially or temporally isolated. Hence more energy => more Diversity. 42 | 43 | - first nutrient cycling is limited to detritus, then later something evolves to be "faster" i.e. eat nutrients right off the leaf and then something else to take advantage of these (i.e. predators). 44 | 45 | - The number of pathways for energy flow is a good indicator of stability in it. 46 | 47 | - Model deals only with equilibrium states 48 | 49 | 50 | 51 | 52 | ![[Connell 1964.pdf]] -------------------------------------------------------------------------------- /1️⃣ Primary Sources/Pianka 1966.md: -------------------------------------------------------------------------------- 1 | --- 2 | DOI: 10.1086/282398 3 | Date: 4 Dec 2022 4 | Rating: 3/5 5 | Title: Latitudinal gradients in species diversity a review of concepts 6 | ShortSummary: Primary production begets diversity. because more energy means bigger populations and more possibilities to speciate. 7 | --- 8 | #ecology #reviewpaper 9 | 10 | *Erik Pianka* 11 | # Latitudinal gradients in species diversity: a review of concepts 12 | 13 | 14 | > [!tldr] Summary 3/5 15 | > Review of 6 major theories of what causes species diversity, especially higher diversity in the tropics. But no clear answer is given which is more probable. 16 | 17 | > [!quote] Quotable 18 | > A good review of current theories on biodiversity can be found in [Pianka 1966]. 19 | 20 | 21 | - Many animal taxa display latitudinal gradients. 22 | 23 | ### Aim of paper 24 | What factors allow ecological co-existence of more species at low latitudes? 25 | Six or more hypothesis: 26 | 1. Time theory 27 | 2. Spatial heterogeneity 28 | 3. Competition hypothesis 29 | 4. Predation hypothesis 30 | 5. theory of climatic stability 31 | 6. productivity hypothesis 32 | 33 | **Ecological and Evolutionary Saturation:** Upper limits on number supported by given habitat. (with reasonable evidence that it is already true for the majority of habitats) 34 | 35 | ### 1. Time Theory 36 | All communities tend to diversify and older communities therefore are more diverse. 37 | Argument assumes that northern temperate communities had no time as they didn't exist as long (they could also have shifted and would have had the time...) 38 | Only applicable for habitats that are not yet ecologically saturated (but most are). 39 | 40 | ### 2. Theory of Spatial Heterogeneity 41 | The more rich rich the topography the more species it supports. MacArthur showed that foliage height is a good predictor of bird species diversity, while adding plant species to it, has no impact on prediction. 42 | → can only explain local diversity, not global gradients from pole to pole. 43 | 44 | ### 3. The competition hypothesis 45 | More competition → smaller niches/specialisation (as they offer an advantage) → more species 46 | In tropics drought or cold do not occur often and natural selection takes a different course in the tropics (i.e. increase competition). Because catastrophic mortality forces selection towards fecundity and accelerated development and NOT competitive ability. 47 | 48 | ### 4. Predation Hypothesis 49 | Tropics have more predators → smaller and less competing pray populations → new species can fill less competed niches → new predators can evolve → increase in species diversity. 50 | (is in direct opposition to competition hypothesis, since here less competition makes more species ) 51 | 52 | ### 5. Climatic stability 53 | stable climates → allows evolution of finer specialisation/adaptation (resources are more constant and thus no generalists needed). → niches are thus smaller → more species occupying the same area. 54 | 55 | ### 6. Productivity 56 | see [[Connell 1964]] 57 | Longer seasons in tropics might allow species to partition the environment temporally as well resulting in more species coexisting. 58 | 59 | 60 | 61 | 62 | ![[Pianka 1966.pdf]] -------------------------------------------------------------------------------- /1️⃣ Primary Sources/Shabanov 2022a.md: -------------------------------------------------------------------------------- 1 | --- 2 | DOI: 10.1038/s41467-020-14300-5 3 | Date: 10 Dec 2022 4 | Rating: 5/5 5 | Title: A novel system for academic note taking 6 | ShortSummary: Presents a system for note taking consisting of 4 parts. Sources, Compendiums, Thoughts and Ontologies. Network approach to thought structures. 7 | --- 8 | 9 | #reviewpaper 10 | 11 | *I. Shabanov* 12 | # A novel system for academic note taking 13 | 14 | 15 | > [!tldr] Summary 16 | > 1. You gather your **primary sources** and create a note per source. Try to keep it concise and always tend to your meta data, it will be of much importance once your collection grows. 17 | > 2. When you find a small "atomic" bit of information put it into a **compendium** note and keep aggregating those until they get to large. At this point split them into multiple notes. 18 | > 3. Note down questions and ideas in **thinking notes** that you have around the whole topic. Make references and comparisons to your primary sources. Do not try to answer them right away, just note. 19 | > 4. Once reading your primary sources slows down to give you new insight, move on to reviewing your thinking notes, pruning what questions are already answered or ideas invalidated. 20 | > 5. Start writing ontologies, summaries and answers to your own questions as you go. 21 | > 6. Aim at making ontologies publishable and readable - something you can send to your colleague who doesn't know about your topic yet. These ontologies will be the basis of your next publication. 22 | 23 | 24 | ## Aim of paper 25 | To develop a note taking framework that allows not to build knowledge in a consistent way. 26 | 27 | ## Key Conslusions 28 | Splitting the note taking process into 4 steps of increasing creativity. 29 | 1. Jot down findings into small chunks and sort them thematically into compendiums. 30 | 2. Ask questions about compendiums and develop thoughts. 31 | 3. Aggregate compendiums into Ontologies 32 | -------------------------------------------------------------------------------- /1️⃣ Primary Sources/Shabanov 2022b.md: -------------------------------------------------------------------------------- 1 | --- 2 | DOI: 10.1038/s41467-020-14300-5 3 | Date: 10 Dec 2022 4 | Rating: 4/5 5 | Title: A prlimenary analysis of tools for note taking 6 | ShortSummary: Microsoft Word is not connected, while Notion and Evernote have accessibility issues. 7 | --- 8 | 9 | *Shabanov et al* 10 | # A prlimenary analysis of tools for note taking 11 | 12 | 13 | > [!tldr] Summary 14 | > While MS Word is popular among academics the reasons lie in familiarity and availability, rather than quality. Notes in Word are hard to interlink and to search collectively. Evernote and Notion are two popular apps that solve a lot of the connectivity issues. The data for those resides on a server, which makes work sometimes slow, has issues with data safety and lastly hides features behind a paywall. 15 | 16 | 17 | ## Aim of paper 18 | To analyse shortcoming of MS Word, Notion and Evernote. 19 | 20 | **MS Word**: 21 | - ⛔️ Slow and "overloaded" for note taking 22 | - ⛔️ Notes reside in files that are not easy to search collectively 23 | - ⛔️ Files cannot be easily linked together. 24 | - ⛔️ Embedding of one file in another or PDFs inside word documents is not possible. 25 | - ✅ Easily accessible for most academics 26 | - ✅ Familiar and shareable to most 27 | - ✅ Own the data. It is on your PC. 28 | 29 | **Evernote, Notion:** 30 | - ⛔️ Data is stored on corporate servers 31 | - ⛔️ Dependence on being online, which leads to slow down offline. 32 | - ⛔️ Cost money for certain features (like storing bigger files or syncing multiple devices) 33 | - ⛔️ Usually a single vault or collection of notes. 34 | - ⛔️ Not easy to export all content should one decide to migrate away from these tools 35 | - ✅ Notes can be connected and files embedded 36 | - ✅ Easy to edit notes 37 | 38 | 39 | **Conclusion** 40 | 41 | While Notion and Evernote are great tools (as commercial tools should be). They have short comings. However it should be a personal choice which tool to use. 42 | 43 | Obsidian has a huge comunity and tends to be "hackable" which enables a lot of cool features that will not be available by other tools. Like creating scripts that operate directly on the data files. 44 | 45 | > I have created a variety of custom scripts that enable to import and export files and PDFs that we will cover on the [blog](https://ilyashabanov.substack.com/) shortly. 46 | 47 | 48 | ## Related 49 | 50 | How to migrate from Word & Google Docs to the SCTO system [Tweet](https://twitter.com/Artifexx/status/1606455378149273600). 51 | 52 | A bref summary of what you miss out on: [Tweet](https://twitter.com/Artifexx/status/1605931421192830976) -------------------------------------------------------------------------------- /2️⃣ Collections/Concepts/Law of Requisite Variety.md: -------------------------------------------------------------------------------- 1 | 2 | > [!NOTE] Explanation 3 | > This note is an example "concept". I find concepts to be bite-size compendium pieces, that are easy to quote and reference. Things like "laws" or "defintions" or "themes" can go as a note into Concepts. However if you find it confusing just skip it - or introduce your own classification. 4 | > Instead of folders you can also work with tags - there is indeed a debate in the community folders vs tags. Find your own way - I prefer a mixture. 5 | 6 | For Maximum stability, the variety of homeostatic responses = variety of environmental challenges (i.e. the more challenging the environment, the more complex the reg. system or organisms therein?) 7 | [[Connell 1964|Ashby 1958 in Connell 1964]] 8 | 9 | 10 | Energy available to a system (i.e. sunlight) splits into "Maintenance" and "Productivity". The first to make homeostatic conditions, the second to reproduce. 11 | - **Productivity** is stored in matter 12 | - **Maintenance** is dissipated as "heat" 13 | [[Connell 1964]] 14 | 15 | → Therefore the less energy is needed for maintenance, the more can go into reproduction. Related to increase in [[Diversity]] 16 | 17 | -------------------------------------------------------------------------------- /2️⃣ Collections/Diversity.md: -------------------------------------------------------------------------------- 1 | 2 | > [!NOTE] Explanation 3 | > This is an example compendium to the topic of Biodiversity and its origins. Note how all the different statements are linked to the original source. With some being linked to reference withing that source. 4 | > Also note that the first Block on Shannon Diversity has a small number behind it. It is because I linked this block in [[Biodiversity Mechanisms]], which is a handy way of referring to parts of the document. While this is a good way to do it, moving this block into a separate note might sometimes be problematic. 5 | 6 | Shannon diversity index: $H=-\sum_{i}\; p_i\;log\;p_i$ is most popular for estimation, as it takes into account different population sizes. [[Connell 1964]] ^6a8f55 7 | 8 | Diversity is determined by amount of energy flowing through the food web. [[Connell 1964]] 9 | 10 | 11 | increases with larger population sizes [[Connell 1964|Darwin 1859 in Connell 1964]] 12 | 13 | More abundant species of fish have more different types of parasites [[Connell 1964|Dogiel 1961 in Connell 1964]] 14 | 15 | Increased stability of complex food webs result in an increased diversity of species. [[Connell 1964]] 16 | 17 | Increased stability of complex food webs result in an increased diversity of species. [[Connell 1964|Hutchinson 1959 in Connell 1964]] (bc the quicker something response to a change in homeostatic variables, the smaller the amplitude of the change.) 18 | 19 | 20 | The larger an organism is the more mobile and therefore less likely to speciate and diversify. Therefore smaller organisms have more species [[Connell 1964]] 21 | 22 | More complex, more diverse ecosystems have lower ratio of primary production (i.e. sun energy) to total biomass (i.e. net production). [[Connell 1964]] 23 | 24 | More complex, more diverse ecosystems have lower ratio of primary production (i.e. sun energy) to total biomass (i.e. net production). [[Connell 1964|Margalef 1963 in Connell 1964]] 25 | 26 | Animals in more productive communities are more sedentary so that species tend to be broken in different sub-populations and thus can speciate more readily [[Connell 1964]] 27 | 28 | 29 | -------------------------------------------------------------------------------- /3️⃣ Thoughts/Biodiversity Mechanisms.md: -------------------------------------------------------------------------------- 1 | 2 | > [!NOTE] Explanation 3 | > This is an example Thoughts note on the idea of biodiversity. Here I write down questions and ideas as they come along - they are the seeds to create an ontology. For example the question posed here could become an ontology titled "The development of the concept of biodiversity since the 60s" and more or less answer it. 4 | > 5 | > The more you write down here, the more "critical" your thinking becomes. It is a good exercise in creativity to jot down ideas as soon as they come. 6 | 7 | # Questions 8 | 9 | In [[Pianka 1966]] 6 different hypothesis (time, spatial, competition, predation, climate and productivity) are analysed regarding biodiversity. But this was back in 1966 - what happened in the meantime? 10 | 11 | 12 | # Ideas 13 | 14 | While biodiversity is measured using the [[Diversity#^6a8f55|Shanon Index]] this only applies to measuring the abundance of individuals. But could we instead measure genetic diversity? The definition of a species is anyway not very clear in biology. 15 | 16 | -------------------------------------------------------------------------------- /4️⃣ Outlines/What defines Biodiversity.md: -------------------------------------------------------------------------------- 1 | 2 | > [!NOTE] Explanation 3 | > This is a small example of an ontology that refers to factual pieces from the [[Diversity]] compendium. The sources in the ontology are however primary sources. So that it becomes directly a publishable piece of document. 4 | > It is of course hard to write anything sensible on a broad topic as biodiversity with only 2 primary sources - but it is a start. 5 | 6 | 7 | Different ideas have been proposed through the years for what defines biodiversity [[Pianka 1966]]. However the short answer at this point is we do not know. It depends on what scale we look at. On a global scale it seems that simply latitude is a great predictor of biodiversity. On a local scale [[Connell 1964]] suggest that the amount of sunlight or primary production might be the corresponding quantity to look for. 8 | 9 | *and so on and so forth...* 10 | 11 | 12 | 💡 Here is a method on how to list citations in this note, check out [[Dataview Templates#1. Creating Citations from your ontologies|this tutorial]] if you want to generate proper citations to be used in a journal for example. 13 | 14 | ## References 15 | 16 | ```dataview 17 | TABLE without id DOI FROM outgoing([[]]) AND "1️⃣ Primary Sources" 18 | ``` 19 | -------------------------------------------------------------------------------- /Dataview Templates.md: -------------------------------------------------------------------------------- 1 | 2 | > [!NOTE] Explanation 3 | > This file contains some snippets from dataview plugin that you can use in various parts of the system. It is here for reference. 4 | 5 | 6 | # 1. Creating Citations from your ontologies 7 | 8 | Template for pulling all citations from the "1️⃣ Primary Sources" folder that I reference in this note. For example if I linke [[Connell 1964]] it will show up in the table below. 9 | 10 | ```dataview 11 | TABLE DOI FROM outgoing([[]]) AND "1️⃣ Primary Sources" 12 | ``` 13 | If you only want the DOI, use this snippet: 14 | 15 | ```dataview 16 | TABLE WITHOUT ID DOI FROM outgoing([[]]) AND "1️⃣ Primary Sources" 17 | ``` 18 | This allows you to copy paste a list of referenced DOIs. 19 | 20 | Paste your DOI list to [Bibtex](https://www.bibtex.com/c/doi-to-bibtex-converter/) to generate a list of citations in the correct format. 21 | 22 | Here is a tweet that has all the details: 23 |