kevinlang
Hey all,
With Phoenix 1.6 just around the corner, I figured I’d make a tutorial on how to add Bulma to a new Phoenix 1.6 project. By leveraging dart_sass and a new Bulma Hex package I created, I was able to do it without having to involve Node or NPM at all!
I know TailwindCSS is where it is at nowadays, but sometimes it is nice to use a CSS library with more ready-made component classes, especially for quick MVPs. ![]()
I hope to make another tutorial for Bootstrap in the next coming days, and make a similar :bootstrap package to make it easy to install without needing Node or NPM.
Enjoy!
Trending in Guides/Tuts
I’ve spent some time understanding how to do hot code reloading with releases built using mix release, and here I’d like to detail the st...
New
# ~/src/livebook/.iex.exs
System.cmd("xdg-open", [ LivebookWeb.Endpoint.access_url() ] )
Because Livebook requires a unique passcode on ...
New
Other Trending Topics
Edit: 2026 May 15 - This post is archived.
Mob is alive!!
Main docs: mob v0.7.11 — Documentation
A bit of explanation for the slightly c...
New
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
I am happy to introduce the very α version of the new programming language compiled to BEAM.
Welcome Cure.
It has literally three kille...
New
Hi there! We created Gust: A task orchestrator inspired by Airflow.
For those who have never heard about Aiflow, it’s a Python-based wor...
New
Hi everyone!
The first release candidate for the Expert language server project is now available!
We’ve published a press release detai...
New
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #library
- #deployment
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #elixirconf
- #channels
- #exunit
- #discussion
- #code-sync
- #podcasts
- #javascript
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #ai
- #elixirconf-us
- #blog-post
- #elixir-ls
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #elixirconf-eu
- #metaprogramming
- #hex










Showing Posts 1 to 9- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
cvkmohan
Very nice tutorial @kevinlang.
A couple of questions.
kevinlang
tgzfrom NPM and copy over thebulma.scssfile andscss/folder. Plus, for better or for worse, Bulma updates pretty infrequently - there has only been 3 releases this past year.package.jsonin the root of the package for the JS part that can be traversed today by ESbuild when you import it in yourapp.js(this is howphoenix_htmlworks for example) in addition to a rootbootstrap.scssfile.With Bootstrap it is definitely tricky with LiveView, and probably beyond the scope of the package I was envisaging - which is to simply be an alternative way to getting assets without using
npm. I’ll have to look over the SurfaceBootstrap library. From what I read here, it seems that even with the removal of the JS dependency from Bootstrap, it is still a bit of a hassle to make work with LiveView.03juan
Hi @kevinlang . Thanks for the tutorial and packages. I have a problem where
@import "bulma";works fine but if I try to customise my bulma payload to only load specific assets, such as@import "bulma/sass/utilities/_all.sass";I see this error in the logs:Any idea what’s going on here? I checked my code against your repo and everything seems fine.
henriquefernandez
When you import bulma using this package, you are importing this file: https://github.com/kevinlang/bulma-elixir/blob/master/bulma.sass
So if you want to use this specific sass file, you should do:
@import "sass/utilities/_all"And not import bulma
03juan
I’ll try that out tomorrow, obrigado Henrique.
What happens if another package in the path also has the same folder structure?
henriquefernandez
I think that if we put
import "./sass"with the “./”, it will search in the relative path, otherwise we get an error.suranyami
@kevinlang It looks like your tutorial is offline.
Any chance you could either:
At the very least, what’s the format for importing it into CSS/SCSS/SASS?
@import "bulma"doesn’t seem to work. Any hints?Also, if you want someone to do some of the grunt work of adding the docs, updating the version to latest and re-releasing, I’m happy to take up the slack.
Thanks in advance.
CharlesIrvine
@kevinlang The link to your tutorial seems to be stale. I get a timeout when trying to access it. Could you repost it somehow. Thanks
kevinlang
@CharlesIrvine
This link should work: Adding Bulma to Phoenix 1.6 | Kevin Lang