diff options
| author | Lain Iwakura <lain@lainmail.xyz> | 2025-12-27 20:37:57 +0300 |
|---|---|---|
| committer | Lain Iwakura <lain@lainmail.xyz> | 2025-12-27 20:37:57 +0300 |
| commit | 39870ae8471bc50e5042ba2d59de517b35f04216 (patch) | |
| tree | ec28c77d639f286a2608238fed2a7b7b5e870402 | |
| download | home-39870ae8471bc50e5042ba2d59de517b35f04216.tar.gz home-39870ae8471bc50e5042ba2d59de517b35f04216.zip | |
feat: home sweet home
| -rw-r--r-- | .gitignore | 3 | ||||
| -rw-r--r-- | email.7 | 48 | ||||
| -rw-r--r-- | index.1 | 27 | ||||
| -rw-r--r-- | makefile | 21 | ||||
| -rw-r--r-- | scheme.css | 66 | ||||
| -rw-r--r-- | style.css | 29 |
6 files changed, 194 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..09e4fc8 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +*.html +dist/ +.DS_store diff --git a/email.7 b/email.7 new file mode 100644 index 0000000..314b920 --- /dev/null +++ b/email.7 @@ -0,0 +1,48 @@ +.TH EMAIL 7 "2025" "unixfriends" "Miscellaneous Information" +.SH NAME +email \- contact information +.SH DESCRIPTION +This page contains the contact email address. + +.PP +The address is intentionally not written in plain text. +To obtain it, you must decode the following payload. + +.SH PAYLOAD +.nf +\& ,--, +\& ____ ,---.'| +\& ,' , `. ,---, ,---,| | : +\& ,-+-,.' _ | ' .' \\ ,`--.' |: : | +\& ,-+-. ; , || / ; '. | : :| ' : +\& ,--.'|' | ;|: : \\ : | '; ; ' +\&| | ,', | ':: | /\\ \\ | : |' | |__ +\&| | / | | ||| : ' ;. :' ' ;| | :.'| +\&' | : | : |,| | ;/ \\ \\ | |' : ; +\&; . | ; |--' ' : | \\ \\ ,' : ;| | ./ +\&| : | | , | | ' '--' | | '; : ; +\&| : ' |/ | : : ' : || ,/ +\&; | |`-' | | ,' ; |.' '---' +\&| ;/ `--'' '---' +\&'---' +\& (powered by OpenBSD OpenSMTPd) +.fi + +.SH DECODE +Run the following command in a POSIX shell: + +.nf +echo "H4sIALoYUGkAA8tJzMxzyEnNzc8rSU3Uy8nP4QIAjNU6PhIAAAA=" | base64 -d | gzip -d +.fi + +.SH NOTES +This method is used to avoid automated address harvesting. + +.PP +If you cannot decode this, you probably do not need the address. + +.SH SEE ALSO +.Xr base32 1 , +.Xr gzip 1 , +.Xr base64 1 , +.Xr mandoc 1 diff --git a/index.1 b/index.1 new file mode 100644 index 0000000..a314228 --- /dev/null +++ b/index.1 @@ -0,0 +1,27 @@ +.TH LAIN 1 "2025" "unixfriends" "User Pages" +.SH NAME +lain \- personal homepage +.SH SYNOPSIS +.B lain +.RI [ options ] +.SH DESCRIPTION +Developer interested in backend, sysadmin and security. + +.SH CONTACTS +.TP +Email +.UR email.html +click here +.UE +.TP +Telegram +@pvlabs + +.SH DEVICES +Thinkpad X230, Pixel 3a, Macbook Air M3, etc. + +.SH SEE ALSO +man(1), plan9(7), nixos(8) + +.PP +I believe websites should be fast, readable, and respectful of users. diff --git a/makefile b/makefile new file mode 100644 index 0000000..1d47f10 --- /dev/null +++ b/makefile @@ -0,0 +1,21 @@ +DIST=dist + +all: $(DIST)/index.html $(DIST)/email.html $(DIST)/style.css $(DIST)/scheme.css + +$(DIST): + mkdir -p $(DIST) + +$(DIST)/index.html: index.1 style.css | $(DIST) + mandoc -Thtml -Ostyle=style.css index.1 > $@ + +$(DIST)/email.html: email.7 style.css | $(DIST) + mandoc -Thtml -Ostyle=style.css email.7 > $@ + +$(DIST)/style.css: style.css | $(DIST) + cp style.css $@ + +$(DIST)/scheme.css: scheme.css | $(DIST) + cp scheme.css $@ + +clean: + rm -rf $(DIST) diff --git a/scheme.css b/scheme.css new file mode 100644 index 0000000..f22ad9c --- /dev/null +++ b/scheme.css @@ -0,0 +1,66 @@ +/* taken from https://causal.agency/ */ +:root { + --ansi0: #161510; + --ansi1: #A32810; + --ansi2: #727A18; + --ansi3: #A37720; + --ansi4: #3D6266; + --ansi5: #7A4955; + --ansi6: #557A55; + --ansi7: #998D6B; + --ansi8: #4C4635; + --ansi9: #CC3214; + --ansi10: #8E991E; + --ansi11: #CC9528; + --ansi12: #4C7B7F; + --ansi13: #995B6B; + --ansi14: #6B996B; + --ansi15: #CCBC8E; + --ansi16: #14130E; + --ansi17: #B7A980; + --ansi18: #CCBC8E; + --ansi19: #A34110; + --ansi20: #7A7155; +} +.fg0 { color: var(--ansi0); } +.bg0 { background-color: var(--ansi0); } +.fg1 { color: var(--ansi1); } +.bg1 { background-color: var(--ansi1); } +.fg2 { color: var(--ansi2); } +.bg2 { background-color: var(--ansi2); } +.fg3 { color: var(--ansi3); } +.bg3 { background-color: var(--ansi3); } +.fg4 { color: var(--ansi4); } +.bg4 { background-color: var(--ansi4); } +.fg5 { color: var(--ansi5); } +.bg5 { background-color: var(--ansi5); } +.fg6 { color: var(--ansi6); } +.bg6 { background-color: var(--ansi6); } +.fg7 { color: var(--ansi7); } +.bg7 { background-color: var(--ansi7); } +.fg8 { color: var(--ansi8); } +.bg8 { background-color: var(--ansi8); } +.fg9 { color: var(--ansi9); } +.bg9 { background-color: var(--ansi9); } +.fg10 { color: var(--ansi10); } +.bg10 { background-color: var(--ansi10); } +.fg11 { color: var(--ansi11); } +.bg11 { background-color: var(--ansi11); } +.fg12 { color: var(--ansi12); } +.bg12 { background-color: var(--ansi12); } +.fg13 { color: var(--ansi13); } +.bg13 { background-color: var(--ansi13); } +.fg14 { color: var(--ansi14); } +.bg14 { background-color: var(--ansi14); } +.fg15 { color: var(--ansi15); } +.bg15 { background-color: var(--ansi15); } +.fg16 { color: var(--ansi16); } +.bg16 { background-color: var(--ansi16); } +.fg17 { color: var(--ansi17); } +.bg17 { background-color: var(--ansi17); } +.fg18 { color: var(--ansi18); } +.bg18 { background-color: var(--ansi18); } +.fg19 { color: var(--ansi19); } +.bg19 { background-color: var(--ansi19); } +.fg20 { color: var(--ansi20); } +.bg20 { background-color: var(--ansi20); } diff --git a/style.css b/style.css new file mode 100644 index 0000000..e38ef00 --- /dev/null +++ b/style.css @@ -0,0 +1,29 @@ +/* styles from https://causal.agency/ */ +@import url("scheme.css"); + +table.head, table.foot { width: 100%; } +td.head-rtitle, td.foot-os { text-align: right; } +td.head-vol { text-align: center; } +div.Pp { margin: 1ex 0ex; } +div.Nd, div.Bf, div.Op { display: inline; } +span.Pa, span.Ad { font-style: italic; } +span.Ms { font-weight: bold; } +dl.Bl-diag > dt { font-weight: bold; } +code.Nm, code.Fl, code.Cm, code.Ic, code.In, code.Fd, code.Fn, +code.Cd { font-weight: bold; font-family: inherit; } + +div.head, div.foot { display: flex; justify-content: space-between; } +.head-ltitle, .foot-date { flex: 1; } +.head-vol { flex: 0 1 auto; text-align: center; } +.head-rtitle, .foot-os { flex: 1; text-align: right; } + +html { font-family: monospace; line-height: 1.25em; } +body { max-width: 80ch; margin: 1em auto; padding: 0 1ch; } +table { border-collapse: collapse; } +table.Nm code.Nm { padding-right: 1ch; } +table.foot { margin-top: 1em; } + +html { background-color: var(--ansi16); color: var(--ansi17); } +a { color: var(--ansi4); } +a:visited { color: var(--ansi5); } +a.permalink { color: var(--ansi3); text-decoration: none; } |