Compare commits

...

33 Commits

Author SHA1 Message Date
oskar 8024ed17b4 MacBook-Pro-de-Oscar.local 2026-6-11:0:35:19 2026-06-11 00:35:19 +02:00
oskar 5141bf6508 MacBook-Pro-de-Oscar.local 2026-6-10:19:27:55 2026-06-10 19:27:55 +02:00
oskar af7dc45db0 MacBook-Pro-de-Oscar.local 2026-6-10:17:27:54 2026-06-10 17:27:54 +02:00
oskar bc15c851be MacBook-Pro-de-Oscar.local 2026-6-10:15:27:54 2026-06-10 15:27:54 +02:00
oskar a05fadfc75 MacBook-Pro-de-Oscar.local 2026-6-10:3:16:12 2026-06-10 03:16:13 +02:00
oskar 779cfecf28 MacBook-Pro-de-Oscar.local 2026-6-9:1:48:5 2026-06-09 01:48:05 +02:00
oskar 2e3ad73faf MacBook-Pro-de-Oscar.local 2026-6-8:21:48:4 2026-06-08 21:48:04 +02:00
oskar 3040f5c7ea MacBook-Pro-de-Oscar.local 2026-6-8:1:51:52 2026-06-08 01:51:52 +02:00
oskar 2d1a43d447 MacBook-Pro-de-Oscar.local 2026-6-8:0:51:52 2026-06-08 00:51:52 +02:00
oskar 308b7ba5d3 MacBook-Pro-de-Oscar.local 2026-6-7:22:51:52 2026-06-07 22:51:52 +02:00
oskar c4ce611a63 MacBook-Pro-de-Oscar.local 2026-6-7:20:51:52 2026-06-07 20:51:52 +02:00
oskar 3079b4854c MacBookPro.lan 2026-6-6:23:23:47 2026-06-06 23:23:47 +02:00
oskar f575ec76ff MacBookPro.lan 2026-6-6:22:23:47 2026-06-06 22:23:47 +02:00
oskar ab29549a71 MacBookPro.lan 2026-6-6:21:23:47 2026-06-06 21:23:47 +02:00
oskar 15f4b20152 MacBookPro.lan 2026-6-6:20:23:47 2026-06-06 20:23:47 +02:00
oskar 3f088fc13d MacBookPro.lan 2026-6-6:19:23:47 2026-06-06 19:23:47 +02:00
oskar 6337e0e32e MacBookPro.lan 2026-6-5:18:2:16 2026-06-05 18:02:16 +02:00
oskar 17d6cff644 MacBookPro.lan 2026-6-5:1:5:57 2026-06-05 01:05:58 +02:00
oskar 3926ea5536 MacBookPro.lan 2026-6-4:18:34:1 2026-06-04 18:34:01 +02:00
oskar c36ea200bb MacBook-Pro-de-Oscar.local 2026-6-3:22:7:20 2026-06-03 22:07:20 +02:00
oskar aa3f49c476 MacBook-Pro-de-Oscar.local 2026-6-3:18:37:44 2026-06-03 18:37:45 +02:00
oskar 1f889a4459 MacBook-Pro-de-Oscar.local 2026-6-3:3:10:33 2026-06-03 03:10:34 +02:00
oskar 937bef48f5 MacBook-Pro-de-Oscar.local 2026-6-3:2:10:34 2026-06-03 02:10:34 +02:00
oskar c1dfba0c57 MacBookPro.lan 2026-5-31:20:45:58 2026-05-31 20:45:59 +02:00
oskar 2608232f5b MacBookPro.lan 2026-5-31:19:45:55 2026-05-31 19:45:55 +02:00
oskar f3252e2341 MacBookPro.lan 2026-5-31:18:45:55 2026-05-31 18:45:55 +02:00
oskar d7291bd730 MacBookPro.lan 2026-5-31:17:45:55 2026-05-31 17:45:55 +02:00
oskar 285872340f MacBookPro.lan 2026-5-31:16:45:55 2026-05-31 16:45:55 +02:00
oskar 12797b14e9 MacBookPro.lan 2026-5-31:15:45:55 2026-05-31 15:45:55 +02:00
oskar 3110cf066a MacBookPro.lan 2026-5-31:14:45:55 2026-05-31 14:45:55 +02:00
oskar 7e26ea4279 MacBookPro.lan 2026-5-30:15:15:45 2026-05-30 15:15:45 +02:00
oskar 9f0e6503ba MacBookPro.lan 2026-5-29:22:59:30 2026-05-29 22:59:31 +02:00
oskar 93e929944d MacBookPro.lan 2026-5-29:20:58:21 2026-05-29 20:58:22 +02:00
73 changed files with 3403 additions and 4803 deletions
+1 -2
View File
@@ -26,7 +26,6 @@
"pdf-plus", "pdf-plus",
"breadcrumbs", "breadcrumbs",
"obsidian-day-planner", "obsidian-day-planner",
"obsidian-advanced-slides",
"calendar", "calendar",
"obsidian-completr", "obsidian-completr",
"dataview", "dataview",
@@ -42,5 +41,5 @@
"obsidian-pandoc", "obsidian-pandoc",
"break-page", "break-page",
"obsidian-list-callouts", "obsidian-list-callouts",
"better-export-pdf" "math-in-callout"
] ]
+1 -1
View File
@@ -130,6 +130,6 @@
"repelStrength": 5.263671875, "repelStrength": 5.263671875,
"linkStrength": 1, "linkStrength": 1,
"linkDistance": 30, "linkDistance": 30,
"scale": 0.1345612381098431, "scale": 0.31211118817502304,
"close": true "close": true
} }
+69 -10
View File
@@ -27,6 +27,9 @@
}, },
{ {
"label": "part" "label": "part"
},
{
"label": "sibling"
} }
], ],
"edge_field_groups": [ "edge_field_groups": [
@@ -49,7 +52,8 @@
{ {
"label": "sames", "label": "sames",
"fields": [ "fields": [
"same" "same",
"sibling"
] ]
}, },
{ {
@@ -152,7 +156,8 @@
"default_neighbour_field": "" "default_neighbour_field": ""
}, },
"tag_note": { "tag_note": {
"default_field": "up" "default_field": "up",
"default_sibling_field": ""
}, },
"regex_note": { "regex_note": {
"default_field": "up" "default_field": "up"
@@ -161,18 +166,52 @@
"enabled": false, "enabled": false,
"delimiter": ".", "delimiter": ".",
"default_field": "up", "default_field": "up",
"display_trimmed": false "display_trimmed": false,
"default_sibling_field": ""
}, },
"johnny_decimal_note": { "johnny_decimal_note": {
"enabled": false, "enabled": false,
"delimiter": ".", "delimiter": ".",
"default_field": "up" "default_field": "up",
"default_sibling_field": ""
}, },
"date_note": { "date_note": {
"enabled": false, "enabled": false,
"date_format": "yyyy-MM-dd", "date_format": "yyyy-MM-dd",
"default_field": "next", "default_field": "next",
"stretch_to_existing": false "stretch_to_existing": false,
"week_start": "monday",
"week": {
"enabled": false,
"date_format": "kkkk-'W'WW",
"folder": "",
"next_field": "next",
"up_field": "up"
},
"month": {
"enabled": false,
"date_format": "yyyy-MM",
"folder": "",
"next_field": "next",
"up_field": "up"
},
"quarter": {
"enabled": false,
"date_format": "yyyy-'Q'q",
"folder": "",
"next_field": "next",
"up_field": "up"
},
"year": {
"enabled": false,
"date_format": "yyyy",
"folder": "",
"next_field": "next",
"up_field": "up"
}
},
"traverse_note": {
"default_field": "up"
} }
}, },
"views": { "views": {
@@ -188,7 +227,7 @@
"default_depth": 999, "default_depth": 999,
"no_path_message": "", "no_path_message": "",
"show_controls": false, "show_controls": false,
"merge_fields": false, "merge_fields": true,
"field_group_labels": [ "field_group_labels": [
"ups" "ups"
], ],
@@ -210,8 +249,15 @@
"prevs" "prevs"
], ],
"next": [ "next": [
"nexts" "nexts",
"sames"
] ]
},
"period_rows": {
"week": false,
"month": false,
"quarter": false,
"year": false
} }
} }
}, },
@@ -240,7 +286,7 @@
"prevs" "prevs"
], ],
"lock_view": false, "lock_view": false,
"lock_path": "désintégration audioactive.md", "lock_path": "anneau.md",
"custom_sort_fields": false, "custom_sort_fields": false,
"custom_sort_field_labels": [] "custom_sort_field_labels": []
}, },
@@ -249,8 +295,9 @@
"show_attributes": [], "show_attributes": [],
"merge_fields": false, "merge_fields": false,
"lock_view": false, "lock_view": false,
"lock_path": "désintégration audioactive.md", "lock_path": "anneau intègre.md",
"field_group_labels": [ "field_group_labels": [
"ups",
"downs" "downs"
], ],
"edge_sort_id": { "edge_sort_id": {
@@ -261,7 +308,12 @@
"ext": false, "ext": false,
"folder": false, "folder": false,
"alias": false "alias": false
} },
"default_depth": 5,
"find_root": true,
"find_root_field_group_labels": [
"ups"
]
} }
}, },
"codeblocks": { "codeblocks": {
@@ -322,5 +374,12 @@
}, },
"debug": { "debug": {
"level": "INFO" "level": "INFO"
},
"self_is_sibling": [
"same"
],
"_bc_migrations": {
"tree_ups_with_downs_default": true,
"tree_find_root_default": true
} }
} }
+641 -93
View File
File diff suppressed because one or more lines are too long
+10 -7
View File
@@ -1,12 +1,15 @@
{ {
"id": "breadcrumbs", "id": "breadcrumbs",
"name": "Breadcrumbs", "name": "Breadcrumbs",
"version": "4.5.0", "version": "4.14.2",
"minAppVersion": "1.0.0", "minAppVersion": "1.12.3",
"description": "Add structured hierarchies to your notes", "description": "Add structured hierarchies to your notes.",
"author": "SkepticMystic", "author": "MichaelPPorter",
"authorUrl": "https://github.com/SkepticMystic/breadcrumbs", "authorUrl": "https://github.com/michaelpporter",
"fundingUrl": "https://github.com/SkepticMystic/breadcrumbs#donations", "fundingUrl": {
"helpUrl": "https://publish.obsidian.md/breadcrumbs-docs", "GitHub Sponsors": "https://github.com/sponsors/michaelpporter",
"Buy Me a Coffee": "https://www.buymeacoffee.com/michaelpporter"
},
"helpUrl": "https://breadcrumbs-docs.michaelpporter.com",
"isDesktopOnly": false "isDesktopOnly": false
} }
+2 -1
View File
@@ -1 +1,2 @@
.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.\!collapse{visibility:collapse!important}.collapse{visibility:collapse}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.bottom-2{bottom:.5rem}.left-2{left:.5rem}.right-2{right:.5rem}.top-2{top:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-2{margin-top:.5rem;margin-bottom:.5rem}.mb-1{margin-bottom:.25rem}.mb-4{margin-bottom:1rem}.block{display:block}.flex{display:flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-square{aspect-ratio:1/1}.h-32{height:8rem}.w-10{width:2.5rem}.w-48{width:12rem}.w-60{width:15rem}.w-8{width:2rem}.w-full{width:100%}.shrink{flex-shrink:1}.grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.scroll-mt-40{scroll-margin-top:10rem}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-7{gap:1.75rem}.border{border-width:1px}.p-1{padding:.25rem}.p-2{padding:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.pl-2{padding-left:.5rem}.pl-4{padding-left:1rem}.pr-10{padding-right:2.5rem}.pr-2{padding-right:.5rem}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-semibold{font-weight:600}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.BC-matrix-view hr:last-child{display:none}.BC-page-views.BC-page-views-sticky{z-index:50;position:sticky;top:calc(var(--file-margins)*-1);background-color:var(--background-primary)}.text-faint{color:var(--text-faint)}.text-warning{color:var(--text-warning)}.text-error{color:var(--text-error)} /*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.container{width:100%}.mx-auto{margin-inline:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.list-item{display:list-item}.table{display:table}.aspect-square{aspect-ratio:1}.w-full{width:100%}.flex-1{flex:1}.shrink{flex-shrink:1}.grow{flex-grow:1}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.border{border-style:var(--tw-border-style);border-width:1px}.text-left{text-align:left}.text-right{text-align:right}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.opacity-20{opacity:.2}.opacity-60{opacity:.6}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.BC-matrix-view hr:last-child{display:none}.BC-page-views{pointer-events:none}.BC-page-views *{pointer-events:auto}.BC-page-views.BC-page-views-sticky{z-index:50;top:calc(var(--file-margins) * -1);background-color:var(--background-primary);position:sticky}.cm-scroller.BC-cm-scroller-inline-page-views:not(.banner-view-active){flex-wrap:wrap;align-content:flex-start}.cm-scroller.BC-cm-scroller-inline-page-views>.BC-page-views{box-sizing:border-box;flex:none;align-self:stretch;width:100%;max-width:100%}.cm-scroller.BC-cm-scroller-inline-page-views.banner-view-active>.cm-gutters{display:none}:root .cm-scroller.BC-cm-scroller-inline-page-views.banner-view-active>.banner-wrapper{width:100%;max-width:100%;margin-left:0;margin-right:0}:root .cm-scroller.BC-cm-scroller-inline-page-views.banner-view-active>.cm-sizer{width:100%;max-width:100%;margin-left:auto;margin-right:auto}.cm-scroller.BC-cm-scroller-inline-page-views>.banner-image{pointer-events:none;position:absolute}.markdown-source-view>.BC-page-views{width:100%;max-width:100%}.markdown-source-view.is-readable-line-width>.BC-page-views,.markdown-source-view.is-readable-line-width .BC-page-views-inner{max-width:var(--file-line-width);margin-left:auto;margin-right:auto}.markdown-source-view:not(.is-readable-line-width)>.BC-page-views.BC-page-views-sticky{max-width:700px;margin-left:auto;margin-right:auto}.markdown-source-view.is-readable-line-width .cm-scroller.BC-cm-scroller-inline-page-views.banner-view-active>.cm-sizer{max-width:700px}.markdown-source-view.is-readable-line-width .cm-scroller.BC-cm-scroller-inline-page-views.banner-view-active>.BC-page-views{max-width:700px;margin-left:auto;margin-right:auto}.text-faint{color:var(--text-faint)}.text-warning{color:var(--text-warning)}.text-error{color:var(--text-error)}.BC-prev-next-view .BC-next-prev-item{padding:.25rem}.BC-prev-next-view .BC-next-prev-item .BC-field{padding-left:.25rem;padding-right:.25rem}.BC-search-input-container{padding:var(--size-2-2) var(--size-4-2)}.BC-search-input-container input[type=search]{width:100%}.BC-codeblock-markmap svg foreignObject div{color:var(--text-normal)}.bc-date-note-setup-warning{background:var(--background-modifier-error);color:var(--text-error);border-radius:4px;margin-bottom:12px;padding:8px 12px}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
File diff suppressed because one or more lines are too long
+2 -2
View File
@@ -1,8 +1,8 @@
{ {
"id": "default-template", "id": "default-template",
"name": "Default Template", "name": "Default Template",
"version": "1.2.4", "version": "1.2.6",
"minAppVersion": "0.15.0", "minAppVersion": "1.4.10",
"description": "Automatically apply templates to new notes with user-configurable template selection.", "description": "Automatically apply templates to new notes with user-configurable template selection.",
"author": "raeperd", "author": "raeperd",
"authorUrl": "https://github.com/raeperd", "authorUrl": "https://github.com/raeperd",
+2 -1
View File
@@ -534,7 +534,8 @@
"micrometa", "micrometa",
"obsidan_export", "obsidan_export",
"pocket", "pocket",
"-#s" "-#s",
"o"
], ],
"rootPropertyOrder": [] "rootPropertyOrder": []
} }
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1,7 +1,7 @@
{ {
"id": "obsidian-day-planner", "id": "obsidian-day-planner",
"name": "Day Planner", "name": "Day Planner",
"version": "0.28.0", "version": "0.30.0",
"minAppVersion": "0.16.0", "minAppVersion": "0.16.0",
"description": "A day planner with clean UI and readable syntax", "description": "A day planner with clean UI and readable syntax",
"author": "James Lynch, continued by Ivan Lednev", "author": "James Lynch, continued by Ivan Lednev",
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -3,7 +3,7 @@
"snippetVariables": "{\n\t\"${GREEK}\": \"alpha|beta|gamma|Gamma|delta|Delta|epsilon|varepsilon|zeta|eta|theta|vartheta|Theta|iota|kappa|lambda|Lambda|mu|nu|xi|omicron|pi|rho|varrho|sigma|Sigma|tau|upsilon|Upsilon|phi|varphi|Phi|chi|psi|omega|Omega\",\n\t\"${SYMBOL}\": \"parallel|perp|partial|nabla|hbar|ell|infty|oplus|ominus|otimes|oslash|square|star|dagger|vee|wedge|subseteq|subset|supseteq|supset|emptyset|exists|nexists|forall|implies|impliedby|iff|setminus|neg|lor|land|bigcup|bigcap|cdot|times|simeq|approx\",\n\t\"${MORE_SYMBOLS}\": \"leq|geq|neq|gg|ll|equiv|sim|propto|rightarrow|leftarrow|Rightarrow|Leftarrow|leftrightarrow|to|mapsto|cap|cup|in|sum|prod|exp|ln|log|det|dots|vdots|ddots|pm|mp|int|iint|iiint|oint\"\n}\n", "snippetVariables": "{\n\t\"${GREEK}\": \"alpha|beta|gamma|Gamma|delta|Delta|epsilon|varepsilon|zeta|eta|theta|vartheta|Theta|iota|kappa|lambda|Lambda|mu|nu|xi|omicron|pi|rho|varrho|sigma|Sigma|tau|upsilon|Upsilon|phi|varphi|Phi|chi|psi|omega|Omega\",\n\t\"${SYMBOL}\": \"parallel|perp|partial|nabla|hbar|ell|infty|oplus|ominus|otimes|oslash|square|star|dagger|vee|wedge|subseteq|subset|supseteq|supset|emptyset|exists|nexists|forall|implies|impliedby|iff|setminus|neg|lor|land|bigcup|bigcap|cdot|times|simeq|approx\",\n\t\"${MORE_SYMBOLS}\": \"leq|geq|neq|gg|ll|equiv|sim|propto|rightarrow|leftarrow|Rightarrow|Leftarrow|leftrightarrow|to|mapsto|cap|cup|in|sum|prod|exp|ln|log|det|dots|vdots|ddots|pm|mp|int|iint|iiint|oint\"\n}\n",
"snippetsEnabled": true, "snippetsEnabled": true,
"snippetsTrigger": "Tab", "snippetsTrigger": "Tab",
"snippetNextTabstopTrigger": "Shift-RightArrow", "snippetNextTabstopTrigger": "Tab",
"snippetPreviousTabstopTrigger": "Shift-Tab", "snippetPreviousTabstopTrigger": "Shift-Tab",
"suppressSnippetTriggerOnIME": true, "suppressSnippetTriggerOnIME": true,
"suppressIMEWarning": false, "suppressIMEWarning": false,
+1 -1
View File
@@ -5,7 +5,7 @@
{ {
"id": 1, "id": 1,
"name": "Ma bibliothèque", "name": "Ma bibliothèque",
"lastUpdate": 1780002280261 "lastUpdate": 1780077499649
} }
], ],
"renderCitations": true, "renderCitations": true,
File diff suppressed because one or more lines are too long
+3 -3
View File
@@ -1,11 +1,11 @@
{ {
"id": "obsidian42-brat", "id": "obsidian42-brat",
"name": "BRAT", "name": "BRAT",
"version": "2.0.4", "version": "2.0.8",
"minAppVersion": "1.11.4", "minAppVersion": "1.11.4",
"description": "Easily install a beta version of a plugin for testing.", "description": "Easily install plugin beta versions for testing.",
"author": "TfTHacker", "author": "TfTHacker",
"authorUrl": "https://github.com/TfTHacker/obsidian42-brat", "authorUrl": "https://github.com/TfTHacker",
"helpUrl": "https://tfthacker.com/BRAT", "helpUrl": "https://tfthacker.com/BRAT",
"isDesktopOnly": false, "isDesktopOnly": false,
"fundingUrl": { "fundingUrl": {
+32 -2
View File
@@ -111,12 +111,12 @@
/* Hide filtered plugin items */ /* Hide filtered plugin items */
.brat-plugin-item[hidden] { .brat-plugin-item[hidden] {
display: none !important; display: none;
} }
/* Hide filtered theme items */ /* Hide filtered theme items */
.brat-theme-item[hidden] { .brat-theme-item[hidden] {
display: none !important; display: none;
} }
/* Filter and button layout */ /* Filter and button layout */
@@ -150,3 +150,33 @@
.brat-filter-and-button .setting-item-control { .brat-filter-and-button .setting-item-control {
justify-content: flex-end; justify-content: flex-end;
} }
.brat-full-width-input {
width: 100%;
}
.brat-modal-divider {
border-top: 1px solid var(--background-modifier-border);
margin-top: 30px;
}
.brat-credits {
font-style: italic;
}
.brat-promotional-links {
float: right;
}
.brat-promotional-links-modal {
padding: 10px 15px;
}
.brat-promotional-links-settings {
padding: 15px;
margin-left: 15px;
}
.brat-promotional-links-coffee {
padding-left: 10px;
}
+3 -1
View File
@@ -100,6 +100,8 @@
"date-birth": "date", "date-birth": "date",
"date-death": "date", "date-death": "date",
"excerpt_of": "multitext", "excerpt_of": "multitext",
"part": "multitext" "part": "multitext",
"BC-tag-note-sibling-field": "text",
"BC-traverse-note-field": "text"
} }
} }
@@ -7,7 +7,9 @@ tags: [excalidraw]
==⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠== ==⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠==
# Text Elements # Excalidraw Data
## Text Elements
Reset ^RoHLK7dp Reset ^RoHLK7dp
Set ^NORclDsY Set ^NORclDsY
@@ -15,662 +17,54 @@ Set ^NORclDsY
Sense ^1Hgsf293 Sense ^1Hgsf293
%% %%
# Drawing ## Drawing
```json ```compressed-json
{ N4KAkARALgngDgUwgLgAQQQDwMYEMA2AlgCYBOuA7hADTgQBuCpAzoQPYB2KqATLZMzYBXUtiRoIACyhQ4zZAHoFAc0JRJQgEYA6bGwC2CgF7N6hbEcK4OCtptbErHALRY8RMpWdx8Q1TdIEfARcZgRmBShcZQUebR44gAYaOiCEfQQOKGZuAG1wMFAwYogSbggAWQBmZgBxAA4ATQAJTAAtAE5mZQQASQA1ACtBgFEARQAZAEEU4shYRHKgojkk
"type": "excalidraw",
"version": 2, fhLMbmd6gFZtAEYeeo7EgDYeHfXIGC2eU/2DgHYdx/rDy4LIChJ1bkPT7SnRI7AAsp3qzyuUgQhGU0j+HUe2mO9RBVUhnwg1mUwW4iShzCgpDYAGsEABhNj4NikcoAYn2CEZjNmJU0uGwJOUxKEHGIlOptIkROszDguECWVZkAAZoR8PgAMqwXESQQeaUQQnEskAdR+km4fEx2tJCGVMFV6HVZShPLhHHCOTQ+yhbHF2DUNxdiXxmO5wjgvWIztQ
"source": "https://github.com/zsviczian/obsidian-excalidraw-plugin/releases/tag/2.0.16",
"elements": [ uQAulCZeQMsHuBwhAq7cI+Y7mKGinNoPBxLxPgBfAkIBDEbgdDpVfaJR6PRL1KGMFjsLgul4NpisTgAOU4Ym4Ow6dyqFwSUMIzAAImkoCXuDKCGEoZoU8QRsEMllQ/k5oVPiUyhI2o1egAVRLYDpsWqaLvYHa4BCSBDOfaKxrSkoLXNY0jEqh7ws90zLMD3QABVKB9mYEkAGlEjGCdGE0AAxU4AH1Bl6AB5ZQeFqD95hzcoJT/CAAM+SNMSEOBiF
{
"id": "M3sG8YHxZ9sgeIVjjEQLA", wGdSxdV5Eh4KoOhBZ40SqKEiA4El40TfBuLYTlZzQed8EXTFCD5LBiOSKFJFCE8sCgCZpL4sSFwQApAOKYDSgY9BSEaE9SAAIWYfYKA6QZXzgAAlIQdn2AAFMDmkVTUv3KHi1kxTY0CqP0s29VBnBYh4qgHdEPizb5iF+NBHgeAd9keDpwQxLMn1heE0DubQTnqHhEkrC4oWxK1gpKU0yQFGl6WZJk/KzdlOQDXl+SpBrhXIDgxQlTIoE1OUFQtK
"type": "ellipse",
"x": -85.12890625, 0tSpW0TSJM19QSw18oJWayXG78bVLZM/EkNNQ1dTF3Q5L0/l9KEOqDEM8korNo1wWNDITJNMR5VMnX4p6szCUTUH2VESseFj6nrTFG07Fsfp2WKSlB5sew4PtAqqdi2JBUEx0nadvvEyTWpXNd0iGrdrpKajaPov4mJYtiOKqLjMR4jTUEewT6eEslDOxhAoTgNhpOyPI923HdqrmRI92J4ohbmEEQUBeooorLLhfFq4wCl4pku0VL0syqG5nCgE
"y": -261.17578125,
"width": 126.60546875, ipKsqdnFijuNCKBKX0fQ1HolzealNB1c17WMohPWwANwq62N95zZmiUoDM6THA4ZR3pZrNMmIEO+WkiO0GZ5ag6mX82AoJ9cAegSoRjtO/yznOPv3GSAvQXB9k1RTmGUzBVPUuctO5qkYGUTgm4k7Til03cQMMiB7LYZoJhgx5iDgLyiOFFTNXLl8K20EE0vdpXri2ILEm0R4QR4X614geLEtQF4tfLNidjOeXooPnK4WG/K9axcOquWnUKW6oV0
"height": 197.8984375,
"angle": 0, AZZqWSXDkuQvS6oKcoIp+riklMNKM8olQqnWlNTaM137zWPsaT6K1zRwPKBtTU9odpvRdG6D0x0fQiwgOdYMRMowxj6MXKOJQgG7UjkWb6bwMpomcqcdsTYO5JTITDbsvZcxVhBPUU46J5YgnRlOYI5NNJdyXHjdchMBY7mAvuAeZk4C1HoKQfQWjcD1AAI5GLgCSIQmBJCSDYPOAi2ZFgSBIhnMiO58wByzKTOi300r1GYqxdioJabcUbknXOrM
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent", RIc2bpiGc9dyj2XCAgKBz1KB1wfugeJYQkk3U4FARUhAjC5hKlGHJyE7rylCvtLMMSoBTCIMocGEBggyiydDJgUBzAEFqbCBpUB3SanZGEXyfxgZZj0FkXA0kmBxlCSXSANJYTSQIKkuJCSWmQF8s0GE98/jxCfrgIQvSMn5NzESIQXNMQ11SWpXinccal2ILJRxPAXFgF7vpUCEAtE6L0QY4xpjzGWOsbYqE3lHHpyoFCee+wZbxDeOVTEoVwoD
"fillStyle": "solid",
"strokeWidth": 2, kKqcURaID5H0WhDOIe8PYKS2XlXg9QtboirIrPZL9cxkNqh/EBEgf5NX6QAjqfJ6pf2gH1AakCRowLWtghBmoaUoKxWgmqGC+VqgFVtB0BCfpEKOrAE6ZCKGXWdhLCAt17rMOeiuJhMz6ECGLIZZ4HRnKHEHNwsGfwkaWthkI7gqMOhvF8WcaRmNIkKMxMuTq+MNz8zVVCTxcifqU38TTOmWYGbasjWzLGUSsw8z5luQWe4wAi2KGLHcEs1apqOC
"strokeStyle": "solid",
"roughness": 1, S5KiRyW+l9NC1WYA807FJYWmKKsU07jAPsHYOL96e3LcSytBbyVmzmOq/Altra2xkCWB2fNVFzEbc2vFe4K1Vq7T2lOpBg6hwTtwdREB9BsAeeUGkmg1AfgwMorI0z0nD1HuPSeqsNWEEwMOx2aT1ZpqXqVMRpx0ogl9L45ya8M1n3uLTEqA4Oj7DYsVbtPc858jjmHROTMwnoNTuCouxFwWanzohkIdCxxl2IlUauSkVLXMZpzHS6x3kD0GCeeo
"opacity": 100,
"groupIds": [], 2A4ATkwHAZwpAeBjBgsQDgSpNAyl6GwKeDj0BDMhVsNKcQJEnHOE/RFCQOiFUeKcHYYmoSYoRHsZ4rEzjwuygStJebWKohihVSleI35mjZY1X+LU2TMqASZ3qooIFDR5WNLBkqNRGb1AaI0rnMGWngS5nV209VyoOsQxVpCzo8gulQzEmraHRoYbq2VycTRGr+MvNEhxaz8I7M2a1jxbWCPhsI8R0LZOgi4VJDGsi42etxj6w9/qwzqqDd40N1NA
"frameId": null,
"roundness": { kRpKFG/VQkIm3POQmu9yadwPvTWm2tQ3c3Ep0+i1t2mnXTbG3MB9wHlOVtE+pncs3dPPDA2AXt/aDCDvtnesdxRlvb1W2pz2m35vzsDouqDK6uuYhjg98OsWBBREXQXDOSGnvRz5N9zOGH3ulGw44kEeHa4EZCagTmLd8Bt14bDrSJGChkfKEeU855LzXlvPeR8z5XzvhBdPCuKGBNoDBNvaFW3xO3ESA8disn5OYkU0lOIQId64tvpp7gQV4jpR
"type": 2
}, 4KvClOIqWees9/Jqf8vWWZXBLjltnBpSmgY57z/LfPoOQe5paSCzQSutFKvzMr0x/HlZ6ELP1Tr+nC5Qq61C7oxb+3FzqAXEufWSy6FeAMZOHDy+DfYQU/dwwRrwKswJG2NpGfuCriSqt3MgN6vkvqVEBqojRLxhkfF+Na5xYJNynfrNjR6+PEBE2bhOzm+tI3M23fG/W3e2hhxwtbTX4o2aH0A0BNWXeLay3OH5zwQXwudt7cJAOu2t7R3Oz3J3
"seed": 993107708,
"version": 156, znPep07n71vQfg5h+17FUHV7MG10bq3RIHde7L1pD9ceyoNQGgtHaF0HoAxhjjGmPuuUN7iAjqdmGVNW9L4M7LVvIK+xTiyZsRC6Npvq7A7a9yQAvbLpvYF5aifY1LobZwg5oaFzA5gqkRYYPLlxYg7CQ5XIw7EbgZo5SQDxdhYT2TYD4ATjMDE7RKk7QCzwU5hQlQPBpS94Iq3ByaAjJQL4lBs6oBIyN7nziIiaXb4q5RaYi6vy651SfymaMr/z
"versionNonce": 1305930308,
"isDeleted": false, tRWZyE2bgJK5rJXqq4TQ4KebCoeYyFebaGG5Zh4IBaVIlCHTm4VJW5ZgqqRY3Q0LHpu7O6vQm6wFfSGSvoXxh5SIgxZZI4DhB72poBNqvrOQghOpuqVbF59ZshKIEzl6p4eLp7BpZ5UwBK570ww7OGF49byIl7VLlCKiJK4IpKzwSDFEaEyg5J5IFJGhkLVFZClK2wI6m7RIqRdL1I+QIDNKaiNjtLuCdE9J9L/yDKTLDJQhjJRCTKkBOFwYWGkA
"boundElements": [
{ LIcBLLlHoCVGagbK84ui7IVQHJsBHJ1FoCnKxGQCXLQ757I7Vb3KPIVynAvJvIkHlD7DNDKDMAyhC64Yk68YMGxJMHhS/RQiIqayHBkp6as7a4nyyxUwoyowuqvDmGnFbG8BSFi4GHy4MrNRMpKFy4qHoBgJcr2Yq6wJq7ObTSa5zQQmiofbvz66TQa7O7G57Rm4kKW7Ko26qoNb25aqwGMIJbzGGrfSXxVBAyqaZY8Lgy5Z+HinB65j3CcIybCl
"id": "ZYIT0c9oGbNc5aehe-1SY",
"type": "arrow" RGx4xGKK1YJH1YRiBopHNa+LpHhp56Mw5GNJF69YgqrEQDFH9TmaQDkAUDLIVGZBhAjQ1HHL1HFJNFlKtGELtH1xDHdG9HcIDGdJ1LDEXoy5jGOgTGYhTETKOizGYYHSLH+ArGxIOlWkbGTKbISE7LraQD7KHLhCulHGkBnIKT4b1yEamlSRg4VyPD3GkaPESAjAAAatQzxIwioMoJ4IwAYmc+A9AcAhAvQAAUjxt+Pxv5IJrsEvECOSoCVsM8I3
},
{ grGCXFJScCNTmiiuSUHfISs5I3qcEBu+mJsWgzr4VmJVKieSbIXSpLmZliYAjiTeQrmodykSbSToQYXoTrleYYT5mSQyfgm4YFlmJYSyWHmFoGLbkkSUNFnMbMhALyUBUaR4SdGIsxKIkcH7n8KWlKWDDKX8F/rJpvFSaUDHsGnDl6vEX6vYSTNqZni1hkUElkRcUadSHkZcSXmXhqXWsLD/gtpLKmnuVUAedCmIams4EJSJUeRcCedCvxZXhtuu
"id": "Ut1skK0QDvebF6_jIOg2G",
"type": "arrow" clJud+l7JJYeZdrJSCCPhbGPgdhPi/sdtPopcpjTtNqrBJZFFJZpcWnJevh9pvtATBkaVAfHDAbBvBYSAhqgUgbASgT9mgR5QaqDlgcRPUHgecURvGiUDzAju3ODIQa8g2f3OUBBFBLBPBIhAgChOhJhDhHhGOchhgZOSEVUFrKVrwevGgC+IPo3kcO8AphCU6toMCIPkjFuYidmSEUiE6uIvVTwBEefJKeeQZmgNShguiVLtaRAG1A+Z1PLviXZ
}
], srlFryk5gbvSdSRSQtPoT+e+cYQBWYcyRbuBdbpBRyZqVFo4QmSYfFkhfyVqB7qHuWE2sKWKVai6GiEEQVn8DJYcEDGjOVjIsqVWTVknnVjRZAE1vRbqWGm1gaSDmxezCDTFQNhXsNnxVmqrA+u+i1QAdJS3vJQ+s1a1Y8O1apafL1U3ocINeWI8DpfTPtjbAZa/venuMTU2qTeZXuBTWIlTQNefIiO4hvvdk5aunuOuput+AfmspAXVqftUHUE0
"updated": 1707955502767,
"link": null, K0J0N0H0EMKMJMDMJek/pPm/sNlrCWj/tweIqjL9O7LsANeARBrHKLe4fAYDr9kFdbQ7YFT+MVSBDWViB0BFRWQQSjj3OANdFiHAHAMqF4mLZ+E+BkOULRKQHxOsAwIQAgBQGZLLvNbiRAHSDKNnTnayBANgCIJAr0DOPoMqO/JNXeQnQXb+ENMXekKndienU+YteoXndXUXSXchKtSSetf+fnYXbXSXWXVtaglXQPUekPeKmtXSX3e3YPekEPP5
"locked": false
}, rKuYf3TXRPekFhMFtYdVKvR3ekMhCUp6RUmPWvVAHXfoAfVkLUYUjvXPevfoKkn6RIE0i0rvfPaXfbYgddZAHfWfSXSMADl/UVc4ifXvfoIDiePQUAm3ePX/fvTQkPFaM4VqNgMSAqM2UaKiHVX9WtlDCg2g/gO+IFK8EvJWKimJSUEYGwAYBHdDAQGckaKjiUL/efYva4aGFqIpKQGGSUNyCQNfW6QUOQoscQMqAgJPCEQnXw8QBUJLQA7gJoME
{
"id": "rYTrBs1w9j1SpRu51PUHS", CqUI9IxLvpGZFSAPKQMoOyAABR7y5ah6GMGPUCoCf4ACUmo8SygiYEo5Q2jejLE+IvAgeLjzjFj9ZQjv9w9ZIm97SnAoYyD0W8SMkix7l+kmQCjSj3AxxkxKwMTJZJxEAyx0dxZpZB0ByQyaTST+gEoZIpAXYDuCT6TWYuTcdTA8jij30xxTDcymggwCA2A2QioyxcAsjDylT0T+RsRWITThAjAJ41D+AtDhE3xgyjT/jXAkxQghIBgkDvGrFJp3
"type": "line",
"x": 30, T1CBgxRwQfTSOFFkalsUwfTAzQzkctTEAjgzAUTH8WQKkFQmQQgyNM1TlLkgQMoTAmQIeGAyxVTiC0eW+nT1TiTCd44FQJAXFLTuAIdCcPzhksTQjy4mAazEzzY7T34MZ0kLiukmh4Qq6bi+YQAA
"y": -231.359375,
"width": 71.591796875,
"height": 26.908203125,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": null,
"seed": 1842072388,
"version": 154,
"versionNonce": 211812860,
"isDeleted": false,
"boundElements": null,
"updated": 1707955441542,
"link": null,
"locked": false,
"points": [
[
0,
0
],
[
44.68359375,
0
],
[
71.591796875,
-26.908203125
]
],
"lastCommittedPoint": [
71.591796875,
-26.908203125
],
"startBinding": null,
"endBinding": null,
"startArrowhead": null,
"endArrowhead": null
},
{
"id": "RoHLK7dp",
"type": "text",
"x": -193.41796875,
"y": -300.7421875,
"width": 57.599945068359375,
"height": 25,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": null,
"seed": 819643516,
"version": 69,
"versionNonce": 642532292,
"isDeleted": false,
"boundElements": [
{
"id": "BpGvrmBpa8qqpkuxhhofa",
"type": "arrow"
}
],
"updated": 1707955428464,
"link": null,
"locked": false,
"text": "Reset",
"rawText": "Reset",
"fontSize": 20,
"fontFamily": 1,
"textAlign": "left",
"verticalAlign": "top",
"baseline": 18,
"containerId": null,
"originalText": "Reset",
"lineHeight": 1.25
},
{
"id": "BpGvrmBpa8qqpkuxhhofa",
"type": "arrow",
"x": -144.28125,
"y": -259.96484375,
"width": 152.21875,
"height": 28.537109375,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": null,
"seed": 759511292,
"version": 133,
"versionNonce": 1349727684,
"isDeleted": false,
"boundElements": null,
"updated": 1707955439251,
"link": null,
"locked": false,
"points": [
[
0,
0
],
[
28.537109375000014,
28.537109375
],
[
152.21875,
28.537109375
]
],
"lastCommittedPoint": [
152.21875,
28.537109375
],
"startBinding": {
"elementId": "RoHLK7dp",
"focus": 0.19226641198388442,
"gap": 15.77734375
},
"endBinding": null,
"startArrowhead": "arrow",
"endArrowhead": null
},
{
"id": "jT8cpDxp-r2QKdnlSbfIo",
"type": "line",
"x": -172.37890625,
"y": -229.9765625,
"width": 195.75390625,
"height": 28.3984375,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": null,
"seed": 1414312700,
"version": 136,
"versionNonce": 1363863492,
"isDeleted": false,
"boundElements": null,
"updated": 1707955450248,
"link": null,
"locked": false,
"points": [
[
0,
0
],
[
28.3984375,
28.3984375
],
[
195.75390625,
28.3984375
]
],
"lastCommittedPoint": [
195.75390625,
28.3984375
],
"startBinding": null,
"endBinding": null,
"startArrowhead": null,
"endArrowhead": null
},
{
"id": "ZYIT0c9oGbNc5aehe-1SY",
"type": "arrow",
"x": 46.71484375,
"y": -201.4765625,
"width": 72.607421875,
"height": 30.279296875,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": null,
"seed": 1179727612,
"version": 129,
"versionNonce": 915842500,
"isDeleted": false,
"boundElements": null,
"updated": 1707955470759,
"link": null,
"locked": false,
"points": [
[
0,
0
],
[
42.328125,
0
],
[
72.607421875,
-30.279296875
]
],
"lastCommittedPoint": [
72.607421875,
-30.279296875
],
"startBinding": {
"elementId": "M3sG8YHxZ9sgeIVjjEQLA",
"focus": -0.39666811416841025,
"gap": 10.081109002050752
},
"endBinding": null,
"startArrowhead": null,
"endArrowhead": "arrow"
},
{
"id": "NORclDsY",
"type": "text",
"x": -201.171875,
"y": -256.671875,
"width": 34.39996337890625,
"height": 25,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": null,
"seed": 679451004,
"version": 58,
"versionNonce": 883398396,
"isDeleted": false,
"boundElements": null,
"updated": 1707955477526,
"link": null,
"locked": false,
"text": "Set",
"rawText": "Set",
"fontSize": 20,
"fontFamily": 1,
"textAlign": "left",
"verticalAlign": "top",
"baseline": 18,
"containerId": null,
"originalText": "Set",
"lineHeight": 1.25
},
{
"id": "1Hgsf293",
"type": "text",
"x": -218,
"y": -71.12109375,
"width": 54.23994445800781,
"height": 25,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": null,
"seed": 503883900,
"version": 6,
"versionNonce": 1649959620,
"isDeleted": false,
"boundElements": null,
"updated": 1707955483329,
"link": null,
"locked": false,
"text": "Sense",
"rawText": "Sense",
"fontSize": 20,
"fontFamily": 1,
"textAlign": "left",
"verticalAlign": "top",
"baseline": 18,
"containerId": null,
"originalText": "Sense",
"lineHeight": 1.25
},
{
"id": "EXG1HESfTEgrowhlvpiIJ",
"type": "line",
"x": -185.4609375,
"y": -75.3359375,
"width": 205.71484375,
"height": 51.369140625000014,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": null,
"seed": 1086024828,
"version": 113,
"versionNonce": 1701267908,
"isDeleted": false,
"boundElements": null,
"updated": 1707955494737,
"link": null,
"locked": false,
"points": [
[
0,
0
],
[
51.369140625,
-51.369140625000014
],
[
205.71484375,
-51.369140625000014
]
],
"lastCommittedPoint": [
205.71484375,
-51.369140625000014
],
"startBinding": null,
"endBinding": null,
"startArrowhead": null,
"endArrowhead": null
},
{
"id": "Ut1skK0QDvebF6_jIOg2G",
"type": "arrow",
"x": 53.5546875,
"y": -127.328125,
"width": 98.052734375,
"height": 57.98632812499997,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": null,
"seed": 219952380,
"version": 142,
"versionNonce": 2044191428,
"isDeleted": false,
"boundElements": null,
"updated": 1707955502767,
"link": null,
"locked": false,
"points": [
[
0,
0
],
[
40.06640625,
0
],
[
98.052734375,
57.98632812499997
]
],
"lastCommittedPoint": [
98.052734375,
57.98632812499997
],
"startBinding": {
"elementId": "M3sG8YHxZ9sgeIVjjEQLA",
"focus": 0.3526903793770479,
"gap": 15.742398994673962
},
"endBinding": null,
"startArrowhead": null,
"endArrowhead": "arrow"
},
{
"id": "nncj4ka5ApjaYmY9671F-",
"type": "line",
"x": -162.7890625,
"y": -263.49609375,
"width": 35.3828125,
"height": 39.88671875,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 2
},
"seed": 309309892,
"version": 39,
"versionNonce": 1405615868,
"isDeleted": true,
"boundElements": null,
"updated": 1707955384973,
"link": null,
"locked": false,
"points": [
[
0,
0
],
[
35.3828125,
39.88671875
]
],
"lastCommittedPoint": null,
"startBinding": null,
"endBinding": null,
"startArrowhead": null,
"endArrowhead": null
},
{
"id": "2XQhDcb86qZC5JjvFLgJL",
"type": "line",
"x": -164.96875,
"y": -264.05859375,
"width": 293.26171875,
"height": 54.359375,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 2
},
"seed": 216448892,
"version": 208,
"versionNonce": 423814908,
"isDeleted": true,
"boundElements": null,
"updated": 1707955392037,
"link": null,
"locked": false,
"points": [
[
0,
0
],
[
23.66796875,
44.890625
],
[
150.67578125,
54.359375
],
[
247.19140625,
50.421875
],
[
293.26171875,
0.7734375
]
],
"lastCommittedPoint": [
293.26171875,
0.7734375
],
"startBinding": null,
"endBinding": null,
"startArrowhead": null,
"endArrowhead": null
},
{
"id": "bF1N0TAEimzYDSIdUsgk7",
"type": "line",
"x": -153.57421875,
"y": -271.875,
"width": 164.00390625,
"height": 34.048828125,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": null,
"seed": 1188601412,
"version": 167,
"versionNonce": 282568828,
"isDeleted": true,
"boundElements": null,
"updated": 1707955422561,
"link": null,
"locked": false,
"points": [
[
0,
0
],
[
34.048828125000014,
34.048828125
],
[
164.00390625,
34.048828125
]
],
"lastCommittedPoint": [
164.00390625,
34.048828125
],
"startBinding": null,
"endBinding": null,
"startArrowhead": null,
"endArrowhead": null
}
],
"appState": {
"theme": "dark",
"viewBackgroundColor": "#ffffff",
"currentItemStrokeColor": "#1e1e1e",
"currentItemBackgroundColor": "transparent",
"currentItemFillStyle": "solid",
"currentItemStrokeWidth": 2,
"currentItemStrokeStyle": "solid",
"currentItemRoughness": 1,
"currentItemOpacity": 100,
"currentItemFontFamily": 1,
"currentItemFontSize": 20,
"currentItemTextAlign": "left",
"currentItemStartArrowhead": null,
"currentItemEndArrowhead": "arrow",
"scrollX": 495.3359375,
"scrollY": 410.21484375,
"zoom": {
"value": 1
},
"currentItemRoundness": "sharp",
"gridSize": null,
"gridColor": {
"Bold": "#C9C9C9FF",
"Regular": "#EDEDEDFF"
},
"currentStrokeOptions": null,
"previousGridSize": null,
"frameRendering": {
"enabled": true,
"clip": true,
"name": true,
"outline": true
}
},
"files": {}
}
``` ```
%% %%
File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 8.4 KiB

