Merge pull request 'Add new projects & update links' (#3) from main into live
All checks were successful
Deploy / build-and-deploy (push) Successful in 12s

Reviewed-on: #3
This commit is contained in:
juancwu 2026-01-12 03:45:38 +00:00
commit d23c9fd224
4 changed files with 39 additions and 12 deletions

View file

@ -26,7 +26,7 @@ tasks:
templ: templ:
desc: Run templ with integrated server and hot reload desc: Run templ with integrated server and hot reload
cmds: cmds:
- go tool templ generate --watch --cmd="go run ./cmd/server/main.go" --proxy="http://localhost:9000" --open-browser=false - go tool templ generate --watch --cmd="go run ./cmd/server/main.go" --proxy="http://localhost:8080" --open-browser=false
tailwind-clean: tailwind-clean:
desc: Clean tailwind output desc: Clean tailwind output
cmds: cmds:

View file

@ -22,7 +22,7 @@ func main() {
component.Render(r.Context(), w) component.Render(r.Context(), w)
}) })
log.Println("Dev server starting on :8080 (Proxy to :9000 via Templ)") log.Println("Dev server starting on :8080 (Proxy to :7331 via Templ)")
if err := http.ListenAndServe(":8080", nil); err != nil { if err := http.ListenAndServe(":8080", nil); err != nil {
log.Fatal(err) log.Fatal(err)
} }

View file

