This commit is contained in:
Night Kaly 2024-01-20 15:08:38 +00:00
commit 405a46009e
No known key found for this signature in database
GPG key ID: 8E829D3381CFEBBE
4 changed files with 218 additions and 0 deletions

51
.github/workflows/publish.yml vendored Normal file
View file

@ -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

7
README.md Normal file
View file

@ -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)

52
index.html Normal file
View file

@ -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>

108
style.css Normal file
View file

@ -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;
}