commit 405a46009e623ea5c36f89dbc7ba3401772c266f
Author: night0721 <[email protected]>
Date: Sat, 20 Jan 2024 15:08:38 +0000
init
Diffstat:
4 files changed, 218 insertions(+), 0 deletions(-)
diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
@@ -0,0 +1,51 @@
+name: "publish image"
+
+on:
+ push:
+ branches: ["master"]
+
+concurrency:
+ group: ${{ github.workflow }}-${{ github.ref }}
+ cancel-in-progress: true
+
+defaults:
+ run:
+ shell: bash
+
+jobs:
+ package:
+ permissions:
+ contents: read
+ packages: write
+ runs-on: ubuntu-latest
+ steps:
+
+ - name: generate image tag
+ id: tag
+ run: |
+ sha="${GITHUB_SHA::7}"
+ unix="$(date +%s)"
+ echo "tag=$sha-$unix" >> $GITHUB_OUTPUT
+
+ - name: login to ghcr
+ uses: docker/login-action@v2
+ with:
+ registry: ghcr.io
+ username: ${{ github.actor }}
+ password: ${{ secrets.GITHUB_TOKEN }}
+
+ - name: checkout repo
+ uses: actions/checkout@v3
+
+ - name: set up docker buildx
+ uses: docker/setup-buildx-action@v2
+
+ - name: build and push image
+ uses: docker/build-push-action@v3
+ with:
+ context: .
+ platforms: linux/amd64,linux/arm64
+ push: ${{ github.event_name != 'pull_request' }}
+ tags: |
+ ghcr.io/${{ github.repository }}:${{ steps.tag.outputs.tag }}
+ ghcr.io/${{ github.repository }}:latest
diff --git a/README.md b/README.md
@@ -0,0 +1,7 @@
+# startpage
+
+## `tree` inspired startpage with common links, as well as an html form forwarding to searx
+
+Try it out [here!](https://start.night0721.xyz)
+![](https://media.discordapp.net/attachments/842014909264953354/1198282739321942067/image.png?ex=65be56c4&is=65abe1c4&hm=ec12847c50c9234f93f27ff38feb84969531ac202df9cb62ecf4449a611657fd&=&format=webp&quality=lossless&width=716&height=610)
+Credits: [skovati](https://skovati.dev)
diff --git a/index.html b/index.html
@@ -0,0 +1,52 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="UTF-8">
+ <link rel="stylesheet" type="text/css" href="style.css">
+ <link rel="icon" href="data:,">
+ <title> ~ </title>
+ </head>
+ <body>
+ <div class="container">
+ <div class="prompt"><span>night</span>@<span>n10</span> ~ tree</div>
+ <div class="tree">
+ <h1>.</h1>
+ <ul>
+ <li>
+ <h1>/usr/</h1>
+ <ul>
+ <li>
+ <h1>/docs/</h1>
+ <ul>
+ <li><a href="https://wiki.gentoo.org/">gentoo</a></li>
+ <li><a href="https://wiki.archlinux.org/">arch</a></li>
+ <li><a href="https://man7.org/linux/man-pages/index.html">man</a></li>
+ </ul>
+ </li>
+ <li><a href="https://youtube.com/">youtube</a></li>
+ </ul>
+ </li>
+ <li>
+ <h1>/dev/</h1>
+ <ul>
+ <li><a href="https://git.sr.ht/~night0721">sr.ht</a></li>
+ <li><a href="https://github.com/night0721">github</a></li>
+ <li><a href="https://codeberg.org/night0721">codeberg</a></li>
+ </ul>
+ </li>
+ <li>
+ <h1>/etc/</h1>
+ <ul>
+ <li><a href="https://singlelogin.se/">zlib</a></li>
+ </ul>
+ </li>
+ </ul>
+ </div>
+ <div class="prompt"><span>night</span>@<span>n10</span> ~ search</div>
+ <form action="https://priv.au/search" method="GET">
+ <h1>search: </h1>
+ <input type="text" name="q" autofocus="autofocus">
+ </form>
+ </div>
+ </body>
+</html>
diff --git a/style.css b/style.css
@@ -0,0 +1,108 @@
+:root {
+ --font: "monospace";
+ --font-family: "monospace";
+ --background: #080c07;
+ --foreground: #B9C9B8;
+ --green: #638660;
+ --red: #BD4D5A;
+ --orange: #A47449;
+ --branch: 1px solid #B9C9B8;
+}
+
+html {
+ font-size: 20px;
+}
+
+body {
+ background: var(--background);
+}
+
+.container {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+}
+
+.prompt {
+ font-family: var(--font);
+ color: var(--foreground);
+}
+
+.prompt~.prompt {
+ padding: 1.5rem 0 0.3125rem;
+}
+
+span {
+ color: var(--green);
+}
+
+h1 {
+ display: inline;
+ font-family: var(--font);
+ font-size: 1rem;
+ font-weight: normal;
+ color: var(--red);
+}
+
+.tree > ul {
+ margin: 0;
+ padding-left: 1rem;
+}
+
+ul {
+ list-style: none;
+ padding-left: 2.5rem;
+}
+
+li {
+ position: relative;
+}
+
+li::before, li::after {
+ content: "";
+ position: absolute;
+ left: -0.75rem;
+}
+
+li::before {
+ border-top: var(--branch);
+ top: 0.75rem;
+ width: 0.5rem;
+}
+
+li::after {
+ border-left: var(--branch);
+ height: 100%;
+ top: 0.25rem;
+}
+
+li:last-child::after {
+ height: 0.5rem;
+}
+
+a {
+ font-family: var(--font);
+ font-size: 1rem;
+ color: var(--foreground);
+ text-decoration: none;
+ outline: none;
+}
+
+a:hover {
+ color: var(--background);
+ background: var(--orange);
+}
+
+form h1 {
+ padding-left: 0.125rem;
+}
+
+input {
+ font-family: var(--font);
+ font-size: 1rem;
+ color: var(--foreground);
+ background-color: var(--background);
+ border: none;
+ outline: none;
+}