Lasa is a stateless proxy that generates a RSS or an Atom feed from a Standard.site publication. lasa.anhgelus.world
rss atom atprotocol standard-site atproto
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

feat(cli): better style for author page

+46 -10
+43 -9
cmd/lasad/author.html
··· 10 10 } 11 11 body { 12 12 margin: 0; 13 - padding-bottom: 4rem; 13 + padding: 0 1rem 4rem 1rem; 14 14 font-family: system-ui, Inter, sans-serif; 15 15 line-height: 1.6em; 16 16 display: flex; ··· 43 43 background: #023e8a; 44 44 color: white; 45 45 } 46 + main { 47 + display: grid; 48 + grid-template-columns: 1fr 1fr 1fr; 49 + gap: 1rem; 50 + align-items: center; 51 + } 52 + main > div { 53 + border: 10px double #000; 54 + box-shadow: 0 0 10px rgba(0, 0, 0, .2); 55 + } 56 + main h3, main a { 57 + display: block; 58 + text-align: center; 59 + padding: 0.5rem; 60 + } 61 + main h3 { 62 + border-bottom: 2px solid #000; 63 + margin: 0; 64 + } 46 65 47 66 @media only screen and (prefers-color-scheme: dark) { 48 67 :root { ··· 56 75 background: #90e0ef; 57 76 color: black; 58 77 } 78 + main > div { 79 + border: 10px double #ded8c3; 80 + } 81 + main h3 { 82 + border-bottom: 2px solid #ded8c3; 83 + } 84 + } 85 + @media only screen and (max-width: 650px) { 86 + main { 87 + grid-template-columns: 1fr; 88 + } 59 89 } 60 90 </style> 61 91 </head> 62 92 <body> 63 93 <h1>{{ .Author }}'s publications</h1> 64 - <h3>RSS</h3> 65 - <ul> 66 - {{- range .Publications }}<li><a href="{{ .Link }}/rss">{{ .Name }}</a></li>{{ end -}} 67 - </ul> 68 - <h3>Atom</h3> 69 - <ul> 70 - {{- range .Publications }}<li><a href="{{ .Link }}/atom">{{ .Name }}</a></li>{{ end -}} 71 - </ul> 94 + <main> 95 + {{- range .Publications }} 96 + <div> 97 + <h3>{{ .Name }}</h3> 98 + <div class="publications"> 99 + <a href="{{ .URL }}" target="_blank">Read</a> 100 + <a href="{{ .Link }}/rss">RSS</a> 101 + <a href="{{ .Link }}/atom">Atom</a> 102 + </div> 103 + </div> 104 + {{ end -}} 105 + </main> 72 106 </body> 73 107 </html>
+1 -1
cmd/lasad/directory.go
··· 90 90 continue 91 91 } 92 92 link := fmt.Sprintf("/%s/%s", did, uri.RecordKey()) 93 - v.Publications[i] = Publication{link, pub.Value.Name} 93 + v.Publications[i] = Publication{pub.Value.URL.String(), link, pub.Value.Name, uri.RecordKey().String()} 94 94 } 95 95 var bf bytes.Buffer 96 96 err = template.Must(template.ParseFS(files, "author.html")).ExecuteTemplate(&bf, "author.html", v)
+2
cmd/lasad/run.go
··· 38 38 } 39 39 40 40 type Publication struct { 41 + URL string 41 42 Link string 42 43 Name string 44 + RKey string 43 45 } 44 46 45 47 func handleRun(args []string) {