data endpoint for entity 90008 (aka. a website)
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

fix github activity not showing commits

dawn da19da6c 9d55af51

+40 -3
+2
.agent/workflows/project-guide.md
··· 1 + 1. eunomia is the website 2 + 2. eunomia uses deno. never try to use npx or something, you can use `deno x` instead. you can also use node directly if necessary.
+1
deno.lock
··· 4 4 "npm:@darkvisitors/sdk@^1.6.0": "1.6.0", 5 5 "npm:@jsr/std__toml@1.0.11": "1.0.11", 6 6 "npm:@neodrag/svelte@^2.3.3": "2.3.3_svelte@5.46.1__acorn@8.15.0", 7 + "npm:@rowanmanning/feed-parser@*": "2.1.1", 7 8 "npm:@rowanmanning/feed-parser@^2.1.1": "2.1.1", 8 9 "npm:@skyware/bot@0.4": "0.4.0", 9 10 "npm:@sveltejs/adapter-node@^5.4.0": "5.4.0_@sveltejs+kit@2.49.4__@sveltejs+vite-plugin-svelte@6.2.4___svelte@5.46.1____acorn@8.15.0___vite@7.3.1____@types+node@25.0.6____picomatch@4.0.3___@types+node@25.0.6__svelte@5.46.1___acorn@8.15.0__typescript@5.9.3__vite@7.3.1___@types+node@25.0.6___picomatch@4.0.3__acorn@8.15.0__@types+node@25.0.6_rollup@4.53.3_@sveltejs+vite-plugin-svelte@6.2.4__svelte@5.46.1___acorn@8.15.0__vite@7.3.1___@types+node@25.0.6___picomatch@4.0.3__@types+node@25.0.6_svelte@5.46.1__acorn@8.15.0_typescript@5.9.3_vite@7.3.1__@types+node@25.0.6__picomatch@4.0.3_@types+node@25.0.6",
+37 -3
eunomia/src/lib/activity.ts
··· 107 107 continue; 108 108 // dont show activity that is just chore 109 109 if (item.content?.includes('chore')) continue; 110 - const desc = description.split('</a>').at(1) || description.split('</a>').pop() || ''; 110 + 111 + let repoName = ''; 112 + let message = ''; 113 + let link = item.url; 114 + 115 + if (source === 'github') { 116 + // try to extract repo from url 117 + // url format: https://github.com/user/repo/... 118 + try { 119 + const url = new URL(item.url || ''); 120 + const parts = url.pathname.split('/').filter(Boolean); 121 + if (parts.length >= 2) { 122 + repoName = parts[1]; // just the repo name, e.g. "eunomia" 123 + } 124 + } catch { 125 + /* empty */ 126 + } 127 + 128 + // try to extract commit message from content blockquote 129 + if (item.content) { 130 + const match = item.content.match(/<blockquote>(.*?)<\/blockquote>/s); 131 + if (match && match[1]) { 132 + message = match[1].trim(); 133 + } 134 + } 135 + } 136 + 137 + // fallback or original logic for non-github or failed parsing 138 + if (!message || !repoName) { 139 + const desc = description.split('</a>').at(1) || description.split('</a>').pop() || ''; 140 + if (!message) message = desc.replace(/^90-008 /, ''); 141 + // If we couldn't get a clean repo name, we might leave it empty or try to parse from description if needed 142 + // But for now let's stick to what we found or the original description cleanup 143 + } 144 + 111 145 results.push({ 112 146 source, 113 - description: desc.replace(/^90-008 /, ''), 114 - link: item.url, 147 + description: repoName && message ? `${repoName}: ${message}` : message, 148 + link, 115 149 date: item.published || item.updated 116 150 }); 117 151 }