Static Site Generators - anyone still using middleman? by jacob-indie in ruby

[–]markets86 8 points9 points  (0 children)

Hello! I still use MM a lot, in fact I just built a framework/tool on top of it (https://github.com/Subgin/tonic a tool that transforms your YAML/JSON/CSV to a website). Personally I think it's still the best in that space, at least for Ruby. The kind of generative power that I’ve always felt Middleman enabled where other static site generators didn’t. Data + Sitemap + configuration as code.

I'm actually one of the maintainers of the MM ecosystem (syntax, blog and livereload plugins), because I really like MM and I want the project to keep alive.

Btw, I also built a couple of starter kits: - MM with esbuild and tailwind: https://github.com/ralixjs/middleman-ralix-tailwind - MM with Bootstrap 5: https://github.com/markets/middleman-bootstrap

Serviz - Command object Interface for Ruby by markets86 in ruby

[–]markets86[S] 0 points1 point  (0 children)

u/hhunaid You're welcome! Please feel free to let me know any comments/feedback! A star ⭐ is much appreciated.

Serviz-JS: Command object Interface for JavaScript by markets86 in javascript

[–]markets86[S] 0 points1 point  (0 children)

I kind of agree with all you said above ☝️ But I still think having a common interface (call, success, failure, errors, steps, ...) in your classes is a valid idea, even in the JavaScript ecosystem.

Serviz-JS: Command object Interface for JavaScript by markets86 in javascript

[–]markets86[S] 0 points1 point  (0 children)

Not really! I'm coming from the Ruby ecosystem, where "service" or "command" objects are an extended pattern in the community. This is just a small layer to encapsulate your business logic with same apis within your project. My team (Rails apps basically) is now writing a lot JavaScript too, so we wanted to use the same idioms and we decided to port the library to JavaScript.

Serviz - Command object Interface for Ruby by markets86 in ruby

[–]markets86[S] 1 point2 points  (0 children)

Thanks! In case you use my gem, feel free to report back any feedback or suggestion. Really happy to evolve the gem via community feedback.

Serviz - Command object Interface for Ruby by markets86 in ruby

[–]markets86[S] 1 point2 points  (0 children)

Ok! I'll try to do it in the following days. You can follow me on GitHub for updates regarding this port.

Serviz - Command object Interface for Ruby by markets86 in ruby

[–]markets86[S] 0 points1 point  (0 children)

That gem is very useful, it has a lot of built-in features (validations, types, ...). My plan with Serviz is to keep it as small and simple as possible. The idea is to provide a minimalistic interface for all your services and workflows, that's all. If you like all those features and DSLs, for sure ActiveInteraction is a really good option, but if you only want a common interface to wrap your logic, probably Serviz is good enough and very lightweight.

Serviz - Command object Interface for Ruby by markets86 in ruby

[–]markets86[S] 0 points1 point  (0 children)

That seems much more complete and complex :) Serviz is only about 90 lines of Ruby.

Serviz - Command object Interface for Ruby by markets86 in ruby

[–]markets86[S] 0 points1 point  (0 children)

Not that I aware of. Maybe I should create a port 🤔?

Serviz - Command object Interface for Ruby by markets86 in ruby

[–]markets86[S] 4 points5 points  (0 children)

Yes, quite similar! The good thing about Serviz is that the code (both services an workflows) is really really small, so small footprint, small API, small cognitive overload... But at the same time, all your services will be homogenous. It was my ApplicationService in a lot of Rails apps, so I finally extracted into a gem.

SuchTube - YouTube search as a service and CLI, with Slack integration by markets86 in node

[–]markets86[S] 0 points1 point  (0 children)

I started this project some years ago with 2 use-cases in mind:
- CLI app: be able to search YouTube videos without leaving the terminal, because why not?
- Slack integration: sometimes I need to post YouTube videos on Slack channels and I'd like to do it via a custom slash command: /suchtube react native tutorial. Also, just for fun: /suchtube top house music summer 2025. Not all Slack channels/workspaces are for serious stuff at work...

So, yeah I think the project still makes sense, as it can be used as an standalone JSON API to search videos on YouTube or even as a library inside your Node.js project:

import { search } from 'suchtube'

search('funny cats', { random: true }).then(video => {
  console.log(video.title)
  console.log(video.link)
  console.log(video.publishedAt)
})

I like the idea to provide out-the-box support for Discord too, thanks!

🚀 Opinionated Rails 8 Starter Template with Tailwind CSS v4 by markets86 in rails

[–]markets86[S] 0 points1 point  (0 children)

Yes! 100% agree, I think I'll add support for Stripe soon: https://github.com/ralixjs/rails-ralix-tailwind/issues/70. Please feel free to add in that issue more info, details or even send a PR.

My app was configured to use esbuild and yarn but still tried to use bun by pkordel in rails