File diff suppressed because it is too large Load Diff
+5
View File
@@ -0,0 +1,5 @@
---
up:
tags:
aliases:
---
+20
View File
@@ -0,0 +1,20 @@
---
up:
- "[[filtre engendré]]"
tags:
- s/maths/logique
aliases:
---
> [!definition] [[base de filtre]]
> Soit $X$ un ensemble infini.
> Soit $\mathcal{B}\subseteq \mathcal{P}(X)$ une partie de $\mathcal{P}(X)$
> $\mathcal{B}$ est une **base de filtre** sur $X$ si :
> - $\emptyset \notin \mathcal{B}$
> - $\mathcal{B}$ est stable par intersection : $\forall A, B \in \mathcal{B},\quad A \cap B \in \mathcal{B}$
^definition
# Propriétés
# Exemples
+1 -1
Submodule blog updated: 1d1998c79e...6620c6afb8
+16
View File
@@ -0,0 +1,16 @@
---
up:
- "[[logique]]"
tags:
- s/maths/logique
aliases:
---
```breadcrumbs
title: "Sous-notes"
type: tree
collapse: true
show-attributes: [field]
field-groups: [downs]
depth: [0, 0]
```
+7 -7
View File
@@ -1,12 +1,12 @@
--- ---
id: classifier et diviser les personnes up: "[[étapes d'un génocide]]"
aliases: [] tags:
tags: [] - "#s/science/histoire"
alias: - "#s/philosophie"
- classifier les personnes - "#s/science/zetetique"
aliases:
- "classifier les personnes"
--- ---
up:: [[étapes d'un génocide]]
#s/science/histoire #s/philosophie #s/science/zetetique
Classifier les gens, par *race*, par croyances, physique... Classifier les gens, par *race*, par croyances, physique...
+1 -1
View File
@@ -2,6 +2,6 @@
--- ---
Dans l'[[logique approche sémantique]], une [[théorie logique]] est _consistante_ (ou encore [[satisfaisable]]) ssi elle possède au moins un [[modèle]]. Dans le cas contraire, la théorie est dire inconsistante. Dans l'[[logique approche sémantique]], une [[théorie logique]] est _consistante_ (ou encore [[satisfaisable]]) ssi elle possède au moins un [[théorie des modèles . modèle]]. Dans le cas contraire, la théorie est dire inconsistante.
Une théorie inconsistante est considérée comme de peu d'intérêt Une théorie inconsistante est considérée comme de peu d'intérêt
+5
View File
@@ -0,0 +1,5 @@
---
up:
tags:
aliases:
---
+1 -1
View File
@@ -2,7 +2,7 @@
--- ---
Une [[proposition]] $B$ est la _conséquence sémantique_ d'une [[proposition]] $A$ ssi **tout [[modèle]] de $A$ est un [[modèle]] de $B$**. Une [[proposition]] $B$ est la _conséquence sémantique_ d'une [[proposition]] $A$ ssi **tout [[théorie des modèles . modèle]] de $A$ est un [[théorie des modèles . modèle]] de $B$**.
# Définition # Définition
$A\models B \iff \forall x, x\models A \implies x\models B$ $A\models B \iff \forall x, x\models A \implies x\models B$
+1 -1
View File
@@ -1,7 +1,7 @@
#s/maths/logique #s/maths/logique
--- ---
Une contradiction est une [[proposition]] qui n'admet **aucun [[modèle]]**. Une contradiction est une [[proposition]] qui n'admet **aucun [[théorie des modèles . modèle]]**.
C'est-à-dire qu'elle n'est vraie pour aucune [[interprétation]]. C'est-à-dire qu'elle n'est vraie pour aucune [[interprétation]].
On dit aussi que cette proposition est _insatifaisable_ On dit aussi que cette proposition est _insatifaisable_
+2 -2
View File
@@ -1,8 +1,8 @@
# Todo # Todo
- [ ] #task trouver pompe à vélo - [ ] #task trouver pompe à vélo
- [ ] #task acheter billet de train 🔺 - [x] #task acheter billet de train 🔺 ✅ 2026-05-31
- [ ] #task mail prof de computational semantics - [x] #task mail prof de computational semantics ✅ 2026-05-31
- [ ] possible de suivre le cours maintenant ? - [ ] possible de suivre le cours maintenant ?
- [ ] question sur le lab 1 (is my solution too hacky ?) - [ ] question sur le lab 1 (is my solution too hacky ?)
+20
View File
@@ -0,0 +1,20 @@
# Todo
```tasks
due 2026-05-31
not done
```
# I did
> [!smallquery]- Modified files
> ```dataview
> LIST file.mtime
> where file.mtime > date(this.file.name) and file.mtime < (date(this.file.name) + dur(1 day)) sort file.mtime asc
> ```
```tasks
done 2026-05-31
short mode
```
# I am gratefull to
+1 -1
View File
@@ -3,4 +3,4 @@
--- ---
Une _démonstration formelle_ est l'application successive de plusieurs [[règle d'inférence|règles d'inférence]] à partir d'un ensemble [[axiome|d'axiomes]] ou de [[théorème|théorèmes]] déjà démontrés. Une _démonstration formelle_ est l'application successive de plusieurs [[règle d'inférence|règles d'inférence]] à partir d'un ensemble [[axiome|d'axiomes]] ou de [[théorème|théorèmes]] déjà démontrés.
Une Démonstration produit systématiquement de nouveaux théorèmes qui sont la [[conséquence formelle]] Une Démonstration produit systématiquement de nouveaux théorèmes qui sont la [[conséquence]]
+18
View File
@@ -0,0 +1,18 @@
---
up:
- "[[calcul propositionnel]]"
tags:
- s/maths/logique
- o
aliases:
- contradictoire
---
> [!definition] [[ensemble de formules contradictoire]]
> Un ensemble de formules $\mathscr{A}$ est **contradictoire** si et seulement si il n'est pas [[ensemble de formules satisfaisable|satisfaisable]]
^definition
# Propriétés
# Exemples
+14
View File
@@ -0,0 +1,14 @@
---
up:
- "[[formule logique|formules logiques]]"
tags:
- s/maths/logique
aliases:
- satisfaisable
---
> [!definition] Définition
> Soit $\mathscr{A}$ un ensemble de formules du [[calcul propositionnel]]
> $\mathscr{A}$ est **satisfaisable** (ou **consistant**, ou **non contradictoire**) si et seulement s'il existe au moins une [[valuation]] qui satisfait $\mathscr{A}$
^definition
+21
View File
@@ -0,0 +1,21 @@
---
up:
- "[[calcul propositionnel]]"
tags:
- s/maths/logique
aliases:
- satisfait
---
> [!definition] [[ensemble de formules satisfait]]
> Soit $\mathscr{A}$ un ensemble de formules du [[calcul propositionnel]] sur l'ensemble de variables propositionnelles $P$
> Soit $\delta$ une [[valuation d'une formule logique|valuation]] sur $P$
> On dit que $\mathscr{A}$ est **satisfait** par $\delta$ si et seulempent si $\delta$ satisfait toutes les formules qui appartiennent à $\mathscr{A}$ :
> $\boxed{\forall F \in \mathscr{A},\quad \delta(F) = 1}$
^definition
# Propriétés
# Exemples
-12
View File
@@ -1,12 +0,0 @@
---
up:
- "[[formule logique|formules logiques]]"
tags:
- s/maths/logique
aliases:
---
> [!definition] Définition
> Soit $\mathcal{F}$ l'ensemble des formules propositionnelles
^definition
+10 -3
View File
@@ -6,9 +6,16 @@ tags:
aliases: aliases:
- ensembles - ensembles
--- ---
> [!definition] Définition
> ```breadcrumbs
^definition title: "Sous-notes"
type: tree
collapse: true
show-attributes: [field]
field-groups: [downs]
depth: [0, 0]
```
# Propriétés # Propriétés
@@ -0,0 +1,12 @@
---
up:
- "[[calcul propositionnel]]"
tags:
- s/maths/logique
aliases:
- équivalents
---
> [!definition] [[ensembles de formules logiquement équivalents]]
> Deux ensembles de formules $\mathscr{A}$ et $\mathscr{B}$ sont **équivalents** si et seulement si toute formule de $\mathscr{A}$ est conséquence de $\mathscr{B}$
^definition
+12 -10
View File
@@ -6,17 +6,19 @@ tags:
aliases: aliases:
--- ---
> [!definition] Définition > [!definition] [[filtre de fréchet]]
> On définit $\mathscr{F}$ le filtre de Fréchet par : > Soit $X$ un ensemble infini.
> On définit $\mathscr{F}$ le [[filtre]] de Fréchet par :
> $A \in \mathscr{F}$ si $X - A$ est fini > $A \in \mathscr{F}$ si $X - A$ est fini
> - i on pourra le noter $\mathscr{F}_{\mathrm{cof}}$
>
> > [!démonstration]- Démonstration que c'est bien un filtre
> > 1. $X - X = \emptyset$ est bien fini
> > 2. soient $A, B \in \mathscr{F}$ on a :
> > $X - (A \cap B) = (X-A) \cup (X-B)$
> > or la réunion de deux ensembles finis est finie d'où il suit que $A \cap B \in \mathscr{F}$
> > 3. Soit $A \in \mathscr{F}$ avec $A \subseteq B$
> > $X - B \subseteq X - A$ or on sait que $X - A$ est fini, et qu'une partie d'un ensemble fini est finie, d'où on a que $X - B$ est fini et donc que $B \in \mathscr{F}$
^definition ^definition
# Démonstration que c'est bien un filtre
1. $X - X = \emptyset$ est bien fini
2. soient $A, B \in \mathscr{F}$ on a :
$X - (A \cap B) = (X-A) \cup (X-B)$
or la réunion de deux ensembles finis est finie d'où il suit que $A \cap B \in \mathscr{F}$
3. Soit $A \in \mathscr{F}$ avec $A \subseteq B$
$X - B \subseteq X - A$ or on sait que $X - A$ est fini, et qu'une partie d'un ensemble fini est finie, d'où on a que $X - B$ est fini et donc que $B \in \mathscr{F}$
+21
View File
@@ -0,0 +1,21 @@
---
up:
- "[[filtre]]"
tags:
- s/maths/logique
aliases:
---
> [!definition] [[filtre engendré]]
> Soit $\mathcal{B}$ une [[base de filtre]] sur $X$
> Le **filtre engendré** par $\mathcal{B}$ est le [[filtre]] $\mathscr{F}_{\mathcal{B}}$ défini par :
> $\boxed{\mathscr{F}_{\mathcal{B}} = \{ F \in \mathcal{P}(X) \mid \exists B \in \mathcal{B},\quad B \subseteq F \}}$
>
> > [!démonstration]- Démonstration : $\mathscr{F}_{\mathcal{B}}$ est bien un filtre
> >
^definition
# Propriétés
# Exemples
+2 -2
View File
@@ -2,10 +2,10 @@
id: firefox troubleshooot id: firefox troubleshooot
aliases: [] aliases: []
tags: tags:
- #t/troubleshoot -
up: up:
- "[[firefox]]" - "[[firefox]]"
- "[[firefox troubleshooot]]" - "[[troubleshoot]]"
--- ---
```breadcrumbs ```breadcrumbs
@@ -0,0 +1,30 @@
---
up:
- "[[calcul propositionnel]]"
tags:
- s/maths/logique
aliases:
- conséquence
- ⊢*
---
> [!definition] [[formule conséquence d'un ensemble de formules]]
> Soit $\mathscr{A}$ un ensembles de formules et $G$ une formule du [[calcul propositionnel]]
> $G$ est **conséquence** de $\mathscr{A}$ si et seulement si toute distribution de valeurs de vérité qui satisfait $\mathscr{A}$
^definition
# Propriétés
> [!proposition]+
> $\mathscr{A} \vdash^{*} G \iff \mathscr{A} \cup \{ \neg G \}$ est [[ensemble de formules contradictoire|contradictoire]]
> > [!démonstration]- Démonstration
> > - $\boxed{\implies}$ supposons que $\mathscr{A} \vdash^{*} G$
> > Soit $\delta$ une [[valuation]] qui [[ensemble de formules satisfait|satisfait]] $\mathscr{A}$, i.e. $\forall F \in \mathscr{A},\quad \delta(F) = 1$
> > Puisque l'on a supposé $\mathscr{A} \vdash^{*} G$ sait que $\delta(G)=1$, et donc que $\delta(\neg G) = 0$, ce qui montre bien qu'aucune valuation satisfaisant $\mathscr{A}$ ne peut satisfaire aussi $\neg G$, et donc que $\mathscr{A} \cup \{ \neg G \}$ est contradictoire
> > - $\boxed{\impliedby}$ supposons que $\mathscr{A} \cup \{ \neg G \}$ est contradictoire
> > Alors, on sait que pour toute valuation $\delta$ on a $\exists F \in \mathscr{A} \cup \{ \neg G \},\quad \delta (F) = 0$
> > -
# Exemples
+1
View File
@@ -4,6 +4,7 @@ up:
tags: tags:
- s/maths/logique - s/maths/logique
aliases: aliases:
- formule close
--- ---
> [!definition] Définition > [!definition] Définition
+1 -1
View File
@@ -42,4 +42,4 @@ critiqué par :
## Obstacle logico-mathématique ## Obstacle logico-mathématique
[[paradoxe de Russel]] [[paradoxe de Russell]]
@@ -0,0 +1,7 @@
# Changing installation settings
You can edit settings for a certain app using :
`brew edit <name>`
That opens a configuration file that controls taht installation settings.
Then, you can recompile that app using :
`brew reinstall --build-from-source <name>`
+13
View File
@@ -0,0 +1,13 @@
---
up:
- "[[homebrew]]"
tags:
- "#s/informatique"
aliases:
- clear homebrew cache
---
```sh
homebrew cleanup --prune=all
```
@@ -1,10 +1,9 @@
--- ---
alias: [ "homebrew désinstaller avec les dépendances" ] up: "[[homebrew]]"
--- tags:
up:: [[homebrew]] - "#s/informatique"
title:: "`brew uninstall <package> && brew autoremove`" aliases:
#s/informatique - homebrew désinstaller avec les dépendances
--- ---
Pour désinstaller un package Pour désinstaller un package
+13 -11
View File
@@ -1,13 +1,15 @@
up::[[installing things]] ---
title::"macos package manager" up: "[[installing things]]"
#s/informatique tags:
- "#s/informatique"
---
---- ```breadcrumbs
title: "Sous-notes"
type: tree
collapse: true
show-attributes: [field]
field-groups: [downs]
depth: [0, 0]
```
# Changing installation settings
You can edit settings for a certain app using :
`brew edit <name>`
That opens a configuration file that controls taht installation settings.
Then, you can recompile that app using :
`brew reinstall --build-from-source <name>`
+1 -1
View File
@@ -11,5 +11,5 @@ tags: []
> collapse: true > collapse: true
> show-attributes: [field] > show-attributes: [field]
> field-groups: [downs] > field-groups: [downs]
> depth: [0, 0] > depth: [0, 2]
> ``` > ```
@@ -0,0 +1,7 @@
---
aliases:
- langage
-
up:
tags:
---
+21
View File
@@ -0,0 +1,21 @@
---
up:
- "[[ligne de commande]]"
- "[[système d'exploitation]]"
tags:
- s/informatique
aliases:
---
Outil qui gère des daemons.
```breadcrumbs
title: "Sous-notes"
type: tree
collapse: true
show-attributes: [field]
field-groups: [downs]
depth: [0, 0]
```
+16
View File
@@ -0,0 +1,16 @@
---
up:
tags:
aliases:
---
```breadcrumbs
title: "Sous-notes"
type: tree
collapse: true
show-attributes: [field]
field-groups: [downs]
depth: [0, 0]
```
remplace [[cron]] sur macos : permet de schedule des tâches.
+28
View File
@@ -0,0 +1,28 @@
---
up:
- "[[terminal commandes]]"
- "[[launchd]]"
tags:
- s/informatique
aliases:
---
Wrapper autour de `lauchctl` pour configurer plus aisément [[launchd]].
- gh https://github.com/sosedoff/lunchy-go
- source:: [[sosedofflunchy-go OSX Launch Manager]]
# Installation
`brew install lunchy-go`
# Cheat sheet
`lunchy ...`
- `ls` [pattern]
- `start` [pattern]
- `stop` [pattern]
- `restart` [pattern]
- `status`, `ps` [pattern]
- `install` [file]
- `show` [pattern]
- `edit` [pattern]
- `remove`, `rm` [pattern]
- `scan` [path]
+10
View File
@@ -0,0 +1,10 @@
---
up:
- "[[troubleshoot]]"
- "[[macos]]"
tags:
- "#s/informatique"
aliases:
---
problème : beaucoup de place perdue dans "system data"
-9
View File
@@ -1,9 +0,0 @@
#s/maths/logique
----
Un modèle logique est **une [[interprétation]] particulière d'une [[proposition]]**.
On dit qu'une interprétation $I$ est un [[modèle]] d'une [[proposition]] logique $\Phi$ ssi $I(\Phi) = \mathbb{V}$.
Si toutes les interprétations de $P$ sont aussi des modèles de $P$, alors on dit que $P$ est une [[tautologie]].
+4 -4
View File
@@ -2,11 +2,11 @@
# Claire # Claire
> - j'ai un truc qui bloque le levier de vitesse - j'ai un truc qui bloque le levier de vitesse
> - ça s'appelle du maquillage ! - ça s'appelle du maquillage !
> - Ah, c'est pas toi qui est sous la douche ! - Ah, c'est pas toi qui est sous la douche !
> - ah bon ? - ah bon ?
- je suis malade, j'ai du mal à ne plus l'être - je suis malade, j'ai du mal à ne plus l'être
+12
View File
@@ -0,0 +1,12 @@
---
up:
tags:
aliases:
---
> [!todo] Projets non-commencés
> ```dataview
> LIST title
> FROM ""
> WHERE econtains(up, this.file.link)
> ```
+1 -1
View File
@@ -5,4 +5,4 @@ Un raisonnement est dit _valide_ ssi sa conclusion est la conséquence logique d
# Notation # Notation
$$P1, \ldots, Pn \models B$$ $$P1, \ldots, Pn \models B$$
Le raisonnement Est valide ssi $B$ est bien [[modèle|modélisé]] par $P1,\ldots,Pn$. Le raisonnement Est valide ssi $B$ est bien [[théorie des modèles . modèle|modélisé]] par $P1,\ldots,Pn$.
+3 -2
View File
@@ -1,6 +1,7 @@
--- ---
up:: [[relation]] up: "[[relation]]"
#s/maths/algèbre tags:
- "#s/maths/algèbre"
--- ---
> [!definition] Relation d'ordre > [!definition] Relation d'ordre
+1 -1
View File
@@ -1,7 +1,7 @@
#s/maths/logique #s/maths/logique
---- ----
Une [[proposition]] est _satisfaisable_ si elle admet **au moins un [[modèle]]**. Une [[proposition]] est _satisfaisable_ si elle admet **au moins un [[théorie des modèles . modèle]]**.
Une [[proposition]] qui n'est pas satisfaisable est une [[contradiction]] Une [[proposition]] qui n'est pas satisfaisable est une [[contradiction]]
+16
View File
@@ -0,0 +1,16 @@
---
link: "https://jplattel.nl/project/ov-klok/"
author:
published: 2024-02-14
created: 2026-05-31
description: "Im Joost Plattel, I'd like to call myself an auxiliary technologist. I assist organisations and individuals with technology and help them future strategies."
tags:
- "t/clippings"
---
The [OV Klok](https://ovklok.nl/) is a small hardware project that show the time left before the next departure of public transport you use. Its made with and ESP32 module and 7 segment digit display.
![](https://jplattel.nl/img/ovklok.jpeg)
You can [order one](https://shop.ovklok.nl/) if you live in the Netherlands and use public transport a lot from a specific location. The enclosure is made by pressure-forming plastic in the [Mayku Multiplier](https://mayku.me/multiplier) and a 3D print allowing for different methods of mounting and freestanding use.
The ESP32 runs on Circuit Python and is fully configurable with a USB-C cable through the browser with the use of WebSerial. This skips troublesome setups like captive portals or file editing. Its a simple and calm device allowing you to catch your public transport right on time!
@@ -1,10 +1,11 @@
--- ---
link: "https://github.com/dhanushka2001/citeorder" link: https://github.com/dhanushka2001/citeorder
created: 2026-05-11 created: 2026-05-11
tags: tags:
- "#t/clippings/github" - "#t/clippings/github"
- s/informatique
--- ---
[![Logo](https://github.com/user-attachments/assets/43f400c2-ba67-45a9-b196-53757bf9931b#gh-dark-mode-only)](https://github.com/user-attachments/assets/43f400c2-ba67-45a9-b196-53757bf9931b#gh-dark-mode-only)## citeorder [![Logo](https://github.com/user-attachments/assets/43f400c2-ba67-45a9-b196-53757bf9931b#gh-dark-mode-only)](https://github.com/user-attachments/assets/43f400c2-ba67-45a9-b196-53757bf9931b#gh-dark-mode-only)
Simple command-line tool to correctly reorder Footnotes in Markdown files. Simple command-line tool to correctly reorder Footnotes in Markdown files.
@@ -0,0 +1,161 @@
---
link: "https://github.com/sosedoff/lunchy-go"
created: 2026-06-05
tags:
- "#t/clippings/github"
---
## lunchy-go
A friendly wrapper for launchctl. Start your agents and go to lunch!
This is a port of original [lunchy](https://github.com/mperham/lunchy) ruby gem by Mike Perham with extra functionality.
## Overview
Don't you hate OSX's launchctl? You have to give it exact filenames. The syntax is annoying different from Linux's nice, simple init system and overly verbose. It's just not a very developer-friendly tool.
Lunchy aims to be that friendly tool by wrapping launchctl and providing a few simple operations that you perform all the time:
- ls \[pattern\]
- start \[pattern\]
- stop \[pattern\]
- restart \[pattern\]
- status, ps \[pattern\]
- install \[file\]
- show \[pattern\]
- edit \[pattern\]
- remove, rm \[pattern\]
- scan \[path\]
where pattern is just a substring that matches the agent's plist filename.
So instead of:
```
$ launchctl load ~/Library/LaunchAgents/io.redis.redis-server.plist
```
you can do this:
```
$ lunchy start redis
```
and:
```
$ lunchy ls
com.danga.memcached
com.google.keystone.agent
com.mysql.mysqld
io.redis.redis-server
org.mongodb.mongod
```
## Install
You can install binary by running the following bash command:
```
curl -s https://raw.githubusercontent.com/sosedoff/lunchy-go/master/install.sh | bash
```
#### Homebrew
Install using [Homebrew](https://brew.sh/):
```
brew install lunchy-go
```
#### Binary Releases
Precompiled binaries are available on Github: [https://github.com/sosedoff/lunchy-go/releases](https://github.com/sosedoff/lunchy-go/releases)
#### Build from source
Build source code with Go 1.2+:
```
git clone https://github.com/sosedoff/lunchy-go.git $GOPATH/src/lunchy
cd lunchy
go build
mv ./lunchy-go /usr/local/bin/lunchy
```
## Usage
Add a new plist:
```
# Install plist
$ lunchy install /usr/local/Cellar/redis/2.8.1/homebrew.mxcl.redis.plist
```
Manage services:
```
$ lunchy start redis
$ lunchy stop redis
$ lunchy restart redis
$ lunchy status redis
```
If you have multiple plists from homebrew, you can simple control all of them:
```
$ lunchy status
homebrew.mxcl.elasticsearch
homebrew.mxcl.mysql
homebrew.mxcl.postgresql
homebrew.mxcl.redis
# Will stop all processes prefixed by "homebrew"
$ lunchy stop homebrew
```
Manage plists:
```
$ lunchy show redis
$ lunchy edit redis
```
Scan directory for existing plists:
```
$ lunchy scan /usr/local/Cellar
```
Scan all homebrew plists:
```
$ lunchy scan homebrew
```
## Profiles
When switching between different projects you might find yourself stopping and starting lots of different daemons in order to reduce memory usage. This is all good but there's a better way of doing it. Enter lunchy profiles.
Profile file `.lunchy` should be placed under your project's root directory and include a list of services that needs to be started or stopped. Example:
```
postgres
redis
elasticsearch
```
Then you can simply run the following command to start/stop/restart ALL of them at once:
```
lunchy start
lunchy stop
lunchy restart
```
## License
The MIT License (MIT)
Copyright (c) 2013-2015 Dan Sosedoff, [dan.sosedoff@gmail.com](mailto:dan.sosedoff@gmail.com)
+187
View File
@@ -0,0 +1,187 @@
---
up:
- "[[ensemble]]"
tags:
- s/maths/logique
aliases:
---
Cette théorie ne se base pas sur des ensembles directement, mais sur des **classes**.
Les classes sont caractérisées par $\in$, autrement dit une classe est définie par le prédicat indiquant ce qu'elle contient.
# Définitions et Axiomes
> [!definition] Classe
> Une classe $C$ est un objet caractérisé par sa relation d'appartenance, c'est-à-dire que pour tout objet $x$ on pourra dire si $x \in C$ ou non.
^def-classe
> [!proposition]+ Axiome d'extentionnalité
> Deux choses contenant les mêmes éléments sont égales.
> Autrement dit, $C_1 = C_2$ si et seulement si $\forall x,\quad x \in C_1 \iff x \in C_2$
^ax-extentionnalite
> [!definition] Inclusion
> La relation d'inclusion, notée $\subseteq$ est définie par :
> $C_1 \subseteq C_2 \iff \text{pour toute classe } X \text{ avec } X \in C_1 \text{ on a } X\in C_2$
^def-inclusion
> [!definition] Ensemble
> Une classe $A$ est un **ensemble** s'il existe une classe $C$ telle que $A \in C$.
> - i l'axiome d'extentionnalité s'applique également sur les ensembles
> - i on note $\mathcal{M}$ le prédicat "est un ensemble" ($\mathcal{M}(x) \iff x \text{ est un ensemble}$)
^def-ensemble
> [!definition] Union et Intersection
> Soient $C_1$ et $C_2$ deux classes
> - $C_1 \cup C_2$ est une classe dont les éléments sont les $X$ qui appartiennent à $C_1$ ou à $C_2$
> - $C_1 \cap C_2$ est une classe dont les éléments sont les $X$ qui appartiennent à $C_1$ et à $C_2$
> - i on sait par l'axiome d'extentionnalité que $C_1 \cup C_2$ et $C_1 \cap C_2$ sont uniquement déterminés par ces définitions
^def-union-intersection
> [!definition] Complémentaire
> Soit $C$ une classe
> $C^{\complement}$ est la classe qui a pour éléments les $X$ tels que $X \notin C$
> - i on sait par l'axiome d'extentionnalité que $C^{\complement}$ est uniquement déterminé par ces définitions
>
^def-complementaire
> [!proposition]+ Axiome d'intersection
> Si $x$ est un ensemble, si $C$ est une classe, alors $x \cap C$ est un ensemble
> - i Par conséquence, si une classe $C$ est contenue dans un ensemble $A$, alors $C$ est un ensemble aussi.
> - dem car $C \subseteq A$ entraine $C = C \cap A$
^ax-intersection
> [!proposition]+ Axiome de la paire
> Si $x$ et $y$ sont des ensemble, alors il existe un ensemble dont les seuls éléments sont $x$ et $y$.
> $\tiny\mathcal{M}(x) \wedge \mathcal{M}(y) \implies (\exists z,\quad \mathcal{M}(z) \wedge x \in z \wedge y \in z \wedge (\forall t,\quad t \in z \implies (t=x \vee t=z)))$
> - i par l'axiome d'extentionnalité, on sait qu'il n'existe qu'un seul tel ensemble, que l'on note $\{ x, y \}$
> - i si $x = y$ on note simplement $\{ x \}$, c'est un **singleton**
>
> > [!proposition]+ Construction des couples (Kuratowski)
> > Si $x$ et $y$ sont des ensembles, on pose :
> > $(x, y) = \{ \{ x \}, \{ x, y \} \}$
^ax-paire
> [!proposition]+ égalité sur les couples
> Soient $x, y, x', y'$ des ensembles
> $(x, y) = (x', y') \iff x=x' \wedge y=y'$
> > [!démonstration]- Démonstration
> > - $\boxed{\implies}$ Supposons que $x=x'$ et $y=y'$, on a alors $\{ x, y \} = \{ x', y' \}$ et $\{ x \} = \{ x' \}$ par l'axiome d'extension.
> > Alors, à nouveau par extentionnalité, on a $\{ \{ x \}, \{ x, y \} \} = \{ \{ x' \}, \{ x', y' \} \}$
> > - $\boxed{\impliedby}$ Supposons réciproquement que $(x, y) = (x', y')$
> > On a alors : $\{ \{ x \}, \{ x, y \} \} = \{ \{ x' \}, \{ x', y' \} \}$
> > Il suit par extension que l'un des cas suivants est réalisé :
> > - soit $\{ x \} = \{ x' \}$ et $\{ x, y \} = \{ x', y' \}$
> > dans ce cas, on a $x=x'$ par extension, et de là il est évident aussi que $y = y'$
> > - soit $\{ x \} = \{ x', y' \}$ et $\{ x, y \} = \{ x' \}$
> > dans ce cas on sait que l'on doit avoir $x=y$ et $x'=y'$, et on en déduit $\{ x \} = x'$ et $y=y'$
> > Les autres cas peuvent être éliminés par extentionnalité.
> [!proposition]+ n-uplets
> On peut construire les triplets, quadruplets etc. à partir des couples :
> - $(x, y, z) = ((x, y), z)$
> - $(x, y, z, w) = (((x, y), z), w)$
> - $\vdots$
> [!proposition]+ Axiome : graphe de la relation $\in$
> Il existe une classe $E$ telle que pour tous les ensemble $x, y$ on a $(x, y) \in E$ si et seulement si $x \in y$.
> $\boxed{(x, y) \in E \iff x \in y}$
> $E$ est le **graphe** de la relation $\in$
> [!proposition]+ Axiome : existence du domaine
> Si $C$ est une classe, il existe une classe notée $\operatorname{dom}(C)$ telle que pour tout ensemble $x$ on aie $x \in \operatorname{dom}(C)$ si et seulement s'il existe un ensemble $y$ tel que $(x, y) \in C$.
> $\boxed{x \in \operatorname{dom}(C) \iff \exists y \text{ ensemble},\quad (x, y) \in C}$
> - i On dit que $\operatorname{dom}(C)$ est le **domaine** de $C$
^ax-domaine
> [!proposition]+ Axiome : existence du codomaine
> Si $C$ est une classe, il existe une classe notée $\operatorname{codom}(C)$ telle que pour tout ensemble $y$ on aie $y \in \operatorname{codom}(C)$ si et seulement s'il existe un ensemble $x$ tel que $(x, y) \in C$.
> $\boxed{y \in \operatorname{codom}(C) \iff \exists x \text{ ensemble},\quad (x, y) \in C}$
> - i On dit que $\operatorname{codom}(C)$ est le **codomaine** de $C$
^ax-codomaine
> [!proposition]+ Axiome : existence d'une classe de domaine $C$
> Si $C$ est une classe, il existe une classe $C'$ dont $C$ est le domaine ($\operatorname{dom}(C') = C$), autrement dit :
> il existe une classe $C'$ telle que $\forall y \text{ ensemble},\quad (x, y) \in C' \iff x \in C$
^ax-de-domaine
> [!proposition]+ Axiome : existence d'une classe de codomaine $C$
> Si $C$ est une classe, il existe une classe $C'$ dont $C$ est le codomaine ($\operatorname{codom}(C') = C$), autrement dit :
> il existe une classe $C'$ telle que $\forall x \text{ ensemble},\quad (x, y) \in C'$
^ax-de-codomaine
> [!proposition]+ Axiome : permutation des triplets
> Soit $C$ une classe, alors :
> - il existe une classe $D$ telle que pour tous les ensembles $x, y, z$ on aie $(x, y, z) \in D \iff (y, x, z) \in C$
> - il existe une classe $D'$ telle que pour tout les ensemble $x, y, z$ on aie $(x, y, z) \in D' \iff (x, z, y) \in C$
> - i ces classes ne sont pas uniquement déterminées par l'axiome d'extension, car leurs "définitions" prescrivent uniquement leurs couples ou trouples.
> [!definition]+ Classe vide
> Il existe une et une seule classe qui n'a aucun élément.
> On dit que c'est la classe vide et on la note $\emptyset$
> > [!démonstration]- Démonstration (existence et unicité)
> > L'axiome sue le graphe de la relation $\in$ fournit une classe $E$.
> > On peut alors former la classe $E \cap E^{\complement}$ qui, par construction, n'a aucun élément.
> > D'après l'axiome d'extentionnalité, c'est la seule telle classe.
> [!proposition]+ Axiome (NBG) : ensemble vide
> $\emptyset$ est un ensemble
> - i Sans cet axiome, rien ne garantit l'existence d'ensembles
> [!definition] Univers
> La classe $U = \emptyset^{\complement}$ est appelée **univers**
> Par définition on a $x \in U$ pour tout ensemble $x$.
> Pour toute classe $C$ on a $C \subseteq U$
> - i Le [[paradoxe de Russell]] montre qu'il existe une classe $R$ qui n'est pas un ensemble. Comme toute sous-classe d'un ensemble est un ensemble aussi, on sait alors que $U$ n'est pas un ensemble.
^definition
> [!definition] Union d'une classe
> Soit $C$ une classe
> Il existe une unique classe dont les éléments sont les éléments des éléments de $C$.
> On note cette classe $\cup C$ (l'union de $C$).
> > [!démonstration]- Démonstration (existence et unicité)
> > L'existence est évidente par définition, mais on peut également utiliser l'union de éléments de $C$.
> > L'unicité est donnée par l'axiome d'extentionnalité.
^def-union-monadique
> [!proposition]+ Produit cartésien
> Soient $A$ et $B$ des classes, il existe une unique classe dont les éléemnts sont les $(x, y)$ avec $x \in A$ et $y \in B$.
> On note cette classe $A \times B$
> ---
> Plus généralement, soit $n \in \mathbb{N}^{*}$, soient $A_1, \dots, A_{n}$ des classes
> Il existe une classe et une seule dont les éléments sont les $n$-uplets $(x_1, \dots, x_{n})$ avec $x_1 \in A_1, \dots, x_{n} \in A_{n}$
> On note cette classe $A_1 \times \cdots \times A_{n}$
> - i Lorsque $A_1 = \cdots = A_{n}$ on note $A_1 \times \cdots \times A_{n} = A^{n}$
>
> > [!démonstration]- Démonstration (existence et unicité)
> > On sait par l'axiome d'extensionnalité qu'il existe au plus une telle classe (unicité).
> > Il existe une classe $A'$ telle que $\forall x,\quad (x, y) \in A' \iff y \in A$ (telle que $A = \operatorname{dom}(A')$)
> > Il existe une classe $B'$ telle que $\forall y,\quad (x, y) \in B' \iff x \in B$ (telle que $B = \operatorname{codom}(B')$)
> > Alors, $A' \cap B'$ existe (par axiome d'intersection) et convient :
> > $\forall x,\forall y,\quad (x, y) \in A'\cap B' \implies \begin{cases} x \in A \text{ car } (x, y) \in A' \cap B' \implies (x, y) \in A' \implies x \in A\\ y \in B \text{ car } (x, y) \in B' \end{cases}$
> >
> [!proposition]+ Axiome (NBG) : Union d'un ensemble
> Si $x$ est un ensemble, alors $\cup x$ est un ensemble aussi.
> $\mathcal{M}(x) \implies \mathcal{M}(\cup x)$
## Graphes
> [!definition] Graphe
> Une classe $C$ est un **graphe** si tous ses éléments sont des couples.
> [!proposition]+ Image directe
> Soit $G$ un graphe et $C$ une classe.
> Il existe une unique classe (notée $G[C]$ ou $G\langle C \rangle$) dont les éléments sont les ensembles $y$ tels qu'il existe $x \in C$ vérifiant $(x, y) \in G$
> Autrement dit :
> $G[C] = \text{les ensembles } y \text{ tels que } \exists x,\quad x \in C \wedge (x, y) \in G$
> ou encore : $y \in G[C] \iff \mathcal{M}(y) \wedge (\exists x,\quad x \in C \wedge (x, y) \in G)$
> > [!démonstration]- Démonstration (existence et unicité)
> > La classe $G \cap (C \times U)$ a pour éléments les couples $(x, y)$ tels que $x \in C$ et $(x, y) \in G$.
> > Son [[théorie des ensemble NBC#^ax-codomaine|codomaine]] convient : $G[C] = \operatorname{codom}(G \cap (C \times U))$
> > Cela montre l'existence de $G[C]$
> > Son unicité est donnée par extentionnalité
> [!definition] Classe fonctionnelle
> Une classe $F$ est dite **fonctionnelle** si pour tous ensembles $x, y, z$ tels que $(x, y) \in F$ et $(x, z) \in F$ on a $y = z$
@@ -0,0 +1,11 @@
---
up:
tags:
aliases:
---
> [!definition] [[théorie des modèles . modèle]]
> Soit une [[théorie des modèles.théorie|théorie]] $T$ et une [[formule logique close]] $F$ du langage $L$
> $F$ est **conséquence sémantique** de $T$ (ou simplement conséquence de $T$) si et seulement si toute [[théorie des modèles . 𝐿-structure|𝐿-structure]] qui est modèle de $T$ est aussi modèle de $F$.
>
^definition
@@ -0,0 +1,20 @@
---
up:
- "[[théorie des modèles . formule universellement valide|formule universellement valide]]"
tags:
- s/maths/logique/modèles
aliases:
- formule contradictoire
- contradictoire
- formule inconsistante
- inconsistante
---
> [!definition] [[théorie des modèles . formule contradictoire]]
> Une [[formule logique close|formule close]] d'un [[langage des prédicats du premier ordre|langage]] $L$ est **contradictoire** (ou **inconsistante**) si et seulement sa négation est [[théorie des modèles . formule universellement valide|universellement valide]]
^definition
# Propriétés
# Exemples
@@ -0,0 +1,22 @@
---
up:
- "[[théorie des modèles]]"
tags:
- s/maths/logique/modèles
aliases:
- formule universellement valide
- universellement valide
---
> [!definition] [[théorie des modèles . formule universellement valide]]
> Soit $L$ un [[langage des prédicats du premier ordre|langage du premier ordre]]
> Une [[formule logique close|formule close]] de $L$ est **universellement valide** si et seulement si elle est satisfaite dans toute $L$-structure. (On dit parfois simplement « formule valide »).
> On note $\vdash^{*}F$ pour « $F$ est universellement valide »
^definition
# Propriétés
# Exemples
+20
View File
@@ -0,0 +1,20 @@
---
up:
- "[[théorie des modèles]]"
tags:
- "#s/maths/logique/modèles"
---
# Propriétés
# Exemples
---
Un modèle logique est **une [[interprétation]] particulière d'une [[proposition]]**.
On dit qu'une interprétation $I$ est un [[théorie des modèles . modèle]] d'une [[proposition]] logique $\Phi$ ssi $I(\Phi) = \mathbb{V}$.
Si toutes les interprétations de $P$ sont aussi des modèles de $P$, alors on dit que $P$ est une [[tautologie]].
+16
View File
@@ -0,0 +1,16 @@
---
up:
- "[[logique]]"
tags:
- s/maths/logique/modèles
aliases:
---
```breadcrumbs
title: "Sous-notes"
type: tree
collapse: true
show-attributes: [field]
field-groups: [downs]
depth: [0, 0]
```
+15
View File
@@ -0,0 +1,15 @@
---
up:
tags:
aliases:
---
```breadcrumbs
title: "Sous-notes"
type: tree
collapse: true
show-attributes: [field]
field-groups: [downs]
depth: [0, 0]
```
+2
View File
@@ -8,6 +8,8 @@ aliases:
- réalisme - réalisme
share_link: https://share.note.sx/1ckfabvc#5mTtkYDXoj/rv3sTmsdUqSMHMJStpRbFWBojhX6cpTY share_link: https://share.note.sx/1ckfabvc#5mTtkYDXoj/rv3sTmsdUqSMHMJStpRbFWBojhX6cpTY
share_updated: 2025-09-15T13:06:31+02:00 share_updated: 2025-09-15T13:06:31+02:00
sibling:
- "[[épistémologie . antiréalisme|antiréalisme]]"
--- ---
Idée qu'une théorie scientifique est la rencontre de son objet. Idée qu'une théorie scientifique est la rencontre de son objet.