this repo has no description
0
fork

Configure Feed

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

more

+34 -22
+1
.gitignore
··· 8 8 9 9 # Virtual environments 10 10 .venv 11 + free-icons
+3
brands-github.svg
··· 1 + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"> 2 + <path d="M 171.3548387096774 407.741935483871 Q 170.32258064516128 411.8709677419355 166.19354838709677 411.8709677419355 Q 160 411.8709677419355 160 407.741935483871 Q 161.03225806451613 404.64516129032256 165.16129032258064 404.64516129032256 Q 170.32258064516128 404.64516129032256 171.3548387096774 407.741935483871 L 171.3548387096774 407.741935483871 Z M 139.3548387096774 403.61290322580646 Q 138.32258064516128 406.7096774193548 143.48387096774192 408.7741935483871 Q 148.6451612903226 409.80645161290323 149.67741935483872 406.7096774193548 Q 150.70967741935485 402.5806451612903 145.5483870967742 401.5483870967742 Q 140.38709677419354 400.51612903225805 139.3548387096774 403.61290322580646 L 139.3548387096774 403.61290322580646 Z M 184.7741935483871 401.5483870967742 Q 179.61290322580646 402.5806451612903 179.61290322580646 406.7096774193548 Q 180.6451612903226 409.80645161290323 185.80645161290323 409.80645161290323 Q 190.96774193548387 407.741935483871 190.96774193548387 404.64516129032256 Q 189.93548387096774 401.5483870967742 184.7741935483871 401.5483870967742 L 184.7741935483871 401.5483870967742 Z M 252.90322580645162 6.193548387096774 Q 142.4516129032258 8.258064516129032 72.25806451612904 78.45161290322581 L 72.25806451612904 78.45161290322581 L 72.25806451612904 78.45161290322581 Q 2.064516129032258 148.6451612903226 0 258.06451612903226 Q 1.032258064516129 345.80645161290323 48.516129032258064 411.8709677419355 Q 96 477.93548387096774 175.48387096774192 504.7741935483871 Q 194.06451612903226 505.80645161290323 193.03225806451613 492.38709677419354 Q 193.03225806451613 488.258064516129 193.03225806451613 476.9032258064516 Q 193.03225806451613 453.16129032258067 193.03225806451613 429.4193548387097 Q 190.96774193548387 429.4193548387097 173.41935483870967 431.48387096774195 Q 154.83870967741936 432.51612903225805 134.19354838709677 427.35483870967744 Q 113.54838709677419 421.16129032258067 105.29032258064517 398.4516129032258 Q 105.29032258064517 396.38709677419354 97.03225806451613 381.93548387096774 Q 88.7741935483871 368.51612903225805 76.38709677419355 360.258064516129 Q 74.3225806451613 359.2258064516129 68.12903225806451 352 Q 60.903225806451616 345.80645161290323 78.45161290322581 344.7741935483871 Q 79.48387096774194 343.741935483871 92.90322580645162 348.9032258064516 Q 106.3225806451613 353.03225806451616 117.6774193548387 371.61290322580646 Q 136.25806451612902 399.48387096774195 157.93548387096774 399.48387096774195 Q 180.6451612903226 399.48387096774195 193.03225806451613 393.2903225806452 Q 197.16129032258064 368.51612903225805 209.5483870967742 358.19354838709677 Q 164.1290322580645 356.1290322580645 130.06451612903226 335.48387096774195 Q 96 315.8709677419355 93.93548387096774 243.61290322580646 Q 93.93548387096774 222.96774193548387 100.12903225806451 209.5483870967742 Q 105.29032258064517 196.1290322580645 117.6774193548387 183.74193548387098 Q 115.61290322580645 177.5483870967742 113.54838709677419 158.96774193548387 Q 111.48387096774194 140.38709677419354 120.7741935483871 113.54838709677419 Q 139.3548387096774 110.45161290322581 164.1290322580645 124.90322580645162 Q 189.93548387096774 138.32258064516128 192 141.41935483870967 Q 192 141.41935483870967 192 141.41935483870967 Q 222.96774193548387 132.1290322580645 257.03225806451616 132.1290322580645 Q 290.06451612903226 132.1290322580645 322.06451612903226 141.41935483870967 Q 322.06451612903226 140.38709677419354 335.48387096774195 132.1290322580645 Q 347.8709677419355 123.87096774193549 364.38709677419354 117.6774193548387 Q 380.9032258064516 110.45161290322581 393.2903225806452 113.54838709677419 Q 402.5806451612903 140.38709677419354 400.51612903225805 158.96774193548387 Q 398.4516129032258 177.5483870967742 395.35483870967744 183.74193548387098 Q 407.741935483871 196.1290322580645 414.96774193548384 209.5483870967742 Q 422.19354838709677 222.96774193548387 422.19354838709677 243.61290322580646 Q 421.16129032258067 293.16129032258067 404.64516129032256 316.9032258064516 Q 387.0967741935484 339.61290322580646 360.258064516129 347.8709677419355 Q 333.4193548387097 356.1290322580645 303.48387096774195 358.19354838709677 Q 320 369.5483870967742 321.03225806451616 405.6774193548387 Q 321.03225806451616 443.8709677419355 321.03225806451616 473.80645161290323 Q 321.03225806451616 487.2258064516129 321.03225806451616 492.38709677419354 Q 320 505.80645161290323 338.5806451612903 504.7741935483871 Q 417.03225806451616 477.93548387096774 464.51612903225805 411.8709677419355 Q 510.96774193548384 345.80645161290323 512 258.06451612903226 Q 510.96774193548384 185.80645161290323 476.9032258064516 129.03225806451613 Q 441.80645161290323 72.25806451612904 384 39.225806451612904 Q 325.16129032258067 7.225806451612903 252.90322580645162 6.193548387096774 L 252.90322580645162 6.193548387096774 Z M 100.12903225806451 362.3225806451613 Q 98.06451612903226 364.38709677419354 101.16129032258064 367.48387096774195 Q 104.25806451612904 370.5806451612903 106.3225806451613 368.51612903225805 Q 108.38709677419355 366.4516129032258 105.29032258064517 363.35483870967744 Q 103.2258064516129 360.258064516129 100.12903225806451 362.3225806451613 L 100.12903225806451 362.3225806451613 Z M 88.7741935483871 354.06451612903226 Q 88.7741935483871 356.1290322580645 91.87096774193549 358.19354838709677 Q 94.96774193548387 359.2258064516129 96 357.16129032258067 Q 97.03225806451613 355.0967741935484 93.93548387096774 353.03225806451616 Q 90.83870967741936 352 88.7741935483871 354.06451612903226 L 88.7741935483871 354.06451612903226 Z M 122.83870967741936 390.19354838709677 Q 120.7741935483871 393.2903225806452 123.87096774193549 397.4193548387097 Q 128 400.51612903225805 131.09677419354838 398.4516129032258 Q 132.1290322580645 395.35483870967744 129.03225806451613 391.2258064516129 Q 124.90322580645162 388.1290322580645 122.83870967741936 390.19354838709677 L 122.83870967741936 390.19354838709677 Z M 110.45161290322581 375.741935483871 Q 108.38709677419355 377.80645161290323 110.45161290322581 381.93548387096774 Q 113.54838709677419 385.03225806451616 116.64516129032258 384 Q 118.70967741935483 381.93548387096774 116.64516129032258 377.80645161290323 Q 113.54838709677419 373.6774193548387 110.45161290322581 375.741935483871 L 110.45161290322581 375.741935483871 Z" /> 3 + </svg>
+3
brands-wikipedia-w.svg
··· 1 + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"> 2 + <path d="M 512 91.6 L 512 101.2 L 512 91.6 L 512 101.2 Q 479.2 103.6 467.2 134 Q 460 150 447.2 179.6 Q 425.6 230.8 396.8 297.2 Q 368 363.6 343.2 420.4 L 332 420.4 L 332 420.4 L 266.4 266 L 266.4 266 Q 252 294 236.8 322.8 Q 211.2 372.4 187.2 420.4 Q 186.4 421.2 180.8 420.4 Q 176 420.4 175.2 420.4 Q 147.2 354.8 118.4 290 Q 88.8 223.6 60.8 157.2 Q 52.8 139.6 35.2 121.2 Q 16.8 102.8 0 102 Q 0 99.6 0 97.2 Q 0 93.2 0 90.8 L 129.6 90.8 L 129.6 90.8 L 129.6 101.2 L 129.6 101.2 Q 116.8 102 103.2 109.2 Q 90.4 116.4 94.4 129.2 Q 100 140.4 109.6 162 Q 118.4 183.6 130.4 210 Q 149.6 254.8 168 298 Q 186.4 340.4 195.2 359.6 Q 200.8 348.4 211.2 330 Q 220.8 311.6 231.2 290.8 Q 246.4 262.8 255.2 245.2 Q 248 229.2 232 193.2 Q 221.6 170 212 148.4 Q 202.4 127.6 197.6 117.2 Q 191.2 107.6 177.6 104.4 Q 164.8 101.2 152.8 102 L 152.8 90.8 L 152.8 90.8 L 266.4 90.8 L 266.4 90.8 L 266.4 101.2 L 266.4 101.2 Q 254.4 102 246.4 106.8 Q 238.4 111.6 243.2 122 Q 253.6 145.2 262.4 163.6 Q 271.2 183.6 281.6 206 Q 285.6 198 298.4 171.6 Q 311.2 146 320 125.2 Q 330.4 102 288.8 102 Q 289.6 99.6 289.6 96.4 Q 289.6 93.2 289.6 90.8 Q 314.4 90.8 341.6 90.8 Q 358.4 90.8 371.2 90.8 Q 383.2 90.8 388 90.8 L 388 101.2 L 388 101.2 Q 358.4 102.8 341.6 126.8 L 294.4 225.2 L 294.4 225.2 Q 296.8 232.4 308 257.2 Q 319.2 282 331.2 308.4 Q 337.6 323.6 343.2 335.6 Q 348 346.8 349.6 350 L 447.2 124.4 L 447.2 124.4 Q 441.6 110.8 428.8 106 Q 416.8 101.2 409.6 102 L 409.6 90.8 L 409.6 90.8 L 512 91.6 L 512 91.6 L 512 91.6 L 512 91.6 Z" /> 3 + </svg>
+27 -22
index.html
··· 203 203 204 204 .feed-item-row { 205 205 display: flex; 206 - align-items: flex-start; 206 + align-items: center; 207 207 padding: 8px 15px; 208 208 width: 100%; 209 209 overflow: hidden; ··· 214 214 display: flex; 215 215 align-items: center; 216 216 margin-right: 10px; 217 - position: sticky; 218 - top: 8px; 219 217 } 220 218 221 219 .feed-item-date { ··· 224 222 color: var(--text-muted); 225 223 min-width: 80px; 226 224 margin-right: 10px; 227 - position: sticky; 228 - top: 8px; 229 225 } 230 226 231 227 .feed-item-author { ··· 235 231 min-width: 70px; 236 232 margin-right: 15px; 237 233 white-space: nowrap; 238 - position: sticky; 239 - top: 8px; 240 234 } 241 235 242 236 .feed-item-title { ··· 259 253 flex: 1; 260 254 overflow: hidden; 261 255 white-space: nowrap; 256 + text-overflow: ellipsis; 262 257 } 263 258 264 259 .feed-item-preview { ··· 328 323 flex-wrap: wrap; 329 324 align-items: center; 330 325 gap: 8px; 331 - margin-top: 5px; 332 - padding-top: 5px; 333 - border-top: 1px dotted var(--border-color); 326 + margin-top: 3px; 334 327 } 335 328 336 - .external-link-item[title*="github.com"] { 329 + .external-link-item[data-link-type="github"] { 337 330 background-color: rgba(77, 180, 128, 0.08); 338 331 color: var(--accent-alt); 332 + display: inline-flex; 333 + align-items: center; 334 + } 335 + 336 + .external-link-item[data-link-type="wikipedia"] { 337 + background-color: rgba(77, 180, 128, 0.08); 338 + color: var(--accent-alt); 339 + display: inline-flex; 340 + align-items: center; 341 + } 342 + 343 + .external-link-item img { 344 + display: inline-block; 345 + vertical-align: middle; 346 + filter: invert(1); 339 347 } 340 348 341 349 .feed-item:hover .preview-links, ··· 860 868 entriesHTML += ` 861 869 <article id="${entry.articleId}" class="feed-item" ${dateAttr}> 862 870 <div class="feed-item-row"> 863 - <div class="feed-item-left"> 864 - <a href="${entry.link}" target="_blank" class="external-link" title="Open original post">🔗</a> 865 - </div> 866 871 <div class="feed-item-date">${formatDate(entry.published)}</div> 867 872 <div class="feed-item-author">${entry.author}</div> 868 873 <div class="feed-item-content-wrapper"> ··· 870 875 871 876 ${entry.externalLinks && entry.externalLinks.length > 0 ? ` 872 877 <div class="preview-links"> 873 - <span class="external-links-label">External links:</span> 878 + <span class="external-links-label">Links:</span> 874 879 ${entry.externalLinks.map(link => { 875 880 const url = new URL(link.url); 876 881 let displayText = url.hostname.replace('www.', ''); ··· 880 885 // Extract the parts from pathname (remove leading slash) 881 886 const parts = url.pathname.substring(1).split('/').filter(part => part); 882 887 if (parts.length >= 2) { 883 - displayText = `github:${parts[0]}/${parts[1]}`; 888 + displayText = `<img src="brands-github.svg" width="14" height="14" style="vertical-align: middle; margin-right: 4px;"> ${parts[0]}/${parts[1]}`; 884 889 } 885 890 } 886 891 ··· 889 894 const titlePart = url.pathname.split('/').pop(); 890 895 if (titlePart) { 891 896 const title = decodeURIComponent(titlePart).replace(/_/g, ' '); 892 - displayText = `wikipedia:${title}`; 897 + displayText = `<img src="brands-wikipedia-w.svg" width="14" height="14" style="vertical-align: middle; margin-right: 4px;"> ${title}`; 893 898 } 894 899 } 895 900 896 - return `<a href="${link.url}" target="_blank" class="external-link-item" title="${link.url}">${displayText}</a>`; 897 - }).join(', ')} 901 + return `<a href="${link.url}" target="_blank" class="external-link-item" title="${link.url}" data-link-type="${url.hostname.includes('github') ? 'github' : url.hostname.includes('wikipedia') ? 'wikipedia' : ''}">${displayText}</a>`; 902 + }).join(' ')} 898 903 </div> 899 904 ` : ''} 900 905 ··· 903 908 <span class="external-links-label">References:</span> 904 909 ${entry.referencesTo.map(ref => ` 905 910 <a href="${ref.link}" target="_blank" class="external-link-item" title="${ref.title} by ${ref.author}">→ ${ref.title}</a> 906 - `).join(', ')} 911 + `).join(' ')} 907 912 </div> 908 913 ` : ''} 909 914 910 915 ${entry.referencedBy && entry.referencedBy.length > 0 ? ` 911 916 <div class="preview-references"> 912 - <span class="external-links-label">Referenced by:</span> 917 + <span class="external-links-label">Cited by:</span> 913 918 ${entry.referencedBy.map(ref => ` 914 919 <a href="${ref.link}" target="_blank" class="external-link-item" title="${ref.title} by ${ref.author}">← ${ref.title}</a> 915 - `).join(', ')} 920 + `).join(' ')} 916 921 </div> 917 922 ` : ''} 918 923 </div>