Compare commits

...
Author SHA1 Message Date
NunoandClaude Fable 5.1 3e4b25c4dc 🔄 Refresh contributors data
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-11 20:09:36 +00:00
NunoandClaude Fable 5.1 0ad3d0d135 ⬆️ Sync vendored medium-zoom 1.1.2 and lockfile version
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-11 20:09:36 +00:00
NunoandClaude Fable 5.1 20bb0f1e88 📝 Update homepage banner to Blowfish v3.10
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-11 20:09:36 +00:00
NunoandClaude Fable 5.1 1ee8f5e161 ✨ Add three new user sites to the showcase
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-11 20:09:36 +00:00
NunoandClaude Fable 5.1 64d2c7ff96 🐛 Tolerate navigation timeouts in processUsers script
Wait for load instead of networkidle2 and take the screenshot even when a third-party script stalls the load event.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-11 20:09:36 +00:00
NunoandClaude Fable 5.1 09746c5e66 📝 Point forgejo shortcode example at codeberg.org
The v11.next.forgejo.org test instance now serves an invalid TLS certificate and the example repo returns 404, producing build warnings in every language.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-11 20:09:36 +00:00
Nuno C. 04d2f3385b Merge pull request #3165 from nunocoracao/dependabot/npm_and_yarn/scripts/fast-xml-parser-5.12.0
Bump fast-xml-parser from 5.11.2 to 5.12.0 in /scripts
2026-11-11 19:37:54 +00:00
Nuno C. cfe60d3b93 Merge pull request #3130 from wollmannbruno/add-credly
Add Credly social icon and link
2026-11-11 18:27:31 +00:00
Nuno C. adce92d771 Merge pull request #3135 from nourkagha/umami-sri
🔒 Add optional SRI support for Umami Analytics
2026-11-11 18:27:10 +00:00
Nuno C. b917f81216 Merge pull request #3141 from aplgr/fix/sharing-links-url-encoding
🐛 Fix special characters in social sharing links
2026-11-11 18:26:50 +00:00
André Plöger c463e4adb7 ♻️ Keep provider-specific URL encoding explicit 2026-10-25 14:00:40 -03:00
André Plöger d6f7e07a0d 🐛 Encode Mastodon share text spaces in URL fragment 2026-10-25 14:00:26 -03:00
André Plöger 3e921f2585 🐛 Encode article titles and permalinks in sharing links 2026-10-25 14:00:23 -03:00
Nour Agha c83ae3c9af 🔒 Add optional SRI support for Umami Analytics 2026-10-15 18:13:53 -04:00
Bruno Wollmann ab39279b1a Add Credly social icon and link 2026-10-12 18:11:56 -06:00
68 changed files with 637 additions and 214 deletions

No files matched your search

+14
View File
@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" viewBox="0 0 1024 1024" width="1024" height="1024">
<defs/>
<g id="Canvas_1" fill-opacity="1" stroke-dasharray="none" stroke="none" stroke-opacity="1" fill="none">
<title>Canvas 1</title>
<g id="Canvas_1_Layer_1">
<title>Credly</title>
<g id="Graphic_5">
<path d="M 874.0385 149.96155 L 874.0385 149.96155 C 674.0901 -49.987865 349.90993 -49.987865 149.96155 149.96155 C -49.987865 349.90993 -49.987865 674.0901 149.96155 874.0385 C 349.90993 1073.9879 674.0901 1073.9879 874.0385 874.0385 C 1073.9879 674.0901 1073.9879 349.90993 874.0385 149.96155 Z M 671.2 371.6 L 674.2 371.6 C 677.9 371.9 681.6 373.7 683.9 376.6 C 687.3 380.8 688.2 386.4 688.5 391.7 C 689.3 407.8 685.8 423.8 681.2 439.2 C 675.3 459.6 667 479.2 660.2 499.3 C 659 502.8 657.8 506.4 656.9 510 C 655.4 516 655.6 522.3 655.4 528.5 C 655.2 534.3 655.6 540.1 656.7 545.8 C 657.3 548.9 658.6 552.2 661 554.4 C 663.2 556.4 666.4 557.3 669.3 556.4 C 673.2 555.2 676.3 552.2 679.1 549.3 C 683 545 686.7 540.6 689.4 535.5 C 693.2 528.7 695.4 521.2 696.5 513.5 C 698 501.9 699.2 490.1 703.4 479.1 C 705 474.9 707 470.6 710.8 468 C 715.9 464.4 723.6 465.9 727.5 470.7 C 729.4 473.1 729.9 476.2 729.9 479.1 C 729.7 483 728.9 486.9 727.6 490.6 C 723.1 503.8 720.5 517.7 721 531.7 C 721.1 534.9 721.4 538.3 723.1 541.2 C 724.5 543.6 726.9 545.5 729.7 545.5 C 732.9 545.5 735.7 543.6 737.7 541.3 C 740.8 537.8 743.3 533.8 745.3 529.6 C 749.3 521.1 751.2 511.8 752.9 502.6 C 754.3 494.8 755.7 487 757.9 479.4 C 759.1 475.5 760.6 471.6 763.5 468.6 C 765.4 466.5 768.3 465.7 771 465.7 C 773.8 465.8 776.4 467.4 778.3 469.5 C 780.9 472.4 781.4 476.4 781.1 480.1 C 778.3 502.2 775.2 524.3 772.7 546.4 C 770.9 560.2 769.3 574 768.1 587.8 C 768 589.3 769.8 590.2 770.8 589.2 C 778 582.3 785.1 575.1 790.5 566.7 C 793 562.9 794.8 558.8 797.2 555 C 798.2 553.3 799.4 551.6 801.3 551 C 804.2 549.6 807.9 550 810.4 552 C 812.3 553.4 813.3 555.7 813.6 558 L 813.6 560.7 C 813 565.3 810.3 569.2 808.3 573.2 C 802.8 584.2 795.2 594.2 785.7 602.1 C 778.9 607.9 770.9 612.3 762.5 615.3 C 762 615.5 761.2 615.6 761.1 616.3 C 758 629 751.1 640.7 741.8 649.8 C 731.5 660 718.2 667 704.1 670.3 C 696.4 672 688.3 672.7 680.5 671.3 C 672.5 669.8 664.7 666.1 659 660.3 C 653.8 655.1 650.3 648.2 649.7 640.8 C 649.1 634.1 650.8 627.3 654 621.4 C 657.7 614.7 663.3 609.1 669.9 605.2 C 676.2 601.4 683.4 599.6 690.5 598.7 C 698.6 597.8 706.9 597.8 715.1 598.5 C 720.2 598.9 725.3 599.4 730.4 599.8 C 733.2 600 736.3 601 739 599.6 C 740.9 598.7 741.5 596.4 741.8 594.5 C 743 585.5 744.8 576.4 743.7 567.2 C 743.5 566 743.2 564.2 741.7 564.1 C 739.9 564.9 739 566.8 738 568.4 C 734.9 574.4 729.1 579 722.4 580.3 C 715.7 581.6 708.4 578.2 705.3 572.2 C 703.8 569.7 703.1 566.7 700.9 564.6 C 699.4 563.2 697.2 563.2 695.4 564 C 692.2 565.4 690.1 568.3 687.5 570.5 C 680.7 576.6 672.1 581.2 662.8 581.7 C 652 582.4 640.9 576.3 636.4 566.3 C 635.8 564.9 635.3 562.9 633.5 562.7 C 631.5 562.4 630 564 628.9 565.4 C 623.6 572.1 618.6 579.3 611.6 584.3 C 607.1 587.5 601.7 589.7 596.1 589.6 C 590.2 589.5 584.3 586.3 581.5 581.1 C 580.2 578.8 579.7 575.9 577.6 574.1 C 576 572.7 573.5 572.9 571.8 574 C 569.2 575.5 567.7 578.2 565.6 580.3 C 559.8 586.1 551.4 589 543.3 588.2 C 533.5 587.2 524.6 580.4 521 571.2 C 520.5 569.9 519.8 568.4 518.4 568 C 517.3 567.6 516.4 568.4 515.7 569.1 C 510.3 574.1 504.9 579.2 498.4 582.7 C 491.8 586.2 484.5 588.5 477 588.3 C 469.1 588.4 461.2 586 454.8 581.5 C 449.4 577.8 445.1 572.6 442.6 566.5 C 441.9 564.9 441 563.1 439.2 562.7 C 437.6 562.3 436.2 563.5 435.3 564.7 C 432.6 568.5 429.1 571.8 425.2 574.3 C 419.2 578.2 412.2 580.9 404.9 580.9 C 399.3 580.9 393.7 578.8 389.7 574.9 C 385.4 570.7 383.1 564.8 382.2 558.9 C 381.1 551.2 382.7 543.4 384.9 536.1 C 386.3 531.3 388.1 526.7 389.2 521.8 C 389.8 519.3 390 516.6 388.9 514.3 C 388 512.5 386.1 511.4 384.3 510.6 C 382.3 509.8 380.2 510.9 378.8 512.2 C 377.4 513.5 376.7 515.2 375.9 516.9 C 371 528.7 364.4 539.8 356.3 549.7 C 348.5 559.3 339.2 567.6 329.2 574.9 C 317.8 583 304.7 588.9 290.8 590.8 C 280.7 592.2 270.2 591.4 260.4 588.5 C 254.6 586.8 248.9 584.4 243.9 580.9 C 235.3 574.9 228.4 566.6 223.5 557.4 C 219.7 550.3 216.8 542.7 214.7 534.9 C 211.8 523.8 210.8 512.4 210.3 501 L 210.3 493.2 C 210.5 484.8 211.3 476.4 213 468.2 C 216 453.3 221.4 439 228.7 425.7 C 234.5 415.3 241.4 405.5 250.1 397.4 C 259.6 388.5 271.1 381.6 283.8 378.8 C 295.9 376.1 308.9 376.8 320.2 382 C 323.6 383.5 326.6 385.7 330.2 386.8 C 332.7 387.6 335.6 387.3 337.7 385.7 C 340.9 383.2 342.4 379.2 345.1 376.2 C 348.5 372.5 354 371 358.8 372.4 C 363.3 373.7 366.8 377.6 367.9 382.1 C 368.6 385.1 368.2 388.2 367.3 391.1 C 365.9 395.2 363.6 398.9 361.4 402.6 C 354.1 415.2 348.6 428.8 345.1 442.9 C 344 447.2 343.1 451.7 341.4 455.8 C 339.8 459.7 337.3 463.4 333.7 465.8 C 330.6 467.9 326.5 468.9 322.8 467.8 C 319.4 466.8 316.8 464 315.4 460.8 C 313.8 457.4 313.3 453.5 313.8 449.7 C 314.8 440.8 319.7 432.7 319.9 423.6 C 320.1 418.5 318.4 413.2 314.4 409.9 C 308.8 405.1 300.9 403.8 293.8 404.8 C 285.4 405.9 277.5 409.9 271.3 415.6 C 264.6 421.8 259.6 429.6 255.6 437.7 C 244 460.9 238.9 487.5 241.9 513.3 C 242.9 521.7 244.9 530.1 248.9 537.7 C 251.4 542.5 254.7 546.8 258.8 550.2 C 264.1 554.6 270.5 557.6 277.3 558.9 C 287 560.8 297.2 559.Line truncated
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 8.8 KiB