@ -22,6 +22,26 @@ type Page struct {
func GetPageData() Page { func GetPageData() Page {
return Page{ return Page{
Projects: []Project{ Projects: []Project{
{
Name: "Ccretdns",
URL: "",
Description: "DNS tool to resolve private domain names and public domains using upstream servers.",
Repo: "https://git.juancwu.dev/juancwu/ccretdns",
Classes: "border-red-400",
TechList: []Tech{
{TechName: "Go", TechURL: "https://go.dev/", TechClasses: ""},
},
},
{
Name: "Gosh",
URL: "",
Description: "Context-aware, just-in-time SSH agent wrapper.",
Repo: "https://git.juancwu.dev/juancwu/gosh",
Classes: "border-green-400",
TechList: []Tech{
{TechName: "Go", TechURL: "https://go.dev/", TechClasses: ""},
},
},
{ {
Name: "Budgit", Name: "Budgit",
URL: "", URL: "",
@ -77,9 +97,9 @@ func GetPageData() Page {
Repo: "https://github.com/juancwu/shoto", Repo: "https://github.com/juancwu/shoto",
Classes: "border-indigo-500", Classes: "border-indigo-500",
TechList: []Tech{ TechList: []Tech{
{TechName: "Next.js", TechURL: "https://nextjs.org/", TechClasses: "transition bg-zinc-950 text-zinc-100 hover:bg-zinc-100 hover:text-gray-950"}, {TechName: "Next.js", TechURL: "https://nextjs.org/", TechClasses: ""},
{TechName: "Drizzle ORM", TechURL: "https://orm.drizzle.team/", TechClasses: "transition bg-zinc-950 text-zinc-100 hover:bg-green-600"}, {TechName: "Drizzle ORM", TechURL: "https://orm.drizzle.team/", TechClasses: ""},
{TechName: "Turso", TechURL: "https://turso.tech/", TechClasses: "transition bg-zinc-950 text-zinc-100 hover:bg-teal-600"}, {TechName: "Turso", TechURL: "https://turso.tech/", TechClasses: ""},
}, },
}, },
{ {
@ -89,9 +109,9 @@ func GetPageData() Page {
Repo: "https://github.com/juancwu/potoforio", Repo: "https://github.com/juancwu/potoforio",
Classes: "border-gray-600", Classes: "border-gray-600",
TechList: []Tech{ TechList: []Tech{
{TechName: "Golang", TechURL: "https://go.dev/", TechClasses: "bg-zinc-950 text-zinc-100"}, {TechName: "Golang", TechURL: "https://go.dev/", TechClasses: ""},
{TechName: "HTMX", TechURL: "https://htmx.org/", TechClasses: "bg-zinc-950 text-zinc-100"}, {TechName: "HTMX", TechURL: "https://htmx.org/", TechClasses: ""},
{TechName: "Hyperscript", TechURL: "https://hyperscript.org/", TechClasses: "bg-zinc-950 text-zinc-100"}, {TechName: "Hyperscript", TechURL: "https://hyperscript.org/", TechClasses: ""},
}, },
}, },
}, },

View file

@ -83,6 +83,14 @@ templ Index(d data.Page) {
<li> <li>
<a href="https://linkedin.com/in/juancwu" class="relative z-0 p-2 after:absolute after:-left-2 after:top-1/2 after:-z-10 after:h-3/4 after:w-full after:bg-linear-to-r after:from-sky-500 after:to-indigo-500 after:opacity-0 after:transition-all hover:after:left-0 hover:after:top-0 hover:after:translate-y-[15%] hover:after:opacity-100 focus:after:left-0 focus:after:top-0 focus:after:translate-y-[15%] focus:after:opacity-100">LinkedIn</a> <a href="https://linkedin.com/in/juancwu" class="relative z-0 p-2 after:absolute after:-left-2 after:top-1/2 after:-z-10 after:h-3/4 after:w-full after:bg-linear-to-r after:from-sky-500 after:to-indigo-500 after:opacity-0 after:transition-all hover:after:left-0 hover:after:top-0 hover:after:translate-y-[15%] hover:after:opacity-100 focus:after:left-0 focus:after:top-0 focus:after:translate-y-[15%] focus:after:opacity-100">LinkedIn</a>
</li> </li>
<li aria-hidden="true">
<span aria-hidden="true" class="hidden select-none font-normal text-fuchsia-400 lg:inline">
-
</span>
</li>
<li>
<a href="https://git.juancwu.dev/juancwu/" class="relative z-0 p-2 after:absolute after:right-0 after:top-1/2 after:-z-10 after:h-3/4 after:w-0 after:-translate-y-1/2 after:bg-linear-to-r after:from-orange-500 after:to-red-500 after:transition-all hover:after:w-full focus:after:w-full">Forgejo</a>
</li>
</ul> </ul>
</nav> </nav>
</div> </div>
@ -136,8 +144,8 @@ templ Index(d data.Page) {
<span class="group relative">Project Backyard </span> <span class="group relative">Project Backyard </span>
</span> </span>
</h1> </h1>
<a href="https://github.com/juancwu" target="_blank" rel="noopener noreferrer" class="relative underline decoration-sky-400 after:absolute after:left-0 after:top-0 after:-z-10 after:h-full after:w-0 after:bg-sky-500 after:transition-all hover:text-white hover:decoration-sky-500 hover:after:w-full focus:text-white focus:decoration-sky-500 focus:after:w-full"> <a href="https://git.juancwu.dev/juancwu" target="_blank" rel="noopener noreferrer" class="relative underline decoration-sky-400 after:absolute after:left-0 after:top-0 after:-z-10 after:h-full after:w-0 after:bg-sky-500 after:transition-all hover:text-white hover:decoration-sky-500 hover:after:w-full focus:text-white focus:decoration-sky-500 focus:after:w-full">
Checkout my GitHub for more projects! Checkout my Forgejo for more projects!
</a> </a>
</div> </div>
</div> </div>
@ -175,8 +183,7 @@ templ Index(d data.Page) {
<p>{ p.Description }</p> <p>{ p.Description }</p>
</div> </div>
<p> <p>
Checkout the code in <a href={ templ.SafeURL(p.Repo) } target="_blank" rel="noopener noreferrer" class="relative underline decoration-sky-400 after:absolute after:left-0 after:top-0 after:-z-10 after:h-full after:w-0 after:bg-sky-500 after:transition-all hover:text-white hover:decoration-sky-500 hover:after:w-full focus:text-white focus:decoration-sky-500 focus:after:w-full">View repository</a>
<a href={ templ.SafeURL(p.Repo) } target="_blank" rel="noopener noreferrer" class="relative underline decoration-sky-400 after:absolute after:left-0 after:top-0 after:-z-10 after:h-full after:w-0 after:bg-sky-500 after:transition-all hover:text-white hover:decoration-sky-500 hover:after:w-full focus:text-white focus:decoration-sky-500 focus:after:w-full">GitHub</a>
</p> </p>
</div> </div>
} }