main
iOS 3 years ago
parent b067fcd91e
commit 92d420cf1d

File diff suppressed because one or more lines are too long

@ -1,7 +1,7 @@
{
"id": "extract-url",
"name": "Extract url content",
"version": "0.9.0",
"version": "0.12.0",
"description": "Extract url converting content into markdown",
"author": "Stephen Solka",
"authorUrl": "https://github.com/trashhalo",

File diff suppressed because one or more lines are too long

@ -1,7 +1,7 @@
{
"id": "find-unlinked-files",
"name": "Find unlinked files and unresolved links",
"version": "1.5.1",
"version": "1.5.2",
"description": "Find files that are not linked anywhere and would otherwise be lost in your vault. In other words: files with no backlinks.",
"author": "Vinzent",
"authorUrl": "https://github.com/Vinzent03",

File diff suppressed because it is too large Load Diff

@ -6,5 +6,5 @@
"author": "Trey Wallis",
"authorUrl": "https://github.com/trey-wallis",
"isDesktopOnly": false,
"version": "3.5.0"
"version": "3.5.3"
}

@ -1,25 +1,46 @@
@charset "UTF-8";
/* src/app/components/TagCell/styles.css */
.NLT__tag-cell {
display: flex;
align-items: center;
padding: 4px 8px;
white-space: nowrap;
}
.NLT__tag {
display: flex;
align-items: center;
border-radius: 8px;
padding: 2px 8px;
padding: 1px 8px;
width: fit-content;
color: black;
color: var(--text-normal);
}
.NLT__tag-content {
width: 100%;
}
/* src/app/components/CheckboxCell/styles.css */
.NLT__checkbox-cell {
width: 100%;
}
/* src/app/components/DateCell/styles.css */
.NLT__date-cell {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
/* src/app/components/NumberCell/styles.css */
.NLT__number-cell {
width: 100%;
text-align: right;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
/* src/app/components/Menu/styles.css */
.NLT__menu {
position: relative;
}
.NLT__menu-container {
position: absolute;
@ -29,18 +50,31 @@
border: 1px solid var(--background-modifier-border);
box-shadow: 0 2px 8px var(--background-modifier-box-shadow);
z-index: var(--layer-menu);
width: fit-content;
}
/* src/app/components/TextCellEdit/styles.css */
.NLT__textarea {
width: 100%;
padding: 4px 10px;
border: 0;
overflow: hidden;
}
/* src/app/components/TagCellEdit/component/SelectableTag/styles.css */
.NLT__selectable-tag {
display: flex;
justify-content: space-between;
padding: 4px 6px;
}
/* src/app/components/Button/styles.css */
.NLT__button {
display: flex;
align-items: center;
padding: 4px 6px;
white-space: nowrap;
color: var(--text-normal);
margin-right: 0;
}
.NLT__button--icon {
padding: 1px 3px;
@ -71,6 +105,13 @@
grid-template-columns: 100px 100px;
}
/* src/app/components/TagCellEdit/component/CreateTag/styles.css */
.NLT__create-tag {
display: flex;
align-items: center;
padding: 4px 6px;
}
/* src/app/components/TagCellEdit/styles.css */
.NLT__tag-menu {
width: 15rem;
@ -90,12 +131,733 @@
margin: 5px 0px;
width: 100%;
}
.NLT__tag-menu-input {
.NLT__tag-input {
background-color: transparent !important;
border: 0 !important;
width: 100%;
min-width: 100px;
padding-left: 0px !important;
margin-left: 5px;
}
/* node_modules/react-datepicker/dist/react-datepicker.css */
.react-datepicker__year-read-view--down-arrow,
.react-datepicker__month-read-view--down-arrow,
.react-datepicker__month-year-read-view--down-arrow,
.react-datepicker__navigation-icon::before {
border-color: #ccc;
border-style: solid;
border-width: 3px 3px 0 0;
content: "";
display: block;
height: 9px;
position: absolute;
top: 6px;
width: 9px;
}
.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle,
.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle {
margin-left: -4px;
position: absolute;
width: 0;
}
.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle::before,
.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle::before,
.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle::after,
.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle::after {
box-sizing: content-box;
position: absolute;
border: 8px solid transparent;
height: 0;
width: 1px;
content: "";
z-index: -1;
border-width: 8px;
left: -8px;
}
.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle::before,
.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle::before {
border-bottom-color: #aeaeae;
}
.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle {
top: 0;
margin-top: -8px;
}
.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle::before,
.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle::after {
border-top: none;
border-bottom-color: #f0f0f0;
}
.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle::after {
top: 0;
}
.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle::before {
top: -1px;
border-bottom-color: #aeaeae;
}
.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle {
bottom: 0;
margin-bottom: -8px;
}
.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle::before,
.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle::after {
border-bottom: none;
border-top-color: #fff;
}
.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle::after {
bottom: 0;
}
.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle::before {
bottom: -1px;
border-top-color: #aeaeae;
}
.react-datepicker-wrapper {
display: inline-block;
padding: 0;
border: 0;
width: 100%;
}
.react-datepicker {
font-family:
"Helvetica Neue",
helvetica,
arial,
sans-serif;
font-size: 0.8rem;
background-color: #fff;
color: #000;
border: 1px solid #aeaeae;
border-radius: 0.3rem;
display: inline-block;
position: relative;
}
.react-datepicker--time-only .react-datepicker__triangle {
left: 35px;
}
.react-datepicker--time-only .react-datepicker__time-container {
border-left: 0;
}
.react-datepicker--time-only .react-datepicker__time,
.react-datepicker--time-only .react-datepicker__time-box {
border-bottom-left-radius: 0.3rem;
border-bottom-right-radius: 0.3rem;
}
.react-datepicker__triangle {
position: absolute;
left: 50px;
}
.react-datepicker-popper {
z-index: 1;
}
.react-datepicker-popper[data-placement^=bottom] {
padding-top: 10px;
}
.react-datepicker-popper[data-placement=bottom-end] .react-datepicker__triangle,
.react-datepicker-popper[data-placement=top-end] .react-datepicker__triangle {
left: auto;
right: 50px;
}
.react-datepicker-popper[data-placement^=top] {
padding-bottom: 10px;
}
.react-datepicker-popper[data-placement^=right] {
padding-left: 8px;
}
.react-datepicker-popper[data-placement^=right] .react-datepicker__triangle {
left: auto;
right: 42px;
}
.react-datepicker-popper[data-placement^=left] {
padding-right: 8px;
}
.react-datepicker-popper[data-placement^=left] .react-datepicker__triangle {
left: 42px;
right: auto;
}
.react-datepicker__header {
text-align: center;
background-color: #f0f0f0;
border-bottom: 1px solid #aeaeae;
border-top-left-radius: 0.3rem;
padding: 8px 0;
position: relative;
}
.react-datepicker__header--time {
padding-bottom: 8px;
padding-left: 5px;
padding-right: 5px;
}
.react-datepicker__header--time:not(.react-datepicker__header--time--only) {
border-top-left-radius: 0;
}
.react-datepicker__header:not(.react-datepicker__header--has-time-select) {
border-top-right-radius: 0.3rem;
}
.react-datepicker__year-dropdown-container--select,
.react-datepicker__month-dropdown-container--select,
.react-datepicker__month-year-dropdown-container--select,
.react-datepicker__year-dropdown-container--scroll,
.react-datepicker__month-dropdown-container--scroll,
.react-datepicker__month-year-dropdown-container--scroll {
display: inline-block;
margin: 0 2px;
}
.react-datepicker__current-month,
.react-datepicker-time__header,
.react-datepicker-year-header {
margin-top: 0;
color: #000;
font-weight: bold;
font-size: 0.944rem;
}
.react-datepicker-time__header {
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}
.react-datepicker__navigation {
align-items: center;
background: none;
display: flex;
justify-content: center;
text-align: center;
cursor: pointer;
position: absolute;
top: 2px;
padding: 0;
border: none;
z-index: 1;
height: 32px;
width: 32px;
text-indent: -999em;
overflow: hidden;
}
.react-datepicker__navigation--previous {
left: 2px;
}
.react-datepicker__navigation--next {
right: 2px;
}
.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button) {
right: 85px;
}
.react-datepicker__navigation--years {
position: relative;
top: 0;
display: block;
margin-left: auto;
margin-right: auto;
}
.react-datepicker__navigation--years-previous {
top: 4px;
}
.react-datepicker__navigation--years-upcoming {
top: -4px;
}
.react-datepicker__navigation:hover *::before {
border-color: #a6a6a6;
}
.react-datepicker__navigation-icon {
position: relative;
top: -1px;
font-size: 20px;
width: 0;
}
.react-datepicker__navigation-icon--next {
left: -2px;
}
.react-datepicker__navigation-icon--next::before {
transform: rotate(45deg);
left: -7px;
}
.react-datepicker__navigation-icon--previous {
right: -2px;
}
.react-datepicker__navigation-icon--previous::before {
transform: rotate(225deg);
right: -7px;
}
.react-datepicker__month-container {
float: left;
}
.react-datepicker__year {
margin: 0.4rem;
text-align: center;
}
.react-datepicker__year-wrapper {
display: flex;
flex-wrap: wrap;
max-width: 180px;
}
.react-datepicker__year .react-datepicker__year-text {
display: inline-block;
width: 4rem;
margin: 2px;
}
.react-datepicker__month {
margin: 0.4rem;
text-align: center;
}
.react-datepicker__month .react-datepicker__month-text,
.react-datepicker__month .react-datepicker__quarter-text {
display: inline-block;
width: 4rem;
margin: 2px;
}
.react-datepicker__input-time-container {
clear: both;
width: 100%;
float: left;
margin: 5px 0 10px 15px;
text-align: left;
}
.react-datepicker__input-time-container .react-datepicker-time__caption {
display: inline-block;
}
.react-datepicker__input-time-container .react-datepicker-time__input-container {
display: inline-block;
}
.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input {
display: inline-block;
margin-left: 10px;
}
.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input {
width: auto;
}
.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,
.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button {
-webkit-appearance: none;
margin: 0;
}
.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time] {
-moz-appearance: textfield;
}
.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter {
margin-left: 5px;
display: inline-block;
}
.react-datepicker__time-container {
float: right;
border-left: 1px solid #aeaeae;
width: 85px;
}
.react-datepicker__time-container--with-today-button {
display: inline;
border: 1px solid #aeaeae;
border-radius: 0.3rem;
position: absolute;
right: -72px;
top: 0;
}
.react-datepicker__time-container .react-datepicker__time {
position: relative;
background: white;
border-bottom-right-radius: 0.3rem;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box {
width: 85px;
overflow-x: hidden;
margin: 0 auto;
text-align: center;
border-bottom-right-radius: 0.3rem;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list {
list-style: none;
margin: 0;
height: calc(195px + (1.7rem / 2));
overflow-y: scroll;
padding-right: 0;
padding-left: 0;
width: 100%;
box-sizing: content-box;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item {
height: 30px;
padding: 5px 10px;
white-space: nowrap;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover {
cursor: pointer;
background-color: #f0f0f0;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected {
background-color: #216ba5;
color: white;
font-weight: bold;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover {
background-color: #216ba5;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled {
color: #ccc;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover {
cursor: default;
background-color: transparent;
}
.react-datepicker__week-number {
color: #ccc;
display: inline-block;
width: 1.7rem;
line-height: 1.7rem;
text-align: center;
margin: 0.166rem;
}
.react-datepicker__week-number.react-datepicker__week-number--clickable {
cursor: pointer;
}
.react-datepicker__week-number.react-datepicker__week-number--clickable:hover {
border-radius: 0.3rem;
background-color: #f0f0f0;
}
.react-datepicker__day-names,
.react-datepicker__week {
white-space: nowrap;
}
.react-datepicker__day-names {
margin-bottom: -8px;
}
.react-datepicker__day-name,
.react-datepicker__day,
.react-datepicker__time-name {
color: #000;
display: inline-block;
width: 1.7rem;
line-height: 1.7rem;
text-align: center;
margin: 0.166rem;
}
.react-datepicker__month--selected,
.react-datepicker__month--in-selecting-range,
.react-datepicker__month--in-range,
.react-datepicker__quarter--selected,
.react-datepicker__quarter--in-selecting-range,
.react-datepicker__quarter--in-range {
border-radius: 0.3rem;
background-color: #216ba5;
color: #fff;
}
.react-datepicker__month--selected:hover,
.react-datepicker__month--in-selecting-range:hover,
.react-datepicker__month--in-range:hover,
.react-datepicker__quarter--selected:hover,
.react-datepicker__quarter--in-selecting-range:hover,
.react-datepicker__quarter--in-range:hover {
background-color: #1d5d90;
}
.react-datepicker__month--disabled,
.react-datepicker__quarter--disabled {
color: #ccc;
pointer-events: none;
}
.react-datepicker__month--disabled:hover,
.react-datepicker__quarter--disabled:hover {
cursor: default;
background-color: transparent;
}
.react-datepicker__day,
.react-datepicker__month-text,
.react-datepicker__quarter-text,
.react-datepicker__year-text {
cursor: pointer;
}
.react-datepicker__day:hover,
.react-datepicker__month-text:hover,
.react-datepicker__quarter-text:hover,
.react-datepicker__year-text:hover {
border-radius: 0.3rem;
background-color: #f0f0f0;
}
.react-datepicker__day--today,
.react-datepicker__month-text--today,
.react-datepicker__quarter-text--today,
.react-datepicker__year-text--today {
font-weight: bold;
}
.react-datepicker__day--highlighted,
.react-datepicker__month-text--highlighted,
.react-datepicker__quarter-text--highlighted,
.react-datepicker__year-text--highlighted {
border-radius: 0.3rem;
background-color: #3dcc4a;
color: #fff;
}
.react-datepicker__day--highlighted:hover,
.react-datepicker__month-text--highlighted:hover,
.react-datepicker__quarter-text--highlighted:hover,
.react-datepicker__year-text--highlighted:hover {
background-color: #32be3f;
}
.react-datepicker__day--highlighted-custom-1,
.react-datepicker__month-text--highlighted-custom-1,
.react-datepicker__quarter-text--highlighted-custom-1,
.react-datepicker__year-text--highlighted-custom-1 {
color: magenta;
}
.react-datepicker__day--highlighted-custom-2,
.react-datepicker__month-text--highlighted-custom-2,
.react-datepicker__quarter-text--highlighted-custom-2,
.react-datepicker__year-text--highlighted-custom-2 {
color: green;
}
.react-datepicker__day--selected,
.react-datepicker__day--in-selecting-range,
.react-datepicker__day--in-range,
.react-datepicker__month-text--selected,
.react-datepicker__month-text--in-selecting-range,
.react-datepicker__month-text--in-range,
.react-datepicker__quarter-text--selected,
.react-datepicker__quarter-text--in-selecting-range,
.react-datepicker__quarter-text--in-range,
.react-datepicker__year-text--selected,
.react-datepicker__year-text--in-selecting-range,
.react-datepicker__year-text--in-range {
border-radius: 0.3rem;
background-color: #216ba5;
color: #fff;
}
.react-datepicker__day--selected:hover,
.react-datepicker__day--in-selecting-range:hover,
.react-datepicker__day--in-range:hover,
.react-datepicker__month-text--selected:hover,
.react-datepicker__month-text--in-selecting-range:hover,
.react-datepicker__month-text--in-range:hover,
.react-datepicker__quarter-text--selected:hover,
.react-datepicker__quarter-text--in-selecting-range:hover,
.react-datepicker__quarter-text--in-range:hover,
.react-datepicker__year-text--selected:hover,
.react-datepicker__year-text--in-selecting-range:hover,
.react-datepicker__year-text--in-range:hover {
background-color: #1d5d90;
}
.react-datepicker__day--keyboard-selected,
.react-datepicker__month-text--keyboard-selected,
.react-datepicker__quarter-text--keyboard-selected,
.react-datepicker__year-text--keyboard-selected {
border-radius: 0.3rem;
background-color: #2579ba;
color: #fff;
}
.react-datepicker__day--keyboard-selected:hover,
.react-datepicker__month-text--keyboard-selected:hover,
.react-datepicker__quarter-text--keyboard-selected:hover,
.react-datepicker__year-text--keyboard-selected:hover {
background-color: #1d5d90;
}
.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range, .react-datepicker__month-text--in-range, .react-datepicker__quarter-text--in-range, .react-datepicker__year-text--in-range),
.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range, .react-datepicker__month-text--in-range, .react-datepicker__quarter-text--in-range, .react-datepicker__year-text--in-range),
.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range, .react-datepicker__month-text--in-range, .react-datepicker__quarter-text--in-range, .react-datepicker__year-text--in-range),
.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range, .react-datepicker__month-text--in-range, .react-datepicker__quarter-text--in-range, .react-datepicker__year-text--in-range) {
background-color: rgba(33, 107, 165, 0.5);
}
.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range, .react-datepicker__month-text--in-selecting-range, .react-datepicker__quarter-text--in-selecting-range, .react-datepicker__year-text--in-selecting-range),
.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range, .react-datepicker__month-text--in-selecting-range, .react-datepicker__quarter-text--in-selecting-range, .react-datepicker__year-text--in-selecting-range),
.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range, .react-datepicker__month-text--in-selecting-range, .react-datepicker__quarter-text--in-selecting-range, .react-datepicker__year-text--in-selecting-range),
.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range, .react-datepicker__month-text--in-selecting-range, .react-datepicker__quarter-text--in-selecting-range, .react-datepicker__year-text--in-selecting-range) {
background-color: #f0f0f0;
color: #000;
}
.react-datepicker__day--disabled,
.react-datepicker__month-text--disabled,
.react-datepicker__quarter-text--disabled,
.react-datepicker__year-text--disabled {
cursor: default;
color: #ccc;
}
.react-datepicker__day--disabled:hover,
.react-datepicker__month-text--disabled:hover,
.react-datepicker__quarter-text--disabled:hover,
.react-datepicker__year-text--disabled:hover {
background-color: transparent;
}
.react-datepicker__month-text.react-datepicker__month--selected:hover,
.react-datepicker__month-text.react-datepicker__month--in-range:hover,
.react-datepicker__month-text.react-datepicker__quarter--selected:hover,
.react-datepicker__month-text.react-datepicker__quarter--in-range:hover,
.react-datepicker__quarter-text.react-datepicker__month--selected:hover,
.react-datepicker__quarter-text.react-datepicker__month--in-range:hover,
.react-datepicker__quarter-text.react-datepicker__quarter--selected:hover,
.react-datepicker__quarter-text.react-datepicker__quarter--in-range:hover {
background-color: #216ba5;
}
.react-datepicker__month-text:hover,
.react-datepicker__quarter-text:hover {
background-color: #f0f0f0;
}
.react-datepicker__input-container {
position: relative;
display: inline-block;
width: 100%;
}
.react-datepicker__year-read-view,
.react-datepicker__month-read-view,
.react-datepicker__month-year-read-view {
border: 1px solid transparent;
border-radius: 0.3rem;
position: relative;
}
.react-datepicker__year-read-view:hover,
.react-datepicker__month-read-view:hover,
.react-datepicker__month-year-read-view:hover {
cursor: pointer;
}
.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow,
.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,
.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,
.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,
.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,
.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow {
border-top-color: #b3b3b3;
}
.react-datepicker__year-read-view--down-arrow,
.react-datepicker__month-read-view--down-arrow,
.react-datepicker__month-year-read-view--down-arrow {
transform: rotate(135deg);
right: -16px;
top: 0;
}
.react-datepicker__year-dropdown,
.react-datepicker__month-dropdown,
.react-datepicker__month-year-dropdown {
background-color: #f0f0f0;
position: absolute;
width: 50%;
left: 25%;
top: 30px;
z-index: 1;
text-align: center;
border-radius: 0.3rem;
border: 1px solid #aeaeae;
}
.react-datepicker__year-dropdown:hover,
.react-datepicker__month-dropdown:hover,
.react-datepicker__month-year-dropdown:hover {
cursor: pointer;
}
.react-datepicker__year-dropdown--scrollable,
.react-datepicker__month-dropdown--scrollable,
.react-datepicker__month-year-dropdown--scrollable {
height: 150px;
overflow-y: scroll;
}
.react-datepicker__year-option,
.react-datepicker__month-option,
.react-datepicker__month-year-option {
line-height: 20px;
width: 100%;
display: block;
margin-left: auto;
margin-right: auto;
}
.react-datepicker__year-option:first-of-type,
.react-datepicker__month-option:first-of-type,
.react-datepicker__month-year-option:first-of-type {
border-top-left-radius: 0.3rem;
border-top-right-radius: 0.3rem;
}
.react-datepicker__year-option:last-of-type,
.react-datepicker__month-option:last-of-type,
.react-datepicker__month-year-option:last-of-type {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
border-bottom-left-radius: 0.3rem;
border-bottom-right-radius: 0.3rem;
}
.react-datepicker__year-option:hover,
.react-datepicker__month-option:hover,
.react-datepicker__month-year-option:hover {
background-color: #ccc;
}
.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,
.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,
.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming {
border-bottom-color: #b3b3b3;
}
.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,
.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,
.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous {
border-top-color: #b3b3b3;
}
.react-datepicker__year-option--selected,
.react-datepicker__month-option--selected,
.react-datepicker__month-year-option--selected {
position: absolute;
left: 15px;
}
.react-datepicker__close-icon {
cursor: pointer;
background-color: transparent;
border: 0;
outline: 0;
padding: 0 6px 0 0;
position: absolute;
top: 0;
right: 0;
height: 100%;
display: table-cell;
vertical-align: middle;
}
.react-datepicker__close-icon::after {
cursor: pointer;
background-color: #216ba5;
color: #fff;
border-radius: 50%;
height: 16px;
width: 16px;
padding: 2px;
font-size: 12px;
line-height: 1;
text-align: center;
display: table-cell;
vertical-align: middle;
content: "\d7";
}
.react-datepicker__today-button {
background: #f0f0f0;
border-top: 1px solid #aeaeae;
cursor: pointer;
text-align: center;
font-weight: bold;
padding: 5px 0;
clear: left;
}
.react-datepicker__portal {
position: fixed;
width: 100vw;
height: 100vh;
background-color: rgba(0, 0, 0, 0.8);
left: 0;
top: 0;
justify-content: center;
align-items: center;
display: flex;
z-index: 2147483647;
}
.react-datepicker__portal .react-datepicker__day-name,
.react-datepicker__portal .react-datepicker__day,
.react-datepicker__portal .react-datepicker__time-name {
width: 3rem;
line-height: 3rem;
}
@media (max-width: 400px), (max-height: 550px) {
.react-datepicker__portal .react-datepicker__day-name,
.react-datepicker__portal .react-datepicker__day,
.react-datepicker__portal .react-datepicker__time-name {
width: 2rem;
line-height: 2rem;
}
}
.react-datepicker__portal .react-datepicker__current-month,
.react-datepicker__portal .react-datepicker-time__header {
font-size: 1.44rem;
}
/* src/app/components/DateCellEdit/styles.css */
.NLT__date-input {
width: 100%;
padding: 0px 10px !important;
border: 0 !important;
}
/* src/app/components/EditableTd/styles.css */
@ -106,13 +868,24 @@
}
/* src/app/components/Table/styles.css */
tbody > tr > .NLT__td:last-child {
.NLT__table {
}
.NLT__thead {
}
.NLT__tbody {
}
.NLT__tbody > tr > .NLT__td:last-child {
border: 0 !important;
vertical-align: middle;
}
tfoot > tr > .NLT__td {
.NLT__tfoot > tr > .NLT__td {
border: 0 !important;
}
.NLT__tfoot::after {
content: " ";
display: block;
height: 10px;
}
/* src/app/components/IconText/styles.css */
.NLT__icon-text {
@ -124,12 +897,12 @@ tfoot > tr > .NLT__td {
margin: 0;
}
/* src/app/components/DragMenu/components/DragMenuItem/styles.css */
/* src/app/components/RowMenu/components/RowMenuItem/styles.css */
.NLT__drag-menu-item:focus-visible {
outline: 1px solid blue;
}
/* src/app/components/DragMenu/styles.css */
/* src/app/components/RowMenu/styles.css */
.NLT__drag-menu {
font-size: 0.9rem;
padding: 4px 10px;
@ -139,6 +912,7 @@ tfoot > tr > .NLT__td {
.NLT__header-menu {
padding: 4px 10px;
cursor: default;
color: var(--text-normal);
}
.NLT__header-menu-item:focus-visible {
outline: 1px solid blue;
@ -234,7 +1008,6 @@ tfoot > tr > .NLT__td {
color: red;
}
.NLT__app {
margin-bottom: 20px;
overflow: auto;
}
.NLT__icon--selectable:hover {
@ -260,9 +1033,6 @@ tfoot > tr > .NLT__td {
.NLT__margin-left {
margin-left: 4px;
}
.NLT__p {
margin: 0;
}
.NLT__input {
height: 100%;
width: 100%;
@ -274,6 +1044,3 @@ tfoot > tr > .NLT__td {
.NLT__input--number {
text-align: right;
}
.NLT__input--textarea {
overflow: hidden;
}

@ -12,8 +12,8 @@
"checkpointList": [
{
"path": "/",
"date": "2022-05-27",
"size": 4834396
"date": "2022-05-31",
"size": 4889645
}
],
"activityHistory": [
@ -574,7 +574,23 @@
},
{
"date": "2022-05-27",
"value": 0
"value": 30111
},
{
"date": "2022-05-28",
"value": 1695
},
{
"date": "2022-05-29",
"value": 4830
},
{
"date": "2022-05-30",
"value": 9561
},
{
"date": "2022-05-31",
"value": 10244
}
]
}

File diff suppressed because one or more lines are too long

@ -4,7 +4,7 @@
"description": "Advanced modes for Obsidian URI",
"isDesktopOnly": false,
"js": "main.js",
"version": "1.21.1",
"version": "1.22.0",
"author": "Vinzent",
"authorUrl": "https://github.com/Vinzent03"
}

File diff suppressed because it is too large Load Diff

@ -0,0 +1,10 @@
{
"id": "obsidian-bbcode",
"name": "BBCode Convertor",
"version": "1.0.0",
"minAppVersion": "0.12.0",
"description": "Convert Markdown files to BBCode",
"author": "Alex Lockhart",
"authorUrl": "https://github.com/salockhart/obsidian-bbcode",
"isDesktopOnly": false
}

@ -51,7 +51,67 @@ var __async = (__this, __arguments, generator) => {
__export(exports, {
default: () => ObsidianColumns
});
var import_obsidian2 = __toModule(require("obsidian"));
// obsidian-settings/settings.ts
var import_obsidian = __toModule(require("obsidian"));
var parseBoolean = (value) => {
return value == "yes" || value == "true";
};
var parseObject = (value, typ) => {
if (typ == "string") {
return value;
}
if (typ == "boolean") {
return parseBoolean(value);
}
if (typ == "number") {
return parseFloat(value);
}
};
function display(obj, DEFAULT_SETTINGS2, name) {
const { containerEl } = obj;
containerEl.empty();
containerEl.createEl("h2", { text: "Settings for " + name });
let keyvals = Object.entries(DEFAULT_SETTINGS2);
for (let keyval of keyvals) {
let setting = new import_obsidian.Setting(containerEl).setName(keyval[1].name).setDesc(keyval[1].desc);
if (typeof keyval[1].value == "boolean") {
setting.addToggle((toggle) => toggle.setValue(obj.plugin.settings[keyval[0]].value).onChange((bool) => {
obj.plugin.settings[keyval[0]].value = bool;
obj.plugin.saveSettings();
}));
} else {
setting.addText((text) => text.setPlaceholder(String(keyval[1].value)).setValue(String(obj.plugin.settings[keyval[0]].value)).onChange((value) => {
obj.plugin.settings[keyval[0]].value = parseObject(value, typeof keyval[1].value);
obj.plugin.saveSettings();
}));
}
}
}
function loadSettings(obj, DEFAULT_SETTINGS2) {
obj.settings = DEFAULT_SETTINGS2;
obj.loadData().then((data) => {
if (data) {
let items = Object.entries(data);
items.forEach((item) => {
obj.settings[item[0]].value = item[1];
});
}
});
}
function saveSettings(obj, DEFAULT_SETTINGS2) {
return __async(this, null, function* () {
let saveData = {};
Object.entries(obj.settings).forEach((i) => {
saveData[i[0]] = i[1].value;
});
yield obj.saveData(saveData);
});
}
// main.ts
var NAME = "Obsidian Columns";
var COLUMNNAME = "col";
var COLUMNMD = COLUMNNAME + "-md";
var TOKEN = "!!!";
@ -76,7 +136,7 @@ var parseSettings = (settings) => {
});
return o;
};
var ObsidianColumns = class extends import_obsidian.Plugin {
var ObsidianColumns = class extends import_obsidian2.Plugin {
constructor() {
super(...arguments);
this.generateCssString = (span) => {
@ -89,20 +149,6 @@ var ObsidianColumns = class extends import_obsidian.Plugin {
this.applyStyle = (el, styles) => {
Object.assign(el.style, styles);
};
this.parseBoolean = (value) => {
return value == "yes" || value == "true";
};
this.parseObject = (value, typ) => {
if (typ == "string") {
return value;
}
if (typ == "boolean") {
return this.parseBoolean(value);
}
if (typ == "number") {
return parseFloat(value);
}
};
this.processChild = (c) => {
if (c.firstChild != null && "tagName" in c.firstChild && c.firstChild.tagName == "BR") {
c.removeChild(c.firstChild);
@ -136,9 +182,9 @@ var ObsidianColumns = class extends import_obsidian.Plugin {
}
const sourcePath = ctx.sourcePath;
let child = el.createDiv();
let renderChild = new import_obsidian.MarkdownRenderChild(child);
let renderChild = new import_obsidian2.MarkdownRenderChild(child);
ctx.addChild(renderChild);
import_obsidian.MarkdownRenderer.renderMarkdown(source, child, sourcePath, renderChild);
import_obsidian2.MarkdownRenderer.renderMarkdown(source, child, sourcePath, renderChild);
if ("flexGrow" in settings) {
let flexGrow = parseFloat(settings.flexGrow);
let CSS = this.generateCssString(flexGrow);
@ -149,13 +195,13 @@ var ObsidianColumns = class extends import_obsidian.Plugin {
this.registerMarkdownCodeBlockProcessor(COLUMNNAME, (source, el, ctx) => {
const sourcePath = ctx.sourcePath;
let child = createDiv();
let renderChild = new import_obsidian.MarkdownRenderChild(child);
let renderChild = new import_obsidian2.MarkdownRenderChild(child);
ctx.addChild(renderChild);
import_obsidian.MarkdownRenderer.renderMarkdown(source, child, sourcePath, renderChild);
import_obsidian2.MarkdownRenderer.renderMarkdown(source, child, sourcePath, renderChild);
let parent = el.createEl("div", { cls: "columnParent" });
Array.from(child.children).forEach((c) => {
let cc = parent.createEl("div", { cls: "columnChild" });
let renderCc = new import_obsidian.MarkdownRenderChild(cc);
let renderCc = new import_obsidian2.MarkdownRenderChild(cc);
ctx.addChild(renderCc);
this.applyStyle(cc, this.generateCssString(this.settings.defaultSpan.value));
cc.appendChild(c);
@ -185,7 +231,7 @@ var ObsidianColumns = class extends import_obsidian.Plugin {
}
child.removeChild(listItem);
let colParent = element.createEl("div", { cls: "columnParent" });
let renderColP = new import_obsidian.MarkdownRenderChild(colParent);
let renderColP = new import_obsidian2.MarkdownRenderChild(colParent);
context.addChild(renderColP);
let itemList = listItem.querySelector("ul, ol");
if (itemList == null) {
@ -193,7 +239,7 @@ var ObsidianColumns = class extends import_obsidian.Plugin {
}
for (let itemListItem of Array.from(itemList.children)) {
let childDiv = colParent.createEl("div", { cls: "columnChild" });
let renderColC = new import_obsidian.MarkdownRenderChild(childDiv);
let renderColC = new import_obsidian2.MarkdownRenderChild(childDiv);
context.addChild(renderColC);
let span = parseFloat(itemListItem.textContent.split("\n")[0].split(" ")[0]);
if (isNaN(span)) {
@ -224,50 +270,21 @@ var ObsidianColumns = class extends import_obsidian.Plugin {
}
loadSettings() {
return __async(this, null, function* () {
this.settings = DEFAULT_SETTINGS;
this.loadData().then((data) => {
if (data) {
let items = Object.entries(data);
items.forEach((item) => {
this.settings[item[0]].value = item[1];
});
}
});
loadSettings(this, DEFAULT_SETTINGS);
});
}
saveSettings() {
return __async(this, null, function* () {
let saveData = {};
Object.entries(this.settings).forEach((i) => {
saveData[i[0]] = i[1].value;
});
yield this.saveData(saveData);
yield saveSettings(this, DEFAULT_SETTINGS);
});
}
};
var ObsidianColumnsSettings = class extends import_obsidian.PluginSettingTab {
var ObsidianColumnsSettings = class extends import_obsidian2.PluginSettingTab {
constructor(app, plugin) {
super(app, plugin);
this.plugin = plugin;
}
display() {
const { containerEl } = this;
containerEl.empty();
containerEl.createEl("h2", { text: "Settings for obsidian-columns" });
let keyvals = Object.entries(DEFAULT_SETTINGS);
for (let keyval of keyvals) {
let setting = new import_obsidian.Setting(containerEl).setName(keyval[1].name).setDesc(keyval[1].desc);
if (typeof keyval[1].value == "boolean") {
setting.addToggle((toggle) => toggle.setValue(this.plugin.settings[keyval[0]].value).onChange((bool) => {
this.plugin.settings[keyval[0]].value = bool;
this.plugin.saveSettings();
}));
} else {
setting.addText((text) => text.setPlaceholder(String(keyval[1].value)).setValue(String(this.plugin.settings[keyval[0]].value)).onChange((value) => {
this.plugin.settings[keyval[0]].value = this.plugin.parseObject(value, typeof keyval[1].value);
this.plugin.saveSettings();
}));
}
}
display(this, DEFAULT_SETTINGS, NAME);
}
};

@ -6,5 +6,5 @@
"author": "Trevor Nichols",
"authorUrl": "https://github.com/tnichols217/obsidian-columns",
"isDesktopOnly": false,
"version": "1.1.2"
"version": "1.1.4"
}

@ -3,6 +3,7 @@
padding: 15px 20px;
flex-wrap: wrap;
gap: 20px;
white-space: normal
}
.columnChild {

@ -1440,7 +1440,7 @@
"links": 2
},
"02.03 Zürich/@Restaurants Zürich.md": {
"size": 2750,
"size": 2354,
"tags": 2,
"links": 3
},
@ -1870,7 +1870,7 @@
"links": 18
},
"05.02 Networks/Configuring UFW.md": {
"size": 5806,
"size": 6388,
"tags": 2,
"links": 7
},
@ -1935,7 +1935,7 @@
"links": 1
},
"01.02 Home/Household.md": {
"size": 2957,
"size": 3729,
"tags": 3,
"links": 2
},
@ -2795,7 +2795,7 @@
"links": 6
},
"06.02 Investments/Crypto Tasks.md": {
"size": 7231,
"size": 8029,
"tags": 3,
"links": 11
},
@ -4009,11 +4009,6 @@
"tags": 0,
"links": 4
},
"00.02 Inbox/The rise of the Strangler.md": {
"size": 34247,
"tags": 0,
"links": 1
},
"00.03 News/How Hollywoods Blockbuster Golden Boys Went Weird Los Angeles Magazine.md": {
"size": 12558,
"tags": 3,
@ -4037,7 +4032,7 @@
"00.03 News/A new generation of white supremacist killer - Los Angeles Times.md": {
"size": 16262,
"tags": 4,
"links": 1
"links": 2
},
"00.01 Admin/Calendars/2022-05-23.md": {
"size": 1018,
@ -4069,23 +4064,73 @@
"tags": 0,
"links": 4
},
"00.02 Inbox/Make the Most of Your Salads With Balsamic Honey Salad Dressing.md": {
"size": 4700,
"tags": 0,
"links": 1
},
"00.03 News/After Christendom.md": {
"size": 31057,
"tags": 2,
"links": 1
"links": 2
},
"00.01 Admin/Calendars/2022-05-27.md": {
"size": 1009,
"tags": 0,
"links": 4
},
"00.03 News/The Richest Black Girl in America.md": {
"size": 33795,
"tags": 3,
"links": 2
},
"00.03 News/The rise of the Strangler.md": {
"size": 34247,
"tags": 2,
"links": 2
},
"00.01 Admin/Calendars/2022-05-28.md": {
"size": 1009,
"tags": 0,
"links": 4
},
"00.01 Admin/Calendars/2022-05-29.md": {
"size": 1125,
"tags": 0,
"links": 7
},
"02.03 Zürich/La Réserve.md": {
"size": 1080,
"tags": 1,
"links": 2
},
"02.03 Zürich/No Idea.md": {
"size": 1051,
"tags": 1,
"links": 2
},
"00.01 Admin/Calendars/2022-05-30.md": {
"size": 1220,
"tags": 0,
"links": 8
},
"00.03 News/The Silent Impact of Burnout — and How to Overcome It as a Leader.md": {
"size": 8082,
"tags": 3,
"links": 2
},
"00.01 Admin/Calendars/2022-05-31.md": {
"size": 1013,
"tags": 0,
"links": 4
},
"00.03 News/The Women Who Ran Genghis Khans Empire.md": {
"size": 9270,
"tags": 3,
"links": 2
}
},
"commitTypes": {
"/": {
"Refactor": 551,
"Create": 480,
"Link": 977,
"Expand": 453
"Refactor": 560,
"Create": 490,
"Link": 1001,
"Expand": 465
}
},
"dailyCommits": {
@ -4098,18 +4143,18 @@
"5": 6,
"6": 18,
"7": 181,
"8": 244,
"9": 193,
"10": 123,
"11": 90,
"12": 112,
"13": 214,
"14": 142,
"15": 98,
"8": 248,
"9": 196,
"10": 131,
"11": 103,
"12": 117,
"13": 217,
"14": 145,
"15": 101,
"16": 94,
"17": 92,
"18": 278,
"19": 92,
"19": 105,
"20": 105,
"21": 57,
"22": 173,
@ -4118,18 +4163,30 @@
},
"weeklyCommits": {
"/": {
"Mon": 363,
"Tue": 197,
"Mon": 376,
"Tue": 205,
"Wed": 248,
"Thu": 305,
"Fri": 215,
"Fri": 225,
"Sat": 0,
"Sun": 1133
"Sun": 1157
}
},
"recentCommits": {
"/": {
"Expanded": [
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-31.md\"> 2022-05-31 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-30.md\"> 2022-05-30 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-29.md\"> 2022-05-29 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-30.md\"> 2022-05-30 </a>",
"<a class=\"internal-link\" href=\"No Idea.md\"> No Idea </a>",
"<a class=\"internal-link\" href=\"La Réserve.md\"> La Réserve </a>",
"<a class=\"internal-link\" href=\"01.02 Home/Household.md\"> Household </a>",
"<a class=\"internal-link\" href=\"01.02 Home/Household.md\"> Household </a>",
"<a class=\"internal-link\" href=\"05.02 Networks/Configuring UFW.md\"> Configuring UFW </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-29.md\"> 2022-05-29 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-28.md\"> 2022-05-28 </a>",
"<a class=\"internal-link\" href=\"06.02 Investments/Crypto Tasks.md\"> Crypto Tasks </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-26.md\"> 2022-05-26 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-02 Departure to London.md\"> 2022-06-02 Departure to London </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-05 Retour a Zurich.md\"> 2022-06-05 Retour a Zurich </a>",
@ -4168,21 +4225,19 @@
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-09.md\"> 2022-05-09 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-08.md\"> 2022-05-08 </a>",
"<a class=\"internal-link\" href=\"01.01 Life Orga/@Finances.md\"> @Finances </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-07.md\"> 2022-05-07 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-06.md\"> 2022-05-06 </a>",
"<a class=\"internal-link\" href=\"Spiced Eggs with Tzatziki.md\"> Spiced Eggs with Tzatziki </a>",
"<a class=\"internal-link\" href=\"Spiced Eggs with Tzatziki.md\"> Spiced Eggs with Tzatziki </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-05.md\"> 2022-05-05 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-04.md\"> 2022-05-04 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-03.md\"> 2022-05-03 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/delete.md\"> delete </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-02.md\"> 2022-05-02 </a>",
"<a class=\"internal-link\" href=\"05.02 Networks/Configuring UFW.md\"> Configuring UFW </a>",
"<a class=\"internal-link\" href=\"05.01 Computer setup/Storage and Syncing.md\"> Storage and Syncing </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-01.md\"> 2022-05-01 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-04-30.md\"> 2022-04-30 </a>"
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-07.md\"> 2022-05-07 </a>"
],
"Created": [
"<a class=\"internal-link\" href=\"00.02 Inbox/The Women Who Ran Genghis Khans Empire.md\"> The Women Who Ran Genghis Khans Empire </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-31.md\"> 2022-05-31 </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/The Silent Impact of Burnout — and How to Overcome It as a Leader.md\"> The Silent Impact of Burnout — and How to Overcome It as a Leader </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-30.md\"> 2022-05-30 </a>",
"<a class=\"internal-link\" href=\"Untitled.md\"> Untitled </a>",
"<a class=\"internal-link\" href=\"Untitled.md\"> Untitled </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-29.md\"> 2022-05-29 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-28.md\"> 2022-05-28 </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/The Richest Black Girl in America.md\"> The Richest Black Girl in America </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-27.md\"> 2022-05-27 </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/After Christendom.md\"> After Christendom </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/Make the Most of Your Salads With Balsamic Honey Salad Dressing.md\"> Make the Most of Your Salads With Balsamic Honey Salad Dressing </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-26.md\"> 2022-05-26 </a>",
@ -4223,19 +4278,16 @@
"<a class=\"internal-link\" href=\"00.02 Inbox/2022-05-08 16-48-07.md\"> 2022-05-08 16-48-07 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-08.md\"> 2022-05-08 </a>",
"<a class=\"internal-link\" href=\"2022-05-08.md\"> 2022-05-08 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-13 Meggi-mo is arriving in ZH.md\"> 2022-05-13 Meggi-mo is arriving in ZH </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-07.md\"> 2022-05-07 </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/Is Everything Falling Apart.md\"> Is Everything Falling Apart </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-06.md\"> 2022-05-06 </a>",
"<a class=\"internal-link\" href=\"Untitled.md\"> Untitled </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/Spiced Eggs With Tzatziki.md\"> Spiced Eggs With Tzatziki </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-05.md\"> 2022-05-05 </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/GitHub - onceuponBash-Oneliner A collection of handy Bash One-Liners and terminal tricks for data processing and Linux system maintenance..md\"> GitHub - onceuponBash-Oneliner A collection of handy Bash One-Liners and terminal tricks for data processing and Linux system maintenance. </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-04.md\"> 2022-05-04 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-03.md\"> 2022-05-03 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-02.md\"> 2022-05-02 </a>"
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-13 Meggi-mo is arriving in ZH.md\"> 2022-05-13 Meggi-mo is arriving in ZH </a>"
],
"Renamed": [
"<a class=\"internal-link\" href=\"00.03 News/The Women Who Ran Genghis Khans Empire.md\"> The Women Who Ran Genghis Khans Empire </a>",
"<a class=\"internal-link\" href=\"00.03 News/The Silent Impact of Burnout — and How to Overcome It as a Leader.md\"> The Silent Impact of Burnout — and How to Overcome It as a Leader </a>",
"<a class=\"internal-link\" href=\"02.03 Zürich/No Idea.md\"> No Idea </a>",
"<a class=\"internal-link\" href=\"02.03 Zürich/La Réserve.md\"> La Réserve </a>",
"<a class=\"internal-link\" href=\"La Réserve.md\"> La Réserve </a>",
"<a class=\"internal-link\" href=\"00.03 News/The rise of the Strangler.md\"> The rise of the Strangler </a>",
"<a class=\"internal-link\" href=\"00.03 News/The Richest Black Girl in America.md\"> The Richest Black Girl in America </a>",
"<a class=\"internal-link\" href=\"00.03 News/After Christendom.md\"> After Christendom </a>",
"<a class=\"internal-link\" href=\"00.03 News/A new generation of white supremacist killer - Los Angeles Times.md\"> A new generation of white supremacist killer - Los Angeles Times </a>",
"<a class=\"internal-link\" href=\"00.03 News/A Search for Family, a Love for Horses and How It All Led to Kentucky Derby Glory.md\"> A Search for Family, a Love for Horses and How It All Led to Kentucky Derby Glory </a>",
@ -4279,16 +4331,15 @@
"<a class=\"internal-link\" href=\"02.03 Zürich/Cantinetta Antinori.md\"> Cantinetta Antinori </a>",
"<a class=\"internal-link\" href=\"02.03 Zürich/Café des Amis.md\"> Café des Amis </a>",
"<a class=\"internal-link\" href=\"00.06 Professional/The Importance of Leading With Empathy (And How To Do It).md\"> The Importance of Leading With Empathy (And How To Do It) </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Quick shares/Mobile - CH.md\"> Mobile - CH </a>",
"<a class=\"internal-link\" href=\"00.03 News/This Whole Thing Has F---ed Me Up.md\"> This Whole Thing Has F---ed Me Up </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Quick shares/Geo - ZH.md\"> Geo - ZH </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/dv-views/Geo - ZH.md\"> Geo - ZH </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Quick shares/Email - tuta.md\"> Email - tuta </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Quick shares/Email - lebv.md\"> Email - lebv </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Quick shares/WiFI - ZH Guest.md\"> WiFI - ZH Guest </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Quick shares/WiFI - ZH.md\"> WiFI - ZH </a>"
"<a class=\"internal-link\" href=\"00.01 Admin/Quick shares/Mobile - CH.md\"> Mobile - CH </a>"
],
"Tagged": [
"<a class=\"internal-link\" href=\"00.03 News/The Women Who Ran Genghis Khans Empire.md\"> The Women Who Ran Genghis Khans Empire </a>",
"<a class=\"internal-link\" href=\"00.03 News/The Silent Impact of Burnout — and How to Overcome It as a Leader.md\"> The Silent Impact of Burnout — and How to Overcome It as a Leader </a>",
"<a class=\"internal-link\" href=\"No Idea.md\"> No Idea </a>",
"<a class=\"internal-link\" href=\"La Réserve.md\"> La Réserve </a>",
"<a class=\"internal-link\" href=\"00.03 News/The Richest Black Girl in America.md\"> The Richest Black Girl in America </a>",
"<a class=\"internal-link\" href=\"00.03 News/The rise of the Strangler.md\"> The rise of the Strangler </a>",
"<a class=\"internal-link\" href=\"00.03 News/After Christendom.md\"> After Christendom </a>",
"<a class=\"internal-link\" href=\"00.03 News/A new generation of white supremacist killer - Los Angeles Times.md\"> A new generation of white supremacist killer - Los Angeles Times </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/A new generation of white supremacist killer - Los Angeles Times.md\"> A new generation of white supremacist killer - Los Angeles Times </a>",
@ -4333,13 +4384,7 @@
"<a class=\"internal-link\" href=\"Zint.md\"> Zint </a>",
"<a class=\"internal-link\" href=\"00.03 News/H-Town United An Unlikely Soccer Power Rises in Texas.md\"> H-Town United An Unlikely Soccer Power Rises in Texas </a>",
"<a class=\"internal-link\" href=\"00.03 News/Meet the DIY Duo Behind the Amazon Labor Unions Guerrilla Bid to Make History.md\"> Meet the DIY Duo Behind the Amazon Labor Unions Guerrilla Bid to Make History </a>",
"<a class=\"internal-link\" href=\"00.03 News/The Making of Vladimir Putin.md\"> The Making of Vladimir Putin </a>",
"<a class=\"internal-link\" href=\"00.03 News/The twisted mind of a serial romance scammer.md\"> The twisted mind of a serial romance scammer </a>",
"<a class=\"internal-link\" href=\"00.03 News/The Unravelling of an Expert on Serial Killers.md\"> The Unravelling of an Expert on Serial Killers </a>",
"<a class=\"internal-link\" href=\"00.03 News/Kerouac at 100 - The American Scholar.md\"> Kerouac at 100 - The American Scholar </a>",
"<a class=\"internal-link\" href=\"00.03 News/8 Endangered Places We Can Still Save From Climate Change.md\"> 8 Endangered Places We Can Still Save From Climate Change </a>",
"<a class=\"internal-link\" href=\"00.03 News/One Last Trip.md\"> One Last Trip </a>",
"<a class=\"internal-link\" href=\"00.03 News/E-commerce giants couldnt deliver. So these islanders built their own online shopping ecosystem.md\"> E-commerce giants couldnt deliver. So these islanders built their own online shopping ecosystem </a>"
"<a class=\"internal-link\" href=\"00.03 News/The Making of Vladimir Putin.md\"> The Making of Vladimir Putin </a>"
],
"Refactored": [
"<a class=\"internal-link\" href=\"01.02 Home/@Main Dashboard.md\"> @Main Dashboard </a>",
@ -4376,9 +4421,11 @@
"<a class=\"internal-link\" href=\"00.02 Inbox/Churros with Bittersweet Chocolate Sauce.md\"> Churros with Bittersweet Chocolate Sauce </a>",
"<a class=\"internal-link\" href=\"03.03 Food & Wine/Big Shells With Spicy Lamb Sausage and Pistachios.md\"> Big Shells With Spicy Lamb Sausage and Pistachios </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/Spiced Eggs With Tzatziki.md\"> Spiced Eggs With Tzatziki </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/Spiced Eggs With Tzatziki.md\"> Spiced Eggs With Tzatziki </a>"
"<a class=\"internal-link\" href=\"00.02 Inbox/Spiced Eggs With Tzatziki.md\"> Spiced Eggs With Tzatziki </a>",
"<a class=\"internal-link\" href=\"02.03 Zürich/@Restaurants Zürich.md\"> @Restaurants Zürich </a>"
],
"Deleted": [
"<a class=\"internal-link\" href=\"00.02 Inbox/Make the Most of Your Salads With Balsamic Honey Salad Dressing.md\"> Make the Most of Your Salads With Balsamic Honey Salad Dressing </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/2022-05-08 16-48-07.md\"> 2022-05-08 16-48-07 </a>",
"<a class=\"internal-link\" href=\"2022-05-08.md\"> 2022-05-08 </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/Spiced Eggs With Tzatziki.md\"> Spiced Eggs With Tzatziki </a>",
@ -4428,10 +4475,27 @@
"<a class=\"internal-link\" href=\"00.01 Admin/Templates/ShoppingListto0.md\"> ShoppingListto0 </a>",
"<a class=\"internal-link\" href=\"00.04 IT/Wordle self hosting.md\"> Wordle self hosting </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/403 Forbidden.md\"> 403 Forbidden </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/MetaEdit plugin.md\"> MetaEdit plugin </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/Article (2022-02-06 14-19-45).md\"> Article (2022-02-06 14-19-45) </a>"
"<a class=\"internal-link\" href=\"00.02 Inbox/MetaEdit plugin.md\"> MetaEdit plugin </a>"
],
"Linked": [
"<a class=\"internal-link\" href=\"00.03 News/The Women Who Ran Genghis Khans Empire.md\"> The Women Who Ran Genghis Khans Empire </a>",
"<a class=\"internal-link\" href=\"00.03 News/After Christendom.md\"> After Christendom </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-31.md\"> 2022-05-31 </a>",
"<a class=\"internal-link\" href=\"00.03 News/The Silent Impact of Burnout — and How to Overcome It as a Leader.md\"> The Silent Impact of Burnout — and How to Overcome It as a Leader </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-30.md\"> 2022-05-30 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-29.md\"> 2022-05-29 </a>",
"<a class=\"internal-link\" href=\"00.03 News/The rise of the Strangler.md\"> The rise of the Strangler </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-30.md\"> 2022-05-30 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-30.md\"> 2022-05-30 </a>",
"<a class=\"internal-link\" href=\"No Idea.md\"> No Idea </a>",
"<a class=\"internal-link\" href=\"La Réserve.md\"> La Réserve </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-29.md\"> 2022-05-29 </a>",
"<a class=\"internal-link\" href=\"00.03 News/A new generation of white supremacist killer - Los Angeles Times.md\"> A new generation of white supremacist killer - Los Angeles Times </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-29.md\"> 2022-05-29 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-28.md\"> 2022-05-28 </a>",
"<a class=\"internal-link\" href=\"00.03 News/The Richest Black Girl in America.md\"> The Richest Black Girl in America </a>",
"<a class=\"internal-link\" href=\"00.03 News/The Richest Black Girl in America.md\"> The Richest Black Girl in America </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-27.md\"> 2022-05-27 </a>",
"<a class=\"internal-link\" href=\"00.03 News/After Christendom.md\"> After Christendom </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/Make the Most of Your Salads With Balsamic Honey Salad Dressing.md\"> Make the Most of Your Salads With Balsamic Honey Salad Dressing </a>",
"<a class=\"internal-link\" href=\"00.03 News/How to get the excitement back Psyche Guides.md\"> How to get the excitement back Psyche Guides </a>",
@ -4464,25 +4528,7 @@
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-20.md\"> 2022-05-20 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-19.md\"> 2022-05-19 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-18.md\"> 2022-05-18 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-17.md\"> 2022-05-17 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-16.md\"> 2022-05-16 </a>",
"<a class=\"internal-link\" href=\"00.03 News/The Untold Story of the White Houses Record Collection.md\"> The Untold Story of the White Houses Record Collection </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-16.md\"> 2022-05-16 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-16.md\"> 2022-05-16 </a>",
"<a class=\"internal-link\" href=\"00.03 News/Down the Hatch.md\"> Down the Hatch </a>",
"<a class=\"internal-link\" href=\"00.03 News/Massacre in Tadamon how two academics hunted down a Syrian war criminal.md\"> Massacre in Tadamon how two academics hunted down a Syrian war criminal </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-16.md\"> 2022-05-16 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-16.md\"> 2022-05-16 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-15.md\"> 2022-05-15 </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/The Untold Story of the White Houses Record Collection.md\"> The Untold Story of the White Houses Record Collection </a>",
"<a class=\"internal-link\" href=\"00.03 News/North Korea Hacked Him. So He Took Down Its Internet.md\"> North Korea Hacked Him. So He Took Down Its Internet </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/The Clockwork Orgasm - Common Reader.md\"> The Clockwork Orgasm - Common Reader </a>",
"<a class=\"internal-link\" href=\"01.02 Home/MRCK.md\"> MRCK </a>",
"<a class=\"internal-link\" href=\"02.03 Zürich/Iroquois.md\"> Iroquois </a>",
"<a class=\"internal-link\" href=\"02.03 Zürich/Razzia.md\"> Razzia </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-15.md\"> 2022-05-15 </a>",
"<a class=\"internal-link\" href=\"00.03 News/Did Jesse James Bury Confederate Gold These Treasure Hunters Think So..md\"> Did Jesse James Bury Confederate Gold These Treasure Hunters Think So. </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-13.md\"> 2022-05-13 </a>"
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-17.md\"> 2022-05-17 </a>"
],
"Removed Tags from": [
"<a class=\"internal-link\" href=\"06.02 Investments/Le Miel de Paris.md\"> Le Miel de Paris </a>",

File diff suppressed because one or more lines are too long

@ -1,7 +1,7 @@
{
"id": "obsidian-dice-roller",
"name": "Dice Roller",
"version": "8.4.2",
"version": "8.4.3",
"minAppVersion": "0.12.15",
"description": "Inline dice rolling for Obsidian.md",
"author": "Jeremy Valentine",

File diff suppressed because one or more lines are too long

@ -1,7 +1,7 @@
{
"id": "obsidian-map-view",
"name": "Map View",
"version": "2.0.3",
"version": "2.0.4",
"minAppVersion": "0.12.10",
"description": "An interactive map view.",
"isDesktopOnly": false

@ -332,14 +332,29 @@
],
"01.02 Home/Household.md": [
{
"title": "[[Household]]: *Cardboard* recycling collection",
"time": "2022-05-31",
"rowNumber": 83
"title": "🛎 🧻 REMINDER [[Household]]: check need for toilet paper",
"time": "2022-06-06",
"rowNumber": 100
},
{
"title": "[[Household]]: *Paper* recycling collection",
"title": "[[Household]]: *Paper* recycling collection",
"time": "2022-06-07",
"rowNumber": 72
},
{
"title": "♻ [[Household]]: *Cardboard* recycling collection",
"time": "2022-06-14",
"rowNumber": 83
},
{
"title": ":bed: [[Household]] Change bedsheets",
"time": "2022-06-18",
"rowNumber": 102
},
{
"title": "🛎 🛍 REMINDER [[Household]]: Monthly shop in France",
"time": "2022-06-25",
"rowNumber": 99
}
],
"01.03 Family/Pia Bousquié.md": [
@ -353,17 +368,17 @@
{
"title": ":birthday: **[[MRCK|Meggi-mo]]'s Papa** (1962)",
"time": "2023-02-02",
"rowNumber": 264
"rowNumber": 265
},
{
"title": ":birthday: **[[MRCK|Meggi-mo]]**",
"time": "2023-02-28",
"rowNumber": 262
"rowNumber": 263
},
{
"title": "[[MRCK|Meggi-mo]] Saint Patrick's Day",
"time": "2023-03-17",
"rowNumber": 266
"rowNumber": 267
}
],
"01.03 Family/Thaïs Bédier.md": [
@ -387,7 +402,7 @@
],
"01.01 Life Orga/@Lifestyle.md": [
{
"title": "[[@Lifestyle]]: Re-start swimming",
"title": ":swimming_man: [[@Lifestyle]]: Re-start swimming",
"time": "2022-05-31",
"rowNumber": 75
},
@ -452,35 +467,35 @@
],
"06.02 Investments/VC Tasks.md": [
{
"title": "[[VC Tasks#internet alerts|monitor VC news and publications]]",
"time": "2022-05-27",
"title": "💰[[VC Tasks#internet alerts|monitor VC news and publications]]",
"time": "2022-06-03",
"rowNumber": 74
}
],
"06.02 Investments/Crypto Tasks.md": [
{
"title": "[[Crypto Tasks#internet alerts|monitor Crypto news and publications]]",
"time": "2022-05-27",
"title": "💰[[Crypto Tasks#internet alerts|monitor Crypto news and publications]]",
"time": "2022-06-03",
"rowNumber": 74
}
],
"06.02 Investments/Equity Tasks.md": [
{
"title": "[[Equity Tasks#internet alerts|monitor Equity news and publications]]",
"time": "2022-05-27",
"title": "💰[[Equity Tasks#internet alerts|monitor Equity news and publications]]",
"time": "2022-06-03",
"rowNumber": 74
}
],
"05.02 Networks/Configuring UFW.md": [
{
"title": "[[Selfhosting]], [[Configuring UFW|Firewall]] Get IP addresses caught by Postfix",
"time": "2022-05-28",
"title": "🖥 [[Selfhosting]], [[Configuring UFW|Firewall]] Get IP addresses caught by Postfix",
"time": "2022-06-04",
"rowNumber": 239
},
{
"title": "[[Selfhosting]], [[Configuring UFW|Firewall]]: Update the Blocked IP list",
"time": "2022-05-28",
"rowNumber": 250
"title": "🖥 [[Selfhosting]], [[Configuring UFW|Firewall]]: Update the Blocked IP list",
"time": "2022-06-04",
"rowNumber": 251
}
],
"00.01 Admin/Calendars/2022-03-18.md": [
@ -492,7 +507,7 @@
],
"00.01 Admin/Calendars/2022-03-02.md": [
{
"title": "15:55 [[2022-03-02|Memo]], [[MRCK|Meggi-mo]]: re-do her chair",
"title": "15:55 :chair: [[2022-03-02|Memo]], [[MRCK|Meggi-mo]]: re-do her chair",
"time": "2022-05-31",
"rowNumber": 91
}
@ -500,20 +515,20 @@
"00.01 Admin/Calendars/2022-01-22.md": [
{
"title": "22:46 [[2022-01-22|Memo]], [[@Finances]]: GBP account re moving to ZH",
"time": "2022-05-30",
"time": "2022-06-30",
"rowNumber": 87
}
],
"00.01 Admin/Calendars/2022-01-24.md": [
{
"title": "14:28 [[@Life Admin]], [[2022-01-24|Memo]]: finishings for the flat: curtains, bins, bedside tables #shopping #home",
"title": "14:28 :house: [[@Life Admin]], [[2022-01-24|Memo]]: finishings for the flat: curtains, bins, bedside tables #shopping #home",
"time": "2022-05-31",
"rowNumber": 84
}
],
"00.01 Admin/Calendars/2022-02-16.md": [
{
"title": "07:50 [[Selfhosting]], [[Server Cloud]], [[Nextcloud]], [[2022-02-16|Memo]]: upgrade Nextcloud",
"title": "07:50 :desktop_computer: [[Selfhosting]], [[Server Cloud]], [[Nextcloud]], [[2022-02-16|Memo]]: upgrade Nextcloud",
"time": "2022-06-17",
"rowNumber": 87
}
@ -527,31 +542,9 @@
],
"00.01 Admin/Calendars/2022-05-15.md": [
{
"title": "19:43 [[2022-05-15|Memo]], [[@Lifestyle]]: remplacer la batterie de ma montre Spinnaker",
"time": "2022-05-29",
"rowNumber": 91
},
{
"title": "19:44 [[2022-05-15|Memo]], [[@Lifestyle]]: porter les deux Swatch pour réparation",
"time": "2022-05-29",
"rowNumber": 92
},
{
"title": "23:58 [[2022-05-15|Memo]], [[@Life Admin]]: Inscription au registre des Francais en Suisse",
"title": "23:58 :bellhop_bell: :fr: [[2022-05-15|Memo]], [[@Life Admin]] REMINDER: Inscription au registre des Francais en Suisse",
"time": "2022-06-15",
"rowNumber": 93
},
{
"title": "23:59 [[2022-05-15|Memo]], [[@Life Admin]]: Contact Insurance broker for Car Insurance",
"time": "2022-06-15",
"rowNumber": 94
}
],
"00.01 Admin/Calendars/2022-05-16.md": [
{
"title": "00:01 [[2022-05-16|Memo]], [[@Life Admin]]: Find a parking solution around the house",
"time": "2022-06-15",
"rowNumber": 91
}
]
},

@ -14245,7 +14245,8 @@ var _Task = class {
dueDate,
doneDate,
recurrence,
blockLink
blockLink,
tags
}) {
this._urgency = null;
this.status = status;
@ -14256,6 +14257,7 @@ var _Task = class {
this.sectionIndex = sectionIndex;
this.originalStatusCharacter = originalStatusCharacter;
this.precedingHeader = precedingHeader;
this.tags = tags;
this.priority = priority;
this.startDate = startDate;
this.scheduledDate = scheduledDate;
@ -14275,6 +14277,12 @@ var _Task = class {
if (regexMatch === null) {
return null;
}
const body = regexMatch[3].trim();
const { globalFilter } = getSettings();
if (!body.includes(globalFilter)) {
return null;
}
let description = body;
const indentation = regexMatch[1];
const statusString = regexMatch[2].toLowerCase();
let status;
@ -14285,12 +14293,6 @@ var _Task = class {
default:
status = Status.Done;
}
const body = regexMatch[3].trim();
const { globalFilter } = getSettings();
if (!body.includes(globalFilter)) {
return null;
}
let description = body;
const blockLinkMatch = description.match(this.blockLinkRegex);
const blockLink = blockLinkMatch !== null ? blockLinkMatch[0] : "";
if (blockLink !== "") {
@ -14303,6 +14305,7 @@ var _Task = class {
let dueDate = null;
let doneDate = null;
let recurrence = null;
let tags = [];
const maxRuns = 7;
let runs = 0;
do {
@ -14360,6 +14363,10 @@ var _Task = class {
}
runs++;
} while (matched && runs <= maxRuns);
const hashTagMatch = description.match(this.hashTags);
if (hashTagMatch !== null) {
tags = hashTagMatch.filter((tag) => tag !== globalFilter).map((tag) => tag.trim());
}
const task = new _Task({
status,
description,
@ -14375,7 +14382,8 @@ var _Task = class {
dueDate,
doneDate,
recurrence,
blockLink
blockLink,
tags
});
return task;
}
@ -14600,13 +14608,14 @@ var _Task = class {
var Task = _Task;
Task.dateFormat = "YYYY-MM-DD";
Task.taskRegex = /^([\s\t]*)[-*] +\[(.)\] *(.*)/u;
Task.blockLinkRegex = / \^[a-zA-Z0-9-]+$/u;
Task.priorityRegex = /([⏫🔼🔽])$/u;
Task.startDateRegex = /🛫 ?(\d{4}-\d{2}-\d{2})$/u;
Task.scheduledDateRegex = /[⏳⌛] ?(\d{4}-\d{2}-\d{2})$/u;
Task.dueDateRegex = /[📅📆🗓] ?(\d{4}-\d{2}-\d{2})$/u;
Task.doneDateRegex = /✅ ?(\d{4}-\d{2}-\d{2})$/u;
Task.recurrenceRegex = /🔁 ?([a-zA-Z0-9, !]+)$/iu;
Task.blockLinkRegex = / \^[a-zA-Z0-9-]+$/u;
Task.hashTags = /(^|\s)#[^ !@#$%^&*(),.?":{}|<>]*/g;
// src/Cache.ts
var State;
@ -15911,7 +15920,8 @@ var taskFromLine = ({ line, path }) => {
sectionStart: 0,
sectionIndex: 0,
precedingHeader: null,
blockLink: ""
blockLink: "",
tags: []
});
}
const indentation = nonTaskMatch[1];
@ -15938,7 +15948,8 @@ var taskFromLine = ({ line, path }) => {
recurrence: null,
sectionStart: 0,
sectionIndex: 0,
precedingHeader: null
precedingHeader: null,
tags: []
});
};
@ -16210,6 +16221,375 @@ var import_obsidian7 = __toModule(require("obsidian"));
// src/Query.ts
var chrono2 = __toModule(require_dist());
// src/Query/GroupHeading.ts
var GroupHeading = class {
constructor(nestingLevel, name) {
this.nestingLevel = nestingLevel;
this.name = name;
}
};
// src/Query/GroupHeadings.ts
var GroupHeadings = class {
constructor(groupedTasks) {
this.lastHeadingAtLevel = new Array();
const firstGroup = groupedTasks.keys().next().value;
const groupCount = firstGroup.length;
for (let i = 0; i < groupCount; i++) {
this.lastHeadingAtLevel.push("");
}
}
getHeadingsForTaskGroup(groupNames) {
const headingsForGroup = new Array();
for (let level = 0; level < groupNames.length; level++) {
const group = groupNames[level];
if (group != this.lastHeadingAtLevel[level]) {
headingsForGroup.push(new GroupHeading(level, group));
for (let j = level; j < groupNames.length; j++) {
this.lastHeadingAtLevel[j] = "";
}
this.lastHeadingAtLevel[level] = group;
}
}
return headingsForGroup;
}
};
// src/Query/IntermediateTaskGroups.ts
var IntermediateTaskGroupsStorage = class extends Map {
};
var IntermediateTaskGroups = class {
constructor(grouping, tasks2) {
this.groups = new IntermediateTaskGroupsStorage();
if (grouping.length === 0 || tasks2.length === 0) {
this.groups.set([], tasks2);
} else {
const groupers = Group.getGroupersForAllQueryGroupings(grouping);
for (const task of tasks2) {
const groupNames = Group.getGroupNamesForTask(groupers, task);
this.addTask(groupNames, task);
}
this.groups = this.getSortedGroups();
}
}
addTask(groupNames, task) {
const groupForNames = this.getOrCreateGroupForGroupNames(groupNames);
groupForNames == null ? void 0 : groupForNames.push(task);
}
getOrCreateGroupForGroupNames(newGroupNames) {
for (const [groupNames, taskGroup2] of this.groups) {
if (JSON.stringify(groupNames) === JSON.stringify(newGroupNames)) {
return taskGroup2;
}
}
const taskGroup = [];
this.groups.set(newGroupNames, taskGroup);
return taskGroup;
}
getSortedGroups() {
return new IntermediateTaskGroupsStorage([...this.groups.entries()].sort());
}
};
// src/Query/TaskGroup.ts
var TaskGroup = class {
constructor(groups, groupHeadings, tasks2) {
this.groups = groups;
this.groupHeadings = groupHeadings;
this.tasks = tasks2;
}
tasksAsStringOfLines() {
let output = "";
for (const task of this.tasks) {
output += task.toFileLineString() + "\n";
}
return output;
}
toString() {
let output = "\n";
output += `Group names: [${this.groups}]
`;
for (const heading of this.groupHeadings) {
const headingPrefix = "#".repeat(4 + heading.nestingLevel);
output += `${headingPrefix} ${heading.name}
`;
}
output += this.tasksAsStringOfLines();
return output;
}
};
// src/Query/TaskGroups.ts
var TaskGroups = class {
constructor(groups, tasks2) {
this._groups = new Array();
const initialGroups = new IntermediateTaskGroups(groups, tasks2);
this.addTasks(initialGroups);
}
get groups() {
return this._groups;
}
totalTasksCount() {
let totalTasksCount = 0;
for (const group of this.groups) {
totalTasksCount += group.tasks.length;
}
return totalTasksCount;
}
toString() {
let output = "";
for (const taskGroup of this.groups) {
output += taskGroup.toString();
output += "\n---\n";
}
const totalTasksCount = this.totalTasksCount();
output += `
${totalTasksCount} tasks
`;
return output;
}
addTasks(initialGroups) {
const grouper = new GroupHeadings(initialGroups.groups);
for (const [groups, tasks2] of initialGroups.groups) {
const groupHeadings = grouper.getHeadingsForTaskGroup(groups);
const taskGroup = new TaskGroup(groups, groupHeadings, tasks2);
this.add(taskGroup);
}
}
add(taskGroup) {
this._groups.push(taskGroup);
}
};
// src/Query/Group.ts
var _Group = class {
static by(grouping, tasks2) {
return new TaskGroups(grouping, tasks2);
}
static getGroupersForAllQueryGroupings(grouping) {
const groupers = [];
for (const { property } of grouping) {
const comparator = _Group.groupers[property];
groupers.push(comparator);
}
return groupers;
}
static getGroupNamesForTask(groupers, task) {
const groupNames = [];
for (const grouper of groupers) {
const groupName = grouper(task);
groupNames.push(groupName);
}
return groupNames;
}
static getGroupNameForTask(property, task) {
const grouper = _Group.groupers[property];
return grouper(task);
}
static groupByPath(task) {
return task.path.replace(".md", "");
}
static groupByFolder(task) {
const path = task.path;
const fileNameWithExtension = task.filename + ".md";
const folder = path.substring(0, path.lastIndexOf(fileNameWithExtension));
if (folder === "") {
return "/";
}
return folder;
}
static groupByFileName(task) {
const filename = task.filename;
if (filename === null) {
return "Unknown Location";
}
return filename;
}
static groupByBacklink(task) {
const linkText = task.getLinkText({ isFilenameUnique: true });
if (linkText === null) {
return "Unknown Location";
}
return linkText;
}
static groupByStatus(task) {
return task.status;
}
static groupByHeading(task) {
if (task.precedingHeader === null || task.precedingHeader.length === 0) {
return "(No heading)";
}
return task.precedingHeader;
}
};
var Group = _Group;
Group.groupers = {
backlink: _Group.groupByBacklink,
filename: _Group.groupByFileName,
folder: _Group.groupByFolder,
heading: _Group.groupByHeading,
path: _Group.groupByPath,
status: _Group.groupByStatus
};
// src/Sort.ts
var _Sort = class {
static by(query, tasks2) {
const defaultComparators = [
_Sort.compareByUrgency,
_Sort.compareByStatus,
_Sort.compareByDueDate,
_Sort.compareByPriority,
_Sort.compareByPath
];
const userComparators = [];
for (const { property, reverse, propertyInstance } of query.sorting) {
const comparator = _Sort.comparators[property];
userComparators.push(reverse ? _Sort.makeReversedComparator(comparator) : comparator);
if (property === "tag") {
_Sort.tagPropertyInstance = propertyInstance;
}
}
return tasks2.sort(_Sort.makeCompositeComparator([
...userComparators,
...defaultComparators
]));
}
static makeReversedComparator(comparator) {
return (a, b) => comparator(a, b) * -1;
}
static makeCompositeComparator(comparators) {
return (a, b) => {
for (const comparator of comparators) {
const result = comparator(a, b);
if (result !== 0) {
return result;
}
}
return 0;
};
}
static compareByUrgency(a, b) {
return b.urgency - a.urgency;
}
static compareByStatus(a, b) {
if (a.status < b.status) {
return 1;
} else if (a.status > b.status) {
return -1;
} else {
return 0;
}
}
static compareByPriority(a, b) {
return a.priority.localeCompare(b.priority);
}
static compareByStartDate(a, b) {
return _Sort.compareByDate(a.startDate, b.startDate);
}
static compareByScheduledDate(a, b) {
return _Sort.compareByDate(a.scheduledDate, b.scheduledDate);
}
static compareByDueDate(a, b) {
return _Sort.compareByDate(a.dueDate, b.dueDate);
}
static compareByDoneDate(a, b) {
return _Sort.compareByDate(a.doneDate, b.doneDate);
}
static compareByTag(a, b) {
if (a.tags.length === 0 && b.tags.length === 0) {
return 0;
} else if (a.tags.length === 0) {
return 1;
} else if (b.tags.length === 0) {
return -1;
}
const tagInstanceToSortBy = _Sort.tagPropertyInstance - 1;
if (a.tags.length < _Sort.tagPropertyInstance && b.tags.length >= _Sort.tagPropertyInstance) {
return 1;
} else if (b.tags.length < _Sort.tagPropertyInstance && a.tags.length >= _Sort.tagPropertyInstance) {
return -1;
} else if (a.tags.length < _Sort.tagPropertyInstance && b.tags.length < _Sort.tagPropertyInstance) {
return 0;
}
if (a.tags[tagInstanceToSortBy] < b.tags[tagInstanceToSortBy]) {
return -1;
} else if (a.tags[tagInstanceToSortBy] > b.tags[tagInstanceToSortBy]) {
return 1;
} else {
return 0;
}
}
static compareByDate(a, b) {
if (a !== null && b === null) {
return -1;
} else if (a === null && b !== null) {
return 1;
} else if (a !== null && b !== null) {
if (a.isAfter(b)) {
return 1;
} else if (a.isBefore(b)) {
return -1;
} else {
return 0;
}
} else {
return 0;
}
}
static compareByPath(a, b) {
if (a.path < b.path) {
return -1;
} else if (a.path > b.path) {
return 1;
} else {
return 0;
}
}
static compareByDescription(a, b) {
return _Sort.cleanDescription(a.description).localeCompare(_Sort.cleanDescription(b.description));
}
static cleanDescription(description) {
const globalFilter = getSettings().globalFilter;
description = description.replace(globalFilter, "").trim();
const startsWithLinkRegex = /^\[\[?([^\]]*)\]/;
const linkRegexMatch = description.match(startsWithLinkRegex);
if (linkRegexMatch !== null) {
const innerLinkText = linkRegexMatch[1];
description = innerLinkText.substring(innerLinkText.indexOf("|") + 1) + description.replace(startsWithLinkRegex, "");
}
const startsWithItalicOrBoldRegex = /^\*\*?([^*]*)\*/;
const italicBoldRegexMatch = description.match(startsWithItalicOrBoldRegex);
if (italicBoldRegexMatch !== null) {
const innerItalicBoldText = italicBoldRegexMatch[1];
description = innerItalicBoldText + description.replace(startsWithLinkRegex, "");
}
const startsWithHighlightRegex = /^==?([^=]*)==/;
const highlightRegexMatch = description.match(startsWithHighlightRegex);
if (highlightRegexMatch !== null) {
const innerHighlightsText = highlightRegexMatch[1];
description = innerHighlightsText + description.replace(startsWithHighlightRegex, "");
}
return description;
}
};
var Sort = _Sort;
Sort.tagPropertyInstance = 1;
Sort.comparators = {
urgency: _Sort.compareByUrgency,
description: _Sort.compareByDescription,
priority: _Sort.compareByPriority,
start: _Sort.compareByStartDate,
scheduled: _Sort.compareByScheduledDate,
due: _Sort.compareByDueDate,
done: _Sort.compareByDoneDate,
path: _Sort.compareByPath,
status: _Sort.compareByStatus,
tag: _Sort.compareByTag
};
// src/Query.ts
var Query = class {
constructor({ source }) {
this._limit = void 0;
@ -16217,20 +16597,26 @@ var Query = class {
this._filters = [];
this._error = void 0;
this._sorting = [];
this._grouping = [];
this.priorityRegexp = /^priority (is )?(above|below)? ?(low|none|medium|high)/;
this.happensRegexp = /^happens (before|after|on)? ?(.*)/;
this.noStartString = "no start date";
this.hasStartString = "has start date";
this.startRegexp = /^starts (before|after|on)? ?(.*)/;
this.noScheduledString = "no scheduled date";
this.hasScheduledString = "has scheduled date";
this.scheduledRegexp = /^scheduled (before|after|on)? ?(.*)/;
this.noDueString = "no due date";
this.hasDueString = "has due date";
this.dueRegexp = /^due (before|after|on)? ?(.*)/;
this.doneString = "done";
this.notDoneString = "not done";
this.doneRegexp = /^done (before|after|on)? ?(.*)/;
this.pathRegexp = /^path (includes|does not include) (.*)/;
this.descriptionRegexp = /^description (includes|does not include) (.*)/;
this.sortByRegexp = /^sort by (urgency|status|priority|start|scheduled|due|done|path|description)( reverse)?/;
this.tagRegexp = /^(tag|tags) (includes|does not include|include|do not include) (.*)/;
this.sortByRegexp = /^sort by (urgency|status|priority|start|scheduled|due|done|path|description|tag)( reverse)?[\s]*(\d+)?/;
this.groupByRegexp = /^group by (backlink|filename|folder|heading|path|status)/;
this.headingRegexp = /^heading (includes|does not include) (.*)/;
this.hideOptionsRegexp = /^hide (task count|backlink|priority|start date|scheduled date|done date|due date|recurrence rule|edit button)/;
this.shortModeRegexp = /^short/;
@ -16267,6 +16653,15 @@ var Query = class {
case line === this.noDueString:
this._filters.push((task) => task.dueDate === null);
break;
case line === this.hasStartString:
this._filters.push((task) => task.startDate !== null);
break;
case line === this.hasScheduledString:
this._filters.push((task) => task.scheduledDate !== null);
break;
case line === this.hasDueString:
this._filters.push((task) => task.dueDate !== null);
break;
case this.shortModeRegexp.test(line):
this._layoutOptions.shortMode = true;
break;
@ -16294,6 +16689,9 @@ var Query = class {
case this.descriptionRegexp.test(line):
this.parseDescriptionFilter({ line });
break;
case this.tagRegexp.test(line):
this.parseTagFilter({ line });
break;
case this.headingRegexp.test(line):
this.parseHeadingFilter({ line });
break;
@ -16303,13 +16701,16 @@ var Query = class {
case this.sortByRegexp.test(line):
this.parseSortBy({ line });
break;
case this.groupByRegexp.test(line):
this.parseGroupBy({ line });
break;
case this.hideOptionsRegexp.test(line):
this.parseHideOptions({ line });
break;
case this.commentRegexp.test(line):
break;
default:
this._error = "do not understand query";
this._error = `do not understand query: ${line}`;
}
});
}
@ -16325,9 +16726,19 @@ var Query = class {
get sorting() {
return this._sorting;
}
get grouping() {
return this._grouping;
}
get error() {
return this._error;
}
applyQueryToTasks(tasks2) {
this.filters.forEach((filter) => {
tasks2 = tasks2.filter(filter);
});
const tasksSortedLimited = Sort.by(this, tasks2).slice(0, this.limit);
return Group.by(this.grouping, tasksSortedLimited);
}
parseHideOptions({ line }) {
const hideOptionsMatch = line.match(this.hideOptionsRegexp);
if (hideOptionsMatch !== null) {
@ -16404,7 +16815,7 @@ var Query = class {
parseHappensFilter({ line }) {
const happensMatch = line.match(this.happensRegexp);
if (happensMatch !== null) {
const filterDate = this.parseDate(happensMatch[2]);
const filterDate = Query.parseDate(happensMatch[2]);
if (!filterDate.isValid()) {
this._error = "do not understand happens date";
return;
@ -16431,7 +16842,7 @@ var Query = class {
parseStartFilter({ line }) {
const startMatch = line.match(this.startRegexp);
if (startMatch !== null) {
const filterDate = this.parseDate(startMatch[2]);
const filterDate = Query.parseDate(startMatch[2]);
if (!filterDate.isValid()) {
this._error = "do not understand start date";
return;
@ -16452,7 +16863,7 @@ var Query = class {
parseScheduledFilter({ line }) {
const scheduledMatch = line.match(this.scheduledRegexp);
if (scheduledMatch !== null) {
const filterDate = this.parseDate(scheduledMatch[2]);
const filterDate = Query.parseDate(scheduledMatch[2]);
if (!filterDate.isValid()) {
this._error = "do not understand scheduled date";
}
@ -16472,7 +16883,7 @@ var Query = class {
parseDueFilter({ line }) {
const dueMatch = line.match(this.dueRegexp);
if (dueMatch !== null) {
const filterDate = this.parseDate(dueMatch[2]);
const filterDate = Query.parseDate(dueMatch[2]);
if (!filterDate.isValid()) {
this._error = "do not understand due date";
return;
@ -16493,7 +16904,7 @@ var Query = class {
parseDoneFilter({ line }) {
const doneMatch = line.match(this.doneRegexp);
if (doneMatch !== null) {
const filterDate = this.parseDate(doneMatch[2]);
const filterDate = Query.parseDate(doneMatch[2]);
if (!filterDate.isValid()) {
this._error = "do not understand done date";
return;
@ -16514,9 +16925,9 @@ var Query = class {
if (pathMatch !== null) {
const filterMethod = pathMatch[1];
if (filterMethod === "includes") {
this._filters.push((task) => this.stringIncludesCaseInsensitive(task.path, pathMatch[2]));
this._filters.push((task) => Query.stringIncludesCaseInsensitive(task.path, pathMatch[2]));
} else if (pathMatch[1] === "does not include") {
this._filters.push((task) => !this.stringIncludesCaseInsensitive(task.path, pathMatch[2]));
this._filters.push((task) => !Query.stringIncludesCaseInsensitive(task.path, pathMatch[2]));
} else {
this._error = "do not understand query filter (path)";
}
@ -16524,15 +16935,31 @@ var Query = class {
this._error = "do not understand query filter (path)";
}
}
parseTagFilter({ line }) {
const tagMatch = line.match(this.tagRegexp);
if (tagMatch !== null) {
const filterMethod = tagMatch[2];
const search = tagMatch[3].replace(/^#/, "");
if (filterMethod === "include" || filterMethod === "includes") {
this._filters.push((task) => task.tags.find((tag) => tag.toLowerCase().includes(search.toLowerCase())) !== void 0);
} else if (tagMatch[2] === "do not include" || tagMatch[2] === "does not include") {
this._filters.push((task) => task.tags.find((tag) => tag.toLowerCase().includes(search.toLowerCase())) == void 0);
} else {
this._error = "do not understand query filter (tag/tags)";
}
} else {
this._error = "do not understand query filter (tag/tags)";
}
}
parseDescriptionFilter({ line }) {
const descriptionMatch = line.match(this.descriptionRegexp);
if (descriptionMatch !== null) {
const filterMethod = descriptionMatch[1];
const globalFilter = getSettings().globalFilter;
if (filterMethod === "includes") {
this._filters.push((task) => this.stringIncludesCaseInsensitive(task.description.replace(globalFilter, "").trim(), descriptionMatch[2]));
this._filters.push((task) => Query.stringIncludesCaseInsensitive(task.description.replace(globalFilter, "").trim(), descriptionMatch[2]));
} else if (descriptionMatch[1] === "does not include") {
this._filters.push((task) => !this.stringIncludesCaseInsensitive(task.description.replace(globalFilter, "").trim(), descriptionMatch[2]));
this._filters.push((task) => !Query.stringIncludesCaseInsensitive(task.description.replace(globalFilter, "").trim(), descriptionMatch[2]));
} else {
this._error = "do not understand query filter (description)";
}
@ -16545,9 +16972,9 @@ var Query = class {
if (headingMatch !== null) {
const filterMethod = headingMatch[1].toLowerCase();
if (filterMethod === "includes") {
this._filters.push((task) => task.precedingHeader !== null && this.stringIncludesCaseInsensitive(task.precedingHeader, headingMatch[2]));
this._filters.push((task) => task.precedingHeader !== null && Query.stringIncludesCaseInsensitive(task.precedingHeader, headingMatch[2]));
} else if (headingMatch[1] === "does not include") {
this._filters.push((task) => task.precedingHeader === null || !this.stringIncludesCaseInsensitive(task.precedingHeader, headingMatch[2]));
this._filters.push((task) => task.precedingHeader === null || !Query.stringIncludesCaseInsensitive(task.precedingHeader, headingMatch[2]));
} else {
this._error = "do not understand query filter (heading)";
}
@ -16558,8 +16985,7 @@ var Query = class {
parseLimit({ line }) {
const limitMatch = line.match(this.limitRegexp);
if (limitMatch !== null) {
const limit = Number.parseInt(limitMatch[2], 10);
this._limit = limit;
this._limit = Number.parseInt(limitMatch[2], 10);
} else {
this._error = "do not understand query limit";
}
@ -16569,146 +16995,30 @@ var Query = class {
if (fieldMatch !== null) {
this._sorting.push({
property: fieldMatch[1],
reverse: !!fieldMatch[2]
reverse: !!fieldMatch[2],
propertyInstance: isNaN(+fieldMatch[3]) ? 1 : +fieldMatch[3]
});
} else {
this._error = "do not understand query sorting";
}
}
parseDate(input) {
return window.moment(chrono2.parseDate(input)).startOf("day");
}
stringIncludesCaseInsensitive(haystack, needle) {
return haystack.toLocaleLowerCase().includes(needle.toLocaleLowerCase());
}
};
// src/Sort.ts
var _Sort = class {
static by(query, tasks2) {
const defaultComparators = [
_Sort.compareByUrgency,
_Sort.compareByStatus,
_Sort.compareByDueDate,
_Sort.compareByPriority,
_Sort.compareByPath
];
const userComparators = [];
for (const { property, reverse } of query.sorting) {
const comparator = _Sort.comparators[property];
userComparators.push(reverse ? _Sort.makeReversedComparator(comparator) : comparator);
}
return tasks2.sort(_Sort.makeCompositeComparator([
...userComparators,
...defaultComparators
]));
}
static makeReversedComparator(comparator) {
return (a, b) => comparator(a, b) * -1;
}
static makeCompositeComparator(comparators) {
return (a, b) => {
for (const comparator of comparators) {
const result = comparator(a, b);
if (result !== 0) {
return result;
}
}
return 0;
};
}
static compareByUrgency(a, b) {
return b.urgency - a.urgency;
}
static compareByStatus(a, b) {
if (a.status < b.status) {
return 1;
} else if (a.status > b.status) {
return -1;
} else {
return 0;
}
}
static compareByPriority(a, b) {
return a.priority.localeCompare(b.priority);
}
static compareByStartDate(a, b) {
return _Sort.compareByDate(a.startDate, b.startDate);
}
static compareByScheduledDate(a, b) {
return _Sort.compareByDate(a.scheduledDate, b.scheduledDate);
}
static compareByDueDate(a, b) {
return _Sort.compareByDate(a.dueDate, b.dueDate);
}
static compareByDoneDate(a, b) {
return _Sort.compareByDate(a.doneDate, b.doneDate);
}
static compareByDate(a, b) {
if (a !== null && b === null) {
return -1;
} else if (a === null && b !== null) {
return 1;
} else if (a !== null && b !== null) {
if (a.isAfter(b)) {
return 1;
} else if (a.isBefore(b)) {
return -1;
} else {
return 0;
}
} else {
return 0;
}
}
static compareByPath(a, b) {
if (a.path < b.path) {
return -1;
} else if (a.path > b.path) {
return 1;
parseGroupBy({ line }) {
const fieldMatch = line.match(this.groupByRegexp);
if (fieldMatch !== null) {
this._grouping.push({
property: fieldMatch[1]
});
} else {
return 0;
this._error = "do not understand query grouping";
}
}
static compareByDescription(a, b) {
return _Sort.cleanDescription(a.description).localeCompare(_Sort.cleanDescription(b.description));
}
static cleanDescription(description) {
const globalFilter = getSettings().globalFilter;
description = description.replace(globalFilter, "").trim();
const startsWithLinkRegex = /^\[\[?([^\]]*)\]/;
const linkRegexMatch = description.match(startsWithLinkRegex);
if (linkRegexMatch !== null) {
const innerLinkText = linkRegexMatch[1];
description = innerLinkText.substring(innerLinkText.indexOf("|") + 1) + description.replace(startsWithLinkRegex, "");
}
const startsWithItalicOrBoldRegex = /^\*\*?([^*]*)\*/;
const italicBoldRegexMatch = description.match(startsWithItalicOrBoldRegex);
if (italicBoldRegexMatch !== null) {
const innerItalicBoldText = italicBoldRegexMatch[1];
description = innerItalicBoldText + description.replace(startsWithLinkRegex, "");
}
const startsWithHighlightRegex = /^==?([^=]*)==/;
const highlightRegexMatch = description.match(startsWithHighlightRegex);
if (highlightRegexMatch !== null) {
const innerHighlightsText = highlightRegexMatch[1];
description = innerHighlightsText + description.replace(startsWithHighlightRegex, "");
static parseDate(input) {
return window.moment(chrono2.parseDate(input)).startOf("day");
}
return description;
static stringIncludesCaseInsensitive(haystack, needle) {
return haystack.toLocaleLowerCase().includes(needle.toLocaleLowerCase());
}
};
var Sort = _Sort;
Sort.comparators = {
urgency: _Sort.compareByUrgency,
description: _Sort.compareByDescription,
priority: _Sort.compareByPriority,
start: _Sort.compareByStartDate,
scheduled: _Sort.compareByScheduledDate,
due: _Sort.compareByDueDate,
done: _Sort.compareByDoneDate,
path: _Sort.compareByPath,
status: _Sort.compareByStatus
};
// src/QueryRenderer.ts
var QueryRenderer = class {
@ -16771,13 +17081,17 @@ var QueryRenderChild = class extends import_obsidian7.MarkdownRenderChild {
var _a;
const content = this.containerEl.createEl("div");
if (state === State.Warm && this.query.error === void 0) {
const tasksSortedLimited = this.applyQueryToTasks(tasks2);
const { taskList, tasksCount } = yield this.createTasksList({
tasks: tasksSortedLimited,
const tasksSortedLimitedGrouped = this.query.applyQueryToTasks(tasks2);
for (const group of tasksSortedLimitedGrouped.groups) {
QueryRenderChild.addGroupHeadings(content, group.groupHeadings);
const { taskList } = yield this.createTasksList({
tasks: group.tasks,
content
});
content.appendChild(taskList);
this.addTaskCount(content, tasksCount);
}
const totalTasksCount = tasksSortedLimitedGrouped.totalTasksCount();
this.addTaskCount(content, totalTasksCount);
} else if (this.query.error !== void 0) {
content.setText(`Tasks query: ${this.query.error}`);
} else {
@ -16821,12 +17135,6 @@ var QueryRenderChild = class extends import_obsidian7.MarkdownRenderChild {
return { taskList, tasksCount };
});
}
applyQueryToTasks(tasks2) {
this.query.filters.forEach((filter) => {
tasks2 = tasks2.filter(filter);
});
return Sort.by(this.query, tasks2).slice(0, this.query.limit);
}
addEditButton(postInfo, task) {
const editTaskPencil = postInfo.createEl("a", {
cls: "tasks-edit"
@ -16847,6 +17155,28 @@ var QueryRenderChild = class extends import_obsidian7.MarkdownRenderChild {
taskModal.open();
});
}
static addGroupHeadings(content, groupHeadings) {
for (const heading of groupHeadings) {
QueryRenderChild.addGroupHeading(content, heading);
}
}
static addGroupHeading(content, group) {
let header;
if (group.nestingLevel === 0) {
header = content.createEl("h4", {
cls: "tasks-group-heading"
});
} else if (group.nestingLevel === 1) {
header = content.createEl("h5", {
cls: "tasks-group-heading"
});
} else {
header = content.createEl("h6", {
cls: "tasks-group-heading"
});
}
header.appendText(group.name);
}
addBacklinks(postInfo, task, shortMode, isFilenameUnique) {
var _a;
postInfo.addClass("tasks-backlink");

@ -1,7 +1,7 @@
{
"id": "obsidian-tasks-plugin",
"name": "Tasks",
"version": "1.5.1",
"version": "1.6.0",
"minAppVersion": "0.13.21",
"description": "Task management for Obsidian",
"author": "Martin Schenck",

@ -141,7 +141,7 @@
}
},
{
"id": "8596481791ac0a6e",
"id": "e1071e0c67761428",
"type": "leaf",
"state": {
"type": "DICE_ROLLER_VIEW",
@ -154,14 +154,14 @@
"active": "7bf826872ad549d5",
"lastOpenFiles": [
"01.02 Home/@Main Dashboard.md",
"00.01 Admin/Calendars/2022-05-26.md",
"00.01 Admin/Calendars/2022-05-27.md",
"01.02 Home/MRCK.md",
"01.01 Life Orga/@@Life Organisation.md",
"03.03 Food & Wine/!!Coffee.md",
"03.03 Food & Wine/!!Wine.md",
"03.03 Food & Wine/@Main dishes.md",
"03.03 Food & Wine/@@Recipes.md",
"03.01 Reading list/@Reading master.md"
"00.01 Admin/Calendars/2022-05-31.md",
"00.03 News/The Women Who Ran Genghis Khans Empire.md",
"00.03 News/After Christendom.md",
"00.01 Admin/Calendars/2022-05-30.md",
"01.02 Home/@Shopping list.md",
"00.03 News/The Silent Impact of Burnout — and How to Overcome It as a Leader.md",
"00.03 News/@News.md",
"00.01 Admin/Calendars/2022-05-29.md",
"00.03 News/The rise of the Strangler.md"
]
}

@ -85,7 +85,7 @@ This section does serve for quick memos.
- 14:21 Megan Rose is about to leave to the airport
- [ ] 22:46 [[2022-01-22|Memo]], [[@Finances]]: GBP account re moving to ZH 📅 2022-05-30
- [ ] 22:46 [[2022-01-22|Memo]], [[@Finances]]: GBP account re moving to ZH 📅 2022-06-30
#### Sub-header 2

@ -82,7 +82,7 @@ This section does serve for quick memos.
&emsp;
- [ ] 14:28 [[@Life Admin]], [[2022-01-24|Memo]]: finishings for the flat: curtains, bins, bedside tables #shopping #home 📅 2022-05-31
- [ ] 14:28 :house: [[@Life Admin]], [[2022-01-24|Memo]]: finishings for the flat: curtains, bins, bedside tables #shopping #home 📅 2022-05-31

@ -85,7 +85,7 @@ This section does serve for quick memos.
%% ### %%
&emsp;
- [ ] 07:50 [[Selfhosting]], [[Server Cloud]], [[Nextcloud]], [[2022-02-16|Memo]]: upgrade Nextcloud 📅 2022-06-17
- [ ] 07:50 :desktop_computer: [[Selfhosting]], [[Server Cloud]], [[Nextcloud]], [[2022-02-16|Memo]]: upgrade Nextcloud 📅 2022-06-17
- [x] 09:01 [[MRCK]], [[2022-02-16|Memo]]: Book ski trip for Meggi-mo's birthday 📅 2022-02-21 ✅ 2022-02-20
- [x] 11:59 [[@Lifestyle|Lifestyle]], [[2022-02-16|Memo]]: contact Raphson qui habite Zürich 📅 2022-02-18 ✅ 2022-02-16
- [x] 12:12 [[@Lifestyle|Lifestyle]], [[2022-02-16|Memo]]: contact Juliette Chevallier, Genève 📅 2022-02-19 ✅ 2022-02-18

@ -89,7 +89,7 @@ This section does serve for quick memos.
%% ### %%
&emsp;
- [ ] 15:55 [[2022-03-02|Memo]], [[MRCK|Meggi-mo]]: re-do her chair 📅 2022-05-31
- [ ] 15:55 :chair: [[2022-03-02|Memo]], [[MRCK|Meggi-mo]]: re-do her chair 📅 2022-05-31
---

@ -89,10 +89,10 @@ This section does serve for quick memos.
%% ### %%
&emsp;
- [ ] 19:43 [[2022-05-15|Memo]], [[@Lifestyle]]: remplacer la batterie de ma montre Spinnaker 📆2022-05-29
- [ ] 19:44 [[2022-05-15|Memo]], [[@Lifestyle]]: porter les deux Swatch pour réparation 📆2022-05-29
- [ ] 23:58 [[2022-05-15|Memo]], [[@Life Admin]]: Inscription au registre des Francais en Suisse 📆2022-06-15
- [ ] 23:59 [[2022-05-15|Memo]], [[@Life Admin]]: Contact Insurance broker for Car Insurance 📅 2022-06-15
- [x] 19:43 :watch: [[2022-05-15|Memo]], [[@Lifestyle]] : remplacer la batterie de ma montre Spinnaker 📅 2022-05-29 ✅ 2022-05-30
- [x] 19:44 :watch: [[2022-05-15|Memo]], [[@Lifestyle]]: porter les deux Swatch pour réparation 📅 2022-05-29 ✅ 2022-05-30
- [ ] 23:58 :bellhop_bell: :fr: [[2022-05-15|Memo]], [[@Life Admin]] REMINDER: Inscription au registre des Francais en Suisse 📅 2022-06-15
- [x] 23:59 [[2022-05-15|Memo]], [[@Life Admin]]: Contact Insurance broker for Car Insurance 📅 2022-06-15 ✅ 2022-05-30
---

@ -89,7 +89,7 @@ This section does serve for quick memos.
%% ### %%
&emsp;
- [ ] 00:01 [[2022-05-16|Memo]], [[@Life Admin]]: Find a parking solution around the house 📅 2022-06-15
- [x] 00:01 [[2022-05-16|Memo]], [[@Life Admin]]: Find a parking solution around the house 📅 2022-06-15 ✅ 2022-05-30
- [x] 10:21 [[2022-05-16|Memo]], [[Selfhosting]], [[Server Tools]]: filter out own IP in [[Configuring Caddy|caddy]] logs 📅 2022-05-26 ✅ 2022-05-22
- [x] 10:28 [[2022-05-16|Memo]], [[@Lifestyle]]: porter chaussures chez le cordonnier 📅 2022-05-26 ✅ 2022-05-23
- 11:24 Départ pour [[@@Paris|Paris]] pour la semaine. [[MRCK|Meggi-mo]] suit dans l'après-midi

@ -13,7 +13,7 @@ Stress: 35
FrontHeadBar: 5
EarHeadBar: 40
BackHeadBar: 30
Water: 0.25
Water: 2.25
Coffee: 3
Steps: 7467
Ski:

@ -13,9 +13,9 @@ Stress: 35
FrontHeadBar: 5
EarHeadBar: 35
BackHeadBar: 35
Water:
Coffee:
Steps:
Water: 2.13
Coffee: 4
Steps: 8928
Ski:
Riding:
Racket:

@ -0,0 +1,104 @@
---
Date: 2022-05-28
DocType: Note
Hierarchy:
TimeStamp:
location:
CollapseMetaTable: Yes
Sleep: 8
Happiness: 90
Gratefulness: 90
Stress: 35
FrontHeadBar: 5
EarHeadBar: 40
BackHeadBar: 30
Water: 2.8
Coffee: 1
Steps: 7119
Ski:
Riding:
Racket:
Football:
title: "Daily Note"
allDay: true
date: 2022-05-28
---
%% Parent:: [[@Life Admin]] %%
---
[[2022-05-27|<< 🗓 Previous ]] &emsp; &emsp; &emsp; [[@Main Dashboard|Back]] &emsp; &emsp; &emsp; [[2022-05-29|🗓 Next >>]]
---
&emsp;
```button
name Record today's health
type command
action MetaEdit: Run MetaEdit
id EditMetaData
```
^button-2022-05-28Edit
```button
name Save
type command
action Save current file
id Save
```
^button-2022-05-28NSave
&emsp;
# 2022-05-28
&emsp;
```ad-abstract
title: Summary
collapse: open
Note Description
```
&emsp;
```toc
style: number
```
&emsp;
---
&emsp;
### Memos
&emsp;
#### Memos
This section does serve for quick memos.
&emsp;
%% ### %%
&emsp;
---
&emsp;
### Notes
&emsp;
Loret ipsum
&emsp;
&emsp;

@ -0,0 +1,105 @@
---
Date: 2022-05-29
DocType: Note
Hierarchy:
TimeStamp:
location:
CollapseMetaTable: Yes
Sleep: 8
Happiness: 90
Gratefulness: 90
Stress: 35
FrontHeadBar: 5
EarHeadBar: 40
BackHeadBar: 30
Water: 2.25
Coffee: 3
Steps: 8593
Ski:
Riding:
Racket:
Football:
title: "Daily Note"
allDay: true
date: 2022-05-29
---
%% Parent:: [[@Life Admin]] %%
---
[[2022-05-28|<< 🗓 Previous ]] &emsp; &emsp; &emsp; [[@Main Dashboard|Back]] &emsp; &emsp; &emsp; [[2022-05-30|🗓 Next >>]]
---
&emsp;
```button
name Record today's health
type command
action MetaEdit: Run MetaEdit
id EditMetaData
```
^button-2022-05-29Edit
```button
name Save
type command
action Save current file
id Save
```
^button-2022-05-29NSave
&emsp;
# 2022-05-29
&emsp;
```ad-abstract
title: Summary
collapse: open
Note Description
```
&emsp;
```toc
style: number
```
&emsp;
---
&emsp;
### Memos
&emsp;
#### Memos
This section does serve for quick memos.
&emsp;
%% ### %%
&emsp;
- 15:15 [[Udon in Buttery Tomato n Soy broth]] recipe for my [[MRCK|Meggi-mo]] for [[2022-05-29|lunch]]
---
&emsp;
### Notes
&emsp;
Loret ipsum
&emsp;
&emsp;

@ -0,0 +1,106 @@
---
Date: 2022-05-30
DocType: Note
Hierarchy:
TimeStamp:
location:
CollapseMetaTable: Yes
Sleep: 7
Happiness: 90
Gratefulness: 90
Stress: 35
FrontHeadBar: 5
EarHeadBar: 40
BackHeadBar: 30
Water: 3.75
Coffee: 4
Steps: 6890
Ski:
Riding:
Racket:
Football:
title: "Daily Note"
allDay: true
date: 2022-05-30
---
%% Parent:: [[@Life Admin]] %%
---
[[2022-05-29|<< 🗓 Previous ]] &emsp; &emsp; &emsp; [[@Main Dashboard|Back]] &emsp; &emsp; &emsp; [[2022-05-31|🗓 Next >>]]
---
&emsp;
```button
name Record today's health
type command
action MetaEdit: Run MetaEdit
id EditMetaData
```
^button-2022-05-30Edit
```button
name Save
type command
action Save current file
id Save
```
^button-2022-05-30NSave
&emsp;
# 2022-05-30
&emsp;
```ad-abstract
title: Summary
collapse: open
Note Description
```
&emsp;
```toc
style: number
```
&emsp;
---
&emsp;
### Memos
&emsp;
#### Memos
This section does serve for quick memos.
&emsp;
%% ### %%
&emsp;
- [x] 08:35 [[@Lifestyle]] :shoe: : pick up shoes at the cobbler's 📅 2022-05-30 ✅ 2022-05-30
- 12:00 My [[MRCK|Meggi-mo]] is preparing the [[Udon in Buttery Tomato n Soy broth]] [[2022-05-30|today]]
---
&emsp;
### Notes
&emsp;
Loret ipsum
&emsp;
&emsp;

@ -0,0 +1,104 @@
---
Date: 2022-05-31
DocType: Note
Hierarchy:
TimeStamp:
location:
CollapseMetaTable: Yes
Sleep: 7
Happiness: 90
Gratefulness: 90
Stress: 35
FrontHeadBar: 5
EarHeadBar: 40
BackHeadBar: 30
Water: 1.9
Coffee: 0
Steps:
Ski:
Riding:
Racket:
Football:
title: "Daily Note"
allDay: true
date: 2022-05-31
---
%% Parent:: [[@Life Admin]] %%
---
[[2022-05-30|<< 🗓 Previous ]] &emsp; &emsp; &emsp; [[@Main Dashboard|Back]] &emsp; &emsp; &emsp; [[2022-06-01|🗓 Next >>]]
---
&emsp;
```button
name Record today's health
type command
action MetaEdit: Run MetaEdit
id EditMetaData
```
^button-2022-05-31Edit
```button
name Save
type command
action Save current file
id Save
```
^button-2022-05-31NSave
&emsp;
# 2022-05-31
&emsp;
```ad-abstract
title: Summary
collapse: open
Note Description
```
&emsp;
```toc
style: number
```
&emsp;
---
&emsp;
### Memos
&emsp;
#### Memos
This section does serve for quick memos.
&emsp;
%% ### %%
&emsp;
---
&emsp;
### Notes
&emsp;
Loret ipsum
&emsp;
&emsp;

@ -1,123 +0,0 @@
---
dg-publish: true
Alias: [""]
Tag: ["", ""]
Date: 2022-05-26
DocType: "WebClipping"
Hierarchy:
TimeStamp: 2022-05-26
Link: https://www.thespruceeats.com/balsamic-honey-salad-dressing-2217078
location:
CollapseMetaTable: Yes
---
Parent:: [[@News|News]]
Read:: No
---
&emsp;
```button
name Save
type command
action Save current file
id Save
```
^button-Make the Most of Your Salads With Balsamic Honey Salad DressingNSave
&emsp;
# Make the Most of Your Salads With Balsamic Honey Salad Dressing
| Nutrition Facts (per serving) | |
| --- | --- |
| 96 | Calories |
| 9g | Fat |
| 4g | Carbs |
| 0g | Protein |
Show Full Nutrition Label Hide Full Nutrition Label
×
| Nutrition Facts | |
| --- | --- |
| Servings: 6 | |
| Amount per serving | |
| Calories | 96 |
| % Daily Value\* | |
| Total Fat 9g | 12% |
| Saturated Fat 1g | 6% |
| Cholesterol 0mg | 0% |
| Sodium 113mg | 5% |
| Total Carbohydrate 4g | 1% |
| Dietary Fiber 1g | 2% |
| Total Sugars 2g | |
| Protein 0g |
| Vitamin C 1mg | 6% |
| Calcium 7mg | 1% |
| Iron 0mg | 1% |
| Potassium 54mg | 1% |
| *\*The % Daily Value (DV) tells you how much a nutrient in a food serving contributes to a daily diet. 2,000 calories a day is used for general nutrition advice.* | |
(Nutrition information is calculated using an ingredient database and should be considered an estimate.)
Balsamic vinegar and honey (along with a bit of mustard) pack a lot of flavor in this sweet-yet-tangy salad dressing. If you've never made [homemade dressing](https://www.thespruceeats.com/lemon-garlic-salad-dressing-2217089) before, you will be delighted with how easy it is. You may find you like being able to control exactly what and how much goes into your salad.
Feel free to adjust all the seasonings to your taste and use this recipe as more of a guideline toward deliciousness than a strict recipe, per se.
This dressing complements fresh green salads with nuts and fruits, such as an [apple and walnut salad](https://www.thespruceeats.com/apple-and-walnut-salad-recipe-5084986), or a [fall fruit salad with walnuts and blue cheese](https://www.thespruceeats.com/apple-salad-with-pecans-and-raisins-3062165).
- 1/4 cup [extra-virgin olive oil](https://www.thespruceeats.com/best-olive-oil-4690453)
- 1 tablespoon [balsamic vinegar](https://www.thespruceeats.com/about-balsamic-vinegar-1808088)
- 1/2 to 1 teaspoon [Dijon-style mustard](https://www.thespruceeats.com/homemade-dijon-style-mustard-recipe-1806782)
- 1/2 to 1 teaspoon honey
- 1 medium [shallot](https://www.thespruceeats.com/all-about-shallots-2215641)
- 1 clove garlic, optional
- 1/4 teaspoon fine sea salt
- 1/4 teaspoon freshly ground black pepper
1. Gather the ingredients.
2. In a small bowl or measuring cup, whisk together the oil, vinegar, mustard, and honey. If you're using the dressing right away, make the dressing in the bottom of the large salad bowl.
3. Peel and mince the shallot. Add it to the dressing. If you want to add the additional kick of garlic, peel that, mince it, and add it as well. Whisk them into the dressing. Add the salt and pepper and whisk those in, too. Let the dressing sit 5 to 10 minutes for the flavors to blend a bit.
4. Taste the dressing—the best way to do this is to dip a lettuce leaf into the dressing so you taste how the dressing will work on the salad.
### Recipe Variations
- Taste the dressing, and add more salt and/or pepper if you think it needs it.
- You can adjust the amount of [honey](https://www.thespruceeats.com/honey-history-1807611) and mustard to make it sweeter or more pungent, respectively.
- Too strong? Consider whisking in an additional tablespoon of oil, or just add a tablespoon of warm water to dilute the flavor a bit.
- If you don't have a shallot, you can use a small amount of [red onion](https://www.thespruceeats.com/uses-for-different-onion-types-4008831), about a tablespoon, minced.
### How to Store
- If there is any leftover dressing, store it in an airtight container and place in the refrigerator for up to two weeks.
### How should balsamic vinegar be stored after opening?
- Store your opened bottle of balsamic vinegar in the pantry along with other kinds of vinegar you may have. Vinegar has a long shelf life, but just keep track of the expiration date.
Rate This Recipe
I don't like this at all. It's not the worst. Sure, this will do. I'm a fan—would recommend. Amazing! I love it! Thanks for your rating!
&emsp;
&emsp;
---
`$= dv.el('center', 'Source: ' + dv.current().Link + ', ' + dv.current().Date.toLocaleString("fr-FR"))`

@ -12,7 +12,7 @@ CollapseMetaTable: Yes
---
Parent:: [[@News|News]]
Read:: No
Read:: [[2022-05-29]]
---

@ -14,7 +14,7 @@ CollapseMetaTable: Yes
---
Parent:: [[@News|News]]
Read:: No
Read:: [[2022-05-31]]
---

@ -0,0 +1,193 @@
---
dg-publish: true
Alias: [""]
Tag: ["Society", "US", "Segregation"]
Date: 2022-05-27
DocType: "WebClipping"
Hierarchy:
TimeStamp: 2022-05-27
Link: https://www.trulyadventure.us/the-richest-black-girl-in-america
location:
CollapseMetaTable: Yes
---
Parent:: [[@News|News]]
Read:: [[2022-05-27]]
---
&emsp;
```button
name Save
type command
action Save current file
id Save
```
^button-TheRichestBlackGirlinAmericaNSave
&emsp;
# The Richest Black Girl in America
![RBG.png](https://images.squarespace-cdn.com/content/v1/5a238ba10abd049ac5f4f02c/1615394917194-HMIWUSU5OYTCLWNNMENR/RBG.png)![RBG.png](https://images.squarespace-cdn.com/content/v1/5a238ba10abd049ac5f4f02c/1615394917194-HMIWUSU5OYTCLWNNMENR/RBG.png)
### By Lauren N. Henley
## When an 11-year-old Black girl in Jim Crow America discovers a seemingly worthless plot of land she has inherited is worth millions, everything in her life changesand the walls begin to close in. The untold story brought to life from thousands of pages of archival documents.
Sarah Rector, 11, stood up and wiped her hands on her sweat-soaked shift, a simple loose dress. She had to squint to block out the radiating sun. It was another hot August in rural Oklahomahot enough for her barefoot soles to grow numb from the scorching dirt. She wasnt much taller than the cotton plants surrounding her.
Sarah, her siblings, dad Joe, and mom Rose would repeat this cycle day in and day out in the summer of 1913 until a sea of bulbous whiteness would stretch out before them. This was the Rector familys life, and there was little exceptional about it for this time and place. They were Black farmers in the heart of Jim Crow America. They were relegated to the poorest parts of town, to the most menial lifestyle, and to degrading reminders of the long shadow of slavery. There were two mortgages on their property, putting it at risk of foreclosure. For a young girl like Sarah, her realistic prospects in life might be limited to backbreaking domestic work or agricultural labor. If she were lucky, she could become a teacher in a segregated and underfunded local school. Beyond these, most other professions were simply off-limits to poor and working-class Black women.
Like many other Black families from Oklahoma, the Rectors ancestors had been enslaved by the Creek tribe. That meant Sarah and her eldest siblings were eligible to be added to the Creek Nations Freedmen Roll, which under federal law entitled them to receive free land allotments.
![1_USh_tTI9qcPuPoQ6Rzw37Q.png](https://images.squarespace-cdn.com/content/v1/5a238ba10abd049ac5f4f02c/1613303394707-16WM3D2Y7BO29HCBED0U/1_USh_tTI9qcPuPoQ6Rzw37Q.png)![1_USh_tTI9qcPuPoQ6Rzw37Q.png](https://images.squarespace-cdn.com/content/v1/5a238ba10abd049ac5f4f02c/1613303394707-16WM3D2Y7BO29HCBED0U/1_USh_tTI9qcPuPoQ6Rzw37Q.png)
For the most part, the program was a misplaced band-aid on centuries of mistreatment. Sarahs allotment was almost 100 miles northwest of their town, too far away from the familys farm to be practical. And that “free” land was hardly free. The properties given to Black residents tended to have uncultivable soil and a hefty annual tax bill. Sarahs plot was called “a rocky piece of wasteland” by one observer. Joe Rector, a hard worker who protected the best interests of his family, wanted nothing to do with his childrens allotments. He petitioned the Muskogee County Court to authorize a sale of a few hundred dollars, but no buyer could be found. However hard Joe tried, it seemed that he was stuck with them.
Joe decided to lease Sarahs land to an oil company. The lease offset some of the tax payments, and came with a royalty if a splash or two of oil happened to be found. The allotment might change from a dreadful burden to a tolerable inconvenience.
On this particular day, August 29, 1913, Sarah continued the demanding manual labor that helped support her family. She was too far away from her plot to see one of the countless sets of drilling equipment on the horizon twisting into the ground. She could not witness the oil start to bubble up. And then more. And more. If Sarah had found Aladdins lamp, as one newspaper later noted, she could hardly have commanded the genie to conjure a wilder scenario than this.
It was a gusher.
Without knowing it yet, Sarah Rector in that instant had gone from poor farmers daughter to a budding tycoon. Some 2,500 barrels of oil per day spewed out of Sarahs property, making it what was then the biggest producing well in one of the biggest oil fields in the country. From that first gusher alone Sarah stood to make more than $114,000 per yearnearly $3 million in todays dollars.
Everyone wanted to know more about Sarah Rector, about her unbelievable luck and especially about her moneyand many would stop at nothing to get it for themselves.
![1_xXPRhQ62ylNp0k4ZXCgDXA.png](https://images.squarespace-cdn.com/content/v1/5a238ba10abd049ac5f4f02c/1605005234674-YPB44Z227EIMN9RMOMD1/1_xXPRhQ62ylNp0k4ZXCgDXA.png)![1_xXPRhQ62ylNp0k4ZXCgDXA.png](https://images.squarespace-cdn.com/content/v1/5a238ba10abd049ac5f4f02c/1605005234674-YPB44Z227EIMN9RMOMD1/1_xXPRhQ62ylNp0k4ZXCgDXA.png)
Sarah held in her hands her first direct payment from her royalties: $5.25, roughly $138 today. Though it was a tiny sliver of the overall money flooding into the bank, it was still a jackpot to the young girl, and a token of a different life. The world she was used to was small though beloved. Her all-Black town of Taft had a population of fewer than 400 who supported vibrant stores up and down Main Streetfamily-owned restaurants, a bakery, a barbershop, a shoe repair store, a few grocery stores, all well-advertised in the modest town newspaper. As one local put it, for Black Americans subjected to the brutality of Jim Crow, Taft was “second to none most anywhere” because it was a place for Black folks to feel like they belonged. For Sarah, visiting Black-owned businesses and running errands with her family would have been a stark contrast to the big city of Muskogee just 10 miles east.
![1_8dh6B1OmNHUCk7_X5rTbSA.png](https://images.squarespace-cdn.com/content/v1/5a238ba10abd049ac5f4f02c/1613303457718-0SGPZ1SEPYP36TWGPWON/1_8dh6B1OmNHUCk7_X5rTbSA.png)![1_8dh6B1OmNHUCk7_X5rTbSA.png](https://images.squarespace-cdn.com/content/v1/5a238ba10abd049ac5f4f02c/1613303457718-0SGPZ1SEPYP36TWGPWON/1_8dh6B1OmNHUCk7_X5rTbSA.png)
Now Sarah bought a brand new outfit. She had trouble getting used to her new everyday shoes. But she could not deny they had their practical use. After all, Sarah had two miles to walk to the local school, which she did every day from their familys sawn-lumber cabin. That cabin had two rooms with one bed. Sarah slept on the floor on a natural-fiber mat. None of this was unusual, and by no means constituted a source of shame in Taft.
Then up to the cabin rolled a brand new buggy, an open conveyance with big, sturdy wheels. The buggy had a lap blanket to keep the rider warm.
It was like a personal chariot for the 11-year-old girl, bringing added attention her way. Sarah harnessed a horse to the buggy and trotted into the center of Taft to school, where the recently installed street lights illuminated her newfound fortune for friends, classmates, and teachers to see.
Newly arrived funds also allowed upgrades to the farm. Chicken houses and a new barn gave animals more space, a smoke house expanded the kitchens capacity, and a well for water eliminated the arduous task of hauling pails. An oil stove improved summertime cooking.
The kids could watch an even more remarkable project taking shape not too far away on the familys farm. A brand new two-story frame house was now under construction, coming together right before their eyes. When it was done, they filled it with store-bought furniture, another luxury-turned-reality to celebrate.
Rose, Sarahs mother, would pick out a dazzling new wardrobe for herself. Perhaps most exciting for Sarah were two luxuries inside the house that would have been unimaginable previously: a phonograph and a piano. Sarah, who was said to have demonstrated “musical talents,” was sitting with her fingers on the keys of a piano that was worth as much as many Black families made in an entire year.
![1_xXPRhQ62ylNp0k4ZXCgDXA.png](https://images.squarespace-cdn.com/content/v1/5a238ba10abd049ac5f4f02c/1605005189933-LA8MDBZ7982BI4RMC6VF/1_xXPRhQ62ylNp0k4ZXCgDXA.png)![1_xXPRhQ62ylNp0k4ZXCgDXA.png](https://images.squarespace-cdn.com/content/v1/5a238ba10abd049ac5f4f02c/1605005189933-LA8MDBZ7982BI4RMC6VF/1_xXPRhQ62ylNp0k4ZXCgDXA.png)
Drills buzzed to life across Sarahs property. The gusher had been no fluke. A staggering 3,800 barrels of liquid gold now filled up every day. Observers predicted that Sarah would break records as one of the richest Black females in United States history, and that she would be paying the single biggest tax bill in the entire state of Oklahoma. Awestruck estimates indicated her annual income would end up double that of the President of the United States. She was compared to “the small heroine of a fairy tale.” A decade before Little Orphan Annie captivated the country in a comic strip about a poor white girl who became rich overnight, “Little Sarah Rector,” as she was referred to by some reporters, transformed into a nationwide sensation. (No surprise, amid much mythologizing, that at one point Sarah actually was described by a newspaper as an orphan, which was not the case.)
Mail poured in from strangers vying for Sarahs attention. The letters ranged from conniving to unapologetically demanding. From Boston to Seattle, correspondents begged for a chunkoften a large chunkof Sarahs money. A woman from New York bluntly requested a million dollars, promising it was to help improve “the poorer classes.”
Almost immediately, a flurry of menincluding some white men who would not have given a second thought to supporting racist Jim Crow lawssent letters proposing marriage. This despite the fact that Sarah was just turning 12. Some suitors included photographs. Others placed their letters in envelopes marked with stamps from international destinations. The secretary of a mens matrimony club, geared to make matches in the Black community, called dibs on Sarah for himself.
Sarah reportedly just wanted to go about what had been her normal, “happy-go-lucky” life. She showed no interest in entertaining suitors. But as public commentary piled up, two recurring notions emerged. One was that Sarah now represented her whole race, however unfair an idea that was. She had received this incredible good fortunethe logic ranand with it came responsibility. A conflicting notion questioned whether she belonged in the elite stratum in which her wealth placed her. Sarah may have been young and shy and inexperienced in the wider world, but a new mission became clear: to prove herself ready, and to silence the doubters.
Sarah may as well have been disembarking in another country when she stepped foot onto the campus of the prestigious Tuskegee Normal and Industrial Institute, a premier school for Black students from children to young adults. Booker T. Washington was said to have personally arranged for Sarahs enrollment shortly before his death. Margaret Murray Washington, his widow, was the principal overseeing young women, and she took an interest in the already famous new pupil. Sarah had her mother close at hand while she stayed in Alabama to help Sarah get settled. Joe would also come visit. Rose and Joe knew that their parental responsibilities only grew with the size of Sarahs bank accounts.
Sarah certainly looked the part of Tuskegee student, with her funds providing classy store-bought clothes and a top-of-the-line Singer sewing machine that would cost more than $1,000 today. She was accompanied by her 13-year-old sister Rebecca, whose tuition was paid out of Sarahs rapidly growing wealth. Schooling and attendant expenses for the year for one student would run upward of $10,000 in todays currency. In addition to an amazing opportunity for Rebeccas educational horizons, she could provide a moral support system for her sister.
Culture shock was not far behind. Tuskegees total student body was roughly five times larger than the entire population of Taft. The campus, a magnificent “oasis in the desert” as one visitor commented, was situated in the broad rolling ridges of eastern Alabama. Driving up to the institutes main entrance, manicured shade trees and white rocks outlined pristine roads, broad sidewalks, and professionally designed landscapes. More than 40 buildingsmore than half of which had been painstakingly built by Tuskegee students from bricks produced at the institutes brickyardjutted up in an orderly fashion, adorned with iron fencing, Grecian columns, stately turrets and artful steeples.
The massive Childrens House, where Sarahs classes were held, would have been the biggest schoolhouse she had ever seen. In contrast with the modest schoolroom she had known back home, this structure had its own kitchen and cloakroom. Tuskegee drew students from nearly every state and over a dozen countries, yet another dramatic change from the tight-knit community of Taft.
Attending class with a combination of local students and those from far away, Sarah learned to garden and farm on the two acres of fertile land surrounding the Childrens House. That the schoolhouse was located near the Washingtons campus residence, The Oaks, was no accidentthey could keep an eye out for the youngest and most impressionable members of Tuskegees community. Sarah began to get acclimated, aided by the careful attention of the formidable Margaret Murray Washington and a supportive campus of students. Like her fellow pupils, Sarah attended her classes and followed the rules. For a while, life began to seem almost normal.
![1_xXPRhQ62ylNp0k4ZXCgDXA.png](https://images.squarespace-cdn.com/content/v1/5a238ba10abd049ac5f4f02c/1605005234674-YPB44Z227EIMN9RMOMD1/1_xXPRhQ62ylNp0k4ZXCgDXA.png)![1_xXPRhQ62ylNp0k4ZXCgDXA.png](https://images.squarespace-cdn.com/content/v1/5a238ba10abd049ac5f4f02c/1605005234674-YPB44Z227EIMN9RMOMD1/1_xXPRhQ62ylNp0k4ZXCgDXA.png)
Sarah had to look over her shoulder more than once since fame and fortune had been foisted upon her. Now, rumors circulated that she was in grave danger at school. “Schemers,” it was said, had arrived in Alabama in a plot to kidnap Sarah. A group of Tuskegee students formed a regiment of guards to keep her safe. Tecumseh Bush, an athletic fellow student who had come from Waco, Texas, took responsibility to lead the group of young bodyguards.
However exhilarating it had been to become rich overnight, it was also terrifying, especially for a Black child who was often left vulnerable by laws and policies. Sarah did not have to look far to find nightmare-inducing examples of what could be in store.
There had been another windfall in Taft that had belonged to Stella and Herbert Sells. The two Black childrens allotmentsin the same region as Sarahsalso had produced geysers. In the spring of 1911, as the family slept, a package bomb exploded under their house and, as it was engulfed in flames, horrified neighbors watched helplessly as the children were incinerated. The bombing had been a conspiracy led by a real estate developer who had plotted to fabricate a deed to the childrens allotment. The children had been seen as easy targets. Stella Sells had been around Sarahs age and its likely that the two girls knew each other.
Now it could be Sarah Rectors turn. To the shock of everyone around the world following all the phases of her story, the leading Black newspaper, *The Chicago Defender*, ran a disturbing headline. For those rooting for Sarah, the inevitable seemed to have happened:
*Millionaire Colored Girl Kidnapped?… Richest Child of the Race Mysteriously Disappears.*
![1_UAlmqhLLHJOFx-b9S0V5uA.png](https://images.squarespace-cdn.com/content/v1/5a238ba10abd049ac5f4f02c/1613303621180-BF1PL30C18DKMQJAZJIB/1_UAlmqhLLHJOFx-b9S0V5uA.png)![1_UAlmqhLLHJOFx-b9S0V5uA.png](https://images.squarespace-cdn.com/content/v1/5a238ba10abd049ac5f4f02c/1613303621180-BF1PL30C18DKMQJAZJIB/1_UAlmqhLLHJOFx-b9S0V5uA.png)
Some candy and a handful of pennies purportedly had been used to lure Sarah away from Tuskegee. The news would make hearts drop. One concerned member of the public offered to go undercover looking for her.
But no evidence exists that suggests she was actually kidnapped, or even that she went missing, and the timing of *The* *Defender*s news does not line up with records of Sarahs whereabouts. The news story, in addition to selling papers, reflected the larger anxiety about where a young millionaire Black girl fit into society. It is also possible there were times during which Sarah ran away or hid from the incessant attention. Whatever the narratives origins, the idea of luring her with pennies had been a particularly ironic and unlikely touch, considering her income.
There had been a very real dark side, however, from the very beginning. At one point when the news first exploded and reporters stampeded to the Rector home, Sarah supposedly hid under the bed instead of sitting for an interview. She had refused a request from one newspaper to be in a photograph. In addition to getting used to the attention, she had to steel herself to face racist expectations and assumptions about her. Nicknames very intentionally tied her wealth to her race, demeaning her as a kind of sideshow act. Many small town papers dubbed her the “darky heiress” and the *Arkansas City Daily News* labeled her “the negro oil queen.” According to those who didnt even know Sarahwho had never met hershe was illiterate, ignorant, unworthy of wealth. Rumors were spread that Sarah was a foreigner who had lived in a hut at the time the oil was struck. The idea was mocked that a “kinky haired” girl with “curly pigtails and pigeon toes” would have the audacity to think an education at top schools could make her a lady.
Leaving Taft was in itself risky. Segregation was more than a way of lifeit was the law, making it deadly for Black people to move about freely. Taft was a refuge for residents who could not feel welcome or safe elsewhere.
Public envy burned toward Sarah, in large part because of her race. “Lease that land and see whats under it,” a newspaper encouraged its white readers while reporting about Sarah. As white citizens, they were assured they deserved fortunes more than Sarah did. “Are you as good as a negro? Think it over.”
The white establishment had to square two irreconcilable facts. Here was a girl who now had the spending power and associated privileges of some of the countrys wealthiest tycoons; and yet that girl was Black. The only thing they could think to do was have the court declare her white, which ironed out the logical conundrum. At least, that turn of events was part of the popular telling. The existence of the tale suggests that, in fact, is the way many people at the time thought, but the court declaration of Sarah as white actually appears to be apocryphal. In reality, the system never forgot Sarah was Black, not for a moment.
Right after the exultation surrounding the first oil gusher, a white financial guardian was appointed to oversee Sarahs money. The insidious rules instituting this requirement for minors followed a blatantly racist logic that Black parents were inherently incapable of managing their familys affairs. The greatest dangers to Sarahs wealth did not come from pushy correspondents or shadowy kidnappers that may have been lurking, but rather from the smiling white men in suitsbankers, lawyers, bureaucrats in their 40s and 50sshaking her family members hands, promising theyd take care of everything.
![1_xXPRhQ62ylNp0k4ZXCgDXA.png](https://images.squarespace-cdn.com/content/v1/5a238ba10abd049ac5f4f02c/1605005234674-YPB44Z227EIMN9RMOMD1/1_xXPRhQ62ylNp0k4ZXCgDXA.png)![1_xXPRhQ62ylNp0k4ZXCgDXA.png](https://images.squarespace-cdn.com/content/v1/5a238ba10abd049ac5f4f02c/1605005234674-YPB44Z227EIMN9RMOMD1/1_xXPRhQ62ylNp0k4ZXCgDXA.png)
There opened, in effect, the Bank of Sarah Rector.
The white guardian and lawyer for the case declared that Sarahs accounts were “far in excess of the needs.” They decided to loan her money out to people and businesses, far and wide, at an 8% interest ratenot the money-hungry rate of unscrupulous lenders (which could reach nearly 40%), but enough to make a handsome profit nonetheless. Before the year was up, funds from Sarahs accounts had been loaned in amounts adding up to at least $255,000 in todays terms to five local citizens of the Muskogee area. By the end of the following spring, Sarahs money had been loaned to 18 more people.
The guardian received at least 2% of total funds and the lawyer would skim off a percentage, too. They would also receive kickbacks for directing money into certain investments. Sarah, on the other hand, could not access her own money without permission. If she requested funds, it was at the guardians discretion whether to approve, and at that point the guardian would present expenses to a court for yet another level of approval. An investigator for the NAACP at the time opened a file on whether “this little colored girl is being neglected… while white men have control of her estate and control it *not* in her best interests.” The investigator warned the Secretary of theInterior that the girls guardian “would deny her and her kind the treatment accorded to a good yard dog.”
The constraints of Jim Crow laws meant that Sarahs Cinderella story leaned heavily toward Cinderellas *captivity*, in Sarahs case with a financial overseer taking the role of the controlling stepmother.
In a strange twist, Sarahs guardian contracted with Joe Rector to transport lumber and build a structure in the summer of 1915 on farmland bought with Sarahs funds, meaning, in essence, that Sarah had hired her father. More troubling, the guardians paid Joe only $30roughly $775 todayfor three months of backbreaking work. Even using Sarahs money to pay a member of her family turned out to exploit the Rectors. In contrast, Sarahs guardian petitioned the court to receive extra funds in his own pocket as compensation for travel expenses involved in filing petitions on her behalfcircular logic to increase his piece of the pie. At one point, with Sarah away at school, a group of men in a courtroom hundreds of miles away spent more than 40% of her available cash to purchase even more investment property shed likely never seen.
Sarah had been keeping her head down continuing her studies at the well-respected Fisk Universitys preparatory school in the rolling hills of Nashville, Tennessee, and then attending high school in Kansas City, Missouri, where she took a particular interest in algebra and home economics. She blended in. But she also had quietly become a strong young lady who found her voice to call for what she needed and what she wanted. Sarah, once the little girl who felt constrained in new store-bought shoes, had closets and cabinets with items such as dresses, perfume, talc powder, corsets, shoes, coats, ribbons, suits, hosiery, linen, silk and lace. She acquired a Victrola record player with records and a cutting-edge Kodak camera to capture the incredible sights she was seeing around the country. At a time when less than 4% of Americans owned an automobile, 16-year-old Sarah rolled up to her destinations in a Premier, a sought-after touring car that was as much a status symbol as it was a comfortable conveyance. The car was valued at an amount equivalent to nearly $43,000 today.
As signs of mismanagement by her financial guardian became clearer, Sarah would no longer sit still, not to be ignored and exploited, nor to be coddled and insulated. The NAACP had tried to run interference but their hands were tied by a legal system set up to favor the white bureaucrats greedy to keep control. Sarah put together a petition demanding her father be appointed one of her financial guardians, a hurdle any white minor would never have had to encounter in the first place.
The court sat on Sarahs petition without acting, ultimately strong-arming her into retracting it and relying on yet another team of white men in suits to be in charge of her wealth. This, even though one of her guardians had now been publicly accused of lining his pockets with Sarahs money. He was still allowed to stick around, with yet another white man appointed to assist him.
Sarahs Premier automobile could take her wherever she needed to go to keep fighting. Determined, she would set out again to make things right. Then, driving in her sleek Premier during the Midwests notoriously windy season, Sarah crashed.
![drivin.jpg](https://images.squarespace-cdn.com/content/v1/5a238ba10abd049ac5f4f02c/1613303672594-CME2O6OLPC7HKSKMHXEW/drivin.jpg)![drivin.jpg](https://images.squarespace-cdn.com/content/v1/5a238ba10abd049ac5f4f02c/1613303672594-CME2O6OLPC7HKSKMHXEW/drivin.jpg)
![1_xXPRhQ62ylNp0k4ZXCgDXA.png](https://images.squarespace-cdn.com/content/v1/5a238ba10abd049ac5f4f02c/1605005234674-YPB44Z227EIMN9RMOMD1/1_xXPRhQ62ylNp0k4ZXCgDXA.png)![1_xXPRhQ62ylNp0k4ZXCgDXA.png](https://images.squarespace-cdn.com/content/v1/5a238ba10abd049ac5f4f02c/1605005234674-YPB44Z227EIMN9RMOMD1/1_xXPRhQ62ylNp0k4ZXCgDXA.png)
The automobile was near-totaled, a jumble of hubcaps, spark plugs and gaskets that racked up a repair bill adding up to $2,200 in todays value. Sarah was unscathed. The accident, though, struck an ominous note for her future. As Sarah ticked closer to 18 years old, when her authority over her money by right should increase, opportunists dug in their heels. The latest pair of court-authorized bureaucrats to oversee her purse strings had gone behind Sarahs back and signed a contract in her name that extended a lease she had on oil-rich land mined by the Prairie Oil & Gas Company. The conspicuous timing was glaring: the contract was set to expire *after* she was already a legal adult. The extended lease was not a fiscally sound move. The price guaranteed ($300,000roughly $5 million today) did not match the markets trends. Sarah stood to lose money compared to what she could have earned by renegotiating a new contract at the end of the original lease. The entities poised to profit were her guardians and the mining company.
Then, Rose, Sarahs mom, petitioned a court to declare her daughter incompetent to manage her estate, while an uncle would prepare a claim to the court that Sarah was squandering her money. One likely possibility was that the team of guardians had manipulated Rose into filing her petition, convincing her Sarah was in over her head and needed intervention. Though the maneuvers were short-lived, the walls seemed to be closing in, and the Rector family itself was at risk of being torn apart.
Another shadow fell, according to a lawyer involved with the Rector family, in a renewed fear that one or more kidnapping plots surfaced to try to ransom Sarah for her wealth.
Then a bombshell landed in the papers: mere hours after turning 18, Sarah announced to the court that she voluntarily forfeited control of all her money to two trustees. “The spirits might get it,” Sarah explained her decision cryptically in a public statement. “Spirits” could have referred to evil spirits, and in *The Chicago Defender*s interpretation, particularly “paleface” spirits. “Millionairess for three hours,” a white reporter wrote, as though with a chuckle, inferring that even Sarah herself finally had admitted that a Black girl could not manage such wealth. The dream died. Sarah had surrendered.
But it had all been a feint.
After the press gleefully declared Sarah had yielded control of her fortune, those trustees transferred all her money right back to her and stepped away from the case for good. Reams of court documents reveal only fragments of what happened behind the scenes. But a scenario of events presents itself that nicely fits the evidence:
A rift developed among Sarahs financial guardians between those who supported her becoming independent and those who refused to let go of their own stakes in her assets. These entrenched guardians had the advantage of the power and respect accorded to them by the legal system that was withheld from Sarah. She had to find a way to coax themor trick theminto walking away.
A secret agreement with those trustees who were her allies could be the key. She could voluntarily yield control to those allies and be very public about itdeploying the reporters that had so often plagued her in order to report the arrangement far and wide in the press. This warded off the sharks who had been waiting, through her relatives or otherwise, to try to seize control. By beating them to the punch, Sarah froze their machinations long enough to quietly take control herself before anyone noticed. It took months for that last masterstroke to be reported in the press, and by that time Sarahs money was really hersfor the very first time.
“Sarah Rector Her Own Boss,” one newspaper, edited by one of her now-displaced guardians, declared simply. She had outwitted them all. She had not been the gullible and “bewildered” girl. One observer declared high school-aged Sarah a “financial genius.”
![1_xXPRhQ62ylNp0k4ZXCgDXA.png](https://images.squarespace-cdn.com/content/v1/5a238ba10abd049ac5f4f02c/1605005234674-YPB44Z227EIMN9RMOMD1/1_xXPRhQ62ylNp0k4ZXCgDXA.png)![1_xXPRhQ62ylNp0k4ZXCgDXA.png](https://images.squarespace-cdn.com/content/v1/5a238ba10abd049ac5f4f02c/1605005234674-YPB44Z227EIMN9RMOMD1/1_xXPRhQ62ylNp0k4ZXCgDXA.png)
Having seen the power of liquid gold in his daughters case, Joe Rector searched for a chance to contribute to his familys wealth without the unjust constraints that had been imposed by the legal system onto Sarah. Joe, promised princely profits by a friend, perked up at an investment scheme in oil wells in Mexico. But Joes friend betrayed him, leaving him stranded in another country, penniless, embarrassed and defeated. On the train ride home, Joe fell ill and died, supposedly of a broken heart.
![rawImage.jpg](https://images.squarespace-cdn.com/content/v1/5a238ba10abd049ac5f4f02c/1613303704377-G2ACK0UYTPVF44WVTWX0/rawImage.jpg)![rawImage.jpg](https://images.squarespace-cdn.com/content/v1/5a238ba10abd049ac5f4f02c/1613303704377-G2ACK0UYTPVF44WVTWX0/rawImage.jpg)
Sarah was devastated. Although she was only 20 years old, she took her place as the head of the family. She funded siblings educations and repaired any rift with her mother. She fended off scammers and con artists trying to stake claims to her money. When she was ready to marry, she chose a husband; he wasnt chosen by a matchmaking club or by the press. The fairytale of wealth and privilege may have been just thata fairytalebut Sarah was now an astute and deft investor and real estate developer with properties across several cities and towns in two states.
There was reason to take particular pride in one of those impressive properties, the Fike Building on South Second Street in downtown Muskogee, Oklahoma. It was a truly grand specimen of architecture, with 13-inch-thick walls and Carthage stone trimmings, towering two stories high and spanning practically an entire city block. It was so big that six successful storefronts lined the first floor and a boarding house with accommodations to room at least 40 guests occupied the upstairs level. The previous owner, Bob Fike, reportedly refused to rent out any space to Black businesses. Now Sarah owned the entire structure.
By one account, around the same time Joe Rector passed away, one of Sarahs brothers was taken into jail in Kansas City on a whim by white police officers. Sarah, wearing an imported gown, showed up to free him. Sarah said three words that conveyed power and confidence and put them on their heels, words hard to envision when thinking back to the little girl who had hid under a bed and refused to have her photo taken. Words that meant, in no uncertain terms: *do not underestimate me*.
“Im Sarah Rector.”
![fite bldg.png](https://images.squarespace-cdn.com/content/v1/5a238ba10abd049ac5f4f02c/1613303322797-Z758FAQZRZ8O47GSQB1O/fite+bldg.png)![fite bldg.png](https://images.squarespace-cdn.com/content/v1/5a238ba10abd049ac5f4f02c/1613303322797-Z758FAQZRZ8O47GSQB1O/fite+bldg.png)
![1_xXPRhQ62ylNp0k4ZXCgDXA.png](https://images.squarespace-cdn.com/content/v1/5a238ba10abd049ac5f4f02c/1605005234674-YPB44Z227EIMN9RMOMD1/1_xXPRhQ62ylNp0k4ZXCgDXA.png)![1_xXPRhQ62ylNp0k4ZXCgDXA.png](https://images.squarespace-cdn.com/content/v1/5a238ba10abd049ac5f4f02c/1605005234674-YPB44Z227EIMN9RMOMD1/1_xXPRhQ62ylNp0k4ZXCgDXA.png)
***Lauren N. Henley is an assistant professor of Leadership Studies at the University of Richmond. She writes about Black life in the early twentieth century.***
&emsp;
&emsp;
---
`$= dv.el('center', 'Source: ' + dv.current().Link + ', ' + dv.current().Date.toLocaleString("fr-FR"))`

@ -0,0 +1,88 @@
---
Tag: ["Health", "Human", "BurnOut"]
Date: 2022-05-30
DocType: "WebClipping"
Hierarchy:
TimeStamp: 2022-05-30
Link: https://chief.com/articles/mental-health-burnout-coach
location:
CollapseMetaTable: Yes
---
Parent:: [[@News|News]]
Read:: [[2022-05-30]]
---
&emsp;
```button
name Save
type command
action Save current file
id Save
```
^button-TheSilentImpactofBurnoutandHowtoOvercomeItLeaderNSave
&emsp;
# The Silent Impact of Burnout — and How to Overcome It as a Leader
Similar to heart disease and hypertension, where health symptoms often go unnoticed until it's too late, burnout is a silent workplace illness that hurts company culture if left unchecked. In fact, a survey by [software firm Limeade](https://www.limeade.com/resources/resource-center/limeade-employee-care-report-the-great-resignation-update/?utm_source=newswire&utm_medium=press_release) found that burnout was one of the top reasons workers left their organization in 2021, many without having another job lined up.
While much attention has been given to the need for well-being resources for employees, very little conversation has been had about protecting [mental health in the C-Suite](https://chief.com/articles/burnout-in-the-workplace). And according to leadership burnout coach [Dr. Kim Hires](https://drkimhires.com/), that needs to change. "One of the most sobering moments that I have whenever I work with executive teams is getting them to recognize whatever they're seeing down the line is because of what's going on with the leaders," she says, explaining that when burnout is ignored at the top, it trickles down and contributes to the stress, anxiety, and exhaustion felt by employees throughout the organization.
"It's very hard, especially at the executive level to spot \[it\], because you're getting rewarded for the work and you're not seeing any change in your performance so there's really no indicator that you need to slow down," says Dr. Hires. According to a study from consulting firm [Development Dimensions International](https://media.ddiworld.com/research/GLF2021-final.pdf), nearly 60% of leaders say they feel "used up" at the end of a workday, indicating strong signs of exhaustion and fatigue. "Usually what sends women to me is physical manifestations of \[burnout\]," Dr. Hires says. "They are suddenly diagnosed with hypertension, or their diabetes is uncontrolled, or they are having challenges with fertility — all of which are tied to burnout and that's what makes them stop."
In 2019, the [World Health Organization](https://www.who.int/news/item/28-05-2019-burn-out-an-occupational-phenomenon-international-classification-of-diseases) officially recognized workplace burnout as an occupational phenomenon caused by chronic work-related stress that has not been successfully managed. According to WHO, burnout is linked to exhaustion, increased mental distance and feelings of negativity and cynicism towards your job, and reduced professional efficacy. While it is not classified as a medical condition, experts say that burnout, if ignored, can negatively impact your emotional, mental, and physical health.
For leaders looking to better prioritize themselves at work, Dr. Hires says that taking a vacation, going to a gym session, or tuning into a meditation app may not be enough. Below, she outlines five changes executives can make to their everyday life to help them prevent, and overcome, self-burnout at work.
**Identify Your Triggers**
The root causes of work-related stress, exhaustion, and fatigue are different for every leader, and Dr. Hires says it's important to figure out what is weighing you down the most so that you can properly address it. "Is it the workload? Is it a lack of community, especially being a woman in certain spaces? Is it values? Is it fairness? Is it reward \[because\] reward means different things depending on the leadership level that you're at," she says.
"When you're at a lower or middle-level management, reward looks more like compensation, but once you get to the C-Suite, compensation is no longer the issue and reward might start to take on more of an appearance of rest." Whatever your trigger is, Dr. Hires says it's critical that you don't ignore it because ignoring it is where the burnout starts to develop.
**Re-Evaluate Your Work Habits**
Whenever you're feeling overwhelmed, Dr. Hires says that reconnecting with your purpose and the way in which you go about doing your work could be key to helping you better manage your tasks. "Just because the way that someone got to the C-Suite worked for them for 20 years, it doesn't mean it works for this stage of their lives," she says.
Dr. Hires gives an example of a Boeing executive who was forced to take a step back from work after a health scare. "He decided he was going to stop doing 30% of what he had been doing and to his surprise (and disappointment) no one even noticed," she says, proving how setting boundaries as a leader does not undermine your success.
“Know that it is not a weakness to ask for support. When you're experiencing burnout you're not failing, you're human.”
— Leadership Burnout Coach Dr. Kim Hires
**Set Aside Designated Mental Health Days**
"When you are trying to perform and you're absolutely exhausted, it takes you anywhere from twice as long to five times as long to complete the same task that you could complete when you're well-rested," says Dr. Hires. That's why she encourages leaders to be intentional about taking time off to tend to their mental health.
"If you are fortunate to be at an organization with unlimited PTO, make it a habit of scheduling one mental health day per month," she says. "It's really important at the leadership level that you are setting the example because if you offer \[time off\], but you don't even take it, you're not giving permission to your team to take it.”
**Block Off Time for Concentrated Work**
With the ever-changing demands of leadership and the incessant pings of being "always on," it's easy to get pulled into multiple directions simultaneously that cause you to lose focus on the impactful work you need to do. That's why Dr. Hires advises executives to block off time on their calendar that is devoted to doing the deep work they were hired to do. This, she says, is especially important for women leaders who are more likely to say "yes" to [informal leadership assignments](https://chief.com/articles/informal-leadership-combatting-employee-burnout) that relate to DEI work and mentorship.
**Avoid Mentorship Overload**
And on that note, while there are many benefits to mentoring junior employees, Dr. Hires warns leaders about devoting too much time to someone else's career rather than their own. "I recommend the group that you should be meeting with most frequently is the one that is directly below you," she says. "Once you start getting to two, three, and four levels below you, you need to look at once a quarter, or once a month at the most because otherwise it becomes burdensome and then it's not helpful to you or your mentee."
With mental health awareness increasing amid the pandemic, Dr. Hires says she wants leaders to know that C-Suite burnout is common and that it's okay to take a step back and raise your hand for help.
"Know that it is not a weakness to ask for support," she says. "When you're experiencing burnout you're not failing, you're human."
***Have you listened to the Chief podcast? Tune into "[The New Rules of Business](https://podcasts.apple.com/us/podcast/the-new-rules-of-business/id1591963543)" as Chief Co-Founders Carolyn Childers and Lindsay Kaplan unpack today's often nuanced, dichotomous leadership challenges to change how executives do business. Follow wherever you get your podcasts.***
Next Up
#### The Rise of the Supercommuter: How “Bleisure” Trips Have Become the Norm
&emsp;
&emsp;
---
`$= dv.el('center', 'Source: ' + dv.current().Link + ', ' + dv.current().Date.toLocaleString("fr-FR"))`

@ -0,0 +1,89 @@
---
Tag: ["History", "13th", "Mongols"]
Date: 2022-05-31
DocType: "WebClipping"
Hierarchy:
TimeStamp: 2022-05-31
Link: https://www.atlasobscura.com/articles/mongol-empire-women
location:
CollapseMetaTable: Yes
---
Parent:: [[@News|News]]
Read:: [[2022-05-31]]
---
&emsp;
```button
name Save
type command
action Save current file
id Save
```
^button-TheWomenWhoRanGenghisKhanEmpireNSave
&emsp;
# The Women Who Ran Genghis Khans Empire
*In Atlas Obscuras Q&A series* [She Was There](https://www.atlasobscura.com/categories/she-was-there), *we talk to female scholars who are writing long-forgotten women back into history.*
In 1178, a 17-year-old Mongol woman married a man she hardly knew. And while her husband traveled and fought and conquered, she ruled those who remained in Mongolia, managing every aspect of daily life in a massive nomadic camp. Commanders and shepherds alike reported to her, and she coordinated complex seasonal migrations of thousands of people and their livestock. At 28, she became the Grand Empress of the Mongol Empire; her name was Börte.
Börtes husband, Chinggis Khan (also known, based on the Arabic transliteration, as Genghis Khan), receives all the glory for founding the largest contiguous land empire the world has ever known, but Börte and her immense contributions have been largely forgotten. While their husbands fought in distant, years-long military campaigns, Börte and other Mongol women kept the empire running. Some women also rode to war. Khutulun, Chinggis Khans great-great-granddaughter, would swoop down on the enemy “as deftly as a hawk,” wrote Marco Polo.
*Atlas Obscura* spoke with Central Asia scholar Anne Broadbridge, author of [*Women and the Making of the Mongol Empire*](https://www.amazon.com/Making-Cambridge-Studies-Islamic-Civilization/dp/1108441009), about the many roles women had in the Mongol Empire, how society perceived them, and the rise of perhaps the most powerful woman of the medieval world: Töregene.
![Anne Broadbridge (left) and guide Emma Hite ride Bactrian camels on the Mongolian steppe. For millennia, nomads have used the camels as pack animals.](https://img.atlasobscura.com/iqGpc523kWvKcHgFozYyIyDZSVAfssO7gnGpaDoTFeI/rt:fill/w:1200/el:1/q:81/sm:1/scp:1/ar:1/aHR0cHM6Ly9hdGxh/cy1kZXYuczMuYW1h/em9uYXdzLmNvbS91/cGxvYWRzL2Fzc2V0/cy8xMWFjNzdmNTk4/Y2I0YTIwMmJfRWRp/dGVkIEFubmUgQnJv/YWRicmlkZ2UgYW5k/IGd1aWRlIEVtbWEg/SGl0ZSByaWRpbmcg/Zmx1ZmZ5IGNhbWVs/cyBpbiBNb25nb2xp/YS5KUEc.jpg)
Anne Broadbridge (left) and guide Emma Hite ride Bactrian camels on the Mongolian steppe. For millennia, nomads have used the camels as pack animals. Karolina Zygmanowska/Courtesy Anne Broadbridge
### **What were the responsibilities and tasks of the Mongol women in charge of camps?**
The better question would be what *werent* their tasks. I think we could put it all in the general category of management. \[For example,\] Chinggis Khans senior wife, Börte, is responsible for a camp. Shes responsible for their home, the yurt or *ger* that they live in. Shes responsible for the kids. If merchants come through, shes going to talk to them about economic activity. She is going to oversee or perform the typical daily herding activities. Theres food preparation. Theres clothing preparation. There are religious rituals. Theres entertainment. Its often a womans job to be the hospitable partner, to bring in food and welcome guests. And then theres all the thousand and one little things that everyone does every day—mending things, checking in with people, checking on kids, making sure that the kids arent fighting too much, etc.
Furthermore, when the camp had to move from point A to point B, which it did regularly according to season and pasture, women were in charge of that. They organized the procession of carts. Theyd drive that long line of carts, often drawn by oxen or yaks. When they arrived, they would place the yurts in the correct order, set them up, etc. So without women running the place where Mongols lived, there wouldnt have been a camp for the Mongol men to return to from their military campaigns.
### **After Chinggis Khans death in 1227, many women rose to power. Why?**
Succession is very complicated. But women can take over, in theory temporarily but sometimes not really temporarily, on behalf of some man, usually a son of their own.
So in the case of Töregene, who became regent of the entire Mongol Empire after the death of Chinggis Khans son Ögedei, or in the case of [Sorghaghtani](https://ejasonline.org/wp-content/uploads/2021/06/2021-8-Zhang.pdf), who maneuvered her son to be the ruler of the entire empire, theyre functioning as senior widows who are regents for men. Thats perfectly acceptable in (their) nomadic society.
![Khutulun, the great-great-granddaughter of Chinggis Khan and a fierce warrior, inspired the 20th-century opera <em>Turandot</em>.](https://img.atlasobscura.com/-GoFed0QcMB-ayqaZZhJxHiMEMI0SeKQDQigBVFJ-K4/rs:fill:12000:12000/q:81/sm:1/scp:1/ar:1/aHR0cHM6Ly9hdGxh/cy1kZXYuczMuYW1h/em9uYXdzLmNvbS91/cGxvYWRzL2Fzc2V0/cy9mN2U3OTRkMTM1/MGIxOGUwYjlfUG9z/dGVyIFB1Y2Npbmkg/b3BlcmEgVHVyYW5k/b3QgaW5zcGlyZWQg/YnkgTW9uZ29sIHdh/cnJpb3IgcHJpbmNl/c3MgS2h1dHVsdW4u/anBlZw.jpg)
Khutulun, the great-great-granddaughter of Chinggis Khan and a fierce warrior, inspired the 20th-century opera *Turandot*. [Public Domain](https://en.wikipedia.org/wiki/Turandot#/media/File:Poster_Turandot.jpg)
### **How did Töregene become regent of all Mongolia, around the year 1241?**
She had remarkable skills. She enters the family in a very disadvantageous position. Chinggis Khans army kills her husband and she becomes a trophy wife for the third son of Chinggis Khan and Börte, Ögedei, who succeeds his father as overall Great Khan. Töregene isnt even the senior wife (but) she produces five living sons. The senior wife produced no children. So sort of by default Töregene rises up. By the time Ögedei himself died, she was in a position to take over as the actual senior wife. So she wrote to all of the senior members of the family when her husband died and said, “Oh my goodness. We have this situation. What shall I do?” They wrote back and said you should be regent until we can get together and decide who will be the next ruler. So she worked the system very well in her own favor.
Ögedei, her dead husband, had a preference for who should be the next Great Khan. Töregene had a different preference. She wanted her oldest son to be Khan. And so at this big general assembly that she called and hosted and paid for, she managed to lobby successfully for her son to take over—even though this was in opposition to her dead husbands express will.
![A 13th-century stone turtle marks the site of Karakorum, the Mongol Empire's capital, built in 1235 by Ögedei Khan. After his death, his wife Töregene ruled from here as regent.](https://img.atlasobscura.com/n7Fyj-gOyV0Fc0vLXXvwX3BFxGLhDu-qoFoUiwqrq3A/rt:fill/w:1200/el:1/q:81/sm:1/scp:1/ar:1/aHR0cHM6Ly9hdGxh/cy1kZXYuczMuYW1h/em9uYXdzLmNvbS91/cGxvYWRzL2Fzc2V0/cy85YzkwODY2MWY3/ODFlNWIwZDRfQSBn/aWFudCBTdG9uZSB0/b3J0b2lzZSB3aXRo/IHRoZSBFcmRlbmUg/WnV1IG1vbmFzdGVy/eSBVTkVTQ08gV29y/bGQgSGVyaXRhZ2Ug/U2l0ZSBpbiBLaGFy/YWtob3J1bSBLYXJh/a29ydW0sIE1vbmdv/bGlhIGluIGJhY2tn/cm91bmQuanBn.jpg)
A 13th-century stone turtle marks the site of Karakorum, the Mongol Empires capital, built in 1235 by Ögedei Khan. After his death, his wife Töregene ruled from here as regent. Wolfgang Kaehler/Getty Images
### **What was Mongol societys perception of these powerful women?**
We dont have much \[historical material from the Mongols\], but what we do have implies acceptance. This is the way things are. Women have authority. They do certain things. You check in with them. You ask their advice. You listen to them when they speak. This is normal. So although outside observers see the amount of authority that some women have in these societies as unusual, for people living in those societies it was normal.
### **Did Mongol women fight in armies?**
\[Historians\] have indeed found evidence that more than we thought of the Mongol armed forces were, in fact, women—maybe as much as 20 percent. Were not talking half, but they were there.
### **What would you like the world to know about Mongol women?**
I want people to know how much they mattered. Theyre half the story at least. Without Mongol women, there would have been no Mongol conquest, no Mongol empire. There would have been nothing. In Mongol society, you have something like 90 percent of men able to mobilize and engage in warfare. No other contemporary society—not medieval China, not medieval Iran, not medieval Europe—can do that, because men have to do other jobs. They have to be priests, farmers, administrators. In Mongol society, women do all of that stuff. So without women behind the scenes running everything else, men would not have gone anywhere.
*This interview has been edited for length and clarity.*
&emsp;
&emsp;
---
`$= dv.el('center', 'Source: ' + dv.current().Link + ', ' + dv.current().Date.toLocaleString("fr-FR"))`

@ -1,8 +1,6 @@
---
dg-publish: true
Alias: [""]
Tag: ["", ""]
Tag: ["Crime", "US"]
Date: 2022-05-22
DocType: "WebClipping"
Hierarchy:
@ -14,7 +12,7 @@ CollapseMetaTable: Yes
---
Parent:: [[@News|News]]
Read:: No
Read:: [[2022-05-30]]
---

@ -73,7 +73,7 @@ Repository of Tasks & To-dos regarding life style.
&emsp;
- [ ] [[@Lifestyle]]: Re-start swimming 📅 2022-05-31
- [ ] :swimming_man: [[@Lifestyle]]: Re-start swimming 📅 2022-05-31
- [ ] [[@Lifestyle]]: Re-start [[@Lifestyle#polo|Polo]] 📅 2022-06-30
- [ ] [[@Lifestyle]]: Continue building [[@Lifestyle#Music Library|Music Library]] 📅 2022-06-30

@ -70,7 +70,7 @@ This section on different household obligations.
#### Garbage collection
- [ ] [[Household]]: *Paper* recycling collection 🔁 every 2 weeks on Tuesday 📅 2022-06-07
- [ ] [[Household]]: *Paper* recycling collection 🔁 every 2 weeks on Tuesday 📅 2022-06-07
- [x] [[Household]]: *Paper* recycling collection 🔁 every 2 weeks on Tuesday 📅 2022-05-24 ✅ 2022-05-23
- [x] [[Household]]: *Paper* recycling collection 🔁 every 2 weeks on Tuesday 📅 2022-05-10 ✅ 2022-05-09
- [x] [[Household]]: *Paper* recycling collection 🔁 every 2 weeks on Tuesday 📅 2022-04-26 ✅ 2022-04-25
@ -81,7 +81,8 @@ This section on different household obligations.
- [x] [[Household]]: *Paper* recycling collection 🔁 every 2 weeks on Tuesday 📅 2022-02-15 ✅ 2022-02-14
- [x] [[Household]]: *Paper* recycling collection 🔁 every 2 weeks on Tuesday 📅 2022-02-01 ✅ 2022-01-31
- [x] [[Household]]: *Paper* recycling collection 🔁 every 2 weeks on Tuesday 📅 2022-01-18 ✅ 2022-01-17
- [ ] [[Household]]: *Cardboard* recycling collection 🔁 every 2 weeks on Tuesday 📅 2022-05-31
- [ ] ♻ [[Household]]: *Cardboard* recycling collection 🔁 every 2 weeks on Tuesday 📅 2022-06-14
- [x] ♻ [[Household]]: *Cardboard* recycling collection 🔁 every 2 weeks on Tuesday 📅 2022-05-31 ✅ 2022-05-30
- [x] [[Household]]: *Cardboard* recycling collection 🔁 every 2 weeks on Tuesday 📅 2022-05-17 ✅ 2022-05-16
- [x] [[Household]]: *Cardboard* recycling collection 🔁 every 2 weeks on Tuesday 📅 2022-05-03 ✅ 2022-05-03
- [x] [[Household]]: *Cardboard* recycling collection 🔁 every 2 weeks on Tuesday 📅 2022-04-19 ✅ 2022-04-18
@ -96,6 +97,12 @@ This section on different household obligations.
#### House chores
- [ ] 🛎 🛍 REMINDER [[Household]]: Monthly shop in France 🔁 every month on the last Saturday 🛫 2022-05-30 📅 2022-06-25
- [ ] 🛎 🧻 REMINDER [[Household]]: check need for toilet paper 🔁 every week 📅 2022-06-06
- [x] 🛎 🧻 REMINDER [[Household]]: check need for toilet paper 🔁 every week 📅 2022-05-30 ✅ 2022-05-29
- [ ] :bed: [[Household]] Change bedsheets 🔁 every 2 weeks on Saturday 📅 2022-06-18
- [x] :bed: [[Household]] Change bedsheets 🔁 every 2 weeks on Saturday 📅 2022-06-04 ✅ 2022-05-29
- [x] :bed: [[Household]] Change bedsheets 🔁 every 2 weeks on Saturday 📅 2022-05-30 ✅ 2022-05-29
&emsp;

@ -211,6 +211,7 @@ Paris, Zürich, London
- [ ] 🎁 🥘 Foods & pottering
- [ ] 🎁 🫒 good olive oil
- [ ] 🎁 ☕ De Longhi coffee (& cappuccino) maker
- [ ] 🎁 🧴 Scents & smells
- [ ] 🎁 🧴 Nose, Sleeping on the Roof, Floraiku
- [ ] 🎁 🏩 Stays

@ -57,14 +57,6 @@ style: number
&emsp;
#### Bellevue
[[#^Top|TOP]]
```dataviewjs
dv.view("00.01 Admin/dv-views/query_place", {country: "CH", placetype: "Bar", area: "Bellevue"})
```
&emsp;
#### Enge
[[#^Top|TOP]]
```dataviewjs
@ -81,10 +73,10 @@ dv.view("00.01 Admin/dv-views/query_place", {country: "CH", placetype: "Bar", ar
&emsp;
#### Kensington
#### Seefeld
[[#^Top|TOP]]
```dataviewjs
dv.view("00.01 Admin/dv-views/query_place", {country: "Suisse", placetype: "Bar", area: "Kensington"})
dv.view("00.01 Admin/dv-views/query_place", {country: "CH", placetype: "Bar", area: "Seefeld"})
```
&emsp;

@ -112,22 +112,6 @@ dv.view("00.01 Admin/dv-views/query_place", {country: "CH", placetype: "Restaura
&emsp;
#### Bellevue
[[#^Top|TOP]]
```dataviewjs
dv.view("00.01 Admin/dv-views/query_place", {country: "CH", placetype: "Restaurant", area: "Bellevue"})
```
&emsp;
#### TiefBrunnen
[[#^Top|TOP]]
```dataviewjs
dv.view("00.01 Admin/dv-views/query_place", {country: "CH", placetype: "Restaurant", area: "Tiefbrunnen"})
```
&emsp;
#### Altstadt
[[#^Top|TOP]]
```dataviewjs

@ -0,0 +1,95 @@
---
Tag: ["Modern"]
Date: 2022-05-29
DocType: "Place"
Hierarchy: "NonRoot"
TimeStamp:
location: [47.3628911,8.5472553]
Place:
Type: ["Restaurant", "Hotel"]
SubType: Rooftop
Style: Modern
Location: Seefeld
Country: CH
Status: Recommended
CollapseMetaTable: yes
---
Parent:: [[@@Zürich|Zürich]], [[@Restaurants Zürich|Restaurants in Zürich]]
&emsp;
`= elink("https://waze.com/ul?ll=" + this.location[0] + "%2C" + this.location[1] + "&navigate=yes", "Launch Waze")`
---
&emsp;
```button
name Save
type command
action Save current file
id Save
```
^button-LaReserveSave
&emsp;
# La Réserve
&emsp;
```ad-abstract
title: Summary
collapse: open
Note Description
```
&emsp;
```toc
style: number
```
&emsp;
---
&emsp;
### Contact
&emsp;
```ad-address
~~~
Utoquai 45
8008 Zürich
Switzerland
~~~
```
&emsp;
Phone:: <a href="tel:+41442662525">+41 44 266 25 25</a>
Email:: [info@lareserve-zurich.com](readdle-spark://compose?recipient=info@lareserve-zurich.com&subject=Reservierung)
Website:: [La Muña - La Réserve Eden au Lac Zurich](https://www.lareserve-zurich.com/restaurants/la-muna/)
&emsp;
---
&emsp;
### Notes
&emsp;
Loret ipsum
&emsp;
&emsp;

@ -0,0 +1,97 @@
---
Alias: [""]
Tag: ["Modern"]
Date: 2022-05-29
DocType: "Place"
Hierarchy: "NonRoot"
TimeStamp:
location: [47.3626077,8.548824]
Place:
Type: Bar
SubType: Modern
Style: Cocktail
Location: Seefeld
Country: CH
Status: Recommended
CollapseMetaTable: yes
---
Parent:: [[@@Zürich|Zürich]], [[@Bars Zürich|Bars in Zürich]]
&emsp;
`= elink("https://waze.com/ul?ll=" + this.location[0] + "%2C" + this.location[1] + "&navigate=yes", "Launch Waze")`
---
&emsp;
```button
name Save
type command
action Save current file
id Save
```
^button-NoIdeaSave
&emsp;
# No Idea
&emsp;
```ad-abstract
title: Summary
collapse: open
Note Description
```
&emsp;
```toc
style: number
```
&emsp;
---
&emsp;
### Contact
&emsp;
```ad-address
~~~
Dufourstrasse 43
8008 Zürich
Switzerland
~~~
```
&emsp;
Phone:: <a href="tel:+41442610404">044 261 04 04</a>
Email:: [info@noideabar.com](readdle-spark://compose?recipient=info@noideabar.com&subject=Reservierung)
Website:: [no idea AG no idea bar](https://noideabar.com/)
&emsp;
---
&emsp;
### Notes
&emsp;
Loret ipsum
&emsp;
&emsp;

@ -10,7 +10,7 @@ Place:
Type: ["Restaurant", "Bar"]
SubType: Modern
Style: Swiss
Location: "Bellevue"
Location: "Seefeld"
Country: "CH"
Status: "Recommendation"
CollapseMetaTable: yes

@ -237,7 +237,8 @@ sudo bash /etc/addip4ban/addip4ban.sh
#### Ban List Tasks
- [ ] [[Selfhosting]], [[Configuring UFW|Firewall]] Get IP addresses caught by Postfix 🔁 every week on Saturday 📅 2022-05-28
- [ ] 🖥 [[Selfhosting]], [[Configuring UFW|Firewall]] Get IP addresses caught by Postfix 🔁 every week on Saturday 📅 2022-06-04
- [x] [[Selfhosting]], [[Configuring UFW|Firewall]] Get IP addresses caught by Postfix 🔁 every week on Saturday 📅 2022-05-28 ✅ 2022-05-28
- [x] [[Selfhosting]], [[Configuring UFW|Firewall]] Get IP addresses caught by Postfix 🔁 every week on Saturday 📅 2022-05-21 ✅ 2022-05-21
- [x] [[Selfhosting]], [[Configuring UFW|Firewall]] Get IP addresses caught by Postfix 🔁 every week on Saturday 📅 2022-05-14 ✅ 2022-05-14
- [x] [[Selfhosting]], [[Configuring UFW|Firewall]] Get IP addresses caught by Postfix 🔁 every week on Saturday 📅 2022-05-07 ✅ 2022-05-06
@ -248,7 +249,8 @@ sudo bash /etc/addip4ban/addip4ban.sh
- [x] [[Selfhosting]], [[Configuring UFW|Firewall]] Get IP addresses caught by Postfix 🔁 every week on Saturday 📅 2022-04-02 ✅ 2022-04-02
- [x] [[Selfhosting]], [[Configuring UFW|Firewall]] Get IP addresses caught by Postfix 🔁 every week on Saturday 📅 2022-03-26 ✅ 2022-03-26
- [x] [[Selfhosting]], [[Configuring UFW|Firewall]] Get IP addresses caught by Postfix 🔁 every week on Saturday 📅 2022-03-19 ✅ 2022-03-18
- [ ] [[Selfhosting]], [[Configuring UFW|Firewall]]: Update the Blocked IP list 🔁 every month on Saturday 📅 2022-05-28
- [ ] 🖥 [[Selfhosting]], [[Configuring UFW|Firewall]]: Update the Blocked IP list 🔁 every month on Saturday 📅 2022-06-04
- [x] [[Selfhosting]], [[Configuring UFW|Firewall]]: Update the Blocked IP list 🔁 every month on Saturday 📅 2022-05-28 ✅ 2022-05-28
- [x] [[Selfhosting]], [[Configuring UFW|Firewall]]: Update the Blocked IP list 🔁 every month on Saturday 📅 2022-05-21 ✅ 2022-05-21
- [x] [[Selfhosting]], [[Configuring UFW|Firewall]]: Update the Blocked IP list 🔁 every month on Saturday 📅 2022-05-14 ✅ 2022-05-14
- [x] [[Selfhosting]], [[Configuring UFW|Firewall]]: Update the Blocked IP list 🔁 every month on Saturday 📅 2022-05-07 ✅ 2022-05-06

@ -72,7 +72,8 @@ All tasks and to-dos Crypto-related.
[[#^Top|TOP]]
&emsp;
- [ ] [[Crypto Tasks#internet alerts|monitor Crypto news and publications]] 🔁 every week on Friday 📅 2022-05-27
- [ ] 💰[[Crypto Tasks#internet alerts|monitor Crypto news and publications]] 🔁 every week on Friday 📅 2022-06-03
- [x] [[Crypto Tasks#internet alerts|monitor Crypto news and publications]] 🔁 every week on Friday 📅 2022-05-27 ✅ 2022-05-27
- [x] [[Crypto Tasks#internet alerts|monitor Crypto news and publications]] 🔁 every week on Friday 📅 2022-05-20 ✅ 2022-05-20
- [x] [[Crypto Tasks#internet alerts|monitor Crypto news and publications]] 🔁 every week on Friday 📅 2022-05-13 ✅ 2022-05-14
- [x] [[Crypto Tasks#internet alerts|monitor Crypto news and publications]] 🔁 every week on Friday 📅 2022-05-06 ✅ 2022-05-06

@ -72,7 +72,8 @@ Note summarising all tasks and to-dos for Listed Equity investments.
[[#^Top|TOP]]
&emsp;
- [ ] [[Equity Tasks#internet alerts|monitor Equity news and publications]] 🔁 every week on Friday 📅 2022-05-27
- [ ] 💰[[Equity Tasks#internet alerts|monitor Equity news and publications]] 🔁 every week on Friday 📅 2022-06-03
- [x] [[Equity Tasks#internet alerts|monitor Equity news and publications]] 🔁 every week on Friday 📅 2022-05-27 ✅ 2022-05-27
- [x] [[Equity Tasks#internet alerts|monitor Equity news and publications]] 🔁 every week on Friday 📅 2022-05-20 ✅ 2022-05-20
- [x] [[Equity Tasks#internet alerts|monitor Equity news and publications]] 🔁 every week on Friday 📅 2022-05-13 ✅ 2022-05-14
- [x] [[Equity Tasks#internet alerts|monitor Equity news and publications]] 🔁 every week on Friday 📅 2022-05-06 ✅ 2022-05-06

@ -72,7 +72,8 @@ Tasks and to-dos for VC investments.
[[#^Top|TOP]]
&emsp;
- [ ] [[VC Tasks#internet alerts|monitor VC news and publications]] 🔁 every week on Friday 📅 2022-05-27
- [ ] 💰[[VC Tasks#internet alerts|monitor VC news and publications]] 🔁 every week on Friday 📅 2022-06-03
- [x] [[VC Tasks#internet alerts|monitor VC news and publications]] 🔁 every week on Friday 📅 2022-05-27 ✅ 2022-05-27
- [x] [[VC Tasks#internet alerts|monitor VC news and publications]] 🔁 every week on Friday 📅 2022-05-20 ✅ 2022-05-20
- [x] [[VC Tasks#internet alerts|monitor VC news and publications]] 🔁 every week on Friday 📅 2022-05-13 ✅ 2022-05-14
- [x] [[VC Tasks#internet alerts|monitor VC news and publications]] 🔁 every week on Friday 📅 2022-05-06 ✅ 2022-05-06

Loading…
Cancel
Save