Commit 80be61b0 authored by Jakob Moser's avatar Jakob Moser
Browse files

Start creating own badges

parent 7746a0be
Loading
Loading
Loading
Loading
+23 −27
Original line number Diff line number Diff line
@@ -12,16 +12,24 @@
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />

    <style>
        .linked-badge {
        .badge {
            border: none;
            font-variant: all-small-caps;
            font-size: 85%;
        }
        
        article .security {
            display: none;
        .badge span {
            padding: 5px 10px;
            color: white;
        }

        article.security-shown .security {
            display: initial;
        .badge span:first-child {
            background-color: #555;
        }

        .badge span:last-child {
            background-color: #4c1;
            font-weight: bold;
        }
    </style>
</head>
@@ -68,19 +76,22 @@
                    { prefix: "planet", category: "down" }
                ]

                function createBadge(href, imgSrc, additionalClass) {
                function createBadge(href, name, status, additionalClass) {
                    const a = document.createElement("a")
                    a.href = href
                    a.target = "_blank"
                    a.classList.add("linked-badge")
                    a.classList.add("badge")
                    if (additionalClass !== undefined) {
                        a.classList.add(additionalClass)
                    }

                    const img = document.createElement("img")
                    img.src = imgSrc
                    const nameEl = document.createElement("span")
                    nameEl.textContent = name

                    const statusEl = document.createElement("span")
                    statusEl.textContent = status

                    a.appendChild(img)
                    a.append(nameEl, statusEl)

                    return a
                }
@@ -96,21 +107,7 @@

                function createStatusBadge(servicePrefix) {
                    const serviceUrl = getServiceUrl(servicePrefix)
                    const encodedServiceUrl = encodeURIComponent(serviceUrl)
                    const label = servicePrefix !== "" ? `&label=${servicePrefix}` : ""

                    const badgeUrl = `https://img.shields.io/website?style=for-the-badge&url=${encodedServiceUrl}${label}`
                    return createBadge(serviceUrl, badgeUrl)
                }

                function createSecurityHeadersBadge(servicePrefix) {
                    const serviceHost = getServiceHost(servicePrefix)
                    const serviceUrl = getServiceUrl(servicePrefix)
                    const encodedServiceUrl = encodeURIComponent(serviceUrl)

                    const badgeUrl = `https://img.shields.io/security-headers?style=for-the-badge&url=${encodedServiceUrl}`

                    return createBadge(`https://securityheaders.com/?followRedirects=on&hide=on&q=${serviceHost}`, badgeUrl, "security")
                    return createBadge(serviceUrl, servicePrefix || "Website", "Up")
                }

                services.forEach(service => {
@@ -124,8 +121,7 @@
    <footer>
        <a href="https://fachschaft.cl.uni-heidelberg.de/legal#impressum">Impressum</a> | <a
            href="https://fachschaft.cl.uni-heidelberg.de/legal#rechtliches">Rechtliches</a> | <a
            href="https://fachschaft.cl.uni-heidelberg.de/legal#datenschutz">Datenschutz</a> | Gebaut mit <a
            href="https://shields.io" target="blank">shields.io</a>
            href="https://fachschaft.cl.uni-heidelberg.de/legal#datenschutz">Datenschutz</a>
        <span class="copyright">&copy; Fachschaft Computerlinguistik, Universität Heidelberg</span>
    </footer>
</body>