// find dates based on format [[YYYY-MM-DD]]
const findDated = (task) => {
if( !task.completed ) {
task.link = " " + "[[" + task.path + "|*]]";
task.date="";
const found = task.text.match(/\[\[([12]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01]))\]\]/);
if(found) task.date = moment(found[1]);
return true;
}
}
const myTasks = dv.pages("").file.tasks.where(t => findDated(t));
dv.header(1,"🔥 Überfällig");
dv.paragraph("Alle überfälligen Tasks (Datum in der Vergangenheit)");
dv.taskList(myTasks.filter(t=> moment(t.date).isBefore(moment(),"day")).sort(t=>t.date));
dv.el("br");
dv.header(1, "📌 Heute");
dv.paragraph("Alle heutigen Tasks (mit dem heutigem Datum makiert)");
dv.taskList(myTasks.filter(t=> moment(t.date).isSame(moment(),"day")).sort(t=>t.date));
dv.el("br");
dv.header(1,"📆 Damnächst");
dv.paragraph("Die Tasks die bald anstehen (Tasks mit Datum nahe dem heutigen)");
dv.taskList(myTasks.filter(t=> moment(t.date).isAfter(moment(),"day")).sort(t=>t.date));
dv.el("br");
dv.header(1,"🤝 Delegierte Themen");
dv.paragraph("Alle Tasks bei denen ich auf andere Personen warte (mit dem Tag #waitingfor)");
dv.taskList(myTasks.filter(t=> t.text.contains("#waitingfor")).sort(t=>t.text));
dv.el("br");
dv.header(1,"🧗♂️ Nächste Schritte");
dv.paragraph("Die nächsten Schritte für meine Projekte (Tasks mit dem Tag #next)");
dv.taskList(myTasks.filter(t=> t.text.contains("#next")).sort(t=>t.text));
dv.el("br");
dv.header(1,"❓ Ungeplant");
dv.paragraph("Alle Tasks die noch nicht eingeplant sind.");
dv.taskList(myTasks.filter(t=> !t.date && !t.text.contains("#waitingfor") && !t.text.contains("#next") && !t.text.contains("#someday")).sort(t=>t.text));
dv.el("br");
dv.header(1,"🤷♂️ Irgendwann");
dv.paragraph("Alle Tasks ohne Priorität (Tasks mit dem Tag #someday)");
dv.taskList(myTasks.filter(t=> t.text.contains("#someday")).sort(t=>t.text));
Last active
September 19, 2023 19:57
-
-
Save dom8509/50a1ae4a8adf01c1f70dc68ce3657195 to your computer and use it in GitHub Desktop.
List all Task in Obsidian using Dataview
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment