Atom feed for our EEG site

more

+3
brands-bluesky.svg
···
···
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
+
<path d="M 362.6666666666667 286.6666666666667 Q 361.77777777777777 286.6666666666667 361.77777777777777 286.6666666666667 L 361.77777777777777 286.6666666666667 L 361.77777777777777 286.6666666666667 Q 357.3333333333333 285.77777777777777 353.77777777777777 284.8888888888889 Q 356.44444444444446 285.77777777777777 358.22222222222223 285.77777777777777 Q 360 285.77777777777777 362.6666666666667 286.6666666666667 L 362.6666666666667 286.6666666666667 Z M 256 226.22222222222223 Q 237.33333333333334 189.77777777777777 196.44444444444446 140 L 196.44444444444446 140 L 196.44444444444446 140 Q 156.44444444444446 89.33333333333333 111.11111111111111 55.55555555555556 Q 69.33333333333333 27.11111111111111 48.888888888888886 25.333333333333332 Q 29.333333333333332 22.666666666666668 19.555555555555557 29.77777777777778 Q 7.111111111111111 36 3.5555555555555554 50.22222222222222 Q 0 64.44444444444444 0 76 Q 0 85.77777777777777 2.6666666666666665 115.11111111111111 Q 4.444444444444445 144.44444444444446 7.111111111111111 173.77777777777777 Q 10.666666666666666 204 13.333333333333334 214.66666666666666 Q 27.555555555555557 258.22222222222223 66.66666666666667 275.1111111111111 Q 104.88888888888889 291.1111111111111 149.33333333333334 286.6666666666667 Q 152 285.77777777777777 154.66666666666666 285.77777777777777 Q 156.44444444444446 285.77777777777777 158.22222222222223 284.8888888888889 Q 153.77777777777777 285.77777777777777 149.33333333333334 286.6666666666667 Q 106.66666666666667 292 75.55555555555556 307.1111111111111 Q 44.44444444444444 322.22222222222223 42.666666666666664 352.44444444444446 Q 41.77777777777778 383.55555555555554 88.88888888888889 437.77777777777777 Q 142.22222222222223 489.3333333333333 175.11111111111111 477.77777777777777 Q 208 466.22222222222223 227.55555555555554 424.44444444444446 Q 246.22222222222223 383.55555555555554 256 346.22222222222223 Q 256 346.22222222222223 256 345.3333333333333 Q 258.6666666666667 353.3333333333333 261.3333333333333 363.1111111111111 Q 270.22222222222223 399.55555555555554 286.22222222222223 435.1111111111111 Q 303.1111111111111 469.77777777777777 334.22222222222223 476.8888888888889 Q 366.22222222222223 484 421.3333333333333 437.77777777777777 Q 464.8888888888889 391.55555555555554 464.8888888888889 360.44444444444446 Q 464 328.44444444444446 434.6666666666667 310.6666666666667 Q 405.3333333333333 292 362.6666666666667 286.6666666666667 Q 361.77777777777777 286.6666666666667 361.77777777777777 285.77777777777777 Q 357.3333333333333 285.77777777777777 353.77777777777777 284.8888888888889 Q 356.44444444444446 285.77777777777777 358.22222222222223 285.77777777777777 Q 360 285.77777777777777 362.6666666666667 286.6666666666667 Q 407.1111111111111 291.1111111111111 445.3333333333333 275.1111111111111 Q 484.44444444444446 258.22222222222223 498.6666666666667 214.66666666666666 Q 501.3333333333333 204 504.8888888888889 173.77777777777777 Q 507.55555555555554 144.44444444444446 509.3333333333333 115.11111111111111 Q 512 85.77777777777777 512 76 Q 512 64.44444444444444 508.44444444444446 50.22222222222222 Q 504.8888888888889 36 492.44444444444446 29.77777777777778 Q 483.55555555555554 23.555555555555557 463.1111111111111 25.333333333333332 Q 442.6666666666667 27.11111111111111 400.8888888888889 55.55555555555556 Q 355.55555555555554 89.33333333333333 315.55555555555554 140 Q 274.6666666666667 189.77777777777777 256 226.22222222222223 L 256 226.22222222222223 Z" />
+
</svg>
+3
brands-dev.svg
···
···
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
+
<path d="M 137.14285714285714 201.14285714285714 Q 130.28571428571428 196.57142857142858 123.42857142857143 196.57142857142858 L 104 196.57142857142858 L 104 196.57142857142858 L 104 315.42857142857144 L 104 315.42857142857144 L 123.42857142857143 315.42857142857144 L 123.42857142857143 315.42857142857144 Q 130.28571428571428 315.42857142857144 137.14285714285714 310.85714285714283 Q 144 306.2857142857143 144 296 L 144 216 L 144 216 Q 144 206.85714285714286 137.14285714285714 201.14285714285714 L 137.14285714285714 201.14285714285714 Z M 461.7142857142857 0 L 50.285714285714285 0 L 461.7142857142857 0 L 50.285714285714285 0 Q 28.571428571428573 0 14.857142857142858 14.857142857142858 Q 1.1428571428571428 28.571428571428573 0 50.285714285714285 L 0 461.7142857142857 L 0 461.7142857142857 Q 1.1428571428571428 483.42857142857144 14.857142857142858 497.14285714285717 Q 28.571428571428573 512 50.285714285714285 512 L 461.7142857142857 512 L 461.7142857142857 512 Q 483.42857142857144 512 497.14285714285717 497.14285714285717 Q 510.85714285714283 483.42857142857144 512 461.7142857142857 L 512 50.285714285714285 L 512 50.285714285714285 Q 510.85714285714283 28.571428571428573 497.14285714285717 14.857142857142858 Q 483.42857142857144 0 461.7142857142857 0 L 461.7142857142857 0 Z M 176 296 Q 177.14285714285714 313.14285714285717 164.57142857142858 331.42857142857144 L 164.57142857142858 331.42857142857144 L 164.57142857142858 331.42857142857144 Q 152 348.57142857142856 121.14285714285714 349.7142857142857 L 67.42857142857143 349.7142857142857 L 67.42857142857143 349.7142857142857 L 67.42857142857143 161.14285714285714 L 67.42857142857143 161.14285714285714 L 122.28571428571429 161.14285714285714 L 122.28571428571429 161.14285714285714 Q 152 162.28571428571428 164.57142857142858 180.57142857142858 Q 177.14285714285714 197.71428571428572 176 214.85714285714286 L 176 296 L 176 296 Z M 291.42857142857144 195.42857142857142 L 230.85714285714286 195.42857142857142 L 291.42857142857144 195.42857142857142 L 230.85714285714286 195.42857142857142 L 230.85714285714286 238.85714285714286 L 230.85714285714286 238.85714285714286 L 267.42857142857144 238.85714285714286 L 267.42857142857144 238.85714285714286 L 267.42857142857144 273.14285714285717 L 267.42857142857144 273.14285714285717 L 230.85714285714286 273.14285714285717 L 230.85714285714286 273.14285714285717 L 230.85714285714286 316.57142857142856 L 230.85714285714286 316.57142857142856 L 291.42857142857144 316.57142857142856 L 291.42857142857144 316.57142857142856 L 291.42857142857144 350.85714285714283 L 291.42857142857144 350.85714285714283 L 220.57142857142858 350.85714285714283 L 220.57142857142858 350.85714285714283 Q 198.85714285714286 348.57142857142856 196.57142857142858 328 L 196.57142857142858 185.14285714285714 L 196.57142857142858 185.14285714285714 Q 197.71428571428572 163.42857142857142 219.42857142857142 161.14285714285714 L 291.42857142857144 161.14285714285714 L 291.42857142857144 161.14285714285714 L 291.42857142857144 195.42857142857142 L 291.42857142857144 195.42857142857142 Z M 410.2857142857143 326.85714285714283 Q 397.7142857142857 352 381.7142857142857 350.85714285714283 L 381.7142857142857 350.85714285714283 L 381.7142857142857 350.85714285714283 Q 365.7142857142857 348.57142857142856 355.42857142857144 326.85714285714283 L 312 161.14285714285714 L 312 161.14285714285714 L 348.57142857142856 161.14285714285714 L 348.57142857142856 161.14285714285714 L 382.85714285714283 291.42857142857144 L 382.85714285714283 291.42857142857144 L 416 161.14285714285714 L 416 161.14285714285714 L 453.7142857142857 161.14285714285714 L 453.7142857142857 161.14285714285714 L 410.2857142857143 326.85714285714283 L 410.2857142857143 326.85714285714283 Z" />
+
</svg>
+3
brands-hacker-news.svg
···
···
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
+
<path d="M 0 0 L 0 512 L 0 0 L 0 512 L 512 512 L 512 512 L 512 0 L 512 0 L 0 0 L 0 0 Z M 24 225.14285714285714 L 24 225.14285714285714 L 24 225.14285714285714 L 24 225.14285714285714 Q 24 225.14285714285714 24 225.14285714285714 Q 24 225.14285714285714 24 225.14285714285714 Q 24 225.14285714285714 24 225.14285714285714 L 24 225.14285714285714 Z M 273.14285714285717 286.85714285714283 L 273.14285714285717 402.2857142857143 L 273.14285714285717 286.85714285714283 L 273.14285714285717 402.2857142857143 L 237.71428571428572 402.2857142857143 L 237.71428571428572 402.2857142857143 L 237.71428571428572 284.57142857142856 L 237.71428571428572 284.57142857142856 L 146.28571428571428 109.71428571428571 L 146.28571428571428 109.71428571428571 L 188.57142857142858 109.71428571428571 L 188.57142857142858 109.71428571428571 Q 222.85714285714286 173.71428571428572 235.42857142857142 200 Q 246.85714285714286 226.28571428571428 250.28571428571428 237.71428571428572 Q 253.71428571428572 244.57142857142858 257.14285714285717 253.71428571428572 Q 261.7142857142857 242.28571428571428 265.14285714285717 233.14285714285714 Q 268.57142857142856 222.85714285714286 280 197.71428571428572 Q 292.57142857142856 172.57142857142858 325.7142857142857 109.71428571428571 L 365.7142857142857 109.71428571428571 L 365.7142857142857 109.71428571428571 L 273.14285714285717 286.85714285714283 L 273.14285714285717 286.85714285714283 Z" />
+
</svg>
+3
brands-linkedin.svg
···
···
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
+
<path d="M 475.42857142857144 0 L 36.57142857142857 0 L 475.42857142857144 0 L 36.57142857142857 0 Q 20.571428571428573 0 10.285714285714286 10.285714285714286 Q 0 21.714285714285715 0 36.57142857142857 L 0 475.42857142857144 L 0 475.42857142857144 Q 0 490.2857142857143 10.285714285714286 501.7142857142857 Q 20.571428571428573 512 36.57142857142857 512 L 475.42857142857144 512 L 475.42857142857144 512 Q 491.42857142857144 512 501.7142857142857 501.7142857142857 Q 512 490.2857142857143 512 475.42857142857144 L 512 36.57142857142857 L 512 36.57142857142857 Q 512 21.714285714285715 501.7142857142857 10.285714285714286 Q 491.42857142857144 0 475.42857142857144 0 L 475.42857142857144 0 Z M 154.28571428571428 438.85714285714283 L 78.85714285714286 438.85714285714283 L 154.28571428571428 438.85714285714283 L 78.85714285714286 438.85714285714283 L 78.85714285714286 194.28571428571428 L 78.85714285714286 194.28571428571428 L 155.42857142857142 194.28571428571428 L 155.42857142857142 194.28571428571428 L 155.42857142857142 438.85714285714283 L 154.28571428571428 438.85714285714283 Z M 116.57142857142857 161.14285714285714 Q 98.28571428571429 161.14285714285714 85.71428571428571 148.57142857142858 L 85.71428571428571 148.57142857142858 L 85.71428571428571 148.57142857142858 Q 73.14285714285714 136 73.14285714285714 117.71428571428571 Q 73.14285714285714 98.28571428571429 85.71428571428571 85.71428571428571 Q 98.28571428571429 73.14285714285714 116.57142857142857 73.14285714285714 Q 136 73.14285714285714 147.42857142857142 85.71428571428571 Q 160 98.28571428571429 161.14285714285714 117.71428571428571 Q 160 136 147.42857142857142 148.57142857142858 Q 136 161.14285714285714 116.57142857142857 161.14285714285714 L 116.57142857142857 161.14285714285714 Z M 438.85714285714283 438.85714285714283 L 363.42857142857144 438.85714285714283 L 438.85714285714283 438.85714285714283 L 363.42857142857144 438.85714285714283 L 363.42857142857144 320 L 363.42857142857144 320 Q 364.57142857142856 297.14285714285717 357.7142857142857 276.57142857142856 Q 352 257.14285714285717 323.42857142857144 254.85714285714286 Q 294.85714285714283 256 285.7142857142857 274.2857142857143 Q 277.7142857142857 292.57142857142856 278.85714285714283 317.7142857142857 L 278.85714285714283 438.85714285714283 L 278.85714285714283 438.85714285714283 L 202.28571428571428 438.85714285714283 L 202.28571428571428 438.85714285714283 L 202.28571428571428 194.28571428571428 L 202.28571428571428 194.28571428571428 L 275.42857142857144 194.28571428571428 L 275.42857142857144 194.28571428571428 L 275.42857142857144 227.42857142857142 L 275.42857142857144 227.42857142857142 L 276.57142857142856 227.42857142857142 L 276.57142857142856 227.42857142857142 Q 283.42857142857144 212.57142857142858 301.7142857142857 201.14285714285714 Q 320 188.57142857142858 348.57142857142856 188.57142857142858 Q 404.57142857142856 189.71428571428572 422.85714285714283 221.71428571428572 Q 441.14285714285717 254.85714285714286 438.85714285714283 305.14285714285717 L 438.85714285714283 438.85714285714283 L 438.85714285714283 438.85714285714283 Z" />
+
</svg>
+3
brands-medium.svg
···
···
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
+
<path d="M 144.8 110.4 Q 83.2 112 42.4 152.8 L 42.4 152.8 L 42.4 152.8 Q 1.6 194.4 0 256 Q 1.6 317.6 42.4 359.2 Q 83.2 400 144.8 401.6 Q 205.6 400 246.4 359.2 Q 287.2 317.6 288.8 256 Q 287.2 194.4 246.4 152.8 Q 205.6 112 144.8 110.4 L 144.8 110.4 Z M 375.2 119.2 Q 344 120.8 324 159.2 L 324 159.2 L 324 159.2 Q 303.2 197.6 303.2 256 Q 303.2 314.4 324 352.8 Q 344 391.2 375.2 392.8 Q 405.6 391.2 426.4 352.8 Q 446.4 314.4 447.2 256 L 447.2 256 L 447.2 256 Q 446.4 197.6 426.4 159.2 Q 405.6 120.8 375.2 119.2 L 375.2 119.2 Z M 486.4 133.6 Q 476 134.4 468.8 169.6 L 468.8 169.6 L 468.8 169.6 Q 461.6 204 461.6 256 Q 461.6 308 468.8 342.4 Q 476 377.6 486.4 378.4 Q 497.6 377.6 504.8 342.4 Q 512 308 512 256 Q 512 204 504.8 169.6 Q 497.6 134.4 486.4 133.6 L 486.4 133.6 Z" />
+
</svg>
+3
brands-reddit.svg
···
···
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
+
<path d="M 0 256 Q 1 184 35 127 L 35 127 L 35 127 Q 69 69 127 35 L 127 35 L 127 35 Q 184 1 256 0 Q 328 1 385 35 Q 443 69 477 127 Q 511 184 512 256 Q 511 328 477 385 Q 443 443 385 477 Q 328 511 256 512 L 37 512 L 37 512 Q 27 511 23 503 Q 19 494 26 486 L 75 437 L 75 437 Q 40 402 20 356 Q 0 309 0 256 L 0 256 Z M 350 154 Q 368 153 380 141 L 380 141 L 380 141 Q 392 129 392 111 Q 392 93 380 81 Q 368 69 350 68 Q 334 69 322 78 Q 311 87 308 102 Q 281 106 264 125 Q 247 143 246 171 L 246 171 L 246 171 Q 189 174 147 200 Q 132 188 111 187 Q 86 188 69 205 Q 52 222 51 247 Q 53 285 86 301 Q 89 355 137 390 Q 185 425 256 427 Q 328 425 376 390 Q 424 355 427 301 Q 459 285 461 247 Q 460 222 443 205 Q 426 188 401 187 Q 380 188 365 200 Q 322 174 265 171 L 265 171 L 265 171 Q 265 151 277 137 Q 289 124 308 121 L 308 121 L 308 121 Q 312 135 323 144 Q 334 153 350 153 L 350 154 Z M 177 247 Q 190 247 198 258 L 198 258 L 198 258 Q 206 270 206 286 Q 202 317 175 316 Q 162 316 153 309 Q 145 301 145 285 Q 146 269 155 258 Q 164 247 177 247 L 177 247 Z M 367 285 Q 368 301 359 309 L 359 309 L 359 309 Q 350 316 337 316 Q 310 317 307 286 Q 306 269 314 258 Q 322 247 335 247 Q 348 247 357 258 Q 366 268 367 285 L 367 285 Z M 319 342 Q 311 361 294 372 L 294 372 L 294 372 Q 278 383 256 384 Q 234 383 218 372 Q 201 361 193 342 Q 192 337 197 335 Q 225 333 256 333 Q 287 333 315 335 Q 320 337 319 342 L 319 342 Z" />
+
</svg>
+3
brands-stack-overflow.svg
···
···
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
+
<path d="M 369.14285714285717 318.85714285714283 L 145.14285714285714 272 L 369.14285714285717 318.85714285714283 L 145.14285714285714 272 L 136 316.57142857142856 L 136 316.57142857142856 L 360 363.42857142857144 L 369.14285714285717 318.85714285714283 Z M 427.42857142857144 219.42857142857142 L 251.42857142857142 73.14285714285714 L 427.42857142857144 219.42857142857142 L 251.42857142857142 73.14285714285714 L 222.85714285714286 108.57142857142857 L 222.85714285714286 108.57142857142857 L 397.7142857142857 254.85714285714286 L 427.42857142857144 219.42857142857142 Z M 392 265.14285714285717 L 184 168 L 392 265.14285714285717 L 184 168 L 165.71428571428572 210.28571428571428 L 165.71428571428572 210.28571428571428 L 372.57142857142856 306.2857142857143 L 392 265.14285714285717 Z M 336 0 L 299.42857142857144 27.428571428571427 L 336 0 L 299.42857142857144 27.428571428571427 L 435.42857142857144 210.28571428571428 L 435.42857142857144 210.28571428571428 L 472 182.85714285714286 L 336 0 Z M 360 374.85714285714283 L 131.42857142857142 374.85714285714283 L 360 374.85714285714283 L 131.42857142857142 374.85714285714283 L 131.42857142857142 420.57142857142856 L 131.42857142857142 420.57142857142856 L 360 420.57142857142856 L 360 374.85714285714283 Z M 404.57142857142856 466.2857142857143 L 85.71428571428571 466.2857142857143 L 404.57142857142856 466.2857142857143 L 85.71428571428571 466.2857142857143 L 85.71428571428571 329.14285714285717 L 85.71428571428571 329.14285714285717 L 40 329.14285714285717 L 40 329.14285714285717 L 40 512 L 40 512 L 450.2857142857143 512 L 450.2857142857143 512 L 450.2857142857143 329.14285714285717 L 450.2857142857143 329.14285714285717 L 404.57142857142856 329.14285714285717 L 404.57142857142856 466.2857142857143 Z" />
+
</svg>
+3
brands-x-twitter.svg
···
···
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
+
<path d="M 402.9217391304348 24.48695652173913 L 481.9478260869565 24.48695652173913 L 402.9217391304348 24.48695652173913 L 481.9478260869565 24.48695652173913 L 310.53913043478263 220.38260869565218 L 310.53913043478263 220.38260869565218 L 512 487.5130434782609 L 512 487.5130434782609 L 353.9478260869565 487.5130434782609 L 353.9478260869565 487.5130434782609 L 230.4 326.1217391304348 L 230.4 326.1217391304348 L 89.04347826086956 487.5130434782609 L 89.04347826086956 487.5130434782609 L 10.017391304347827 487.5130434782609 L 10.017391304347827 487.5130434782609 L 193.6695652173913 278.2608695652174 L 193.6695652173913 278.2608695652174 L 0 24.48695652173913 L 0 24.48695652173913 L 161.3913043478261 24.48695652173913 L 161.3913043478261 24.48695652173913 L 273.8086956521739 172.52173913043478 L 273.8086956521739 172.52173913043478 L 402.9217391304348 24.48695652173913 L 402.9217391304348 24.48695652173913 Z M 375.09565217391304 440.76521739130436 L 419.61739130434785 440.76521739130436 L 375.09565217391304 440.76521739130436 L 419.61739130434785 440.76521739130436 L 138.01739130434783 69.00869565217391 L 138.01739130434783 69.00869565217391 L 91.2695652173913 69.00869565217391 L 91.2695652173913 69.00869565217391 L 375.09565217391304 440.76521739130436 L 375.09565217391304 440.76521739130436 Z" />
+
</svg>
+3
brands-youtube.svg
···
···
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
+
<path d="M 501.68498168498166 132.21978021978023 Q 490.43223443223445 97.52380952380952 455.7362637362637 86.27106227106228 Q 433.2307692307692 81.58241758241758 386.34432234432234 78.76923076923077 Q 339.45787545787545 76.89377289377289 299.13553113553115 75.95604395604396 Q 258.8131868131868 75.95604395604396 256 75.95604395604396 Q 253.1868131868132 75.95604395604396 212.86446886446888 75.95604395604396 Q 172.54212454212455 76.89377289377289 125.65567765567765 78.76923076923077 Q 78.76923076923077 81.58241758241758 56.26373626373626 86.27106227106228 Q 21.56776556776557 97.52380952380952 10.315018315018316 132.21978021978023 Q 5.626373626373627 153.78754578754578 2.8131868131868134 181.91941391941393 Q 0.9377289377289377 210.98901098901098 0 233.4945054945055 Q 0 255.06227106227107 0 256 Q 0 257.87545787545787 0 279.4432234432234 Q 0.9377289377289377 301.94871794871796 2.8131868131868134 330.0805860805861 Q 5.626373626373627 359.1501831501831 10.315018315018316 380.71794871794873 Q 21.56776556776557 415.4139194139194 56.26373626373626 425.72893772893775 Q 78.76923076923077 430.4175824175824 125.65567765567765 433.2307692307692 Q 172.54212454212455 435.1062271062271 212.86446886446888 436.04395604395603 Q 253.1868131868132 436.04395604395603 256 436.04395604395603 Q 256 436.04395604395603 256 436.04395604395603 Q 258.8131868131868 436.04395604395603 299.13553113553115 436.04395604395603 Q 339.45787545787545 435.1062271062271 386.34432234432234 433.2307692307692 Q 433.2307692307692 430.4175824175824 455.7362637362637 425.72893772893775 Q 490.43223443223445 415.4139194139194 501.68498168498166 380.71794871794873 Q 506.3736263736264 359.1501831501831 509.1868131868132 330.0805860805861 Q 511.06227106227107 301.94871794871796 512 279.4432234432234 Q 512 257.87545787545787 512 256 Q 512 255.06227106227107 512 233.4945054945055 Q 511.06227106227107 210.98901098901098 509.1868131868132 181.91941391941393 Q 506.3736263736264 153.78754578754578 501.68498168498166 132.21978021978023 L 501.68498168498166 132.21978021978023 Z M 203.48717948717947 332.8937728937729 L 203.48717948717947 180.04395604395606 L 203.48717948717947 332.8937728937729 L 203.48717948717947 180.04395604395606 L 337.5824175824176 256 L 337.5824175824176 256 L 203.48717948717947 332.8937728937729 L 203.48717948717947 332.8937728937729 Z" />
+
</svg>
+121 -13
index.html
···
margin-top: 3px;
}
-
.external-link-item[data-link-type="github"] {
background-color: rgba(77, 180, 128, 0.08);
color: var(--accent-alt);
display: inline-flex;
align-items: center;
}
-
.external-link-item[data-link-type="wikipedia"] {
-
background-color: rgba(77, 180, 128, 0.08);
-
color: var(--accent-alt);
-
display: inline-flex;
-
align-items: center;
-
}
.external-link-item img {
display: inline-block;
···
${entry.externalLinks && entry.externalLinks.length > 0 ? `
<div class="preview-links">
-
<span class="external-links-label">Links:</span>
-
${entry.externalLinks.map(link => {
const url = new URL(link.url);
let displayText = url.hostname.replace('www.', '');
···
}
// Special handling for Wikipedia links
-
if (url.hostname === 'en.wikipedia.org' || url.hostname === 'wikipedia.org' || url.hostname.endsWith('.wikipedia.org')) {
const titlePart = url.pathname.split('/').pop();
if (titlePart) {
const title = decodeURIComponent(titlePart).replace(/_/g, ' ');
···
}
}
-
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>`;
}).join(' ')}
</div>
` : ''}
${entry.referencesTo && entry.referencesTo.length > 0 ? `
<div class="preview-references">
-
<span class="external-links-label">References:</span>
${entry.referencesTo.map(ref => `
<a href="${ref.link}" target="_blank" class="external-link-item" title="${ref.title} by ${ref.author}">→ ${ref.title}</a>
`).join(' ')}
···
${entry.referencedBy && entry.referencedBy.length > 0 ? `
<div class="preview-references">
-
<span class="external-links-label">Cited by:</span>
${entry.referencedBy.map(ref => `
<a href="${ref.link}" target="_blank" class="external-link-item" title="${ref.title} by ${ref.author}">← ${ref.title}</a>
`).join(' ')}
···
margin-top: 3px;
}
+
/* Common styles for all platform links */
+
.external-link-item[data-link-type] {
background-color: rgba(77, 180, 128, 0.08);
color: var(--accent-alt);
display: inline-flex;
align-items: center;
}
+
/* Platform-specific styling can be added here in the future if needed */
.external-link-item img {
display: inline-block;
···
${entry.externalLinks && entry.externalLinks.length > 0 ? `
<div class="preview-links">
+
${Array.from(new Set(entry.externalLinks.map(link => link.url))).map(uniqueUrl => {
+
// Find the first link object with this URL
+
const link = entry.externalLinks.find(l => l.url === uniqueUrl);
const url = new URL(link.url);
let displayText = url.hostname.replace('www.', '');
···
}
// Special handling for Wikipedia links
+
else if (url.hostname === 'en.wikipedia.org' || url.hostname === 'wikipedia.org' || url.hostname.endsWith('.wikipedia.org')) {
const titlePart = url.pathname.split('/').pop();
if (titlePart) {
const title = decodeURIComponent(titlePart).replace(/_/g, ' ');
···
}
}
+
// Special handling for Twitter/X links
+
else if (url.hostname === 'twitter.com' || url.hostname === 'x.com') {
+
const parts = url.pathname.substring(1).split('/').filter(part => part);
+
if (parts.length >= 1) {
+
displayText = `<img src="brands-x-twitter.svg" width="14" height="14" style="vertical-align: middle; margin-right: 4px;"> @${parts[0]}`;
+
}
+
}
+
+
// Special handling for LinkedIn links
+
else if (url.hostname === 'linkedin.com' || url.hostname.includes('linkedin.com')) {
+
const parts = url.pathname.substring(1).split('/').filter(part => part);
+
displayText = `<img src="brands-linkedin.svg" width="14" height="14" style="vertical-align: middle; margin-right: 4px;"> LinkedIn`;
+
if (parts.length >= 2 && parts[0] === 'in') {
+
displayText = `<img src="brands-linkedin.svg" width="14" height="14" style="vertical-align: middle; margin-right: 4px;"> ${parts[1]}`;
+
}
+
}
+
+
// Special handling for YouTube links
+
else if (url.hostname.includes('youtube.com') || url.hostname === 'youtu.be') {
+
displayText = `<img src="brands-youtube.svg" width="14" height="14" style="vertical-align: middle; margin-right: 4px;"> YouTube`;
+
// Try to get video title from URL parameters
+
const videoId = url.searchParams.get('v');
+
if (url.pathname.includes('watch') && videoId) {
+
displayText = `<img src="brands-youtube.svg" width="14" height="14" style="vertical-align: middle; margin-right: 4px;"> Video`;
+
}
+
}
+
+
// Special handling for Medium links
+
else if (url.hostname.includes('medium.com')) {
+
const parts = url.pathname.substring(1).split('/').filter(part => part);
+
displayText = `<img src="brands-medium.svg" width="14" height="14" style="vertical-align: middle; margin-right: 4px;"> Medium`;
+
if (parts.length >= 1) {
+
displayText = `<img src="brands-medium.svg" width="14" height="14" style="vertical-align: middle; margin-right: 4px;"> ${parts[0]}`;
+
}
+
}
+
+
// Special handling for Stack Overflow links
+
else if (url.hostname.includes('stackoverflow.com')) {
+
displayText = `<img src="brands-stack-overflow.svg" width="14" height="14" style="vertical-align: middle; margin-right: 4px;"> Stack Overflow`;
+
if (url.pathname.includes('questions')) {
+
const parts = url.pathname.split('/');
+
const questionId = parts.find(part => /^\d+$/.test(part));
+
displayText = `<img src="brands-stack-overflow.svg" width="14" height="14" style="vertical-align: middle; margin-right: 4px;"> Q${questionId || ''}`;
+
}
+
}
+
+
// Special handling for Dev.to links
+
else if (url.hostname === 'dev.to') {
+
const parts = url.pathname.substring(1).split('/').filter(part => part);
+
displayText = `<img src="brands-dev.svg" width="14" height="14" style="vertical-align: middle; margin-right: 4px;"> DEV`;
+
if (parts.length >= 1) {
+
displayText = `<img src="brands-dev.svg" width="14" height="14" style="vertical-align: middle; margin-right: 4px;"> ${parts[0]}`;
+
}
+
}
+
+
// Special handling for Reddit links
+
else if (url.hostname.includes('reddit.com')) {
+
displayText = `<img src="brands-reddit.svg" width="14" height="14" style="vertical-align: middle; margin-right: 4px;"> Reddit`;
+
if (url.pathname.includes('/r/')) {
+
const parts = url.pathname.split('/');
+
const subreddit = parts.find((part, index) => index > 0 && parts[index-1] === 'r');
+
if (subreddit) {
+
displayText = `<img src="brands-reddit.svg" width="14" height="14" style="vertical-align: middle; margin-right: 4px;"> r/${subreddit}`;
+
}
+
}
+
}
+
+
// Special handling for Hacker News links
+
else if (url.hostname.includes('news.ycombinator.com') || url.hostname.includes('hackernews.com')) {
+
displayText = `<img src="brands-hacker-news.svg" width="14" height="14" style="vertical-align: middle; margin-right: 4px;"> Hacker News`;
+
if (url.pathname.includes('item')) {
+
const itemId = url.searchParams.get('id');
+
if (itemId) {
+
displayText = `<img src="brands-hacker-news.svg" width="14" height="14" style="vertical-align: middle; margin-right: 4px;"> HN:${itemId}`;
+
}
+
}
+
}
+
+
// Special handling for Bluesky links
+
else if (url.hostname === 'bsky.app' || url.hostname === 'bsky.social') {
+
displayText = `<img src="brands-bluesky.svg" width="14" height="14" style="vertical-align: middle; margin-right: 4px;"> Bluesky`;
+
// Try to extract handle or post info
+
const parts = url.pathname.substring(1).split('/').filter(part => part);
+
if (parts.length >= 1) {
+
if (parts[0] === 'profile') {
+
// This is a profile link
+
if (parts.length >= 2) {
+
displayText = `<img src="brands-bluesky.svg" width="14" height="14" style="vertical-align: middle; margin-right: 4px;"> @${parts[1]}`;
+
}
+
} else if (parts[0] === 'post') {
+
// This is a post link
+
displayText = `<img src="brands-bluesky.svg" width="14" height="14" style="vertical-align: middle; margin-right: 4px;"> Post`;
+
} else {
+
// Assume it's a handle
+
displayText = `<img src="brands-bluesky.svg" width="14" height="14" style="vertical-align: middle; margin-right: 4px;"> @${parts[0]}`;
+
}
+
}
+
}
+
+
// Determine link type for styling and future reference
+
let linkType = '';
+
if (url.hostname.includes('github')) linkType = 'github';
+
else if (url.hostname.includes('wikipedia')) linkType = 'wikipedia';
+
else if (url.hostname === 'twitter.com' || url.hostname === 'x.com') linkType = 'twitter';
+
else if (url.hostname.includes('linkedin.com')) linkType = 'linkedin';
+
else if (url.hostname.includes('youtube.com') || url.hostname === 'youtu.be') linkType = 'youtube';
+
else if (url.hostname.includes('medium.com')) linkType = 'medium';
+
else if (url.hostname.includes('stackoverflow.com')) linkType = 'stackoverflow';
+
else if (url.hostname === 'dev.to') linkType = 'dev';
+
else if (url.hostname.includes('reddit.com')) linkType = 'reddit';
+
else if (url.hostname.includes('news.ycombinator.com')) linkType = 'hackernews';
+
else if (url.hostname === 'bsky.app' || url.hostname === 'bsky.social') linkType = 'bluesky';
+
+
return `<a href="${link.url}" target="_blank" class="external-link-item" title="${link.url}" data-link-type="${linkType}">${displayText}</a>`;
}).join(' ')}
</div>
` : ''}
${entry.referencesTo && entry.referencesTo.length > 0 ? `
<div class="preview-references">
${entry.referencesTo.map(ref => `
<a href="${ref.link}" target="_blank" class="external-link-item" title="${ref.title} by ${ref.author}">→ ${ref.title}</a>
`).join(' ')}
···
${entry.referencedBy && entry.referencedBy.length > 0 ? `
<div class="preview-references">
${entry.referencedBy.map(ref => `
<a href="${ref.link}" target="_blank" class="external-link-item" title="${ref.title} by ${ref.author}">← ${ref.title}</a>
`).join(' ')}