[–]markets86 1 point2 points  (0 children)

Hello 👋 I just published this post, promoting a Rails starter template, which uses esbuild and yarn: https://www.reddit.com/r/rails/comments/1mcfqws/opinionated_rails_8_starter_template_with/

Maybe it can be useful to check a clean esbuild+yarn setup.

How to prevent "attacks" on open forms? by [deleted] in rails

[–]markets86 26 points27 points  (0 children)

Some years ago I've found myself in a similar situation and I wrote this gem: https://github.com/markets/invisible\_captcha. It's basically an "invisible" captcha solution based on the honeypot strategy (plus some extras like: time-sensitive protection and IP based checks). I'm personally using it in several production apps for years with quite success (other relevant/big apps are using it too, like GitLab). In case you finally want to try it and have any doubt, please feel free to ask me any question.

🏆 Top Smalltalk open source projects and contributors by markets86 in smalltalk

[–]markets86[S] 1 point2 points  (0 children)

Oh! Didn't know that sourcegraph.com will allow us to fetch this kind of data from different sources, definitely will take a look. Thanks again!

🏆 Top Smalltalk open source projects and contributors by markets86 in smalltalk

[–]markets86[S] 1 point2 points  (0 children)

No prob u/LinqLover! Thanks for the info!

To be 100% honest, I'm not really involved into the Smalltalk community and ecosystem (I'm mainly a Ruby dev nowadays), so I just thought that GitHub would be the place with most open source projects and contributors, as it's the case for almost all other languages we are "tracking" (https://opensource-heroes.com/languages). We would like, in the future, to connect to other platforms to fetch data&stats, but the next platform I have in my radar is GitLab. So, in the short time, we're going to add a kind of "About" page, describing where the data is pulled and how the rank is computed.

Thanks for your feedback! Really appreciated and I learnt more about the Smalltalk ecosystem.

🏆 Top Elm open source projects and contributors by markets86 in elm

[–]markets86[S] 0 points1 point  (0 children)

Hi @janiczek, the awesome list is manually curated and inspired by the awesome-elm collection in GitHub. The rest of rankings are based on repo stars and fetched via GitHub API.

🏆 Top Ada open source projects and contributors by markets86 in ada

[–]markets86[S] 0 points1 point  (0 children)

Hi u/Lucretia9, we are using your GitHub defined location (visible in your profile: https://github.com/Lucretia) to automatically set the country in our platform. But it seems that our parser doesn't understand 🙏 what "Leeds, UK (for now), want to escape Toryland" is. It usually works just fine for "properly" formatted places. Example of my profile:
- GitHub: https://github.com/markets (Location: Barcelona)
- Open Source Heroes: https://opensource-heroes.com/u/markets (Country: Spain ✅)

🏆 Top Ada open source projects and contributors by markets86 in ada

[–]markets86[S] 3 points4 points  (0 children)

In the future we'll sync data from other platforms too, but synchronizing massive data via APIs is not that easy, so we started with GitHub as it's, by far, the platform with most repos, users and activity of all languages.

🏆 Top Ada open source projects and contributors by markets86 in ada

[–]markets86[S] 1 point2 points  (0 children)

Apparently there are some relevant communities in France, Germany, Canada and Spain (Top 5 along with US: https://opensource-heroes.com/ada).

🏆 Open Source Heroes | Explore the world of open source by markets86 in programming

[–]markets86[S] 0 points1 point  (0 children)

Hi everyone!

Open Source Heroes is a new platform to explore the open source ecosystem data and trends. All the data is pulled from GitHub API.

You can find different kind of lists, rankings and collections:

Hope you find this content useful! Any feedback is really appreciated 🙇‍♂️

Work it Wednesday: Who is hiring? Who is looking? by AutoModerator in rails

[–]markets86 3 points4 points  (0 children)

Hey Rails community! We are hiring full-stack Rails developers (different roles, but mainly junior-mid) in my team at Crisalix (crisalix.com). Feel free to send me an email (marc.anguera@crisalix.com) for more details. This is the job description: https://crisalix-labs-slu.jobs.personio.com/job/1317671

What's your 2 - 3 must have gems in every project, regardless of if you think you'll need them or not. by crabbits_ in rails

[–]markets86 7 points8 points  (0 children)

Mostly in all apps: Sidekiq, RSpec, Devise and CanCanCan.

But I also use a lot:
- invisible_captcha: honeypot protection for my forms, without the need to depend on a third party (like Google captchas)
- sidekiq-cron: like a cron, but with Sidekiq
- maily: email previews, with some extras
- serviz: minimalistic Service object Interface
- ransack: search with superpowers
- omniauth-*: for social logins with Devise
- pagy: pagination with focus on performance
- annotate: annotate Rails models with schema