+1 -1
View File
@@ -1 +1 @@
.medium-zoom-overlay{position:fixed;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .3s;will-change:opacity}.medium-zoom--opened .medium-zoom-overlay{cursor:pointer;cursor:zoom-out;opacity:1}.medium-zoom-image{cursor:pointer;cursor:zoom-in;transition:transform .3s cubic-bezier(.2,0,.2,1)!important}.medium-zoom-image--hidden{visibility:hidden}.medium-zoom-image--opened{position:relative;cursor:pointer;cursor:zoom-out;will-change:transform} .medium-zoom-overlay{opacity:0;will-change:opacity;transition:opacity .3s;position:fixed;top:0;bottom:0;left:0;right:0}.medium-zoom--opened .medium-zoom-overlay{cursor:pointer;cursor:zoom-out;opacity:1}.medium-zoom-image{cursor:pointer;cursor:zoom-in;transition:transform .3s cubic-bezier(.2,0,.2,1)!important}.medium-zoom-image--hidden{visibility:hidden}.medium-zoom-image--opened{cursor:pointer;cursor:zoom-out;will-change:transform;position:relative}@media (prefers-reduced-motion:reduce){.medium-zoom-image,.medium-zoom-overlay{transition:none!important}}
+2 -2
View File
@@ -1,2 +1,2 @@
/*! medium-zoom 1.1.0 | MIT License | https://github.com/francoischalifour/medium-zoom */ /*! medium-zoom 1.1.2 | MIT License | https://github.com/francoischalifour/medium-zoom */
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).mediumZoom=t()}(this,(function(){"use strict";var e=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&(e[n]=o[n])}return e},t=function(e){return"IMG"===e.tagName},o=function(e){return e&&1===e.nodeType},n=function(e){return".svg"===(e.currentSrc||e.src).substr(-4).toLowerCase()},i=function(e){try{return Array.isArray(e)?e.filter(t):function(e){return NodeList.prototype.isPrototypeOf(e)}(e)?[].slice.call(e).filter(t):o(e)?[e].filter(t):"string"==typeof e?[].slice.call(document.querySelectorAll(e)).filter(t):[]}catch(e){throw new TypeError("The provided selector is invalid.\nExpects a CSS selector, a Node element, a NodeList or an array.\nSee: https://github.com/francoischalifour/medium-zoom")}},r=function(e){var t=document.createElement("div");return t.classList.add("medium-zoom-overlay"),t.style.background=e,t},d=function(e){var t=e.getBoundingClientRect(),o=t.top,n=t.left,i=t.width,r=t.height,d=e.cloneNode(),a=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,m=window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0;return d.removeAttribute("id"),d.style.position="absolute",d.style.top=o+a+"px",d.style.left=n+m+"px",d.style.width=i+"px",d.style.height=r+"px",d.style.transform="",d},a=function(t,o){var n=e({bubbles:!1,cancelable:!1,detail:void 0},o);if("function"==typeof window.CustomEvent)return new CustomEvent(t,n);var i=document.createEvent("CustomEvent");return i.initCustomEvent(t,n.bubbles,n.cancelable,n.detail),i};return function t(m){var l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},c=window.Promise||function(e){function t(){}e(t,t)},u=function(e){var t=e.target;t!==N?-1!==O.indexOf(t)&&w({target:t}):E()},s=function(){if(!A&&T.original){var e=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;Math.abs(k-e)>S.scrollOffset&&setTimeout(E,150)}},f=function(e){var t=e.key||e.keyCode;"Escape"!==t&&"Esc"!==t&&27!==t||E()},p=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t;if(t.background&&(N.style.background=t.background),t.container&&t.container instanceof Object&&(n.container=e({},S.container,t.container)),t.template){var i=o(t.template)?t.template:document.querySelector(t.template);n.template=i}return S=e({},S,n),O.forEach((function(e){e.dispatchEvent(a("medium-zoom:update",{detail:{zoom:j}}))})),j},g=function(){var o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return t(e({},S,o))},v=function(){for(var e=arguments.length,t=Array(e),o=0;o<e;o++)t[o]=arguments[o];var n=t.reduce((function(e,t){return[].concat(e,i(t))}),[]);return n.filter((function(e){return-1===O.indexOf(e)})).forEach((function(e){O.push(e),e.classList.add("medium-zoom-image")})),x.forEach((function(e){var t=e.type,o=e.listener,i=e.options;n.forEach((function(e){e.addEventListener(t,o,i)}))})),j},h=function(){for(var e=arguments.length,t=Array(e),o=0;o<e;o++)t[o]=arguments[o];T.zoomed&&E();var n=t.length>0?t.reduce((function(e,t){return[].concat(e,i(t))}),[]):O;return n.forEach((function(e){e.classList.remove("medium-zoom-image"),e.dispatchEvent(a("medium-zoom:detach",{detail:{zoom:j}}))})),O=O.filter((function(e){return-1===n.indexOf(e)})),j},z=function(e,t){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return O.forEach((function(n){n.addEventListener("medium-zoom:"+e,t,o)})),x.push({type:"medium-zoom:"+e,listener:t,options:o}),j},y=function(e,t){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return O.forEach((function(n){n.removeEventListener("medium-zoom:"+e,t,o)})),x=x.filter((function(o){return!(o.type==="medium-zoom:"+e&&o.listener.toString()===t.toString())})),j},b=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=t.target,r=function(){var t={width:document.documentElement.clientWidth,height:document.documentElement.clientHeight,left:0,top:0,right:0,bottom:0},i=void 0,r=void 0;if(S.container)if(S.container instanceof Object)i=(t=e({},t,S.container)).width-t.left-t.right-2*S.margin,r=t.height-t.top-t.bottom-2*S.margin;else{var d=(o(S.container)?S.container:document.querySelector(S.container)).getBoundingClientRect(),a=d.width,m=d.height,l=d.left,c=d.top;t=e({},t,{width:a,height:m,left:l,top:c})}i=i||t.width-2*S.margin,r=r||t.height-2*S.margin;var u=T.zoomedHd||T.original,s=n(u)?i:u.naturalWidth||i,f=n(u)?r:u.naturalHeight||r,p=u.getBoundingClientRect(),g=p.top,v=p.left,h=p.width,z=p.height,y=Math.min(Math.max(h,s),i)/h,b=Math.min(Math.max(z,f),r)/z,E=Math.min(y,b),w="scale("+E+") translate3d("+((i-h)/2-v+S.margin+t.left)/E+"px, "+((r-z)/2-g+S.margin+t.top)/E+"px, 0)";T.zoomed.style.transform=w,T.zoomedHd&&(T.zoomedHd.style.transform=w)};return new c((function(e){if(i&&-1===O.indexOf(i))e(j)Line truncated function _extends(){return _extends=Object.assign?Object.assign.bind():function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var o in t)({}).hasOwnProperty.call(t,o)&&(n[o]=t[o])}return n},_extends.apply(null,arguments)}!function(n,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):(n="undefined"!=typeof globalThis?globalThis:n||self).mediumZoom=e()}(this,function(){"use strict";var n=function(n){return"IMG"===n.tagName},e=function(n){return n&&1===n.nodeType},t=function(n){return".svg"===(n.currentSrc||n.src).substr(-4).toLowerCase()},o=function(t){try{return Array.isArray(t)?t.filter(n):function(n){return NodeList.prototype.isPrototypeOf(n)}(t)?[].slice.call(t).filter(n):e(t)?[t].filter(n):"string"==typeof t?[].slice.call(document.querySelectorAll(t)).filter(n):[]}catch(n){throw new TypeError("The provided selector is invalid.\nExpects a CSS selector, a Node element, a NodeList or an array.\nSee: https://github.com/francoischalifour/medium-zoom")}},i=function(n,r){void 0===r&&(r={});var u=window.Promise||function(n){function e(){}n(e,e)},c=function(n,e){return n.dispatchEvent(function(n,e){if("function"==typeof window.CustomEvent)return new CustomEvent(n,{detail:e});var t=document.createEvent("CustomEvent");return t.initCustomEvent(n,!1,!1,e),t}("medium-zoom:"+e,{zoom:O}))},d=function(n){var e=n.target;e!==j?-1!==y.indexOf(e)&&x({target:e}):z()},a=function(){if(_.t){var n=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;if(_.o||window.visualViewport&&window.visualViewport.scale>_.i)return T=n,clearTimeout(_.u),void(_.u=null);M||Math.abs(T-n)>E.scrollOffset&&!_.u&&(_.u=setTimeout(z,150))}},f=function(n){n.touches.length>=2&&(_.o=!0),_.o&&a(),0===n.touches.length&&(_.o=!1)},m=function(n){var e=n.key||n.keyCode;"Escape"!==e&&"Esc"!==e&&27!==e||z()},s=!1,l=function(){var n=y.length>0;s!==n&&(document[n?"addEventListener":"removeEventListener"]("click",d),s=n)},v=function(){for(var n=arguments.length,e=new Array(n),t=0;t<n;t++)e[t]=arguments[t];var i=e.reduce(function(n,e){return[].concat(n,o(e))},[]);return i.filter(function(n){return-1===y.indexOf(n)}).forEach(function(n){y.push(n),n.classList.add("medium-zoom-image")}),b.forEach(function(n){var e=n.type,t=n.listener,o=n.options;i.forEach(function(n){n.addEventListener(e,t,o)})}),l(),O},w=!1,p=function(n){if(w!==n){var e=n?"addEventListener":"removeEventListener";document[e]("keyup",m),document[e]("scroll",a);var t={passive:!0};["touchstart","touchend","touchcancel"].forEach(function(n){return document[e](n,f,t)}),window[e]("resize",z),w=n}},h=function(n,e){var t,o,i=!1,r=window.matchMedia("(prefers-reduced-motion)"),u=function(n){return Math.max.apply(Math,n.split(",").map(parseFloat))},c=function(n){i||n&&"transform"!==n.propertyName||(a(),e())},d=function(){r.matches&&c()},a=function(){i=!0,clearTimeout(t),window.cancelAnimationFrame(o),n.removeEventListener("transitionend",c),r.removeListener(d)};n.addEventListener("transitionend",c),r.addListener(d);var f=window.getComputedStyle(n),m=1e3*(u(f.transitionDuration)+u(f.transitionDelay));return t=setTimeout(c,Math.max(0,m)+50),m<=0&&(o=window.requestAnimationFrame(function(){return c()})),a},g=function(n){var o=(void 0===n?{}:n).target,i={};return new u(function(n){if(_.t||o&&-1===y.indexOf(o))n(O);else{_=i;var r,u=function(){},d=function(){},a=function(e){i.m&&(u(),d(),window.cancelAnimationFrame(r),i.m=null,M=!1,n(O),e&&(document.body.classList.add("medium-zoom--opened"),c(i.t,"opened")))};if(i.m=a,i.t=o||y[0],i.t){if(i.i=window.visualViewport?window.visualViewport.scale:1,p(!0),M=!0,c(i.t,"open"),!i.l){if(T=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,i.v=function(n){var e=n.getBoundingClientRect(),t=e.top,o=e.left,i=e.width,r=e.height,u=n.cloneNode(),c=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,d=window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0;return u.removeAttribute("id"),u.style.position="absolute",u.style.top=t+c+"px",u.style.left=o+d+"px",u.style.width=i+"px",u.style.height=r+"px",u.style.transform="",u}(i.t),document.body.appendChild(j),E.template){var f=e(E.template)?E.template:document.querySelector(E.template);i.p=document.createElement("div"),i.p.appendChild(f.content.cloneNode(!0)),document.body.appendChild(i.p)}i.t.parentElement&&"PICTURE"===i.t.parentElement.tagName&&i.t.currentSrc&&(i.v.src=i.t.currentSrc),document.body.appendChild(i.v),r=window.requestAnimationFrame(function(){document.body.classList.add("medium-zoom--opened")}),i.t.classList.add("medium-zoom-image--hidden"),i.v.classList.add("medium-zoom-image--opened"),i.v.addEventListener("click",z);var m=function(){!function(){var n,o,r={width:document.documentElement.clientWidth,height:document.documentElement.clientHeight,left:0,top:0,right:0,bottom:0};if(E.container)if(E.container instanceof ObLine truncated
+1
View File
@@ -30,6 +30,7 @@ title = "Blowfish"
# { bluesky = "https://bsky.app/profile/username" }, # { bluesky = "https://bsky.app/profile/username" },
# { chess-com = "https://www.chess.com/member/username" }, # { chess-com = "https://www.chess.com/member/username" },
# { codepen = "https://codepen.io/username" }, # { codepen = "https://codepen.io/username" },
# { credly = "https://www.credly.com/users/username/badges/credly" },
# { dev = "https://dev.to/username" }, # { dev = "https://dev.to/username" },
# { discord = "https://discord.gg/invitecode" }, # { discord = "https://discord.gg/invitecode" },
# { dribbble = "https://dribbble.com/username" }, # { dribbble = "https://dribbble.com/username" },
+2 -1
View File
@@ -41,7 +41,7 @@ hotlinkFeatureImage = false
fingerprintAlgorithm = "sha512" # Valid values are "sha512" (default), "sha384", "sha256" fingerprintAlgorithm = "sha512" # Valid values are "sha512" (default), "sha384", "sha256"
giteaDefaultServer = "https://git.fsfe.org" giteaDefaultServer = "https://git.fsfe.org"
forgejoDefaultServer = "https://v11.next.forgejo.org" forgejoDefaultServer = "https://codeberg.org"
[languageRedirect] [languageRedirect]
enabled = false # Enable client-side language redirects for multilingual sites. enabled = false # Enable client-side language redirects for multilingual sites.
@@ -182,6 +182,7 @@ forgejoDefaultServer = "https://v11.next.forgejo.org"
# dataDomains = "yoursite.com,yoursite2.com" # dataDomains = "yoursite.com,yoursite2.com"
# scriptName = "" # scriptName = ""
# enableTrackEvent = true # enableTrackEvent = true
# integrity = "sha384-YOUR_HASH"
[selineAnalytics] [selineAnalytics]
# token = "XXXXXX" # token = "XXXXXX"
+184 -154
View File
@@ -1,13 +1,13 @@
[ [
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/3803196?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/3803196?v=4&s=80",
"contributions": 2697, "contributions": 2735,
"profile_url": "https://github.com/nunocoracao", "profile_url": "https://github.com/nunocoracao",
"username": "nunocoracao" "username": "nunocoracao"
}, },
{ {
"avatar_url": "https://avatars.githubusercontent.com/in/29110?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/in/29110?v=4&s=80",
"contributions": 630, "contributions": 654,
"profile_url": "https://github.com/apps/dependabot", "profile_url": "https://github.com/apps/dependabot",
"username": "dependabot[bot]" "username": "dependabot[bot]"
}, },
@@ -78,10 +78,10 @@
"username": "Aphcity" "username": "Aphcity"
}, },
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/40151420?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/137512150?v=4&s=80",
"contributions": 13, "contributions": 14,
"profile_url": "https://github.com/ldericher", "profile_url": "https://github.com/aplgr",
"username": "ldericher" "username": "aplgr"
}, },
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/63574588?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/63574588?v=4&s=80",
@@ -90,10 +90,10 @@
"username": "wermos" "username": "wermos"
}, },
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/22768251?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/40151420?v=4&s=80",
"contributions": 12, "contributions": 13,
"profile_url": "https://github.com/daniel-odrinski", "profile_url": "https://github.com/ldericher",
"username": "daniel-odrinski" "username": "ldericher"
}, },
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/48058525?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/48058525?v=4&s=80",
@@ -107,18 +107,18 @@
"profile_url": "https://github.com/ragibson", "profile_url": "https://github.com/ragibson",
"username": "ragibson" "username": "ragibson"
}, },
{
"avatar_url": "https://avatars.githubusercontent.com/u/22768251?v=4&s=80",
"contributions": 12,
"profile_url": "https://github.com/daniel-odrinski",
"username": "daniel-odrinski"
},
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/39312305?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/39312305?v=4&s=80",
"contributions": 12, "contributions": 12,
"profile_url": "https://github.com/insidemordecai", "profile_url": "https://github.com/insidemordecai",
"username": "insidemordecai" "username": "insidemordecai"
}, },
{
"avatar_url": "https://avatars.githubusercontent.com/u/137512150?v=4&s=80",
"contributions": 11,
"profile_url": "https://github.com/aplgr",
"username": "aplgr"
},
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/73018805?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/73018805?v=4&s=80",
"contributions": 11, "contributions": 11,
@@ -137,12 +137,6 @@
"profile_url": "https://github.com/madoke", "profile_url": "https://github.com/madoke",
"username": "madoke" "username": "madoke"
}, },
{
"avatar_url": "https://avatars.githubusercontent.com/u/32818386?v=4&s=80",
"contributions": 9,
"profile_url": "https://github.com/laterre39",
"username": "laterre39"
},
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/110763842?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/110763842?v=4&s=80",
"contributions": 9, "contributions": 9,
@@ -150,10 +144,10 @@
"username": "RxChi1d" "username": "RxChi1d"
}, },
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/49299328?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/32818386?v=4&s=80",
"contributions": 8, "contributions": 9,
"profile_url": "https://github.com/LITUATUI", "profile_url": "https://github.com/laterre39",
"username": "LITUATUI" "username": "laterre39"
}, },
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/227486?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/227486?v=4&s=80",
@@ -162,10 +156,10 @@
"username": "chrisbanes" "username": "chrisbanes"
}, },
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/927896?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/49299328?v=4&s=80",
"contributions": 7, "contributions": 8,
"profile_url": "https://github.com/fuse314", "profile_url": "https://github.com/LITUATUI",
"username": "fuse314" "username": "LITUATUI"
}, },
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/22131782?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/22131782?v=4&s=80",
@@ -173,6 +167,12 @@
"profile_url": "https://github.com/racehd", "profile_url": "https://github.com/racehd",
"username": "racehd" "username": "racehd"
}, },
{
"avatar_url": "https://avatars.githubusercontent.com/u/927896?v=4&s=80",
"contributions": 7,
"profile_url": "https://github.com/fuse314",
"username": "fuse314"
},
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/23740867?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/23740867?v=4&s=80",
"contributions": 6, "contributions": 6,
@@ -191,6 +191,12 @@
"profile_url": "https://github.com/nofalbriansah", "profile_url": "https://github.com/nofalbriansah",
"username": "nofalbriansah" "username": "nofalbriansah"
}, },
{
"avatar_url": "https://avatars.githubusercontent.com/u/99347708?v=4&s=80",
"contributions": 5,
"profile_url": "https://github.com/0r1k",
"username": "0r1k"
},
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/128139875?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/128139875?v=4&s=80",
"contributions": 5, "contributions": 5,
@@ -209,6 +215,24 @@
"profile_url": "https://github.com/mztiq", "profile_url": "https://github.com/mztiq",
"username": "mztiq" "username": "mztiq"
}, },
{
"avatar_url": "https://avatars.githubusercontent.com/u/17262574?v=4&s=80",
"contributions": 5,
"profile_url": "https://github.com/wollmannbruno",
"username": "wollmannbruno"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/31572931?v=4&s=80",
"contributions": 5,
"profile_url": "https://github.com/jmmarino2",
"username": "jmmarino2"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/1886360?v=4&s=80",
"contributions": 5,
"profile_url": "https://github.com/michaeldorner",
"username": "michaeldorner"
},
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/5170081?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/5170081?v=4&s=80",
"contributions": 5, "contributions": 5,
@@ -221,18 +245,6 @@
"profile_url": "https://github.com/ajmandourah", "profile_url": "https://github.com/ajmandourah",
"username": "ajmandourah" "username": "ajmandourah"
}, },
{
"avatar_url": "https://avatars.githubusercontent.com/u/1886360?v=4&s=80",
"contributions": 5,
"profile_url": "https://github.com/michaeldorner",
"username": "michaeldorner"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/31572931?v=4&s=80",
"contributions": 5,
"profile_url": "https://github.com/jmmarino2",
"username": "jmmarino2"
},
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/74207682?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/74207682?v=4&s=80",
"contributions": 4, "contributions": 4,
@@ -240,10 +252,10 @@
"username": "d4rklynk" "username": "d4rklynk"
}, },
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/99347708?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/43378713?v=4&s=80",
"contributions": 4, "contributions": 4,
"profile_url": "https://github.com/0r1k", "profile_url": "https://github.com/DiogoM1",
"username": "0r1k" "username": "DiogoM1"
}, },
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/14915201?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/14915201?v=4&s=80",
@@ -251,12 +263,6 @@
"profile_url": "https://github.com/tekdahl", "profile_url": "https://github.com/tekdahl",
"username": "tekdahl" "username": "tekdahl"
}, },
{
"avatar_url": "https://avatars.githubusercontent.com/u/43378713?v=4&s=80",
"contributions": 4,
"profile_url": "https://github.com/DiogoM1",
"username": "DiogoM1"
},
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/155637304?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/155637304?v=4&s=80",
"contributions": 4, "contributions": 4,
@@ -275,6 +281,12 @@
"profile_url": "https://github.com/jason810496", "profile_url": "https://github.com/jason810496",
"username": "jason810496" "username": "jason810496"
}, },
{
"avatar_url": "https://avatars.githubusercontent.com/u/50773468?v=4&s=80",
"contributions": 4,
"profile_url": "https://github.com/nourkagha",
"username": "nourkagha"
},
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/3164256?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/3164256?v=4&s=80",
"contributions": 4, "contributions": 4,
@@ -287,6 +299,12 @@
"profile_url": "https://github.com/flohoss", "profile_url": "https://github.com/flohoss",
"username": "flohoss" "username": "flohoss"
}, },
{
"avatar_url": "https://avatars.githubusercontent.com/u/14219201?v=4&s=80",
"contributions": 4,
"profile_url": "https://github.com/aakashnand",
"username": "aakashnand"
},
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/18169566?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/18169566?v=4&s=80",
"contributions": 4, "contributions": 4,
@@ -300,16 +318,10 @@
"username": "AlanTanner" "username": "AlanTanner"
}, },
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/17262574?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/13023025?v=4&s=80",
"contributions": 4, "contributions": 3,
"profile_url": "https://github.com/wollmannbruno", "profile_url": "https://github.com/Coehill",
"username": "wollmannbruno" "username": "Coehill"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/14219201?v=4&s=80",
"contributions": 4,
"profile_url": "https://github.com/aakashnand",
"username": "aakashnand"
}, },
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/128829398?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/128829398?v=4&s=80",
@@ -335,12 +347,6 @@
"profile_url": "https://github.com/byalpay-lab", "profile_url": "https://github.com/byalpay-lab",
"username": "byalpay-lab" "username": "byalpay-lab"
}, },
{
"avatar_url": "https://avatars.githubusercontent.com/u/41281398?v=4&s=80",
"contributions": 3,
"profile_url": "https://github.com/WilliamRagstad",
"username": "WilliamRagstad"
},
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/18405490?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/18405490?v=4&s=80",
"contributions": 3, "contributions": 3,
@@ -354,10 +360,10 @@
"username": "JahsehJ" "username": "JahsehJ"
}, },
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/6476604?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/15385020?v=4&s=80",
"contributions": 3, "contributions": 3,
"profile_url": "https://github.com/timcappalli", "profile_url": "https://github.com/ModdyLP",
"username": "timcappalli" "username": "ModdyLP"
}, },
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/1386868?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/1386868?v=4&s=80",
@@ -366,28 +372,22 @@
"username": "rlan" "username": "rlan"
}, },
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/15385020?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/6476604?v=4&s=80",
"contributions": 3, "contributions": 3,
"profile_url": "https://github.com/ModdyLP", "profile_url": "https://github.com/timcappalli",
"username": "ModdyLP" "username": "timcappalli"
}, },
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/43930380?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/41281398?v=4&s=80",
"contributions": 3, "contributions": 3,
"profile_url": "https://github.com/albertonl", "profile_url": "https://github.com/WilliamRagstad",
"username": "albertonl" "username": "WilliamRagstad"
}, },
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/1080487?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/100203867?v=4&s=80",
"contributions": 3, "contributions": 3,
"profile_url": "https://github.com/Scoty", "profile_url": "https://github.com/adilhyz",
"username": "Scoty" "username": "adilhyz"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/3262190?v=4&s=80",
"contributions": 3,
"profile_url": "https://github.com/chandlertee",
"username": "chandlertee"
}, },
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/1698841?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/1698841?v=4&s=80",
@@ -396,10 +396,10 @@
"username": "eallion" "username": "eallion"
}, },
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/13023025?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/3262190?v=4&s=80",
"contributions": 3, "contributions": 3,
"profile_url": "https://github.com/Coehill", "profile_url": "https://github.com/chandlertee",
"username": "Coehill" "username": "chandlertee"
}, },
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/5670510?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/5670510?v=4&s=80",
@@ -407,12 +407,36 @@
"profile_url": "https://github.com/danielwagn3r", "profile_url": "https://github.com/danielwagn3r",
"username": "danielwagn3r" "username": "danielwagn3r"
}, },
{
"avatar_url": "https://avatars.githubusercontent.com/u/3191949?v=4&s=80",
"contributions": 3,
"profile_url": "https://github.com/Goudarz",
"username": "Goudarz"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/1080487?v=4&s=80",
"contributions": 3,
"profile_url": "https://github.com/Scoty",
"username": "Scoty"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/43930380?v=4&s=80",
"contributions": 3,
"profile_url": "https://github.com/albertonl",
"username": "albertonl"
},
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/254813078?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/254813078?v=4&s=80",
"contributions": 3, "contributions": 3,
"profile_url": "https://github.com/fairchild26", "profile_url": "https://github.com/fairchild26",
"username": "fairchild26" "username": "fairchild26"
}, },
{
"avatar_url": "https://avatars.githubusercontent.com/u/7223028?v=4&s=80",
"contributions": 3,
"profile_url": "https://github.com/PierreMesure",
"username": "PierreMesure"
},
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/6446231?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/6446231?v=4&s=80",
"contributions": 3, "contributions": 3,
@@ -444,10 +468,10 @@
"username": "hudsonm62" "username": "hudsonm62"
}, },
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/3191949?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/44976946?v=4&s=80",
"contributions": 3, "contributions": 2,
"profile_url": "https://github.com/Goudarz", "profile_url": "https://github.com/maciejopalinski",
"username": "Goudarz" "username": "maciejopalinski"
}, },
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/92675206?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/92675206?v=4&s=80",
@@ -492,10 +516,10 @@
"username": "StandingPadAnimations" "username": "StandingPadAnimations"
}, },
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/44976946?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/7567933?v=4&s=80",
"contributions": 2, "contributions": 2,
"profile_url": "https://github.com/maciejopalinski", "profile_url": "https://github.com/v20100v",
"username": "maciejopalinski" "username": "v20100v"
}, },
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/24326642?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/24326642?v=4&s=80",
@@ -509,12 +533,6 @@
"profile_url": "https://github.com/xwjdsh", "profile_url": "https://github.com/xwjdsh",
"username": "xwjdsh" "username": "xwjdsh"
}, },
{
"avatar_url": "https://avatars.githubusercontent.com/u/7567933?v=4&s=80",
"contributions": 2,
"profile_url": "https://github.com/v20100v",
"username": "v20100v"
},
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/44194527?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/44194527?v=4&s=80",
"contributions": 2, "contributions": 2,
@@ -527,6 +545,12 @@
"profile_url": "https://github.com/t1mssc", "profile_url": "https://github.com/t1mssc",
"username": "t1mssc" "username": "t1mssc"
}, },
{
"avatar_url": "https://avatars.githubusercontent.com/u/138979906?v=4&s=80",
"contributions": 2,
"profile_url": "https://github.com/mtheindiecoder",
"username": "mtheindiecoder"
},
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/17061177?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/17061177?v=4&s=80",
"contributions": 2, "contributions": 2,
@@ -539,6 +563,12 @@
"profile_url": "https://github.com/abdalrahmanshaban0", "profile_url": "https://github.com/abdalrahmanshaban0",
"username": "abdalrahmanshaban0" "username": "abdalrahmanshaban0"
}, },
{
"avatar_url": "https://avatars.githubusercontent.com/u/95191347?v=4&s=80",
"contributions": 2,
"profile_url": "https://github.com/micheledinelli",
"username": "micheledinelli"
},
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/21687187?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/21687187?v=4&s=80",
"contributions": 2, "contributions": 2,
@@ -558,16 +588,10 @@
"username": "lukapiplica" "username": "lukapiplica"
}, },
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/95191347?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/4021653?v=4&s=80",
"contributions": 2, "contributions": 2,
"profile_url": "https://github.com/micheledinelli", "profile_url": "https://github.com/pawelngei",
"username": "micheledinelli" "username": "pawelngei"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/138979906?v=4&s=80",
"contributions": 2,
"profile_url": "https://github.com/mtheindiecoder",
"username": "mtheindiecoder"
}, },
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/415688?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/415688?v=4&s=80",
@@ -575,12 +599,6 @@
"profile_url": "https://github.com/adir1", "profile_url": "https://github.com/adir1",
"username": "adir1" "username": "adir1"
}, },
{
"avatar_url": "https://avatars.githubusercontent.com/u/4021653?v=4&s=80",
"contributions": 2,
"profile_url": "https://github.com/pawelngei",
"username": "pawelngei"
},
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/43662951?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/43662951?v=4&s=80",
"contributions": 2, "contributions": 2,
@@ -617,6 +635,12 @@
"profile_url": "https://github.com/voigt", "profile_url": "https://github.com/voigt",
"username": "voigt" "username": "voigt"
}, },
{
"avatar_url": "https://avatars.githubusercontent.com/u/81472122?v=4&s=80",
"contributions": 2,
"profile_url": "https://github.com/dahisea",
"username": "dahisea"
},
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/145149410?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/145149410?v=4&s=80",
"contributions": 2, "contributions": 2,
@@ -710,8 +734,8 @@
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/52602415?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/52602415?v=4&s=80",
"contributions": 1, "contributions": 1,
"profile_url": "https://github.com/yag0x1", "profile_url": "https://github.com/yatgr",
"username": "yag0x1" "username": "yatgr"
}, },
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/241652649?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/241652649?v=4&s=80",
@@ -725,6 +749,12 @@
"profile_url": "https://github.com/wolfspyre", "profile_url": "https://github.com/wolfspyre",
"username": "wolfspyre" "username": "wolfspyre"
}, },
{
"avatar_url": "https://avatars.githubusercontent.com/u/10559068?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/gwils28",
"username": "gwils28"
},
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/6816866?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/6816866?v=4&s=80",
"contributions": 1, "contributions": 1,
@@ -761,12 +791,6 @@
"profile_url": "https://github.com/tveyben", "profile_url": "https://github.com/tveyben",
"username": "tveyben" "username": "tveyben"
}, },
{
"avatar_url": "https://avatars.githubusercontent.com/u/188960?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/tomzx",
"username": "tomzx"
},
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/210173650?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/210173650?v=4&s=80",
"contributions": 1, "contributions": 1,
@@ -833,12 +857,6 @@
"profile_url": "https://github.com/apps/github-actions", "profile_url": "https://github.com/apps/github-actions",
"username": "github-actions[bot]" "username": "github-actions[bot]"
}, },
{
"avatar_url": "https://avatars.githubusercontent.com/u/36474372?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/clemsau",
"username": "clemsau"
},
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/90345171?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/90345171?v=4&s=80",
"contributions": 1, "contributions": 1,
@@ -965,24 +983,30 @@
"profile_url": "https://github.com/tekenstam", "profile_url": "https://github.com/tekenstam",
"username": "tekenstam" "username": "tekenstam"
}, },
{
"avatar_url": "https://avatars.githubusercontent.com/u/188960?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/tomzx",
"username": "tomzx"
},
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/116770736?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/116770736?v=4&s=80",
"contributions": 1, "contributions": 1,
"profile_url": "https://github.com/githubdand", "profile_url": "https://github.com/githubdand",
"username": "githubdand" "username": "githubdand"
}, },
{
"avatar_url": "https://avatars.githubusercontent.com/u/66280613?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/roib20",
"username": "roib20"
},
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/39915210?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/39915210?v=4&s=80",
"contributions": 1, "contributions": 1,
"profile_url": "https://github.com/schachem", "profile_url": "https://github.com/schachem",
"username": "schachem" "username": "schachem"
}, },
{
"avatar_url": "https://avatars.githubusercontent.com/u/149189831?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/stilicho2011",
"username": "stilicho2011"
},
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/25264901?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/25264901?v=4&s=80",
"contributions": 1, "contributions": 1,
@@ -1115,12 +1139,6 @@
"profile_url": "https://github.com/grahamuk2018", "profile_url": "https://github.com/grahamuk2018",
"username": "grahamuk2018" "username": "grahamuk2018"
}, },
{
"avatar_url": "https://avatars.githubusercontent.com/u/25508537?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/hellstabber",
"username": "hellstabber"
},
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/42983358?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/42983358?v=4&s=80",
"contributions": 1, "contributions": 1,
@@ -1235,6 +1253,18 @@
"profile_url": "https://github.com/ripplesding", "profile_url": "https://github.com/ripplesding",
"username": "ripplesding" "username": "ripplesding"
}, },
{
"avatar_url": "https://avatars.githubusercontent.com/u/66280613?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/roib20",
"username": "roib20"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/36474372?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/clemsau",
"username": "clemsau"
},
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/49837021?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/49837021?v=4&s=80",
"contributions": 1, "contributions": 1,
@@ -1493,6 +1523,12 @@
"profile_url": "https://github.com/cintiaching", "profile_url": "https://github.com/cintiaching",
"username": "cintiaching" "username": "cintiaching"
}, },
{
"avatar_url": "https://avatars.githubusercontent.com/u/130518064?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/MaruPandaBear",
"username": "MaruPandaBear"
},
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/433958?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/433958?v=4&s=80",
"contributions": 1, "contributions": 1,
@@ -1601,12 +1637,6 @@
"profile_url": "https://github.com/pjkundert", "profile_url": "https://github.com/pjkundert",
"username": "pjkundert" "username": "pjkundert"
}, },
{
"avatar_url": "https://avatars.githubusercontent.com/u/1530082?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/technicat",
"username": "technicat"
},
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/152732280?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/152732280?v=4&s=80",
"contributions": 1, "contributions": 1,
@@ -1691,6 +1721,12 @@
"profile_url": "https://github.com/MrSom3body", "profile_url": "https://github.com/MrSom3body",
"username": "MrSom3body" "username": "MrSom3body"
}, },
{
"avatar_url": "https://avatars.githubusercontent.com/u/94954931?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/khadirullah",
"username": "khadirullah"
},
{ {
"avatar_url": "https://avatars.githubusercontent.com/u/34948192?v=4&s=80", "avatar_url": "https://avatars.githubusercontent.com/u/34948192?v=4&s=80",
"contributions": 1, "contributions": 1,
@@ -1750,11 +1786,5 @@
"contributions": 1, "contributions": 1,
"profile_url": "https://github.com/manio", "profile_url": "https://github.com/manio",
"username": "manio" "username": "manio"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/130518064?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/MaruPandaBear",
"username": "MaruPandaBear"
} }
] ]
+1 -1
View File
@@ -52,6 +52,6 @@
"mastodon": { "mastodon": {
"icon": "mastodon", "icon": "mastodon",
"title": "sharing.mastodon", "title": "sharing.mastodon",
"url": "https://share.joinmastodon.org/#text=%[2]s %[1]s" "url": "https://share.joinmastodon.org/#text=%[2]s%%20%[1]s"
} }
} }
+2 -1
View File
@@ -36,7 +36,7 @@ smartTOC = true
smartTOCHideUnfocusedChildren = false smartTOCHideUnfocusedChildren = false
#giteaDefaultServer = "https://git.fsfe.org" #giteaDefaultServer = "https://git.fsfe.org"
#forgejoDefaultServer = "https://v11.next.forgejo.org" #forgejoDefaultServer = "https://codeberg.org"
fingerprintAlgorithm = "sha512" # Valid values are "sha512" (default), "sha384", "sha256" fingerprintAlgorithm = "sha512" # Valid values are "sha512" (default), "sha384", "sha256"
@@ -157,6 +157,7 @@ fingerprintAlgorithm = "sha512" # Valid values are "sha512" (default), "sha384",
# dataDomains = "yoursite.com,yoursite2.com" # dataDomains = "yoursite.com,yoursite2.com"
# scriptName = "" # scriptName = ""
# enableTrackEvent = false # enableTrackEvent = false
# integrity = "sha384-YOUR_HASH"
[selineAnalytics] [selineAnalytics]
# token = "XXXXXX" # token = "XXXXXX"
+1 -1
View File
@@ -38,7 +38,7 @@ Blowfish enthält einen Agent-Skill, der Claude Code und anderen Coding-Agents b
{{< /feature-grid >}} {{< /feature-grid >}}
{{< alert >}} {{< alert >}}
**Blowfish v3.5 ist verfügbar.** Starte eine neue Website mit `npx blowfish-tools new <site>` oder [aktualisiere eine bestehende Website]({{< ref "guides/202608-upgrade-to-blowfish-v3" >}}). **Blowfish v3.10 ist verfügbar.** Starte eine neue Website mit `npx blowfish-tools new <site>` oder [aktualisiere eine bestehende Website]({{< ref "guides/202608-upgrade-to-blowfish-v3" >}}).
**Du arbeitest mit einem Coding-Agent?** Führe in Claude Code `/plugin marketplace add nunocoracao/blowfish` und anschließend `/plugin install blowfish@blowfish` aus. Bei einem anderen Agent, der Projekt-Skills liest, kopiere den [`blowfish`-Skill-Ordner](https://github.com/nunocoracao/blowfish/tree/main/.claude/skills/blowfish) in deine Website nach `.claude/skills/blowfish/`. **Du arbeitest mit einem Coding-Agent?** Führe in Claude Code `/plugin marketplace add nunocoracao/blowfish` und anschließend `/plugin install blowfish@blowfish` aus. Bei einem anderen Agent, der Projekt-Skills liest, kopiere den [`blowfish`-Skill-Ordner](https://github.com/nunocoracao/blowfish/tree/main/.claude/skills/blowfish) in deine Website nach `.claude/skills/blowfish/`.
{{< /alert >}} {{< /alert >}}
+1 -1
View File
@@ -38,7 +38,7 @@ Blowfish incluye un skill que enseña a Claude Code y otros agentes de programac
{{< /feature-grid >}} {{< /feature-grid >}}
{{< alert >}} {{< alert >}}
**Blowfish v3.5 ya está disponible.** Crea un sitio nuevo con `npx blowfish-tools new <site>` o [actualiza un sitio existente]({{< ref "guides/202608-upgrade-to-blowfish-v3" >}}). **Blowfish v3.10 ya está disponible.** Crea un sitio nuevo con `npx blowfish-tools new <site>` o [actualiza un sitio existente]({{< ref "guides/202608-upgrade-to-blowfish-v3" >}}).
**¿Trabajas con un agente de programación?** En Claude Code, ejecuta `/plugin marketplace add nunocoracao/blowfish` y después `/plugin install blowfish@blowfish`. Para otro agente que lea skills del proyecto, copia la [carpeta del skill `blowfish`](https://github.com/nunocoracao/blowfish/tree/main/.claude/skills/blowfish) a `.claude/skills/blowfish/` en tu sitio. **¿Trabajas con un agente de programación?** En Claude Code, ejecuta `/plugin marketplace add nunocoracao/blowfish` y después `/plugin install blowfish@blowfish`. Para otro agente que lea skills del proyecto, copia la [carpeta del skill `blowfish`](https://github.com/nunocoracao/blowfish/tree/main/.claude/skills/blowfish) a `.claude/skills/blowfish/` en tu sitio.
{{< /alert >}} {{< /alert >}}
+1 -1
View File
@@ -38,7 +38,7 @@ Blowfish inclut un skill qui apprend à Claude Code et à d'autres agents de cod
{{< /feature-grid >}} {{< /feature-grid >}}
{{< alert >}} {{< alert >}}
**Blowfish v3.5 est disponible.** Créez un nouveau site avec `npx blowfish-tools new <site>` ou [mettez à niveau un site existant]({{< ref "guides/202608-upgrade-to-blowfish-v3" >}}). **Blowfish v3.10 est disponible.** Créez un nouveau site avec `npx blowfish-tools new <site>` ou [mettez à niveau un site existant]({{< ref "guides/202608-upgrade-to-blowfish-v3" >}}).
**Vous travaillez avec un agent de codage ?** Dans Claude Code, exécutez `/plugin marketplace add nunocoracao/blowfish`, puis `/plugin install blowfish@blowfish`. Pour un autre agent qui lit les skills du projet, copiez le [dossier du skill `blowfish`](https://github.com/nunocoracao/blowfish/tree/main/.claude/skills/blowfish) dans `.claude/skills/blowfish/` de votre site. **Vous travaillez avec un agent de codage ?** Dans Claude Code, exécutez `/plugin marketplace add nunocoracao/blowfish`, puis `/plugin install blowfish@blowfish`. Pour un autre agent qui lit les skills du projet, copiez le [dossier du skill `blowfish`](https://github.com/nunocoracao/blowfish/tree/main/.claude/skills/blowfish) dans `.claude/skills/blowfish/` de votre site.
{{< /alert >}} {{< /alert >}}
+1 -1
View File
@@ -38,7 +38,7 @@ Blowfish include una skill che insegna a Claude Code e ad altri agenti di progra
{{< /feature-grid >}} {{< /feature-grid >}}
{{< alert >}} {{< alert >}}
**Blowfish v3.5 è disponibile.** Crea un nuovo sito con `npx blowfish-tools new <site>` oppure [aggiorna un sito esistente]({{< ref "guides/202608-upgrade-to-blowfish-v3" >}}). **Blowfish v3.10 è disponibile.** Crea un nuovo sito con `npx blowfish-tools new <site>` oppure [aggiorna un sito esistente]({{< ref "guides/202608-upgrade-to-blowfish-v3" >}}).
**Lavori con un agente di programmazione?** In Claude Code esegui `/plugin marketplace add nunocoracao/blowfish`, poi `/plugin install blowfish@blowfish`. Per un altro agente che legge le skill del progetto, copia la [cartella della skill `blowfish`](https://github.com/nunocoracao/blowfish/tree/main/.claude/skills/blowfish) in `.claude/skills/blowfish/` del tuo sito. **Lavori con un agente di programmazione?** In Claude Code esegui `/plugin marketplace add nunocoracao/blowfish`, poi `/plugin install blowfish@blowfish`. Per un altro agente che legge le skill del progetto, copia la [cartella della skill `blowfish`](https://github.com/nunocoracao/blowfish/tree/main/.claude/skills/blowfish) in `.claude/skills/blowfish/` del tuo sito.
{{< /alert >}} {{< /alert >}}
+1 -1
View File
@@ -38,7 +38,7 @@ Blowfish には、Claude Code などのコーディングエージェントに
{{< /feature-grid >}} {{< /feature-grid >}}
{{< alert >}} {{< alert >}}
**Blowfish v3.5 が利用可能になりました。** `npx blowfish-tools new <site>` で新しいサイトを始めるか、[既存サイトをアップグレード]({{< ref "guides/202608-upgrade-to-blowfish-v3" >}})してください。 **Blowfish v3.10 が利用可能になりました。** `npx blowfish-tools new <site>` で新しいサイトを始めるか、[既存サイトをアップグレード]({{< ref "guides/202608-upgrade-to-blowfish-v3" >}})してください。
**コーディングエージェントを使っていますか?** Claude Code では `/plugin marketplace add nunocoracao/blowfish` を実行し、次に `/plugin install blowfish@blowfish` を実行します。プロジェクトスキルを読み取る別のエージェントでは、[`blowfish` スキルフォルダ](https://github.com/nunocoracao/blowfish/tree/main/.claude/skills/blowfish)をサイトの `.claude/skills/blowfish/` にコピーしてください。 **コーディングエージェントを使っていますか?** Claude Code では `/plugin marketplace add nunocoracao/blowfish` を実行し、次に `/plugin install blowfish@blowfish` を実行します。プロジェクトスキルを読み取る別のエージェントでは、[`blowfish` スキルフォルダ](https://github.com/nunocoracao/blowfish/tree/main/.claude/skills/blowfish)をサイトの `.claude/skills/blowfish/` にコピーしてください。
{{< /alert >}} {{< /alert >}}
+1 -1
View File
@@ -38,7 +38,7 @@ Blowfish ships an agent skill that teaches Claude Code and other coding agents h
{{< /feature-grid >}} {{< /feature-grid >}}
{{< alert >}} {{< alert >}}
**Blowfish v3.5 is available.** Start a new site with `npx blowfish-tools new <site>` or [upgrade an existing site]({{< ref "guides/202608-upgrade-to-blowfish-v3" >}}). **Blowfish v3.10 is available.** Start a new site with `npx blowfish-tools new <site>` or [upgrade an existing site]({{< ref "guides/202608-upgrade-to-blowfish-v3" >}}).
**Working with a coding agent?** In Claude Code, run `/plugin marketplace add nunocoracao/blowfish`, then `/plugin install blowfish@blowfish`. For another agent that reads project skills, copy the [`blowfish` skill folder](https://github.com/nunocoracao/blowfish/tree/main/.claude/skills/blowfish) into your site at `.claude/skills/blowfish/`. **Working with a coding agent?** In Claude Code, run `/plugin marketplace add nunocoracao/blowfish`, then `/plugin install blowfish@blowfish`. For another agent that reads project skills, copy the [`blowfish` skill folder](https://github.com/nunocoracao/blowfish/tree/main/.claude/skills/blowfish) into your site at `.claude/skills/blowfish/`.
{{< /alert >}} {{< /alert >}}
+1 -1
View File
@@ -38,7 +38,7 @@ O Blowfish inclui uma skill que ensina o Claude Code e outros agentes de program
{{< /feature-grid >}} {{< /feature-grid >}}
{{< alert >}} {{< alert >}}
**O Blowfish v3.5 está disponível.** Crie um novo site com `npx blowfish-tools new <site>` ou [atualize um site existente]({{< ref "guides/202608-upgrade-to-blowfish-v3" >}}). **O Blowfish v3.10 está disponível.** Crie um novo site com `npx blowfish-tools new <site>` ou [atualize um site existente]({{< ref "guides/202608-upgrade-to-blowfish-v3" >}}).
**Trabalha com um agente de programação?** No Claude Code, execute `/plugin marketplace add nunocoracao/blowfish` e depois `/plugin install blowfish@blowfish`. Para outro agente que leia skills do projeto, copie a [pasta da skill `blowfish`](https://github.com/nunocoracao/blowfish/tree/main/.claude/skills/blowfish) para `.claude/skills/blowfish/` no seu site. **Trabalha com um agente de programação?** No Claude Code, execute `/plugin marketplace add nunocoracao/blowfish` e depois `/plugin install blowfish@blowfish`. Para outro agente que leia skills do projeto, copie a [pasta da skill `blowfish`](https://github.com/nunocoracao/blowfish/tree/main/.claude/skills/blowfish) para `.claude/skills/blowfish/` no seu site.
{{< /alert >}} {{< /alert >}}
+1 -1
View File
@@ -38,7 +38,7 @@ O Blowfish inclui uma skill que ensina o Claude Code e outros agentes de program
{{< /feature-grid >}} {{< /feature-grid >}}
{{< alert >}} {{< alert >}}
**O Blowfish v3.5 está disponível.** Crie um novo site com `npx blowfish-tools new <site>` ou [atualize um site existente]({{< ref "guides/202608-upgrade-to-blowfish-v3" >}}). **O Blowfish v3.10 está disponível.** Crie um novo site com `npx blowfish-tools new <site>` ou [atualize um site existente]({{< ref "guides/202608-upgrade-to-blowfish-v3" >}}).
**Trabalha com um agente de programação?** No Claude Code, execute `/plugin marketplace add nunocoracao/blowfish` e depois `/plugin install blowfish@blowfish`. Para outro agente que leia skills do projeto, copie a [pasta da skill `blowfish`](https://github.com/nunocoracao/blowfish/tree/main/.claude/skills/blowfish) para `.claude/skills/blowfish/` no seu site. **Trabalha com um agente de programação?** No Claude Code, execute `/plugin marketplace add nunocoracao/blowfish` e depois `/plugin install blowfish@blowfish`. Para outro agente que leia skills do projeto, copie a [pasta da skill `blowfish`](https://github.com/nunocoracao/blowfish/tree/main/.claude/skills/blowfish) para `.claude/skills/blowfish/` no seu site.
{{< /alert >}} {{< /alert >}}
+1 -1
View File
@@ -38,7 +38,7 @@ Blowfish 附带一个智能体技能,教 Claude Code 等编程智能体安装
{{< /feature-grid >}} {{< /feature-grid >}}
{{< alert >}} {{< alert >}}
**Blowfish v3.5 已发布。** 使用 `npx blowfish-tools new <site>` 创建新网站,或[升级现有网站]({{< ref "guides/202608-upgrade-to-blowfish-v3" >}})。 **Blowfish v3.10 已发布。** 使用 `npx blowfish-tools new <site>` 创建新网站,或[升级现有网站]({{< ref "guides/202608-upgrade-to-blowfish-v3" >}})。
**正在使用编程智能体?** 在 Claude Code 中运行 `/plugin marketplace add nunocoracao/blowfish`,然后运行 `/plugin install blowfish@blowfish`。对于会读取项目技能的其他智能体,将 [`blowfish` 技能文件夹](https://github.com/nunocoracao/blowfish/tree/main/.claude/skills/blowfish)复制到网站中的 `.claude/skills/blowfish/`。 **正在使用编程智能体?** 在 Claude Code 中运行 `/plugin marketplace add nunocoracao/blowfish`,然后运行 `/plugin install blowfish@blowfish`。对于会读取项目技能的其他智能体,将 [`blowfish` 技能文件夹](https://github.com/nunocoracao/blowfish/tree/main/.claude/skills/blowfish)复制到网站中的 `.claude/skills/blowfish/`。
{{< /alert >}} {{< /alert >}}
@@ -342,6 +342,7 @@ Many of the article defaults here can be overridden on a per article basis by sp
| `umamiAnalytics.dataDomains` | _Not set_ | If you want the tracker to only run on specific domains, provide it for your tracker script. This is a comma delimited list of domain names. Such as "yoursite.com,yoursite2.com". | | `umamiAnalytics.dataDomains` | _Not set_ | If you want the tracker to only run on specific domains, provide it for your tracker script. This is a comma delimited list of domain names. Such as "yoursite.com,yoursite2.com". |
| `umamiAnalytics.scriptName` | script.js | The name of the `script.js` used for anti-ad-blocking is configured by the environment variable `TRACKER_SCRIPT_NAME` | | `umamiAnalytics.scriptName` | script.js | The name of the `script.js` used for anti-ad-blocking is configured by the environment variable `TRACKER_SCRIPT_NAME` |
| `umamiAnalytics.enableTrackEvent` | true | When set to `true` track event will add automatically. If you do not want to add track event, set it to `false`. | | `umamiAnalytics.enableTrackEvent` | true | When set to `true` track event will add automatically. If you do not want to add track event, set it to `false`. |
| `umamiAnalytics.integrity` | _Not set_ | Optional SRI hash for the Umami tracking script. When configured, the script uses `crossorigin="anonymous"`. The script host must support CORS, and the hash must be updated whenever the script changes. |
### Seline Analytics ### Seline Analytics
@@ -342,6 +342,7 @@ Blowfish は、テーマの機能を制御する多数の設定パラメータ
| `umamiAnalytics.dataDomains` | _未設定_ | トラッカーを特定のドメインでのみ実行したい場合は、トラッカースクリプトに指定します。これは、ドメイン名のカンマ区切りリストです。例えば "yoursite.com,yoursite2.com" のようになります。 | | `umamiAnalytics.dataDomains` | _未設定_ | トラッカーを特定のドメインでのみ実行したい場合は、トラッカースクリプトに指定します。これは、ドメイン名のカンマ区切りリストです。例えば "yoursite.com,yoursite2.com" のようになります。 |
| `umamiAnalytics.scriptName` | script.js | アンチ広告ブロックに使用される `script.js` の名前は、環境変数 `TRACKER_SCRIPT_NAME` で設定されます。 | | `umamiAnalytics.scriptName` | script.js | アンチ広告ブロックに使用される `script.js` の名前は、環境変数 `TRACKER_SCRIPT_NAME` で設定されます。 |
| `umamiAnalytics.enableTrackEvent` | `true` | `true` に設定すると、トラックイベントが自動的に追加されます。トラックイベントを追加したくない場合は、`false` に設定してください。 | | `umamiAnalytics.enableTrackEvent` | `true` | `true` に設定すると、トラックイベントが自動的に追加されます。トラックイベントを追加したくない場合は、`false` に設定してください。 |
| `umamiAnalytics.integrity` | _未設定_ | Umami トラッキングスクリプトのオプションの SRI ハッシュ。設定すると `crossorigin="anonymous"` が追加されます。スクリプトの配信元は CORS に対応している必要があり、スクリプトが変更された場合はハッシュの更新が必要です。 |
### Seline Analytics ### Seline Analytics
@@ -404,6 +404,7 @@ Many of the article defaults here can be overridden on a per article basis by sp
| `umamiAnalytics.dataDomains` | _Not set_ | If you want the tracker to only run on specific domains, provide it for your tracker script. This is a comma delimited list of domain names. Such as "yoursite.com,yoursite2.com". | | `umamiAnalytics.dataDomains` | _Not set_ | If you want the tracker to only run on specific domains, provide it for your tracker script. This is a comma delimited list of domain names. Such as "yoursite.com,yoursite2.com". |
| `umamiAnalytics.scriptName` | script.js | The name of the `script.js` used for anti-ad-blocking is configured by the environment variable `TRACKER_SCRIPT_NAME` | | `umamiAnalytics.scriptName` | script.js | The name of the `script.js` used for anti-ad-blocking is configured by the environment variable `TRACKER_SCRIPT_NAME` |
| `umamiAnalytics.enableTrackEvent` | true | When set to `true` track event will add automatically. If you do not want to add track event, set it to `false`. | | `umamiAnalytics.enableTrackEvent` | true | When set to `true` track event will add automatically. If you do not want to add track event, set it to `false`. |
| `umamiAnalytics.integrity` | _Not set_ | Optional SRI hash for the Umami tracking script. When configured, the script uses `crossorigin="anonymous"`. The script host must support CORS, and the hash must be updated whenever the script changes. |
### Seline Analytics ### Seline Analytics
@@ -346,6 +346,7 @@ Blowfish 提供了大量控制主题功能的配置参数,下面的表格中
| `umamiAnalytics.dataDomains` | 无 | 如果你只想在特别的数个域名中使用 tracker 功能,那么你需要设置它。这个参数的值是逗号分隔的域名列表,如:yoursite.com,yoursite2.com。 | | `umamiAnalytics.dataDomains` | 无 | 如果你只想在特别的数个域名中使用 tracker 功能,那么你需要设置它。这个参数的值是逗号分隔的域名列表,如:yoursite.com,yoursite2.com。 |
| `umamiAnalytics.scriptName` | script.js | 用于反广告屏蔽的 script.js 名称,由环境变量 `TRACKER_SCRIPT_NAME` 配置。 | | `umamiAnalytics.scriptName` | script.js | 用于反广告屏蔽的 script.js 名称,由环境变量 `TRACKER_SCRIPT_NAME` 配置。 |
| `umamiAnalytics.enableTrackEvent` | true | 默认会自动添加 Umami Track Event。如果你不想添加 Event,那学需要设置为 `false`。 | | `umamiAnalytics.enableTrackEvent` | true | 默认会自动添加 Umami Track Event。如果你不想添加 Event,那学需要设置为 `false`。 |
| `umamiAnalytics.integrity` | 无 | Umami 跟踪脚本的可选 SRI 哈希值。配置后会自动添加 `crossorigin="anonymous"`。脚本服务器必须支持 CORS,且脚本内容发生变化时需要更新哈希值。 |
### Seline Analytics ### Seline Analytics
@@ -47,8 +47,12 @@ To enable Umami Analytics support, simply provide your [Umami tracking code](htt
If you also use the custom domain feature of Umami and would like to serve their script from your domain, you can also additionally provide the `domain` configuration value. If you don't provide a `domain` value, the script will load directly from Umami DNS (analytics.umami.is). If you also use the custom domain feature of Umami and would like to serve their script from your domain, you can also additionally provide the `domain` configuration value. If you don't provide a `domain` value, the script will load directly from Umami DNS (analytics.umami.is).
If you want the tracker to only run on specific domains, you can provide the `dataDomains` configuration value. If you don't provide a `dataDomains` value, the script will run on any website where the `domain` and`websiteid` match. If the environment variable `TRACKER_SCRIPT_NAME` is configured, you can specify a custom script name `scriptName`. If it is not configured, either comment it out or use the default `script.js`. If you want the tracker to only run on specific domains, you can provide the `dataDomains` configuration value. If you don't provide a `dataDomains` value, the script will run on any website where the `domain` and`websiteid` match. If the environment variable `TRACKER_SCRIPT_NAME` is configured, you can specify a custom script name `scriptName`. If it is not configured, either comment it out or use the default `script.js`.
To enable optional Subresource Integrity (SRI), set the `integrity` parameter to a valid SHA-256, SHA-384, or SHA-512 hash. Blowfish automatically adds `crossorigin="anonymous"` when an integrity hash is provided.
{{< alert >}} {{< alert >}}
**Note:** If you enable Umami Analytics, Blowfish will support [Umami Track Event](https://umami.is/docs/track-events) automatically. If you do not want to support Track Event, the param `enableTrackEvent` must set to `false`. **Note:** If you enable Umami Analytics, Blowfish will support [Umami Track Event](https://umami.is/docs/track-events) automatically. If you do not want to support Track Event, the param `enableTrackEvent` must set to `false`.
**SRI:** The script host must support CORS. If the upstream script changes, the integrity hash must be updated; otherwise, browsers will block the script and analytics tracking will stop.
{{< /alert >}} {{< /alert >}}
```toml ```toml
@@ -60,6 +64,7 @@ If you want the tracker to only run on specific domains, you can provide the `da
dataDomains = "yoursite.com,yoursite2.com" dataDomains = "yoursite.com,yoursite2.com"
scriptName = "TRACKER_SCRIPT_NAME" scriptName = "TRACKER_SCRIPT_NAME"
enableTrackEvent = true enableTrackEvent = true
# integrity = "sha384-YOUR_HASH"
``` ```
### Seline Analytics ### Seline Analytics
@@ -47,8 +47,12 @@ Umami Analytics のサポートを有効にするには、`config/_default/param
Umami のカスタムドメイン機能を使用していて、ドメインからスクリプトを配信したい場合は、追加で `domain` 設定値を指定することもできます。`domain` 値を指定しない場合、スクリプトは Umami DNS (analytics.umami.is) から直接ロードされます。 Umami のカスタムドメイン機能を使用していて、ドメインからスクリプトを配信したい場合は、追加で `domain` 設定値を指定することもできます。`domain` 値を指定しない場合、スクリプトは Umami DNS (analytics.umami.is) から直接ロードされます。
トラッカーを特定のドメインでのみ実行したい場合は、`dataDomains` 設定値を指定できます。`dataDomains` 値を指定しない場合、スクリプトは `domain` と `websiteid` が一致する任意のウェブサイトで実行されます。環境変数 `TRACKER_SCRIPT_NAME` が設定されている場合は、カスタムスクリプト名 `scriptName` を指定できます。設定されていない場合は、コメントアウトするか、デフォルトの `script.js` を使用してください。 トラッカーを特定のドメインでのみ実行したい場合は、`dataDomains` 設定値を指定できます。`dataDomains` 値を指定しない場合、スクリプトは `domain` と `websiteid` が一致する任意のウェブサイトで実行されます。環境変数 `TRACKER_SCRIPT_NAME` が設定されている場合は、カスタムスクリプト名 `scriptName` を指定できます。設定されていない場合は、コメントアウトするか、デフォルトの `script.js` を使用してください。
Subresource Integrity (SRI) を有効にするには、オプションの `integrity` パラメータに SHA-256、SHA-384、または SHA-512 ハッシュを指定します。Blowfish は自動的に `crossorigin="anonymous"` を追加します。
{{< alert >}} {{< alert >}}
**注:** Umami Analytics を有効にすると、Blowfish は [Umami トラックイベント](https://umami.is/docs/track-events)を自動的にサポートします。トラックイベントをサポートしたくない場合は、パラメータ `enableTrackEvent` を `false` に設定する必要があります。 **注:** Umami Analytics を有効にすると、Blowfish は [Umami トラックイベント](https://umami.is/docs/track-events)を自動的にサポートします。トラックイベントをサポートしたくない場合は、パラメータ `enableTrackEvent` を `false` に設定する必要があります。
**SRI:** スクリプトの配信元は CORS に対応している必要があります。スクリプトが更新された場合は、整合性ハッシュも更新する必要があります。更新しないと、ブラウザがスクリプトをブロックし、アクセス解析が停止します。
{{< /alert >}} {{< /alert >}}
```toml ```toml
@@ -60,6 +64,7 @@ Umami のカスタムドメイン機能を使用していて、ドメインか
dataDomains = "yoursite.com,yoursite2.com" dataDomains = "yoursite.com,yoursite2.com"
scriptName = "TRACKER_SCRIPT_NAME" scriptName = "TRACKER_SCRIPT_NAME"
enableTrackEvent = true enableTrackEvent = true
# integrity = "sha384-YOUR_HASH"
``` ```
### Seline Analytics ### Seline Analytics
@@ -49,8 +49,12 @@ If you want the tracker to only run on specific domains, you can provide the `da
If you want to honor the Do Not Track setting of the users browser, you have to set `doNotTrack` to `true`. Blowfish does not honor the Do Not Track setting per default. If you want to honor the Do Not Track setting of the users browser, you have to set `doNotTrack` to `true`. Blowfish does not honor the Do Not Track setting per default.
To enable Subresource Integrity (SRI) for the Umami tracking script, set the optional `integrity` parameter to a valid SHA-256, SHA-384, or SHA-512 hash. Blowfish will automatically add `crossorigin="anonymous"` when this parameter is configured.
{{< alert >}} {{< alert >}}
**Note:** If you enable Umami Analytics, Blowfish will support [Umami Track Event](https://umami.is/docs/track-events) automatically. If you do not want to support Track Event, the param `enableTrackEvent` must set to `false`. **Note:** If you enable Umami Analytics, Blowfish will support [Umami Track Event](https://umami.is/docs/track-events) automatically. If you do not want to support Track Event, the param `enableTrackEvent` must set to `false`.
**SRI:** The script host must support CORS. If the upstream script changes, the integrity hash must be updated; otherwise, browsers will block the script and analytics tracking will stop.
{{< /alert >}} {{< /alert >}}
```toml ```toml
@@ -63,6 +67,7 @@ If you want to honor the Do Not Track setting of the users browser, you have to
scriptName = "TRACKER_SCRIPT_NAME" scriptName = "TRACKER_SCRIPT_NAME"
enableTrackEvent = true enableTrackEvent = true
doNotTrack = false doNotTrack = false
# integrity = "sha384-YOUR_HASH"
``` ```
### Seline Analytics ### Seline Analytics
@@ -48,9 +48,12 @@ googleAnalytics = "G-MEASUREMENT_ID"
如果你想使用自定义域名来获取跟踪脚本, 那么需要提供 `domain` 参数,否则会从 Umami 云服务版的地址 (analytics.umami.is) 获取脚本。 如果你想使用自定义域名来获取跟踪脚本, 那么需要提供 `domain` 参数,否则会从 Umami 云服务版的地址 (analytics.umami.is) 获取脚本。
如果你只想在特别的数个域名中使用 tracker 功能,那么需要提供 `dataDomains` 参数。否则任何一个匹配了 `websiteid` 和 `domain` 参数值的网站,Umami 脚本都会执行。如果环境变量配置了 `TRACKER_SCRIPT_NAME` 可以填写自定义的脚本名称 `scriptName`,如果没有配置就注释掉或者填写默认的 `script.js` 。 如果你只想在特别的数个域名中使用 tracker 功能,那么需要提供 `dataDomains` 参数。否则任何一个匹配了 `websiteid` 和 `domain` 参数值的网站,Umami 脚本都会执行。如果环境变量配置了 `TRACKER_SCRIPT_NAME` 可以填写自定义的脚本名称 `scriptName`,如果没有配置就注释掉或者填写默认的 `script.js` 。
要启用子资源完整性(SRI),可以通过可选的 `integrity` 参数设置 SHA-256、SHA-384 或 SHA-512 哈希值。Blowfish 会自动添加 `crossorigin="anonymous"` 属性。
{{< alert >}} {{< alert >}}
**Note:** 开启 Umami 网站分析后, Blowfish 会自动支持 [Umami 事件追踪](https://umami.is/docs/track-events)。如果你不想支持此功能,需要把参数 `enableTrackEvent` 设置为 `false`。 **Note:** 开启 Umami 网站分析后, Blowfish 会自动支持 [Umami 事件追踪](https://umami.is/docs/track-events)。如果你不想支持此功能,需要把参数 `enableTrackEvent` 设置为 `false`。
**SRI:** 脚本服务器必须支持 CORS。如果上游脚本发生变化,必须更新完整性哈希值,否则浏览器将阻止加载该脚本,导致网站分析功能停止工作。
{{< /alert >}} {{< /alert >}}
```toml ```toml
@@ -62,6 +65,7 @@ googleAnalytics = "G-MEASUREMENT_ID"
dataDomains = "yoursite.com,yoursite2.com" dataDomains = "yoursite.com,yoursite2.com"
scriptName = "TRACKER_SCRIPT_NAME" scriptName = "TRACKER_SCRIPT_NAME"
enableTrackEvent = true enableTrackEvent = true
# integrity = "sha384-YOUR_HASH"
``` ```
### Seline ### Seline
@@ -529,16 +529,16 @@ Blowfish unterstützt auch die automatische Konvertierung von Bildern, die mit S
| Parameter | Beschreibung | | Parameter | Beschreibung |
| --------- | ----------------------------------------------------- | | --------- | ----------------------------------------------------- |
| `repo` | [String] Forgejo-Repo im Format `benutzername/repo`| | `repo` | [String] Forgejo-Repo im Format `benutzername/repo`|
| `server` | [String] Server-URL wie `https://v11.next.forgejo.org`| | `server` | [String] Server-URL wie `https://codeberg.org`|
<!-- prettier-ignore-end --> <!-- prettier-ignore-end -->
**Beispiel 1:** **Beispiel 1:**
```md ```md
{{</* forgejo server="https://v11.next.forgejo.org" repo="a/mastodon" */>}} {{</* forgejo server="https://codeberg.org" repo="forgejo/forgejo" */>}}
``` ```
{{< forgejo server="https://v11.next.forgejo.org" repo="a/mastodon" >}} {{< forgejo server="https://codeberg.org" repo="forgejo/forgejo" >}}
<br/><br/><br/> <br/><br/><br/>
@@ -528,16 +528,16 @@ Blowfish también soporta la conversión automática de imágenes incluidas usan
| Parámetro | Descripción | | Parámetro | Descripción |
| --------- | ----------------------------------------------------- | | --------- | ----------------------------------------------------- |
| `repo` | [String] repositorio de Forgejo en formato `usuario/repo`| | `repo` | [String] repositorio de Forgejo en formato `usuario/repo`|
| `server` | [String] URL del servidor como `https://v11.next.forgejo.org`| | `server` | [String] URL del servidor como `https://codeberg.org`|
<!-- prettier-ignore-end --> <!-- prettier-ignore-end -->
**Ejemplo 1:** **Ejemplo 1:**
```md ```md
{{</* forgejo server="https://v11.next.forgejo.org" repo="a/mastodon" */>}} {{</* forgejo server="https://codeberg.org" repo="forgejo/forgejo" */>}}
``` ```
{{< forgejo server="https://v11.next.forgejo.org" repo="a/mastodon" >}} {{< forgejo server="https://codeberg.org" repo="forgejo/forgejo" >}}
<br/><br/><br/> <br/><br/><br/>
@@ -528,16 +528,16 @@ Blowfish prend également en charge la conversion automatique des images incluse
| Paramètre | Description | | Paramètre | Description |
| --------- | ----------------------------------------------------- | | --------- | ----------------------------------------------------- |
| `repo` | [String] dépôt Forgejo au format `utilisateur/repo`| | `repo` | [String] dépôt Forgejo au format `utilisateur/repo`|
| `server` | [String] URL du serveur comme `https://v11.next.forgejo.org`| | `server` | [String] URL du serveur comme `https://codeberg.org`|
<!-- prettier-ignore-end --> <!-- prettier-ignore-end -->
**Exemple 1 :** **Exemple 1 :**
```md ```md
{{</* forgejo server="https://v11.next.forgejo.org" repo="a/mastodon" */>}} {{</* forgejo server="https://codeberg.org" repo="forgejo/forgejo" */>}}
``` ```
{{< forgejo server="https://v11.next.forgejo.org" repo="a/mastodon" >}} {{< forgejo server="https://codeberg.org" repo="forgejo/forgejo" >}}
<br/><br/><br/> <br/><br/><br/>
@@ -530,16 +530,16 @@ Blowfish also supports automatic conversion of images included using standard Ma
| Parameter | Description | | Parameter | Description |
| --------- | ----------------------------------------------------- | | --------- | ----------------------------------------------------- |
| `repo` | [String] forgejo repo in the format of `username/repo`| | `repo` | [String] forgejo repo in the format of `username/repo`|
| `server` | [String] server URL like `https://v11.next.forgejo.org`| | `server` | [String] server URL like `https://codeberg.org`|
<!-- prettier-ignore-end --> <!-- prettier-ignore-end -->
**Example 1:** **Example 1:**
```md ```md
{{</* forgejo server="https://v11.next.forgejo.org" repo="a/mastodon" */>}} {{</* forgejo server="https://codeberg.org" repo="forgejo/forgejo" */>}}
``` ```
{{< forgejo server="https://v11.next.forgejo.org" repo="a/mastodon" >}} {{< forgejo server="https://codeberg.org" repo="forgejo/forgejo" >}}
<br/><br/><br/> <br/><br/><br/>
@@ -529,15 +529,15 @@ Blowfish も、標準の Markdown 構文を使用して含まれる画像の自
| パラメータ | 説明 | | パラメータ | 説明 |
| --------- | ----------------------------------------------------- | | --------- | ----------------------------------------------------- |
| `repo` | [文字列] `username/repo` 形式の forgejo リポジトリ| | `repo` | [文字列] `username/repo` 形式の forgejo リポジトリ|
| `server` | [文字列] `https://v11.next.forgejo.org` のようなサーバー URL| | `server` | [文字列] `https://codeberg.org` のようなサーバー URL|
<!-- prettier-ignore-end --> <!-- prettier-ignore-end -->
**例1:** **例1:**
```md ```md
{{</* forgejo server="https://v11.next.forgejo.org" repo="a/mastodon" */>}} {{</* forgejo server="https://codeberg.org" repo="forgejo/forgejo" */>}}
``` ```
{{< forgejo server="https://v11.next.forgejo.org" repo="a/mastodon" >}} {{< forgejo server="https://codeberg.org" repo="forgejo/forgejo" >}}
<br/><br/><br/> <br/><br/><br/>
+3 -3
View File
@@ -555,16 +555,16 @@ Blowfish also supports automatic conversion of images included using standard Ma
| Parameter | Description | | Parameter | Description |
| --------- | ----------------------------------------------------- | | --------- | ----------------------------------------------------- |
| `repo` | [String] forgejo repo in the format of `username/repo`| | `repo` | [String] forgejo repo in the format of `username/repo`|
| `server` | [String] server URL like `https://v11.next.forgejo.org`| | `server` | [String] server URL like `https://codeberg.org`|
<!-- prettier-ignore-end --> <!-- prettier-ignore-end -->
**Example 1:** **Example 1:**
```md ```md
{{</* forgejo server="https://v11.next.forgejo.org" repo="a/mastodon" */>}} {{</* forgejo server="https://codeberg.org" repo="forgejo/forgejo" */>}}
``` ```
{{< forgejo server="https://v11.next.forgejo.org" repo="a/mastodon" >}} {{< forgejo server="https://codeberg.org" repo="forgejo/forgejo" >}}
<br/><br/><br/> <br/><br/><br/>
@@ -528,16 +528,16 @@ O Blowfish também suporta conversão automática de imagens incluídas usando s
| Parâmetro | Descrição | | Parâmetro | Descrição |
| --------- | ----------------------------------------------------- | | --------- | ----------------------------------------------------- |
| `repo` | [String] repositório Forgejo no formato `usuário/repo`| | `repo` | [String] repositório Forgejo no formato `usuário/repo`|
| `server` | [String] URL do servidor como `https://v11.next.forgejo.org`| | `server` | [String] URL do servidor como `https://codeberg.org`|
<!-- prettier-ignore-end --> <!-- prettier-ignore-end -->
**Exemplo 1:** **Exemplo 1:**
```md ```md
{{</* forgejo server="https://v11.next.forgejo.org" repo="a/mastodon" */>}} {{</* forgejo server="https://codeberg.org" repo="forgejo/forgejo" */>}}
``` ```
{{< forgejo server="https://v11.next.forgejo.org" repo="a/mastodon" >}} {{< forgejo server="https://codeberg.org" repo="forgejo/forgejo" >}}
<br/><br/><br/> <br/><br/><br/>
@@ -528,16 +528,16 @@ O Blowfish também suporta conversão automática de imagens incluídas utilizan
| Parâmetro | Descrição | | Parâmetro | Descrição |
| --------- | ----------------------------------------------------- | | --------- | ----------------------------------------------------- |
| `repo` | [String] repositório Forgejo no formato `utilizador/repo`| | `repo` | [String] repositório Forgejo no formato `utilizador/repo`|
| `server` | [String] URL do servidor como `https://v11.next.forgejo.org`| | `server` | [String] URL do servidor como `https://codeberg.org`|
<!-- prettier-ignore-end --> <!-- prettier-ignore-end -->
**Exemplo 1:** **Exemplo 1:**
```md ```md
{{</* forgejo server="https://v11.next.forgejo.org" repo="a/mastodon" */>}} {{</* forgejo server="https://codeberg.org" repo="forgejo/forgejo" */>}}
``` ```
{{< forgejo server="https://v11.next.forgejo.org" repo="a/mastodon" >}} {{< forgejo server="https://codeberg.org" repo="forgejo/forgejo" >}}
<br/><br/><br/> <br/><br/><br/>
@@ -517,15 +517,15 @@ Blowfish 还支持使用标准 Markdown 语法自动转换图像。只需使用
| Parameter | Description | | Parameter | Description |
| --------- | ----------------------------------------------------- | | --------- | ----------------------------------------------------- |
| `repo` | [String] forgejo repo in the format of `username/repo`| | `repo` | [String] forgejo repo in the format of `username/repo`|
| `server` | [String] server URL like `https://v11.next.forgejo.org`| | `server` | [String] server URL like `https://codeberg.org`|
<!-- prettier-ignore-end --> <!-- prettier-ignore-end -->
**Example 1:** **Example 1:**
```md ```md
{{</* forgejo server="https://v11.next.forgejo.org" repo="a/mastodon" */>}} {{</* forgejo server="https://codeberg.org" repo="forgejo/forgejo" */>}}
``` ```
{{< forgejo server="https://v11.next.forgejo.org" repo="a/mastodon" >}} {{< forgejo server="https://codeberg.org" repo="forgejo/forgejo" >}}
<br/><br/><br/> <br/><br/><br/>
Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

@@ -0,0 +1,13 @@
---
title: "prohomelab.com"
tags: [Blog,Homelab / Self-hosting]
externalUrl: "https://prohomelab.com"
weight: 136
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "prohomelab.com"
tags: [Blog,Homelab / Self-hosting]
externalUrl: "https://prohomelab.com"
weight: 136
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "prohomelab.com"
tags: [Blog,Homelab / Self-hosting]
externalUrl: "https://prohomelab.com"
weight: 136
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "prohomelab.com"
tags: [Blog,Homelab / Self-hosting]
externalUrl: "https://prohomelab.com"
weight: 136
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "prohomelab.com"
tags: [Blog,Homelab / Self-hosting]
externalUrl: "https://prohomelab.com"
weight: 136
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "prohomelab.com"
tags: [Blog,Homelab / Self-hosting]
externalUrl: "https://prohomelab.com"
weight: 136
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "prohomelab.com"
tags: [Blog,Homelab / Self-hosting]
externalUrl: "https://prohomelab.com"
weight: 136
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "prohomelab.com"
tags: [Blog,Homelab / Self-hosting]
externalUrl: "https://prohomelab.com"
weight: 136
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "prohomelab.com"
tags: [Blog,Homelab / Self-hosting]
externalUrl: "https://prohomelab.com"
weight: 136
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

@@ -0,0 +1,13 @@
---
title: "Nour Agha"
tags: [Personal site,Blog]
externalUrl: "https://agha.dev"
weight: 137
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "Nour Agha"
tags: [Personal site,Blog]
externalUrl: "https://agha.dev"
weight: 137
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "Nour Agha"
tags: [Personal site,Blog]
externalUrl: "https://agha.dev"
weight: 137
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "Nour Agha"
tags: [Personal site,Blog]
externalUrl: "https://agha.dev"
weight: 137
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "Nour Agha"
tags: [Personal site,Blog]
externalUrl: "https://agha.dev"
weight: 137
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "Nour Agha"
tags: [Personal site,Blog]
externalUrl: "https://agha.dev"
weight: 137
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "Nour Agha"
tags: [Personal site,Blog]
externalUrl: "https://agha.dev"
weight: 137
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "Nour Agha"
tags: [Personal site,Blog]
externalUrl: "https://agha.dev"
weight: 137
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "Nour Agha"
tags: [Personal site,Blog]
externalUrl: "https://agha.dev"
weight: 137
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

@@ -0,0 +1,13 @@
---
title: "gwils28.github.io"
tags: [Personal site,Blog,Portfolio]
externalUrl: "https://gwils28.github.io"
weight: 138
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "gwils28.github.io"
tags: [Personal site,Blog,Portfolio]
externalUrl: "https://gwils28.github.io"
weight: 138
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "gwils28.github.io"
tags: [Personal site,Blog,Portfolio]
externalUrl: "https://gwils28.github.io"
weight: 138
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "gwils28.github.io"
tags: [Personal site,Blog,Portfolio]
externalUrl: "https://gwils28.github.io"
weight: 138
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "gwils28.github.io"
tags: [Personal site,Blog,Portfolio]
externalUrl: "https://gwils28.github.io"
weight: 138
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "gwils28.github.io"
tags: [Personal site,Blog,Portfolio]
externalUrl: "https://gwils28.github.io"
weight: 138
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "gwils28.github.io"
tags: [Personal site,Blog,Portfolio]
externalUrl: "https://gwils28.github.io"
weight: 138
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "gwils28.github.io"
tags: [Personal site,Blog,Portfolio]
externalUrl: "https://gwils28.github.io"
weight: 138
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "gwils28.github.io"
tags: [Personal site,Blog,Portfolio]
externalUrl: "https://gwils28.github.io"
weight: 138
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
+8
View File
@@ -4,6 +4,10 @@
data-id="umami-script" data-id="umami-script"
async async
src="https://{{ site.Params.umamiAnalytics.domain }}/{{ with site.Params.umamiAnalytics.scriptName }}{{ . }}{{ else }}script.js{{ end }}" src="https://{{ site.Params.umamiAnalytics.domain }}/{{ with site.Params.umamiAnalytics.scriptName }}{{ . }}{{ else }}script.js{{ end }}"
{{ with site.Params.umamiAnalytics.integrity }}
integrity="{{ . }}"
crossorigin="anonymous"
{{ end }}
data-website-id="{{ site.Params.umamiAnalytics.websiteid }}" data-website-id="{{ site.Params.umamiAnalytics.websiteid }}"
{{ with site.Params.umamiAnalytics.dataDomains }}data-domains="{{ . }}"{{ end }} {{ with site.Params.umamiAnalytics.dataDomains }}data-domains="{{ . }}"{{ end }}
data-do-not-track="{{ site.Params.umamiAnalytics.doNotTrack | default false }}"></script> data-do-not-track="{{ site.Params.umamiAnalytics.doNotTrack | default false }}"></script>
@@ -12,6 +16,10 @@
data-id="umami-script" data-id="umami-script"
async async
src="https://analytics.umami.is/script.js" src="https://analytics.umami.is/script.js"
{{ with site.Params.umamiAnalytics.integrity }}
integrity="{{ . }}"
crossorigin="anonymous"
{{ end }}
data-website-id="{{ site.Params.umamiAnalytics.websiteid }}" data-website-id="{{ site.Params.umamiAnalytics.websiteid }}"
data-do-not-track="{{ site.Params.umamiAnalytics.doNotTrack | default false }}"></script> data-do-not-track="{{ site.Params.umamiAnalytics.doNotTrack | default false }}"></script>
{{ end }} {{ end }}
+5 -1
View File
@@ -1,12 +1,16 @@
{{ with .Params.sharingLinks | default (.Site.Params.article.sharingLinks | default false) }} {{ with .Params.sharingLinks | default (.Site.Params.article.sharingLinks | default false) }}
{{ $links := hugo.Data.sharing }} {{ $links := hugo.Data.sharing }}
{{ $pageURL := urlquery $.Permalink }}
{{ $pageTitle := urlquery $.Title }}
{{ $mastodonURL := replace $pageURL "+" "%20" }}
{{ $mastodonTitle := replace $pageTitle "+" "%20" }}
<section class="flex flex-row flex-wrap justify-center pt-4 text-xl"> <section class="flex flex-row flex-wrap justify-center pt-4 text-xl">
{{ range . }} {{ range . }}
{{ with index $links . }} {{ with index $links . }}
<a <a
class="m-1 rounded bg-neutral-300 p-1.5 text-neutral-700 hover:bg-primary-500 hover:text-neutral dark:bg-neutral-700 dark:text-neutral-300 dark:hover:bg-primary-400 dark:hover:text-neutral-800" class="m-1 rounded bg-neutral-300 p-1.5 text-neutral-700 hover:bg-primary-500 hover:text-neutral dark:bg-neutral-700 dark:text-neutral-300 dark:hover:bg-primary-400 dark:hover:text-neutral-800"
target="_blank" target="_blank"
href="{{ printf .url $.Permalink $.Title | safeURL }}" href="{{ if eq .icon "mastodon" }}{{ printf .url $mastodonURL $mastodonTitle | safeURL }}{{ else }}{{ printf .url $pageURL $pageTitle | safeURL }}{{ end }}"
title="{{ i18n .title }}" title="{{ i18n .title }}"
aria-label="{{ i18n .title }}"> aria-label="{{ i18n .title }}">
{{ partial "icon.html" .icon }} {{ partial "icon.html" .icon }}
+2 -16
View File
@@ -1,12 +1,12 @@
{ {
"name": "hugo-blowfish-theme", "name": "hugo-blowfish-theme",
"version": "3.8.0", "version": "3.10.0",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "hugo-blowfish-theme", "name": "hugo-blowfish-theme",
"version": "3.8.0", "version": "3.10.0",
"hasInstallScript": true, "hasInstallScript": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
@@ -704,13 +704,6 @@
"tailwindcss": "dist/index.mjs" "tailwindcss": "dist/index.mjs"
} }
}, },
"node_modules/@tailwindcss/cli/node_modules/tailwindcss": {
"version": "4.3.3",
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.3.3.tgz",
"integrity": "sha512-gOhV3P7ufE62QDGg1zVaTgCR+EtPv92k2nIhVcVKcLmxT1sUBsQGhnZj175j+MqRt4zLF7ic+sCYjfhxMxj7YQ==",
"dev": true,
"license": "MIT"
},
"node_modules/@tailwindcss/forms": { "node_modules/@tailwindcss/forms": {
"version": "0.5.11", "version": "0.5.11",
"resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.11.tgz", "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.11.tgz",
@@ -739,13 +732,6 @@
"tailwindcss": "4.3.5" "tailwindcss": "4.3.5"
} }
}, },
"node_modules/@tailwindcss/node/node_modules/tailwindcss": {
"version": "4.3.3",
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.3.3.tgz",
"integrity": "sha512-gOhV3P7ufE62QDGg1zVaTgCR+EtPv92k2nIhVcVKcLmxT1sUBsQGhnZj175j+MqRt4zLF7ic+sCYjfhxMxj7YQ==",
"dev": true,
"license": "MIT"
},
"node_modules/@tailwindcss/oxide": { "node_modules/@tailwindcss/oxide": {
"version": "4.3.5", "version": "4.3.5",
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.3.5.tgz", "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.3.5.tgz",
+5 -1
View File
@@ -98,7 +98,11 @@ function generateDirName(seed, index) {
for (const lang of targetLangs) { for (const lang of targetLangs) {
await fs.writeFile(dir + `/index.${lang}.md`, userMDFile); await fs.writeFile(dir + `/index.${lang}.md`, userMDFile);
} }
await page.goto(user.url, { waitUntil: "networkidle2", timeout: 30000 }); try {
await page.goto(user.url, { waitUntil: "load", timeout: 30000 });
} catch (err) {
console.warn(` warning: ${user.url} did not finish loading (${err.message}); taking screenshot anyway`);
}
await new Promise(resolve => setTimeout(resolve, 2000)); await new Promise(resolve => setTimeout(resolve, 2000));
await page.screenshot({ path: dir + "/feature.webp", type: "webp", quality: 50 }); await page.screenshot({ path: dir + "/feature.webp", type: "webp", quality: 50 });
} }