Skip to content

Instantly share code, notes, and snippets.

@frankmeeuwsen
Created November 16, 2024 17:54
Show Gist options
  • Save frankmeeuwsen/174f95feb1fff4262c5f1debb28cd4ba to your computer and use it in GitHub Desktop.
Save frankmeeuwsen/174f95feb1fff4262c5f1debb28cd4ba to your computer and use it in GitHub Desktop.
Mijn Obsidian Homepage
created updated cssclasses
2024-02-18T14:09
2024-11-16T18:52
wide-page

Start hier

Mijn startpagina. De launchpad. Dit is mijn plek waar alles begint.

// Create button element first
const container = this.container;
const refreshButton = container.createEl('button', {text: '๐Ÿ”„ New Verse'});
refreshButton.addEventListener('click', async () => {
    // Clear the container except for the button
    while (container.lastChild !== refreshButton) {
        container.removeChild(container.lastChild);
    }
    await main(); // Re-run the main script
});

// Main script function
async function main() {
    let pages = dv.pages('"4 - Resources/Taoism/tao te ching"');

    if (pages.length > 0) {
        let randomPage = pages[Math.floor(Math.random() * pages.length)];
        let content = await dv.io.load(randomPage.file.path);
        
        if (content) {
            // Remove YAML frontmatter
            content = content.replace(/---[\s\S]*?---/g, '');
            
            // Split into paragraphs and clean them
            let paragraphs = content
                .split('\n\n')
                .map(p => p.trim())
                .filter(p => 
                    p !== '' && 
                    !p.startsWith('> **Note**') &&
                    !p.startsWith('> **note**')
                );
            
            if (paragraphs.length > 0) {
                let randomParagraph = paragraphs[Math.floor(Math.random() * paragraphs.length)];
                
                // Format the output
                //dv.header(3, randomPage.file.name);
                dv.paragraph("*" + randomParagraph + "*");
                dv.paragraph("๐Ÿ“– [[" + randomPage.file.name + "]]");
            } else {
                dv.paragraph("No valid paragraphs found in the selected file");
            }
        } else {
            dv.paragraph("Could not access file content");
        }
    } else {
        dv.paragraph("No pages found in the specified directory");
    }
}

// Run the main script initially
await main();

[!Multi-column]

[!important] ## Relevante jumpingpoints

  • [[Area Atlas]]
  • [[MOC Internet geschiedenis]]
  • [[MOC AI]]
  • [[MOC Big Tech]]
  • [[MOC Decentralisatie]]
  • [[MOC Notities en schrijven]]
  • [[MOC Contentstrategie]]
  • [[Overzicht van de leesmap|Je Leesmap]]
  • [[Digitale Fitheid Meetup]]
  • Heb je een minuutje? [[Healthcheck Frankopedia#Notities die nergens naar linken|Schoon wat files op!]]

[!important] ## Readwise toevoegingen

LIST
FROM "4 - Resources/Leesnotities"
WHERE file.ctime >= date(today) - dur(60 days)
LIMIT 10
sort file.mtime desc

[!Multi-column]

[!activity]+ ## Nu in de Inbox

Wat wil ik hier nog mee? Tijd om te verwerken, linken, verplaatsen, verwijderen?

TABLE WITHOUT ID
 file.link as "",
 (date(today) - file.cday).day as "Days alive"
FROM "1 - Inbox"
SORT file.cday asc

[!todo]+ ## Nog uit te werken

Wat wil ik hier nog mee? Tijd om te verwerken, linken, verplaatsen, verwijderen?

TABLE WITHOUT ID
 file.link as "",
 (date(today) - file.cday).day as "Days alive"
FROM #uitwerken OR #verwerken 
SORT file.cday desc
LIMIT 25


[!Multi-column]

[!activity]+ ## Recente updates Bestanden waar ik recent aan heb gewerkt.

$=dv.list(dv.pages('').filter(p => !p.file.path.includes("4 - Resources/Taoism/tao te ching")).sort(f=>f.file.mtime.ts,"desc").limit(25).file.link)

[!book]+ ## Leesmap Documenten die ik met Leesmap heb getagd $=dv.list(dv.pages('#leesmap').sort(f=>f.file.mtime,"asc").limit(25).file.link)

TABLE WITHOUT ID
file.link as "Lopende projecten"
FROM #project 
WHERE !contains(file.tags, "done")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment