caddy-git-server

Caddy module that provides a git server.

<!DOCTYPE html>
<html class="h-full bg-gray-100">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="https://cdn.tailwindcss.com"></script>

    <title>caddy-git-server</title>
</head>
<body class="bg-gray-100">
    
    <!-- full-width container with bg -->
    <div class="bg-white shadow-sm">
        <!-- Header -->
        <div class="px-8 pt-2 mb-4 2xl:px-0 max-w-7xl mx-auto">
            <div class="flex flex-wrap justify-between items-center">
                <p class="text-2xl">caddy-git-server</p>
                <p class="font-mono text-xs bg-gray-200 px-2 hidden sm:block rounded-xl"><span class="">git clone </span><span class="font-bold">https://localhost/git/caddy-git-server.git</span></p>
            </div>
            
            <div class="flex flex-wrap justify-between items-center">
                <p class="font-xs text-gray-500">Provides a `git_server` caddy module for serving git repositories.</p>
                
                <select class="px-4">
                    <option>main</option>
                    <option>master</option>
                    <option>trunk</option>
                    <option>reallylongbranchname</option>
                </select>
            </div>
            
            <div class="flex flex-row flex-nowrap justify-start">
                <a href="tree.html"><div class="cursor-pointer px-2 pt-1 hover:border-b-2">Tree</div></a>
                <a href="log.html"><div class="cursor-pointer px-2 pt-1 border-b-2 border-orange-400">Log</div></a>
                <div class="cursor-pointer px-2 pt-1 hover:border-b-2">Diff</div>
            </div>
        </div>
    </div>

    <!-- max-width content container -->
    <div class="max-w-7xl mx-auto">
            <!-- Tree View -->
    <div class="px-4 max-w-full bg-white shadow-sm rounded-sm">
        <div class="px-4 py-2 border-b-2 font-medium">
            Commit Log
        </div>
        <div class="flex flex-col divide-y">

            <div class="px-4 py-2 flex flex-row flex-nowrap justify-between items-center">
                <div>
                    <p class="font-medium wrap-anywhere">ooooooooooooooooooooooooooooo ooooooooooooooooooooi</p>
                    <p class="text-gray-500">Now - Rex McKinnon ([email protected])</p>
                </div>
                <div class="flex flew-row flex-nowrap">
                    <p class="font-mono text-sm">5c46f66</p>
                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="size-5 inline mx-2">
                        <path fill-rule="evenodd" d="M10.5 3A1.501 1.501 0 0 0 9 4.5h6A1.5 1.5 0 0 0 13.5 3h-3Zm-2.693.178A3 3 0 0 1 10.5 1.5h3a3 3 0 0 1 2.694 1.678c.497.042.992.092 1.486.15 1.497.173 2.57 1.46 2.57 2.929V19.5a3 3 0 0 1-3 3H6.75a3 3 0 0 1-3-3V6.257c0-1.47 1.073-2.756 2.57-2.93.493-.057.989-.107 1.487-.15Z" clip-rule="evenodd" />
                    </svg>
                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="size-5 inline mx-2">
                        <path fill-rule="evenodd" d="M14.447 3.026a.75.75 0 0 1 .527.921l-4.5 16.5a.75.75 0 0 1-1.448-.394l4.5-16.5a.75.75 0 0 1 .921-.527ZM16.72 6.22a.75.75 0 0 1 1.06 0l5.25 5.25a.75.75 0 0 1 0 1.06l-5.25 5.25a.75.75 0 1 1-1.06-1.06L21.44 12l-4.72-4.72a.75.75 0 0 1 0-1.06Zm-9.44 0a.75.75 0 0 1 0 1.06L2.56 12l4.72 4.72a.75.75 0 0 1-1.06 1.06L.97 12.53a.75.75 0 0 1 0-1.06l5.25-5.25a.75.75 0 0 1 1.06 0Z" clip-rule="evenodd" />
                    </svg>

                </div>
            </div>

            <div class="px-4 py-2 flex flex-row flex-nowrap justify-between items-center">
                <div>
                    <p class="font-medium">Initial commit ggggg gggggggg gggggg gggggggggg gggggggg ggggggg ggggg ggggggggg gggggggggg gggggg ggggg gggggg ggggg gggggggg gggggg ggggg</p>
                    <p class="text-gray-500">Yesterday - Rex McKinnon ([email protected])</p>
                </div>
                <div class="flex flew-row flex-nowrap">
                    <p class="font-mono text-sm">5c46f66</p>
                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="size-5 inline mx-2">
                        <path fill-rule="evenodd" d="M10.5 3A1.501 1.501 0 0 0 9 4.5h6A1.5 1.5 0 0 0 13.5 3h-3Zm-2.693.178A3 3 0 0 1 10.5 1.5h3a3 3 0 0 1 2.694 1.678c.497.042.992.092 1.486.15 1.497.173 2.57 1.46 2.57 2.929V19.5a3 3 0 0 1-3 3H6.75a3 3 0 0 1-3-3V6.257c0-1.47 1.073-2.756 2.57-2.93.493-.057.989-.107 1.487-.15Z" clip-rule="evenodd" />
                    </svg>
                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="size-5 inline mx-2">
                        <path fill-rule="evenodd" d="M14.447 3.026a.75.75 0 0 1 .527.921l-4.5 16.5a.75.75 0 0 1-1.448-.394l4.5-16.5a.75.75 0 0 1 .921-.527ZM16.72 6.22a.75.75 0 0 1 1.06 0l5.25 5.25a.75.75 0 0 1 0 1.06l-5.25 5.25a.75.75 0 1 1-1.06-1.06L21.44 12l-4.72-4.72a.75.75 0 0 1 0-1.06Zm-9.44 0a.75.75 0 0 1 0 1.06L2.56 12l4.72 4.72a.75.75 0 0 1-1.06 1.06L.97 12.53a.75.75 0 0 1 0-1.06l5.25-5.25a.75.75 0 0 1 1.06 0Z" clip-rule="evenodd" />
                    </svg>

                </div>
            </div>

            <div class="px-4 py-2 flex flex-row flex-nowrap justify-between items-center">
                <div>
                    <p class="font-medium">Initial commit</p>
                    <p class="text-gray-500">Yesterday - Rex McKinnon ([email protected])</p>
                </div>
                <div class="flex flew-row flex-nowrap">
                    <p class="font-mono text-sm">5c46f66</p>
                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="size-5 inline mx-2">
                        <path fill-rule="evenodd" d="M10.5 3A1.501 1.501 0 0 0 9 4.5h6A1.5 1.5 0 0 0 13.5 3h-3Zm-2.693.178A3 3 0 0 1 10.5 1.5h3a3 3 0 0 1 2.694 1.678c.497.042.992.092 1.486.15 1.497.173 2.57 1.46 2.57 2.929V19.5a3 3 0 0 1-3 3H6.75a3 3 0 0 1-3-3V6.257c0-1.47 1.073-2.756 2.57-2.93.493-.057.989-.107 1.487-.15Z" clip-rule="evenodd" />
                    </svg>
                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="size-5 inline mx-2">
                        <path fill-rule="evenodd" d="M14.447 3.026a.75.75 0 0 1 .527.921l-4.5 16.5a.75.75 0 0 1-1.448-.394l4.5-16.5a.75.75 0 0 1 .921-.527ZM16.72 6.22a.75.75 0 0 1 1.06 0l5.25 5.25a.75.75 0 0 1 0 1.06l-5.25 5.25a.75.75 0 1 1-1.06-1.06L21.44 12l-4.72-4.72a.75.75 0 0 1 0-1.06Zm-9.44 0a.75.75 0 0 1 0 1.06L2.56 12l4.72 4.72a.75.75 0 0 1-1.06 1.06L.97 12.53a.75.75 0 0 1 0-1.06l5.25-5.25a.75.75 0 0 1 1.06 0Z" clip-rule="evenodd" />
                    </svg>

                </div>
            </div>

        </div>
    </div>

    </div>

    <!-- Footer -->
    <div class="mt-4 sticky top-[100vh]">
        <div class="px-3 py-2 text-md text-center">
            Served with
            <img src="cgs-icon.png" class="size-6 inline mx-1">
            <a href="https://git.mckinnon.ninja/caddy-git-server" class="font-medium underline">
                caddy-git-server
            </a>
        </div>
    </div>
</div>
</body>
</html>