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}