How To Setup A Golang + Templ Project Structure
ฝัง
- เผยแพร่เมื่อ 16 ธ.ค. 2023
- ► Join my Discord community for free education 👉 / discord
► Exclusive Lessons, Mentorship, And Videos 👉 / anthonygg_
► Enjoy a 60% Black Friday Discount on My Golang Course 👉 fulltimegodev.com
► Learn how I became a self-taught software engineer 👉fulltimegodev.com/#mystory
► Follow me on Twitter 👉 / anthdm
► Follow me on GitHub 👉 github.com/anthdm
github.com/a-h/templ
echo.labstack.com/
SUBSCRIBE OR NO MARGARITAS
╔═╦╗╔╦╗╔═╦═╦╦╦╦╗╔═╗
║╚╣║║║╚╣╚╣╔╣╔╣║╚╣═╣
╠╗║╚╝║║╠╗║╚╣║║║║║═╣
╚═╩══╩═╩═╩═╩╝╚╩═╩═╝
► Join my Discord community for free education 👉 discord.com/invite/Ac7CWREe58
► Exclusive Lessons, Mentorship, And Videos 👉 www.patreon.com/anthonygg_
► 60% OFF on my Golang course 👉 fulltimegodev.com
Thanks for watching
this was amazing, new videos continuing from here with HTMX and connecting to a backend like supabase/ pocketbase would round it all of for many people to get started
Pocketbase in particular as it can be imported as a library and also uses echo for routing. Could be the ultimate full stack with admin. 😍
ThePrimeTime "From Svelte to Go and HTMX"
Thank you for making this! This is a lot easier to understand then the stream
Really good video! I really enjoy the Templ + Go stuff. Would be very grateful about more in-depth problems you solved with this combination.
Hallo Anthony, amazing video. feedback for voice :it is in my opinion good and clear. size of font for coding is very good and can be visible even on small devices. keep going nice job
Thank you for posting this! I'm a new developer trying to figure out what the best tools are for website building, and this seems really interesting. As a musician who's wanting to build a passion project website, getting things up and running in a simple and straightforward manner seems better than React!
For your sound, I would recommend that you add a wind screen between you and your mic. That will make the 'p' or 'pop' sounds far less noticeable. Second, you may want to position your mic further away from your face. They are pretty sensitive and will record your voice even if it's a little further away. If you are picking up background noise/ white noise, you can add a decibel [dB] filter. Test out how much you want to cut out - be careful not to cut into your regular speaking voice. This will also cut out any breath intakes and will make you sound even more pro!
you have the best youtube channel about golang... it's crazy how good your content is!
Ty ❤️
I absolutly agree, none of other golang channels makes the settup and internal architecture so well and consistent.
Bro Golang and Templ are amazing, I'm loving it. The dev tooling for Templ is fantastic + air for hot reload. Perfection!
Templ already has hot reload. The documentation says to use: templ generate --watch --proxy="localhost:8080" --cmd="runtest"
Really nice video. Keep them coming!
Good video, thanks Anthony!
Amazing. More videos about templ and htmx please!
Great video, thank you!
Weve been waiting for this! U rock!
This is very informative, thank you. This is, however, the first video I've had to watch at 3/4 speed - you were flying
For audio feedback: I highly recommend the “Electro-Voice RE20” + “Focusrite Vocaster One” setup. It’s basically plug and play. The RE-20 keeps your voice volume pretty consistent and eliminates pops while you move around the mic. You don’t need to eat the mic either like a shure sm7b. The Vocaster has a feature that can automatically set the gain on the mic too so you don’t have to mess with that either. Just my 2¢
Thanks for putting this together!
Thanks for the feedback
This is an amazing tutorial, thanks!
Thanks for this great intro! You could also consider stepping away from MVC and add the handlers to the templ files. This way it will be more like a component based structure which is easier to maintain.
I wish there was more interest and effort to develop fully functional InertiaJS adapter for Go. I was using it in Laravel and I was blown away. I think it is the best way to connect BE and FE.
Scotlands greatest export does it again! Fantastic videos Tony!
great video my man
cool. I followed all the steps and errors 100%. Thank you. I really do understand templ better now
Hi Anthony, Big Fan.
Love your work mate 🎉
You can also implement `echo.Renderer` and use templ with echo's built-in `c.Render(...)` func
Just discovered your channel :) Love the laid back style. I'm coming from Django + HTMX. Go looks very promising. Thanks for what you do.
Regarding a tip for your sound. Cutting the low bass (High Pass Filter from 100Hz maybe) could help to be able to boost the overall volume. Makes it easier on the ears too with less boomy popping noises for headphones users like me ;)
Thanks for the great video btw!
Thank you so much 🙏
Go + templ will be the hype stack of 2024
yes
Love the video. My only complaint about the sound is the plosives. Highly recommend a pop filter.
Keep up the great vids!
Yes its super annoying. I had a popfilter but didnt help to much either
The blind homies appreciate the zoom 😂
more of this please. and htmx
Any tutorials for how you use web components for some interactivity?
My only problem right now with templ + htmx is the setup. I couldn’t setup the intellisense and autocomplete in vscode. Go language server doesn’t work in templ files
having the same issue.
Yo this is cool!
Very good video, i think a video on HTMX would be amazing
Hey Anthony here are some suggestions for when you decide to make an HTMX video. I'm very interested in the extensions for websockets and SSEs, is that actually useable? Do you use hyperscript? Do you use event handlers for htmx and if yes could you go through them? Are there any efficient methods to read javascript files into templ files(because of linting and so on)?
Will we get the htmx course included if we already purchased the full time go dev course?
Please make a video on deployment (when you also have a database)
A man's got to do what a man's got to do
Men go to do what a Go man's to do.
I'd love to see a tutorial video on how you navigate fast in VScode with this VIM extension.
Same here
Amazing video. Could you add a crud golang 1.22 using built-in template ? Postgrsql or sqlite ...
Sir, I have recently started with golang and I like your content so much. Also could you please share the name of the theme that you use in VScode.
Sick
Hey Anthony! Do you have some place where you share your vs code setup?
Its somewhere on my github. github.com/anthdm
I'm having trouble trying to use css libraries like tailwindcss.
Instead of a Makefile, I'm currently using the live reload application 'wgo' to build and generate the templates, Tailwind CSS and also the server application in one go (heh), if there's any change in my project. :)
Example command:
wgo -file=.templ -file=.go -xfile=_templ.go templ generate :: npx tailwindcss -c ./configs/tailwind.config.js -i ./views/shared/input.css -o ./public_html/css/tailwind.css :: go run cmd/server/main.go
wgo will apply templ generate to .templ and .go files (excluding the '_templ.go' files that it generates, otherwise it keeps going!)
then it will generate my Tailwind CSS using 'npx tailwindcss' to produce a 'tailwind.css' output file and finally it 'go runs' the server application.
Change anything, refresh browser.. done! :)
Which vscode theme are you using? It's really easy on the eyes
Gruvbox
is there any way to fix the damn vscode? that can be a real pain in the ass when developing
Would you add the generated templ files to a gitignore in a real project, or leave them in the git history?
Good question. Not sure. Maybe ignoring is a good idea
holy s#!t .... we are living in the future. thanks for this video
isnt Gin support func (context) error? I used to use it in my apis
👏👏👏👏👏
I saw this stack getting hyped up and tried it out by following your video (thanks btw!). But it's not for me for three reasons:
- I really miss the complete and working code completion I get in Svelte templates.
- the template compilation step is something you have to deal with yourself instead of being automatic
- you are left on your own to figure out a good structure for your project. Before this tutorial I was completely lost
So I guess what I want is a mature framework. But maybe we get there in the future.
You want a framework :). Go peeps generally want libraries :).
gave a comment (this) and like just for the 'I don't like short fast videos' comment ^^
So can anyone explain is this server side rendering?
For the people using Fiber that are getting plain text returned, you can fix it by using:
func Render(c *fiber.Ctx, component templ.Component) error {
var writer bytes.Buffer
component.Render(c.Context(), &writer)
// Send the rendered component to the client.
return c.Send(writer.Bytes())
}
There's probably a better way of doing it, if you have a better way please say in replies
Pro just use v8 to run react in go server
I don't know, maybe I am too stupid but I have problems with install templ. edit: I forgot add the directory to the path :) export PATH=$PATH:$(go env GOPATH)/bin
can i please type
i dont recommend you to user templ, juste golang html/template
Why not?
Hi Anthony, Its super experience to learn from your viodeo! By chance did you release your next videos in this series th-cam.com/video/BKm1zVlUmrI/w-d-xo.html ?
@anthonygg_ You are the best and a beast my Bro ! Your content is so gooood !!!!!!! Love ya !
if you researsh for us and build a best practice setup with a framwork(every one ) with tmpl and htmx i will help to save a lot of time. i would be tanksful. Do it plsssssss