vault backup: 2026-07-17 14:47:12
This commit is contained in:
Vendored
+3
-1
@@ -3,5 +3,7 @@
|
||||
"templater-obsidian",
|
||||
"kanban-bases-view",
|
||||
"quickadd",
|
||||
"obsidian-linter"
|
||||
"obsidian-linter",
|
||||
"full-calendar-remastered",
|
||||
"obsidian-git"
|
||||
]
|
||||
Vendored
+1
-1
@@ -17,6 +17,6 @@
|
||||
"repelStrength": 10,
|
||||
"linkStrength": 1,
|
||||
"linkDistance": 250,
|
||||
"scale": 0.5649432319816575,
|
||||
"scale": 0.4480996663453152,
|
||||
"close": false
|
||||
}
|
||||
@@ -0,0 +1,138 @@
|
||||
{
|
||||
"calendarSources": [
|
||||
{
|
||||
"type": "outlook",
|
||||
"name": "Calendar (ma@coachhamburg.com)",
|
||||
"color": "auto",
|
||||
"id": "outlook_1",
|
||||
"microsoftAccountId": "ms_c5d61256-6dbb-4c89-b16a-4504eabca9dd",
|
||||
"calendarId": "AAMkADkzMmMxODczLWMwMWEtNDY2MC1iMTMyLTc5NTVmNGJiNTJiMwBGAAAAAACtpelfeDR2QIYpoLplr0WEBwDSnZwdEeRhT6p_DU5TG3KVAAAAAAEGAADSnZwdEeRhT6p_DU5TG3KVAAAAAOiAAAA="
|
||||
},
|
||||
{
|
||||
"type": "local",
|
||||
"name": "New Local Calendar",
|
||||
"color": "#3b82f6",
|
||||
"id": "local_1",
|
||||
"directory": "50-Aufgabenplanung/events",
|
||||
"template": "",
|
||||
"taskCompletionStyle": "datetime"
|
||||
}
|
||||
],
|
||||
"defaultCalendar": 0,
|
||||
"firstDay": 1,
|
||||
"initialView": {
|
||||
"desktop": "timeGridWeek",
|
||||
"mobile": "timeGrid3Days"
|
||||
},
|
||||
"timeFormat24h": true,
|
||||
"clickToCreateEventFromMonthView": true,
|
||||
"displayTimezone": "Europe/Berlin",
|
||||
"lastSystemTimezone": "Europe/Berlin",
|
||||
"enableAdvancedCategorization": false,
|
||||
"chrono_analyser_config": null,
|
||||
"categorySettings": [],
|
||||
"useCustomGoogleClient": false,
|
||||
"googleClientId": "",
|
||||
"googleClientSecret": "",
|
||||
"googleUseCopyPasteAuth": false,
|
||||
"googleAccounts": [],
|
||||
"useCustomMicrosoftClient": false,
|
||||
"microsoftClientId": "",
|
||||
"microsoftProxyBaseUrl": "",
|
||||
"microsoftAccounts": [
|
||||
{
|
||||
"id": "ms_c5d61256-6dbb-4c89-b16a-4504eabca9dd",
|
||||
"email": "ma@coachhamburg.com",
|
||||
"refreshToken": null,
|
||||
"accessToken": null,
|
||||
"expiryDate": 1784292903524
|
||||
}
|
||||
],
|
||||
"enableLocalServer": false,
|
||||
"localServerPort": 8540,
|
||||
"useLegacyPlaintextCredentials": false,
|
||||
"businessHours": {
|
||||
"enabled": true,
|
||||
"daysOfWeek": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5
|
||||
],
|
||||
"startTime": "08:00",
|
||||
"endTime": "18:00"
|
||||
},
|
||||
"enableBackgroundEvents": true,
|
||||
"enableReminders": true,
|
||||
"enableDefaultReminder": true,
|
||||
"defaultReminderMinutes": 10,
|
||||
"workspaces": [],
|
||||
"activeWorkspace": null,
|
||||
"showEventInStatusBar": false,
|
||||
"highlightCurrentOrNextEvent": false,
|
||||
"slotMinTime": "00:00",
|
||||
"slotMaxTime": "24:00",
|
||||
"allDaySlot": true,
|
||||
"timeGridDayHeaderFormat": "day-ddmm",
|
||||
"weekends": true,
|
||||
"hiddenDays": [],
|
||||
"dayMaxEvents": false,
|
||||
"activityWatch": {
|
||||
"enabled": false,
|
||||
"apiUrl": "http://127.0.0.1:5600",
|
||||
"lastSyncTime": 0,
|
||||
"autoSyncEnabled": false,
|
||||
"autoSyncIntervalMins": 10,
|
||||
"targetCalendarId": "",
|
||||
"syncStrategy": "auto",
|
||||
"customDateStart": "",
|
||||
"customDateEnd": "",
|
||||
"profiles": []
|
||||
},
|
||||
"tasksIntegration": {
|
||||
"backlogDateTarget": "scheduledDate",
|
||||
"calendarDisplayDateTarget": "scheduledDate",
|
||||
"openEditModalAfterBacklogDrop": false,
|
||||
"taskDisplayFormat": "dayPlanner",
|
||||
"includeGlobalQueryInBacklog": false,
|
||||
"backlogQuery": ""
|
||||
},
|
||||
"fcrReminderCompanion": {
|
||||
"enabled": false,
|
||||
"apiUrl": "http://127.0.0.1:45677"
|
||||
},
|
||||
"apiTokens": {},
|
||||
"authorizedTokens": {},
|
||||
"milestones": {
|
||||
"counters": {
|
||||
"created.total": 1,
|
||||
"created.local": 1,
|
||||
"meta.firstActionAt": 1784219827648,
|
||||
"meta.lastActionAt": 1784219878390,
|
||||
"day.action.2026-07-16": 2,
|
||||
"day.created.2026-07-16": 1,
|
||||
"tz.Europe/Berlin": 1,
|
||||
"deleted.total": 1,
|
||||
"deleted.local": 1
|
||||
},
|
||||
"unlockedAt": {},
|
||||
"shown": {}
|
||||
},
|
||||
"enableMonthlyStatsReport": false,
|
||||
"lastMonthlyMilestonesGeneratedMonth": null,
|
||||
"lastMonthlyMilestonesCheckDate": null,
|
||||
"milestoneNotifierDuration": 8000,
|
||||
"currentVersion": "0.13.4",
|
||||
"linkedNotesDirectory": "_attachments/fcr",
|
||||
"linkedNoteLinkStrategy": "deadline",
|
||||
"taskBacklogLastProviderId": "",
|
||||
"caldavTaskInboxLastCalendarId": "",
|
||||
"linkedNoteTemplate": "# {{title}}\n\n**Date**: {{date}}\n**Time**: {{timeString}}\n**Location**: {{location}}\n**Calendar**: {{calendarName}}\n\n## Description\n{{description}}\n\n## Notes\n- ",
|
||||
"weatherCity": "Itzehoe",
|
||||
"weatherLatitude": 53.92099,
|
||||
"weatherLongitude": 9.51529,
|
||||
"weatherHide": false,
|
||||
"weatherInputMode": "city",
|
||||
"weatherUnit": "C"
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"id": "full-calendar-remastered",
|
||||
"name": "Full Calendar Remastered",
|
||||
"version": "0.13.4",
|
||||
"minAppVersion": "1.12.7",
|
||||
"description": "Powerful calendar solution for schedules, events, plans, tasks, and notes together inside your vault. Supports local note-based calendars plus remote sync options like Google Calendar, CalDAV, ICS files, Tasks, TaskNotes, and more.",
|
||||
"author": "Jovi Koikkara",
|
||||
"authorUrl": "https://github.com/YouFoundJK",
|
||||
"fundingUrl": "https://ko-fi.com/youfoundjk",
|
||||
"isDesktopOnly": false
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
+42
-13
@@ -532,7 +532,7 @@ function createColumn(value, entries, options, ctx, cb) {
|
||||
if (cb.getQuickAddFolder()) {
|
||||
headerEl.appendChild(cb.createAddButton(value, options.swimlaneValue ?? null));
|
||||
}
|
||||
if (entries.length === 0 && options.showRemoveButton !== false) {
|
||||
if (ctx.globallyEmptyColumns.has(value)) {
|
||||
headerEl.appendChild(createRemoveButton(ctx.doc, value, () => cb.onRemoveColumn(value, columnEl)));
|
||||
}
|
||||
const bodyEl = columnEl.createDiv({ cls: CSS_CLASSES.COLUMN_BODY });
|
||||
@@ -550,10 +550,10 @@ function patchColumnCards(columnEl, newEntries, ctx, cb) {
|
||||
const headerEl = columnEl.querySelector(`.${CSS_CLASSES.COLUMN_HEADER}`);
|
||||
const columnValue = columnEl.getAttribute(DATA_ATTRIBUTES.COLUMN_VALUE);
|
||||
const existingRemoveBtn = headerEl?.querySelector(`.${CSS_CLASSES.COLUMN_REMOVE_BTN}`) ?? null;
|
||||
const isInSwimlane = !!columnEl.closest(`.${CSS_CLASSES.SWIMLANE}`);
|
||||
if (headerEl && newEntries.length === 0 && !existingRemoveBtn && columnValue && !isInSwimlane) {
|
||||
const showRemoveButton = !!columnValue && ctx.globallyEmptyColumns.has(columnValue);
|
||||
if (headerEl && showRemoveButton && !existingRemoveBtn && columnValue) {
|
||||
headerEl.appendChild(createRemoveButton(ctx.doc, columnValue, () => cb.onRemoveColumn(columnValue, columnEl)));
|
||||
} else if (newEntries.length > 0 && existingRemoveBtn) {
|
||||
} else if (!showRemoveButton && existingRemoveBtn) {
|
||||
existingRemoveBtn.remove();
|
||||
}
|
||||
const existingAddBtn = headerEl?.querySelector(`.${CSS_CLASSES.COLUMN_ADD_BTN}`) ?? null;
|
||||
@@ -661,7 +661,6 @@ function buildSwimlaneElement(laneValue, laneEntries, orderedColumnValues, ctx,
|
||||
columnValue,
|
||||
laneEntries.get(columnValue) ?? [],
|
||||
{
|
||||
showRemoveButton: false,
|
||||
swimlaneValue: laneValue
|
||||
},
|
||||
ctx,
|
||||
@@ -2988,6 +2987,10 @@ var KanbanView = class extends import_obsidian5.BasesView {
|
||||
this._lastSwimlanePropertyId = void 0;
|
||||
this._lastQuickAddFolder = void 0;
|
||||
this._cardFingerprints = /* @__PURE__ */ new Map();
|
||||
// Column values empty across the whole board (every swimlane). Recomputed each
|
||||
// render() and read via _buildColumnCtx so components can show a remove button
|
||||
// without the board-wide map being threaded through every render function.
|
||||
this._globallyEmptyColumns = /* @__PURE__ */ new Set();
|
||||
this._deferredSortableListeners = /* @__PURE__ */ new Map();
|
||||
this._prefs = {
|
||||
columnOrder: [],
|
||||
@@ -3258,6 +3261,9 @@ var KanbanView = class extends import_obsidian5.BasesView {
|
||||
const hasSwimlanes = groupedByLane !== null;
|
||||
const existingIsSwimlane = existingBoard?.classList.contains(CSS_CLASSES.BOARD_WITH_SWIMLANES) ?? false;
|
||||
const modeChanged = hasSwimlanes !== existingIsSwimlane;
|
||||
this._globallyEmptyColumns = new Set(
|
||||
orderedValues.filter((value) => (groupedEntries.get(value)?.length ?? 0) === 0)
|
||||
);
|
||||
if (!existingBoard || modeChanged || groupChanged || optionsChanged) {
|
||||
this.fullRebuild(orderedValues, lanes, hasSwimlanes);
|
||||
} else {
|
||||
@@ -3526,6 +3532,11 @@ var KanbanView = class extends import_obsidian5.BasesView {
|
||||
s.destroy();
|
||||
this._columnSortables.delete(key);
|
||||
}
|
||||
const deferred = this._deferredSortableListeners.get(key);
|
||||
if (deferred) {
|
||||
deferred.el.removeEventListener("pointerdown", deferred.handler);
|
||||
this._deferredSortableListeners.delete(key);
|
||||
}
|
||||
colEl.remove();
|
||||
existingColumns.delete(colValue);
|
||||
}
|
||||
@@ -3533,8 +3544,7 @@ var KanbanView = class extends import_obsidian5.BasesView {
|
||||
orderedColumnValues.forEach((colValue) => {
|
||||
const entries = groupedEntries.get(colValue) ?? [];
|
||||
if (!existingColumns.has(colValue)) {
|
||||
const options = laneValue !== null ? { showRemoveButton: false, swimlaneValue: laneValue } : {};
|
||||
const colEl = this.createColumn(colValue, entries, options);
|
||||
const colEl = this.createColumn(colValue, entries, { swimlaneValue: laneValue });
|
||||
containerEl.appendChild(colEl);
|
||||
existingColumns.set(colValue, colEl);
|
||||
const cardBody = colEl.querySelector(
|
||||
@@ -3655,7 +3665,8 @@ var KanbanView = class extends import_obsidian5.BasesView {
|
||||
cardCb: this._buildCardCallbacks(),
|
||||
prefs: { columnColors: this._prefs.columnColors },
|
||||
dragging: this._dragging,
|
||||
cardFingerprints: this._cardFingerprints
|
||||
cardFingerprints: this._cardFingerprints,
|
||||
globallyEmptyColumns: this._globallyEmptyColumns
|
||||
};
|
||||
}
|
||||
_buildColumnCallbacks() {
|
||||
@@ -3781,12 +3792,30 @@ var KanbanView = class extends import_obsidian5.BasesView {
|
||||
closeNativeNewItemPopover(this.containerEl.doc);
|
||||
}
|
||||
detachColumn(value, colEl) {
|
||||
const sortable = this._columnSortables.get(value);
|
||||
if (sortable) {
|
||||
sortable.destroy();
|
||||
this._columnSortables.delete(value);
|
||||
const boardEl = this.containerEl.querySelector(`.${CSS_CLASSES.BOARD}`);
|
||||
const columnEls = [];
|
||||
if (boardEl) {
|
||||
boardEl.querySelectorAll(`.${CSS_CLASSES.COLUMN}`).forEach((el) => {
|
||||
if (el.getAttribute(DATA_ATTRIBUTES.COLUMN_VALUE) === value) columnEls.push(el);
|
||||
});
|
||||
}
|
||||
colEl.remove();
|
||||
const suffix = `${SWIMLANE_KEY_SEPARATOR}${value}`;
|
||||
const matchesColumn = (key) => key === value || key.endsWith(suffix);
|
||||
for (const key of [...this._columnSortables.keys()]) {
|
||||
if (matchesColumn(key)) {
|
||||
this._columnSortables.get(key)?.destroy();
|
||||
this._columnSortables.delete(key);
|
||||
}
|
||||
}
|
||||
for (const key of [...this._deferredSortableListeners.keys()]) {
|
||||
if (matchesColumn(key)) {
|
||||
const deferred = this._deferredSortableListeners.get(key);
|
||||
deferred?.el.removeEventListener("pointerdown", deferred.handler);
|
||||
this._deferredSortableListeners.delete(key);
|
||||
}
|
||||
}
|
||||
if (columnEls.length > 0) columnEls.forEach((el) => el.remove());
|
||||
else colEl.remove();
|
||||
}
|
||||
removeColumn(value, columnEl) {
|
||||
if (!this._prefsPropertyId) return;
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"id": "kanban-bases-view",
|
||||
"name": "Kanban Bases View",
|
||||
"version": "0.10.1",
|
||||
"version": "0.10.2",
|
||||
"minAppVersion": "1.10.2",
|
||||
"description": "A kanban-style drag-and-drop custom view for Bases.",
|
||||
"author": "I. Welch Canavan",
|
||||
|
||||
+415
File diff suppressed because one or more lines are too long
+10
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"author": "Vinzent",
|
||||
"authorUrl": "https://github.com/Vinzent03",
|
||||
"id": "obsidian-git",
|
||||
"name": "Git",
|
||||
"description": "Integrate Git version control with automatic backup and other advanced features.",
|
||||
"isDesktopOnly": false,
|
||||
"fundingUrl": "https://ko-fi.com/vinzent",
|
||||
"version": "2.38.6"
|
||||
}
|
||||
+705
@@ -0,0 +1,705 @@
|
||||
@keyframes loading {
|
||||
0% {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
|
||||
100% {
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
|
||||
.workspace-leaf-content[data-type="git-view"] .button-border {
|
||||
border: 2px solid var(--interactive-accent);
|
||||
border-radius: var(--radius-s);
|
||||
}
|
||||
|
||||
.workspace-leaf-content[data-type="git-view"] .view-content {
|
||||
padding-left: 0;
|
||||
padding-top: 0;
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
.workspace-leaf-content[data-type="git-history-view"] .view-content {
|
||||
padding-left: 0;
|
||||
padding-top: 0;
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
.loading {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.loading > svg {
|
||||
animation: 2s linear infinite loading;
|
||||
transform-origin: 50% 50%;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.obsidian-git-center {
|
||||
margin: auto;
|
||||
text-align: center;
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
.obsidian-git-textarea {
|
||||
display: block;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
.obsidian-git-disabled {
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
.obsidian-git-center-button {
|
||||
display: block;
|
||||
margin: 20px auto;
|
||||
}
|
||||
|
||||
.tooltip.mod-left {
|
||||
overflow-wrap: break-word;
|
||||
}
|
||||
|
||||
.tooltip.mod-right {
|
||||
overflow-wrap: break-word;
|
||||
}
|
||||
|
||||
/* Limits the scrollbar to the view body */
|
||||
.git-view {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
position: relative;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
/* Re-enable wrapping of nav buttns to prevent overflow on smaller screens #*/
|
||||
.workspace-drawer .git-view .nav-buttons-container {
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.git-tools {
|
||||
display: flex;
|
||||
margin-left: auto;
|
||||
}
|
||||
.git-tools .type {
|
||||
padding-left: var(--size-2-1);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 11px;
|
||||
}
|
||||
|
||||
.git-tools .type[data-type="M"] {
|
||||
color: orange;
|
||||
}
|
||||
.git-tools .type[data-type="D"] {
|
||||
color: red;
|
||||
}
|
||||
.git-tools .buttons {
|
||||
display: flex;
|
||||
}
|
||||
.git-tools .buttons > * {
|
||||
padding: 0;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.workspace-leaf-content[data-type="git-view"] .tree-item-self,
|
||||
.workspace-leaf-content[data-type="git-history-view"] .tree-item-self {
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.workspace-leaf-content[data-type="git-view"]
|
||||
.tree-item-self:hover
|
||||
.clickable-icon,
|
||||
.workspace-leaf-content[data-type="git-history-view"]
|
||||
.tree-item-self:hover
|
||||
.clickable-icon {
|
||||
color: var(--icon-color-hover);
|
||||
}
|
||||
|
||||
/* Highlight an item as active if it's diff is currently opened */
|
||||
.is-active .git-tools .buttons > * {
|
||||
color: var(--nav-item-color-active);
|
||||
}
|
||||
|
||||
.git-author {
|
||||
color: var(--text-accent);
|
||||
}
|
||||
|
||||
.git-date {
|
||||
color: var(--text-accent);
|
||||
}
|
||||
|
||||
.git-ref {
|
||||
color: var(--text-accent);
|
||||
}
|
||||
|
||||
/* ====== diff2html ======
|
||||
The following styles are adapted from the obsidian-version-history plugin by
|
||||
@kometenstaub https://github.com/kometenstaub/obsidian-version-history-diff/blob/main/src/styles.scss
|
||||
which itself is adapted from the diff2html library with the following original license:
|
||||
|
||||
https://github.com/rtfpessoa/diff2html/blob/master/LICENSE.md
|
||||
|
||||
Copyright 2014-2016 Rodrigo Fernandes https://rtfpessoa.github.io/
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
|
||||
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the
|
||||
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit
|
||||
persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
|
||||
Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
|
||||
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
||||
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
.theme-dark,
|
||||
.theme-light {
|
||||
--git-delete-bg: #ff475040;
|
||||
--git-delete-hl: #96050a75;
|
||||
--git-insert-bg: #68d36840;
|
||||
--git-insert-hl: #23c02350;
|
||||
--git-change-bg: #ffd55840;
|
||||
--git-selected: #3572b0;
|
||||
|
||||
--git-delete: #cc3333;
|
||||
--git-insert: #399839;
|
||||
--git-change: #d0b44c;
|
||||
--git-move: #3572b0;
|
||||
}
|
||||
|
||||
.git-diff {
|
||||
.d2h-d-none {
|
||||
display: none;
|
||||
}
|
||||
.d2h-wrapper {
|
||||
text-align: left;
|
||||
border-radius: 0.25em;
|
||||
overflow: auto;
|
||||
}
|
||||
.d2h-file-header.d2h-file-header {
|
||||
background-color: var(--background-secondary);
|
||||
border-bottom: 1px solid var(--background-modifier-border);
|
||||
font-family:
|
||||
Source Sans Pro,
|
||||
Helvetica Neue,
|
||||
Helvetica,
|
||||
Arial,
|
||||
sans-serif;
|
||||
height: 35px;
|
||||
padding: 5px 10px;
|
||||
}
|
||||
.d2h-file-header,
|
||||
.d2h-file-stats {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
}
|
||||
.d2h-file-header {
|
||||
display: none;
|
||||
}
|
||||
.d2h-file-stats {
|
||||
font-size: 14px;
|
||||
margin-left: auto;
|
||||
}
|
||||
.d2h-lines-added {
|
||||
border: 1px solid var(--color-green);
|
||||
border-radius: 5px 0 0 5px;
|
||||
color: var(--color-green);
|
||||
padding: 2px;
|
||||
text-align: right;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.d2h-lines-deleted {
|
||||
border: 1px solid var(--color-red);
|
||||
border-radius: 0 5px 5px 0;
|
||||
color: var(--color-red);
|
||||
margin-left: 1px;
|
||||
padding: 2px;
|
||||
text-align: left;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.d2h-file-name-wrapper {
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
font-size: 15px;
|
||||
width: 100%;
|
||||
}
|
||||
.d2h-file-name {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
color: var(--text-normal);
|
||||
font-size: var(--h5-size);
|
||||
}
|
||||
.d2h-file-wrapper {
|
||||
border: 1px solid var(--background-secondary-alt);
|
||||
border-radius: 3px;
|
||||
margin-bottom: 1em;
|
||||
max-height: 100%;
|
||||
}
|
||||
.d2h-file-collapse {
|
||||
-webkit-box-pack: end;
|
||||
-ms-flex-pack: end;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
border: 1px solid var(--background-secondary-alt);
|
||||
border-radius: 3px;
|
||||
cursor: pointer;
|
||||
display: none;
|
||||
font-size: 12px;
|
||||
justify-content: flex-end;
|
||||
padding: 4px 8px;
|
||||
}
|
||||
.d2h-file-collapse.d2h-selected {
|
||||
background-color: var(--git-selected);
|
||||
}
|
||||
.d2h-file-collapse-input {
|
||||
margin: 0 4px 0 0;
|
||||
}
|
||||
.d2h-diff-table {
|
||||
border-collapse: collapse;
|
||||
font-family: var(--font-monospace);
|
||||
font-size: var(--code-size);
|
||||
width: 100%;
|
||||
}
|
||||
.d2h-files-diff {
|
||||
width: 100%;
|
||||
}
|
||||
.d2h-file-diff {
|
||||
/*
|
||||
overflow-y: scroll;
|
||||
*/
|
||||
border-radius: 5px;
|
||||
font-size: var(--font-text-size);
|
||||
line-height: var(--line-height-normal);
|
||||
}
|
||||
.d2h-file-side-diff {
|
||||
display: inline-block;
|
||||
margin-bottom: -8px;
|
||||
margin-right: -4px;
|
||||
overflow-x: scroll;
|
||||
overflow-y: hidden;
|
||||
width: 50%;
|
||||
}
|
||||
.d2h-code-line {
|
||||
padding-left: 6em;
|
||||
padding-right: 1.5em;
|
||||
}
|
||||
.d2h-code-line,
|
||||
.d2h-code-side-line {
|
||||
display: inline-block;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
white-space: nowrap;
|
||||
width: 100%;
|
||||
}
|
||||
.d2h-code-side-line {
|
||||
/* needed to be changed */
|
||||
padding-left: 0.5em;
|
||||
padding-right: 0.5em;
|
||||
}
|
||||
.d2h-code-line-ctn {
|
||||
word-wrap: normal;
|
||||
background: none;
|
||||
display: inline-block;
|
||||
padding: 0;
|
||||
-webkit-user-select: text;
|
||||
-moz-user-select: text;
|
||||
-ms-user-select: text;
|
||||
user-select: text;
|
||||
vertical-align: middle;
|
||||
width: 100%;
|
||||
/* only works for line-by-line */
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
.d2h-code-line del,
|
||||
.d2h-code-side-line del {
|
||||
background-color: var(--git-delete-hl);
|
||||
color: var(--text-normal);
|
||||
}
|
||||
.d2h-code-line del,
|
||||
.d2h-code-line ins,
|
||||
.d2h-code-side-line del,
|
||||
.d2h-code-side-line ins {
|
||||
border-radius: 0.2em;
|
||||
display: inline-block;
|
||||
margin-top: -1px;
|
||||
text-decoration: none;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.d2h-code-line ins,
|
||||
.d2h-code-side-line ins {
|
||||
background-color: var(--git-insert-hl);
|
||||
text-align: left;
|
||||
}
|
||||
.d2h-code-line-prefix {
|
||||
word-wrap: normal;
|
||||
background: none;
|
||||
display: inline;
|
||||
padding: 0;
|
||||
white-space: pre;
|
||||
}
|
||||
.line-num1 {
|
||||
float: left;
|
||||
}
|
||||
.line-num1,
|
||||
.line-num2 {
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
overflow: hidden;
|
||||
/*
|
||||
padding: 0 0.5em;
|
||||
*/
|
||||
text-overflow: ellipsis;
|
||||
width: 2.5em;
|
||||
padding-left: 0;
|
||||
}
|
||||
.line-num2 {
|
||||
float: right;
|
||||
}
|
||||
.d2h-code-linenumber {
|
||||
background-color: var(--background-primary);
|
||||
border: solid var(--background-modifier-border);
|
||||
border-width: 0 1px;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
color: var(--text-faint);
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
text-align: right;
|
||||
width: 5.5em;
|
||||
}
|
||||
.d2h-code-linenumber:after {
|
||||
content: "\200b";
|
||||
}
|
||||
.d2h-code-side-linenumber {
|
||||
background-color: var(--background-primary);
|
||||
border: solid var(--background-modifier-border);
|
||||
border-width: 0 1px;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
color: var(--text-faint);
|
||||
cursor: pointer;
|
||||
overflow: hidden;
|
||||
padding: 0 0.5em;
|
||||
text-align: right;
|
||||
text-overflow: ellipsis;
|
||||
width: 4em;
|
||||
/* needed to be changed */
|
||||
display: table-cell;
|
||||
position: relative;
|
||||
}
|
||||
.d2h-code-side-linenumber:after {
|
||||
content: "\200b";
|
||||
}
|
||||
.d2h-code-side-emptyplaceholder,
|
||||
.d2h-emptyplaceholder {
|
||||
background-color: var(--background-primary);
|
||||
border-color: var(--background-modifier-border);
|
||||
}
|
||||
.d2h-code-line-prefix,
|
||||
.d2h-code-linenumber,
|
||||
.d2h-code-side-linenumber,
|
||||
.d2h-emptyplaceholder {
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
.d2h-code-linenumber,
|
||||
.d2h-code-side-linenumber {
|
||||
direction: rtl;
|
||||
}
|
||||
.d2h-del {
|
||||
background-color: var(--git-delete-bg);
|
||||
border-color: var(--git-delete-hl);
|
||||
}
|
||||
.d2h-ins {
|
||||
background-color: var(--git-insert-bg);
|
||||
border-color: var(--git-insert-hl);
|
||||
}
|
||||
.d2h-info {
|
||||
background-color: var(--background-primary);
|
||||
border-color: var(--background-modifier-border);
|
||||
color: var(--text-faint);
|
||||
}
|
||||
.d2h-del,
|
||||
.d2h-ins,
|
||||
.d2h-file-diff .d2h-change {
|
||||
color: var(--text-normal);
|
||||
}
|
||||
.d2h-file-diff .d2h-del.d2h-change {
|
||||
background-color: var(--git-change-bg);
|
||||
}
|
||||
.d2h-file-diff .d2h-ins.d2h-change {
|
||||
background-color: var(--git-insert-bg);
|
||||
}
|
||||
.d2h-file-list-wrapper {
|
||||
a {
|
||||
text-decoration: none;
|
||||
cursor: default;
|
||||
-webkit-user-drag: none;
|
||||
}
|
||||
|
||||
svg {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
.d2h-file-list-header {
|
||||
text-align: left;
|
||||
}
|
||||
.d2h-file-list-title {
|
||||
display: none;
|
||||
}
|
||||
.d2h-file-list-line {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
text-align: left;
|
||||
}
|
||||
.d2h-file-list {
|
||||
}
|
||||
.d2h-file-list > li {
|
||||
border-bottom: 1px solid var(--background-modifier-border);
|
||||
margin: 0;
|
||||
padding: 5px 10px;
|
||||
}
|
||||
.d2h-file-list > li:last-child {
|
||||
border-bottom: none;
|
||||
}
|
||||
.d2h-file-switch {
|
||||
cursor: pointer;
|
||||
display: none;
|
||||
font-size: 10px;
|
||||
}
|
||||
.d2h-icon {
|
||||
fill: currentColor;
|
||||
margin-right: 10px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.d2h-deleted {
|
||||
color: var(--git-delete);
|
||||
}
|
||||
.d2h-added {
|
||||
color: var(--git-insert);
|
||||
}
|
||||
.d2h-changed {
|
||||
color: var(--git-change);
|
||||
}
|
||||
.d2h-moved {
|
||||
color: var(--git-move);
|
||||
}
|
||||
.d2h-tag {
|
||||
background-color: var(--background-secondary);
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
font-size: 10px;
|
||||
margin-left: 5px;
|
||||
padding: 0 2px;
|
||||
}
|
||||
.d2h-deleted-tag {
|
||||
border: 1px solid var(--git-delete);
|
||||
}
|
||||
.d2h-added-tag {
|
||||
border: 1px solid var(--git-insert);
|
||||
}
|
||||
.d2h-changed-tag {
|
||||
border: 1px solid var(--git-change);
|
||||
}
|
||||
.d2h-moved-tag {
|
||||
border: 1px solid var(--git-move);
|
||||
}
|
||||
|
||||
/* needed for line-by-line*/
|
||||
|
||||
.d2h-diff-tbody {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
/* My additions */
|
||||
.cm-merge-revert {
|
||||
width: 4em;
|
||||
}
|
||||
/* Ensure that merge revert markers are positioned correctly */
|
||||
.cm-merge-revert > * {
|
||||
position: absolute;
|
||||
background-color: var(--background-secondary);
|
||||
display: flex;
|
||||
}
|
||||
}
|
||||
|
||||
/* ====================== Line Authoring Information ====================== */
|
||||
|
||||
.cm-gutterElement.obs-git-blame-gutter {
|
||||
/* Add background color to spacing inbetween and around the gutter for better aesthetics */
|
||||
border-width: 0px 2px 0.2px;
|
||||
border-style: solid;
|
||||
border-color: var(--background-secondary);
|
||||
background-color: var(--background-secondary);
|
||||
}
|
||||
|
||||
.cm-gutterElement.obs-git-blame-gutter > div,
|
||||
.line-author-settings-preview {
|
||||
/* delegate text color to settings */
|
||||
color: var(--obs-git-gutter-text);
|
||||
font-family: monospace;
|
||||
height: 100%; /* ensure, that age-based background color occupies entire parent */
|
||||
text-align: right;
|
||||
padding: 0px 6px;
|
||||
white-space: pre; /* Keep spaces and do not collapse them. */
|
||||
}
|
||||
|
||||
@media (max-width: 800px) {
|
||||
/* hide git blame gutter not to superpose text */
|
||||
.cm-gutterElement.obs-git-blame-gutter {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.git-unified-diff-view,
|
||||
.git-split-diff-view .cm-deletedLine .cm-changedText {
|
||||
background-color: #ee443330;
|
||||
}
|
||||
|
||||
.git-unified-diff-view,
|
||||
.git-split-diff-view .cm-insertedLine .cm-changedText {
|
||||
background-color: #22bb2230;
|
||||
}
|
||||
|
||||
.git-obscure-prompt[git-is-obscured="true"] #git-show-password:after {
|
||||
-webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon lucide-eye"><path d="M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"></path><circle cx="12" cy="12" r="3"></circle></svg>');
|
||||
}
|
||||
|
||||
.git-obscure-prompt[git-is-obscured="false"] #git-show-password:after {
|
||||
-webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon lucide-eye-off"><path d="M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49"></path><path d="M14.084 14.158a3 3 0 0 1-4.242-4.242"></path><path d="M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143"></path><path d="m2 2 20 20"></path></svg>');
|
||||
}
|
||||
|
||||
/* Override styling of Codemirror merge view "collapsed lines" indicator */
|
||||
.git-split-diff-view .ͼ2 .cm-collapsedLines {
|
||||
background: var(--interactive-normal);
|
||||
border-radius: var(--radius-m);
|
||||
color: var(--text-accent);
|
||||
font-size: var(--font-small);
|
||||
padding: var(--size-4-1) var(--size-4-1);
|
||||
}
|
||||
.git-split-diff-view .ͼ2 .cm-collapsedLines:hover {
|
||||
background: var(--interactive-hover);
|
||||
color: var(--text-accent-hover);
|
||||
}
|
||||
|
||||
.git-signs-gutter {
|
||||
.cm-gutterElement {
|
||||
display: grid;
|
||||
|
||||
/* Needed to align the sign properly for different line heigts. Such as
|
||||
* when having a heading or list item.
|
||||
*/
|
||||
padding-top: 0 !important;
|
||||
}
|
||||
}
|
||||
|
||||
.git-gutter-marker:hover {
|
||||
border-radius: 2px;
|
||||
}
|
||||
|
||||
.git-gutter-marker.git-add {
|
||||
background-color: var(--color-green);
|
||||
justify-self: center;
|
||||
height: inherit;
|
||||
width: 0.2rem;
|
||||
}
|
||||
|
||||
.git-gutter-marker.git-change {
|
||||
background-color: var(--color-yellow);
|
||||
justify-self: center;
|
||||
height: inherit;
|
||||
width: 0.2rem;
|
||||
}
|
||||
|
||||
.git-gutter-marker.git-changedelete {
|
||||
color: var(--color-yellow);
|
||||
font-weight: var(--font-bold);
|
||||
font-size: 1rem;
|
||||
justify-self: center;
|
||||
height: inherit;
|
||||
}
|
||||
|
||||
.git-gutter-marker.git-delete {
|
||||
background-color: var(--color-red);
|
||||
height: 0.2rem;
|
||||
width: 0.8rem;
|
||||
align-self: end;
|
||||
}
|
||||
|
||||
.git-gutter-marker.git-topdelete {
|
||||
background-color: var(--color-red);
|
||||
height: 0.2rem;
|
||||
width: 0.8rem;
|
||||
align-self: start;
|
||||
}
|
||||
|
||||
div:hover > .git-gutter-marker.git-change {
|
||||
width: 0.6rem;
|
||||
}
|
||||
|
||||
div:hover > .git-gutter-marker.git-add {
|
||||
width: 0.6rem;
|
||||
}
|
||||
|
||||
div:hover > .git-gutter-marker.git-delete {
|
||||
height: 0.6rem;
|
||||
}
|
||||
|
||||
div:hover > .git-gutter-marker.git-topdelete {
|
||||
height: 0.6rem;
|
||||
}
|
||||
|
||||
div:hover > .git-gutter-marker.git-changedelete {
|
||||
font-weight: var(--font-bold);
|
||||
}
|
||||
|
||||
.git-gutter-marker.staged {
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
/* Prevent shifting of the editor when git signs gutter is the only gutter present */
|
||||
.cm-gutters.cm-gutters-before:has(> .git-signs-gutter:only-child) {
|
||||
margin-inline-end: 0;
|
||||
.git-signs-gutter {
|
||||
margin-inline-start: -1rem;
|
||||
}
|
||||
}
|
||||
|
||||
.git-changes-status-bar-colored {
|
||||
.git-add {
|
||||
color: var(--color-green);
|
||||
}
|
||||
.git-change {
|
||||
color: var(--color-yellow);
|
||||
}
|
||||
.git-delete {
|
||||
color: var(--color-red);
|
||||
}
|
||||
}
|
||||
|
||||
.git-changes-status-bar .git-add {
|
||||
margin-right: 0.3em;
|
||||
}
|
||||
|
||||
.git-changes-status-bar .git-change {
|
||||
margin-right: 0.3em;
|
||||
}
|
||||
+5
-1
@@ -86,7 +86,9 @@
|
||||
"style": "Title Case",
|
||||
"ignore-case-words": true,
|
||||
"ignore-words": "macOS, iOS, iPhone, iPad, JavaScript, TypeScript, AppleScript, I",
|
||||
"lowercase-words": "a, an, the, aboard, about, abt., above, abreast, absent, across, after, against, along, aloft, alongside, amid, amidst, mid, midst, among, amongst, anti, apropos, around, round, as, aslant, astride, at, atop, ontop, bar, barring, before, B4, behind, below, beneath, neath, beside, besides, between, 'tween, beyond, but, by, chez, circa, c., ca., come, concerning, contra, counting, cum, despite, spite, down, during, effective, ere, except, excepting, excluding, failing, following, for, from, in, including, inside, into, less, like, minus, modulo, mod, near, nearer, nearest, next, notwithstanding, of, o', off, offshore, on, onto, opposite, out, outside, over, o'er, pace, past, pending, per, plus, post, pre, pro, qua, re, regarding, respecting, sans, save, saving, short, since, sub, than, through, thru, throughout, thruout, till, times, to, t', touching, toward, towards, under, underneath, unlike, until, unto, up, upon, versus, vs., v., via, vice, vis-à-vis, wanting, with, w/, w., c̄, within, w/i, without, 'thout, w/o, abroad, adrift, aft, afterward, afterwards, ahead, apart, ashore, aside, away, back, backward, backwards, beforehand, downhill, downstage, downstairs, downstream, downward, downwards, downwind, east, eastward, eastwards, forth, forward, forwards, heavenward, heavenwards, hence, henceforth, here, hereby, herein, hereof, hereto, herewith, home, homeward, homewards, indoors, inward, inwards, leftward, leftwards, north, northeast, northward, northwards, northwest, now, onward, onwards, outdoors, outward, outwards, overboard, overhead, overland, overseas, rightward, rightwards, seaward, seawards, skywards, skyward, south, southeast, southwards, southward, southwest, then, thence, thenceforth, there, thereby, therein, thereof, thereto, therewith, together, underfoot, underground, uphill, upstage, upstairs, upstream, upward, upwards, upwind, west, westward, westwards, when, whence, where, whereby, wherein, whereto, wherewith, although, because, considering, given, granted, if, lest, once, provided, providing, seeing, so, supposing, though, unless, whenever, whereas, wherever, while, whilst, ago, inasmuch, even, whether, whose, whoever, why, how, whatever, what, both, and, or, either, neither, nor, just, rather, such, that, yet, is, it"
|
||||
"lowercase-words": "a, an, the, aboard, about, abt., above, abreast, absent, across, after, against, along, aloft, alongside, amid, amidst, mid, midst, among, amongst, anti, apropos, around, round, as, aslant, astride, at, atop, ontop, bar, barring, before, B4, behind, below, beneath, neath, beside, besides, between, 'tween, beyond, but, by, chez, circa, c., ca., come, concerning, contra, counting, cum, despite, spite, down, during, effective, ere, except, excepting, excluding, failing, following, for, from, in, including, inside, into, less, like, minus, modulo, mod, near, nearer, nearest, next, notwithstanding, of, o', off, offshore, on, onto, opposite, out, outside, over, o'er, pace, past, pending, per, plus, post, pre, pro, qua, re, regarding, respecting, sans, save, saving, short, since, sub, than, through, thru, throughout, thruout, till, times, to, t', touching, toward, towards, under, underneath, unlike, until, unto, up, upon, versus, vs., v., via, vice, vis-à-vis, wanting, with, w/, w., c̄, within, w/i, without, 'thout, w/o, abroad, adrift, aft, afterward, afterwards, ahead, apart, ashore, aside, away, back, backward, backwards, beforehand, downhill, downstage, downstairs, downstream, downward, downwards, downwind, east, eastward, eastwards, forth, forward, forwards, heavenward, heavenwards, hence, henceforth, here, hereby, herein, hereof, hereto, herewith, home, homeward, homewards, indoors, inward, inwards, leftward, leftwards, north, northeast, northward, northwards, northwest, now, onward, onwards, outdoors, outward, outwards, overboard, overhead, overland, overseas, rightward, rightwards, seaward, seawards, skywards, skyward, south, southeast, southwards, southward, southwest, then, thence, thenceforth, there, thereby, therein, thereof, thereto, therewith, together, underfoot, underground, uphill, upstage, upstairs, upstream, upward, upwards, upwind, west, westward, westwards, when, whence, where, whereby, wherein, whereto, wherewith, although, because, considering, given, granted, if, lest, once, provided, providing, seeing, so, supposing, though, unless, whenever, whereas, wherever, while, whilst, ago, inasmuch, even, whether, whose, whoever, why, how, whatever, what, both, and, or, either, neither, nor, just, rather, such, that, yet, is, it",
|
||||
"starting-word-ignore-characters": "'\"(‘“-",
|
||||
"ending-word-ignore-characters": ".?!,:;'\")”’0123456789-"
|
||||
},
|
||||
"file-name-heading": {
|
||||
"enabled": false
|
||||
@@ -275,6 +277,8 @@
|
||||
"recordLintOnSaveLogs": false,
|
||||
"displayChanged": true,
|
||||
"suppressMessageWhenNoChange": false,
|
||||
"suppressLintAllFilesConfirmationModal": false,
|
||||
"suppressLintAllFilesInFolderConfirmationModal": false,
|
||||
"lintOnFileChange": false,
|
||||
"displayLintOnFileChangeNotice": false,
|
||||
"settingsConvertedToConfigKeyValues": true,
|
||||
|
||||
+190
-190
File diff suppressed because one or more lines are too long
+1
-1
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"id": "obsidian-linter",
|
||||
"name": "Linter",
|
||||
"version": "1.31.2",
|
||||
"version": "1.32.0",
|
||||
"minAppVersion": "1.12.0",
|
||||
"description": "Formats and styles your notes. It can be used to format YAML tags, aliases, arrays, and metadata; footnotes; headings; spacing; math blocks; regular markdown contents like list, italics, and bold styles; and more with the use of custom rule options as well.",
|
||||
"author": "Victor Tao",
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
.linter-navigation-item{align-items:center;background-color:var(--background-primary-secondary-alt);border:1px solid var(--background-modifier-border);border-radius:100px;border-radius:8px 8px 2px 2px;cursor:pointer;display:flex;flex-direction:row;font-size:16px;font-weight:700;gap:4px;height:32px;overflow:hidden;padding:4px 6px;transition:color .25s ease-in-out,padding .25s ease-in-out,background-color .35s cubic-bezier(.45,.25,.83,.67),max-width .35s cubic-bezier(.57,.04,.58,1);white-space:nowrap}@media screen and (max-width:1325px){.linter-navigation-item.linter-desktop{max-width:32px}}@media screen and (max-width:800px){.linter-navigation-item.linter-mobile{max-width:32px}}.linter-navigation-item-icon,.linter-warning{padding-top:5px}.linter-navigation-item:hover{border-color:var(--interactive-accent-hover);border-bottom:0}.linter-navigation-item-selected{background-color:var(--interactive-accent)!important;border:1px solid var(--background-modifier-border);border-bottom:0;border-radius:8px 8px 2px 2px;color:var(--text-on-accent);max-width:100%!important;padding:4px 9px!important;transition:color .25s ease-in-out,padding .25s ease-in-out,background-color .35s cubic-bezier(.45,.25,.83,.67),max-width .45s cubic-bezier(.57,.04,.58,1) .2s}.linter{transition:transform .4s 0s}.linter-setting-title{align-items:baseline;display:flex;gap:30px;justify-content:space-between}.linter-setting-title.linter-mobile{justify-content:space-around}.linter-setting-title h1{font-weight:900;margin-bottom:12px;margin-top:6px}.linter-setting-header{margin-bottom:24px;overflow-x:auto;overflow-y:hidden}.linter-setting-header .linter-setting-tab-group{align-items:flex-end;display:flex;flex-wrap:wrap;width:100%}.linter-setting-tab-group{border-bottom:2px solid var(--background-modifier-border);margin-top:6px;padding-left:2px;padding-right:2px}.linter-setting-header .linter-tab-settings{border-left:2px solid transparent;border-right:2px solid transparent;cursor:pointer;font-weight:600;padding:6px 12px;white-space:nowrap}.linter-setting-header .linter-tab-settings:first-child{margin-left:6px}.linter-setting-header .linter-tab-settings.linter-tab-settings-active{border:2px solid var(--background-modifier-border);border-bottom-color:var(--background-primary);border-radius:2px;transform:translateY(2px)}.linter-navigation-item:not(.linter-navigation-item-selected)>span:nth-child(2),.linter-visually-hidden{border:0;clip:rect(0 0 0 0);clip-path:rect(0 0 0 0);height:auto;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}textarea.full-width{margin-bottom:.8em;margin-top:.8em;min-height:10em;width:100%}.full-width-textbox-input-wrapper{position:relative}.settings-copy-button{margin:0 0 0 auto;padding:4px;position:absolute;right:.8em;top:.8em}.settings-copy-button svg.linter-clipboard path{fill:var(--text-faint)}.settings-copy-button svg.linter-success path{fill:var(--interactive-success)}.settings-copy-button:active,.settings-copy-button:hover{cursor:pointer}.settings-copy-button:active svg path,.settings-copy-button:hover svg path{fill:var(--text-accent-hover);transition:all .3s ease}.settings-copy-button:focus{outline:0}.linter-custom-regex-replacement-container div:last-child{border:none}.linter-custom-regex-replacement{border:none;border-bottom:var(--hr-thickness) solid;border-color:var(--hr-color);margin-bottom:15px}.linter-custom-regex-replacement-row2{flex-wrap:wrap}.linter-custom-regex-replacement-normal-input{width:40%}.linter-custom-regex-replacement-flags{width:15%}.linter-custom-regex-replacement-label{flex-direction:row-reverse}.linter-custom-regex-replacement-label-input{width:50%}.linter-files-to-ignore-container div:last-child{border:none}.linter-files-to-ignore{border:none;border-bottom:var(--hr-thickness) solid;border-color:var(--hr-color);margin-bottom:15px}.linter-files-to-ignore-normal-input{width:40%}.linter-files-to-ignore-flags{width:15%}.linter-no-border{border:none}.linter-border-bottom{border-bottom:1px solid var(--background-modifier-border);border-top:0;margin-bottom:.75em}.linter-no-padding-top{padding-top:0}.custom-row-description{margin-top:0}.modal-warn,.search-zero-state{font-weight:700}.modal-heading,.search-zero-state{text-align:center}
|
||||
.linter-navigation-item{align-items:center;background-color:var(--background-primary-secondary-alt);border:1px solid var(--background-modifier-border);border-radius:100px;border-radius:8px 8px 2px 2px;cursor:pointer;display:flex;flex-direction:row;font-size:16px;font-weight:700;gap:4px;height:32px;overflow:hidden;padding:4px 6px;transition:color .25s ease-in-out,padding .25s ease-in-out,background-color .35s cubic-bezier(.45,.25,.83,.67),max-width .35s cubic-bezier(.57,.04,.58,1);white-space:nowrap}@media screen and (max-width:1325px){.linter-navigation-item.linter-desktop{max-width:32px}}@media screen and (max-width:800px){.linter-navigation-item.linter-mobile{max-width:32px}}.linter-navigation-item-icon,.linter-warning{padding-top:5px}.linter-navigation-item:hover{border-color:var(--interactive-accent-hover);border-bottom:0}.linter-navigation-item-selected{background-color:var(--interactive-accent)!important;border:1px solid var(--background-modifier-border);border-bottom:0;border-radius:8px 8px 2px 2px;color:var(--text-on-accent);max-width:100%!important;padding:4px 9px!important;transition:color .25s ease-in-out,padding .25s ease-in-out,background-color .35s cubic-bezier(.45,.25,.83,.67),max-width .45s cubic-bezier(.57,.04,.58,1) .2s}.linter{transition:transform .4s 0s}.linter-setting-title{align-items:baseline;display:flex;gap:30px;justify-content:space-between}.linter-setting-title.linter-mobile{justify-content:space-around}.linter-setting-title h1{font-weight:900;margin-bottom:12px;margin-top:6px}.linter-setting-header{margin-bottom:24px;overflow-x:auto;overflow-y:hidden}.linter-setting-header .linter-setting-tab-group{align-items:flex-end;display:flex;flex-wrap:wrap;width:100%}.linter-setting-tab-group{border-bottom:2px solid var(--background-modifier-border);margin-top:6px;padding-left:2px;padding-right:2px}.linter-setting-header .linter-tab-settings{border-left:2px solid transparent;border-right:2px solid transparent;cursor:pointer;font-weight:600;padding:6px 12px;white-space:nowrap}.linter-setting-header .linter-tab-settings:first-child{margin-left:6px}.linter-setting-header .linter-tab-settings.linter-tab-settings-active{border:2px solid var(--background-modifier-border);border-bottom-color:var(--background-primary);border-radius:2px;transform:translateY(2px)}.linter-navigation-item:not(.linter-navigation-item-selected)>span:nth-child(2),.linter-visually-hidden{border:0;clip:rect(0 0 0 0);clip-path:rect(0 0 0 0);height:auto;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}textarea.full-width{margin-bottom:.8em;margin-top:.8em;min-height:10em;width:100%}.full-width-textbox-input-wrapper{position:relative}.settings-copy-button{margin:0 0 0 auto;padding:4px;position:absolute;right:.8em;top:.8em}.settings-copy-button svg.linter-clipboard path{fill:var(--text-faint)}.settings-copy-button svg.linter-success path{fill:var(--interactive-success)}.settings-copy-button:active,.settings-copy-button:hover{cursor:pointer}.settings-copy-button:active svg path,.settings-copy-button:hover svg path{fill:var(--text-accent-hover);transition:all .3s ease}.settings-copy-button:focus{outline:0}.linter-custom-regex-replacement-container div:last-child{border:none}.linter-custom-regex-replacement{border:none;border-bottom:var(--hr-thickness) solid;border-color:var(--hr-color);margin-bottom:15px}.linter-custom-regex-replacement-row2{flex-wrap:wrap}.linter-custom-regex-replacement-normal-input{width:40%}.linter-custom-regex-replacement-flags{width:15%}.linter-custom-regex-replacement-label{flex-direction:row-reverse}.linter-custom-regex-replacement-label-input{width:50%}.linter-files-to-ignore-container div:last-child{border:none}.linter-files-to-ignore{border:none;border-bottom:var(--hr-thickness) solid;border-color:var(--hr-color);margin-bottom:15px}.linter-files-to-ignore-normal-input{width:40%}.linter-files-to-ignore-flags{width:15%}.linter-no-border{border:none}.linter-border-bottom{border-bottom:1px solid var(--background-modifier-border);border-top:0;margin-bottom:.75em}.linter-no-padding-top{padding-top:0}.custom-row-description{margin-top:0}.modal-warn,.search-zero-state{font-weight:700}.modal-heading,.search-zero-state{text-align:center}.confirm-modal-checkbox-container{align-items:center;display:flex;gap:6px;margin-top:8px}
|
||||
+16
-16
File diff suppressed because one or more lines are too long
+1
-1
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"id": "templater-obsidian",
|
||||
"name": "Templater",
|
||||
"version": "2.20.5",
|
||||
"version": "2.20.6",
|
||||
"description": "Advanced templating and automation using handlebars-like syntax.",
|
||||
"minAppVersion": "1.12.2",
|
||||
"author": "SilentVoid",
|
||||
|
||||
Vendored
+93
-47
@@ -36,20 +36,51 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "8a8673d1d65a8d04",
|
||||
"id": "e41a7bb2a6fb9421",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "bases",
|
||||
"state": {
|
||||
"file": "50-Aufgabenplanung/Taskliste.base",
|
||||
"viewName": "Table"
|
||||
"type": "full-calendar-view",
|
||||
"state": {},
|
||||
"icon": "calendar-glyph",
|
||||
"title": "Calendar"
|
||||
}
|
||||
},
|
||||
"icon": "lucide-table",
|
||||
"title": "Taskliste"
|
||||
{
|
||||
"id": "cffbaa9007ac59f6",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "markdown",
|
||||
"state": {
|
||||
"file": "_templates/Add-Contextual.md",
|
||||
"mode": "source",
|
||||
"source": false
|
||||
},
|
||||
"icon": "lucide-file",
|
||||
"title": "Add-Contextual"
|
||||
}
|
||||
}
|
||||
],
|
||||
"currentTab": 2
|
||||
"currentTab": 3
|
||||
},
|
||||
{
|
||||
"id": "cadeff41d541abb5",
|
||||
"type": "tabs",
|
||||
"children": [
|
||||
{
|
||||
"id": "c01ca1099c4a6b34",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "markdown",
|
||||
"state": {
|
||||
"file": "50-Aufgabenplanung/tasks/Juli Iteration 4 Tickets schneiden und spezifizieren.md",
|
||||
"mode": "source",
|
||||
"source": false
|
||||
},
|
||||
"icon": "lucide-file",
|
||||
"title": "Juli Iteration 4 Tickets schneiden und spezifizieren"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"direction": "vertical"
|
||||
@@ -106,7 +137,7 @@
|
||||
}
|
||||
],
|
||||
"direction": "horizontal",
|
||||
"width": 300
|
||||
"width": 298.5
|
||||
},
|
||||
"right": {
|
||||
"id": "3580347cbf61afa4",
|
||||
@@ -192,13 +223,23 @@
|
||||
"icon": "lucide-list",
|
||||
"title": "Outline of Add-Iteration"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "602f8a1b19e5a07b",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "git-view",
|
||||
"state": {},
|
||||
"icon": "git-pull-request",
|
||||
"title": "Source Control"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"currentTab": 5
|
||||
}
|
||||
],
|
||||
"direction": "horizontal",
|
||||
"width": 300,
|
||||
"collapsed": true
|
||||
"width": 300
|
||||
},
|
||||
"left-ribbon": {
|
||||
"hiddenItems": {
|
||||
@@ -209,45 +250,50 @@
|
||||
"templates:Insert template": false,
|
||||
"command-palette:Open command palette": false,
|
||||
"bases:Create new base": false,
|
||||
"templater-obsidian:Templater": false
|
||||
"templater-obsidian:Templater": false,
|
||||
"obsidian-full-calendar:Open Full Calendar": false,
|
||||
"full-calendar-remastered:Open Full Calendar": false,
|
||||
"full-calendar-remastered:FCR Command": false,
|
||||
"obsidian-git:Open Git source control": false
|
||||
}
|
||||
},
|
||||
"active": "8a8673d1d65a8d04",
|
||||
"active": "c01ca1099c4a6b34",
|
||||
"lastOpenFiles": [
|
||||
"50-Aufgabenplanung/Erste Schritte der Aufgabenplanung.md",
|
||||
"50-Aufgabenplanung/Backup Konfiguration evaluieren.md",
|
||||
"50-Aufgabenplanung/Taskliste.base",
|
||||
"50-Aufgabenplanung/Die Angebotssynchronisation muss sicherstellen, dass eine passende Kalkulation existiert.md",
|
||||
"50-Aufgabenplanung/Docker Repository Service im Cluster bereitstellen.md",
|
||||
"Juli Notes.base",
|
||||
"Personal OS.md",
|
||||
"20-projects/JULI.md",
|
||||
"50-Aufgabenplanung",
|
||||
"20-projects/Juli",
|
||||
"00-inbox/Ein neuer Arbeitszeitplan überschreibt den aktuellen Plan.md",
|
||||
"00-inbox/Julius landet mit seiner E-Mail in einer Login Schleife.md",
|
||||
"80-Datenimport/References/2026-07-17-1300 - Austausch SK MA (513e2ba9).md",
|
||||
"80-Datenimport/References/2026-07-16-0630 - Aufgabenplanung Korrespondenz (68680cdd).md",
|
||||
"80-Datenimport/Events/ma@coachhamburg.com/Outlook_68680cdd.md",
|
||||
"00-inbox/Abrechenbare Leistung als abgerechnet markieren.md",
|
||||
"00-inbox/Tag Kreativleistung als abrechenbare Leistung behandeln.md",
|
||||
"00-inbox/Systemprojekte vollwertig etablieren.md",
|
||||
"40-notes/Iteration 4.md",
|
||||
"50-Aufgabenplanung/tasks/Juli Iteration 4 Tickets schneiden und spezifizieren.md",
|
||||
"_templates/Add-Contextual.md",
|
||||
"00-inbox/Projektimport fuer das Management.md",
|
||||
"00-inbox/Fertigung alternativer Positionen.md",
|
||||
"00-inbox/Implementation einer Angebotsverwaltung.md",
|
||||
"Taskliste.base",
|
||||
"_templates/Add-Work.md",
|
||||
"90-dashboards/Hygiene.md",
|
||||
"00-inbox/Tagesabschluss in der Zeiterfassung ermöglichen.md",
|
||||
"30-tasks/Arbeitszeit aufteilen.md",
|
||||
"90-dashboards/Hygiene Migration.md",
|
||||
"30-tasks/Review erfasster Mehraufwände.md",
|
||||
"40-notes/Iteration 3.md",
|
||||
"40-notes/Demo Iteration 2.md",
|
||||
"40-notes/Iteration 1.md",
|
||||
"40-notes/Iteration 2.md",
|
||||
"40-notes/Backlog.md",
|
||||
"40-notes/Austausch Dashboard Painpoints.md",
|
||||
"20-projects/Avicenna.md",
|
||||
"10-contexts/health.md",
|
||||
"10-contexts/Genius.ceo.md",
|
||||
"20-projects/medmix Deutschland GmbH.md",
|
||||
"30-tasks/Projektpositionen können abgeschlossen werden.md",
|
||||
"30-tasks/Liste der Mehraufwände am Projekt.md",
|
||||
"30-tasks/Personalstamm implementieren.md",
|
||||
"Juli Notes.base",
|
||||
"00-inbox/Einzelpositionserfassung für die Materialliste.md",
|
||||
"Personal OS.md",
|
||||
"50-Aufgabenplanung/tasks/KI Workspace für Automatisierung evaluieren und aufbauen.md",
|
||||
"50-Aufgabenplanung/tasks/360 Grad Feedback Tool als Projekt aufnehmen.md",
|
||||
"50-Aufgabenplanung/Passwort ändern Funktion.md",
|
||||
"00-inbox/Untitled.base",
|
||||
"_attachments",
|
||||
"_templates/scripts/auto_increment.js",
|
||||
"_templates/scripts",
|
||||
"_templates"
|
||||
"50-Aufgabenplanung/tasks/JULI fragt \"Unproduktiv\" Tag an.md",
|
||||
"50-Aufgabenplanung/tasks",
|
||||
"50-Aufgabenplanung/tasks/Neuer Arbeitszeitplan überschreibt bestehenden, statt nachfolgenden anzulegen.md",
|
||||
"50-Aufgabenplanung/tasks/Gesamtkapazität Personal am Projekt sichtbar machen.md",
|
||||
"50-Aufgabenplanung/tasks/Gehaltsaufstellung August 2026.md",
|
||||
"50-Aufgabenplanung/tasks/Die Positionsmenge wird nicht in allen Angeboten korrekt gelesen.md",
|
||||
"50-Aufgabenplanung/tasks/Zeiterfassung Daily Ansicht überarbeiten.md",
|
||||
"00-inbox/Hero Artikelstamm anbinden.md",
|
||||
"50-Aufgabenplanung/events",
|
||||
"_attachments/fcr",
|
||||
"80-Datenimport/Events/ma@coachhamburg.com",
|
||||
"80-Datenimport/References",
|
||||
"80-Datenimport/Events",
|
||||
"80-Datenimport"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
---
|
||||
components:
|
||||
- actionable
|
||||
- contextual
|
||||
- iterbind
|
||||
action_status: open
|
||||
action_impact: 3
|
||||
action_effort_minutes: 60
|
||||
action_result: ""
|
||||
context_target: "[[JULI]]"
|
||||
context_role: project
|
||||
context_relation: belongs_to
|
||||
iterbind_target: "[[Iteration 4]]"
|
||||
iterbind_status: draft
|
||||
iterbind_role: primary
|
||||
iterbind_order: 0
|
||||
---
|
||||
|
||||
## Notes
|
||||
- Abrechenbare Leistungen am Projekt sollen als abgerechnet gekennzeichnet werden
|
||||
- Multi-Select fuer Aenderung ist wuenschenswert
|
||||
@@ -4,11 +4,11 @@ components:
|
||||
context_target: "[[JULI]]"
|
||||
context_role: project
|
||||
context_relation: belongs_to
|
||||
iterbind_target: "[[Backlog]]"
|
||||
iterbind_target: "[[Iteration 4]]"
|
||||
base_created: 2026-06-17T17:41
|
||||
base_modified: 2026-06-19T17:48
|
||||
action_status: open
|
||||
action_effort_minutes: 360
|
||||
action_effort_minutes: 480
|
||||
action_impact: 5
|
||||
---
|
||||
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
---
|
||||
components:
|
||||
- actionable
|
||||
- contextual
|
||||
- iterbind
|
||||
action_status: open
|
||||
action_impact: 4
|
||||
action_effort_minutes: 120
|
||||
action_result: ""
|
||||
context_target: "[[JULI]]"
|
||||
context_role: project
|
||||
context_relation: belongs_to
|
||||
iterbind_target: "[[Iteration 4]]"
|
||||
iterbind_status: draft
|
||||
iterbind_role: primary
|
||||
iterbind_order: 0
|
||||
---
|
||||
|
||||
## Notes
|
||||
- Wir wollen alternative Positionen aus dem Angebot im Dashboard fuer die Fertigung vorsehen koennen
|
||||
@@ -0,0 +1,24 @@
|
||||
---
|
||||
components:
|
||||
- actionable
|
||||
- contextual
|
||||
- iterbind
|
||||
action_status: open
|
||||
action_impact: 3
|
||||
action_effort_minutes: 240
|
||||
action_result: ""
|
||||
context_target: "[[JULI]]"
|
||||
context_role: project
|
||||
context_relation: belongs_to
|
||||
iterbind_target: "[[Iteration 4]]"
|
||||
iterbind_status: planned
|
||||
iterbind_role: primary
|
||||
iterbind_order: 0
|
||||
---
|
||||
|
||||
## Action
|
||||
|
||||
- Next step:
|
||||
- Definition of done:
|
||||
|
||||
## Result
|
||||
@@ -0,0 +1,22 @@
|
||||
---
|
||||
components:
|
||||
- actionable
|
||||
- contextual
|
||||
- iterbind
|
||||
action_status: open
|
||||
action_impact: 3
|
||||
action_effort_minutes: 480
|
||||
action_result: ""
|
||||
context_target: "[[JULI]]"
|
||||
context_role: project
|
||||
context_relation: belongs_to
|
||||
iterbind_target: "[[Iteration 4]]"
|
||||
iterbind_status: draft
|
||||
iterbind_role: primary
|
||||
iterbind_order: 0
|
||||
---
|
||||
|
||||
## Notes
|
||||
- Auswahl zu fertigender Angebote
|
||||
- expliziter Refresh nach Aenderung
|
||||
- (could) Datenuebernahme visualisieren
|
||||
@@ -0,0 +1,22 @@
|
||||
---
|
||||
components:
|
||||
- actionable
|
||||
- contextual
|
||||
- iterbind
|
||||
action_status: open
|
||||
action_impact: 3
|
||||
action_effort_minutes: 120
|
||||
action_result: ""
|
||||
context_target: "[[JULI]]"
|
||||
context_role: project
|
||||
context_relation: belongs_to
|
||||
iterbind_target: "[[Iteration 4]]"
|
||||
iterbind_status: draft
|
||||
iterbind_role: primary
|
||||
iterbind_order: 0
|
||||
---
|
||||
|
||||
## Notes
|
||||
- Neue Projekte koennen aus der Projektuebersicht ueber einen Button hinzugefuegt werden
|
||||
- Ein Modal fragt die Projekt ID ab, im Format xx-nr, z. B. TA-130
|
||||
- Das Backend fragt die interne Hero ID ab und hinterlegt diese fuer kuenftige Syncs
|
||||
@@ -0,0 +1,28 @@
|
||||
---
|
||||
components:
|
||||
- actionable
|
||||
- contextual
|
||||
- iterbind
|
||||
action_status: open
|
||||
action_impact: 3
|
||||
action_effort_minutes: 600
|
||||
action_result: ""
|
||||
context_target: "[[JULI]]"
|
||||
context_role: project
|
||||
context_relation: belongs_to
|
||||
iterbind_target: "[[Iteration 4]]"
|
||||
iterbind_status: draft
|
||||
iterbind_role: primary
|
||||
iterbind_order: 0
|
||||
---
|
||||
|
||||
## Notes
|
||||
- Systemprojekte sollen den gleichen Funktionsumfang wie Hero Projekte unterstuetzen. Beide sind gleichwertig.
|
||||
- Im MVP muessen Systemprojekte noch keinen Plan-Ist Vergleich unterstuetzen
|
||||
- Arbeitsschritte an Systemprojekten haben nicht zwingend ein Kontingent
|
||||
- Besprechungen mit GF koennten unbegrenzt sein
|
||||
- Anders gedacht koennte es ein Kontingent fuer einen Zeitraum geben, welches sich danach zurueck setzt. Dies koennte als Benchmark dienen.
|
||||
- Nur ne Idee, vielleicht traegt sie sich weiter.
|
||||
- Erstellung und Bearbeitung von Systemprojekten
|
||||
- Positionen -> Subpositionen -> Arbeitsschritte
|
||||
- Darstellung in Uebersicht und Detailseite
|
||||
@@ -0,0 +1,21 @@
|
||||
---
|
||||
components:
|
||||
- actionable
|
||||
- contextual
|
||||
- iterbind
|
||||
action_status: open
|
||||
action_impact: 4
|
||||
action_effort_minutes: 60
|
||||
action_result: ""
|
||||
context_target: "[[JULI]]"
|
||||
context_role: project
|
||||
context_relation: belongs_to
|
||||
iterbind_target: "[[Iteration 4]]"
|
||||
iterbind_status: draft
|
||||
iterbind_role: primary
|
||||
iterbind_order: 0
|
||||
---
|
||||
|
||||
## Notes
|
||||
- Tag im Review Bereich mit auffuehren, sowie auf der Abrechnungsseite am Projekt
|
||||
- Tag an der Zeit darstellen, durch Icon, Farbe, Kuerzel, oder Label, um Unterscheidung zu ermoeglichen
|
||||
@@ -1,53 +0,0 @@
|
||||
filters:
|
||||
and:
|
||||
- file.hasLink("Iteration 2")
|
||||
formulas:
|
||||
Aufwand (ET: action_effort_minutes / 60 / 8
|
||||
properties:
|
||||
formula.Aufwand (ET:
|
||||
displayName: Aufwand (ET)
|
||||
views:
|
||||
- type: table
|
||||
name: Table
|
||||
order:
|
||||
- file.name
|
||||
- action_status
|
||||
- formula.Aufwand (ET
|
||||
- action_impact
|
||||
- action_effort_minutes
|
||||
sort: []
|
||||
columnSize:
|
||||
formula.Aufwand (ET: 138
|
||||
- type: kanban-view
|
||||
name: View
|
||||
filters:
|
||||
and:
|
||||
- "!action_status.isEmpty()"
|
||||
columnOrders:
|
||||
file.file:
|
||||
- 00-inbox/Arbeitszeit Sonstiges nur mit Kommentar.md
|
||||
- 00-inbox/Arbeitszeit aufteilen.md
|
||||
- 00-inbox/Arbeitszeit taggen.md
|
||||
- 00-inbox/Personalstamm implementieren.md
|
||||
- 00-inbox/Werkstatt als Systemprojekt aufnehmen.md
|
||||
- 30-tasks/Zeit mit Projekt kann nicht auf Allgemein gebucht werden.md
|
||||
- 30-tasks/Zeitzuordnung wird durch Sync zurückgesetzt.md
|
||||
note.action_status:
|
||||
- open
|
||||
- done
|
||||
cardOrders:
|
||||
file.file: {}
|
||||
note.action_status: {}
|
||||
"file.file\x1fnote.action_status": {}
|
||||
columnColors:
|
||||
file.file: {}
|
||||
note.action_status: {}
|
||||
groupByProperty: note.action_status
|
||||
swimlaneByProperty: note.action_status
|
||||
swimlaneOrders:
|
||||
"file.file\x1fnote.action_status":
|
||||
- done
|
||||
- open
|
||||
- Uncategorized
|
||||
collapsedLanes:
|
||||
"file.file\x1fnote.action_status": []
|
||||
@@ -0,0 +1,55 @@
|
||||
---
|
||||
components:
|
||||
- contextual
|
||||
- iterdef
|
||||
context_target: "[[JULI]]"
|
||||
context_role: project
|
||||
context_relation: belongs_to
|
||||
iterdef_id: 4
|
||||
iterdef_status: planned
|
||||
iterdef_start: 2026-07-20T08:00:00
|
||||
iterdef_end: 2026-07-24T18:00:00
|
||||
iterdef_goal: Wir erweitern die Projektverwaltung im Dashboard, sodass immer eine korrekte, mit der Realität abgestimmte, Planungsbasis existiert.
|
||||
iterdef_capacity_minutes: 0
|
||||
cssclasses: wide-page
|
||||
---
|
||||
|
||||
## Goal
|
||||
|
||||
|
||||
## Workspace
|
||||
```base
|
||||
filters:
|
||||
and:
|
||||
- file.hasLink(this.file.path)
|
||||
formulas:
|
||||
Aufwand (ET: action_effort_minutes / 60 / 8
|
||||
properties:
|
||||
formula.Aufwand (ET:
|
||||
displayName: Aufwand (ET)
|
||||
views:
|
||||
- type: table
|
||||
name: Table
|
||||
order:
|
||||
- file.name
|
||||
- action_status
|
||||
- formula.Aufwand (ET
|
||||
- action_impact
|
||||
- action_effort_minutes
|
||||
sort:
|
||||
- property: action_status
|
||||
direction: ASC
|
||||
|
||||
```
|
||||
|
||||
## Bound Work
|
||||
```dataview
|
||||
TABLE
|
||||
action_status as "Action",
|
||||
work_status as "Work",
|
||||
round(action_effort_minutes / 60 / 8, 2) as "Aufwand (ET)",
|
||||
action_impact as "Impact"
|
||||
FROM ""
|
||||
WHERE iterbind_target = this.file.link
|
||||
SORT action_impact DESC, action_effort_minutes ASC
|
||||
```
|
||||
@@ -1,4 +0,0 @@
|
||||
---
|
||||
status: open
|
||||
variant: Task
|
||||
---
|
||||
@@ -1,6 +0,0 @@
|
||||
---
|
||||
status: open
|
||||
variant: Task
|
||||
---
|
||||
## Nächste Schritte
|
||||
- Terminierung Zeitblock "Korrespondenz + Task Planung"
|
||||
@@ -0,0 +1,8 @@
|
||||
---
|
||||
status: open
|
||||
variant: Task
|
||||
priority:
|
||||
doable: 1 - Machen
|
||||
cluster: Entwickler
|
||||
---
|
||||
Im JULI Dashboard haben noch alle User das gleiche Kennwort :|
|
||||
@@ -1,12 +0,0 @@
|
||||
filters:
|
||||
and:
|
||||
- file.inFolder("50-Aufgabenplanung")
|
||||
- file.hasProperty("status")
|
||||
views:
|
||||
- type: table
|
||||
name: Table
|
||||
order:
|
||||
- file.name
|
||||
- variant
|
||||
columnSize:
|
||||
file.name: 340
|
||||
@@ -0,0 +1,10 @@
|
||||
---
|
||||
status: open
|
||||
variant: Task
|
||||
priority: 1 - wichtig, dringlich
|
||||
doable: 3 - Terminieren
|
||||
cluster: Projektmanager
|
||||
---
|
||||
## Coachee360
|
||||
- Vernetzungsgraph
|
||||
- Wer hat wen eingeladen und ist mit wem verbunden
|
||||
+3
@@ -1,6 +1,9 @@
|
||||
---
|
||||
status: open
|
||||
variant: Projekt
|
||||
priority: 3 - wichtig, nicht dringlich
|
||||
doable: 2 - Anforderung klären
|
||||
cluster: CTO
|
||||
---
|
||||
Ziel ist eine vollwertige Datensicherung aller gefährdeter Daten von Coach Hamburg nach der 3-2-1 Regel.
|
||||
|
||||
+3
@@ -1,5 +1,8 @@
|
||||
---
|
||||
status: open
|
||||
variant: Task
|
||||
priority: 1 - wichtig, dringlich
|
||||
doable: 1 - Machen
|
||||
cluster: Entwickler
|
||||
---
|
||||
TA-191 Angebot weicht von der Kalkulation ab.
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
---
|
||||
status: open
|
||||
variant: Task
|
||||
priority: 1 - wichtig, dringlich
|
||||
doable: 1 - Machen
|
||||
cluster: Entwickler
|
||||
---
|
||||
Beispiel TA-191
|
||||
Stückzahl steht im Positionslabel
|
||||
@@ -0,0 +1,9 @@
|
||||
---
|
||||
status: open
|
||||
variant: Task
|
||||
priority: 4 - nicht wichtig, nicht dringlich
|
||||
doable: 2 - Anforderung klären
|
||||
cluster: IT Operator
|
||||
---
|
||||
Welcher Dienst?
|
||||
Eigenständiges Tool, oder in Kombination mit VCS-Provider?
|
||||
@@ -0,0 +1,11 @@
|
||||
---
|
||||
status: open
|
||||
variant: Task
|
||||
priority: 1 - wichtig, dringlich
|
||||
doable: 1 - Machen
|
||||
cluster: Persönliche Entwicklung
|
||||
---
|
||||
## Nächste Schritte
|
||||
- Terminierung Zeitblock "Korrespondenz + Task Planung"
|
||||
- Aufnahme von Aufgaben (so viele wie möglich)
|
||||
- Clustern in Rollen, Funktionen, Tätigkeiten, ...
|
||||
@@ -0,0 +1,7 @@
|
||||
---
|
||||
status: open
|
||||
variant: Task
|
||||
priority: 3 - wichtig, nicht dringlich
|
||||
doable: 1 - Machen
|
||||
cluster: Projektmanager
|
||||
---
|
||||
@@ -0,0 +1,10 @@
|
||||
---
|
||||
status: open
|
||||
variant: Task
|
||||
priority: 3 - wichtig, nicht dringlich
|
||||
doable: 1 - Machen
|
||||
cluster: Entwickler
|
||||
---
|
||||
Benötigt Philipp für die Planung, da er sich diesen Überblick bisher nur sehr umständlich beschaffen kann.
|
||||
|
||||
Wir listen als AV, Produktion, Montage
|
||||
@@ -0,0 +1,16 @@
|
||||
---
|
||||
status: open
|
||||
variant: Task
|
||||
priority: 1 - wichtig, dringlich
|
||||
doable: 3 - Terminieren
|
||||
cluster: Projektmanager
|
||||
---
|
||||
**Wird nach Iteration 4 weiter bearbeitet.**
|
||||
|
||||
Evaluieren ob wirklich sinnvoll.
|
||||
|
||||
Ich würde es lassen. Nach Iteration 4 gibt es Systemprojekte, welche es erlauben Kategorien anzulegen, auf welche diese Zeiten gebucht werden.
|
||||
|
||||
Ich glaube die Notwendigkeit lässt sich lösen, wenn diese Tätigkeiten sauber gebucht werden können, wodurch wir mit den Projekten und Arbeitsschritten lenken können.
|
||||
|
||||
Das Tag "Unproduktiv" drückt nicht aus, was unproduktiv ist. Dies ist Wissen, welches beim Mitarbeiter aufgebaut werden muss. Geben wir dem MA einen Rahmen, kann er es bestenfalls selbstständig erlernen.
|
||||
@@ -0,0 +1,22 @@
|
||||
---
|
||||
status: open
|
||||
variant: Task
|
||||
priority: 1 - wichtig, dringlich
|
||||
doable: 1 - Machen
|
||||
cluster: Projektmanager
|
||||
---
|
||||
## Themen aus der Planung
|
||||
- Projektverwaltung im Dashboard (1,5 ET):
|
||||
- Angebotsverwaltung:
|
||||
- Auswahl zu fertigender Angebote, expliziter Refresh mit Datenübernahme.
|
||||
- Fertigung alternativer Positionen.
|
||||
- Projektimport für das Management.
|
||||
- Systemprojekte (Interne Projekte) (1,25 ET):
|
||||
- Übersicht, Detailansicht, Erstellung und Verwaltung.
|
||||
- Kleinere Anpassungen (0,25 ET):
|
||||
- Tag "Kreativleistung" als abrechenbare Leistung behandeln.
|
||||
- Abrechenbare Leistungen als "abgerechnet" markieren.
|
||||
- Einzelpositionserfassung für Material (1,5 ET)
|
||||
- Anbindung an den HERO-Artikelstamm.
|
||||
|
||||
![[Iteration 4]]
|
||||
@@ -0,0 +1,13 @@
|
||||
---
|
||||
status: open
|
||||
variant: Projekt
|
||||
priority: 3 - wichtig, nicht dringlich
|
||||
doable:
|
||||
cluster: IT Operator
|
||||
---
|
||||
Das Ziel ist ein Workspace, welcher es uns erlaubt Prozesse zu automatisieren und dabei moderne KI gestützte Prozesse zu integrieren. Der Fokus liegt hier auf dem aggregieren von Wissen und Erfahrung, beim Aufbau solcher Systeme und der Automatisierung von Prozessen.
|
||||
|
||||
[Dify](https://github.com/langgenius/dify) sieht vielversprechend aus, dies könnte ein guter Startpunkt sein.
|
||||
|
||||
In [n8n](https://workflows.genius.ceo/home/workflows) haben wir begonnen unsere Kalender Events zu synchronisieren. Eine tragfähige Lösung sollte die Daten in eine Datenbank importieren.
|
||||
Ziel ist ein zuverlässiger und stabiler Import, welcher gleichbleibende Ergebnisse produziert und in der Lage ist die Daten zu aktualisieren.
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
---
|
||||
status: open
|
||||
variant: Task
|
||||
priority: 2 - dringlich, nicht wichtig
|
||||
doable: 2 - Anforderung klären
|
||||
cluster: Entwickler
|
||||
---
|
||||
@@ -0,0 +1,12 @@
|
||||
---
|
||||
status: open
|
||||
variant: Task
|
||||
priority: 3 - wichtig, nicht dringlich
|
||||
doable: 1 - Machen
|
||||
cluster: Entwickler
|
||||
---
|
||||
Philipp hat Ideen geteilt:
|
||||
>In DAILY Ansicht müssen wir noch ein paar Kleinigkeiten anpassen. Bitte markiere ROT wenn noch keine Zeiten in HERO hinterlegt sind und ersetze “PRÜFEN” durch “HERO ZEIT FEHLT”
|
||||
Bitte markiere GELB wenn Zeiten noch nicht zugeordnet sind und ändere dabei “PRÜFEN” durch “NICHT ZUGEORDNET”
|
||||
Teilweise sind Hinweise wie “PRÜFEN” doppelt belegt. Es zeigt mir zwar, dass da etwas nicht stimmt in dem Zeiteintrag, aber ich würde aber gerne direkt in der DAILY Ansicht erkennen, was los ist, damit ich direkt den MA drauf sprechen kann. Wir haben 14 MA, bald kommen noch drei weitere hinzu, es ist sehr mühsam in jeden einzelnen Eintrag reingehen zu müssen, nur um zu sehen, dass einfach noch keine Stunden zugeordnet worden sind.
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
|
||||
# Overview
|
||||
```dataview
|
||||
Calendar time_start
|
||||
where time_start != null
|
||||
```
|
||||
|
||||
+11
-10
@@ -2,16 +2,6 @@ filters:
|
||||
and:
|
||||
- context_target == link("JULI")
|
||||
views:
|
||||
- type: cards
|
||||
name: Tasks
|
||||
filters:
|
||||
and:
|
||||
- "!status.isEmpty()"
|
||||
order:
|
||||
- file.name
|
||||
- status
|
||||
- created
|
||||
cardSize: 200
|
||||
- type: kanban-view
|
||||
name: Planning
|
||||
filters:
|
||||
@@ -33,6 +23,7 @@ views:
|
||||
- Uncategorized
|
||||
note.iterbind_target:
|
||||
- "[[Backlog]]"
|
||||
- "[[Iteration 4]]"
|
||||
- "[[Iteration 3]]"
|
||||
- "[[Iteration 2]]"
|
||||
- "[[Iteration 1]]"
|
||||
@@ -63,5 +54,15 @@ views:
|
||||
- Uncategorized
|
||||
collapsedLanes:
|
||||
"note.iterbind_target\x1fnote.iteration": []
|
||||
- type: cards
|
||||
name: Tasks
|
||||
filters:
|
||||
and:
|
||||
- "!status.isEmpty()"
|
||||
order:
|
||||
- file.name
|
||||
- status
|
||||
- created
|
||||
cardSize: 200
|
||||
- type: table
|
||||
name: View
|
||||
|
||||
+221
@@ -0,0 +1,221 @@
|
||||
filters:
|
||||
and:
|
||||
- file.inFolder("50-Aufgabenplanung")
|
||||
- file.hasProperty("status")
|
||||
views:
|
||||
- type: table
|
||||
name: Alle Tickets
|
||||
order:
|
||||
- file.name
|
||||
- variant
|
||||
- priority
|
||||
- doable
|
||||
- cluster
|
||||
columnSize:
|
||||
file.name: 340
|
||||
- type: kanban-view
|
||||
name: Priorisierung
|
||||
order:
|
||||
- status
|
||||
- variant
|
||||
columnOrders:
|
||||
file.file:
|
||||
- 50-Aufgabenplanung/360 Grad Feedback Tool als Projekt aufnehmen.md
|
||||
- 50-Aufgabenplanung/Backup Konfiguration evaluieren.md
|
||||
- 50-Aufgabenplanung/Die Angebotssynchronisation muss sicherstellen, dass eine passende Kalkulation existiert.md
|
||||
- 50-Aufgabenplanung/Die Positionsmenge wird nicht in allen Angeboten korrekt gelesen.md
|
||||
- 50-Aufgabenplanung/Docker Repository Service im Cluster bereitstellen.md
|
||||
- 50-Aufgabenplanung/Erste Schritte der Aufgabenplanung.md
|
||||
- 50-Aufgabenplanung/Gehaltsaufstellung August 2026.md
|
||||
- 50-Aufgabenplanung/Gesamtkapazität Personal am Projekt sichtbar machen.md
|
||||
- 50-Aufgabenplanung/JULI fragt "Unproduktiv" Tag an.md
|
||||
- 50-Aufgabenplanung/Juli Iteration 4 Tickets schneiden und spezifizieren.md
|
||||
- 50-Aufgabenplanung/KI Workspace für Automatisierung evaluieren und aufbauen.md
|
||||
- 50-Aufgabenplanung/Neuer Arbeitszeitplan überschreibt bestehenden, statt nachfolgenden anzulegen.md
|
||||
- 50-Aufgabenplanung/Zeiterfassung Daily Ansicht überarbeiten.md
|
||||
- 50-Aufgabenplanung/tasks/360 Grad Feedback Tool als Projekt aufnehmen.md
|
||||
- 50-Aufgabenplanung/tasks/Die Angebotssynchronisation muss sicherstellen, dass eine passende Kalkulation existiert.md
|
||||
- 50-Aufgabenplanung/tasks/Die Positionsmenge wird nicht in allen Angeboten korrekt gelesen.md
|
||||
- 50-Aufgabenplanung/tasks/Erste Schritte der Aufgabenplanung.md
|
||||
- 50-Aufgabenplanung/tasks/JULI fragt "Unproduktiv" Tag an.md
|
||||
- 50-Aufgabenplanung/tasks/Juli Iteration 4 Tickets schneiden und spezifizieren.md
|
||||
- 50-Aufgabenplanung/tasks/Backup Konfiguration evaluieren.md
|
||||
- 50-Aufgabenplanung/tasks/Gehaltsaufstellung August 2026.md
|
||||
- 50-Aufgabenplanung/tasks/Gesamtkapazität Personal am Projekt sichtbar machen.md
|
||||
- 50-Aufgabenplanung/tasks/KI Workspace für Automatisierung evaluieren und aufbauen.md
|
||||
- 50-Aufgabenplanung/tasks/Zeiterfassung Daily Ansicht überarbeiten.md
|
||||
- 50-Aufgabenplanung/tasks/Docker Repository Service im Cluster bereitstellen.md
|
||||
- 50-Aufgabenplanung/tasks/Neuer Arbeitszeitplan überschreibt bestehenden, statt nachfolgenden anzulegen.md
|
||||
- 50-Aufgabenplanung/Passwort ändern Funktion.md
|
||||
note.priority:
|
||||
- 1 - wichtig, dringlich
|
||||
- 2 - dringlich, nicht wichtig
|
||||
- 3 - wichtig, nicht dringlich
|
||||
- 4 - nicht wichtig, nicht dringlich
|
||||
- Uncategorized
|
||||
cardOrders:
|
||||
file.file: {}
|
||||
note.priority:
|
||||
Uncategorized: []
|
||||
3 - wichtig, nicht dringlich:
|
||||
- 50-Aufgabenplanung/tasks/Gehaltsaufstellung August 2026.md
|
||||
- 50-Aufgabenplanung/tasks/Zeiterfassung Daily Ansicht überarbeiten.md
|
||||
- 50-Aufgabenplanung/tasks/Backup Konfiguration evaluieren.md
|
||||
- 50-Aufgabenplanung/tasks/Gesamtkapazität Personal am Projekt sichtbar machen.md
|
||||
- 50-Aufgabenplanung/tasks/KI Workspace für Automatisierung evaluieren und aufbauen.md
|
||||
1 - wichtig, dringlich:
|
||||
- 50-Aufgabenplanung/tasks/Juli Iteration 4 Tickets schneiden und spezifizieren.md
|
||||
- 50-Aufgabenplanung/tasks/360 Grad Feedback Tool als Projekt aufnehmen.md
|
||||
- 50-Aufgabenplanung/tasks/Erste Schritte der Aufgabenplanung.md
|
||||
- 50-Aufgabenplanung/tasks/Die Angebotssynchronisation muss sicherstellen, dass eine passende Kalkulation existiert.md
|
||||
- 50-Aufgabenplanung/tasks/Die Positionsmenge wird nicht in allen Angeboten korrekt gelesen.md
|
||||
- 50-Aufgabenplanung/tasks/JULI fragt "Unproduktiv" Tag an.md
|
||||
4 - nicht wichtig, nicht dringlich:
|
||||
- 50-Aufgabenplanung/tasks/Docker Repository Service im Cluster bereitstellen.md
|
||||
"file.file\x1fnote.priority": {}
|
||||
columnColors:
|
||||
file.file: {}
|
||||
note.priority:
|
||||
1 - wichtig, dringlich: red
|
||||
2 - dringlich, nicht wichtig: orange
|
||||
3 - wichtig, nicht dringlich: yellow
|
||||
4 - nicht wichtig, nicht dringlich: green
|
||||
groupByProperty: note.priority
|
||||
swimlaneByProperty: note.priority
|
||||
swimlaneOrders:
|
||||
"file.file\x1fnote.priority":
|
||||
- 1 - wichtig, dringlich
|
||||
- 2 - dringlich, nicht wichtig
|
||||
- 3 - wichtig, nicht dringlich
|
||||
- 4 - nicht wichtig, nicht dringlich
|
||||
- Uncategorized
|
||||
collapsedLanes:
|
||||
"file.file\x1fnote.priority": []
|
||||
quickAddFolder: 50-Aufgabenplanung/tasks
|
||||
wrapPropertyValues: false
|
||||
- type: kanban-view
|
||||
name: Umsetzungsbereit?
|
||||
order:
|
||||
- status
|
||||
- variant
|
||||
- priority
|
||||
columnOrders:
|
||||
file.file:
|
||||
- 50-Aufgabenplanung/Passwort ändern Funktion.md
|
||||
- 50-Aufgabenplanung/tasks/360 Grad Feedback Tool als Projekt aufnehmen.md
|
||||
- 50-Aufgabenplanung/tasks/Backup Konfiguration evaluieren.md
|
||||
- 50-Aufgabenplanung/tasks/Die Angebotssynchronisation muss sicherstellen, dass eine passende Kalkulation existiert.md
|
||||
- 50-Aufgabenplanung/tasks/Die Positionsmenge wird nicht in allen Angeboten korrekt gelesen.md
|
||||
- 50-Aufgabenplanung/tasks/Docker Repository Service im Cluster bereitstellen.md
|
||||
- 50-Aufgabenplanung/tasks/Erste Schritte der Aufgabenplanung.md
|
||||
- 50-Aufgabenplanung/tasks/Gehaltsaufstellung August 2026.md
|
||||
- 50-Aufgabenplanung/tasks/Gesamtkapazität Personal am Projekt sichtbar machen.md
|
||||
- 50-Aufgabenplanung/tasks/JULI fragt "Unproduktiv" Tag an.md
|
||||
- 50-Aufgabenplanung/tasks/Juli Iteration 4 Tickets schneiden und spezifizieren.md
|
||||
- 50-Aufgabenplanung/tasks/KI Workspace für Automatisierung evaluieren und aufbauen.md
|
||||
- 50-Aufgabenplanung/tasks/Neuer Arbeitszeitplan überschreibt bestehenden, statt nachfolgenden anzulegen.md
|
||||
- 50-Aufgabenplanung/tasks/Zeiterfassung Daily Ansicht überarbeiten.md
|
||||
note.doable:
|
||||
- 1 - Machen
|
||||
- 2 - Anforderung klären
|
||||
- 3 - Terminieren
|
||||
- 4 - Unterstuetzung suchen
|
||||
- Uncategorized
|
||||
cardOrders:
|
||||
file.file: {}
|
||||
note.doable:
|
||||
Uncategorized:
|
||||
- 50-Aufgabenplanung/tasks/KI Workspace für Automatisierung evaluieren und aufbauen.md
|
||||
1 - Machen:
|
||||
- 50-Aufgabenplanung/tasks/Juli Iteration 4 Tickets schneiden und spezifizieren.md
|
||||
- 50-Aufgabenplanung/tasks/Die Angebotssynchronisation muss sicherstellen, dass eine passende Kalkulation existiert.md
|
||||
- 50-Aufgabenplanung/tasks/Zeiterfassung Daily Ansicht überarbeiten.md
|
||||
- 50-Aufgabenplanung/tasks/Die Positionsmenge wird nicht in allen Angeboten korrekt gelesen.md
|
||||
- 50-Aufgabenplanung/tasks/Erste Schritte der Aufgabenplanung.md
|
||||
- 50-Aufgabenplanung/tasks/Gehaltsaufstellung August 2026.md
|
||||
- 50-Aufgabenplanung/tasks/Gesamtkapazität Personal am Projekt sichtbar machen.md
|
||||
- 50-Aufgabenplanung/Passwort ändern Funktion.md
|
||||
3 - Terminieren:
|
||||
- 50-Aufgabenplanung/tasks/360 Grad Feedback Tool als Projekt aufnehmen.md
|
||||
- 50-Aufgabenplanung/tasks/JULI fragt "Unproduktiv" Tag an.md
|
||||
2 - Anforderung klären:
|
||||
- 50-Aufgabenplanung/tasks/Backup Konfiguration evaluieren.md
|
||||
- 50-Aufgabenplanung/tasks/Docker Repository Service im Cluster bereitstellen.md
|
||||
- 50-Aufgabenplanung/tasks/Neuer Arbeitszeitplan überschreibt bestehenden, statt nachfolgenden anzulegen.md
|
||||
4 - Unterstuetzung suchen: []
|
||||
columnColors:
|
||||
file.file: {}
|
||||
note.doable:
|
||||
1 - Machen: green
|
||||
groupByProperty: note.doable
|
||||
- type: kanban-view
|
||||
name: Cluster
|
||||
columnOrders:
|
||||
file.file:
|
||||
- 50-Aufgabenplanung/Passwort ändern Funktion.md
|
||||
- 50-Aufgabenplanung/tasks/360 Grad Feedback Tool als Projekt aufnehmen.md
|
||||
- 50-Aufgabenplanung/tasks/Backup Konfiguration evaluieren.md
|
||||
- 50-Aufgabenplanung/tasks/Die Angebotssynchronisation muss sicherstellen, dass eine passende Kalkulation existiert.md
|
||||
- 50-Aufgabenplanung/tasks/Die Positionsmenge wird nicht in allen Angeboten korrekt gelesen.md
|
||||
- 50-Aufgabenplanung/tasks/Docker Repository Service im Cluster bereitstellen.md
|
||||
- 50-Aufgabenplanung/tasks/Erste Schritte der Aufgabenplanung.md
|
||||
- 50-Aufgabenplanung/tasks/Gehaltsaufstellung August 2026.md
|
||||
- 50-Aufgabenplanung/tasks/Gesamtkapazität Personal am Projekt sichtbar machen.md
|
||||
- 50-Aufgabenplanung/tasks/JULI fragt "Unproduktiv" Tag an.md
|
||||
- 50-Aufgabenplanung/tasks/Juli Iteration 4 Tickets schneiden und spezifizieren.md
|
||||
- 50-Aufgabenplanung/tasks/KI Workspace für Automatisierung evaluieren und aufbauen.md
|
||||
- 50-Aufgabenplanung/tasks/Neuer Arbeitszeitplan überschreibt bestehenden, statt nachfolgenden anzulegen.md
|
||||
- 50-Aufgabenplanung/tasks/Zeiterfassung Daily Ansicht überarbeiten.md
|
||||
note.cluster:
|
||||
- CTO
|
||||
- Entwickler
|
||||
- IT Operator
|
||||
- Persönliche Entwicklung
|
||||
- Projektmanager
|
||||
note.priority:
|
||||
- 1 - wichtig, dringlich
|
||||
- 2 - dringlich, nicht wichtig
|
||||
- 3 - wichtig, nicht dringlich
|
||||
- 4 - nicht wichtig, nicht dringlich
|
||||
- Uncategorized
|
||||
note.doable:
|
||||
- 1 - Machen
|
||||
- 2 - Anforderung klären
|
||||
- 3 - Terminieren
|
||||
- Uncategorized
|
||||
cardOrders:
|
||||
file.file: {}
|
||||
note.cluster: {}
|
||||
note.priority: {}
|
||||
"note.priority\x1fnote.cluster": {}
|
||||
"note.doable\x1fnote.cluster": {}
|
||||
"file.file\x1fnote.cluster": {}
|
||||
columnColors:
|
||||
file.file: {}
|
||||
note.cluster: {}
|
||||
note.priority: {}
|
||||
note.doable: {}
|
||||
groupByProperty: note.cluster
|
||||
swimlaneOrders:
|
||||
"note.priority\x1fnote.cluster":
|
||||
- CTO
|
||||
- Entwickler
|
||||
- IT Operator
|
||||
- Persönliche Entwicklung
|
||||
- Projektmanager
|
||||
"note.doable\x1fnote.cluster":
|
||||
- CTO
|
||||
- Entwickler
|
||||
- IT Operator
|
||||
- Persönliche Entwicklung
|
||||
- Projektmanager
|
||||
"file.file\x1fnote.cluster":
|
||||
- CTO
|
||||
- Entwickler
|
||||
- IT Operator
|
||||
- Persönliche Entwicklung
|
||||
- Projektmanager
|
||||
collapsedLanes:
|
||||
"note.priority\x1fnote.cluster": []
|
||||
"note.doable\x1fnote.cluster": []
|
||||
"file.file\x1fnote.cluster": []
|
||||
Reference in New Issue
Block a user