From ca99e816e04035e804983d01da983da37545af2f Mon Sep 17 00:00:00 2001 From: "Ziqi (Adam) CHEN" <144206271+ChenziqiAdam@users.noreply.github.com> Date: Tue, 5 Aug 2025 14:32:00 +0800 Subject: [PATCH 1/3] Create daily-news-briefing --- docs/showcase/daily-news-briefing | 149 ++++++++++++++++++++++++++++++ 1 file changed, 149 insertions(+) create mode 100644 docs/showcase/daily-news-briefing diff --git a/docs/showcase/daily-news-briefing b/docs/showcase/daily-news-briefing new file mode 100644 index 0000000..040081b --- /dev/null +++ b/docs/showcase/daily-news-briefing @@ -0,0 +1,149 @@ +--- +title: Daily News Briefing +description: Get AI-powered daily news summaries directly in your Obsidian vault +sidebar_position: 5 +keywords: [obsidain-plugin, AI, Perplexity, news] +--- + +import { CheckIcon } from '@heroicons/react/24/solid' +import { Callout } from 'nextra/components' + +# Daily News Briefing + +
+
+

+ Daily News Briefing is an Obsidian plugin that delivers AI-powered news summaries directly to your vault. Stay informed about your topics of interest with smart, automated news collection and summarization. +

+
+ + + GitHub + +
+
+
+ +## Features + + + +## Prerequisites + +- Obsidian desktop app installed +- Perplexity API key +- Internet connection for fetching news articles + +## Installation + +1. Install the plugin from Obsidian Community Plugins or manually by copying the release files to your Obsidian plugins folder +2. Enable the plugin in Obsidian settings +3. Enter your Perplexity API key in the plugin settings +4. Configure your news topics and delivery preferences + +## Built with Perplexity API + + + Daily News Briefing uses the Perplexity Sonar API to deliver high-quality, personalized news summaries. By leveraging Perplexity's advanced capabilities, the plugin can intelligently gather and summarize news from across the web, ensuring you stay informed on the topics that matter most to you. + + +## How it works + +1. **Configure your interests**: Set up your preferred topics, sources, and delivery schedule in the plugin settings. + +2. **Automated collection**: The plugin uses Perplexity Sonar API to search for and gather the latest news articles related to your interests. + +3. **AI summarization**: Articles are processed and summarized using Perplexity's advanced natural language capabilities. + +4. **Delivery to your vault**: Summaries are formatted and delivered as Markdown notes directly into your Obsidian vault. + +5. **Seamless integration**: Link your news briefings with other notes in your knowledge base for a comprehensive information management system. + +## Code Explanation + +The core functionality of Daily News Briefing relies on the Perplexity Sonar API for gathering and summarizing news. Here's a key code snippet showing how we interact with the API: + +```typescript +async function fetchNewsSummaries(topics: string[]): Promise { + const summaries: NewsSummary[] = []; + + for (const topic of topics) { + try { + // Use Perplexity Sonar API to search for recent news + const newsQuery = `latest news about ${topic} in the past 24 hours`; + const searchResponse = await perplexityClient.search({ + query: newsQuery, + max_results: 5, + include_domains: userPreferences.trustedSources || [] + }); + + // Extract relevant articles + const articles = searchResponse.results; + + // Generate a concise summary using Perplexity + const summaryPrompt = `Summarize these news articles about ${topic}: ${articles.map(a => a.title).join(', ')}`; + const summaryResponse = await perplexityClient.generate({ + prompt: summaryPrompt, + model: "sonar-medium-online", + max_tokens: 500 + }); + + summaries.push({ + topic, + summary: summaryResponse.text, + sources: articles.map(a => ({ title: a.title, url: a.url })), + timestamp: new Date().toISOString() + }); + } catch (error) { + console.error(`Error fetching news for topic ${topic}:`, error); + } + } + + return summaries; +} +``` + +## Technical implementation + +Daily News Briefing is built with TypeScript and integrates with Obsidian's plugin API. The application architecture includes: + +- TypeScript-based plugin structure +- Custom CSS for styling elements +- JavaScript utilities +- Integration with Perplexity Sonar API for AI-powered news gathering and summarization + +The plugin demonstrates how Perplexity API can be leveraged to create intelligent content curation tools that integrate with existing productivity systems. + +## Limitations + +- The quality of summaries depends on the availability of recent news articles +- API rate limits may affect the number of topics that can be monitored simultaneously +- Internet connection is required for fetching news updates +- Some paywalled content may not be fully accessible for summarization + +## Links + +- [GitHub Repository](https://github.com/ChenziqiAdam/Daily-News-Briefing) From 5632731da7b126aaf5ab3f3170ea7659d8a4e89d Mon Sep 17 00:00:00 2001 From: "Ziqi (Adam) CHEN" <144206271+ChenziqiAdam@users.noreply.github.com> Date: Tue, 5 Aug 2025 14:32:21 +0800 Subject: [PATCH 2/3] Rename daily-news-briefing to daily-news-briefing.mdx --- docs/showcase/{daily-news-briefing => daily-news-briefing.mdx} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename docs/showcase/{daily-news-briefing => daily-news-briefing.mdx} (100%) diff --git a/docs/showcase/daily-news-briefing b/docs/showcase/daily-news-briefing.mdx similarity index 100% rename from docs/showcase/daily-news-briefing rename to docs/showcase/daily-news-briefing.mdx From 80e8c209aa44dcd786c712bf5dbbba5707f7a507 Mon Sep 17 00:00:00 2001 From: Kesku Date: Sun, 17 Aug 2025 17:14:44 +0100 Subject: [PATCH 3/3] Unify showcase page structure to match standard format --- docs/showcase/daily-news-briefing.mdx | 189 ++++++++++---------------- 1 file changed, 69 insertions(+), 120 deletions(-) diff --git a/docs/showcase/daily-news-briefing.mdx b/docs/showcase/daily-news-briefing.mdx index 040081b..1c38e00 100644 --- a/docs/showcase/daily-news-briefing.mdx +++ b/docs/showcase/daily-news-briefing.mdx @@ -1,149 +1,98 @@ --- -title: Daily News Briefing -description: Get AI-powered daily news summaries directly in your Obsidian vault -sidebar_position: 5 -keywords: [obsidain-plugin, AI, Perplexity, news] +title: Daily News Briefing | AI-Powered News Summaries for Obsidian +description: An Obsidian plugin that delivers AI-powered daily news summaries directly to your vault using Perplexity's Sonar API for intelligent content curation +sidebar_position: 22 +keywords: [daily-news-briefing, obsidian-plugin, AI, perplexity, news, summarization, automation] --- -import { CheckIcon } from '@heroicons/react/24/solid' -import { Callout } from 'nextra/components' - -# Daily News Briefing - -
-
-

