Files
pages-server/index.html
2026-04-26 10:52:57 +02:00

215 lines
21 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="en" class="codeberg-design">
<head>
<!-- Meta tags -->
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport" />
<meta name="viewport" content="width=device-width" />
<!-- Favicon and title -->
<link rel="icon" href="https://design.codeberg.org/favicon.ico">
<title>Codeberg Pages - static pages for your projects</title>
<!-- Codeberg Design CSS -->
<link rel="icon" href="https://design.codeberg.org/logo-kit/favicon.ico" type="image/x-icon" />
<link rel="icon" href="https://design.codeberg.org/logo-kit/favicon.svg" type="image/svg+xml" />
<link rel="apple-touch-icon" href="https://design.codeberg.org/logo-kit/apple-touch-icon.png" />
<link rel="stylesheet" href="https://design.codeberg.org/design-kit/codeberg.css" />
<script defer src="https://design.codeberg.org/design-kit/codeberg.js"></script>
<script defer src="https://design.codeberg.org/components/codeberg-components.js"></script>
<link href="https://fonts.codeberg.org/dist/inter/Inter%20Web/inter.css" rel="stylesheet" />
<link href="https://fonts.codeberg.org/dist/fontawesome5/css/all.min.css" rel="stylesheet" />
<!-- Page specific styles -->
<style>
.codeberg-hero {
padding: 5rem var(--content-and-card-spacing); display: flex; justify-content: center; background: var(--accent);
}
.codeberg-hero>div {
max-width: 80em; display: flex; align-items: center; color: #fff;
}
.codeberg-hero>div>div {
margin-left: var(--content-and-card-spacing);
}
.codeberg-hero h3 {
font-weight: 600;
}
@media (max-width: 60em) {
.codeberg-hero>div {
flex-direction: column;
}
.codeberg-hero>div>div {
margin-left: 0;
margin-top: var(--content-and-card-spacing);
}
}
.codeberg-divider {
display: flex;
align-items: center;
}
.codeberg-divider>hr { flex-basis: 50%; --lm-horizontal-rule-color: var(--lm-card-border-color); }
.codeberg-divider>hr:first-child { margin-right: 1rem; }
.codeberg-divider>hr:last-child { margin-left: 1rem; }
.codeberg-divider>:not(hr) {
flex: none;
}
.codeberg-number-circle {
width: 2em; height: 2em; display: flex; align-items: center; justify-content: center; margin: 0 auto 1rem;
background: var(--accent);
color: #fff;
border-radius: 1em;
}
</style>
</head>
<body data-dm-shortcut-enabled="true" data-set-preferred-mode-onload="true">
<!-- Page wrapper start -->
<div class="page-wrapper with-navbar">
<!-- Navbar start -->
<nav class="navbar">
<!-- Reference: https://www.gethalfmoon.com/docs/navbar -->
<!-- Navbar brand -->
<a href="https://codeberg.page" class="navbar-brand" title="Codeberg Design">
<img src="https://design.codeberg.org/logo-kit/icon_inverted.svg" alt="Codeberg">
Pages
</a>
<!-- Navbar nav -->
<ul class="navbar-nav d-none d-md-flex"> <!-- d-none = display: none, d-md-flex = display: flex on medium screens and up (width > 768px) -->
<li class="nav-item active">
<a href="" class="nav-link">Intro</a>
</li>
<li class="nav-item">
<a href="https://docs.codeberg.org/codeberg-pages/" class="nav-link">Documentation</a>
</li>
</ul>
<!-- Navbar content (with the dropdown menu) -->
<div class="navbar-content d-md-none ml-auto"> <!-- d-md-none = display: none on medium screens and up (width > 768px), ml-auto = margin-left: auto -->
<div class="dropdown with-arrow">
<button class="btn" data-toggle="dropdown" type="button" id="navbar-dropdown-toggle-btn-1">
Menu
<i class="fa fa-angle-down" aria-hidden="true"></i>
</button>
<div class="dropdown-menu dropdown-menu-right w-200" aria-labelledby="navbar-dropdown-toggle-btn-1"> <!-- w-200 = width: 20rem (200px) -->
<a href="" class="dropdown-item">Intro</a>
<a href="https://docs.codeberg.org/codeberg-pages/" class="dropdown-item">Documentation</a>
</div>
</div>
</div>
</nav>
<!-- Navbar end -->
<!-- Content wrapper start -->
<div class="content-wrapper">
<!-- Container-fluid -->
<div class="container-fluid" style="--accent: #144b49">
<div class="codeberg-hero">
<div>
<svg style="flex: none; max-width: 100%;" width="418.1" height="163" viewBox="0 0 836.2 325.9" xmlns="http://www.w3.org/2000/svg"><style>.st0{fill:#6a737f}.st1{fill:#eef2f4}.st2{fill:#fff}.st3{fill:#003532}.st4{fill:#bbbfc2}.st5{fill:#28a8e0}.st6{opacity:.4;fill:#848484}.st7{fill:none;stroke:#444e59;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10}.st8{opacity:.32;fill:#848484}.st9{fill:#afb1b2}.st10{fill:#aeaeaf}.st11{fill:#6567c3}.st12{opacity:.2;fill:#444e59}.st13{fill:none;stroke:#444e59;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10}.st13,.st14{opacity:.2}.st15{opacity:9e-2}.st16{fill:#f09f54}.st17{fill:#ed8b3b}.st18{fill:#ff6c37}.st19{fill:#8d91db}.st20,.st21{fill:#beccd5;stroke:#444e59;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10}.st21{opacity:.3;fill:none}.st22{opacity:.62;fill:#fff}.st23{opacity:.71;fill:#5d5d5d}.st24{opacity:.8;fill:#bbbfc2}.st25{opacity:.3}.st26,.st27{stroke-width:2}.st26{fill:none;stroke:#444e59;stroke-linejoin:round}.st27{stroke-dasharray:2.858,1.9053}.st27,.st28,.st29,.st30{fill:none;stroke:#444e59;stroke-linejoin:round}.st28{stroke-width:2;stroke-dasharray:3.0046,2.003}.st29,.st30{stroke-miterlimit:10}.st30{stroke-linecap:round}</style><path id="XMLID_1313_" class="st3" d="M825.1 323.9H11c-5 0-9-4-9-9s4-9 9-9h814.2c5 0 9 4 9 9-.1 5-4.1 9-9.1 9z"/><g id="XMLID_24_" transform="translate(-84.7 -342.4)"><path id="XMLID_6_" class="st3" d="M407.4 647.8h140.8v8.4H407.4z"/><g id="XMLID_104_"><path id="XMLID_76_" class="st4" d="M646 592.9H313.8c-6.6 0-12-5.4-12-12V358.4c0-6.6 5.4-12 12-12H646c6.6 0 12 5.4 12 12v222.4c0 6.7-5.3 12.1-12 12.1z"/><path id="XMLID_80_" class="st5" transform="rotate(90 480.6 459.78)" d="M389.8 303.5h181.7v312.6H389.8z"/><path id="XMLID_18_" class="st6" d="M646.8 592.9h-52.1v-94.8c0-7.6 6.1-13.7 13.7-13.7h38.4z"/><path id="XMLID_107_" class="st6" d="M327.1 501.3h-25.3V576c0 9.3 8 16.9 17.4 16.9h29.1v-70c-.1-11.7-9.6-21.6-21.2-21.6z"/><path id="XMLID_5_" class="st7" d="M647 592.9H314.2c-6.6 0-12-5.4-12-12V358.4c0-6.6 5.4-12 12-12H647c6.6 0 12 5.4 12 12v222.4c0 6.7-5.4 12.1-12 12.1z"/><path id="XMLID_7_" class="st7" transform="rotate(90 480.6 459.78)" d="M389.8 303.9h181.7v311.7H389.8z"/></g><path id="XMLID_179_" class="st8" d="M575.9 541.9H404.1c-3.9 0-7-3.2-7-7V412.3c0-3.9 3.2-7 7-7h171.8c3.9 0 7 3.2 7 7v122.5c0 3.9-3.1 7.1-7 7.1z"/><path id="XMLID_134_" class="st9" d="M567.9 535.1H396.1c-3.9 0-7-3.2-7-7V405.6c0-3.9 3.2-7 7-7h171.8c3.9 0 7 3.2 7 7v122.5c.1 3.9-3.1 7-7 7z"/><path id="XMLID_137_" class="st7" d="M567.9 535.1H396.1c-3.9 0-7-3.2-7-7V405.6c0-3.9 3.2-7 7-7h171.8c3.9 0 7 3.2 7 7v122.5c.1 3.9-3.1 7-7 7z"/><path id="XMLID_96_" class="st10" d="M522.5 647.8h-83.8l10.4-54.9h63z"/><path id="XMLID_99_" class="st8" d="M514.9 608.4l-2.8-15.5h-63l-2.8 15.5z"/><path id="XMLID_3_" class="st7" d="M522.5 647.8h-83.8l10.4-54.9h63z"/><circle id="XMLID_9_" class="st3" cx="480.1" cy="567.7" r="6.2"/><path id="XMLID_133_" class="st2" d="M553.8 522.5H382c-3.9 0-7-3.2-7-7V392.9c0-3.9 3.2-7 7-7h171.8c3.9 0 7 3.2 7 7v122.5c.1 3.9-3.1 7.1-7 7.1z"/><path id="XMLID_25_" class="st7" d="M553.8 522.5H382c-3.9 0-7-3.2-7-7V392.9c0-3.9 3.2-7 7-7h171.8c3.9 0 7 3.2 7 7v122.5c.1 3.9-3.1 7.1-7 7.1z"/><path id="XMLID_105_" class="st4" d="M560.9 407H375v-13.8c0-4 3.3-7.4 7.4-7.4H554c3.8 0 6.9 3.1 6.9 6.9z"/><path id="XMLID_26_" class="st7" d="M560.9 407H375v-13.8c0-4 3.3-7.4 7.4-7.4H554c3.8 0 6.9 3.1 6.9 6.9z"/><g id="XMLID_108_"><circle id="XMLID_106_" class="st3" cx="392.9" cy="396.5" r="3.3"/><circle id="XMLID_109_" class="st3" cx="403.8" cy="396.5" r="3.3"/><circle id="XMLID_120_" class="st3" cx="414.6" cy="396.5" r="3.3"/></g><path id="XMLID_122_" class="st11" d="M543.4 443.6H391.1c-1.1 0-2-.9-2-2v-21.3c0-1.1.9-2 2-2h152.3c1.1 0 2 .9 2 2v21.3c0 1.1-.9 2-2 2z"/><g id="XMLID_123_"><path id="XMLID_124_" class="st12" d="M434.9 470.3H391c-1.1 0-2-.9-2-2v-11.5c0-1.1.9-2 2-2h43.9c1.1 0 2 .9 2 2v11.5c0 1.1-.8 2-2 2z"/><path id="XMLID_125_" class="st13" d="M396.1 481.6h35.2"/><path id="XMLID_128_" class="st13" d="M396.1 492.9h35.2"/></g><g id="XMLID_127_"><path id="XMLID_131_" class="st12" d="M489.9 470.3H446c-1.1 0-2-.9-2-2v-11.5c0-1.1.9-2 2-2h43.9c1.1 0 2 .9 2 2v11.5c0 1.1-.9 2-2 2z"/><path id="XMLID_130_" class="st13" d="M451 481.6h33.8"/><path id="XMLID_129_" class="st13" d="M451 492.9h33.8"/></g><g id="XMLID_132_" class="st14"><path id="XMLID_135_" class="st3" d="M544.8 494.3h-43.9c-1.1 0-2-.9-2-2v-35.4c0-1.1.9-2 2-2h43.9c1.1 0 2 .9 2 2v35.4c0 1.1-.9 2-2 2z"/></g><g id="XMLID_126_" class="st15"><path id="XMLID_136_" class="st3" d="M543.4 505.6h-41.8c-1.6 0-2.8-1.3-2.8-2.8s1.3-2.8 2.8-2.8h41.8c1.6 0 2.8 1.3 2.8 2.8s-1.3 2.8-2.8 2.8z"/></g></g><g id="XMLID_23_" transform="translate(-84.7 -342.4)"><g id="XMLID_12_"><path id="XMLID_71_" class="st2" d="M229.2 613.4h-80.6c-1 0-1.9.3-2.6 1l-19.5 17c-1.8 1.6-1.8 4.4 0 5.9l19.5 17.3c.7.6 1.6 1.2 2.6 1.2h80.6c4.6 0 8.4-4.2 8.4-8.8v-25.5c-.1-4.4-3.8-8.1-8.4-8.1zm-82.8 25.9c-2.7 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5z"/><path id="XMLID_70_" class="st16" d="M167.1 613.4h23.5v42.5h-23.5z"/><path id="XMLID_69_" class="st17" d="M190.6 613.4h23.5v42.5h-23.5z"/><path id="XMLID_58_" class="st18" d="M227.1 655.9h-13v-42.5h13.4c5.5 0 10.1 4.5 10.1 10.1v22c-.1 5.7-4.8 10.4-10.5 10.4z"/><path id="XMLID_117_" class="st6" d="M231.4 615.5c-.4-.1-.8-.1-1.2-.1h-80.6c-1 0-1.9.3-2.6 1l-19.5 17c-1.8 1.6-1.8 4.4 0 5.9l12.2 10.7 13.2 3.3c.6.2 1.3.2 2 .2 1.3 0 2.5-.3 3.7-.9l71.8-36.6c.3-.1.7-.3 1-.5zm-84 25.8c-2.7 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5z"/><path id="XMLID_29_" class="st7" d="M229.2 613.4h-80.6c-1 0-1.9.3-2.6 1l-19.5 17c-1.8 1.6-1.8 4.4 0 5.9l19.5 17.3c.7.6 1.6 1.2 2.6 1.2h80.6c4.6 0 8.4-4.2 8.4-8.8v-25.5c-.1-4.4-3.8-8.1-8.4-8.1zm-82.8 25.9c-2.7 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5z"/><path id="XMLID_17_" class="st7" d="M167.1 613.4h23.5v42.5h-23.5z"/><path id="XMLID_21_" class="st7" d="M190.6 613.4h23.5v42.5h-23.5z"/><path id="XMLID_22_" class="st7" d="M227.1 655.9h-13v-42.5h13.4c5.5 0 10.1 4.5 10.1 10.1v22c-.1 5.7-4.8 10.4-10.5 10.4z"/></g><g id="XMLID_20_"><path id="XMLID_74_" class="st2" d="M208.4 573l-71.8 36.6c-.9.4-1.5 1.2-1.9 2.1l-9.6 24c-.9 2.2.4 4.7 2.7 5.3l25.1 6.4c.9.2 1.9.1 2.8-.3l71.8-36.6c4.1-2.1 5.7-7.1 3.6-11.1l-11.6-22.7c-2.1-4.2-7.1-5.8-11.1-3.7z"/><path id="XMLID_77_" class="st19" transform="rotate(-27.031 193.875 603.895)" d="M182.2 582.9h23.5v42h-23.5z"/><path id="XMLID_33_" class="st7" d="M208.4 573l-71.8 36.6c-.9.4-1.5 1.2-1.9 2.1l-9.6 24c-.9 2.2.4 4.7 2.7 5.3l25.1 6.4c.9.2 1.9.1 2.8-.3l71.8-36.6c4.1-2.1 5.7-7.1 3.6-11.1l-11.6-22.7c-2.1-4.2-7.1-5.8-11.1-3.7z"/><circle id="XMLID_34_" class="st3" cx="144.2" cy="629.3" r="5.8"/><path id="XMLID_79_" class="st20" transform="rotate(-27.031 172.957 614.577)" d="M161.2 593.6h23.5v42h-23.5z"/><path id="XMLID_32_" class="st7" transform="rotate(-27.031 172.957 614.577)" d="M161.2 593.6h23.5v42h-23.5z"/><path id="XMLID_31_" class="st7" transform="rotate(-27.031 193.875 603.895)" d="M182.2 582.9h23.5v42h-23.5z"/><path id="XMLID_30_" class="st11" d="M225.9 611.2l-12 6.1-19.1-37.4 12-6.1c4.9-2.5 10.9-.6 13.5 4.4l10 19.6c2.5 4.9.5 10.9-4.4 13.4z"/><path id="XMLID_78_" class="st7" d="M225.9 611.2l-12 6.1-19.1-37.4 12-6.1c4.9-2.5 10.9-.6 13.5 4.4l10 19.6c2.5 4.9.5 10.9-4.4 13.4z"/></g></g><g id="XMLID_90_" transform="translate(-84.7 -342.4)"><path id="XMLID_102_" class="st2" d="M327 656.2h-67.3c-5.5 0-10-4.5-10-10V511.3c0-5.5 4.5-10 10-10H327c5.5 0 10 4.5 10 10v134.9c0 5.6-4.5 10-10 10z"/><path id="XMLID_83_" class="st11" d="M338.4 547.8h-88.7v-36.7c0-5.4 4.4-9.8 9.8-9.8H328c5.7 0 10.3 4.7 10.3 10.3v36.2z"/><path id="XMLID_10_" class="st7" d="M327 656.2h-67.3c-5.5 0-10-4.5-10-10V511.3c0-5.5 4.5-10 10-10H327c5.5 0 10 4.5 10 10v134.9c0 5.6-4.5 10-10 10z"/><path id="XMLID_82_" class="st4" d="M327.1 656.2H260c-5.7 0-10.4-4.7-10.4-10.4v-19.2H337v19.7c0 5.5-4.5 9.9-9.9 9.9z"/><path id="XMLID_81_" class="st7" d="M327.3 656.2H260c-5.7 0-10.4-4.7-10.4-10.4v-19.2H337v19.9c0 5.4-4.4 9.7-9.7 9.7z"/><circle id="XMLID_84_" class="st3" cx="294" cy="640.8" r="5"/><path id="XMLID_86_" class="st21" d="M269.4 563.3h49.3"/><path id="XMLID_87_" class="st21" d="M279.2 578.8h31"/><path id="XMLID_88_" class="st21" d="M269.4 592.9h49.3"/><circle id="XMLID_85_" class="st22" cx="294" cy="528.1" r="11.2"/><path id="XMLID_89_" class="st17" d="M310.2 608.4c0 3.1-2.5 5.6-5.6 5.6h-21.1c-3.1 0-5.6-2.5-5.6-5.6s2.5-5.6 5.6-5.6h21.1c3.1-.1 5.6 2.4 5.6 5.6z"/></g><g id="XMLID_111_" transform="translate(-84.7 -342.4)"><path id="XMLID_100_" class="st4" d="M848.2 637.9H605.9V492.3c0-4.3 3.5-7.8 7.8-7.8h226.8c4.2 0 7.6 3.4 7.6 7.6v145.8z"/><path id="XMLID_11_" class="st7" d="M848.8 638.2H606.6v-146c0-4.4 3.6-8 8-8h226.2c4.4 0 8 3.6 8 8z"/><path id="XMLID_101_" class="st23" transform="rotate(90 727.75 561.18)" d="M663.7 453.4h128.2v215.5H663.7z"/><path id="XMLID_183_" class="st8" d="M672.7 600.9h-18.6c-1.1 0-2-.9-2-2v-63.7c0-1.1.9-2 2-2h18.6c1.1 0 2 .9 2 2V599c0 1-.9 1.9-2 1.9z"/><path id="XMLID_178_" class="st8" d="M807 613.8H699.6c-2.2 0-4-1.8-4-4v-82.1c0-2.2 1.8-4 4-4H807c2.2 0 4 1.8 4 4v82.1c0 2.2-1.7 4-4 4z"/><path id="XMLID_103_" class="st7" transform="rotate(90 727.66 561.18)" d="M664.1 453.5h127.1v215.3H664.1z"/><path id="XMLID_110_" class="st2" d="M875.2 638.2H580.1v9.4c0 4.4 3.6 8 8 8h279.1c4.4 0 8-3.6 8-8z"/><path id="XMLID_206_" class="st24" d="M591.4 656.2H864c5.5 0 10-4.2 11-9.9H580.3c1 5.7 5.6 9.9 11.1 9.9z"/><path id="XMLID_15_" class="st7" d="M875.2 638.2H580.1v9.4c0 4.4 3.6 8 8 8h279.1c4.4 0 8-3.6 8-8z"/><path id="XMLID_201_" class="st16" d="M646.8 528.1h22.5v22.5h-22.5z"/><path id="XMLID_138_" class="st7" d="M647.2 528.3h22.5v22.5h-22.5z"/><path id="XMLID_180_" class="st7" d="M647.2 528.3h22.5v22.5h-22.5z"/><path id="XMLID_156_" class="st19" d="M646.8 550.6h22.5v22.5h-22.5z"/><path id="XMLID_140_" class="st7" d="M647.2 550.9h22.5v22.5h-22.5z"/><path id="XMLID_202_" class="st11" d="M646.8 573.1h22.5v22.5h-22.5z"/><path id="XMLID_143_" class="st7" d="M647.2 573.4h22.5v22.5h-22.5z"/><path id="XMLID_115_" class="st2" d="M800.5 606.9H693c-2.2 0-4-1.8-4-4v-82.1c0-2.2 1.8-4 4-4h107.5c2.2 0 4 1.8 4 4v82.1c0 2.3-1.8 4-4 4z"/><path id="XMLID_139_" class="st7" d="M800.5 606.9H693c-2.2 0-4-1.8-4-4v-82.1c0-2.2 1.8-4 4-4h107.5c2.2 0 4 1.8 4 4v82.1c0 2.3-1.8 4-4 4z"/><g id="XMLID_147_" class="st25"><g id="XMLID_205_"><path id="XMLID_419_" class="st26" d="M770.7 583.2v1.5h-1.5"/><path id="XMLID_418_" class="st27" d="M767.3 584.7h-41.9"/><path id="XMLID_417_" class="st26" d="M724.4 584.7h-1.5v-1.5"/><path id="XMLID_416_" class="st28" d="M722.9 581.1v-39"/><path id="XMLID_415_" class="st26" d="M722.9 541.1v-1.5h1.5"/><path id="XMLID_214_" class="st27" d="M726.3 539.6h41.9"/><path id="XMLID_213_" class="st26" d="M769.2 539.6h1.5v1.5"/><path id="XMLID_211_" class="st28" d="M770.7 543.1v39.1"/></g></g><g id="XMLID_155_"><path id="XMLID_154_" class="st2" d="M719.6 536.1h7.1v7.1h-7.1z"/><path id="XMLID_153_" class="st29" d="M719.3 535.8h7v7h-7z"/></g><g id="XMLID_157_"><path id="XMLID_159_" class="st2" d="M719.6 581.1h7.1v7.1h-7.1z"/><path id="XMLID_158_" class="st29" d="M719.3 580.9h7v7h-7z"/></g><g id="XMLID_162_"><path id="XMLID_166_" class="st2" d="M767.2 536.1h7.1v7.1h-7.1z"/><path id="XMLID_164_" class="st29" d="M767.2 535.8h7v7h-7z"/></g><g id="XMLID_196_"><path id="XMLID_198_" class="st2" d="M767.2 581.1h7.1v7.1h-7.1z"/><path id="XMLID_197_" class="st29" d="M767.2 580.9h7v7h-7z"/></g><g id="XMLID_229_"><g id="XMLID_225_"><path id="XMLID_230_" class="st2" d="M673.8 569.5l-15.3-7 7.1 15.2 6.9 3.6 4.8-4.8z"/><path id="XMLID_227_" class="st29" d="M673.8 569.5l-15.3-7 7.1 15.2 6.9 3.6 4.8-4.8z"/><circle id="XMLID_224_" class="st3" cx="667.5" cy="571.1" r="1.9"/><path id="XMLID_226_" class="st30" d="M658.5 562.5l7.9 7.9"/></g><path id="XMLID_231_" class="st2" transform="rotate(-45.001 676.684 580.598)" d="M673.3 578.1h6.8v4.9h-6.8z"/><path id="XMLID_228_" class="st29" transform="rotate(-45.001 676.684 580.598)" d="M673.3 578.1h6.8v4.9h-6.8z"/></g></g></svg>
<div>
<h3>Host static websites with Codeberg Pages!</h3>
<p>It's quick, easy, free & fast - just put your open source project's homepage, developer blog or web experiment into a Git repository at <a style="color: inherit; opacity: 0.6" href="https://codeberg.org">Codeberg</a>, and we'll do the rest.</p>
</div>
</div>
</div>
<div class="content">
<h3>Set up your website (with CI)</h3>
<p>
<strong>If you use a static site generator</strong> like Jekyll, Hugo, or any other similar tool, you can integrate deployment into the <a href="https://docs.codeberg.org/ci/actions/">Forgejo Actions</a> workflow which builds your site.
</p>
<p>
To learn how to do this, see <a href="https://docs.codeberg.org/codeberg-pages/forgejo-actions/">our documentation</a>.
</p>
<h3>Set up your website (without CI)</h3>
<p>
If you just want to serve plain old hand-made static files, you can also configure a webhook on your repository to deploy changes to Codeberg Pages.
</p>
<div class="card" style="max-width: 80em; margin: 0 auto;">
<div class="row" style="gap: var(--content-and-card-spacing)">
<div class="col-lg">
<h4 class="text-center">
<span class="codeberg-number-circle">1</span>
Set up your&nbsp;repository
</h4>
<p>
Create a public repository named <code class="code">pages</code> with a branch called <code class="code">pages</code> to make the site available at the main subdomain.
</p>
<div class="codeberg-divider"><hr>or<hr></div>
<p>
Create a branch <code class="code">pages</code> in a public repository:<br>
<code class="code">git switch --orphan pages</code><br><code class="code">git rm --cached -r .</code>
</p>
</div>
<div class="col-lg">
<h4 class="text-center">
<span class="codeberg-number-circle">2</span>
Set up deployment
</h4>
<p>
In the <b>Settings</b> for your repository, go to <b>Webhooks</b> and click <b>Add webhook</b>.
</p>
<p>
Select <b>Forgejo</b> from the drop down list of webhook types.
</p>
<p>
Set the <b>Target URL</b> to the URL of your website. If you dont have a custom domain, thats <code class="code">https://USERNAME.codeberg.page/REPOSITORY</code>, replacing <code class="code">USERNAME</code> with your user or organization name and <code class="code">REPOSITORY</code> with the name of your repository.
(If your repository is called <code class="code">pages</code>, omit it.)
If you have a custom domain, remember to <a href="#dns-configuration">configure it with the instructions below</a>.
</p>
<p>
Set the <b>Branch filter</b> to <code class="code">pages</code>.
</p>
<p>
Click <b>Add webhook</b>.
</p>
</div>
<div class="col-lg">
<h4 class="text-center">
<span class="codeberg-number-circle">3</span>
Upload your files and youre&nbsp;done!
</h4>
<p>
Push your static content, HTML, style, fonts, images or anything else. They will be accessible at <code class="code">https://USERNAME.codeberg.page[/REPOSITORY]</code>.
</p>
<!--<div class="codeberg-divider">or</div>
<p>
Push the source for your page based on any static site generator, and <a href="">compile it with Codeberg CI</a>.
</p>-->
</div>
</div>
</div>
<h3 id="dns-configuration">Custom domain configuration</h3>
<p>
To use a custom domain, create a file <code class="code">.domains</code> in your <code>pages</code> branch with the domain name you wish to use.
</p>
<p>
Then, add a DNS record for that domain:<br>
<code class="code">CNAME [[<i>branch</i>.]<i>repo</i>.]<i>user</i>.codeberg.page.</code>
</p>
<p>
Or for apex domains where CNAME doesn't work:<br>
<code class="code">ALIAS codeberg.page.</code><br>
<code class="code">TXT [[<i>branch</i>.]<i>repo</i>.]<i>user</i>.codeberg.page</code>
</p>
<p>
If ALIAS isn't supported, use add the <code class="code">TXT</code> record as described above, and use <code class="code">A</code>+<code class="code">AAAA</code> as following:
</p>
<p>
<code class="code">A 217.197.84.141</code><br>
<code class="code">AAAA 2a0a:4580:103f:c0de::2</code>
</p>
</div>
</div>
</div>
<!-- Content wrapper end -->
</div>
<!-- Page wrapper end -->
</body>
</html>