<%* /* ========================================== ๐ŸŒฟ STUDY NOOK โ€” NEW STUDY SESSION ๐Ÿ“– Cozy Academic Journal ========================================== */

// ๐ŸŒธ STEP 1 โ€” Choose a class

const classes = [ "Calculus III", "Statics", "Statistics", "MATLAB", "ME 287 Design", "Other" ];

const studyClass = await tp.system.suggester( classes, classes, false, "๐Ÿ“š What did you study?" );

if (!studyClass) { new Notice("๐ŸŒฑ Study session cancelled."); return; }

// โ˜• STEP 2 โ€” Enter study duration

const minutesInput = await tp.system.prompt( "โ˜• How many minutes did you study?", "25" );

if (minutesInput === null) { new Notice("Study session cancelled."); return; }

const minutes = Number(minutesInput);

if (!Number.isFinite(minutes) || minutes โ‰ค 0) { new Notice("Please enter a positive number of minutes."); return; }

// ๐ŸŒท STEP 3 โ€” Record an accomplishment

const accomplishment = await tp.system.prompt( "๐ŸŒธ What did you accomplish today?", "" );

if (accomplishment === null) { new Notice("Study session cancelled."); return; }

// ๐Ÿ•ฏ๏ธ STEP 4 โ€” Generate dates and pretty filename

const date = tp.date.now("YYYY-MM-DD"); const prettyDate = tp.date.now("MMMM D, YYYY"); const time = tp.date.now("HH:mm");

const folder = "study nook/School/Study Sessions"; const baseName = ๐ŸŒฟ ${studyClass} โ€” ${prettyDate};

let sessionName = baseName; let sessionNumber = 2;

// ๐ŸŒธ Automatically number multiple sessions // for the same class on the same day.

while ( app.vault.getAbstractFileByPath( ${folder}/${sessionName}.md ) ) { sessionName = ${baseName} (Session ${sessionNumber}); sessionNumber++; }

// ๐Ÿ“‚ STEP 5 โ€” Save in our Study Nook folder

await tp.file.move( ${folder}/${sessionName} );

// ๐Ÿ“œ STEP 6 โ€” Create journal entry

const yamlClass = JSON.stringify(studyClass); const yamlAccomplishment = JSON.stringify(accomplishment || "");

const journalText = `โ€” type: study-session date: ${date} time: "${time}" class: ${yamlClass} minutes: ${minutes} accomplishment: ${yamlAccomplishment}

๐Ÿ“œ ${studyClass} โ€” ${prettyDate}

โ˜• Today's Study Session

A little progress is still progress. ๐ŸŒฟ

๐ŸŒธ What I Accomplished

${accomplishment || "A little studying today!"}

๐Ÿ•ฏ๏ธ Session Length: ${minutes} minutes


Another little page in my study journal. ๐Ÿ“œ๐ŸŒท `;

// ๐ŸŒฟ STEP 7 โ€” Write the completed entry

tR = journalText.trimStart();

new Notice("๐ŸŒธ Study session added to your journal!"); %>

Built with LogoFlowershow