- Daily News Briefing is an Obsidian plugin that delivers AI-powered news summaries directly to your vault. Stay informed about your topics of interest with smart, automated news collection and summarization. -

-
- - - GitHub - -
-
-
+**Daily News Briefing** is an Obsidian plugin that delivers AI-powered news summaries directly to your vault. Stay informed about your topics of interest with smart, automated news collection and summarization using Perplexity's Sonar API for intelligent content curation. + + ## Features - +* **Personalized News Collection** based on your topics of interest and preferences +* **AI-Powered Summarization** of news articles using Perplexity Sonar API +* **Automated Daily Briefings** delivered directly to your Obsidian vault +* **Customizable Delivery Schedule** and format options +* **Seamless Obsidian Integration** with your existing knowledge management workflow +* **Trusted Source Filtering** to ensure quality and reliability +* **Markdown Formatting** for easy linking and organization within your vault ## Prerequisites -- Obsidian desktop app installed -- Perplexity API key -- Internet connection for fetching news articles +* Obsidian desktop app installed +* Perplexity API key (Sonar API access) +* Internet connection for fetching news articles +* TypeScript development environment (for customization) ## Installation -1. Install the plugin from Obsidian Community Plugins or manually by copying the release files to your Obsidian plugins folder -2. Enable the plugin in Obsidian settings -3. Enter your Perplexity API key in the plugin settings -4. Configure your news topics and delivery preferences +```bash +# Clone the repository +git clone https://github.com/ChenziqiAdam/Daily-News-Briefing.git +cd Daily-News-Briefing -## Built with Perplexity API +# Install dependencies +npm install - - Daily News Briefing uses the Perplexity Sonar API to deliver high-quality, personalized news summaries. By leveraging Perplexity's advanced capabilities, the plugin can intelligently gather and summarize news from across the web, ensuring you stay informed on the topics that matter most to you. - +# Build the plugin +npm run build +``` -## How it works +## Configuration -1. **Configure your interests**: Set up your preferred topics, sources, and delivery schedule in the plugin settings. +1. **Install Plugin**: Copy the built plugin to your Obsidian plugins folder +2. **Enable Plugin**: Activate in Obsidian settings +3. **API Setup**: Enter your Perplexity API key in plugin settings +4. **Configure Topics**: Set up your news topics and delivery preferences -2. **Automated collection**: The plugin uses Perplexity Sonar API to search for and gather the latest news articles related to your interests. +## Usage -3. **AI summarization**: Articles are processed and summarized using Perplexity's advanced natural language capabilities. +1. **Configure Interests**: Set up preferred topics, sources, and delivery schedule +2. **Automated Collection**: Plugin uses Perplexity Sonar API to gather latest news +3. **AI Summarization**: Articles are processed and summarized using Perplexity's capabilities +4. **Vault Delivery**: Summaries are formatted as Markdown notes in your Obsidian vault +5. **Knowledge Integration**: Link news briefings with other notes in your knowledge base -4. **Delivery to your vault**: Summaries are formatted and delivered as Markdown notes directly into your Obsidian vault. +## Code Explanation -5. **Seamless integration**: Link your news briefings with other notes in your knowledge base for a comprehensive information management system. +* **Frontend**: TypeScript-based Obsidian plugin with custom UI components +* **AI Integration**: Perplexity Sonar API for intelligent news gathering and summarization +* **Content Processing**: Automated article extraction and summarization workflows +* **Scheduling**: Configurable delivery schedules and topic monitoring +* **Markdown Generation**: Structured content formatting for Obsidian compatibility +* **Error Handling**: Robust error management for API limits and network issues -## Code Explanation +## Technical Implementation -The core functionality of Daily News Briefing relies on the Perplexity Sonar API for gathering and summarizing news. Here's a key code snippet showing how we interact with the API: +The plugin leverages Perplexity Sonar API for: ```typescript -async function fetchNewsSummaries(topics: string[]): Promise { - const summaries: NewsSummary[] = []; - - for (const topic of topics) { - try { - // Use Perplexity Sonar API to search for recent news - const newsQuery = `latest news about ${topic} in the past 24 hours`; - const searchResponse = await perplexityClient.search({ - query: newsQuery, - max_results: 5, - include_domains: userPreferences.trustedSources || [] - }); - - // Extract relevant articles - const articles = searchResponse.results; - - // Generate a concise summary using Perplexity - const summaryPrompt = `Summarize these news articles about ${topic}: ${articles.map(a => a.title).join(', ')}`; - const summaryResponse = await perplexityClient.generate({ - prompt: summaryPrompt, - model: "sonar-medium-online", - max_tokens: 500 - }); - - summaries.push({ - topic, - summary: summaryResponse.text, - sources: articles.map(a => ({ title: a.title, url: a.url })), - timestamp: new Date().toISOString() - }); - } catch (error) { - console.error(`Error fetching news for topic ${topic}:`, error); - } - } - - return summaries; -} +// News gathering with Perplexity Sonar API +const newsQuery = `latest news about ${topic} in the past 24 hours`; +const searchResponse = await perplexityClient.search({ + query: newsQuery, + max_results: 5, + include_domains: userPreferences.trustedSources || [] +}); + +// AI-powered summarization +const summaryPrompt = `Summarize these news articles about ${topic}`; +const summaryResponse = await perplexityClient.generate({ + prompt: summaryPrompt, + model: "sonar-medium-online", + max_tokens: 500 +}); ``` -## Technical implementation - -Daily News Briefing is built with TypeScript and integrates with Obsidian's plugin API. The application architecture includes: - -- TypeScript-based plugin structure -- Custom CSS for styling elements -- JavaScript utilities -- Integration with Perplexity Sonar API for AI-powered news gathering and summarization - -The plugin demonstrates how Perplexity API can be leveraged to create intelligent content curation tools that integrate with existing productivity systems. - -## Limitations - -- The quality of summaries depends on the availability of recent news articles -- API rate limits may affect the number of topics that can be monitored simultaneously -- Internet connection is required for fetching news updates -- Some paywalled content may not be fully accessible for summarization - ## Links - [GitHub Repository](https://github.com/ChenziqiAdam/Daily-News-Briefing)