Compare commits
10 Commits
01f85bd098
...
568712b241
Author | SHA1 | Date | |
---|---|---|---|
568712b241 | |||
a87ce02819 | |||
3a9d3ac9aa | |||
02944da696 | |||
47183d3cf9 | |||
822bcb36ed | |||
a95b1afea9 | |||
27a39c27f7 | |||
5518553221 | |||
862a6d584f |
512
fonts/chunky.flf
Normal file
512
fonts/chunky.flf
Normal file
@ -0,0 +1,512 @@
|
|||||||
|
flf2a$ 5 4 20 15 1
|
||||||
|
Square by Chris Gill, 30-JUN-94 -- based on .sig of Jeb Hagan.
|
||||||
|
$@
|
||||||
|
$@
|
||||||
|
$@
|
||||||
|
$@
|
||||||
|
$@@
|
||||||
|
__ @
|
||||||
|
| |@
|
||||||
|
|__|@
|
||||||
|
|__|@
|
||||||
|
@@
|
||||||
|
____ @
|
||||||
|
| | |@
|
||||||
|
|_|_|@
|
||||||
|
@
|
||||||
|
@@
|
||||||
|
_____ @
|
||||||
|
_| | |_ @
|
||||||
|
|_ _|@
|
||||||
|
|_ _|@
|
||||||
|
|__|__| @@
|
||||||
|
__,-,__ @
|
||||||
|
| ' '__|@
|
||||||
|
|__ |@
|
||||||
|
|_______|@
|
||||||
|
|_| @@
|
||||||
|
__ ___ @
|
||||||
|
|__| |@
|
||||||
|
| __|@
|
||||||
|
|___|__|@
|
||||||
|
@@
|
||||||
|
__,-,__ @
|
||||||
|
| ' '__|@
|
||||||
|
| __|@
|
||||||
|
|_______|@
|
||||||
|
|_| @@
|
||||||
|
__ @
|
||||||
|
| |@
|
||||||
|
|_|@
|
||||||
|
@
|
||||||
|
@@
|
||||||
|
___ @
|
||||||
|
,' _|@
|
||||||
|
| | @
|
||||||
|
| |_ @
|
||||||
|
`.___|@@
|
||||||
|
___ @
|
||||||
|
|_ `.@
|
||||||
|
| |@
|
||||||
|
_| |@
|
||||||
|
|___,'@@
|
||||||
|
__ _ __ @
|
||||||
|
| | | |@
|
||||||
|
> < @
|
||||||
|
|__|_|__|@
|
||||||
|
@@
|
||||||
|
__ @
|
||||||
|
_| |_ @
|
||||||
|
|_ _|@
|
||||||
|
|__| @
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
__ @
|
||||||
|
| |@
|
||||||
|
|_|@@
|
||||||
|
@
|
||||||
|
______ @
|
||||||
|
|______|@
|
||||||
|
@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
__ @
|
||||||
|
|__|@
|
||||||
|
@@
|
||||||
|
___@
|
||||||
|
/ /@
|
||||||
|
,' ,' @
|
||||||
|
/__/ @
|
||||||
|
@@
|
||||||
|
______ @
|
||||||
|
| |@
|
||||||
|
| -- |@
|
||||||
|
|______|@
|
||||||
|
@@
|
||||||
|
____ @
|
||||||
|
|_ | @
|
||||||
|
_| |_ @
|
||||||
|
|______|@
|
||||||
|
@@
|
||||||
|
______ @
|
||||||
|
|__ |@
|
||||||
|
| __|@
|
||||||
|
|______|@
|
||||||
|
@@
|
||||||
|
______ @
|
||||||
|
|__ |@
|
||||||
|
|__ |@
|
||||||
|
|______|@
|
||||||
|
@@
|
||||||
|
_____ @
|
||||||
|
| | | @
|
||||||
|
|__ |@
|
||||||
|
|__| @
|
||||||
|
@@
|
||||||
|
______ @
|
||||||
|
| __|@
|
||||||
|
|__ |@
|
||||||
|
|______|@
|
||||||
|
@@
|
||||||
|
______ @
|
||||||
|
| __|@
|
||||||
|
| __ |@
|
||||||
|
|______|@
|
||||||
|
@@
|
||||||
|
______ @
|
||||||
|
| |@
|
||||||
|
|_ |@
|
||||||
|
|____|@
|
||||||
|
@@
|
||||||
|
______ @
|
||||||
|
| __ |@
|
||||||
|
| __ |@
|
||||||
|
|______|@
|
||||||
|
@@
|
||||||
|
______ @
|
||||||
|
| __ |@
|
||||||
|
|__ |@
|
||||||
|
|______|@
|
||||||
|
@@
|
||||||
|
__ @
|
||||||
|
|__|@
|
||||||
|
__ @
|
||||||
|
|__|@
|
||||||
|
@@
|
||||||
|
__ @
|
||||||
|
|__|@
|
||||||
|
__ @
|
||||||
|
| |@
|
||||||
|
|_|@@
|
||||||
|
__ @
|
||||||
|
,' _|@
|
||||||
|
/ / @
|
||||||
|
\ \_ @
|
||||||
|
`.__|@@
|
||||||
|
@
|
||||||
|
______ @
|
||||||
|
|______|@
|
||||||
|
|______|@
|
||||||
|
@@
|
||||||
|
__ @
|
||||||
|
|_ `. @
|
||||||
|
\ \@
|
||||||
|
_/ /@
|
||||||
|
|__,' @@
|
||||||
|
_____ @
|
||||||
|
|__ |@
|
||||||
|
', ,-'@
|
||||||
|
|--| @
|
||||||
|
'--' @@
|
||||||
|
_________ @
|
||||||
|
| ___ |@
|
||||||
|
| | _ |@
|
||||||
|
| |______|@
|
||||||
|
|_________|@@
|
||||||
|
_______ @
|
||||||
|
| _ |@
|
||||||
|
| |@
|
||||||
|
|___|___|@
|
||||||
|
@@
|
||||||
|
______ @
|
||||||
|
| __ \@
|
||||||
|
| __ <@
|
||||||
|
|______/@
|
||||||
|
@@
|
||||||
|
______ @
|
||||||
|
| |@
|
||||||
|
| ---|@
|
||||||
|
|______|@
|
||||||
|
@@
|
||||||
|
_____ @
|
||||||
|
| \ @
|
||||||
|
| -- |@
|
||||||
|
|_____/ @
|
||||||
|
@@
|
||||||
|
_______ @
|
||||||
|
| ___|@
|
||||||
|
| ___|@
|
||||||
|
|_______|@
|
||||||
|
@@
|
||||||
|
_______ @
|
||||||
|
| ___|@
|
||||||
|
| ___|@
|
||||||
|
|___| @
|
||||||
|
@@
|
||||||
|
_______ @
|
||||||
|
| __|@
|
||||||
|
| | |@
|
||||||
|
|_______|@
|
||||||
|
@@
|
||||||
|
_______ @
|
||||||
|
| | |@
|
||||||
|
| |@
|
||||||
|
|___|___|@
|
||||||
|
@@
|
||||||
|
_______ @
|
||||||
|
|_ _|@
|
||||||
|
_| |_ @
|
||||||
|
|_______|@
|
||||||
|
@@
|
||||||
|
_____ @
|
||||||
|
_| |@
|
||||||
|
| |@
|
||||||
|
|_______|@
|
||||||
|
@@
|
||||||
|
__ __ @
|
||||||
|
| |/ |@
|
||||||
|
| < @
|
||||||
|
|__|\__|@
|
||||||
|
@@
|
||||||
|
_____ @
|
||||||
|
| |_ @
|
||||||
|
| |@
|
||||||
|
|_______|@
|
||||||
|
@@
|
||||||
|
_______ @
|
||||||
|
| | |@
|
||||||
|
| |@
|
||||||
|
|__|_|__|@
|
||||||
|
@@
|
||||||
|
_______ @
|
||||||
|
| | |@
|
||||||
|
| |@
|
||||||
|
|__|____|@
|
||||||
|
@@
|
||||||
|
_______ @
|
||||||
|
| |@
|
||||||
|
| - |@
|
||||||
|
|_______|@
|
||||||
|
@@
|
||||||
|
______ @
|
||||||
|
| __ \@
|
||||||
|
| __/@
|
||||||
|
|___| @
|
||||||
|
@@
|
||||||
|
_______ @
|
||||||
|
| |@
|
||||||
|
| - _|@
|
||||||
|
|_______|@
|
||||||
|
@@
|
||||||
|
______ @
|
||||||
|
| __ \@
|
||||||
|
| <@
|
||||||
|
|___|__|@
|
||||||
|
@@
|
||||||
|
_______ @
|
||||||
|
| __|@
|
||||||
|
|__ |@
|
||||||
|
|_______|@
|
||||||
|
@@
|
||||||
|
_______ @
|
||||||
|
|_ _|@
|
||||||
|
| | @
|
||||||
|
|___| @
|
||||||
|
@@
|
||||||
|
_______ @
|
||||||
|
| | |@
|
||||||
|
| | |@
|
||||||
|
|_______|@
|
||||||
|
@@
|
||||||
|
___ ___ @
|
||||||
|
| | |@
|
||||||
|
| | |@
|
||||||
|
\_____/ @
|
||||||
|
@@
|
||||||
|
________ @
|
||||||
|
| | | |@
|
||||||
|
| | | |@
|
||||||
|
|________|@
|
||||||
|
@@
|
||||||
|
___ ___ @
|
||||||
|
| | |@
|
||||||
|
|- -|@
|
||||||
|
|___|___|@
|
||||||
|
@@
|
||||||
|
___ ___ @
|
||||||
|
| | |@
|
||||||
|
\ / @
|
||||||
|
|___| @
|
||||||
|
@@
|
||||||
|
_______ @
|
||||||
|
|__ |@
|
||||||
|
| __|@
|
||||||
|
|_______|@
|
||||||
|
@@
|
||||||
|
____ @
|
||||||
|
| _|@
|
||||||
|
| | @
|
||||||
|
| |_ @
|
||||||
|
|____|@@
|
||||||
|
___ @
|
||||||
|
\ \ @
|
||||||
|
`. `. @
|
||||||
|
\__\@
|
||||||
|
@@
|
||||||
|
____ @
|
||||||
|
|_ |@
|
||||||
|
| |@
|
||||||
|
_| |@
|
||||||
|
|____|@@
|
||||||
|
____ @
|
||||||
|
| |@
|
||||||
|
|_/\_|@
|
||||||
|
@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
______ @
|
||||||
|
|______|@@
|
||||||
|
__ @
|
||||||
|
| |@
|
||||||
|
|_| @
|
||||||
|
@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
.---.-.@
|
||||||
|
| _ |@
|
||||||
|
|___._|@
|
||||||
|
@@
|
||||||
|
__ @
|
||||||
|
| |--.@
|
||||||
|
| _ |@
|
||||||
|
|_____|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
.----.@
|
||||||
|
| __|@
|
||||||
|
|____|@
|
||||||
|
@@
|
||||||
|
__ @
|
||||||
|
.--| |@
|
||||||
|
| _ |@
|
||||||
|
|_____|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
.-----.@
|
||||||
|
| -__|@
|
||||||
|
|_____|@
|
||||||
|
@@
|
||||||
|
___ @
|
||||||
|
.' _|@
|
||||||
|
| _|@
|
||||||
|
|__| @
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
.-----.@
|
||||||
|
| _ |@
|
||||||
|
|___ |@
|
||||||
|
|_____|@@
|
||||||
|
__ @
|
||||||
|
| |--.@
|
||||||
|
| |@
|
||||||
|
|__|__|@
|
||||||
|
@@
|
||||||
|
__ @
|
||||||
|
|__|@
|
||||||
|
| |@
|
||||||
|
|__|@
|
||||||
|
@@
|
||||||
|
__ @
|
||||||
|
|__|@
|
||||||
|
| |@
|
||||||
|
| |@
|
||||||
|
|___|@@
|
||||||
|
__ @
|
||||||
|
| |--.@
|
||||||
|
| < @
|
||||||
|
|__|__|@
|
||||||
|
@@
|
||||||
|
__ @
|
||||||
|
| |@
|
||||||
|
| |@
|
||||||
|
|__|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
.--------.@
|
||||||
|
| |@
|
||||||
|
|__|__|__|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
.-----.@
|
||||||
|
| |@
|
||||||
|
|__|__|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
.-----.@
|
||||||
|
| _ |@
|
||||||
|
|_____|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
.-----.@
|
||||||
|
| _ |@
|
||||||
|
| __|@
|
||||||
|
|__| @@
|
||||||
|
@
|
||||||
|
.-----.@
|
||||||
|
| _ |@
|
||||||
|
|__ |@
|
||||||
|
|__|@@
|
||||||
|
@
|
||||||
|
.----.@
|
||||||
|
| _|@
|
||||||
|
|__| @
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
.-----.@
|
||||||
|
|__ --|@
|
||||||
|
|_____|@
|
||||||
|
@@
|
||||||
|
__ @
|
||||||
|
| |_ @
|
||||||
|
| _|@
|
||||||
|
|____|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
.--.--.@
|
||||||
|
| | |@
|
||||||
|
|_____|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
.--.--.@
|
||||||
|
| | |@
|
||||||
|
\___/ @
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
.--.--.--.@
|
||||||
|
| | | |@
|
||||||
|
|________|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
.--.--.@
|
||||||
|
|_ _|@
|
||||||
|
|__.__|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
.--.--.@
|
||||||
|
| | |@
|
||||||
|
|___ |@
|
||||||
|
|_____|@@
|
||||||
|
@
|
||||||
|
.-----.@
|
||||||
|
|-- __|@
|
||||||
|
|_____|@
|
||||||
|
@@
|
||||||
|
___ @
|
||||||
|
| _|@
|
||||||
|
/ / @
|
||||||
|
\ \_ @
|
||||||
|
|___|@@
|
||||||
|
__ @
|
||||||
|
| |@
|
||||||
|
| |@
|
||||||
|
| |@
|
||||||
|
|__|@@
|
||||||
|
___ @
|
||||||
|
|_ | @
|
||||||
|
\ \@
|
||||||
|
_/ /@
|
||||||
|
|___| @@
|
||||||
|
___ @
|
||||||
|
| ' |@
|
||||||
|
|_,_| @
|
||||||
|
@
|
||||||
|
@@
|
||||||
|
.--.--.@
|
||||||
|
|-----|@
|
||||||
|
| - |@
|
||||||
|
|__|__|@
|
||||||
|
@@
|
||||||
|
.--.--.@
|
||||||
|
|-----|@
|
||||||
|
| _ |@
|
||||||
|
|_____|@
|
||||||
|
@@
|
||||||
|
.--.--.@
|
||||||
|
|--|--|@
|
||||||
|
| | |@
|
||||||
|
|_____|@
|
||||||
|
@@
|
||||||
|
.--.--.@
|
||||||
|
|---.-|@
|
||||||
|
| _ |@
|
||||||
|
|___._|@
|
||||||
|
@@
|
||||||
|
.--.--.@
|
||||||
|
|-----|@
|
||||||
|
| _ |@
|
||||||
|
|_____|@
|
||||||
|
@@
|
||||||
|
.--.--.@
|
||||||
|
|--|--|@
|
||||||
|
| | |@
|
||||||
|
|_____|@
|
||||||
|
@@
|
||||||
|
_______ @
|
||||||
|
| __ \@
|
||||||
|
| __ <@
|
||||||
|
| |____/@
|
||||||
|
|__| @@
|
569
fonts/drpepper.flf
Normal file
569
fonts/drpepper.flf
Normal file
@ -0,0 +1,569 @@
|
|||||||
|
flf2a$ 5 4 20 0 16
|
||||||
|
Font : Dr. Pepper (after a name in one sig done in this style).
|
||||||
|
Author: Eero Tamminen, t150315@cc.tut.fi.
|
||||||
|
|
||||||
|
Characters '#' and '&' are lousy and I'm not very satisfied
|
||||||
|
with the '$' or 't'... Suggestions?
|
||||||
|
|
||||||
|
Explanation of first line:
|
||||||
|
flf2 - "magic number" for file identifiction
|
||||||
|
a - should always be `a', for now
|
||||||
|
$ - the "hardblank" -- prints s a blank, but can't be smushed
|
||||||
|
5 - height of a character
|
||||||
|
4 - height of a character, not including descenders
|
||||||
|
20 - max line length (excluding comment lines) + fudge factor
|
||||||
|
0 - default smushmode for this font
|
||||||
|
16 - number of comment lines
|
||||||
|
|
||||||
|
$@
|
||||||
|
$@
|
||||||
|
$@
|
||||||
|
$@
|
||||||
|
$@@
|
||||||
|
_ @
|
||||||
|
| |@
|
||||||
|
|_/@
|
||||||
|
<_>@
|
||||||
|
@@
|
||||||
|
_ _@
|
||||||
|
|/|/@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
$_|_|_$@
|
||||||
|
$_|_|_$@
|
||||||
|
| | @
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
||_@
|
||||||
|
<_-<@
|
||||||
|
/__/@
|
||||||
|
|| @@
|
||||||
|
__@
|
||||||
|
<>/ /@
|
||||||
|
/ / @
|
||||||
|
/_/<>@
|
||||||
|
@@
|
||||||
|
_ @
|
||||||
|
< > @
|
||||||
|
/.\/$@
|
||||||
|
\_/\$@
|
||||||
|
@@
|
||||||
|
_@
|
||||||
|
|/@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@@
|
||||||
|
__@
|
||||||
|
/ /@
|
||||||
|
| | @
|
||||||
|
| | @
|
||||||
|
\_\@@
|
||||||
|
__ @
|
||||||
|
\ \ @
|
||||||
|
| |@
|
||||||
|
| |@
|
||||||
|
/_/ @@
|
||||||
|
@
|
||||||
|
_/\_@
|
||||||
|
> <@
|
||||||
|
\/ @
|
||||||
|
@@
|
||||||
|
_ @
|
||||||
|
_| |_ @
|
||||||
|
|_ _|@
|
||||||
|
|_| @
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
_@
|
||||||
|
|/@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
___ @
|
||||||
|
|___|@
|
||||||
|
@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
_ @
|
||||||
|
<_>@
|
||||||
|
@@
|
||||||
|
__@
|
||||||
|
/ /@
|
||||||
|
/ / @
|
||||||
|
/_/ @
|
||||||
|
@@
|
||||||
|
___ @
|
||||||
|
| |@
|
||||||
|
| / |@
|
||||||
|
`___'@
|
||||||
|
@@
|
||||||
|
_ @
|
||||||
|
/ |@
|
||||||
|
| |@
|
||||||
|
|_|@
|
||||||
|
@@
|
||||||
|
___ @
|
||||||
|
<_ >@
|
||||||
|
/ / @
|
||||||
|
<___>@
|
||||||
|
@@
|
||||||
|
____@
|
||||||
|
<__ /@
|
||||||
|
<_ \@
|
||||||
|
<___/@
|
||||||
|
@@
|
||||||
|
__ @
|
||||||
|
/. | @
|
||||||
|
/_ .|@
|
||||||
|
|_| @
|
||||||
|
@@
|
||||||
|
___ @
|
||||||
|
| __|@
|
||||||
|
`__ \@
|
||||||
|
|___/@
|
||||||
|
@@
|
||||||
|
___ @
|
||||||
|
| __>@
|
||||||
|
| . \@
|
||||||
|
`___/@
|
||||||
|
@@
|
||||||
|
___ @
|
||||||
|
|_ |@
|
||||||
|
/ / @
|
||||||
|
/_/ @
|
||||||
|
@@
|
||||||
|
___ @
|
||||||
|
< . >@
|
||||||
|
/ . \@
|
||||||
|
\___/@
|
||||||
|
@@
|
||||||
|
___ @
|
||||||
|
| . |@
|
||||||
|
`_ /@
|
||||||
|
/_/ @
|
||||||
|
@@
|
||||||
|
_ @
|
||||||
|
<_>@
|
||||||
|
_ @
|
||||||
|
<_>@
|
||||||
|
@@
|
||||||
|
_ @
|
||||||
|
<_>@
|
||||||
|
_ @
|
||||||
|
|/ @
|
||||||
|
@@
|
||||||
|
__@
|
||||||
|
/ /@
|
||||||
|
< < @
|
||||||
|
\_\@
|
||||||
|
@@
|
||||||
|
___ @
|
||||||
|
|___|@
|
||||||
|
___ @
|
||||||
|
|___|@
|
||||||
|
@@
|
||||||
|
__ @
|
||||||
|
\ \ @
|
||||||
|
> >@
|
||||||
|
/_/ @
|
||||||
|
@@
|
||||||
|
___ @
|
||||||
|
<_. >@
|
||||||
|
/_/ @
|
||||||
|
<_> @
|
||||||
|
@@
|
||||||
|
___ @
|
||||||
|
| "|@
|
||||||
|
| \_|@
|
||||||
|
`___/@
|
||||||
|
@@
|
||||||
|
___ @
|
||||||
|
| . |@
|
||||||
|
| |@
|
||||||
|
|_|_|@
|
||||||
|
@@
|
||||||
|
___ @
|
||||||
|
| . >@
|
||||||
|
| . \@
|
||||||
|
|___/@
|
||||||
|
@@
|
||||||
|
___ @
|
||||||
|
| _>@
|
||||||
|
| <__@
|
||||||
|
`___/@
|
||||||
|
@@
|
||||||
|
___ @
|
||||||
|
| . \@
|
||||||
|
| | |@
|
||||||
|
|___/@
|
||||||
|
@@
|
||||||
|
___ @
|
||||||
|
| __>@
|
||||||
|
| _> @
|
||||||
|
|___>@
|
||||||
|
@@
|
||||||
|
___ @
|
||||||
|
| __>@
|
||||||
|
| _> @
|
||||||
|
|_| @
|
||||||
|
@@
|
||||||
|
___ @
|
||||||
|
/ _> @
|
||||||
|
| <_/\@
|
||||||
|
`____/@
|
||||||
|
@@
|
||||||
|
_ _ @
|
||||||
|
| | |@
|
||||||
|
| |@
|
||||||
|
|_|_|@
|
||||||
|
@@
|
||||||
|
_ @
|
||||||
|
| |@
|
||||||
|
| |@
|
||||||
|
|_|@
|
||||||
|
@@
|
||||||
|
_ @
|
||||||
|
| |@
|
||||||
|
_| |@
|
||||||
|
\__/@
|
||||||
|
@@
|
||||||
|
_ __@
|
||||||
|
| / /@
|
||||||
|
| \ @
|
||||||
|
|_\_\@
|
||||||
|
@@
|
||||||
|
_ @
|
||||||
|
| | @
|
||||||
|
| |_ @
|
||||||
|
|___|@
|
||||||
|
@@
|
||||||
|
__ __ @
|
||||||
|
| \ \@
|
||||||
|
| |@
|
||||||
|
|_|_|_|@
|
||||||
|
@@
|
||||||
|
_ _ @
|
||||||
|
| \ |@
|
||||||
|
| |@
|
||||||
|
|_\_|@
|
||||||
|
@@
|
||||||
|
___ @
|
||||||
|
| . |@
|
||||||
|
| | |@
|
||||||
|
`___'@
|
||||||
|
@@
|
||||||
|
___ @
|
||||||
|
| . \@
|
||||||
|
| _/@
|
||||||
|
|_| @
|
||||||
|
@@
|
||||||
|
___ @
|
||||||
|
| . |@
|
||||||
|
| | |@
|
||||||
|
`___\@
|
||||||
|
@@
|
||||||
|
___ @
|
||||||
|
| . \@
|
||||||
|
| /@
|
||||||
|
|_\_\@
|
||||||
|
@@
|
||||||
|
___ @
|
||||||
|
/ __>@
|
||||||
|
\__ \@
|
||||||
|
<___/@
|
||||||
|
@@
|
||||||
|
___ @
|
||||||
|
|_ _|@
|
||||||
|
| | @
|
||||||
|
|_| @
|
||||||
|
@@
|
||||||
|
_ _ @
|
||||||
|
| | |@
|
||||||
|
| ' |@
|
||||||
|
`___'@
|
||||||
|
@@
|
||||||
|
_ _ @
|
||||||
|
| | |@
|
||||||
|
| ' |@
|
||||||
|
|__/ @
|
||||||
|
@@
|
||||||
|
_ _ _ @
|
||||||
|
| | | |@
|
||||||
|
| | | |@
|
||||||
|
|__/_/ @
|
||||||
|
@@
|
||||||
|
__ _$@
|
||||||
|
\ \/ @
|
||||||
|
\ \ @
|
||||||
|
_/\_\ @
|
||||||
|
@@
|
||||||
|
_ _ @
|
||||||
|
| | |@
|
||||||
|
\ /@
|
||||||
|
|_| @
|
||||||
|
@@
|
||||||
|
____@
|
||||||
|
|_ /@
|
||||||
|
/ / @
|
||||||
|
/___|@
|
||||||
|
@@
|
||||||
|
___ @
|
||||||
|
| _|@
|
||||||
|
| | @
|
||||||
|
| |_ @
|
||||||
|
|___|@@
|
||||||
|
__ @
|
||||||
|
\ \ @
|
||||||
|
\ \ @
|
||||||
|
\_\@
|
||||||
|
@@
|
||||||
|
___ @
|
||||||
|
|_ |@
|
||||||
|
| |@
|
||||||
|
_| |@
|
||||||
|
|___|@@
|
||||||
|
/\ @
|
||||||
|
</\>@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
___ @
|
||||||
|
|___|@
|
||||||
|
@@
|
||||||
|
_ @
|
||||||
|
\|@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
___ @
|
||||||
|
<_> |@
|
||||||
|
<___|@
|
||||||
|
@@
|
||||||
|
_ @
|
||||||
|
| |_ @
|
||||||
|
| . \@
|
||||||
|
|___/@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
___ @
|
||||||
|
/ | '@
|
||||||
|
\_|_.@
|
||||||
|
@@
|
||||||
|
_ @
|
||||||
|
_| |@
|
||||||
|
/ . |@
|
||||||
|
\___|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
___ @
|
||||||
|
/ ._>@
|
||||||
|
\___.@
|
||||||
|
@@
|
||||||
|
___ @
|
||||||
|
| | '@
|
||||||
|
| |- @
|
||||||
|
|_| @
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
___ @
|
||||||
|
/ . |@
|
||||||
|
\_. |@
|
||||||
|
<___'@@
|
||||||
|
_ @
|
||||||
|
| |_ @
|
||||||
|
| . |@
|
||||||
|
|_|_|@
|
||||||
|
@@
|
||||||
|
_ @
|
||||||
|
<_>@
|
||||||
|
| |@
|
||||||
|
|_|@
|
||||||
|
@@
|
||||||
|
_ @
|
||||||
|
<_>@
|
||||||
|
| |@
|
||||||
|
| |@
|
||||||
|
<__'@@
|
||||||
|
_ @
|
||||||
|
| |__@
|
||||||
|
| / /@
|
||||||
|
|_\_\@
|
||||||
|
@@
|
||||||
|
_ @
|
||||||
|
| |@
|
||||||
|
| |@
|
||||||
|
|_|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
._ _ _ @
|
||||||
|
| ' ' |@
|
||||||
|
|_|_|_|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
._ _ @
|
||||||
|
| ' |@
|
||||||
|
|_|_|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
___ @
|
||||||
|
/ . \@
|
||||||
|
\___/@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
___ @
|
||||||
|
| . \@
|
||||||
|
| _/@
|
||||||
|
|_| @@
|
||||||
|
@
|
||||||
|
___ @
|
||||||
|
/ . |@
|
||||||
|
\_ |@
|
||||||
|
|_|@@
|
||||||
|
@
|
||||||
|
_ _ @
|
||||||
|
| '_>@
|
||||||
|
|_| @
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
___@
|
||||||
|
<_-<@
|
||||||
|
/__/@
|
||||||
|
@@
|
||||||
|
_ @
|
||||||
|
$_| |_$@
|
||||||
|
| | @
|
||||||
|
|_| @
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
_ _ @
|
||||||
|
| | |@
|
||||||
|
`___|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
_ _ @
|
||||||
|
| | |@
|
||||||
|
|__/ @
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
_ _ _ @
|
||||||
|
| | | |@
|
||||||
|
|__/_/ @
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
__ @
|
||||||
|
\ \/@
|
||||||
|
/\_\@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
_ _ @
|
||||||
|
| | |@
|
||||||
|
`_. |@
|
||||||
|
<___'@@
|
||||||
|
@
|
||||||
|
.___@
|
||||||
|
/ /@
|
||||||
|
/___@
|
||||||
|
@@
|
||||||
|
__@
|
||||||
|
/ /@
|
||||||
|
/ | @
|
||||||
|
\ | @
|
||||||
|
\_\@@
|
||||||
|
||@
|
||||||
|
||@
|
||||||
|
||@
|
||||||
|
||@
|
||||||
|
@@
|
||||||
|
__ @
|
||||||
|
\ \ @
|
||||||
|
| \@
|
||||||
|
| /@
|
||||||
|
/_/ @@
|
||||||
|
@
|
||||||
|
/\/|@
|
||||||
|
|/\/ @
|
||||||
|
@
|
||||||
|
@@
|
||||||
|
<>_<>@
|
||||||
|
| . |@
|
||||||
|
| |@
|
||||||
|
|_|_|@
|
||||||
|
@@
|
||||||
|
<>_<>@
|
||||||
|
| . |@
|
||||||
|
| | |@
|
||||||
|
`___'@
|
||||||
|
@@
|
||||||
|
<>_<>@
|
||||||
|
| | |@
|
||||||
|
| ' |@
|
||||||
|
`___'@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
<>_<>@
|
||||||
|
`_> |@
|
||||||
|
<___|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
<>_<>@
|
||||||
|
/ . \@
|
||||||
|
\___/@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
<>_<>@
|
||||||
|
| | |@
|
||||||
|
`___|@
|
||||||
|
@@
|
||||||
|
___ @
|
||||||
|
| . >@
|
||||||
|
| . \@
|
||||||
|
| ._/@
|
||||||
|
|_| @@
|
||||||
|
196
|
||||||
|
<>_<>@
|
||||||
|
| . |@
|
||||||
|
| |@
|
||||||
|
|_|_|@
|
||||||
|
@@
|
||||||
|
214
|
||||||
|
<>_<>@
|
||||||
|
| . |@
|
||||||
|
| | |@
|
||||||
|
`___'@
|
||||||
|
@@
|
||||||
|
220
|
||||||
|
<>_<>@
|
||||||
|
| | |@
|
||||||
|
| ' |@
|
||||||
|
`___'@
|
||||||
|
@@
|
||||||
|
223
|
||||||
|
___ @
|
||||||
|
| . >@
|
||||||
|
| . \@
|
||||||
|
| ._/@
|
||||||
|
|_| @@
|
||||||
|
228
|
||||||
|
@
|
||||||
|
<>_<>@
|
||||||
|
`_> |@
|
||||||
|
<___|@
|
||||||
|
@@
|
||||||
|
246
|
||||||
|
@
|
||||||
|
<>_<>@
|
||||||
|
/ . \@
|
||||||
|
\___/@
|
||||||
|
@@
|
||||||
|
252
|
||||||
|
@
|
||||||
|
<>_<>@
|
||||||
|
| | |@
|
||||||
|
`___|@
|
||||||
|
@@
|
617
fonts/graffiti.flf
Normal file
617
fonts/graffiti.flf
Normal file
@ -0,0 +1,617 @@
|
|||||||
|
flf2a$ 6 5 32 15 4
|
||||||
|
Font name is graffiti.flf
|
||||||
|
This figlet font designed by Leigh Purdie (purdie@zeus.usq.edu.au)
|
||||||
|
'fig-fonted' by Leigh Purdie and Tim Maggio (tim@claremont.com)
|
||||||
|
Date: 5 Mar 1994
|
||||||
|
$@
|
||||||
|
$@
|
||||||
|
$@
|
||||||
|
$@
|
||||||
|
$@
|
||||||
|
$@@
|
||||||
|
._.@
|
||||||
|
| |@
|
||||||
|
| |@
|
||||||
|
\|@
|
||||||
|
__@
|
||||||
|
\/@@
|
||||||
|
/\/\@
|
||||||
|
)/)/@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@@
|
||||||
|
_ _ @
|
||||||
|
__| || |__@
|
||||||
|
\ __ /@
|
||||||
|
| || | @
|
||||||
|
/_ ~~ _\@
|
||||||
|
|_||_| @@
|
||||||
|
____/\__@
|
||||||
|
/ / /_/@
|
||||||
|
\__/ / \ @
|
||||||
|
/ / / \@
|
||||||
|
/_/ /__ /@
|
||||||
|
\/ \/ @@
|
||||||
|
_ /\ @
|
||||||
|
/ \ / / @
|
||||||
|
\_// /_ @
|
||||||
|
/ // \@
|
||||||
|
/ / \_/@
|
||||||
|
\/ @@
|
||||||
|
____ @
|
||||||
|
/ _ \ @
|
||||||
|
> _ </\@
|
||||||
|
/ <_\ \/@
|
||||||
|
\_____\ \@
|
||||||
|
\/@@
|
||||||
|
/\@
|
||||||
|
)/@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@@
|
||||||
|
$ ___$@
|
||||||
|
$ / /$@
|
||||||
|
$ / / $@
|
||||||
|
$( ( $@
|
||||||
|
$ \ \ $@
|
||||||
|
$ \__\$@@
|
||||||
|
$___ $@
|
||||||
|
$\ \ $@
|
||||||
|
$ \ \ $@
|
||||||
|
$ ) )$@
|
||||||
|
$ / / $@
|
||||||
|
$/__/ $@@
|
||||||
|
$ $@
|
||||||
|
$ /\|\/\ $@
|
||||||
|
$_) (__$@
|
||||||
|
$\_ _/$@
|
||||||
|
$ ) \ $@
|
||||||
|
$ \/\|\/ $@@
|
||||||
|
$ $@
|
||||||
|
$ .__ $@
|
||||||
|
$ __| |___$@
|
||||||
|
$/__ __/$@
|
||||||
|
$ |__| $@
|
||||||
|
$ $@@
|
||||||
|
$ @
|
||||||
|
$ @
|
||||||
|
$ @
|
||||||
|
$ @
|
||||||
|
$/\@
|
||||||
|
$)/@@
|
||||||
|
$ $@
|
||||||
|
$ $@
|
||||||
|
$ ______$@
|
||||||
|
$/_____/$@
|
||||||
|
$ $@
|
||||||
|
$ $@@
|
||||||
|
$ @
|
||||||
|
$ @
|
||||||
|
$ @
|
||||||
|
$ @
|
||||||
|
$/\@
|
||||||
|
$\/@@
|
||||||
|
$ /\$@
|
||||||
|
$ / /$@
|
||||||
|
$ / / $@
|
||||||
|
$ / / $@
|
||||||
|
$/ / $@
|
||||||
|
$\/ $@@
|
||||||
|
_______ @
|
||||||
|
\ _ \ @
|
||||||
|
/ /_\ \ @
|
||||||
|
\ \_/ \@
|
||||||
|
\_____ /@
|
||||||
|
\/ @@
|
||||||
|
____ @
|
||||||
|
/_ |@
|
||||||
|
| |@
|
||||||
|
| |@
|
||||||
|
|___|@
|
||||||
|
@@
|
||||||
|
________ @
|
||||||
|
\_____ \ @
|
||||||
|
/ ____/ @
|
||||||
|
/ \ @
|
||||||
|
\_______ \@
|
||||||
|
\/@@
|
||||||
|
________ @
|
||||||
|
\_____ \ @
|
||||||
|
_(__ < @
|
||||||
|
/ \@
|
||||||
|
/______ /@
|
||||||
|
\/ @@
|
||||||
|
_____ @
|
||||||
|
/ | | @
|
||||||
|
/ | |_@
|
||||||
|
/ ^ /@
|
||||||
|
\____ | @
|
||||||
|
|__| @@
|
||||||
|
.________@
|
||||||
|
| ____/@
|
||||||
|
|____ \ @
|
||||||
|
/ \@
|
||||||
|
/______ /@
|
||||||
|
\/ @@
|
||||||
|
________@
|
||||||
|
/ _____/@
|
||||||
|
/ __ \ @
|
||||||
|
\ |__\ \@
|
||||||
|
\_____ /@
|
||||||
|
\/ @@
|
||||||
|
_________ @
|
||||||
|
\______ \@
|
||||||
|
/ /@
|
||||||
|
/ / @
|
||||||
|
/____/ @
|
||||||
|
@@
|
||||||
|
______ @
|
||||||
|
/ __ \ @
|
||||||
|
> < @
|
||||||
|
/ -- \@
|
||||||
|
\______ /@
|
||||||
|
\/ @@
|
||||||
|
________ @
|
||||||
|
/ __ \@
|
||||||
|
\____ /@
|
||||||
|
/ / @
|
||||||
|
/____/ @
|
||||||
|
@@
|
||||||
|
$ $@
|
||||||
|
$/\$@
|
||||||
|
$\/$@
|
||||||
|
$/\$@
|
||||||
|
$\/$@
|
||||||
|
$ $@@
|
||||||
|
$ $@
|
||||||
|
$/\$@
|
||||||
|
$\/$@
|
||||||
|
$/\$@
|
||||||
|
$)/$@
|
||||||
|
$ $@@
|
||||||
|
$ __$@
|
||||||
|
$ / /$@
|
||||||
|
$/ / $@
|
||||||
|
$\ \ $@
|
||||||
|
$ \_\$@
|
||||||
|
$ $@@
|
||||||
|
$ $@
|
||||||
|
$ ______$@
|
||||||
|
$/_____/$@
|
||||||
|
$/_____/$@
|
||||||
|
$ $@
|
||||||
|
$ $@@
|
||||||
|
$__ $@
|
||||||
|
$\ \ $@
|
||||||
|
$ \ \$@
|
||||||
|
$ / /$@
|
||||||
|
$/_/ $@
|
||||||
|
$ $@@
|
||||||
|
_________ @
|
||||||
|
\_____ \@
|
||||||
|
/ __/@
|
||||||
|
| | @
|
||||||
|
|___| @
|
||||||
|
<___> @@
|
||||||
|
_____ @
|
||||||
|
/ ___ \ @
|
||||||
|
/ / ._\ \@
|
||||||
|
< \_____/@
|
||||||
|
\_____\ @
|
||||||
|
@@
|
||||||
|
_____ @
|
||||||
|
/ _ \ @
|
||||||
|
/ /_\ \ @
|
||||||
|
/ | \@
|
||||||
|
\____|__ /@
|
||||||
|
\/ @@
|
||||||
|
__________ @
|
||||||
|
\______ \@
|
||||||
|
| | _/@
|
||||||
|
| | \@
|
||||||
|
|______ /@
|
||||||
|
\/ @@
|
||||||
|
_________ @
|
||||||
|
\_ ___ \ @
|
||||||
|
/ \ \/ @
|
||||||
|
\ \____@
|
||||||
|
\______ /@
|
||||||
|
\/ @@
|
||||||
|
________ @
|
||||||
|
\______ \ @
|
||||||
|
| | \ @
|
||||||
|
| ` \@
|
||||||
|
/_______ /@
|
||||||
|
\/ @@
|
||||||
|
___________@
|
||||||
|
\_ _____/@
|
||||||
|
| __)_ @
|
||||||
|
| \@
|
||||||
|
/_______ /@
|
||||||
|
\/ @@
|
||||||
|
___________@
|
||||||
|
\_ _____/@
|
||||||
|
| __) @
|
||||||
|
| \ @
|
||||||
|
\___ / @
|
||||||
|
\/ @@
|
||||||
|
________ @
|
||||||
|
/ _____/ @
|
||||||
|
/ \ ___ @
|
||||||
|
\ \_\ \@
|
||||||
|
\______ /@
|
||||||
|
\/ @@
|
||||||
|
___ ___ @
|
||||||
|
/ | \ @
|
||||||
|
/ ~ \@
|
||||||
|
\ Y /@
|
||||||
|
\___|_ / @
|
||||||
|
\/ @@
|
||||||
|
.___ @
|
||||||
|
| |@
|
||||||
|
| |@
|
||||||
|
| |@
|
||||||
|
|___|@
|
||||||
|
@@
|
||||||
|
____.@
|
||||||
|
| |@
|
||||||
|
| |@
|
||||||
|
/\__| |@
|
||||||
|
\________|@
|
||||||
|
@@
|
||||||
|
____ __.@
|
||||||
|
| |/ _|@
|
||||||
|
| < @
|
||||||
|
| | \ @
|
||||||
|
|____|__ \@
|
||||||
|
\/@@
|
||||||
|
.____ @
|
||||||
|
| | @
|
||||||
|
| | @
|
||||||
|
| |___ @
|
||||||
|
|_______ \@
|
||||||
|
\/@@
|
||||||
|
_____ @
|
||||||
|
/ \ @
|
||||||
|
/ \ / \ @
|
||||||
|
/ Y \@
|
||||||
|
\____|__ /@
|
||||||
|
\/ @@
|
||||||
|
_______ @
|
||||||
|
\ \ @
|
||||||
|
/ | \ @
|
||||||
|
/ | \@
|
||||||
|
\____|__ /@
|
||||||
|
\/ @@
|
||||||
|
________ @
|
||||||
|
\_____ \ @
|
||||||
|
/ | \ @
|
||||||
|
/ | \@
|
||||||
|
\_______ /@
|
||||||
|
\/ @@
|
||||||
|
__________ @
|
||||||
|
\______ \@
|
||||||
|
| ___/@
|
||||||
|
| | @
|
||||||
|
|____| @
|
||||||
|
@@
|
||||||
|
________ @
|
||||||
|
\_____ \ @
|
||||||
|
/ / \ \ @
|
||||||
|
/ \_/. \@
|
||||||
|
\_____\ \_/@
|
||||||
|
\__>@@
|
||||||
|
__________ @
|
||||||
|
\______ \@
|
||||||
|
| _/@
|
||||||
|
| | \@
|
||||||
|
|____|_ /@
|
||||||
|
\/ @@
|
||||||
|
_________@
|
||||||
|
/ _____/@
|
||||||
|
\_____ \ @
|
||||||
|
/ \@
|
||||||
|
/_______ /@
|
||||||
|
\/ @@
|
||||||
|
___________@
|
||||||
|
\__ ___/@
|
||||||
|
| | @
|
||||||
|
| | @
|
||||||
|
|____| @
|
||||||
|
@@
|
||||||
|
____ ___ @
|
||||||
|
| | \@
|
||||||
|
| | /@
|
||||||
|
| | / @
|
||||||
|
|______/ @
|
||||||
|
@@
|
||||||
|
____ ____@
|
||||||
|
\ \ / /@
|
||||||
|
\ Y / @
|
||||||
|
\ / @
|
||||||
|
\___/ @
|
||||||
|
@@
|
||||||
|
__ __ @
|
||||||
|
/ \ / \@
|
||||||
|
\ \/\/ /@
|
||||||
|
\ / @
|
||||||
|
\__/\ / @
|
||||||
|
\/ @@
|
||||||
|
____ ___@
|
||||||
|
\ \/ /@
|
||||||
|
\ / @
|
||||||
|
/ \ @
|
||||||
|
/___/\ \@
|
||||||
|
\_/@@
|
||||||
|
_____.___.@
|
||||||
|
\__ | |@
|
||||||
|
/ | |@
|
||||||
|
\____ |@
|
||||||
|
/ ______|@
|
||||||
|
\/ @@
|
||||||
|
__________@
|
||||||
|
\____ /@
|
||||||
|
/ / @
|
||||||
|
/ /_ @
|
||||||
|
/_______ \@
|
||||||
|
\/@@
|
||||||
|
$.____ $@
|
||||||
|
$| _|$@
|
||||||
|
$| | $@
|
||||||
|
$| | $@
|
||||||
|
$| |_ $@
|
||||||
|
$|____|$@@
|
||||||
|
/\ @
|
||||||
|
\ \ @
|
||||||
|
\ \ @
|
||||||
|
\ \ @
|
||||||
|
\ \@
|
||||||
|
\/@@
|
||||||
|
$ ____.$@
|
||||||
|
$|_ |$@
|
||||||
|
$ | |$@
|
||||||
|
$ | |$@
|
||||||
|
$ _| |$@
|
||||||
|
$|____|$@@
|
||||||
|
$ /\ $@
|
||||||
|
$/ \$@
|
||||||
|
$\/\/$@
|
||||||
|
$ $@
|
||||||
|
$ $@
|
||||||
|
$ $@@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
______@
|
||||||
|
/_____/@@
|
||||||
|
/\@
|
||||||
|
\(@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
_____ @
|
||||||
|
\__ \ @
|
||||||
|
/ __ \_@
|
||||||
|
(____ /@
|
||||||
|
\/ @@
|
||||||
|
___. @
|
||||||
|
\_ |__ @
|
||||||
|
| __ \ @
|
||||||
|
| \_\ \@
|
||||||
|
|___ /@
|
||||||
|
\/ @@
|
||||||
|
@
|
||||||
|
____ @
|
||||||
|
_/ ___\ @
|
||||||
|
\ \___ @
|
||||||
|
\___ >@
|
||||||
|
\/ @@
|
||||||
|
.___@
|
||||||
|
__| _/@
|
||||||
|
/ __ | @
|
||||||
|
/ /_/ | @
|
||||||
|
\____ | @
|
||||||
|
\/ @@
|
||||||
|
@
|
||||||
|
____ @
|
||||||
|
_/ __ \ @
|
||||||
|
\ ___/ @
|
||||||
|
\___ >@
|
||||||
|
\/ @@
|
||||||
|
_____ @
|
||||||
|
_/ ____\@
|
||||||
|
\ __\ @
|
||||||
|
| | @
|
||||||
|
|__| @
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
____ @
|
||||||
|
/ ___\ @
|
||||||
|
/ /_/ >@
|
||||||
|
\___ / @
|
||||||
|
/_____/ @@
|
||||||
|
.__ @
|
||||||
|
| |__ @
|
||||||
|
| | \ @
|
||||||
|
| Y \@
|
||||||
|
|___| /@
|
||||||
|
\/ @@
|
||||||
|
.__ @
|
||||||
|
|__|@
|
||||||
|
| |@
|
||||||
|
| |@
|
||||||
|
|__|@
|
||||||
|
@@
|
||||||
|
__ @
|
||||||
|
|__|@
|
||||||
|
| |@
|
||||||
|
| |@
|
||||||
|
/\__| |@
|
||||||
|
\______|@@
|
||||||
|
__ @
|
||||||
|
| | __@
|
||||||
|
| |/ /@
|
||||||
|
| < @
|
||||||
|
|__|_ \@
|
||||||
|
\/@@
|
||||||
|
.__ @
|
||||||
|
| | @
|
||||||
|
| | @
|
||||||
|
| |__@
|
||||||
|
|____/@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
_____ @
|
||||||
|
/ \ @
|
||||||
|
| Y Y \@
|
||||||
|
|__|_| /@
|
||||||
|
\/ @@
|
||||||
|
@
|
||||||
|
____ @
|
||||||
|
/ \ @
|
||||||
|
| | \@
|
||||||
|
|___| /@
|
||||||
|
\/ @@
|
||||||
|
@
|
||||||
|
____ @
|
||||||
|
/ _ \ @
|
||||||
|
( <_> )@
|
||||||
|
\____/ @
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
______ @
|
||||||
|
\____ \ @
|
||||||
|
| |_> >@
|
||||||
|
| __/ @
|
||||||
|
|__| @@
|
||||||
|
@
|
||||||
|
______@
|
||||||
|
/ ____/@
|
||||||
|
< <_| |@
|
||||||
|
\__ |@
|
||||||
|
|__|@@
|
||||||
|
@
|
||||||
|
_______ @
|
||||||
|
\_ __ \@
|
||||||
|
| | \/@
|
||||||
|
|__| @
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
______@
|
||||||
|
/ ___/@
|
||||||
|
\___ \ @
|
||||||
|
/____ >@
|
||||||
|
\/ @@
|
||||||
|
__ @
|
||||||
|
_/ |_ @
|
||||||
|
\ __\@
|
||||||
|
| | @
|
||||||
|
|__| @
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
__ __ @
|
||||||
|
| | \@
|
||||||
|
| | /@
|
||||||
|
|____/ @
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
___ __@
|
||||||
|
\ \/ /@
|
||||||
|
\ / @
|
||||||
|
\_/ @
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
__ _ __@
|
||||||
|
\ \/ \/ /@
|
||||||
|
\ / @
|
||||||
|
\/\_/ @
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
___ ___@
|
||||||
|
\ \/ /@
|
||||||
|
> < @
|
||||||
|
/__/\_ \@
|
||||||
|
\/@@
|
||||||
|
@
|
||||||
|
___.__.@
|
||||||
|
< | |@
|
||||||
|
\___ |@
|
||||||
|
/ ____|@
|
||||||
|
\/ @@
|
||||||
|
@
|
||||||
|
________@
|
||||||
|
\___ /@
|
||||||
|
/ / @
|
||||||
|
/_____ \@
|
||||||
|
\/@@
|
||||||
|
$ ___$@
|
||||||
|
$/ / $@
|
||||||
|
$\ \ $@
|
||||||
|
$< < $@
|
||||||
|
$/ / $@
|
||||||
|
$\_\_$@@
|
||||||
|
$._.$@
|
||||||
|
$| |$@
|
||||||
|
$|_|$@
|
||||||
|
$|-|$@
|
||||||
|
$| |$@
|
||||||
|
$|_|$@@
|
||||||
|
$___ $@
|
||||||
|
$ \ \$@
|
||||||
|
$ / /$@
|
||||||
|
$ > >$@
|
||||||
|
$ \ \$@
|
||||||
|
$_/_/$@@
|
||||||
|
$ ___ $@
|
||||||
|
$/ _ \_/\$@
|
||||||
|
$\/ \___/$@
|
||||||
|
$ $@
|
||||||
|
$ $@
|
||||||
|
$ $@@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@@
|
614
fonts/rectangles.flf
Normal file
614
fonts/rectangles.flf
Normal file
@ -0,0 +1,614 @@
|
|||||||
|
flf2a$ 6 5 15 1 1
|
||||||
|
rectangles.flf by David Villegas <mnementh@netcom.com> 12/94
|
||||||
|
$$@
|
||||||
|
$$@
|
||||||
|
$$@
|
||||||
|
$$@
|
||||||
|
$$@
|
||||||
|
$$@@
|
||||||
|
__ @
|
||||||
|
| |@
|
||||||
|
| |@
|
||||||
|
|__|@
|
||||||
|
|__|@
|
||||||
|
@@
|
||||||
|
_ _ @
|
||||||
|
| | |@
|
||||||
|
|_|_|@
|
||||||
|
$$$ @
|
||||||
|
$$$ @
|
||||||
|
$$$ @@
|
||||||
|
_ _ @
|
||||||
|
_| | |_ @
|
||||||
|
|_ _|@
|
||||||
|
|_ _|@
|
||||||
|
|_|_| @
|
||||||
|
@@
|
||||||
|
_ @
|
||||||
|
_| |_ @
|
||||||
|
| __|@
|
||||||
|
|__ |@
|
||||||
|
|_ _|@
|
||||||
|
|_| @@
|
||||||
|
@
|
||||||
|
__ __ @
|
||||||
|
|__| |@
|
||||||
|
| __|@
|
||||||
|
|__|__|@
|
||||||
|
@@
|
||||||
|
_ @
|
||||||
|
_| |_ @
|
||||||
|
| __|@
|
||||||
|
| __|@
|
||||||
|
|_ _|@
|
||||||
|
|_| @@
|
||||||
|
_ @
|
||||||
|
| |@
|
||||||
|
|_|@
|
||||||
|
$ @
|
||||||
|
$ @
|
||||||
|
$ @@
|
||||||
|
_ @
|
||||||
|
_|_|@
|
||||||
|
| | @
|
||||||
|
| | @
|
||||||
|
|_|_ @
|
||||||
|
|_|@@
|
||||||
|
_ @
|
||||||
|
|_|_ @
|
||||||
|
| |@
|
||||||
|
| |@
|
||||||
|
_|_|@
|
||||||
|
|_| @@
|
||||||
|
@
|
||||||
|
_____ @
|
||||||
|
| | | |@
|
||||||
|
|- -|@
|
||||||
|
|_|_|_|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
_ @
|
||||||
|
_| |_ @
|
||||||
|
|_ _|@
|
||||||
|
|_| @
|
||||||
|
@@
|
||||||
|
$ @
|
||||||
|
$ @
|
||||||
|
$ @
|
||||||
|
_ @
|
||||||
|
| |@
|
||||||
|
|_|@@
|
||||||
|
$$$ @
|
||||||
|
$$$ @
|
||||||
|
___ @
|
||||||
|
|___|@
|
||||||
|
$$$ @
|
||||||
|
$$$ @@
|
||||||
|
$ @
|
||||||
|
$ @
|
||||||
|
$ @
|
||||||
|
_ @
|
||||||
|
|_|@
|
||||||
|
$ @@
|
||||||
|
@
|
||||||
|
_ @
|
||||||
|
/ |@
|
||||||
|
/ / @
|
||||||
|
|_/ @
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
___ @
|
||||||
|
| |@
|
||||||
|
| | |@
|
||||||
|
|___|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
___ @
|
||||||
|
|_ | @
|
||||||
|
_| |_ @
|
||||||
|
|_____|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
___ @
|
||||||
|
|_ |@
|
||||||
|
| _|@
|
||||||
|
|___|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
___ @
|
||||||
|
|_ |@
|
||||||
|
|_ |@
|
||||||
|
|___|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
___ @
|
||||||
|
| | |@
|
||||||
|
|_ |@
|
||||||
|
|_|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
___ @
|
||||||
|
| _|@
|
||||||
|
|_ |@
|
||||||
|
|___|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
___ @
|
||||||
|
| _|@
|
||||||
|
| . |@
|
||||||
|
|___|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
___ @
|
||||||
|
|_ |@
|
||||||
|
| |@
|
||||||
|
|_|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
___ @
|
||||||
|
| . |@
|
||||||
|
| . |@
|
||||||
|
|___|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
___ @
|
||||||
|
| . |@
|
||||||
|
|_ |@
|
||||||
|
|___|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
_ @
|
||||||
|
|_|@
|
||||||
|
_ @
|
||||||
|
|_|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
_ @
|
||||||
|
|_|@
|
||||||
|
_ @
|
||||||
|
| |@
|
||||||
|
|_|@@
|
||||||
|
__@
|
||||||
|
/ /@
|
||||||
|
/ / @
|
||||||
|
< < @
|
||||||
|
\ \ @
|
||||||
|
\_\@@
|
||||||
|
$$$$$ @
|
||||||
|
$$$$$ @
|
||||||
|
_____ @
|
||||||
|
|_____|@
|
||||||
|
|_____|@
|
||||||
|
$$$$$ @@
|
||||||
|
__ @
|
||||||
|
\ \ @
|
||||||
|
\ \ @
|
||||||
|
> >@
|
||||||
|
/ / @
|
||||||
|
/_/ @@
|
||||||
|
_____ @
|
||||||
|
|___ |@
|
||||||
|
| _|@
|
||||||
|
|_| @
|
||||||
|
|_| @
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
_____ @
|
||||||
|
| __ |@
|
||||||
|
| |___|@
|
||||||
|
|_____|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
_____ @
|
||||||
|
| _ |@
|
||||||
|
| |@
|
||||||
|
|__|__|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
_____ @
|
||||||
|
| __ |@
|
||||||
|
| __ -|@
|
||||||
|
|_____|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
_____ @
|
||||||
|
| |@
|
||||||
|
| --|@
|
||||||
|
|_____|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
____ @
|
||||||
|
| \ @
|
||||||
|
| | |@
|
||||||
|
|____/ @
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
_____ @
|
||||||
|
| __|@
|
||||||
|
| __|@
|
||||||
|
|_____|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
_____ @
|
||||||
|
| __|@
|
||||||
|
| __|@
|
||||||
|
|__| @
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
_____ @
|
||||||
|
| __|@
|
||||||
|
| | |@
|
||||||
|
|_____|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
_____ @
|
||||||
|
| | |@
|
||||||
|
| |@
|
||||||
|
|__|__|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
_____ @
|
||||||
|
| |@
|
||||||
|
|- -|@
|
||||||
|
|_____|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
__ @
|
||||||
|
__| |@
|
||||||
|
| | |@
|
||||||
|
|_____|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
_____ @
|
||||||
|
| | |@
|
||||||
|
| -|@
|
||||||
|
|__|__|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
__ @
|
||||||
|
| | @
|
||||||
|
| |__ @
|
||||||
|
|_____|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
_____ @
|
||||||
|
| |@
|
||||||
|
| | | |@
|
||||||
|
|_|_|_|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
_____ @
|
||||||
|
| | |@
|
||||||
|
| | | |@
|
||||||
|
|_|___|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
_____ @
|
||||||
|
| |@
|
||||||
|
| | |@
|
||||||
|
|_____|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
_____ @
|
||||||
|
| _ |@
|
||||||
|
| __|@
|
||||||
|
|__| @
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
_____ @
|
||||||
|
| |@
|
||||||
|
| | |@
|
||||||
|
|__ _|@
|
||||||
|
|__|@@
|
||||||
|
@
|
||||||
|
_____ @
|
||||||
|
| __ |@
|
||||||
|
| -|@
|
||||||
|
|__|__|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
_____ @
|
||||||
|
| __|@
|
||||||
|
|__ |@
|
||||||
|
|_____|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
_____ @
|
||||||
|
|_ _|@
|
||||||
|
| | @
|
||||||
|
|_| @
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
_____ @
|
||||||
|
| | |@
|
||||||
|
| | |@
|
||||||
|
|_____|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
_____ @
|
||||||
|
| | |@
|
||||||
|
| | |@
|
||||||
|
\___/ @
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
_ _ _ @
|
||||||
|
| | | |@
|
||||||
|
| | | |@
|
||||||
|
|_____|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
__ __ @
|
||||||
|
| | |@
|
||||||
|
|- -|@
|
||||||
|
|__|__|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
__ __ @
|
||||||
|
| | |@
|
||||||
|
|_ _|@
|
||||||
|
|_| @
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
_____ @
|
||||||
|
|__ |@
|
||||||
|
| __|@
|
||||||
|
|_____|@
|
||||||
|
@@
|
||||||
|
___ @
|
||||||
|
| _|@
|
||||||
|
| | @
|
||||||
|
| | @
|
||||||
|
| |_ @
|
||||||
|
|___|@@
|
||||||
|
@
|
||||||
|
_ @
|
||||||
|
| \ @
|
||||||
|
\ \ @
|
||||||
|
\_|@
|
||||||
|
@@
|
||||||
|
___ @
|
||||||
|
|_ |@
|
||||||
|
| |@
|
||||||
|
| |@
|
||||||
|
_| |@
|
||||||
|
|___|@@
|
||||||
|
_____ @
|
||||||
|
| _ |@
|
||||||
|
|_| |_|@
|
||||||
|
$$$$$ @
|
||||||
|
$$$$$ @
|
||||||
|
$$$$$ @@
|
||||||
|
$$$$$ @
|
||||||
|
$$$$$ @
|
||||||
|
$$$$$ @
|
||||||
|
$$$$$ @
|
||||||
|
_____ @
|
||||||
|
|_____|@@
|
||||||
|
___ @
|
||||||
|
|_ |@
|
||||||
|
|_|@
|
||||||
|
$$$ @
|
||||||
|
$$$ @
|
||||||
|
$$$ @@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
___ @
|
||||||
|
| .'|@
|
||||||
|
|__,|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
_ @
|
||||||
|
| |_ @
|
||||||
|
| . |@
|
||||||
|
|___|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
___ @
|
||||||
|
| _|@
|
||||||
|
|___|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
_ @
|
||||||
|
_| |@
|
||||||
|
| . |@
|
||||||
|
|___|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
___ @
|
||||||
|
| -_|@
|
||||||
|
|___|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
___ @
|
||||||
|
| _|@
|
||||||
|
| _|@
|
||||||
|
|_| @
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
___ @
|
||||||
|
| . |@
|
||||||
|
|_ |@
|
||||||
|
|___|@@
|
||||||
|
@
|
||||||
|
_ @
|
||||||
|
| |_ @
|
||||||
|
| |@
|
||||||
|
|_|_|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
_ @
|
||||||
|
|_|@
|
||||||
|
| |@
|
||||||
|
|_|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
_ @
|
||||||
|
|_|@
|
||||||
|
| |@
|
||||||
|
_| |@
|
||||||
|
|___|@@
|
||||||
|
@
|
||||||
|
_ @
|
||||||
|
| |_ @
|
||||||
|
| '_|@
|
||||||
|
|_,_|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
_ @
|
||||||
|
| |@
|
||||||
|
| |@
|
||||||
|
|_|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
_____ @
|
||||||
|
| |@
|
||||||
|
|_|_|_|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
___ @
|
||||||
|
| |@
|
||||||
|
|_|_|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
___ @
|
||||||
|
| . |@
|
||||||
|
|___|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
___ @
|
||||||
|
| . |@
|
||||||
|
| _|@
|
||||||
|
|_| @@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
___ @
|
||||||
|
| . |@
|
||||||
|
|_ |@
|
||||||
|
|_|@@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
___ @
|
||||||
|
| _|@
|
||||||
|
|_| @
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
___ @
|
||||||
|
|_ -|@
|
||||||
|
|___|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
_ @
|
||||||
|
| |_ @
|
||||||
|
| _|@
|
||||||
|
|_| @
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
_ _ @
|
||||||
|
| | |@
|
||||||
|
|___|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
_ _ @
|
||||||
|
| | |@
|
||||||
|
\_/ @
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
_ _ _ @
|
||||||
|
| | | |@
|
||||||
|
|_____|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
_ _ @
|
||||||
|
|_'_|@
|
||||||
|
|_,_|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
_ _ @
|
||||||
|
| | |@
|
||||||
|
|_ |@
|
||||||
|
|___|@@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
___ @
|
||||||
|
|- _|@
|
||||||
|
|___|@
|
||||||
|
@@
|
||||||
|
___ @
|
||||||
|
| _|@
|
||||||
|
_| | @
|
||||||
|
|_ | @
|
||||||
|
| |_ @
|
||||||
|
|___|@@
|
||||||
|
_ @
|
||||||
|
| |@
|
||||||
|
| |@
|
||||||
|
| |@
|
||||||
|
| |@
|
||||||
|
|_|@@
|
||||||
|
___ @
|
||||||
|
|_ | @
|
||||||
|
| |_ @
|
||||||
|
| _|@
|
||||||
|
_| | @
|
||||||
|
|___| @@
|
||||||
|
_____ @
|
||||||
|
| | |@
|
||||||
|
|_|___|@
|
||||||
|
$$$$$ @
|
||||||
|
$$$$$ @
|
||||||
|
$$$$$ @@
|
||||||
|
__ __ @
|
||||||
|
|__|__|@
|
||||||
|
| _ |@
|
||||||
|
| |@
|
||||||
|
|__|__|@
|
||||||
|
@@
|
||||||
|
__ __ @
|
||||||
|
|__|__|@
|
||||||
|
| |@
|
||||||
|
| | |@
|
||||||
|
|_____|@
|
||||||
|
@@
|
||||||
|
__ __ @
|
||||||
|
|__|__|@
|
||||||
|
| | |@
|
||||||
|
| | |@
|
||||||
|
|_____|@
|
||||||
|
@@
|
||||||
|
_ _ @
|
||||||
|
|_|_|@
|
||||||
|
___ @
|
||||||
|
| .'|@
|
||||||
|
|__,|@
|
||||||
|
@@
|
||||||
|
_ _ @
|
||||||
|
|_|_|@
|
||||||
|
___ @
|
||||||
|
| . |@
|
||||||
|
|___|@
|
||||||
|
@@
|
||||||
|
_ _ @
|
||||||
|
|_|_|@
|
||||||
|
_ _ @
|
||||||
|
| | |@
|
||||||
|
|___|@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
_____ @
|
||||||
|
| __ |@
|
||||||
|
| __ -|@
|
||||||
|
| ___|@
|
||||||
|
|_| @@
|
1295
fonts/slant.flf
Normal file
1295
fonts/slant.flf
Normal file
File diff suppressed because it is too large
Load Diff
2227
fonts/standard.flf
Normal file
2227
fonts/standard.flf
Normal file
File diff suppressed because it is too large
Load Diff
1
go.mod
1
go.mod
@ -17,6 +17,7 @@ require (
|
|||||||
github.com/lib/pq v1.10.9
|
github.com/lib/pq v1.10.9
|
||||||
github.com/lightninglabs/lndclient v0.16.0-11
|
github.com/lightninglabs/lndclient v0.16.0-11
|
||||||
github.com/lightningnetwork/lnd v0.16.0-beta
|
github.com/lightningnetwork/lnd v0.16.0-beta
|
||||||
|
github.com/lukesampson/figlet v0.0.0-20190211215653-8a3ef4a6ac42
|
||||||
github.com/namsral/flag v1.7.4-pre
|
github.com/namsral/flag v1.7.4-pre
|
||||||
github.com/skip2/go-qrcode v0.0.0-20200617195104-da1b6568686e
|
github.com/skip2/go-qrcode v0.0.0-20200617195104-da1b6568686e
|
||||||
github.com/stretchr/testify v1.8.4
|
github.com/stretchr/testify v1.8.4
|
||||||
|
2
go.sum
2
go.sum
@ -438,6 +438,8 @@ github.com/lightningnetwork/lnd/tor v1.1.0/go.mod h1:RDtaAdwfAm+ONuPYwUhNIH1RAvK
|
|||||||
github.com/ltcsuite/ltcd v0.0.0-20190101042124-f37f8bf35796 h1:sjOGyegMIhvgfq5oaue6Td+hxZuf3tDC8lAPrFldqFw=
|
github.com/ltcsuite/ltcd v0.0.0-20190101042124-f37f8bf35796 h1:sjOGyegMIhvgfq5oaue6Td+hxZuf3tDC8lAPrFldqFw=
|
||||||
github.com/ltcsuite/ltcd v0.0.0-20190101042124-f37f8bf35796/go.mod h1:3p7ZTf9V1sNPI5H8P3NkTFF4LuwMdPl2DodF60qAKqY=
|
github.com/ltcsuite/ltcd v0.0.0-20190101042124-f37f8bf35796/go.mod h1:3p7ZTf9V1sNPI5H8P3NkTFF4LuwMdPl2DodF60qAKqY=
|
||||||
github.com/ltcsuite/ltcutil v0.0.0-20181217130922-17f3b04680b6/go.mod h1:8Vg/LTOO0KYa/vlHWJ6XZAevPQThGH5sufO0Hrou/lA=
|
github.com/ltcsuite/ltcutil v0.0.0-20181217130922-17f3b04680b6/go.mod h1:8Vg/LTOO0KYa/vlHWJ6XZAevPQThGH5sufO0Hrou/lA=
|
||||||
|
github.com/lukesampson/figlet v0.0.0-20190211215653-8a3ef4a6ac42 h1:UtyD+eBVdLYSj5/pjfSR6mtnzMgIiOVcFT024G2l4CY=
|
||||||
|
github.com/lukesampson/figlet v0.0.0-20190211215653-8a3ef4a6ac42/go.mod h1:/peI0OaxVYh7fzA72CD7rUsyGVdF7sCiFw7GcYqOcCw=
|
||||||
github.com/lunixbochs/vtclean v0.0.0-20160125035106-4fbf7632a2c6/go.mod h1:pHhQNgMf3btfWnGBVipUOjRYhoOsdGqdm/+2c2E2WMI=
|
github.com/lunixbochs/vtclean v0.0.0-20160125035106-4fbf7632a2c6/go.mod h1:pHhQNgMf3btfWnGBVipUOjRYhoOsdGqdm/+2c2E2WMI=
|
||||||
github.com/mattn/go-colorable v0.0.6/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
|
github.com/mattn/go-colorable v0.0.6/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
|
||||||
github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ=
|
github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ=
|
||||||
|
37
lib/figlet.go
Normal file
37
lib/figlet.go
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
package lib
|
||||||
|
|
||||||
|
import (
|
||||||
|
"log"
|
||||||
|
"os"
|
||||||
|
"strings"
|
||||||
|
|
||||||
|
"github.com/lukesampson/figlet/figletlib"
|
||||||
|
"golang.org/x/exp/rand"
|
||||||
|
)
|
||||||
|
|
||||||
|
func Figlet(fontName string, text string) string {
|
||||||
|
var (
|
||||||
|
fontsDir = "fonts"
|
||||||
|
// download figlet fonts from http://www.figlet.org/
|
||||||
|
font *figletlib.Font
|
||||||
|
err error
|
||||||
|
)
|
||||||
|
|
||||||
|
if fontName == "random" {
|
||||||
|
if files, err := os.ReadDir(fontsDir); err != nil {
|
||||||
|
log.Printf("error reading directory %s: %v\n", fontsDir, err)
|
||||||
|
return ""
|
||||||
|
} else {
|
||||||
|
fontName = files[rand.Intn(len(files))].Name()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if font, err = figletlib.GetFontByName(fontsDir, fontName); err != nil {
|
||||||
|
log.Printf("could not find font %s: %v\n", fontName, err)
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
b := new(strings.Builder)
|
||||||
|
figletlib.FPrintMsg(b, text, font, 80, font.Settings(), "left")
|
||||||
|
return b.String()
|
||||||
|
}
|
@ -1,37 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
|
|
||||||
<head>
|
|
||||||
<title>delphi.market</title>
|
|
||||||
<link rel="icon" type="image/x-icon" href="/favicon.ico" />
|
|
||||||
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
|
|
||||||
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" />
|
|
||||||
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png" />
|
|
||||||
<link rel="manifest" href="/site.webmanifest" />
|
|
||||||
<link rel="stylesheet" href="/css/index.css" />
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
||||||
<meta name="theme-color" content="#091833" />
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body>
|
|
||||||
<header class="flex flex-row text-center justify-center pt-1">
|
|
||||||
<nav>
|
|
||||||
<a href="/">home</a>
|
|
||||||
</nav>
|
|
||||||
</header>
|
|
||||||
<div class="container flex flex-column text-center">
|
|
||||||
<code>
|
|
||||||
<strong>
|
|
||||||
<pre>
|
|
||||||
_ _ ___ ___
|
|
||||||
| || | / _ \ / _ \
|
|
||||||
| || |_| | | | | | |
|
|
||||||
|__ _| |_| | |_| |
|
|
||||||
|_| \___/ \___/ </pre>
|
|
||||||
</strong>
|
|
||||||
</code>
|
|
||||||
<div class="font-mono mb-1">Bad Request</div>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
@ -1,37 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
|
|
||||||
<head>
|
|
||||||
<title>delphi.market</title>
|
|
||||||
<link rel="icon" type="image/x-icon" href="/favicon.ico" />
|
|
||||||
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
|
|
||||||
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" />
|
|
||||||
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png" />
|
|
||||||
<link rel="manifest" href="/site.webmanifest" />
|
|
||||||
<link rel="stylesheet" href="/css/index.css" />
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
||||||
<meta name="theme-color" content="#091833" />
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body>
|
|
||||||
<header class="flex flex-row text-center justify-center pt-1">
|
|
||||||
<nav>
|
|
||||||
<a href="/">home</a>
|
|
||||||
</nav>
|
|
||||||
</header>
|
|
||||||
<div class="container flex flex-column text-center">
|
|
||||||
<code>
|
|
||||||
<strong>
|
|
||||||
<pre>
|
|
||||||
_ _ ___ _ _
|
|
||||||
| || | / _ \| || |
|
|
||||||
| || |_| | | | || |_
|
|
||||||
|__ _| |_| |__ _|
|
|
||||||
|_| \___/ |_| </pre>
|
|
||||||
</strong>
|
|
||||||
</code>
|
|
||||||
<div class="font-mono mb-1">Not Found</div>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
@ -1,37 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
|
|
||||||
<head>
|
|
||||||
<title>delphi.market</title>
|
|
||||||
<link rel="icon" type="image/x-icon" href="/favicon.ico" />
|
|
||||||
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
|
|
||||||
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" />
|
|
||||||
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png" />
|
|
||||||
<link rel="manifest" href="/site.webmanifest" />
|
|
||||||
<link rel="stylesheet" href="/css/index.css" />
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
||||||
<meta name="theme-color" content="#091833" />
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body>
|
|
||||||
<header class="flex flex-row text-center justify-center pt-1">
|
|
||||||
<nav>
|
|
||||||
<a href="/">home</a>
|
|
||||||
</nav>
|
|
||||||
</header>
|
|
||||||
<div class="container flex flex-column text-center">
|
|
||||||
<code>
|
|
||||||
<strong>
|
|
||||||
<pre>
|
|
||||||
_ _ ___ ____
|
|
||||||
| || | / _ \| ___|
|
|
||||||
| || |_| | | |___ \
|
|
||||||
|__ _| |_| |___) |
|
|
||||||
|_| \___/|____/ </pre>
|
|
||||||
</strong>
|
|
||||||
</code>
|
|
||||||
<div class="font-mono mb-1">Method Not Allowed</div>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
@ -1,37 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
|
|
||||||
<head>
|
|
||||||
<title>delphi.market</title>
|
|
||||||
<link rel="icon" type="image/x-icon" href="/favicon.ico" />
|
|
||||||
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
|
|
||||||
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" />
|
|
||||||
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png" />
|
|
||||||
<link rel="manifest" href="/site.webmanifest" />
|
|
||||||
<link rel="stylesheet" href="/css/index.css" />
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
||||||
<meta name="theme-color" content="#091833" />
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body>
|
|
||||||
<header class="flex flex-row text-center justify-center pt-1">
|
|
||||||
<nav>
|
|
||||||
<a href="/">home</a>
|
|
||||||
</nav>
|
|
||||||
</header>
|
|
||||||
<div class="container flex flex-column text-center">
|
|
||||||
<code>
|
|
||||||
<strong>
|
|
||||||
<pre>
|
|
||||||
____ ___ ___
|
|
||||||
| ___| / _ \ / _ \
|
|
||||||
|___ \| | | | | | |
|
|
||||||
___) | |_| | |_| |
|
|
||||||
|____/ \___/ \___/ </pre>
|
|
||||||
</strong>
|
|
||||||
</code>
|
|
||||||
<div class="font-mono mb-1">Internal Server Error</div>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
@ -6,6 +6,10 @@
|
|||||||
--background-color: #191d21;
|
--background-color: #191d21;
|
||||||
--color: #d3d3d3;
|
--color: #d3d3d3;
|
||||||
--muted-color: #6c757d;
|
--muted-color: #6c757d;
|
||||||
|
--lightning-color: #fada5e;
|
||||||
|
--nostr-color: #8d45dd;
|
||||||
|
--black: #000;
|
||||||
|
--white: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
@layer base {
|
@layer base {
|
||||||
@ -35,7 +39,48 @@
|
|||||||
color: var(--background-color);
|
color: var(--background-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
nav>a {
|
nav a {
|
||||||
padding: 0 0.25em;
|
padding: 0 0.25em;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
font-size: 24px
|
||||||
|
}
|
||||||
|
|
||||||
|
iframe {
|
||||||
|
width: 300px;
|
||||||
|
aspect-ratio: 560/315;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-muted {
|
||||||
|
color: var(--muted-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
.figlet {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
height: 144px;
|
||||||
|
@apply my-3
|
||||||
|
}
|
||||||
|
|
||||||
|
.login {
|
||||||
|
background-color: var(--lightning-color);
|
||||||
|
color: var(--black);
|
||||||
|
width: fit-content;
|
||||||
|
margin: 0 auto;
|
||||||
|
padding: 0.25em 1em;
|
||||||
|
border-radius: 5px;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lightning {
|
||||||
|
background-color: var(--lightning-color);
|
||||||
|
color: var(--black);
|
||||||
|
}
|
||||||
|
|
||||||
|
.nostr {
|
||||||
|
background-color: var(--nostr-color);
|
||||||
|
color: var(--white);
|
||||||
|
}
|
||||||
}
|
}
|
@ -1,173 +0,0 @@
|
|||||||
body {
|
|
||||||
background-color: #091833;
|
|
||||||
color: #ffffff;
|
|
||||||
caret-color: transparent;
|
|
||||||
font-family: Arial, Helvetica, sans-serif;
|
|
||||||
margin: 0;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
justify-content: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
nav {
|
|
||||||
display: flex;
|
|
||||||
}
|
|
||||||
a {
|
|
||||||
color: #8787a4;
|
|
||||||
text-decoration: underline;
|
|
||||||
}
|
|
||||||
a:hover {
|
|
||||||
background: #8787A4;
|
|
||||||
color: #ffffff;
|
|
||||||
}
|
|
||||||
a.selected {
|
|
||||||
background: #8787A4;
|
|
||||||
color: #ffffff;
|
|
||||||
}
|
|
||||||
nav > a {
|
|
||||||
margin: 0 3px;
|
|
||||||
}
|
|
||||||
nav > form > button {
|
|
||||||
color: #8787a4;
|
|
||||||
text-decoration: underline;
|
|
||||||
border: none;
|
|
||||||
outline: none;
|
|
||||||
background: none;
|
|
||||||
cursor: pointer;
|
|
||||||
padding: 0;
|
|
||||||
text-decoration: underline;
|
|
||||||
font-family: inherit;
|
|
||||||
font-size: inherit;
|
|
||||||
margin: 0 3px;
|
|
||||||
}
|
|
||||||
nav > form > button:hover {
|
|
||||||
background: #8787A4;
|
|
||||||
color: #ffffff;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (min-width: 768px) {
|
|
||||||
#qr > a > img {
|
|
||||||
width: 50%;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@media (min-width: 1024px) {
|
|
||||||
#qr > a > img {
|
|
||||||
width: 30%;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#qr > a:hover {
|
|
||||||
background: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
hr {
|
|
||||||
border: none;
|
|
||||||
height: 1px;
|
|
||||||
background: repeating-linear-gradient(90deg,#fff,#fff 6px,transparent 1px,transparent 8px);
|
|
||||||
}
|
|
||||||
|
|
||||||
ul {
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
.container {
|
|
||||||
-webkit-box-sizing: border-box;
|
|
||||||
-moz-box-sizing: border-box;
|
|
||||||
-ms-box-sizing: border-box;
|
|
||||||
-o-box-sizing: border-box;
|
|
||||||
box-sizing: border-box;
|
|
||||||
margin: 1em auto;
|
|
||||||
padding: 0 1em;
|
|
||||||
min-width: 40vw;
|
|
||||||
max-width: 100vw;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (min-width: 640px) {
|
|
||||||
.container {
|
|
||||||
max-width: 100vw;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (min-width: 768px) {
|
|
||||||
.container {
|
|
||||||
max-width: 80vw;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (min-width: 1024px) {
|
|
||||||
.container {
|
|
||||||
max-width: 60vw;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.flex {
|
|
||||||
display: flex;
|
|
||||||
}
|
|
||||||
.flex-column {
|
|
||||||
flex-direction: column;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-center {
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
.text-left {
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-bold {
|
|
||||||
font: bold;
|
|
||||||
}
|
|
||||||
.font-mono {
|
|
||||||
font-family: "Lucida Console", "Courier New", monospace;
|
|
||||||
}
|
|
||||||
|
|
||||||
.justify-center {
|
|
||||||
justify-content: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.items-center {
|
|
||||||
align-items: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.h-100vh {
|
|
||||||
height: 100vh;
|
|
||||||
}
|
|
||||||
|
|
||||||
.w-100p {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.m-auto {
|
|
||||||
margin: auto;
|
|
||||||
}
|
|
||||||
.mb-1 {
|
|
||||||
margin-bottom: 1em;
|
|
||||||
}
|
|
||||||
.mb-s {
|
|
||||||
margin-bottom: 0.2em;
|
|
||||||
}
|
|
||||||
.mr-s {
|
|
||||||
margin-right: 0.2em;
|
|
||||||
}
|
|
||||||
.pt-1 {
|
|
||||||
padding-top: 1em;
|
|
||||||
}
|
|
||||||
.mx-1 {
|
|
||||||
margin: 0 .2em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.word-wrap {
|
|
||||||
word-wrap: break-word;
|
|
||||||
}
|
|
||||||
|
|
||||||
.align-left {
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
.align-center {
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
.align-right {
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
.scroll-x {
|
|
||||||
overflow-x: scroll;
|
|
||||||
}
|
|
@ -1,20 +1,45 @@
|
|||||||
package server
|
package server
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"bytes"
|
||||||
"net/http"
|
"net/http"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
|
"git.ekzyis.com/ekzyis/delphi.market/server/router/context"
|
||||||
|
"git.ekzyis.com/ekzyis/delphi.market/server/router/pages"
|
||||||
|
"github.com/a-h/templ"
|
||||||
"github.com/labstack/echo/v4"
|
"github.com/labstack/echo/v4"
|
||||||
)
|
)
|
||||||
|
|
||||||
func httpErrorHandler(err error, c echo.Context) {
|
func httpErrorHandler(sc context.Context) echo.HTTPErrorHandler {
|
||||||
|
return func(err error, c echo.Context) {
|
||||||
|
var (
|
||||||
|
code = http.StatusInternalServerError
|
||||||
|
page = pages.Error
|
||||||
|
buf *bytes.Buffer
|
||||||
|
)
|
||||||
|
|
||||||
c.Logger().Error(err)
|
c.Logger().Error(err)
|
||||||
code := http.StatusInternalServerError
|
|
||||||
if httpError, ok := err.(*echo.HTTPError); ok {
|
if httpError, ok := err.(*echo.HTTPError); ok {
|
||||||
code = httpError.Code
|
code = httpError.Code
|
||||||
}
|
}
|
||||||
if strings.Contains(err.Error(), "violates check constraint") || strings.Contains(err.Error(), "violates unique constraint") {
|
|
||||||
|
if strings.Contains(err.Error(), "violates check constraint") ||
|
||||||
|
strings.Contains(err.Error(), "violates unique constraint") {
|
||||||
code = 400
|
code = 400
|
||||||
}
|
}
|
||||||
c.JSON(code, map[string]any{"status": code})
|
|
||||||
|
buf = templ.GetBuffer()
|
||||||
|
defer templ.ReleaseBuffer(buf)
|
||||||
|
|
||||||
|
if err = page(code).Render(context.RenderContext(sc, c), buf); err != nil {
|
||||||
|
c.Logger().Error(err)
|
||||||
|
code = http.StatusInternalServerError
|
||||||
|
}
|
||||||
|
|
||||||
|
if err = c.HTML(code, buf.String()); err != nil {
|
||||||
|
c.Logger().Error(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
13
server/router/handler/about.go
Normal file
13
server/router/handler/about.go
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
package handler
|
||||||
|
|
||||||
|
import (
|
||||||
|
"git.ekzyis.com/ekzyis/delphi.market/server/router/context"
|
||||||
|
"git.ekzyis.com/ekzyis/delphi.market/server/router/pages"
|
||||||
|
"github.com/labstack/echo/v4"
|
||||||
|
)
|
||||||
|
|
||||||
|
func HandleAbout(sc context.Context) echo.HandlerFunc {
|
||||||
|
return func(c echo.Context) error {
|
||||||
|
return pages.About().Render(context.RenderContext(sc, c), c.Response().Writer)
|
||||||
|
}
|
||||||
|
}
|
@ -3,44 +3,49 @@ package handler
|
|||||||
import (
|
import (
|
||||||
"database/sql"
|
"database/sql"
|
||||||
"net/http"
|
"net/http"
|
||||||
"time"
|
|
||||||
|
|
||||||
"git.ekzyis.com/ekzyis/delphi.market/db"
|
"git.ekzyis.com/ekzyis/delphi.market/db"
|
||||||
"git.ekzyis.com/ekzyis/delphi.market/lib"
|
|
||||||
"git.ekzyis.com/ekzyis/delphi.market/server/auth"
|
"git.ekzyis.com/ekzyis/delphi.market/server/auth"
|
||||||
"git.ekzyis.com/ekzyis/delphi.market/server/router/context"
|
"git.ekzyis.com/ekzyis/delphi.market/server/router/context"
|
||||||
|
"git.ekzyis.com/ekzyis/delphi.market/server/router/pages"
|
||||||
"github.com/labstack/echo/v4"
|
"github.com/labstack/echo/v4"
|
||||||
)
|
)
|
||||||
|
|
||||||
func HandleLogin(sc context.Context) echo.HandlerFunc {
|
func HandleLogin(sc context.Context) echo.HandlerFunc {
|
||||||
return func(c echo.Context) error {
|
return func(c echo.Context) error {
|
||||||
var (
|
return pages.Login().Render(context.RenderContext(sc, c), c.Response().Writer)
|
||||||
lnAuth *auth.LNAuth
|
|
||||||
dbLnAuth db.LNAuth
|
|
||||||
err error
|
|
||||||
expires time.Time = time.Now().Add(60 * 60 * 24 * 365 * time.Second)
|
|
||||||
qr string
|
|
||||||
data map[string]any
|
|
||||||
)
|
|
||||||
if lnAuth, err = auth.NewLNAuth(); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
dbLnAuth = db.LNAuth{K1: lnAuth.K1, LNURL: lnAuth.LNURL}
|
|
||||||
if err = sc.Db.CreateLNAuth(&dbLnAuth); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
c.SetCookie(&http.Cookie{Name: "session", HttpOnly: true, Path: "/", Value: dbLnAuth.SessionId, Secure: true, Expires: expires})
|
|
||||||
if qr, err = lib.ToQR(lnAuth.LNURL); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
data = map[string]any{
|
|
||||||
"lnurl": lnAuth.LNURL,
|
|
||||||
"qr": qr,
|
|
||||||
}
|
|
||||||
return c.JSON(http.StatusOK, data)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// func HandleLogin(sc context.Context) echo.HandlerFunc {
|
||||||
|
// return func(c echo.Context) error {
|
||||||
|
// var (
|
||||||
|
// lnAuth *auth.LNAuth
|
||||||
|
// dbLnAuth db.LNAuth
|
||||||
|
// err error
|
||||||
|
// expires time.Time = time.Now().Add(60 * 60 * 24 * 365 * time.Second)
|
||||||
|
// qr string
|
||||||
|
// data map[string]any
|
||||||
|
// )
|
||||||
|
// if lnAuth, err = auth.NewLNAuth(); err != nil {
|
||||||
|
// return err
|
||||||
|
// }
|
||||||
|
// dbLnAuth = db.LNAuth{K1: lnAuth.K1, LNURL: lnAuth.LNURL}
|
||||||
|
// if err = sc.Db.CreateLNAuth(&dbLnAuth); err != nil {
|
||||||
|
// return err
|
||||||
|
// }
|
||||||
|
// c.SetCookie(&http.Cookie{Name: "session", HttpOnly: true, Path: "/", Value: dbLnAuth.SessionId, Secure: true, Expires: expires})
|
||||||
|
// if qr, err = lib.ToQR(lnAuth.LNURL); err != nil {
|
||||||
|
// return err
|
||||||
|
// }
|
||||||
|
// data = map[string]any{
|
||||||
|
// "lnurl": lnAuth.LNURL,
|
||||||
|
// "qr": qr,
|
||||||
|
// }
|
||||||
|
// return c.JSON(http.StatusOK, data)
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
func HandleLoginCallback(sc context.Context) echo.HandlerFunc {
|
func HandleLoginCallback(sc context.Context) echo.HandlerFunc {
|
||||||
return func(c echo.Context) error {
|
return func(c echo.Context) error {
|
||||||
var (
|
var (
|
||||||
|
73
server/router/pages/about.templ
Normal file
73
server/router/pages/about.templ
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
package pages
|
||||||
|
|
||||||
|
import "git.ekzyis.com/ekzyis/delphi.market/server/router/pages/components"
|
||||||
|
|
||||||
|
templ About() {
|
||||||
|
<html>
|
||||||
|
@components.Head()
|
||||||
|
<body class="container">
|
||||||
|
@components.Header()
|
||||||
|
<div class="flex flex-col text-center">
|
||||||
|
@components.Figlet("random", "about")
|
||||||
|
</div>
|
||||||
|
<div class="flex flex-col mb-3">
|
||||||
|
<h1>📈 Prediction market?</h1>
|
||||||
|
<p>Here is an animated corgi that explains everything you need to know about prediction markets in 7 minutes:</p>
|
||||||
|
<iframe
|
||||||
|
class="my-3 mx-auto"
|
||||||
|
src="https://www.youtube.com/embed/DB5TfX7eaVY?si=FFG9wEun1VRl5p6w"
|
||||||
|
title="YouTube video player"
|
||||||
|
frameborder="0"
|
||||||
|
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
|
||||||
|
referrerpolicy="strict-origin-when-cross-origin"
|
||||||
|
allowfullscreen
|
||||||
|
></iframe>
|
||||||
|
<h1>👨💻 FOSS?</h1>
|
||||||
|
<p class="mb-3">
|
||||||
|
Yes! The code is available on
|
||||||
|
<a href="https://github.com/ekzyis/delphi.market/" target="_blank" rel="noopener noreferrer">Github</a>
|
||||||
|
under the MIT License.
|
||||||
|
</p>
|
||||||
|
<h1>💬 Contact?</h1>
|
||||||
|
<p class="mb-3">
|
||||||
|
If you have feedback, questions, bugs, ideas or anything else, feel free to reach out to me:
|
||||||
|
<br/>
|
||||||
|
</p>
|
||||||
|
<div class="text-center">
|
||||||
|
<a
|
||||||
|
href="https://stacker.news/ek"
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
>
|
||||||
|
stacker news
|
||||||
|
</a> |
|
||||||
|
<a
|
||||||
|
href="https://simplex.chat/contact#/?v=1-2&smp=smp%3A%2F%2F6iIcWT_dF2zN_w5xzZEY7HI2Prbh3ldP07YTyDexPjE%3D%40smp10.simplex.im%2FxNnPk9DkTbQJ6NckWom9mi5vheo_VPLm%23%2F%3Fv%3D1-2%26dh%3DMCowBQYDK2VuAyEAnFUiU0M8jS1JY34LxUoPr7mdJlFZwf3pFkjRrhprdQs%253D%26srv%3Drb2pbttocvnbrngnwziclp2f4ckjq65kebafws6g4hy22cdaiv5dwjqd.onion"
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
>
|
||||||
|
simplex
|
||||||
|
</a> |
|
||||||
|
<a
|
||||||
|
href="https://t.me/ekzyis"
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
>telegram</a> |
|
||||||
|
<a
|
||||||
|
href="https://signal.me/#eu/Qa/0P3M1keYAUju1LMktobIwHvEKTEMaQfGjjkL5U5ajYpsa6uFKvp165NDCTOXK"
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
>
|
||||||
|
signal
|
||||||
|
</a> |
|
||||||
|
<a
|
||||||
|
href="https://njump.me/npub16x07c4qz05yhqe2gy2q2u9ax359d2lc0tsh6wn3y70dmk8nv2j2s96s89d"
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
>nostr</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@components.Footer()
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
}
|
13
server/router/pages/components/figlet.templ
Normal file
13
server/router/pages/components/figlet.templ
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
package components
|
||||||
|
|
||||||
|
import "git.ekzyis.com/ekzyis/delphi.market/lib"
|
||||||
|
|
||||||
|
templ Figlet(font string, text string) {
|
||||||
|
<code class="figlet">
|
||||||
|
<strong>
|
||||||
|
<pre>
|
||||||
|
{ lib.Figlet(font, text) }
|
||||||
|
</pre>
|
||||||
|
</strong>
|
||||||
|
</code>
|
||||||
|
}
|
21
server/router/pages/components/footer.templ
Normal file
21
server/router/pages/components/footer.templ
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
package components
|
||||||
|
|
||||||
|
import c "git.ekzyis.com/ekzyis/delphi.market/server/router/context"
|
||||||
|
|
||||||
|
templ Footer() {
|
||||||
|
<footer class="flex justify-center px-1 pt-3">
|
||||||
|
<div>
|
||||||
|
<hr/>
|
||||||
|
<small>
|
||||||
|
<code>
|
||||||
|
running
|
||||||
|
<a
|
||||||
|
href={ templ.SafeURL("https://github.com/ekzyis/delphi.market/commit/" + ctx.Value(c.CommitContextKey).(string)) }
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
>{ ctx.Value(c.CommitContextKey).(string) }</a>
|
||||||
|
</code>
|
||||||
|
</small>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
}
|
21
server/router/pages/components/head.templ
Normal file
21
server/router/pages/components/head.templ
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
package components
|
||||||
|
|
||||||
|
import c "git.ekzyis.com/ekzyis/delphi.market/server/router/context"
|
||||||
|
|
||||||
|
templ Head() {
|
||||||
|
<head>
|
||||||
|
<title>delphi.market</title>
|
||||||
|
<link rel="icon" type="image/x-icon" href="/favicon.ico"/>
|
||||||
|
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"/>
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png"/>
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png"/>
|
||||||
|
<link rel="manifest" href="/site.webmanifest"/>
|
||||||
|
<link rel="stylesheet" href="/css/tailwind.css"/>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||||
|
<meta name="theme-color" content="#091833"/>
|
||||||
|
<script src="/js/htmx.js" integrity="sha384-Xh+GLLi0SMFPwtHQjT72aPG19QvKB8grnyRbYBNIdHWc2NkCrz65jlU7YrzO6qRp" crossorigin="anonymous"></script>
|
||||||
|
if ctx.Value(c.EnvContextKey) == "development" {
|
||||||
|
<script defer src="/js/hotreload.js"></script>
|
||||||
|
}
|
||||||
|
</head>
|
||||||
|
}
|
21
server/router/pages/components/header.templ
Normal file
21
server/router/pages/components/header.templ
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
package components
|
||||||
|
|
||||||
|
import c "git.ekzyis.com/ekzyis/delphi.market/server/router/context"
|
||||||
|
|
||||||
|
templ Header() {
|
||||||
|
<header class="mt-3">
|
||||||
|
<nav class="flex flex-row">
|
||||||
|
<div>
|
||||||
|
<a href="/">home</a>
|
||||||
|
</div>
|
||||||
|
<div class="ms-auto">
|
||||||
|
<a href="/about">about</a>
|
||||||
|
if ctx.Value(c.SessionContextKey) != nil {
|
||||||
|
<a href="/user">user</a>
|
||||||
|
} else {
|
||||||
|
<a href="/login">login</a>
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
</header>
|
||||||
|
}
|
21
server/router/pages/error.templ
Normal file
21
server/router/pages/error.templ
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
package pages
|
||||||
|
|
||||||
|
import (
|
||||||
|
"git.ekzyis.com/ekzyis/delphi.market/server/router/pages/components"
|
||||||
|
"net/http"
|
||||||
|
"strconv"
|
||||||
|
)
|
||||||
|
|
||||||
|
templ Error(code int) {
|
||||||
|
<html>
|
||||||
|
@components.Head()
|
||||||
|
<body class="container">
|
||||||
|
@components.Header()
|
||||||
|
<div class="flex flex-col text-center">
|
||||||
|
@components.Figlet("random", strconv.Itoa(code))
|
||||||
|
<div class="font-mono mb-3">{ http.StatusText(code) }</div>
|
||||||
|
</div>
|
||||||
|
@components.Footer()
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
}
|
@ -1,70 +1,17 @@
|
|||||||
package pages
|
package pages
|
||||||
|
|
||||||
import (
|
import "git.ekzyis.com/ekzyis/delphi.market/server/router/pages/components"
|
||||||
"fmt"
|
|
||||||
c "git.ekzyis.com/ekzyis/delphi.market/server/router/context"
|
|
||||||
)
|
|
||||||
|
|
||||||
templ Index() {
|
templ Index() {
|
||||||
<html>
|
<html>
|
||||||
<head>
|
@components.Head()
|
||||||
<title>delphi.market</title>
|
|
||||||
<link rel="icon" type="image/x-icon" href="/favicon.ico"/>
|
|
||||||
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"/>
|
|
||||||
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png"/>
|
|
||||||
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png"/>
|
|
||||||
<link rel="manifest" href="/site.webmanifest"/>
|
|
||||||
<link rel="stylesheet" href="/css/tailwind.css"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
||||||
<meta name="theme-color" content="#091833"/>
|
|
||||||
<script src="/js/htmx.js" integrity="sha384-Xh+GLLi0SMFPwtHQjT72aPG19QvKB8grnyRbYBNIdHWc2NkCrz65jlU7YrzO6qRp" crossorigin="anonymous"></script>
|
|
||||||
if ctx.Value(c.EnvContextKey) == "development" {
|
|
||||||
<script defer src="/js/hotreload.js"></script>
|
|
||||||
}
|
|
||||||
</head>
|
|
||||||
<body class="container">
|
<body class="container">
|
||||||
<header class="flex flex-row text-center justify-center mt-1">
|
@components.Header()
|
||||||
<nav>
|
|
||||||
<a href="/">home</a>
|
|
||||||
if ctx.Value(c.SessionContextKey) != nil {
|
|
||||||
<a href="/user">user</a>
|
|
||||||
} else {
|
|
||||||
<a href="/login">login</a>
|
|
||||||
}
|
|
||||||
</nav>
|
|
||||||
</header>
|
|
||||||
<div class="flex flex-col text-center">
|
<div class="flex flex-col text-center">
|
||||||
<code class="my-3">
|
@components.Figlet("random", "delphi")
|
||||||
<strong>
|
|
||||||
<!-- need to escape backslashes or backtick here ... -->
|
|
||||||
<pre>
|
|
||||||
{ fmt.Sprintf(""+
|
|
||||||
" _ _ _ _ \n"+
|
|
||||||
" __| | ___| |_ __ | |__ (_)\n"+
|
|
||||||
" / _` |/ _ \\ | '_ \\| '_ \\| |\n"+
|
|
||||||
"| (_| | __/ | |_) | | | | |\n"+
|
|
||||||
" \\__,_|\\___|_| .__/|_| |_|_|\n"+
|
|
||||||
" |_| \n") }
|
|
||||||
</pre>
|
|
||||||
</strong>
|
|
||||||
</code>
|
|
||||||
<div class="font-mono my-3">A prediction market using the lightning network</div>
|
<div class="font-mono my-3">A prediction market using the lightning network</div>
|
||||||
</div>
|
</div>
|
||||||
<footer class="flex justify-center px-1 pt-3">
|
@components.Footer()
|
||||||
<div>
|
|
||||||
<hr/>
|
|
||||||
<small>
|
|
||||||
<code>
|
|
||||||
running
|
|
||||||
<a
|
|
||||||
href={ templ.SafeURL("https://github.com/ekzyis/delphi.market/commit/" + ctx.Value(c.CommitContextKey).(string)) }
|
|
||||||
target="_blank"
|
|
||||||
rel="noopener noreferrer"
|
|
||||||
>{ ctx.Value(c.CommitContextKey).(string) }</a>
|
|
||||||
</code>
|
|
||||||
</small>
|
|
||||||
</div>
|
|
||||||
</footer>
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
}
|
}
|
||||||
|
23
server/router/pages/login.templ
Normal file
23
server/router/pages/login.templ
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
package pages
|
||||||
|
|
||||||
|
import "git.ekzyis.com/ekzyis/delphi.market/server/router/pages/components"
|
||||||
|
|
||||||
|
templ Login() {
|
||||||
|
<html>
|
||||||
|
@components.Head()
|
||||||
|
<body class="container">
|
||||||
|
@components.Header()
|
||||||
|
<div class="flex flex-col text-center">
|
||||||
|
@components.Figlet("random", "login")
|
||||||
|
</div>
|
||||||
|
<div class="flex flex-col mb-3 text-center">
|
||||||
|
<button class="login lightning my-3">login with lightning</button>
|
||||||
|
<button class="login nostr my-3">login with nostr</button>
|
||||||
|
</div>
|
||||||
|
<div class="flex flex-col mb-3 text-center">
|
||||||
|
<small><a class="text-muted" href="/signup">new here?</a></small>
|
||||||
|
</div>
|
||||||
|
@components.Footer()
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
}
|
@ -14,4 +14,6 @@ func Init(e *echo.Echo, sc Context) {
|
|||||||
e.Use(middleware.Session(sc))
|
e.Use(middleware.Session(sc))
|
||||||
|
|
||||||
e.GET("/", handler.HandleIndex(sc))
|
e.GET("/", handler.HandleIndex(sc))
|
||||||
|
e.GET("/about", handler.HandleAbout(sc))
|
||||||
|
e.GET("/login", handler.HandleLogin(sc))
|
||||||
}
|
}
|
||||||
|
@ -32,7 +32,7 @@ func New(ctx Context) *Server {
|
|||||||
AllowHeaders: []string{echo.HeaderOrigin, echo.HeaderContentType, echo.HeaderAccept},
|
AllowHeaders: []string{echo.HeaderOrigin, echo.HeaderContentType, echo.HeaderAccept},
|
||||||
}))
|
}))
|
||||||
|
|
||||||
e.HTTPErrorHandler = httpErrorHandler
|
e.HTTPErrorHandler = httpErrorHandler(ctx)
|
||||||
|
|
||||||
s = &Server{e}
|
s = &Server{e}
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/** @type {import('tailwindcss').Config} */
|
/** @type {import('tailwindcss').Config} */
|
||||||
module.exports = {
|
module.exports = {
|
||||||
content: ["./server/router/pages/*.templ"],
|
content: ["./server/router/pages/**/*.templ"],
|
||||||
theme: {
|
theme: {
|
||||||
container: {
|
container: {
|
||||||
center: true,
|
center: true,
|
||||||
@ -8,5 +8,18 @@ module.exports = {
|
|||||||
},
|
},
|
||||||
extend: {},
|
extend: {},
|
||||||
},
|
},
|
||||||
plugins: [],
|
plugins: [
|
||||||
|
function ({ addComponents }) {
|
||||||
|
addComponents({
|
||||||
|
'.container': {
|
||||||
|
'@screen lg': {
|
||||||
|
maxWidth: '768px',
|
||||||
|
},
|
||||||
|
'@screen xl': {
|
||||||
|
maxWidth: '768px',
|
||||||
|
},
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
],
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user