☕️ 𝗕𝘂𝘆 𝗺𝗲 𝗮 𝗰𝗼𝗳𝗳𝗲𝗲:
To support the channel and encourage new videos, please consider buying me a coffee here:
https://ko-fi.com/bugbytes
Playlist ▶️: https://www.youtube.com/playlist?list=PL-2EBeDYMIbQRWxVjUwE4uVXKr2lnquD-
⭐Top resource to learn Python - https://datacamp.pxf.io/ranBod ⭐
In this video, we'll explore how to integrate HTMX with the Go programming language on the server.
We'll cover:
- how to setup a webserver with the Go net/http package
- how to define routes and handlers with the HandleFunc function
- how to return HTML templates with the html/template package
- using HTMX to submit form data to the server
- swapping HTML responses into the document from our Golang handlers
- using template fragments to return blocks of HTML from a parent template
Final code can be found on this Github repository:
https://github.com/bugbytes-io/htmx-go-demo
Playlist ▶️:
https://www.youtube.com/playlist?list=PL-2EBeDYMIbQRWxVjUwE4uVXKr2lnquD-
📌 𝗖𝗵𝗮𝗽𝘁𝗲𝗿𝘀:
00:00 Intro
01:32 Creating a web server in Golang
03:28 Defining server URL and handler function with http.HandleFunc
06:31 Rendering template from Golang functions
09:40 Adding Context Data to templates
11:21 Displaying server data in templates
13:44 Styling list with Bootstrap 5
15:34 Submitting form with HTMX hx-post attribute
19:44 Extract Submitted Data from POST request in handler function
21:03 Returning HTML from Golang handler function
24:03 Using hx-target to swap content into targeted DOM element
26:51 Displaying feedback during request with hx-indicator
30:37 Template Fragments in Golang
𝗦𝗼𝗰𝗶𝗮𝗹 𝗠𝗲𝗱𝗶𝗮:
📖 Blog: https://bugbytes.io/posts/
👾 Github: https://github.com/bugbytes-io/htmx-go-demo
📚 𝗙𝘂𝗿𝘁𝗵𝗲𝗿 𝗿𝗲𝗮𝗱𝗶𝗻𝗴 𝗮𝗻𝗱 𝗶𝗻𝗳𝗼𝗿𝗺𝗮𝘁𝗶𝗼𝗻:
Install Go: https://go.dev/doc/install
Go ‘Hello World’: https://gobyexample.com/hello-world
Go net/http package: https://pkg.go.dev/net/http
Go html/template package: https://pkg.go.dev/html/template
Go templates: https://golangforall.com/en/post/templates.html
HTMX Install: https://htmx.org/docs/#installing
HTMX Swap Methods: https://htmx.org/docs/#swapping
Bootstrap 5 CDN: https://getbootstrap.com/docs/5.3/getting-started/introduction/#cdn-links
Bootstrap Spinner: https://getbootstrap.com/docs/5.2/components/spinners/#buttons
#golang #htmx #webdevelopment