Запрос последних заметок за сегодня для Obsidian

dataviewjs

const today = moment().format("YYYY-MM-DD");
const currentWeek = moment().format("YYYY-[W]WW");

// Получить сегодняшнюю ежедневную заметку
const todaysDailyNote = dv.page(`type: dailynote and data = "${today}"`);

// Получить еженедельную заметку на этой неделе
const thisWeeksWeeklyNote = dv.page(`type: dailynote and data = "${currentWeek}"`);

// Отобразить результаты
if (!todaysDailyNote || todaysDailyNote.length === 0) {
  dv.header(3, "Сегодня нет заметок");
} else {
  dv.header(3, "Планы на сегодня");
  dv.paragraph(`- [[${todaysDailyNote[0].file.link}]]`); // Выводим ссылку на файл
}

if (!thisWeeksWeeklyNote || thisWeeksWeeklyNote.length === 0) {
  dv.header(3, "На этой неделе нет заметок");
} else {
  dv.header(3, "Планы на этой неделе");
  dv.paragraph(`- [[${thisWeeksWeeklyNote[0].file.link}]]`); // Выводим ссылку на файл
}

// Получить все ежедневные заметки
const allDailyNotes = dv.pages().where(p => p.type === "dailynote");

// Фильтровать все ежедневные заметки, чтобы показать только сегодняшние и текущей недели, используя частичные совпадения
const filteredDailyNotes = allDailyNotes.filter(note => {
  // Проверяем, является ли data строкой и используем includes, иначе преобразуем в строку и затем используем includes
  if (typeof note.data === "string") {
    return note.data.includes(today) || note.data.includes(currentWeek);
  } else {
    return String(note.data).includes(today) || String(note.data).includes(currentWeek);
  }
});

// Отобразить отфильтрованные ежедневные заметки
if (filteredDailyNotes.length > 0) {
  dv.header(3, "Планы на сегодня и текущей неделе");
  filteredDailyNotes.forEach(note => {
    dv.paragraph(`- [[${note.file.link}]]`); // Выводим ссылки на файлы
  });
}