home.gno

2.69 Kb · 94 lines
 1package home
 2
 3import (
 4	"gno.land/p/moul/md"
 5	"gno.land/r/leon/hor"
 6)
 7
 8var (
 9	banner            string
10	title             string
11	story             string
12	game              map[string]string
13	art               string
14	githubUsername    string
15	pocInnovationName string
16)
17
18func init() {
19	hor.Register(cross, "Sacha's Home Realm", "A home away from home.")
20
21	banner = "https://ipfs.io/ipfs/QmWKvxG4GifnCbCp5yPMpNmkjr7jvR9rHTmwA86Daap9sY"
22	story = "In the quiet layers of gno.land, a gnome brushed against a line of forgotten code. No one saw him. No one knows what he changed. But sometimes, in the logs...\n\n\"gnonk.\"\n\nJust once. Then silence."
23	title = "Sacha's Space 🏗️"
24	game = make(map[string]string)
25	game["coinflip"] = "🪙 Flip a coin!"
26	art = `⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
27⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣾⣿⣿⣷⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
28⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⣿⣿⣿⣿⣿⣿⣦⡀⠒⢶⣄⠀⠀⠀⠀⠀⠀⠀
29⠀⢰⣶⣷⣶⣶⣤⣄⠀⣠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣾⣿⡆⠀⠀⠀⠀⠀⠀
30⠀⢿⣿⣿⣿⣿⡟⢁⣄⠙⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃⠀⠀⠀⠀⠀⠀
31⠀⠘⣿⣿⣿⣿⣧⡈⠻⢷⣦⣄⡉⠛⠿⢿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀
32⠀⠀⠈⠻⣿⣿⣿⣿⣶⣄⡈⠙⠻⢷⣶⣤⣄⣈⡉⠛⠛⠛⠃⢠⣀⣀⡀⠀⠀⠀
33⠀⠀⠀⠀⠈⠙⠻⢿⣿⣿⣿⣿⣶⣦⣤⣍⣉⠙⠛⠛⠛⠿⠃⢸⣿⣿⣿⣷⡀⠀
34⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠻⠿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣶⣾⣿⣿⣿⣿⣿⣧⠀
35⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠙⠛⠻⠏⠀⠉⠻⢿⣿⣿⣿⣿⠿⠋⠀`
36	githubUsername = "dujardin09"
37	pocInnovationName = "PoCInnovation"
38}
39
40func renderStory() string {
41	out := md.H2("📖 Story")
42	out += md.Paragraph(story)
43	return out
44}
45
46func renderGame() string {
47	out := md.H2("🎰 Game")
48	for name, title := range game {
49		out += md.H3(md.Link(title, name))
50	}
51	return out
52}
53
54func renderArt() string {
55	out := md.H2("🎨 Art")
56	out += md.CodeBlock(art)
57	return out
58}
59
60func renderBody() string {
61	return md.Columns([]string{
62		renderStory(),
63		renderGame(),
64		renderArt(),
65	}, false)
66}
67
68func renderTitle() string {
69	return md.H1(title)
70}
71
72func renderBanner() string {
73	out := md.Paragraph(md.Image("banner", banner))
74	return out
75}
76
77func renderFooter() string {
78	out := md.HorizontalRule()
79	out += md.BulletList([]string{
80		md.Link("Home", "home"),
81		md.Link("GitHub: @"+githubUsername, "https://github.com/"+githubUsername),
82		md.Link("PoC-Innovation", "https://github.com/"+pocInnovationName),
83	})
84	return out
85}
86
87func Render(_ string) string {
88	out := renderBanner()
89	out += renderTitle()
90	out += renderBody()
91	out += renderFooter()
92
93	return out
94}