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 */
!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
/*! medium-zoom 1.1.2 | MIT License | https://github.com/francoischalifour/medium-zoom */
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" },
# { chess-com = "https://www.chess.com/member/username" },
# { codepen = "https://codepen.io/username" },
# { credly = "https://www.credly.com/users/username/badges/credly" },
# { dev = "https://dev.to/username" },
# { discord = "https://discord.gg/invitecode" },
# { dribbble = "https://dribbble.com/username" },
+2 -1
View File
@@ -41,7 +41,7 @@ hotlinkFeatureImage = false
fingerprintAlgorithm = "sha512" # Valid values are "sha512" (default), "sha384", "sha256"
giteaDefaultServer = "https://git.fsfe.org"
forgejoDefaultServer = "https://v11.next.forgejo.org"
forgejoDefaultServer = "https://codeberg.org"
[languageRedirect]
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"
# scriptName = ""
# enableTrackEvent = true
# integrity = "sha384-YOUR_HASH"
[selineAnalytics]
# token = "XXXXXX"
+184 -154
View File
@@ -1,13 +1,13 @@
[
{
"avatar_url": "https://avatars.githubusercontent.com/u/3803196?v=4&s=80",
"contributions": 2697,
"contributions": 2735,
"profile_url": "https://github.com/nunocoracao",
"username": "nunocoracao"
},
{
"avatar_url": "https://avatars.githubusercontent.com/in/29110?v=4&s=80",
"contributions": 630,
"contributions": 654,
"profile_url": "https://github.com/apps/dependabot",
"username": "dependabot[bot]"
},
@@ -78,10 +78,10 @@
"username": "Aphcity"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/40151420?v=4&s=80",
"contributions": 13,
"profile_url": "https://github.com/ldericher",
"username": "ldericher"
"avatar_url": "https://avatars.githubusercontent.com/u/137512150?v=4&s=80",
"contributions": 14,
"profile_url": "https://github.com/aplgr",
"username": "aplgr"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/63574588?v=4&s=80",
@@ -90,10 +90,10 @@
"username": "wermos"
},
{
"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/40151420?v=4&s=80",
"contributions": 13,
"profile_url": "https://github.com/ldericher",
"username": "ldericher"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/48058525?v=4&s=80",
@@ -107,18 +107,18 @@
"profile_url": "https://github.com/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",
"contributions": 12,
"profile_url": "https://github.com/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",
"contributions": 11,
@@ -137,12 +137,6 @@
"profile_url": "https://github.com/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",
"contributions": 9,
@@ -150,10 +144,10 @@
"username": "RxChi1d"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/49299328?v=4&s=80",
"contributions": 8,
"profile_url": "https://github.com/LITUATUI",
"username": "LITUATUI"
"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/227486?v=4&s=80",
@@ -162,10 +156,10 @@
"username": "chrisbanes"
},
{
"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/49299328?v=4&s=80",
"contributions": 8,
"profile_url": "https://github.com/LITUATUI",
"username": "LITUATUI"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/22131782?v=4&s=80",
@@ -173,6 +167,12 @@
"profile_url": "https://github.com/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",
"contributions": 6,
@@ -191,6 +191,12 @@
"profile_url": "https://github.com/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",
"contributions": 5,
@@ -209,6 +215,24 @@
"profile_url": "https://github.com/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",
"contributions": 5,
@@ -221,18 +245,6 @@
"profile_url": "https://github.com/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",
"contributions": 4,
@@ -240,10 +252,10 @@
"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,
"profile_url": "https://github.com/0r1k",
"username": "0r1k"
"profile_url": "https://github.com/DiogoM1",
"username": "DiogoM1"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/14915201?v=4&s=80",
@@ -251,12 +263,6 @@
"profile_url": "https://github.com/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",
"contributions": 4,
@@ -275,6 +281,12 @@
"profile_url": "https://github.com/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",
"contributions": 4,
@@ -287,6 +299,12 @@
"profile_url": "https://github.com/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",
"contributions": 4,
@@ -300,16 +318,10 @@
"username": "AlanTanner"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/17262574?v=4&s=80",
"contributions": 4,
"profile_url": "https://github.com/wollmannbruno",
"username": "wollmannbruno"
},
{
"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/13023025?v=4&s=80",
"contributions": 3,
"profile_url": "https://github.com/Coehill",
"username": "Coehill"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/128829398?v=4&s=80",
@@ -335,12 +347,6 @@
"profile_url": "https://github.com/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",
"contributions": 3,
@@ -354,10 +360,10 @@
"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,
"profile_url": "https://github.com/timcappalli",
"username": "timcappalli"
"profile_url": "https://github.com/ModdyLP",
"username": "ModdyLP"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/1386868?v=4&s=80",
@@ -366,28 +372,22 @@
"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,
"profile_url": "https://github.com/ModdyLP",
"username": "ModdyLP"
"profile_url": "https://github.com/timcappalli",
"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,
"profile_url": "https://github.com/albertonl",
"username": "albertonl"
"profile_url": "https://github.com/WilliamRagstad",
"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,
"profile_url": "https://github.com/Scoty",
"username": "Scoty"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/3262190?v=4&s=80",
"contributions": 3,
"profile_url": "https://github.com/chandlertee",
"username": "chandlertee"
"profile_url": "https://github.com/adilhyz",
"username": "adilhyz"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/1698841?v=4&s=80",
@@ -396,10 +396,10 @@
"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,
"profile_url": "https://github.com/Coehill",
"username": "Coehill"
"profile_url": "https://github.com/chandlertee",
"username": "chandlertee"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/5670510?v=4&s=80",
@@ -407,12 +407,36 @@
"profile_url": "https://github.com/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",
"contributions": 3,
"profile_url": "https://github.com/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",
"contributions": 3,
@@ -444,10 +468,10 @@
"username": "hudsonm62"
},
{
"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/44976946?v=4&s=80",
"contributions": 2,
"profile_url": "https://github.com/maciejopalinski",
"username": "maciejopalinski"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/92675206?v=4&s=80",
@@ -492,10 +516,10 @@
"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,
"profile_url": "https://github.com/maciejopalinski",
"username": "maciejopalinski"
"profile_url": "https://github.com/v20100v",
"username": "v20100v"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/24326642?v=4&s=80",
@@ -509,12 +533,6 @@
"profile_url": "https://github.com/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",
"contributions": 2,
@@ -527,6 +545,12 @@
"profile_url": "https://github.com/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",
"contributions": 2,
@@ -539,6 +563,12 @@
"profile_url": "https://github.com/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",
"contributions": 2,
@@ -558,16 +588,10 @@
"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,
"profile_url": "https://github.com/micheledinelli",
"username": "micheledinelli"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/138979906?v=4&s=80",
"contributions": 2,
"profile_url": "https://github.com/mtheindiecoder",
"username": "mtheindiecoder"
"profile_url": "https://github.com/pawelngei",
"username": "pawelngei"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/415688?v=4&s=80",
@@ -575,12 +599,6 @@
"profile_url": "https://github.com/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",
"contributions": 2,
@@ -617,6 +635,12 @@
"profile_url": "https://github.com/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",
"contributions": 2,
@@ -710,8 +734,8 @@
{
"avatar_url": "https://avatars.githubusercontent.com/u/52602415?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/yag0x1",
"username": "yag0x1"
"profile_url": "https://github.com/yatgr",
"username": "yatgr"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/241652649?v=4&s=80",
@@ -725,6 +749,12 @@
"profile_url": "https://github.com/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",
"contributions": 1,
@@ -761,12 +791,6 @@
"profile_url": "https://github.com/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",
"contributions": 1,
@@ -833,12 +857,6 @@
"profile_url": "https://github.com/apps/github-actions",
"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",
"contributions": 1,
@@ -965,24 +983,30 @@
"profile_url": "https://github.com/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",
"contributions": 1,
"profile_url": "https://github.com/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",
"contributions": 1,
"profile_url": "https://github.com/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",
"contributions": 1,
@@ -1115,12 +1139,6 @@
"profile_url": "https://github.com/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",
"contributions": 1,
@@ -1235,6 +1253,18 @@
"profile_url": "https://github.com/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",
"contributions": 1,
@@ -1493,6 +1523,12 @@
"profile_url": "https://github.com/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",
"contributions": 1,
@@ -1601,12 +1637,6 @@
"profile_url": "https://github.com/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",
"contributions": 1,
@@ -1691,6 +1721,12 @@
"profile_url": "https://github.com/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",
"contributions": 1,
@@ -1750,11 +1786,5 @@
"contributions": 1,
"profile_url": "https://github.com/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": {
"icon": "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
#giteaDefaultServer = "https://git.fsfe.org"
#forgejoDefaultServer = "https://v11.next.forgejo.org"
#forgejoDefaultServer = "https://codeberg.org"
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"
# scriptName = ""
# enableTrackEvent = false
# integrity = "sha384-YOUR_HASH"
[selineAnalytics]
# 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 >}}
{{< 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/`.
{{< /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 >}}
{{< 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.
{{< /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 >}}
{{< 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.
{{< /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 >}}
{{< 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.
{{< /alert >}}
+1 -1
View File
@@ -38,7 +38,7 @@ Blowfish には、Claude Code などのコーディングエージェントに
{{< /feature-grid >}}
{{< 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/` にコピーしてください。
{{< /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 >}}
{{< 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/`.
{{< /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 >}}
{{< 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.
{{< /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 >}}
{{< 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.
{{< /alert >}}
+1 -1
View File
@@ -38,7 +38,7 @@ Blowfish 附带一个智能体技能,教 Claude Code 等编程智能体安装
{{< /feature-grid >}}
{{< 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/`。
{{< /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.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.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
@@ -342,6 +342,7 @@ Blowfish は、テーマの機能を制御する多数の設定パラメータ
| `umamiAnalytics.dataDomains` | _未設定_ | トラッカーを特定のドメインでのみ実行したい場合は、トラッカースクリプトに指定します。これは、ドメイン名のカンマ区切りリストです。例えば "yoursite.com,yoursite2.com" のようになります。 |
| `umamiAnalytics.scriptName` | script.js | アンチ広告ブロックに使用される `script.js` の名前は、環境変数 `TRACKER_SCRIPT_NAME` で設定されます。 |
| `umamiAnalytics.enableTrackEvent` | `true` | `true` に設定すると、トラックイベントが自動的に追加されます。トラックイベントを追加したくない場合は、`false` に設定してください。 |
| `umamiAnalytics.integrity` | _未設定_ | Umami トラッキングスクリプトのオプションの SRI ハッシュ。設定すると `crossorigin="anonymous"` が追加されます。スクリプトの配信元は CORS に対応している必要があり、スクリプトが変更された場合はハッシュの更新が必要です。 |
### 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.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.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
@@ -346,6 +346,7 @@ Blowfish 提供了大量控制主题功能的配置参数,下面的表格中
| `umamiAnalytics.dataDomains` | 无 | 如果你只想在特别的数个域名中使用 tracker 功能,那么你需要设置它。这个参数的值是逗号分隔的域名列表,如:yoursite.com,yoursite2.com。 |
| `umamiAnalytics.scriptName` | script.js | 用于反广告屏蔽的 script.js 名称,由环境变量 `TRACKER_SCRIPT_NAME` 配置。 |
| `umamiAnalytics.enableTrackEvent` | true | 默认会自动添加 Umami Track Event。如果你不想添加 Event,那学需要设置为 `false`。 |
| `umamiAnalytics.integrity` | 无 | Umami 跟踪脚本的可选 SRI 哈希值。配置后会自动添加 `crossorigin="anonymous"`。脚本服务器必须支持 CORS,且脚本内容发生变化时需要更新哈希值。 |
### 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 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 >}}
**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 >}}
```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"
scriptName = "TRACKER_SCRIPT_NAME"
enableTrackEvent = true
# integrity = "sha384-YOUR_HASH"
```
### Seline Analytics
@@ -47,8 +47,12 @@ Umami Analytics のサポートを有効にするには、`config/_default/param
Umami のカスタムドメイン機能を使用していて、ドメインからスクリプトを配信したい場合は、追加で `domain` 設定値を指定することもできます。`domain` 値を指定しない場合、スクリプトは Umami DNS (analytics.umami.is) から直接ロードされます。
トラッカーを特定のドメインでのみ実行したい場合は、`dataDomains` 設定値を指定できます。`dataDomains` 値を指定しない場合、スクリプトは `domain` と `websiteid` が一致する任意のウェブサイトで実行されます。環境変数 `TRACKER_SCRIPT_NAME` が設定されている場合は、カスタムスクリプト名 `scriptName` を指定できます。設定されていない場合は、コメントアウトするか、デフォルトの `script.js` を使用してください。
Subresource Integrity (SRI) を有効にするには、オプションの `integrity` パラメータに SHA-256、SHA-384、または SHA-512 ハッシュを指定します。Blowfish は自動的に `crossorigin="anonymous"` を追加します。
{{< alert >}}
**注:** Umami Analytics を有効にすると、Blowfish は [Umami トラックイベント](https://umami.is/docs/track-events)を自動的にサポートします。トラックイベントをサポートしたくない場合は、パラメータ `enableTrackEvent` を `false` に設定する必要があります。
**SRI:** スクリプトの配信元は CORS に対応している必要があります。スクリプトが更新された場合は、整合性ハッシュも更新する必要があります。更新しないと、ブラウザがスクリプトをブロックし、アクセス解析が停止します。
{{< /alert >}}
```toml
@@ -60,6 +64,7 @@ Umami のカスタムドメイン機能を使用していて、ドメインか
dataDomains = "yoursite.com,yoursite2.com"
scriptName = "TRACKER_SCRIPT_NAME"
enableTrackEvent = true
# integrity = "sha384-YOUR_HASH"
```
### 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.
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 >}}
**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 >}}
```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"
enableTrackEvent = true
doNotTrack = false
# integrity = "sha384-YOUR_HASH"
```
### Seline Analytics
@@ -48,9 +48,12 @@ googleAnalytics = "G-MEASUREMENT_ID"
如果你想使用自定义域名来获取跟踪脚本, 那么需要提供 `domain` 参数,否则会从 Umami 云服务版的地址 (analytics.umami.is) 获取脚本。
如果你只想在特别的数个域名中使用 tracker 功能,那么需要提供 `dataDomains` 参数。否则任何一个匹配了 `websiteid` 和 `domain` 参数值的网站,Umami 脚本都会执行。如果环境变量配置了 `TRACKER_SCRIPT_NAME` 可以填写自定义的脚本名称 `scriptName`,如果没有配置就注释掉或者填写默认的 `script.js` 。
要启用子资源完整性(SRI),可以通过可选的 `integrity` 参数设置 SHA-256、SHA-384 或 SHA-512 哈希值。Blowfish 会自动添加 `crossorigin="anonymous"` 属性。
{{< alert >}}
**Note:** 开启 Umami 网站分析后, Blowfish 会自动支持 [Umami 事件追踪](https://umami.is/docs/track-events)。如果你不想支持此功能,需要把参数 `enableTrackEvent` 设置为 `false`。
**SRI:** 脚本服务器必须支持 CORS。如果上游脚本发生变化,必须更新完整性哈希值,否则浏览器将阻止加载该脚本,导致网站分析功能停止工作。
{{< /alert >}}
```toml
@@ -62,6 +65,7 @@ googleAnalytics = "G-MEASUREMENT_ID"
dataDomains = "yoursite.com,yoursite2.com"
scriptName = "TRACKER_SCRIPT_NAME"
enableTrackEvent = true
# integrity = "sha384-YOUR_HASH"
```
### Seline
@@ -529,16 +529,16 @@ Blowfish unterstützt auch die automatische Konvertierung von Bildern, die mit S
| Parameter | Beschreibung |
| --------- | ----------------------------------------------------- |
| `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 -->
**Beispiel 1:**
```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/>
@@ -528,16 +528,16 @@ Blowfish también soporta la conversión automática de imágenes incluidas usan
| Parámetro | Descripción |
| --------- | ----------------------------------------------------- |
| `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 -->
**Ejemplo 1:**
```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/>
@@ -528,16 +528,16 @@ Blowfish prend également en charge la conversion automatique des images incluse
| Paramètre | Description |
| --------- | ----------------------------------------------------- |
| `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 -->
**Exemple 1 :**
```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/>
@@ -530,16 +530,16 @@ Blowfish also supports automatic conversion of images included using standard Ma
| Parameter | Description |
| --------- | ----------------------------------------------------- |
| `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 -->
**Example 1:**
```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/>
@@ -529,15 +529,15 @@ Blowfish も、標準の Markdown 構文を使用して含まれる画像の自
| パラメータ | 説明 |
| --------- | ----------------------------------------------------- |
| `repo` | [文字列] `username/repo` 形式の forgejo リポジトリ|
| `server` | [文字列] `https://v11.next.forgejo.org` のようなサーバー URL|
| `server` | [文字列] `https://codeberg.org` のようなサーバー URL|
<!-- prettier-ignore-end -->
**例1:**
```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/>
+3 -3
View File
@@ -555,16 +555,16 @@ Blowfish also supports automatic conversion of images included using standard Ma
| Parameter | Description |
| --------- | ----------------------------------------------------- |
| `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 -->
**Example 1:**
```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/>
@@ -528,16 +528,16 @@ O Blowfish também suporta conversão automática de imagens incluídas usando s
| Parâmetro | Descrição |
| --------- | ----------------------------------------------------- |
| `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 -->
**Exemplo 1:**
```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/>
@@ -528,16 +528,16 @@ O Blowfish também suporta conversão automática de imagens incluídas utilizan
| Parâmetro | Descrição |
| --------- | ----------------------------------------------------- |
| `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 -->
**Exemplo 1:**
```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/>
@@ -517,15 +517,15 @@ Blowfish 还支持使用标准 Markdown 语法自动转换图像。只需使用
| Parameter | Description |
| --------- | ----------------------------------------------------- |
| `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 -->
**Example 1:**
```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/>
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"
async
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 }}"
{{ with site.Params.umamiAnalytics.dataDomains }}data-domains="{{ . }}"{{ end }}
data-do-not-track="{{ site.Params.umamiAnalytics.doNotTrack | default false }}"></script>
@@ -12,6 +16,10 @@
data-id="umami-script"
async
src="https://analytics.umami.is/script.js"
{{ with site.Params.umamiAnalytics.integrity }}
integrity="{{ . }}"
crossorigin="anonymous"
{{ end }}
data-website-id="{{ site.Params.umamiAnalytics.websiteid }}"
data-do-not-track="{{ site.Params.umamiAnalytics.doNotTrack | default false }}"></script>
{{ end }}
+5 -1
View File
@@ -1,12 +1,16 @@
{{ with .Params.sharingLinks | default (.Site.Params.article.sharingLinks | default false) }}
{{ $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">
{{ range . }}
{{ with index $links . }}
<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"
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 }}"
aria-label="{{ i18n .title }}">
{{ partial "icon.html" .icon }}
+2 -16
View File
@@ -1,12 +1,12 @@
{
"name": "hugo-blowfish-theme",
"version": "3.8.0",
"version": "3.10.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "hugo-blowfish-theme",
"version": "3.8.0",
"version": "3.10.0",
"hasInstallScript": true,
"license": "MIT",
"dependencies": {
@@ -704,13 +704,6 @@
"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": {
"version": "0.5.11",
"resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.11.tgz",
@@ -739,13 +732,6 @@
"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": {
"version": "4.3.5",
"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) {
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 page.screenshot({ path: dir + "/feature.webp", type: "webp", quality: 50 });
}