nilix config
This commit is contained in:
parent
e6a2ef8560
commit
151f060913
4 changed files with 150 additions and 107 deletions
15
config.yaml
15
config.yaml
|
@ -1,22 +1,21 @@
|
||||||
repo:
|
repo:
|
||||||
scanPath: /var/www/git
|
scanPath: /home/nilix/src/public/
|
||||||
readme:
|
readme:
|
||||||
- readme
|
- readme
|
||||||
- README
|
- README
|
||||||
- readme.md
|
- readme.md
|
||||||
- README.md
|
- README.md
|
||||||
mainBranch:
|
mainBranch:
|
||||||
- master
|
|
||||||
- main
|
- main
|
||||||
dirs:
|
dirs:
|
||||||
templates: ./templates
|
templates: ./templates
|
||||||
static: ./static
|
static: ./static
|
||||||
meta:
|
meta:
|
||||||
title: git good
|
title: nilFM hack lab
|
||||||
description: i think it's a skill issue
|
description: are you hacking?
|
||||||
footer: served with legit vVERSION; email patches to MAINTAINER
|
footer: served by legit vVERSION; some of this code might suck — email patches to MAINTAINER
|
||||||
maintainerEmail: x@icyphox.sh
|
maintainerEmail: nilix@nilfm.cc
|
||||||
server:
|
server:
|
||||||
name: git.icyphox.sh
|
name: hacklab.nilfm.cc
|
||||||
host: 127.0.0.1
|
host: 0.0.0.0
|
||||||
port: 5555
|
port: 5555
|
||||||
|
|
2
main.go
2
main.go
|
@ -13,7 +13,7 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
const version string = "0.2.x"
|
const version string = "0.2.99-nilix"
|
||||||
var cfg string
|
var cfg string
|
||||||
flag.StringVar(&cfg, "config", "./config.yaml", "path to config file")
|
flag.StringVar(&cfg, "config", "./config.yaml", "path to config file")
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
|
|
BIN
static/legit.png
BIN
static/legit.png
Binary file not shown.
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 2 KiB |
234
static/style.css
234
static/style.css
|
@ -1,29 +1,18 @@
|
||||||
:root {
|
|
||||||
--light: #f4f4f4;
|
|
||||||
--cyan: #509c93;
|
|
||||||
--light-gray: #eee;
|
|
||||||
--medium-gray: #ddd;
|
|
||||||
--gray: #6a6a6a;
|
|
||||||
--dark: #444;
|
|
||||||
--darker: #222;
|
|
||||||
|
|
||||||
--sans-font: "InterVar", -apple-system, BlinkMacSystemFont, "Roboto", "Segoe UI", sans-serif;
|
|
||||||
--display-font: "InterDisplay", -apple-system, BlinkMacSystemFont, "Roboto", "Segoe UI", sans-serif;
|
|
||||||
--mono-font: 'SF Mono', SFMono-Regular, ui-monospace, 'DejaVu Sans Mono', 'Roboto Mono', Menlo, Consolas, monospace;
|
|
||||||
}
|
|
||||||
|
|
||||||
html {
|
html {
|
||||||
background: var(--light);
|
background: #000;
|
||||||
-webkit-text-size-adjust: none;
|
-webkit-text-size-adjust: none;
|
||||||
font-family: var(--sans-font);
|
font-family: serif;
|
||||||
|
color: #c9c9c9;
|
||||||
|
font-size: 14px;
|
||||||
}
|
}
|
||||||
|
|
||||||
pre {
|
pre {
|
||||||
font-family: var(--mono-font);
|
font-family: monospace;
|
||||||
}
|
}
|
||||||
|
|
||||||
::selection {
|
::selection {
|
||||||
background: var(--medium-gray);
|
background: #1f9b92;
|
||||||
|
color: #000;
|
||||||
opacity: 0.3;
|
opacity: 0.3;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -34,15 +23,15 @@ pre {
|
||||||
}
|
}
|
||||||
|
|
||||||
body {
|
body {
|
||||||
max-width: 750px;
|
|
||||||
padding: 0 13px;
|
padding: 0 13px;
|
||||||
margin: 40px auto;
|
margin: 40px auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
main, footer {
|
main {
|
||||||
font-size: 1rem;
|
font-size: 1rem;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
line-height: 160%;
|
line-height: 160%;
|
||||||
|
overflow-x: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
footer {
|
footer {
|
||||||
|
@ -52,8 +41,8 @@ footer {
|
||||||
}
|
}
|
||||||
|
|
||||||
main h1, h2, h3, strong {
|
main h1, h2, h3, strong {
|
||||||
font-family: var(--display-font);
|
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
|
width:fit-content;
|
||||||
}
|
}
|
||||||
|
|
||||||
strong {
|
strong {
|
||||||
|
@ -73,6 +62,14 @@ main h2, h3 {
|
||||||
padding: 20px 0 15px 0;
|
padding: 20px 0 15px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
main h3 {
|
||||||
|
width: 80vw;
|
||||||
|
max-width: 500px;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
text-transform: capitalize;
|
||||||
|
}
|
||||||
|
|
||||||
nav {
|
nav {
|
||||||
padding: 0.4rem 0 1.5rem 0;
|
padding: 0.4rem 0 1.5rem 0;
|
||||||
}
|
}
|
||||||
|
@ -98,19 +95,22 @@ a {
|
||||||
}
|
}
|
||||||
|
|
||||||
a {
|
a {
|
||||||
color: var(--darker);
|
color: #1f9b92;
|
||||||
border-bottom: 1.5px solid var(--medium-gray);
|
text-decoration: none;
|
||||||
|
font-weight:bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
a:hover {
|
a:hover {
|
||||||
border-bottom: 1.5px solid var(--gray);
|
color: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
.index {
|
.index {
|
||||||
|
margin: 0px auto;
|
||||||
|
width: 80vw;
|
||||||
padding-top: 2em;
|
padding-top: 2em;
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: 6em 1fr minmax(0, 7em);
|
grid-template-columns: auto 1fr auto;
|
||||||
grid-row-gap: 0.5em;
|
grid-gap: 0.5em;
|
||||||
min-width: 0;
|
min-width: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -119,58 +119,83 @@ a:hover {
|
||||||
}
|
}
|
||||||
|
|
||||||
.clone-url pre {
|
.clone-url pre {
|
||||||
color: var(--dark);
|
color: #1f9b92;
|
||||||
white-space: pre-wrap;
|
white-space: pre-wrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
.desc {
|
.desc {
|
||||||
font-weight: normal;
|
|
||||||
color: var(--gray);
|
}
|
||||||
font-style: italic;
|
|
||||||
|
.tree {
|
||||||
|
margin: 0px 10vw;
|
||||||
|
max-width: 80vw;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tree td {
|
.tree td {
|
||||||
padding: 0.5em 0.5ch;
|
padding: 0.5em 0.5ch;
|
||||||
|
font-size: 14px;
|
||||||
box-sizing: content-box;
|
box-sizing: content-box;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mode, .size {
|
.mode, .size {
|
||||||
font-family: var(--mono-font);
|
font-family: monospace;
|
||||||
width: 10ch;
|
width: 10ch;
|
||||||
white-space:nowrap;
|
white-space:nowrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
.size {
|
.size {
|
||||||
text-align: right;
|
text-align: right;
|
||||||
width: fit-content;
|
width: fit-content;
|
||||||
}
|
}
|
||||||
|
|
||||||
.log {
|
.log {
|
||||||
|
width:fit-content;
|
||||||
|
max-width: 80vw;
|
||||||
|
margin: 0 auto;
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: 20rem minmax(0, 1fr);
|
grid-template-columns: 1fr auto;
|
||||||
grid-row-gap: 0.8em;
|
grid-row-gap: 0.8em;
|
||||||
grid-column-gap: 8rem;
|
grid-column-gap: 8rem;
|
||||||
margin-bottom: 2em;
|
margin-bottom: 2em;
|
||||||
padding-bottom: 1em;
|
padding-left: 1ch;
|
||||||
border-bottom: 1.5px solid var(--medium-gray);
|
border-left: solid 2px #797979;
|
||||||
}
|
}
|
||||||
|
|
||||||
.log pre {
|
.commit-hash, .commit-email {
|
||||||
|
font-family: monospace;
|
||||||
|
}
|
||||||
|
|
||||||
|
.log pre, .commit pre {
|
||||||
white-space: pre-wrap;
|
white-space: pre-wrap;
|
||||||
|
font-family: serif;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.mode {
|
||||||
|
font-family: monospace;
|
||||||
|
}
|
||||||
|
|
||||||
.readme pre {
|
.readme pre {
|
||||||
white-space: pre-wrap;
|
white-space: pre-wrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
.readme {
|
.readme * {
|
||||||
background: var(--light-gray);
|
margin: 0 auto;
|
||||||
padding: 0.5rem;
|
width: 80vw;
|
||||||
|
max-width: 500px;
|
||||||
|
}
|
||||||
|
.readme h1, .readme h2, .readme h3, .readme h4, .readme h5, .readme h6 {
|
||||||
|
text-transform: capitalize;
|
||||||
}
|
}
|
||||||
|
|
||||||
.readme ul {
|
.readme ul {
|
||||||
padding: revert;
|
padding: revert;
|
||||||
}
|
}
|
||||||
|
.readme table, .readme pre { width:fit-content;max-width:100vw;margin-left:max(10vw, max(0px, calc(50vw - 250px)));transform:translateX(max(min(0px, calc(min(40vw, 250px) - 50%)), min(-10vw, calc(250px - 50%)))); }
|
||||||
|
.readme p, .readme ul, .readme ol { line-height:150%;margin-top:1em;margin-bottom:1em; }
|
||||||
|
.readme li { margin-top:0.5em;margin-bottom:0.5em;width:100%; }
|
||||||
|
.readme code, .readme pre { background:#00263b;color:#93a1a1;padding:0.25em; }
|
||||||
|
.readme pre { white-space:pre;overflow-x:auto; }
|
||||||
|
.readme blockquote {padding-left:1ch;line-height:150%;border-left:solid 2px #797979; }
|
||||||
|
|
||||||
.readme img {
|
.readme img {
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
|
@ -179,10 +204,11 @@ a:hover {
|
||||||
.diff {
|
.diff {
|
||||||
margin: 1rem 0 1rem 0;
|
margin: 1rem 0 1rem 0;
|
||||||
padding: 1rem 0 1rem 0;
|
padding: 1rem 0 1rem 0;
|
||||||
border-bottom: 1.5px solid var(--medium-gray);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.diff pre {
|
.diff pre {
|
||||||
|
background: #002b36;
|
||||||
|
color: #93a1a1;
|
||||||
overflow: scroll;
|
overflow: scroll;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -190,16 +216,16 @@ a:hover {
|
||||||
padding: 1rem 0 1rem 0;
|
padding: 1rem 0 1rem 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.commit-hash, .commit-email {
|
|
||||||
font-family: var(--mono-font);
|
|
||||||
}
|
|
||||||
|
|
||||||
.commit-email:before {
|
.commit-email:before {
|
||||||
content: '<';
|
content: '<';
|
||||||
|
color: #c9c9c9 !important;
|
||||||
|
font-weight: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
.commit-email:after {
|
.commit-email:after {
|
||||||
content: '>';
|
content: '>';
|
||||||
|
color: #c9c9c9 !important;
|
||||||
|
font-weight: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
.commit {
|
.commit {
|
||||||
|
@ -217,32 +243,20 @@ a:hover {
|
||||||
}
|
}
|
||||||
|
|
||||||
.diff-add {
|
.diff-add {
|
||||||
color: green;
|
color: #1f9b92;
|
||||||
}
|
}
|
||||||
|
|
||||||
.diff-del {
|
.diff-del {
|
||||||
color: red;
|
color: #dc322f;
|
||||||
}
|
}
|
||||||
|
|
||||||
.diff-noop {
|
.diff-noop {
|
||||||
color: var(--gray);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.ref {
|
.refs {
|
||||||
font-family: var(--display-font);
|
width: 80vw;
|
||||||
font-size: 14px;
|
max-width: 500px;
|
||||||
color: var(--gray);
|
margin: 0 auto;
|
||||||
display: inline-block;
|
|
||||||
padding-top: 0.7em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.refs pre {
|
|
||||||
white-space: pre-wrap;
|
|
||||||
padding-bottom: 0.5rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.refs h4 {
|
|
||||||
display: inline;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.refs ul {
|
.refs ul {
|
||||||
|
@ -251,27 +265,57 @@ a:hover {
|
||||||
}
|
}
|
||||||
|
|
||||||
.refs ul li {
|
.refs ul li {
|
||||||
|
display: inline;
|
||||||
|
margin: 0;
|
||||||
margin-left: 1ch;
|
margin-left: 1ch;
|
||||||
|
}
|
||||||
|
|
||||||
|
.branches {
|
||||||
|
padding-left: 2ch;
|
||||||
|
border-left: 2px solid #797979;
|
||||||
|
}
|
||||||
|
|
||||||
|
.refs h4 {
|
||||||
display: inline;
|
display: inline;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.tags time {
|
||||||
|
float: right;
|
||||||
|
font-size: 85%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.commit-info time {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
time {
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
.tag-entry {
|
.tag-entry {
|
||||||
padding-bottom: 1em;
|
padding-left: 2ch;
|
||||||
|
border-left: 2px solid #797979;
|
||||||
margin-bottom: 2em;
|
margin-bottom: 2em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tag-entry:not(:last-child) {
|
.refs pre {
|
||||||
border-bottom: 1px solid var(--medium-gray);
|
font-family: serif;
|
||||||
|
white-space: pre-wrap;
|
||||||
|
padding-bottom: 0.5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tag-entry time {
|
.tag-entry details pre, .commit-info details pre {
|
||||||
color: var(--gray);
|
font-family: monospace;
|
||||||
float: right;
|
font-size: 1.0rem;
|
||||||
font-size: 0.85rem;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.commit time, .log time {
|
.ref {
|
||||||
display: block;
|
font-family: monospace;
|
||||||
|
font-size: 75%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.refs strong {
|
||||||
|
padding-right: 1em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.line-numbers {
|
.line-numbers {
|
||||||
|
@ -282,52 +326,52 @@ a:hover {
|
||||||
-o-user-select: none;
|
-o-user-select: none;
|
||||||
user-select: none;
|
user-select: none;
|
||||||
display:inline-block;
|
display:inline-block;
|
||||||
text-align: right;
|
|
||||||
float: left;
|
|
||||||
flex-direction:column;
|
flex-direction:column;
|
||||||
margin-right: 1ch;
|
margin-right: 1ch;
|
||||||
|
font-size: 14px;
|
||||||
|
font-family:monospace;
|
||||||
|
text-align:right;
|
||||||
}
|
}
|
||||||
|
|
||||||
.file-wrapper {
|
.file-wrapper {
|
||||||
background: var(--light-gray);
|
|
||||||
display: table;
|
display: table;
|
||||||
padding: 0.5rem
|
margin-top: 0.5em;
|
||||||
margin-top: 0.5rem;
|
|
||||||
overflow-x: auto;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.file-content {
|
.file-content {
|
||||||
background: var(--light-gray);
|
color: #93a1a1;
|
||||||
|
background: #002b36;
|
||||||
overflow-y: hidden;
|
overflow-y: hidden;
|
||||||
overflow-x: auto;
|
overflow-x: auto;
|
||||||
|
font-size: 14px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@supports (display: flex) {
|
@supports (display: flex) {
|
||||||
.file-wrapper {
|
|
||||||
width: 100%;
|
|
||||||
max-width: 750px;
|
|
||||||
}
|
|
||||||
.file-wrapper tr {
|
|
||||||
display:flex;
|
|
||||||
flex-direction: row;
|
|
||||||
width: 80vw;
|
|
||||||
max-width: 750px;
|
|
||||||
}
|
|
||||||
.line-numbers {
|
.line-numbers {
|
||||||
display: flex;
|
display: flex;
|
||||||
}
|
}
|
||||||
.file-content {
|
.file-content {
|
||||||
display: iniline-block;
|
display: inline-block;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.file-wrapper {
|
||||||
|
width: 100%;
|
||||||
|
|
||||||
|
}
|
||||||
|
.file-wrapper tr {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.diff-type {
|
.diff-type {
|
||||||
color: var(--gray);
|
color: #000;
|
||||||
|
background: #c9c9c9;
|
||||||
|
padding: 2px 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.commit-info {
|
.commit-info {
|
||||||
color: var(--gray);
|
|
||||||
padding-bottom: 1.5rem;
|
padding-bottom: 1.5rem;
|
||||||
font-size: 0.85rem;
|
font-size: 0.85rem;
|
||||||
}
|
}
|
||||||
|
@ -355,12 +399,12 @@ a:hover {
|
||||||
padding-bottom: 1.5rem;
|
padding-bottom: 1.5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
pre {
|
|
||||||
font-size: 0.8rem;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 420px) {
|
@media (max-width: 420px) {
|
||||||
|
.tree {
|
||||||
|
grid-template-columns: 8em 1fr;
|
||||||
|
}
|
||||||
.tree .size {
|
.tree .size {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue