---
tags:
  - weekly
---
## <span style="color:green">지난 주 반성</span>

- 
- 

## 이번 주 계획

### <span style="color:red">지난 주에서 가져온 계획</span>

<%*
function getPreviousWeek(year, week) {
    if (week === 1) {
        year -= 1;
        let lastWeekOfYear = getISOWeekNumber(new Date(year, 11, 28));
        return `${year}-W${String(lastWeekOfYear).padStart(2, '0')}`;
    } else {
        week -= 1;
        return `${year}-W${String(week).padStart(2, '0')}`;
    }
}

function getISOWeekNumber(date) {
    let day = new Date(date.getFullYear(), date.getMonth(), date.getDate());
    let dayNum = day.getDay() || 7;
    day.setDate(day.getDate() + 4 - dayNum);
    let yearStart = new Date(day.getFullYear(), 0, 1);
    return Math.ceil((((day - yearStart) / 86400000) + 1) / 7);
}

let [year, week] = tp.file.title.split("-W").map(Number);
let lastWeek = getPreviousWeek(year, week);
let lastWeekPath = "20_Planner/22_Weekly/" + lastWeek;
let section = "## 다음 주 계획";
let should_include = false;
let sectionContent = "";

let lwfile = tp.file.find_tfile(lastWeekPath);
if(lwfile) {
    const content = await app.vault.read(lwfile);
    if(content.includes(section)) {
        let startIndex = content.indexOf(section) + section.length;
        let endIndex = content.indexOf('\n##', startIndex);
        endIndex = endIndex === -1 ? content.length : endIndex;
        sectionContent = content.substring(startIndex, endIndex).trim();
        should_include = sectionContent.length > 0;
    }
}
tR += should_include ? sectionContent : "없습니다😀";
%>

## 다음 주 계획

- 

***

## 데일리 리뷰

```dataviewjs

const currentNoteTitle = dv.current().file.name;
const weekNumberMatch = currentNoteTitle.match(/(\d{4}-W\d{2})/);

if (weekNumberMatch) {
    const weekNumber = weekNumberMatch[0];
    const dailyNoteFolder = '"20_Planner/21_Daily"';
    const pages = dv.pages(dailyNoteFolder)
        .where(page => {
            const pageDate = moment(page.file.name, "YYYY-MM-DD(ddd)");
            return pageDate.isValid() && pageDate.isoWeek() === moment(weekNumber, "YYYY-[W]WW").isoWeek();
        });
	const tableData = pages.map(page => {
        const wakeup = page.wakeup || "";
        const sleep = page.sleep || "";
        const readingBook = page.reading_book || "";
        const steps = page.steps || "";
        const dailyReview = page.daily_review || "";
        const dateWithoutYear = page.file.name.slice(5);
        return [dateWithoutYear, wakeup, sleep, readingBook, steps, dailyReview];
    });
    dv.table(["날짜", "기상시간", "취침시간", "독서중인책", "걸음수", "일일리뷰"], tableData);
} else {
    dv.paragraph("이 노트의 제목에 ISO 주 정보가 포함되지 않았습니다.");
}

```

