github-weekly-reporter 0.3.7 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/render.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA4NpC,eAAO,MAAM,cAAc,GAAI,SAAS,OAAO,KAAG,IA+BjD,CAAC"}
1
+ {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/render.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0OpC,eAAO,MAAM,cAAc,GAAI,SAAS,OAAO,KAAG,IA+BjD,CAAC"}
@@ -7,6 +7,7 @@ import { renderIndexPage, buildReportEntry } from "../../deployer/index-page.js"
7
7
  import { getWeekId } from "../../deployer/week.js";
8
8
  import { parseLocalDate } from "../../collector/date-range.js";
9
9
  import { generateOGImage, generateIndexOGImage } from "../../renderer/og-image.js";
10
+ import { buildRSSFeed } from "../../renderer/rss.js";
10
11
  const env = (key) => process.env[key];
11
12
  const fileExists = async (path) => {
12
13
  try {
@@ -58,7 +59,8 @@ const buildReportEntries = async (dataDir, reportPaths) => {
58
59
  prs: ghData.stats.prsOpened,
59
60
  reviews: ghData.stats.prsReviewed,
60
61
  } : undefined;
61
- return buildReportEntry(path, llmData.title, llmData.subtitle, stats);
62
+ const dateTo = ghData?.dateRange?.to;
63
+ return buildReportEntry(path, llmData.title, llmData.subtitle, stats, dateTo, llmData.overview);
62
64
  }));
63
65
  return entries.filter((e) => e !== null);
64
66
  };
@@ -172,6 +174,17 @@ ${sitemapEntries}
172
174
  const sitemapPath = join(options.outputDir, "sitemap.xml");
173
175
  await writeFile(sitemapPath, sitemap, "utf-8");
174
176
  console.log(`Sitemap written to ${sitemapPath}`);
177
+ // Generate RSS feed
178
+ const rssFeed = buildRSSFeed(entries, {
179
+ title: resolvedSiteTitle,
180
+ link: base,
181
+ description: `Weekly reports by @${githubData.username}`,
182
+ language: options.language,
183
+ timezone: options.timezone,
184
+ });
185
+ const feedPath = join(options.outputDir, "feed.xml");
186
+ await writeFile(feedPath, rssFeed, "utf-8");
187
+ console.log(`RSS feed written to ${feedPath}`);
175
188
  // Generate robots.txt
176
189
  const robots = `User-agent: *\nAllow: /\nSitemap: ${base}/sitemap.xml\n`;
177
190
  const robotsPath = join(options.outputDir, "robots.txt");
@@ -191,7 +204,7 @@ export const registerRender = (program) => {
191
204
  .description("Render HTML report from fetched data and LLM content")
192
205
  .option("--data-dir <dir>", "Data directory (env: DATA_DIR, default: ./data)")
193
206
  .option("-o, --output-dir <dir>", "Output directory for HTML (env: OUTPUT_DIR, default: ./output)")
194
- .option("--base-url <url>", "Base URL for absolute links in OG tags, sitemap, canonical (env: BASE_URL)")
207
+ .option("--base-url <url>", "Base URL for absolute links in OG tags, sitemap, RSS feed, canonical (env: BASE_URL)")
195
208
  .option("--site-title <title>", "Site title for nav header (env: SITE_TITLE, default: {username}'s Weekly Reports)")
196
209
  .option("--language <lang>", "Report language: en, ja, zh-CN, zh-TW, ko, es, fr, de, pt, ru (env: LANGUAGE, default: en)")
197
210
  .option("--timezone <tz>", "IANA timezone (env: TIMEZONE, default: UTC)")
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../../../src/cli/commands/render.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../../../src/cli/commands/render.ts"],"names":[],"mappings":"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"}
@@ -15,9 +15,11 @@ export type ReportEntry = {
15
15
  year: string;
16
16
  title?: string;
17
17
  subtitle?: string;
18
+ overview?: string;
18
19
  dateLabel: string;
20
+ dateTo?: string;
19
21
  stats?: ReportEntryStats;
20
22
  };
21
23
  export declare const renderIndexPage: (reports: ReportEntry[], pageData?: IndexPageData, language?: Language, siteTitle?: string, baseUrl?: string) => string;
22
- export declare const buildReportEntry: (path: string, title?: string, subtitle?: string, stats?: ReportEntryStats) => ReportEntry;
24
+ export declare const buildReportEntry: (path: string, title?: string, subtitle?: string, stats?: ReportEntryStats, dateTo?: string, overview?: string) => ReportEntry;
23
25
  //# sourceMappingURL=index-page.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-page.d.ts","sourceRoot":"","sources":["../../src/deployer/index-page.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAIzD,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,gBAAgB,CAAC;CAC1B,CAAC;AAgCF,eAAO,MAAM,eAAe,GAC1B,SAAS,WAAW,EAAE,EACtB,WAAW,aAAa,EACxB,WAAU,QAAe,EACzB,YAAY,MAAM,EAClB,UAAU,MAAM,KACf,MA4BF,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,MAAM,MAAM,EACZ,QAAQ,MAAM,EACd,WAAW,MAAM,EACjB,QAAQ,gBAAgB,KACvB,WAQD,CAAC"}
1
+ {"version":3,"file":"index-page.d.ts","sourceRoot":"","sources":["../../src/deployer/index-page.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAIzD,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,gBAAgB,CAAC;CAC1B,CAAC;AAgCF,eAAO,MAAM,eAAe,GAC1B,SAAS,WAAW,EAAE,EACtB,WAAW,aAAa,EACxB,WAAU,QAAe,EACzB,YAAY,MAAM,EAClB,UAAU,MAAM,KACf,MA4BF,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,MAAM,MAAM,EACZ,QAAQ,MAAM,EACd,WAAW,MAAM,EACjB,QAAQ,gBAAgB,EACxB,SAAS,MAAM,EACf,WAAW,MAAM,KAChB,WAUD,CAAC"}
@@ -50,13 +50,15 @@ export const renderIndexPage = (reports, pageData, language = "en", siteTitle, b
50
50
  accentColor: "#39d353",
51
51
  });
52
52
  };
