2025년, 6월 13일, 금요일
북트레싱
  • 홈
  • 세컨드 브레인
  • 책 추천
  • 책 리뷰
  • 자기계발
  • 독서 관련 팁
  • 소식&이벤트
북트레싱
  • 홈
  • 세컨드 브레인
  • 책 추천
  • 책 리뷰
  • 자기계발
  • 독서 관련 팁
  • 소식&이벤트
No Result
View All Result
북트레싱
No Result
View All Result
  • 홈
  • 세컨드 브레인
  • 책 추천
  • 책 리뷰
  • 자기계발
  • 독서 관련 팁
  • 소식&이벤트
Home 세컨드 브레인

옵시디언 주간 계획을 자동화해서 더욱 강력한 생산성 향상

북트레싱 by 북트레싱
1월 14, 2024
in 세컨드 브레인, 옵시디언
A A
0
옵시디언 주간 계획 위클리 노트

Table of Contents

  • 1. 옵시디언 주간 계획 소개
  • 2. 위클리 노트 영상
  • 3. dataview, templater 코드 공유

1 옵시디언 주간 계획 소개

안녕하세요 북트레싱입니다.
시간 관리 프로젝트 두 번째인 위클리 노트를 살펴보겠습니다.

옵시디언 주간 계획은 단순히 계획을 적어놓는 것이 아닌 옵시디언의 데이터뷰, 템플레이터 플러그인을 사용하여, 우리가 매일 쓰는 데일리 노트와 연결하여 더욱 편하게 기록하고 관리할 수 있습니다.

영상에서는 총 3개의 코드에 대한 설명을 드렸는데, 그외에도 많은 내용을 포함하였으니, 아직 영상 시청을 하지 않았다면 시청 부탁드립니다.

2 위클리 노트 영상

3 dataview, templater 코드 공유

소스 코드 #1

옵시디언 주간 계획을 자동화해서 더욱 강력한 생산성 향상

코드는 자유롭게 사용 가능하나 수정 및 재배포 시에는 출처를 남겨주시기 바랍니다.


<%*
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 = "10. Planner/12. 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 : "없습니다😀";
%>

소스 코드 #2

옵시디언 주간 계획을 자동화해서 더욱 강력한 생산성 향상

코드는 자유롭게 사용 가능하나 수정 및 재배포 시에는 출처를 남겨주시기 바랍니다.

