I'm happy to announce the Stimulus LSP 1.0 release.
It ships the completely overhauled Stimulus Parser release to improve accuracy and false-positives.
A lot of new diagnostics, code actions, NPM package support and so much more!
I'd love to hear your feedback!
#RailsWorld
is over!
This was such an awesome experience, and all of this still feels so surreal.
I don't think I experienced a conference quite like this one. Part of which also has to do with the fact that I gave my first talk at a conference.
Attending a conference as a
We are building a modern docs generator for any gem on
@RubyGems
at the
@GoRails
#RailsHackathon
!
Part of the motivation is to have something similar to and as good looking as , but for any gem on RubyGems.
I just opened a Pull Request for Stimulus to introduce the Outlets API.
Outlets are very similar to Targets, with the exception that Outlets can be anywhere on the page and don't need to be within the scope of the controller element.
#hotwire
#stimulus
I packaged up a JavaScript file which I've been copying across multiple apps. It's also been circulating within the community for a while now, but for some reason, no one thought about turning it into an actual package... until now!
Here is `current.js` 🦄
It's time for a change.
Over the years I learned so many new and interesting things. But I never had the courage and self-confidence to write and publish a thing. I felt too insecure about it and wasn't sure if anyone would care.
Starting today, I want to change that!
At
#RailsWorld
@marcoroth
will share the latest advancements in the
#Hotwire
ecosystem, giving valuable insights about its current state and future trajectory, as well as potential new concepts that will shape the future of Rails as a full-stack framework.
I published a new blog post on my website titled "Supercharge your Stimulus controllers with Custom APIs" 🚀
In this post, we'll learn how to create a Stimulus Elements API from scratch, allowing you to easily access DOM elements using CSS selectors.
Here's how it can be used.
It's a wrap! The
@RailsSaaS
Conference has been an incredible journey filled with learning, inspiration, meeting incredible people, and even a personal triumph!
I am beyond grateful for the super unexpected appreciation. Huge thanks to
@andrewculver
for making this happen! ❤️
Post-Hackathon optimization for : This change reduced the render time by about 10x.
The render time for ActiveRecord went from ~20s down to ~3s.
`GemInfo` is the class which statically analyzes a gem, and it was accessed up to 10 times per request 😅🤦🏼♂️
The Ruby Conference triathlon starts today! 🥳
I can't wait to meet a lot of old and new
#RubyFriends
!
Come say hi if you are also attending Euruko, Friendly.rb or RailsWorld!
I'm at a **Java** meetup in Zurich today to learn about... Hotwire.
It's super cool to see other language communities embrace the HTML-over-the-wire approach!
I'm super excited to start teaching
@LeWagonParis
in Zurich next week!
Especially because I also get to teach about Stimulus, which kinda makes this a full-circle moment for me! 🎉
Just released v0.2.0 of the Stimulus LSP including a few bug fixes, new diagnostics and new quick fix actions!
There's more stuff like this in the pipeline! 🚀
Hotwire needs some sort of DevRel or "official" community representative. I don't think it's too much to ask for a framework that ships by default with Rails.
@_swanson
The part that most people don't understand is that it never was about the external types that ship with the npm package.
The part which is concerning, at least in my view, is that the PR stripped out most of the implicit documentation about library-internals which helped to
Just landed back in Basel after an amazing trip to three very different, very unique, but also very inspiring conferences.
It's great that you can pick from a wide range of conferences in the Ruby community, and each of them are awesome for different reasons.
I met a bunch of
Added more improvements for !
* Tweaks to landing page, including a section for featured gems
* Show in which files a class/module was defined or reopened
* Inspired by : Show source file content
* Render method signatures and
Thank you so much for this honor! 🙏🎉
This is just the cherry on top of the cake because we had so much fun hacking at the Hackathon either way!
It's also so awesome to see so many other impressive, creative and fun submissions! Looking forward to the next one!
A new version of `turbo_power` dropped today! ⚡️
Turbo Power is a collection of common Custom Turbo Stream Actions one might need when building apps with Turbo Streams.
Version `0.3.0` ships five new stream actions for you to use in your application!
LSPs are true game-changers, yet they somehow remain surprisingly underrated and underutilized, especially in the Ruby world.
They empower us to code with more confidence and efficiency, since they minimize the feedback-loop for debugging "wrong" code and looking up docs.
@marcoroth_
thank you for the stimulus LSP. I started using it and I no longer have to read docs for syntax. You are an amazing guy. Grateful for this gift. Crazy that we get this for free. Thank you!
@bradgessler
From what I obsereved:
RubyConf: very strong focus on Ruby, strictly no Rails
RailsConf: focus on Rails, community, career and software engineering itself.
Rails World: very strong focus on technical talks about new features in Rails and how it's shaping on the the future of
Some stimulus-use goodness:
The `useBreakpoints` mixin can be used to run controller actions whenever a breakpoint changes. Either by using callback functions are by listening for emitted events in your markup.
Feedback is very welcome, check out the PR:
Wow... the benefits of YARP are really showing!
Not just for Ruby implementations, but for anything dealing with Ruby code!
@kddnewton
migrated from SyntaxTree to the YARP gem (along with a few other optimizations) and the improvements are remarkable.
I just released `phlexing` version `0.4.0` which includes a bunch of new cool features.
Phlexing is an ERB → Phlex converter which can do the heavy-lifting for you when converting HTML+ERB markup.
In order to help other people build tools for and around Phlex I extracted the converter which powers into it's own separate gem.
With that people can programmatically convert ERB to Phlex from within Ruby.
The gem is available on Rubygems as `phlexing`
I've been asked a few times why I don't have a GitHub Sponsors profile, but I never had a good reason why I don't.
So I created one! You can now support my open source work if you or your company benefit from my contributions to the Hotwire/Ruby on Rails ecosystem. 🙏
Ugh, this really concerns me...
In such an abstract library like Turbo it's a huge help to have abstract concepts, interfaces and types in general.
It really helps with navigating the code and making sure the classes you implement comply with the interfaces you declare.
On this day 10 years ago I wrote my first line of Ruby code!
It's crazy how much has changed and how much things have evolved over the last decade. But at the same time it's remarkable how things in Ruby just stayed consistent and compatible!
Can you believe these slides are full page loads to completely new HTML pages‽
#smashingconf
^ try it with Canary and enable the flag chrome://flags/
#view
-transition-on-navigation
what. rad. tech. 🤯
I’m more than grateful for an incredible 2023! 🚀
I attended many inspiring conferences, reconnected with old friends, and made plenty of new ones along the way. Also, I gave my first conference talk – a significant and, admittedly, stressful milestone for me!
Over the last two
Have you ever heard of `morphdom` and can't quite imagine why and how it might be useful in your server-rendered web-applications?
Here are some use-cases where you would want to use the new `morph` action 🧵
In Ruby, when dealing with `class` objects, we often use `klass` as a variable name due to the reserved keyword.
What about `module` objects? Is there a similar convention for variable naming?
I'm not really sold on `mod`, `mmodule` or `m` as an option. Any ideas?
@WebReflection
It really makes me sad...
Ironically, there were exactly 15 `any` in this codebase, most of which in tests, unused or not library-relevant.
@flaviocopes
HTML-over-the-wire. There are a few frameworks in that space. Hotwire/Turbo (not the bundler), HTMX, LiveView, LiveWire, Unpoly to name a few.
What an amazing conference we had! Over 200 attendees from over 20 countries. 19 speakers including 4 memorable keynotes. Thanks so much to everyone who made it possible and thanks to you, the Ruby community, for believing in us. Let's do it again next year?
#rubyconfth
#ruby
Ending the year with one last conference!
Really looking forward to my first CCC after all these years following the event online via livestreams.
#37c3