
:hammer: https://github.com/helaili/jekyll-action but without Docker
Building and publishing Jekyll sites to GitHub Pages just got a lot easier with the jekyll-action-ts GitHub Action. This action is specifically designed for those using Jekyll who want greater flexibility and efficiency in managing their sites. The transition from a Docker-based action to a TypeScript/JavaScript action not only speeds up initial setup but also enhances the overall functionality by integrating with Ruby tools that streamline dependency management.
This updated version (V2) simplifies the deployment process and allows users to customize their publishing settings beyond GitHub Pages. By utilizing the peaceiris/actions-gh-pages, it grants more control over committer settings and repository management. This innovation opens up avenues for deploying to various platforms, including AWS and Google Cloud, making it a versatile option for developers looking for efficiency and adaptability.
Fast Initialization: Converted from a Docker action to a TypeScript/JavaScript action, significantly reducing initialization time for building Jekyll sites.
Flexible Deployment Options: V2 removes the git push step and integrates with peaceiris/actions-gh-pages, allowing users to customize committer and repository details.
Automatic Gemfile Detection: Finds the Gemfile even if it isn't in the root directory, accommodating complex directory structures in multi-Gemfile projects.
Caching for Performance: Supports caching of the vendor/bundle directory which enhances build speeds significantly compared to using actions/cache.
Prettier HTML Formatting: Uses Prettier to tidy up the output HTML, resolving the common issue of excessive whitespace in Jekyll outputs.
Customizable Prettier Options: Users can specify Prettier formatting options through the prettier_opts input, allowing for tailored output styles.
No Detailed Tutorials Needed: Although it differs from the official Jekyll tutorial, a sample workflow file simplifies integration for users who may not have time to delve into comprehensive guides.

ESLint is a linter for JavaScript that analyzes code to detect and report on potential problems and errors, as well as enforce consistent code style and best practices, helping developers to write cleaner, more maintainable code.
TypeScript is a superset of JavaScript, providing optional static typing, classes, interfaces, and other features that help developers write more maintainable and scalable code. TypeScript's static typing system can catch errors at compile-time, making it easier to build and maintain large applications.