53
- export const buildReportEntry = (path, title, subtitle, stats) => ({
53
+ export const buildReportEntry = (path, title, subtitle, stats, dateTo, overview) => ({
54
54
  path,
55
55
  week: path.split("/")[1] ?? path,
56
56
  year: path.split("/")[0] ?? "",
57
57
  title,
58
58
  subtitle,
59
+ overview,
59
60
  dateLabel: weekToDateLabel(path),
61
+ dateTo,
60
62
  stats,
61
63
  });
62
64
  //# sourceMappingURL=index-page.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-page.js","sourceRoot":"","sources":["../../src/deployer/index-page.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index-page.js","sourceRoot":"","sources":["../../src/deployer/index-page.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { ReportEntry } from "../deployer/index-page.js";
2
+ export type RSSChannelOptions = {
3
+ title: string;
4
+ link: string;
5
+ description: string;
6
+ language: string;
7
+ timezone: string;
8
+ };
9
+ export declare const buildRSSFeed: (entries: ReportEntry[], channel: RSSChannelOptions) => string;
10
+ //# sourceMappingURL=rss.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rss.d.ts","sourceRoot":"","sources":["../../src/renderer/rss.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE7D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAiFF,eAAO,MAAM,YAAY,GACvB,SAAS,WAAW,EAAE,EACtB,SAAS,iBAAiB,KACzB,MAwBF,CAAC"}
@@ -0,0 +1,98 @@
1
+ // RSS 2.0 feed generator for weekly reports
2
+ const escapeXml = (text) => text
3
+ .replace(/&/g, "&amp;")
4
+ .replace(/</g, "&lt;")
5
+ .replace(/>/g, "&gt;")
6
+ .replace(/"/g, "&quot;")
7
+ .replace(/'/g, "&apos;");
8
+ // Compute the pubDate for an RSS item.
9
+ // The weekly report cron fires at local 01:00 on the day after dateRange.to
10
+ // (i.e. Monday 01:00 local time). We reconstruct that UTC instant.
11
+ const computePubDate = (dateTo, timezone) => {
12
+ const [y, m, d] = dateTo.split("-").map(Number);
13
+ // dateRange.to is Sunday. The next day (Monday) at 01:00 local time.
14
+ const mondayLocal = new Date(Date.UTC(y, m - 1, d + 1));
15
+ // Find UTC offset for the timezone at that date
16
+ const fmt = new Intl.DateTimeFormat("en-US", {
17
+ timeZone: timezone,
18
+ hourCycle: "h23",
19
+ year: "numeric",
20
+ month: "numeric",
21
+ day: "numeric",
22
+ hour: "numeric",
23
+ minute: "numeric",
24
+ });
25
+ const parts = fmt.formatToParts(mondayLocal);
26
+ const localHour = Number(parts.find((p) => p.type === "hour")?.value ?? 0);
27
+ const localMin = Number(parts.find((p) => p.type === "minute")?.value ?? 0);
28
+ const localDay = Number(parts.find((p) => p.type === "day")?.value ?? 0);
29
+ const localMonth = Number(parts.find((p) => p.type === "month")?.value ?? 0);
30
+ // mondayLocal (UTC midnight of target calendar day) maps to localHour:localMin
31
+ // in the given timezone. The offset in ms is: localTime - utcTime
32
+ const offsetMs = ((localDay === d + 1 && localMonth === m)
33
+ ? (localHour * 60 + localMin) * 60_000
34
+ : localDay > d + 1 || localMonth > m
35
+ ? (localHour * 60 + localMin) * 60_000
36
+ : -((24 * 60 - localHour * 60 - localMin) * 60_000));
37
+ // We want Monday 01:00 local = UTC midnight + (01:00 local offset in UTC)
38
+ // local 01:00 = utc + offset => utc = local 01:00 - offset
39
+ const targetUtc = new Date(mondayLocal.getTime() + 1 * 3_600_000 - offsetMs);
40
+ return targetUtc.toUTCString();
41
+ };
42
+ const buildDescription = (entry) => {
43
+ const parts = [];
44
+ if (entry.subtitle)
45
+ parts.push(entry.subtitle);
46
+ if (entry.overview)
47
+ parts.push(entry.overview);
48
+ if (entry.stats) {
49
+ const { commits, prs, reviews } = entry.stats;
50
+ parts.push(`Commits: ${commits}, PRs: ${prs}, Reviews: ${reviews}`);
51
+ }
52
+ return escapeXml(parts.join("\n\n"));
53
+ };
54
+ const buildItem = (entry, baseUrl, timezone) => {
55
+ const link = `${baseUrl}/${entry.path}/`;
56
+ const title = escapeXml(entry.title ?? entry.dateLabel);
57
+ const description = buildDescription(entry);
58
+ const ogImageUrl = `${baseUrl}/${entry.path}/og.png`;
59
+ const pubDate = entry.dateTo
60
+ ? computePubDate(entry.dateTo, timezone)
61
+ : "";
62
+ return [
63
+ " <item>",
64
+ ` <title>${title}</title>`,
65
+ ` <link>${escapeXml(link)}</link>`,
66
+ ` <guid isPermaLink="true">${escapeXml(link)}</guid>`,
67
+ ` <description>${description}</description>`,
68
+ ...(pubDate ? [` <pubDate>${pubDate}</pubDate>`] : []),
69
+ ` <enclosure url="${escapeXml(ogImageUrl)}" type="image/png" length="0" />`,
70
+ ` <media:content url="${escapeXml(ogImageUrl)}" medium="image" type="image/png" width="1200" height="630" />`,
71
+ " </item>",
72
+ ].join("\n");
73
+ };
74
+ export const buildRSSFeed = (entries, channel) => {
75
+ const sorted = [...entries].sort((a, b) => b.path.localeCompare(a.path));
76
+ const items = sorted.map((e) => buildItem(e, channel.link, channel.timezone)).join("\n");
77
+ return [
78
+ '<?xml version="1.0" encoding="UTF-8"?>',
79
+ '<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/">',
80
+ " <channel>",
81
+ ` <title>${escapeXml(channel.title)}</title>`,
82
+ ` <link>${escapeXml(channel.link)}/</link>`,
83
+ ` <description>${escapeXml(channel.description)}</description>`,
84
+ ` <language>${escapeXml(channel.language)}</language>`,
85
+ ` <atom:link href="${escapeXml(channel.link)}/feed.xml" rel="self" type="application/rss+xml" />`,
86
+ ` <image>`,
87
+ ` <url>${escapeXml(channel.link)}/og.png</url>`,
88
+ ` <title>${escapeXml(channel.title)}</title>`,
89
+ ` <link>${escapeXml(channel.link)}/</link>`,
90
+ ` <width>1200</width>`,
91
+ ` <height>630</height>`,
92
+ ` </image>`,
93
+ items,
94
+ " </channel>",
95
+ "</rss>",
96
+ ].join("\n");
97
+ };
98
+ //# sourceMappingURL=rss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rss.js","sourceRoot":"","sources":["../../src/renderer/rss.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "github-weekly-reporter",
3
- "version": "0.3.7",
3
+ "version": "0.4.0",
4
4
  "description": "Generate beautiful weekly GitHub activity reports with optional AI narratives",
5
5
  "type": "module",
6
6
  "bin": {
@@ -17,6 +17,7 @@
17
17
  <meta name="twitter:title" content="{{siteTitleInline}}" />
18
18
  <meta name="twitter:description" content="{{description}}" />
19
19
  {{#if ogImageUrl}}<meta name="twitter:image" content="{{ogImageUrl}}" />{{/if}}
20
+ {{#if baseUrl}}<link rel="alternate" type="application/rss+xml" title="RSS Feed" href="{{baseUrl}}/feed.xml" />{{/if}}
20
21
  <style>{{{css}}}</style>
21
22
  <style>
22
23
  body { background: #050505; color: #e8e8e8; overflow-x: hidden; }
@@ -25,6 +25,7 @@
25
25
  <meta property="article:author" content="https://github.com/{{username}}" />
26
26
  <link rel="icon" href="{{avatarUrl}}" />
27
27
  {{#if canonicalUrl}}<link rel="canonical" href="{{{canonicalUrl}}}" />
28
+ {{/if}}{{#if baseUrl}}<link rel="alternate" type="application/rss+xml" title="RSS Feed" href="{{{baseUrl}}}/feed.xml" />
28
29
  {{/if}}<meta name="view-transition" content="same-origin" />
29
30
  <script type="application/ld+json">
30
31
  {