|요일| 날짜 | 내용 |
|---|---|---|
|월|`$=moment("<% tp.file.title %>", "YYYY-[W]WW").startOf('isoWeek').format("MM-DD")`| ![[<%* const title0 = tp.file.title;    const [year0, week0] = title0.split("-W");    const mondayOfWeek = moment().isoWeekYear(year0).isoWeek(week0).startOf('isoWeek').add(0, 'days').format("YYYY-MM-DD(ddd)");    tR += mondayOfWeek; %>#^summary]] |   
|화|`$=moment("<% tp.file.title %>", "YYYY-[W]WW").startOf('isoWeek').add(1, 'days').format("MM-DD")`| ![[<%* const title1 = tp.file.title;    const [year1, week1] = title1.split("-W");    const tuesdayOfWeek = moment().isoWeekYear(year1).isoWeek(week1).startOf('isoWeek').add(1, 'days').format("YYYY-MM-DD(ddd)");    tR += tuesdayOfWeek; %>#^summary]] |   
|수|`$=moment("<% tp.file.title %>", "YYYY-[W]WW").startOf('isoWeek').add(2, 'days').format("MM-DD")`| ![[<%* const title2 = tp.file.title;    const [year2, week2] = title2.split("-W");    const wednesdayOfWeek = moment().isoWeekYear(year2).isoWeek(week2).startOf('isoWeek').add(2, 'days').format("YYYY-MM-DD(ddd)");    tR += wednesdayOfWeek; %>#^summary]] |  
|목|`$=moment("<% tp.file.title %>", "YYYY-[W]WW").startOf('isoWeek').add(3, 'days').format("MM-DD")`| ![[<%* const title3 = tp.file.title;    const [year3, week3] = title3.split("-W");    const thursdayOfWeek = moment().isoWeekYear(year3).isoWeek(week3).startOf('isoWeek').add(3, 'days').format("YYYY-MM-DD(ddd)");    tR += thursdayOfWeek; %>#^summary]] |   
|금|`$=moment("<% tp.file.title %>", "YYYY-[W]WW").startOf('isoWeek').add(4, 'days').format("MM-DD")`| ![[<%* const title4 = tp.file.title;    const [year4, week4] = title4.split("-W");    const fridayOfWeek = moment().isoWeekYear(year4).isoWeek(week4).startOf('isoWeek').add(4, 'days').format("YYYY-MM-DD(ddd)");    tR += fridayOfWeek; %>#^summary]] |   
|토|`$=moment("<% tp.file.title %>", "YYYY-[W]WW").startOf('isoWeek').add(5, 'days').format("MM-DD")`| ![[<%* const title5 = tp.file.title;    const [year5, week5] = title5.split("-W");    const saturdayOfWeek = moment().isoWeekYear(year5).isoWeek(week5).startOf('isoWeek').add(5, 'days').format("YYYY-MM-DD(ddd)");    tR += saturdayOfWeek; %>#^summary]] |   
|일|`$=moment("<% tp.file.title %>", "YYYY-[W]WW").startOf('isoWeek').add(6, 'days').format("MM-DD")`| ![[<%* const title6 = tp.file.title;    const [year6, week6] = title6.split("-W");    const sundayOfWeek = moment().isoWeekYear(year5).isoWeek(week5).startOf('isoWeek').add(6, 'days').format("YYYY-MM-DD(ddd)");    tR += sundayOfWeek; %>#^summary]] |  

소스코드 #3

옵시디언 주간 계획을 자동화해서 더욱 강력한 생산성 향상

코드는 자유롭게 사용 가능하나 수정 및 재배포 시에는 출처를 남겨주시기 바랍니다.

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

if (weekNumberMatch) {
    const weekNumber = weekNumberMatch[0];
    const dailyNoteFolder = '"10. Planner/11. Daily"';
    
    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();
        })
        .forEach(page => {
            const dailyReview = page.daily_review || "없음";
            dv.paragraph(`**${page.file.name}**: ${dailyReview}`);
        });
} else {
    dv.paragraph("이 노트의 제목에 ISO 주 정보가 포함되지 않았습니다.");
}
```
Tags: 데이터뷰 코드 소스옵시디언 위클리 노트옵시디언 자동화일정 관리
Previous Post

플러그인 중 가장 강력한 옵시디언 데이터뷰, dataview

Next Post

월간, 연간 계획 꾸준한 습관 기르기, Tracker 플러그인

관련 글 더 읽기

옵시디언 Tracker 플러그인

월간, 연간 계획 꾸준한 습관 기르기, Tracker 플러그인

by 북트레싱
1월 13, 2024
0

일간, 주간 노트에 이은 월간, 연간 노트에 관한 내용입니다. 대부분 디지털 노트를 작성하는데 하루하루 데일리 노트에만 기록을 남기곤 합니다. 하지만 삶이라는 전체적인 관점에서 하루하루를 연결시키는 부분이 정말 중요합니다. 습관 기르기...

옵시디언 콜아웃 멀티 칼럼

옵시디언 콜아웃 사용법 멀티 칼럼 모듈러 CSS 적용

by 북트레싱
2월 27, 2024
0

옵시디언 콜아웃 기능은 노트에서 강조할 부분에 적용하여 사용할 수 있습니다. 콜아웃은 텍스트 상자에 스타일을 적용하여 텍스트의 배경색, 테두리, 아이콘 또는 라벨 등을 커스터마이징하여 내용을 돋보이게 할 수 있습니다. 그리고 대시보드에...

옵시디언 미니멀 테마

옵시디언 미니멀 테마 추천, 카드뷰, 갤러리뷰

by 북트레싱
1월 29, 2024
0

옵시디언을 커스터마이징하여 사용하는 방법은 크게 두 가지가 있습니다.미리 만들어진 테마를 다운받아서 옵시디언에 적용을 하는 방법과 CSS를 사용해서 변경할 수 있는데요. CSS를 사용하는 것은 구체적으로 내가 원하는 기능을 추가할 수는 있지만...

메모 노트 분류법

메모 분류법(노트 관리)- 폴더, 태그, 메타데이터, MOC

by 북트레싱
11월 16, 2023
0

메모나 노트 작성하면 초기에는 분류의 필요성을 크게 느끼지 못하지만 노트가 계속 늘어나게 되면 어떤 내용을 저장했는지 기억하기 어려워지고 필요한 정보를 찾기 힘들어진다. 이럴 때 효과적인 메모 분류법이 중요하다.

Load More
Next Post
옵시디언 Tracker 플러그인

월간, 연간 계획 꾸준한 습관 기르기, Tracker 플러그인

옵시디언-todoist-투두이스트

옵시디언 Todoist 연동하기, 투두이스트 할 일 어플

옵시디언 미니멀 테마

옵시디언 미니멀 테마 추천, 카드뷰, 갤러리뷰

책 정보 수집 플러그인

옵시디언 책 정보 수집 플러그인, korean book info 커스텀

옵시디언 대시보드, MOC 만들기

Leave Comment

태그

node.js (2) python (2) todoist api 토큰 (1) 갤러리뷰 (1) 계획 (2) 다이어리 (1) 데일리 노트 예시 (1) 데일리 노트 코드 소스 (1) 데일리 노트 템플릿 (1) 두려움 (2) 메모 (2) 메타인지 (2) 목표 (6) 목표달성 (4) 목표설정 (3) 베스트셀러 (7) 생산성 (3) 성공 (3) 세컨드브레인 (4) 습관기르기 (2) 습관 기르기 (1) 습관끊기 (2) 습관만들기 (2) 실패 (3) 연간 계획 (1) 옵시디언 (2) 옵시디언 todoist 사용법 (1) 옵시디언 데일리 노트 (1) 옵시디언 테마 (1) 옵시디언 투두이스트 연동 (1) 옵시디언 플러그인 (2) 월간 노트 (1) 자기계발 (12) 자바스크립트 (2) 지식관리 (4) 카드뷰 (1) 템플레이터 (1) 템플릿 예시 (1) 템플릿 플러그인 (1) 투두리스트 (2) 투두이스트 api (1) 파이썬 (2) 플래너 (1) 할일 달력 (1) 행동 (2)

키워드 검색

No Result
View All Result

구독하기

  • About Us
  • Blog
  • Contact Us
  • Disclosure
  • Home
  • Privacy Policy
  • Terms Of Use

Copyright 2024. Booktracing. All rights reserved. / 상호명 : 인사이트웨이브 / 사업자등록번호 : 636-22-01756

Welcome Back!

Login to your account below

Forgotten Password?

Retrieve your password

Please enter your username or email address to reset your password.

Log In
No Result
View All Result
  • About Us
  • Blog
  • Contact Us
  • Disclosure
  • Home
  • Privacy Policy
  • Terms Of Use

Copyright 2024. Booktracing. All rights reserved. / 상호명 : 인사이트웨이브 / 사업자등록번호 : 636-22-01756

This website uses cookies. By continuing to use this website you are giving consent to cookies being used. Visit our Privacy and Cookie Policy.