1<!DOCTYPE html><html lang="en" class="motion-safe:scroll-smooth"> <head><meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Forgejo FAQ | Forgejo â Beyond coding. We forge.</title> 2<meta name="description" content="Where does the name come from?"> 3<meta name="robots" content="index,follow"> 4<meta property="og:title" content="Forgejo FAQ | Forgejo â Beyond coding. We forge."> 5<meta property="og:description" content="Where does the name come from?"> 6<meta property="og:type" content="website"> 7<meta property="og:image" content="https://forgejo.org/_astro/og-preview.Uy75QWb0_6Lpd2.webp"> 8<meta property="og:image:alt" content="Forgejo FAQ | Forgejo â Beyond coding. We forge."> 9 10<meta name="twitter:card" content="summary_large_image"> <meta name="fediverse:creator" content="@[email protected]"> <link rel="shortcut icon" href="/favicon.ico"> <link rel="icon" type="image/png" href="/favicon.png"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <link rel="mask-icon" href="/favicon.svg" color="#8D46E7"><link rel="stylesheet" href="/_astro/PageLayout.Ckdgf0tH.css"></head> <body class="antialiased text-zinc-900 dark:text-zinc-400 tracking-tight bg-white dark:bg-steel-800"> <header class="sticky top-0 z-40 flex-none mx-auto w-full border-b bg-white md:bg-white/90 border-black/7 dark:bg-steel-900 dark:md:bg-steel-900/90 dark:border-black/25 md:backdrop-blur-sm" id="header"> <div class="py-3 px-3 mx-auto w-full md:flex md:justify-between max-w-6xl md:px-4"> <div class="flex justify-between"> <a class="flex items-center focus:outline-none focus:ring-4 focus:ring-gray-200 dark:focus:ring-gray-700 rounded-lg p-1 ml-1" href="/">
10 <span class="self-center text-2xl md:text-xl font-bold text-zinc-900 whitespace-nowrap dark:text-white"> <img src="/images/forgejo-wordmark.svg" style="height: 2em;" alt="Forgejo"> </span> </a> <div class="flex items-center md:hidden"> <button type="button" class="hidden text-zinc-600 dark:text-zinc-300 hover:text-zinc-900 dark:hover:text-white hover:bg-primary-100 dark:hover:bg-steel-700 focus:outline-none focus:ring-4 focus:ring-gray-200 dark:focus:ring-gray-700 rounded-lg text-sm p-2.5" aria-label="Toggle between Dark and Light mode" data-aw-toggle-color-scheme> <svg width="1em" height="1em" viewBox="0 0 24 24" class="w-6 h-6" data-icon="tabler:sun"> <symbol id="ai:tabler:sun"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 12a4 4 0 1 0 8 0a4 4 0 1 0-8 0m-5 0h1m8-9v1m8 8h1m-9 8v1M5.6 5.6l.7.7m12.1-.7l-.7.7m0 11.4l.7.7m-12.1-.7l-.7.7"/></symbol><use href="#ai:tabler:sun"></use> </svg> </button>
10<script type="module">function e(){let e=[],t=n=>{for(let r of n)r instanceof CSSMediaRule&&r.media?.mediaText===`(prefers-color-scheme: dark)`&&e.push(r),r instanceof CSSGroupingRule&&t(r.cssRules)};for(let e of document.styleSheets)t(e.cssRules);return function(t){let n=`(prefers-color-scheme: dark)`;t==`dark`?n=``:t==`light`&&(n=`(original-prefers-color-scheme)`),console.log(t,n),e.forEach(e=>{e.media.mediaText=n})}}function t(){let t=e();return`theme`in localStorage&&t(localStorage.theme),function(){let e=window.matchMedia(`(prefers-color-scheme: dark)`).matches,n=localStorage.getItem(`theme`);e?n===`light`?(localStorage.removeItem(`theme`),t(`auto`)):(localStorage.setItem(`theme`,`light`),t(`light`)):n===`dark`?(localStorage.removeItem(`theme`),t(`auto`)):(localStorage.setItem(`theme`,`dark`),t(`dark`))}}window.addEventListener(`load`,()=>{let e=t();document.querySelectorAll(`[data-aw-toggle-color-scheme]`)?.forEach(t=>{t.classList.contains(`hidden`)&&(t.classList.remove(`hidden`),t.addEventListener(`click`,e,!1))})});</script>
10 <button type="button" class="ml-1.5 text-zinc-600 dark:text-zinc-300 hover:text-zinc-900 dark:hover:text-white hover:bg-primary-100 dark:hover:bg-steel-700 focus:outline-none focus:ring-4 focus:ring-gray-200 dark:focus:ring-gray-700 rounded-lg text-sm p-2.5 inline-flex items-center transition" aria-label="Toggle Menu" data-aw-toggle-menu> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid meet" viewBox="0 0 24 24" class="w-6 h-6" astro-icon="tabler:menu"><g class="icon-tabler" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 8h16"></path><path d="M4 16h16"></path></g></svg> </button> </div> </div> <nav class="items-center w-full md:w-auto hidden md:flex h-[calc(100vh-100px)] md:h-auto overflow-y-auto md:overflow-visible font-medium" aria-label="Main navigation"> <ul class="flex flex-col pt-8 md:pt-0 md:flex-row md:self-center w-full md:w-auto text-xl md:text-base"> <li class="inline-flex items-center"> <a class="text-zinc-600 dark:text-zinc-300 hover:text-zinc-900 dark:hover:text-white hover:bg-primary-100 dark:hover:bg-steel-700 focus:outline-none focus:ring-4 focus:ring-gray-200 dark:focus:ring-gray-700 rounded-lg px-4 py-3 inline-flex items-center transition duration-150 ease-in-out md:py-2" href="/docs/latest/"> Docs </a> </li><li class="inline-flex items-center"> <a class="text-zinc-600 dark:text-zinc-300 hover:text-zinc-900 dark:hover:text-white hover:bg-primary-100 dark:hover:bg-steel-700 focus:outline-none focus:ring-4 focus:ring-gray-200 dark:focus:ring-gray-700 rounded-lg px-4 py-3 inline-flex items-center transition duration-150 ease-in-out md:py-2" href="/news/"> News </a> </li><li class="inline-flex items-center"> <a class="text-zinc-600 dark:text-zinc-300 hover:text-zinc-900 dark:hover:text-white hover:bg-primary-100 dark:hover:bg-steel-700 focus:outline-none focus:ring-4 focus:ring-gray-200 dark:focus:ring-gray-700 rounded-lg px-4 py-3 inline-flex items-center transition duration-150 ease-in-out md:py-2" href="/releases/"> Releases </a> </li><li class="inline-flex items-center"> <a class="text-zinc-600 dark:text-zinc-300 hover:text-zinc-900 dark:hover:text-white hover:bg-primary-100 dark:hover:bg-steel-700 focus:outline-none focus:ring-4 focus:ring-gray-200 dark:focus:ring-gray-700 rounded-lg px-4 py-3 inline-flex items-center transition duration-150 ease-in-out md:py-2" href="/faq/"> FAQ </a> </li><li class="inline-flex items-center"> <a class="text-zinc-600 dark:text-zinc-300 hover:text-zinc-900 dark:hover:text-white hover:bg-primary-100 dark:hover:bg-steel-700 focus:outline-none focus:ring-4 focus:ring-gray-200 dark:focus:ring-gray-700 rounded-lg px-4 py-3 inline-flex items-center transition duration-150 ease-in-out md:py-2" href="https://liberapay.com/forgejo"> Donate </a> </li> <li class="inline-flex items-center"> <a class="text-zinc-600 dark:text-zinc-300 hover:text-zinc-900 dark:hover:text-white hover:bg-primary-100 dark:hover:bg-steel-700 focus:outline-none focus:ring-4 focus:ring-gray-200 dark:focus:ring-gray-700 rounded-lg px-4 py-3 inline-flex items-center transition duration-150 ease-in-out md:p-2.5" href="https://codeberg.org/forgejo/forgejo"> <svg width="1em" height="1em" viewBox="0 0 24 24" class="w-5 h-5 hidden md:inline-block" data-icon="tabler:git-merge"> <symbol id="ai:tabler:git-merge"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M5 18a2 2 0 1 0 4 0a2 2 0 1 0-4 0M5 6a2 2 0 1 0 4 0a2 2 0 1 0-4 0m10 6a2 2 0 1 0 4 0a2 2 0 1 0-4 0M7 8v8"/><path d="M7 8a4 4 0 0 0 4 4h4"/></g></symbol><use href="#ai:tabler:git-merge"></use> </svg> <span class="md:hidden">Source code</span> </a> </li><li class="inline-flex items-center"> <a class="text-zinc-600 dark:text-zinc-300 hover:text-zinc-900 dark:hover:text-white hover:bg-primary-100 dark:hover:bg-steel-700 focus:outline-none focus:ring-4 focus:ring-gray-200 dark:focus:ring-gray-700 rounded-lg px-4 py-3 inline-flex items-center transition duration-150 ease-in-out md:p-2.5" href="/rss.xml"> <svg width="1em" height="1em" viewBox="0 0 24 24" class="w-5 h-5 hidden md:inline-block" data-icon="tabler:rss"> <symbol id="ai:tabler:rss"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 19a1 1 0 1 0 2 0a1 1 0 1 0-2 0M4 4a16 16 0 0 1 16 16M4 11a9 9 0 0 1 9 9"/></symbol><use href="#ai:tabler:rss"></use> </svg> <span class="md:hidden">RSS feed</span> </a> </li> <li class="hidden md:inline-flex items-center"> <button type="button" class="hidden text-zinc-600 dark:text-zinc-300 hover:text-zinc-900 dark:hover:text-white hover:bg-primary-100 dark:hover:bg-steel-700 focus:outline-none focus:ring-4 focus:ring-gray-200 dark:focus:ring-gray-700 rounded-lg text-sm p-2.5" aria-label="Toggle between Dark and Light mode" data-aw-toggle-color-scheme> <svg width="1em" height="1em" viewBox="0 0 24 24" class="w-5 h-5" data-icon="tabler:sun"> <use href="#ai:tabler:sun"></use> </svg> </button> </li> </ul> </nav> </div> </header> <main> <section class="py-8 sm:py-16 lg:py-20 mx-auto"> <div class="gap-x-10 lg:flex lg:items-start mx-auto px-6 sm:px-6 max-w-3xl"> <aside class="sticky top-20 order-2 -me-64 hidden basis-64 xl:block overflow-y-auto h-[calc(100vh-5rem-5rem)]"> <a class="hover:text-primary-600" href="#top"> <h2 class="font-semibold">Forgejo FAQ</h2> </a> <ul class="mt-4 text-xs"> <li class="line-clamp-2"> <a class="block hover:text-primary-600 break-words mt-3" href="#where-does-the-name-come-from" aria-label="Scroll to section: Where does the name come from?"> Where does the name come from? </a> </li><li class="line-clamp-2"> <a class="block hover:text-primary-600 break-words mt-3" href="#who-is-using-forgejo" aria-label="Scroll to section: Who is using Forgejo?"> Who is using Forgejo? </a> </li><li class="line-clamp-2"> <a class="block hover:text-primary-600 break-words mt-3" href="#what-is-the-governance-of-forgejo" aria-label="Scroll to section: What is the governance of Forgejo?"> What is the governance of Forgejo? </a> </li><li class="line-clamp-2"> <a class="block hover:text-primary-600 break-words mt-3" href="#who-owns-the-forgejo-domains-and-trademarks" aria-label="Scroll to section: Who owns the Forgejo domains and trademarks?"> Who owns the Forgejo domains and trademarks? </a> </li><li class="line-clamp-2"> <a class="block hover:text-primary-600 break-words mt-2 ps-3 text-[0.6875rem]" href="#what-is-codeberg-ev" aria-label="Scroll to section: What is âCodeberg e.V.â?"> What is âCodeberg e.V.â? </a> </li><li class="line-clamp-2"> <a class="block hover:text-primary-600 break-words mt-3" href="#what-is-the-difference-between-forgejo-and-gitea" aria-label="Scroll to section: What is the difference between Forgejo and Gitea?"> What is the difference between Forgejo and Gitea? </a> </li><li class="line-clamp-2"> <a class="block hover:text-primary-600 break-words mt-2 ps-3 text-[0.6875rem]" href="#im-sold-are-migrations-from-gitea-to-forgejo-possible" aria-label="Scroll to section: Iâm sold. Are migrations from Gitea to Forgejo possible?"> Iâm sold. Are migrations from Gitea to Forgejo possible? </a> </li><li class="line-clamp-2"> <a class="block hover:text-primary-600 break-words mt-2 ps-3 text-[0.6875rem]" href="#does-forgejo-have-a-code-of-conduct" aria-label="Scroll to section: Does Forgejo have a Code of Conduct?"> Does Forgejo have a Code of Conduct? </a> </li><li class="line-clamp-2"> <a class="block hover:text-primary-600 break-words mt-3" href="#is-forgejo-sustainable-how-is-it-funded" aria-label="Scroll to section: Is Forgejo sustainable? How is it funded?"> Is Forgejo sustainable? How is it funded? </a> </li><li class="line-clamp-2"> <a class="block hover:text-primary-600 break-words mt-3" href="#is-there-a-roadmap-for-forgejo" aria-label="Scroll to section: Is there a roadmap for Forgejo?"> Is there a roadmap for Forgejo? </a> </li><li class="line-clamp-2"> <a class="block hover:text-primary-600 break-words mt-3" href="#what-about-forge-federation" aria-label="Scroll to section: What about forge federation?"> What about forge federation? </a> </li><li class="line-clamp-2"> <a class="block hover:text-primary-600 break-words mt-3" href="#where-can-i-report-a-security-vulnerability" aria-label="Scroll to section: Where can I report a security vulnerability?"> Where can I report a security vulnerability? </a> </li><li class="line-clamp-2"> <a class="block hover:text-primary-600 break-words mt-3" href="#is-forgejo-licensed-under-the-gpl" aria-label="Scroll to section: Is Forgejo licensed under the GPL?"> Is Forgejo licensed under the GPL? </a> </li><li class="line-clamp-2"> <a class="block hover:text-primary-600 break-words mt-3" href="#is-forgejo-licensed-under-the-agpl-or-eupl" aria-label="Scroll to section: Is Forgejo licensed under the AGPL or EUPL?"> Is Forgejo licensed under the AGPL or EUPL? </a> </li><li class="line-clamp-2"> <a class="block hover:text-primary-600 break-words mt-3" href="#why-are-container-images-published-with-the-150-tag" aria-label="Scroll to section: Why are container images published with the 15.0 tag?"> Why are container images published with the 15.0 tag? </a> </li><li class="line-clamp-2"> <a class="block hover:text-primary-600 break-words mt-3" href="#why-are-container-images-published-with-the-15-tag" aria-label="Scroll to section: Why are container images published with the 15 tag?"> Why are container images published with the 15 tag? </a> </li><li class="line-clamp-2"> <a class="block hover:text-primary-600 break-words mt-3" href="#why-is-there-no-latest-tag-for-container-images" aria-label="Scroll to section: Why is there no latest tag for container images?"> Why is there no latest tag for container images? </a> </li><li class="line-clamp-2"> <a class="block hover:text-primary-600 break-words mt-3" href="#what-are-the-names-of-the-built-in-forgejo-themes" aria-label="Scroll to section: What are the names of the built-in Forgejo themes?"> What are the names of the built-in Forgejo themes? </a> </li><li class="line-clamp-2"> <a class="block hover:text-primary-600 break-words mt-3" href="#why-are-there-no-mentions-of-windows-binaries" aria-label="Scroll to section: Why are there no mentions of Windows binaries?"> Why are there no mentions of Windows binaries? </a> </li> </ul> </aside> <div class="container prose prose-steel dark:prose-invert prose-headings:font-heading prose-headings:leading-tighter prose-headings:tracking-tighter prose-headings:font-bold prose-a:underline-offset-4 prose-a:decoration-steel-200 dark:prose-a:decoration-steel-500 prose-a:hover:text-primary-600 dark:prose-a:hover:text-primary-400 prose-img:rounded-md prose-img:shadow-lgr">
10 <h1 id="top" class="mb-6 pb-6 border-b border-steel-100 dark:border-steel-700"> Forgejo FAQ </h1> <h2 id="where-does-the-name-come-from">Where does the name come from?<a href="#where-does-the-name-come-from"><span aria-label="Permalink to âWhere does the name come from?â section" class="icon icon-link"></span></a></h2> 11<p><strong>Forgejo</strong> (pronounced /forËdÍ¡Êe.jo/ (<a href="/static/forgejo.mp4">hear an audio sample</a>)) is inspired by <i lang="eo">forÄejo</i>, the Esperanto word for <a href="https://en.wikipedia.org/wiki/Forge_(software)">forge</a>.</p> 12<h2 id="who-is-using-forgejo">Who is using Forgejo?<a href="#who-is-using-forgejo"><span aria-label="Permalink to âWho is using Forgejo?â section" class="icon icon-link"></span></a></h2> 13<p>The vast majority of Forgejoâs users are developers of free and open source software.</p> 14<p>Forgejo maintains a <a href="https://codeberg.org/forgejo-contrib/delightful-forgejo#public-instances">list of instances with open registration</a>.</p> 15<h2 id="what-is-the-governance-of-forgejo">What is the governance of Forgejo?<a href="#what-is-the-governance-of-forgejo"><span aria-label="Permalink to âWhat is the governance of Forgejo?â section" class="icon icon-link"></span></a></h2> 16<p>Forgejoâs governance is <a href="https://codeberg.org/forgejo/governance/src/branch/main/README.md">collectively defined by its contributors</a>.</p> 17<p>Forgejoâs repositories show <a href="https://codeberg.org/forgejo/sustainability">how it receives and allocates money</a>, <a href="https://codeberg.org/forgejo/discussions/issues">how it wants to evolve and what it needs to do next</a>, <a href="https://codeberg.org/forgejo/governance">as well as how it turns these ideas into decisions</a>.</p> 18<p>For less urgent conversations and real-time discussions, there is a <a href="https://matrix.to/#/#forgejo:matrix.org">Matrix Space</a> that is open to everyone.</p> 19<h2 id="who-owns-the-forgejo-domains-and-trademarks">Who owns the Forgejo domains and trademarks?<a href="#who-owns-the-forgejo-domains-and-trademarks"><span aria-label="Permalink to âWho owns the Forgejo domains and trademarks?â section" class="icon icon-link"></span></a></h2> 20<p>The Forgejo domains are in the custody of the non-profit <a href="https://codeberg.org">Codeberg e.V.</a>.</p> 21<p>At this point in time, Forgejo has <strong>not</strong> registered any trademarks.</p> 22<h3 id="what-is-codeberg-ev">What is âCodeberg e.V.â?<a href="#what-is-codeberg-ev"><span aria-label="Permalink to âWhat is âCodeberg e.V.â?â section" class="icon icon-link"></span></a></h3> 23<p><a href="https://codeberg.org/Codeberg/org/src/branch/main/Imprint.md">Codeberg</a> is a non-profit association registered in Berlin, Germany. 24The abbreviation <strong>e.V.</strong> stands for <em>eingetragener Verein</em>, which translates as âregistered associationâ.</p> 25<p><a href="https://codeberg.org/Codeberg/org/src/branch/main/en/bylaws.md">As defined by its Bylaws</a>, 26its goal is to âguarantee the openness and continued availability of free softwareâ.</p> 27<p>Forgejo has to abide by Codebergâs goals. 28We believe that this arrangement reinforces the longevity of Forgejo, 29as far as the projectâs stability and financial security is concerned.</p> 30<p>For more information, see <a href="https://docs.codeberg.org/getting-started/what-is-codeberg/#what-is-codeberg-e.v.">Codebergâs Documentation</a>.</p> 31<h2 id="what-is-the-difference-between-forgejo-and-gitea">What is the difference between Forgejo and Gitea?<a href="#what-is-the-difference-between-forgejo-and-gitea"><span aria-label="Permalink to âWhat is the difference between Forgejo and Gitea?â section" class="icon icon-link"></span></a></h2> 32<p>See <a href="../compare-to-gitea/">Comparison with Gitea</a>.</p> 33<h3 id="im-sold-are-migrations-from-gitea-to-forgejo-possible">Iâm sold. Are migrations from Gitea to Forgejo possible?<a href="#im-sold-are-migrations-from-gitea-to-forgejo-possible"><span aria-label="Permalink to âIâm sold. Are migrations from Gitea to Forgejo possible?â section" class="icon icon-link"></span></a></h3> 34<p>See the answer in the <a href="/docs/next/admin/upgrade/#preparing-an-upgrade-from-gitea">upgrade Guide</a>.</p> 35<h3 id="does-forgejo-have-a-code-of-conduct">Does Forgejo have a Code of Conduct?<a href="#does-forgejo-have-a-code-of-conduct"><span aria-label="Permalink to âDoes Forgejo have a Code of Conduct?â section" class="icon icon-link"></span></a></h3> 36<p><strong>Yes.</strong> The <a href="https://codeberg.org/forgejo/code-of-conduct">Code of Conduct</a> applies to <strong>all</strong> spaces that the Forgejo project is responsible for.</p> 37<p>The <a href="https://codeberg.org/forgejo/governance/src/branch/main/TEAMS.md#moderation">Moderation Team</a> is responsible for resolving conflicts. 38Its decisions <a href="https://codeberg.org/forgejo/governance/issues?q=&type=all&labels=106732">are documented publicly</a>, while respecting the privacy of everyone involved.</p> 39<h2 id="is-forgejo-sustainable-how-is-it-funded">Is Forgejo sustainable? How is it funded?<a href="#is-forgejo-sustainable-how-is-it-funded"><span aria-label="Permalink to âIs Forgejo sustainable? How is it funded?â section" class="icon icon-link"></span></a></h2> 40<p>
40Sustaining Free Software projects developed in the interest of the general public is an ongoing challenge.</p> 41<p>Forgejo relies on a mixture of volunteer contributions, grants, donations and employee delegation to keep going.</p> 42<p>In summary:</p> 43<ul> 44<li><a href="#what-is-codeberg-ev">Codeberg e.V.</a> owns Forgejoâs domains, provides resources and cooperates closely with Forgejo.</li> 45<li>Forgejoâs <a href="https://codeberg.org/forgejo/governance">governance structures</a> remain independent of Codebergâs.</li> 46<li>Forgejo applies for grants to <a href="#is-there-a-roadmap-for-forgejo">meet its goals</a> more efficiently.</li> 47<li>Contributors can independently accept <a href="https://codeberg.org/forgejo/professional-services/issues">employment contracts</a>.</li> 48</ul> 49<p>More details are available on <a href="https://codeberg.org/forgejo/sustainability">Forgejoâs repository dedicated to sustainability</a>.</p> 50<h2 id="is-there-a-roadmap-for-forgejo">Is there a roadmap for Forgejo?<a href="#is-there-a-roadmap-for-forgejo"><span aria-label="Permalink to âIs there a roadmap for Forgejo?â section" class="icon icon-link"></span></a></h2> 51<p>One of Forgejoâs primary goals is implementing <strong>forge federation</strong> using <a href="https://forgefed.org/">ForgeFed</a>. 52It is an extension of <a href="https://www.w3.org/TR/activitypub/">ActivityPub</a>.</p> 53<p>Apart from that, there are various contributors spend a lot of their time issuing improvements based on user feedback. 54Forgejo has a <a href="https://codeberg.org/forgejo/user-research">user research project</a> with the goal of building a more concrete roadmap. 55If you are interested in participating, please <a href="https://matrix.to/#/#forgejo-chat:matrix.org">join the chat room</a>.</p> 56<h2 id="what-about-forge-federation">What about forge federation?<a href="#what-about-forge-federation"><span aria-label="Permalink to âWhat about forge federation?â section" class="icon icon-link"></span></a></h2> 57<p>Federation is under active development, and is considered experimental. 58This is because many required featuresânotably moderation and access 59controlâhave not yet been developed.</p> 60<p>The Forgejo project reserves the right to make breaking changes to 61its federation components with no prior warning. Such changes may be âbackwards 62incompatibleâ and could result in the (sub-)domain used for your Forgejo instance 63to be âburnedâ. This means that the domain will no longer be usable for 64ActivityPub-based federation in the future, no matter whether you set up 65Forgejo from scratch or choose to use other software that uses ActivityPub.</p> 66<p>For more information on implemented features and future federation-related 67plans, check out the <a href="https://codeberg.org/forgejo-contrib/federation/src/branch/main/FederationRoadmap.md">federation roadmap</a>.</p> 68<p>If you are interested in working on federation-related code, consider joining 69our federation-focused Matrix room: 70<a href="matrix:r/forgejo-federation%3Amatrix.org?action=join&via=matrix.org&via=ccc.ac&via=envs.net">#forgejo-federation:matrix.org</a> (<a href="https://matrix.to/#/#forgejo-federation:matrix.org">web link</a>)</p> 71<h2 id="where-can-i-report-a-security-vulnerability">Where can I report a security vulnerability?<a href="#where-can-i-report-a-security-vulnerability"><span aria-label="Permalink to âWhere can I report a security vulnerability?â section" class="icon icon-link"></span></a></h2> 72<p>Security issues are managed by <a href="/.well-known/security.txt">a team</a> sharing the effort between Codeberg and Forgejo. 73The security team is available at <code>[email protected]</code> (GPG public key <a href="https://keyoxide.org/[email protected]">1B638BDF10969D627926B8D9F585D0F99E1FB56F</a>) and is tasked to identify, define, and respond to vulnerabilities.</p> 74<h2 id="is-forgejo-licensed-under-the-gpl">Is Forgejo licensed under the GPL?<a href="#is-forgejo-licensed-under-the-gpl"><span aria-label="Permalink to âIs Forgejo licensed under the GPL?â section" class="icon icon-link"></span></a></h2> 75<p><a href="https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE">
75Forgejo versions v9.0 and later</a> are distributed under the terms of the <a href="https://spdx.org/licenses/GPL-3.0-or-later.html">GPL v3+</a>.</p> 76<p><a href="https://codeberg.org/forgejo/forgejo/src/branch/v8.0/forgejo/LICENSE">Forgejo versions up to v8.0</a> inclusive are distributed under the terms of the <a href="https://spdx.org/licenses/MIT.html">MIT license</a>.</p> 77<h2 id="is-forgejo-licensed-under-the-agpl-or-eupl">Is Forgejo licensed under the AGPL or EUPL?<a href="#is-forgejo-licensed-under-the-agpl-or-eupl"><span aria-label="Permalink to âIs Forgejo licensed under the AGPL or EUPL?â section" class="icon icon-link"></span></a></h2> 78<p><strong>No.</strong> The <a href="https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE">license of Forgejo</a> is 79<a href="https://spdx.org/licenses/GPL-3.0-or-later.html">GPL v3+</a>.</p> 80<p>In order to prevent a takeover from a for-profit company, 81it was suggested to change the license to either 82the <a href="https://spdx.org/licenses/AGPL-3.0-or-later.html">AGPL</a> 83or the <a href="https://spdx.org/licenses/EUPL-1.2.html">EUPL</a>.</p> 84<p>However, no agreement has been reached.</p> 85<hr> 86<h2 id="why-are-container-images-published-with-the-150-tag">Why are container images published with the 15.0 tag?<a href="#why-are-container-images-published-with-the-150-tag"><span aria-label="Permalink to âWhy are container images published with the 15.0 tag?â section" class="icon icon-link"></span></a></h2> 87<p>The <strong>15.0</strong> tag is set to be the <strong>latest <a href="https://semver.org/spec/v2.0.0.html#spec-item-6">patch release</a></strong>, starting with <a href="https://codeberg.org/forgejo/-/packages/container/forgejo/15.0.0">15.0.0</a>. <strong>15.0</strong> will then be equal to <strong>15.0.1</strong> when it is released and so on. It can conveniently be used for automated upgrades to the latest patch release.</p> 88<h2 id="why-are-container-images-published-with-the-15-tag">
88Why are container images published with the 15 tag?<a href="#why-are-container-images-published-with-the-15-tag"><span aria-label="Permalink to âWhy are container images published with the 15 tag?â section" class="icon icon-link"></span></a></h2> 89<p>The <strong>15</strong> tag is set to be the <strong>latest <a href="https://semver.org/spec/v2.0.0.html#spec-item-7">minor release</a></strong>, starting with <a href="https://codeberg.org/forgejo/-/packages/container/forgejo/15.0.0">15.0.0</a>. <strong>15</strong> will then be equal to <strong>15.0.1</strong> when it is released, <strong>15.1.0</strong>, <strong>15.2.1</strong> and so on. It can conveniently be used for automated upgrades to the latest minor release.</p> 90<h2 id="why-is-there-no-latest-tag-for-container-images">Why is there no latest tag for container images?<a href="#why-is-there-no-latest-tag-for-container-images"><span aria-label="Permalink to âWhy is there no latest tag for container images?â section" class="icon icon-link"></span></a></h2> 91<p>Because upgrading from a <a href="https://semver.org/spec/v2.0.0.html#spec-item-8">major version</a> (for instance from <strong>15.0.0</strong> to <strong>16.0.0</strong>) requires a <a href="/docs/latest/admin/upgrade">manual operation and human verification</a>. However it is possible to use the <strong>X</strong> or <strong>X.Y</strong> tags (for instance <strong>15</strong> or <strong>15.0</strong>) to get the latest minor or patch release automatically.</p> 92<h2 id="what-are-the-names-of-the-built-in-forgejo-themes">What are the names of the built-in Forgejo themes?<a href="#what-are-the-names-of-the-built-in-forgejo-themes"><span aria-label="Permalink to âWhat are the names of the built-in Forgejo themes?â section" class="icon icon-link"></span></a></h2> 93<p>Forgejo introduces two new themes: light version named <strong>forgejo-light</strong> and a dark version named <strong>forgejo-dark</strong>. They are the default for a new installation but will need to be set explicitly if the <code>app.ini</code> file already has a custom list of themes. For instance, if it looks like this:</p> 94<pre class="astro-code github-dark" style="background-color:#24292e;color:#e1e4e8; overflow-x: auto;" tabindex="0" data-language="plaintext"><code><span class="line"><span>[ui]</span></span> 95<span class="line"><span>THEMES = gitea-auto,gitea-light,gitea-dark</span></span></code></pre> 96<p>the <strong>forgejo-auto</strong>, <strong>forgejo-light</strong> and <strong>forgejo-dark</strong> can be added as follows:</p> 97<pre class="astro-code github-dark" style="background-color:#24292e;color:#e1e4e8; overflow-x: auto;" tabindex="0" data-language="plaintext"><code><span class="line"><span>[ui]</span></span> 98<span class="line"><span>THEMES = forgejo-auto,forgejo-light,forgejo-dark,gitea-auto,gitea-light,gitea-dark</span></span></code></pre> 99<h2 id="why-are-there-no-mentions-of-windows-binaries">Why are there no mentions of Windows binaries?<a href="#why-are-there-no-mentions-of-windows-binaries"><span aria-label="Permalink to âWhy are there no mentions of Windows binaries?â section" class="icon icon-link"></span></a></h2> 100<p>Currently, there is no expertise in the Forgejo community to provide support for proprietary operating systems. 101Maintaining a distribution targeting an operating 102system requires someone to build and maintain the release pipeline, 103figure out platform-specific bugs and fix them.</p> 104<p><a href="https://codeberg.org/forgejo/discussions/issues/223">In 2024, it was decided</a> 105to drop support for the Microsoft Windows operating system and some specific code has been removed.</p> 106<p>For the Forgejo runner, a community-built version <a href="https://github.com/Crown0815/Forgejo-runner-windows-builder/releases">is available for Microsoft Windows</a>.</p> </div> </div> </section> </main> <footer class="border-t border-gray-200 dark:border-steel-700 dark:bg-steel-900"> <div class="max-w-6xl mx-auto pl-12 pr-6"> <div class="grid grid-cols-2 sm:grid-cols-4 md:grid-cols-6 lg:grid-cols-10 gap-4 gap-y-8 sm:gap-8 py-8 md:py-12"> <div class="col-span-2"> <h5 class="text-zinc-800 dark:text-zinc-100 font-semibold mb-2">Forgejo</h5> <ul class="text-sm"> <li class="mb-2"> <a class=" 107 text-zinc-600 hover:text-primary-600 hover:underline 108 dark:text-zinc-300 dark:hover:text-primary-400 109 underline-offset-4 decoration-steel-200 dark:decoration-steel-600 hover:decoration-current 110 transition duration-150 ease-in-out 111 " href="/releases/"> Releases </a> </li><li class="mb-2"> <a class=" 112 text-zinc-600 hover:text-primary-600 hover:underline 113 dark:text-zinc-300 dark:hover:text-primary-400 114 underline-offset-4 decoration-steel-200 dark:decoration-steel-600 hover:decoration-current 115 transition duration-150 ease-in-out 116 " href="/news/"> News </a> </li><li class="mb-2"> <a class=" 117 text-zinc-600 hover:text-primary-600 hover:underline 118 dark:text-zinc-300 dark:hover:text-primary-400 119 underline-offset-4 decoration-steel-200 dark:decoration-steel-600 hover:decoration-current 120 transition duration-150 ease-in-out 121 " href="https://floss.social/@forgejo"> Fediverse (Mastodon) </a> </li><li class="mb-2"> <a class=" 122 text-zinc-600 hover:text-primary-600 hover:underline 123 dark:text-zinc-300 dark:hover:text-primary-400 124 underline-offset-4 decoration-steel-200 dark:decoration-steel-600 hover:decoration-current 125 transition duration-150 ease-in-out 126 " href="https://matrix.to/#/#forgejo:matrix.org"> Chat room (Matrix) </a> </li><li class="mb-2"> <a class=" 127 text-zinc-600 hover:text-primary-600 hover:underline 128 dark:text-zinc-300 dark:hover:text-primary-400 129 underline-offset-4 decoration-steel-200 dark:decoration-steel-600 hover:decoration-current 130 transition duration-150 ease-in-out 131 " href="/rss.xml"> RSS feed </a> </li> </ul> </div><div class="col-span-2"> <h5 class="text-zinc-800 dark:text-zinc-100 font-semibold mb-2">Community</h5> <ul class="text-sm"> <li class="mb-2"> <a class=" 132 text-zinc-600 hover:text-primary-600 hover:underline 133 dark:text-zinc-300 dark:hover:text-primary-400 134 underline-offset-4 decoration-steel-200 dark:decoration-steel-600 hover:decoration-current 135 transition duration-150 ease-in-out 136 " href="https://codeberg.org/forgejo/forgejo"> Code </a> </li><li class="mb-2"> <a class=" 137 text-zinc-600 hover:text-primary-600 hover:underline 138 dark:text-zinc-300 dark:hover:text-primary-400 139 underline-offset-4 decoration-steel-200 dark:decoration-steel-600 hover:decoration-current 140 transition duration-150 ease-in-out 141 " href="https://codeberg.org/forgejo/governance#meta"> Governance </a> </li><li class="mb-2"> <a class=" 142 text-zinc-600 hover:text-primary-600 hover:underline 143 dark:text-zinc-300 dark:hover:text-primary-400 144 underline-offset-4 decoration-steel-200 dark:decoration-steel-600 hover:decoration-current 145 transition duration-150 ease-in-out 146 " href="https://codeberg.org/forgejo/governance/src/branch/main/TEAMS.md"> Teams </a> </li><li class="mb-2"> <a class=" 147 text-zinc-600 hover:text-primary-600 hover:underline 148 dark:text-zinc-300 dark:hover:text-primary-400 149 underline-offset-4 decoration-steel-200 dark:decoration-steel-600 hover:decoration-current 150 transition duration-150 ease-in-out 151 " href="https://keyoxide.org/contact%40forgejo.org"> Identity proofs </a> </li> </ul> </div><div class="col-span-2"> <h5 class="text-zinc-800 dark:text-zinc-100 font-semibold mb-2">
151Contribute</h5> <ul class="text-sm"> <li class="mb-2"> <a class=" 152 text-zinc-600 hover:text-primary-600 hover:underline 153 dark:text-zinc-300 dark:hover:text-primary-400 154 underline-offset-4 decoration-steel-200 dark:decoration-steel-600 hover:decoration-current 155 transition duration-150 ease-in-out 156 " href="https://codeberg.org/forgejo/forgejo/issues"> Issue tracker </a> </li><li class="mb-2"> <a class=" 157 text-zinc-600 hover:text-primary-600 hover:underline 158 dark:text-zinc-300 dark:hover:text-primary-400 159 underline-offset-4 decoration-steel-200 dark:decoration-steel-600 hover:decoration-current 160 transition duration-150 ease-in-out 161 " href="https://matrix.to/#/#forgejo-development:matrix.org"> Developer Matrix room </a> </li><li class="mb-2"> <a class=" 162 text-zinc-600 hover:text-primary-600 hover:underline 163 dark:text-zinc-300 dark:hover:text-primary-400 164 underline-offset-4 decoration-steel-200 dark:decoration-steel-600 hover:decoration-current 165 transition duration-150 ease-in-out 166 " href="/docs/next/contributor/"> Contributor guide </a> </li><li class="mb-2"> <a class=" 167 text-zinc-600 hover:text-primary-600 hover:underline 168 dark:text-zinc-300 dark:hover:text-primary-400 169 underline-offset-4 decoration-steel-200 dark:decoration-steel-600 hover:decoration-current 170 transition duration-150 ease-in-out 171 " href="/docs/next/contributor/localization/"> Localization guide </a> </li><li class="mb-2"> <a class=" 172 text-zinc-600 hover:text-primary-600 hover:underline 173 dark:text-zinc-300 dark:hover:text-primary-400 174 underline-offset-4 decoration-steel-200 dark:decoration-steel-600 hover:decoration-current 175 transition duration-150 ease-in-out 176 " href="https://liberapay.com/forgejo"> Donate via Liberapay </a> </li> </ul> </div><div class="col-span-2"> <h5 class="text-zinc-800 dark:text-zinc-100 font-semibold mb-2">Resources</h5> <ul class="text-sm"> <li class="mb-2"> <a class=" 177 text-zinc-600 hover:text-primary-600 hover:underline 178 dark:text-zinc-300 dark:hover:text-primary-400 179 underline-offset-4 decoration-steel-200 dark:decoration-steel-600 hover:decoration-current 180 transition duration-150 ease-in-out 181 " href="https://status.forgejo.org"> Status (Forgejo) </a> </li><li class="mb-2"> <a class=" 182 text-zinc-600 hover:text-primary-600 hover:underline 183 dark:text-zinc-300 dark:hover:text-primary-400 184 underline-offset-4 decoration-steel-200 dark:decoration-steel-600 hover:decoration-current 185 transition duration-150 ease-in-out 186 " href="https://status.codeberg.org"> Status (Codeberg) </a> </li><li class="mb-2"> <a class=" 187 text-zinc-600 hover:text-primary-600 hover:underline 188 dark:text-zinc-300 dark:hover:text-primary-400 189 underline-offset-4 decoration-steel-200 dark:decoration-steel-600 hover:decoration-current 190 transition duration-150 ease-in-out 191 " href="/docs/latest/"> Documentation </a> </li><li class="mb-2"> <a class=" 192 text-zinc-600 hover:text-primary-600 hover:underline 193 dark:text-zinc-300 dark:hover:text-primary-400 194 underline-offset-4 decoration-steel-200 dark:decoration-steel-600 hover:decoration-current 195 transition duration-150 ease-in-out 196 " href="https://codeberg.org/forgejo-contrib/delightful-forgejo"> Delightful Forgejo </a> </li><li class="mb-2"> <a class=" 197 text-zinc-600 hover:text-primary-600 hover:underline 198 dark:text-zinc-300 dark:hover:text-primary-400 199 underline-offset-4 decoration-steel-200 dark:decoration-steel-600 hover:decoration-current 200 transition duration-150 ease-in-out 201 " href="https://codeberg.org/forgejo/professional-services"> Professional services </a> </li> </ul> </div><div class="col-span-2"> <h5 class="text-zinc-800 dark:text-zinc-100 font-semibold mb-2">Legal</h5> <ul class="text-sm"> <li class="mb-2"> <a class=" 202 text-zinc-600 hover:text-primary-600 hover:underline 203 dark:text-zinc-300 dark:hover:text-primary-400 204 underline-offset-4 decoration-steel-200 dark:decoration-steel-600 hover:decoration-current 205 transition duration-150 ease-in-out 206 " href="/imprint/"> Imprint </a> </li><li class="mb-2"> <a class=" 207 text-zinc-600 hover:text-primary-600 hover:underline 208 dark:text-zinc-300 dark:hover:text-primary-400 209 underline-offset-4 decoration-steel-200 dark:decoration-steel-600 hover:decoration-current 210 transition duration-150 ease-in-out 211 " href="/privacy-policy/"> Privacy Policy </a> </li><li class="mb-2"> <a class=" 212 text-zinc-600 hover:text-primary-600 hover:underline 213 dark:text-zinc-300 dark:hover:text-primary-400 214 underline-offset-4 decoration-steel-200 dark:decoration-steel-600 hover:decoration-current 215 transition duration-150 ease-in-out 216 " href="https://codeberg.org/forgejo/code-of-conduct"> Code of Conduct </a> </li> </ul> </div> </div> <div class="md:flex md:items-center md:justify-between py-6 md:py-8"> <ul class="flex mb-4 md:order-1 -ml-2 md:ml-4 md:mb-0"> <li> <a class="text-zinc-500 dark:text-zinc-400 hover:bg-primary-100 dark:hover:bg-steel-700 focus:outline-none focus:ring-4 focus:ring-gray-200 dark:focus:ring-gray-700 rounded-lg text-sm p-2.5 inline-flex items-center" aria-label="Keyoxide" href="https://keyoxide.org/contact%40forgejo.org" rel="me"> <svg width="1em" height="1em" viewBox="0 0 24 24" class="w-5 h-5" data-icon="ic:round-verified"> <symbol id="ai:ic:round-verified">
216<path fill="currentColor" d="m23 12l-2.44-2.79l.34-3.69l-3.61-.82l-1.89-3.2L12 2.96L8.6 1.5L6.71 4.69L3.1 5.5l.34 3.7L1 12l2.44 2.79l-.34 3.7l3.61.82L8.6 22.5l3.4-1.47l3.4 1.46l1.89-3.19l3.61-.82l-.34-3.69zM9.38 16.01L7 13.61a.996.996 0 0 1 0-1.41l.07-.07c.39-.39 1.03-.39 1.42 0l1.61 1.62l5.15-5.16c.39-.39 1.03-.39 1.42 0l.07.07c.39.39.39 1.02 0 1.41l-5.92 5.94c-.41.39-1.04.39-1.44 0"/></symbol><use href="#ai:ic:round-verified"></use> </svg> </a> </li><li> <a class="text-zinc-500 dark:text-zinc-400 hover:bg-primary-100 dark:hover:bg-steel-700 focus:outline-none focus:ring-4 focus:ring-gray-200 dark:focus:ring-gray-700 rounded-lg text-sm p-2.5 inline-flex items-center" aria-label="Matrix space" href="https://matrix.to/#/#forgejo:matrix.org" rel="me"> <svg width="1em" height="1em" viewBox="0 0 24 24" class="w-5 h-5" data-icon="simple-icons:matrix"> <symbol id="ai:simple-icons:matrix"><path fill="currentColor" d="M.632.55v22.9H2.28V24H0V0h2.28v.55zm7.043 7.26v1.157h.033a3.3 3.3 0 0 1 1.117-1.024c.433-.245.936-.365 1.5-.365q.81.002 1.481.314c.448.208.785.582 1.02 1.108q.382-.562 1.034-.992q.651-.43 1.546-.43q.679 0 1.26.167c.388.11.716.286.993.53c.276.245.489.559.646.951q.229.587.23 1.417v5.728h-2.349V11.52q0-.43-.032-.812a1.8 1.8 0 0 0-.18-.66a1.1 1.1 0 0 0-.438-.448q-.292-.165-.785-.166q-.498 0-.803.189a1.4 1.4 0 0 0-.48.499a2 2 0 0 0-.231.696a6 6 0 0 0-.06.785v4.768h-2.35v-4.8q.002-.38-.018-.752a2.1 2.1 0 0 0-.143-.688a1.05 1.05 0 0 0-.415-.503c-.194-.125-.476-.19-.854-.19q-.168 0-.439.074c-.18.051-.36.143-.53.282a1.64 1.64 0 0 0-.439.595q-.18.39-.18 1.02v4.966H5.46V7.81zm15.693 15.64V.55H21.72V0H24v24h-2.28v-.55z"/></symbol><use href="#ai:simple-icons:matrix"></use> </svg> </a> </li><li> <a class="text-zinc-500 dark:text-zinc-400 hover:bg-primary-100 dark:hover:bg-steel-700 focus:outline-none focus:ring-4 focus:ring-gray-200 dark:focus:ring-gray-700 rounded-lg text-sm p-2.5 inline-flex items-center" aria-label="Fediverse" href="https://floss.social/@forgejo" rel="me"> <svg width="1em" height="1em" viewBox="0 0 24 24" class="w-5 h-5" data-icon="simple-icons:mastodon"> <symbol id="ai:simple-icons:mastodon"><path fill="currentColor" d="M23.268 5.313c-.35-2.578-2.617-4.61-5.304-5.004C17.51.242 15.792 0 11.813 0h-.03c-3.98 0-4.835.242-5.288.309C3.882.692 1.496 2.518.917 5.127C.64 6.412.61 7.837.661 9.143c.074 1.874.088 3.745.26 5.611c.118 1.24.325 2.47.62 3.68c.55 2.237 2.777 4.098 4.96 4.857c2.336.792 4.849.923 7.256.38q.398-.092.786-.213c.585-.184 1.27-.39 1.774-.753a.06.06 0 0 0 .023-.043v-1.809a.05.05 0 0 0-.02-.041a.05.05 0 0 0-.046-.01a20.3 20.3 0 0 1-4.709.545c-2.73 0-3.463-1.284-3.674-1.818a5.6 5.6 0 0 1-.319-1.433a.053.053 0 0 1 .066-.054c1.517.363 3.072.546 4.632.546c.376 0 .75 0 1.125-.01c1.57-.044 3.224-.124 4.768-.422q.059-.011.11-.024c2.435-.464 4.753-1.92 4.989-5.604c.008-.145.03-1.52.03-1.67c.002-.512.167-3.63-.024-5.545m-3.748 9.195h-2.561V8.29c0-1.309-.55-1.976-1.67-1.976c-1.23 0-1.846.79-1.846 2.35v3.403h-2.546V8.663c0-1.56-.617-2.35-1.848-2.35c-1.112 0-1.668.668-1.67 1.977v6.218H4.822V8.102q0-1.965 1.011-3.12c.696-.77 1.608-1.164 2.74-1.164c1.311 0 2.302.5 2.962 1.498l.638 1.06l.638-1.06c.66-.999 1.65-1.498 2.96-1.498c1.13 0 2.043.395 2.74 1.164q1.012 1.155 1.012 3.12z"/></symbol><use href="#ai:simple-icons:mastodon"></use> </svg> </a> </li><li> <a class="text-zinc-500 dark:text-zinc-400 hover:bg-primary-100 dark:hover:bg-steel-700 focus:outline-none focus:ring-4 focus:ring-gray-200 dark:focus:ring-gray-700 rounded-lg text-sm p-2.5 inline-flex items-center" aria-label="RSS" href="/rss.xml" rel="me"> <svg width="1em" height="1em" viewBox="0 0 24 24" class="w-5 h-5" data-icon="tabler:rss"> <use href="#ai:tabler:rss"></use> </svg> </a> </li><li> <a class="text-zinc-500 dark:text-zinc-400 hover:bg-primary-100 dark:hover:bg-steel-700 focus:outline-none focus:ring-4 focus:ring-gray-200 dark:focus:ring-gray-700 rounded-lg text-sm p-2.5 inline-flex items-center" aria-label="Codeberg" href="https://codeberg.org/forgejo/forgejo" rel="me"> <svg width="1em" height="1em" viewBox="0 0 24 24" class="w-5 h-5" data-icon="tabler:git-merge"> <use href="#ai:tabler:git-merge"></use> </svg> </a> </li> </ul> <div class="text-xs text-zinc-700 mr-4 dark:text-zinc-400"> 217Copyright © 2026 Forgejo authors. Content available under 218<a href="https://creativecommons.org/licenses/by-sa/4.0/" class="hover:text-primary-600 dark:hover:text-primary-400 underline decoration-steel-200 dark:decoration-steel-500 hover:decoration-current transition duration-150 ease-in-out">CC BY-SA 4.0</a>, unless stated otherwise.<br> <a href="https://www.peppercarrot.com/en/viewer/misc-src__2022-11-27_Forgejo_by-David-Revoy.html" class="hover:text-primary-600 dark:hover:text-primary-400 underline decoration-steel-200 dark:decoration-steel-500 hover:decoration-current transition duration-150 ease-in-out">Forgejo mascot by David Revoy</a>, 219<a href="https://creativecommons.org/licenses/by/4.0/" class="hover:text-primary-600 dark:hover:text-primary-400 underline decoration-steel-200 dark:decoration-steel-500 hover:decoration-current transition duration-150 ease-in-out">CC BY 4.0</a>. 220</div> </div> </div> </footer>
220<script> 221 function attachEvent(selector, event, fn) { 222 const matches = document.querySelectorAll(selector); 223 if (matches && matches.length) { 224 matches.forEach((elem) => { 225 elem.addEventListener(event, () => fn(elem), false); 226 }); 227 } 228 } 229 230 window.onload = function () { 231 attachEvent('[data-aw-toggle-menu]', 'click', function (elem) { 232 elem.classList.toggle('expanded'); 233 document.body.classList.toggle('overflow-hidden'); 234 document.getElementById('header')?.classList.toggle('h-screen'); 235 document.querySelector('#header nav')?.classList.toggle('hidden'); 236 }); 237 }; 238 window.onpageshow = function () { 239 const elem = document.querySelector('[data-aw-toggle-menu]'); 240 if (elem) { 241 elem.classList.remove('expanded'); 242 } 243 document.body.classList.remove('overflow-hidden'); 244 document.getElementById('header')?.classList.remove('h-screen'); 245 document.querySelector('#header nav')?.classList.add('hidden'); 246 }; 247</script>
247 </body> </html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.