Slim
Overcommit
Our great sponsors
Slim | Overcommit | |
---|---|---|
30 | 5 | |
5,269 | 3,866 | |
0.3% | - | |
7.8 | 6.8 | |
6 days ago | about 1 month ago | |
Ruby | Ruby | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Slim
-
Building a syntax highlighting extension for VS Code
I spent a few days of my spare time building a VS Code extension that would bring better syntax highlighting for the Slim template language to the editor. I quite enjoyed most of the process so I’d like to share what I learned.
-
Rails 7.1 Released
I think they mean Server Side Rendering (normal rails controllers/views), and Slim is just the name of the templating engine. It's a little nicer than the default ERB. https://github.com/slim-template/slim
There's also SSR with react and other js frameworks, but I don't think that's what they meant.
-
How to build a website without frameworks and tons of libraries
I use something very similar on https://lunar.fyi and https://lowtechguys.com but I wouldn’t call this “simple” anymore.
They use Jinja templating, I prefer Slim (https://github.com/slim-template/slim#syntax-example) which has a more Pythonic syntax (there is plim [0] in Python for that)
I use Tailwind as well for terse styling and fast experimentation (allows me to write a darkMode-aware and responsive 100 line CSS in a single line with about 10 classes)
For interaction I can write CoffeeScript directly in the page [1] and have it compiled by plim.
I run a Caddy static server [2] and use Syncthing [3] to have every file save deployed instantly to my Hetzner server.
I use entr [4] and livereloadx [5] to rebuild the pages and do hot reload on file save. All the commands are managed in a simple Makefile [6]
———
You can already see how the footnotes take up a large chunk of this comment, this is not my idea of simple. Sure, the end result is readable static HTML and I never have to fight obscure React errors, but it’s a high effort setup for starters.
Simple for me would be: write markdown files for pages, a simple CSS for general styling (should be optional), click to deploy on my domain. Images should automatically be resized to multiple sizes and optimized, videos re-encoded for smaller filesize etc.
I have mostly implemented that for myself (https://notes.alinpanaitiu.com/How%20I%20write%20this%20blog...) but it feels fragile. I’d rather pay for a professional solution.
[0] https://plim.readthedocs.io/en/latest/
[1] https://github.com/FuzzyIdeas/lowtechguys/blob/main/src/rcmd...
[2] https://caddyserver.com/docs/command-line#caddy-file-server
[4] https://github.com/eradman/entr
[5] https://nitoyon.github.io/livereloadx/
[6] https://github.com/FuzzyIdeas/lowtechguys/blob/main/Makefile
-
Do Modern Programming Languages Have to Care About Line Length?
Checkout slim https://github.com/slim-template/slim it's a templating language
-
How to use View Transitions in Hotwire Turbo
The template renders the tag and inside it the link and the counter itself (the Slim template language and Tailwind styling are used here, hopefully the notation is sufficiently self-explaining):
-
Styling Simple Form forms with Tailwind
This config sets a ”medium“ font weight for our form labels by default. Now, suppose we want a specific input’s label to be bold instead, we might want to try the following naive approach (we’re using the Slim template notation here):
- Am I the only one who takes top priority in code neatness? Even if the code works, I HAVE to make it look neat. It absolutely must look neat in my mind. I cant really work peacefully if the code isnt neat. It just has to be neat. Does anyone else feel this way?
-
Form error in a rails view
Consider slim: "Slim - A Fast, Lightweight Template Engine for Ruby" http://slim-lang.com and simple_form "GitHub - heartcombo/simple_form: Forms made easy for Rails! It's tied to a simple DSL, with no opinion on markup." https://github.com/heartcombo/simple_form
-
Tailwind CSS class sorter – the custom way
There are quite a few good ones already but, as it turned out, we hit one blocker or another with each of them. Our biggest issue was that we use Slim in our project, a template format which most of the tools don’t support.
-
The KDL Document Language
reminds me of slim templates, but not just Ruby
Overcommit
-
Linting and Auto-formatting Ruby Code With RuboCop
A great way to ensure that all Ruby code in a project is linted and formatted properly before being checked into source control is by setting up a Git pre-commit hook that runs RuboCop on each staged file. This article will show you how to set it up with Overcommit, a tool for managing and configuring Git pre-commit hooks, but you can also integrate RuboCop with other tools if you already have an existing pre-commit workflow.
-
Tailwind CSS class sorter – the custom way
As a team we want to ensure that everybody commits our templates with classes rightly ordered. We use Overcommit to enforce consistency but any similar tool will do.
-
Automatically sorting your Tailwind CSS class names
Overcommit - run rustywind --write during git commit to update your files before you send them off to git
-
Migrating Tachyons to Tailwind CSS (III – learnings)
By the way, it’s nice that adding (or completely redefining) the scale system is so easy in Tailwind. On the other hand, care must be taken that modifying the defaults is not overused. In the end, we added an Overcommit rule banning further updates of the Tailwind configuration (of course, this can be temporarily disabled, when truly needed).
What are some alternatives?
Haml - HTML Abstraction Markup Language - A Markup Haiku
Liquid - Liquid markup language. Safe, customer facing template language for flexible web apps.
Hamlit - High Performance Haml Implementation
Sanitize - Ruby HTML and CSS sanitizer.
Rugged - ruby bindings to libgit2
git-up - NOT MAINTAINED
git-whence - Find the merge and pull request a commit came from + fuzzy search for cherry-picks
Tilt - Generic interface to multiple Ruby template engines
tachyons - Functional css for humans
git-auto-bisect - Find the first broken commit without having to learn git bisect
git-spelunk - git-spelunk, an interactive git history tool
Curly - The Curly template language allows separating your logic from the structure of your HTML templates.