HexaPDF
zeitwerk
HexaPDF | zeitwerk | |
---|---|---|
26 | 9 | |
1,184 | 1,914 | |
- | - | |
9.3 | 7.4 | |
about 1 month ago | 18 days ago | |
Ruby | Ruby | |
AGPL-3.0, Nonstandard | 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.
HexaPDF
-
Question about Yard
An example for a very simple setup is the cmdparse gem documentation. It only has a few additional documentation files that accompany the main API documentation. The other end of the spectrum is the documentation for HexaPDF which encompasses many additional documentation files besides the API documentation and deeply integrates the API docs into the whole documentation website.
-
I interviewed Mike Perham (of Sidekiq) on commercializing software, and quitting his job to work on Sidekiq full time. “by March 2014 I was making more money from Sidekiq Pro sales than my Clymb salary”
HexaPDF is a Ruby OSS library with a commercial version available and profitable.
-
Features for HexaPDF table implementation
So I'm collecting feature ideas for that table implementation at https://github.com/gettalong/hexapdf/discussions/231.
-
HexaPDF to extract text from PDF file
Hi there! I'm the author of HexaPDF.
-
Benchmarking Ruby 2.6 to 3.2
git clone https://github.com/gettalong/hexapdf.git
-
A pdf cutting / spliting program
You can use this HexaPDF script to do this:
-
HexaPDF Extras - Additional functionality for the HexaPDF library
I have just released my new gem hexapdf-extras which provides additional functionality on top of the HexaPDF library.
-
Multiple-page PDF to one-page PDF
You can use HexaPDF together with a small script to do this (see the third line on how to use the script):
-
Understanding Text in PDF
TrueType subsetting mainly consists of generating the necessary glyph and various index tables, and copying over all the other necessary tables which don't need to be adjusted. See https://github.com/gettalong/hexapdf/blob/master/lib/hexapdf/font/true_type/subsetter.rb for what is needed to subset.
-
What do you use ruby for?
for all my PDF processing needs, courtesy of HexaPDF,
zeitwerk
-
Enhancing development with REPLs - A practical guide
To setup it's pretty simple, you just need to create a file inside bin/console and require all the files you want to use on a REPL, most of the times we use gems like zeitwerk to provide the auto requiring, but if you want to do it manually, refer to the example below:
-
Performance e elegância! Escrevendo uma CLI CRUD utilizando ScyllaDB e Ruby
zeitwerk
-
How to Load Code in Ruby
Zeitwerk takes a directory and makes every file underneath it available to load. The convention is that every new sub-directory is a new module, and every file defines a class with the same name as the file.
-
To Ruby from Python
There is a gem that does that used by Rails and multiple other gems:
https://github.com/fxn/zeitwerk
It is pretty easy to set it up in any Ruby project.
-
PHP – The Right Way
I actually prefer auto-loading, which lets you iterate through a package manager much easier/faster - PHP iterated through PSR-0[0] before landing on PSR-4[1], and you can always build your own (which is what most frameworks pre-composer were doing).
With Rails 7 and Zeitwerk, the Ruby community has landed on a very similar auto-loading system as PHP now[2] with constants translating to paths by convention.
[0]: https://github.com/php-fig/fig-standards/blob/master/accepte...
[1]: https://www.php-fig.org/psr/psr-4/
[2]: https://github.com/fxn/zeitwerk#the-idea-file-paths-match-co...
-
One Class/Module per File Rules - Working With Nested Modules
If you're working on non-Rails apps and need to deal with loading code, zeitwerk can be used anywhere, unlike the old Rails autoloader. It's also really easy to set up.
-
Move models, views and controllers to non-standard folders
https://github.com/fxn/zeitwerk#collapsing-directories
-
Code Loaders in Ruby: Understanding Zeitwerk
Zeitwerk
-
Ruby on Rails + Auth0: Authenticating your API with an external authentication service
With a few modifications in the gem source code, we could easily integrate Auth0 into our Rails API, but that on Rails 5. Rails 6 brought Zeitwerk code loader together, which makes it harder to perform the alterations suggested in my previous post.
What are some alternatives?
Prawn - Fast, Nimble PDF Writer for Ruby
jets - Ruby on Jets [Moved to: https://github.com/rubyonjets/jets]
Wicked Pdf - PDF generator (from HTML) plugin for Ruby on Rails
JWT - A ruby implementation of the RFC 7519 OAuth JSON Web Token (JWT) standard.
CombinePDF - A Pure ruby library to merge PDF files, number pages and maybe more...
Karafka - Ruby and Rails efficient multithreaded Kafka processing framework
Pdfkit - A Ruby gem to transform HTML + CSS into PDFs using the command-line utility wkhtmltopdf
unholy - a ruby-to-pyc compiler
Squid - A Ruby library to plot charts in PDF files
dry-system - Application framework with state management and built-in dependency injection support
RGhost - RGhost is a document creation and conversion API. It uses the Ghostscript framework for the format conversion, utilizes EPS templates and is optimized to work with larger documents. Support(PDF,PS,GIF,TIF,PNG,JPG,etc)
unholy - a ruby-to-pyc compiler - _why mirror