mimemagic
KeenWrite
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.
mimemagic
-
Magika: AI powered fast and efficient file type identification
If you're curious, here's how I solved it for ruby back in the day. Still used magic bytes, but added an overlay on top of the freedesktop.org DB: https://github.com/mimemagicrb/mimemagic/pull/20
-
mimemagic 0.3.0
Get it directly from github commit.
-
Releases 0.9.299 - 0.9.305: Change Log
[AO3-6152] - Due to a licensing incident with a Rails dependency known as mimemagic, we had to update Rails to 5.2.5 and mimemagic to 0.3.6.
-
Can You Not use Applications Built with Older Versions of Ruby?
I don't think mimemagic works on Windows after the drama. I opened a PR for that a month ago but no one seems to care: https://github.com/mimemagicrb/mimemagic/pull/141
-
Perfect Motherf****** Website
"License, motherfucker"
I know the vulgarity of the statements is tongue in cheek, but this one has been reinforced lately by the "MIME Magic" debacle[1], mama mia.
[1] https://github.com/mimemagicrb/mimemagic/issues/98
-
The current state of package invalidation support across package managers
it has a licensing issue
-
Ruby off the Rails: Code library yanked over license blunder, sparks chaos for half a million projects
https://github.com/mimemagicrb/mimemagic/commit/749a7e59de480b7c0373acc4f8ceb4444352ba46#diff-2ea7e2364883967953ab518a8316b639e612b8a6f20eadb7b97939d91c8e2612
-
Rails 5.2.5, 6.0.3.6 and 6.1.3.1 have been released [removed dependency on mimemagic]
On the other hand mimemagic provides by_magic https://github.com/mimemagicrb/mimemagic#usage which does detection by heuristic. It's a radically different method for a radically different use case.
-
All versions of mimemagic on Rubygems.org are now MIT-licensed
Anyway, I created a PR addressing new Mimemagic not working on Windows https://github.com/mimemagicrb/mimemagic/pull/141
-
When someone yanks all prior versions of a gem that is a dependency of rails.
Someone broke the internet for rails https://github.com/mimemagicrb/mimemagic/issues/98
KeenWrite
-
Show HN: I made a tool to clean and convert any webpage to Markdown
I wrote a series of blog posts about typesetting Markdown using pandoc:
https://dave.autonoma.ca/blog
I found pandoc on its own to be a little limiting:
* Awkward to use interpolated variables within prose.
* No real-time preview prior to rendering the final document.
* Limited options for TeX support (e.g., SVG vs. inline; ConTeXt vs. LaTeX).
* Inconsistent syntax for captions and cross-references.
For my purposes, I wanted to convert variable-laden Markdown and R Markdown to text, XHTML, and PDF formats. Eventually I replaced my tool chain of yamlp + pandoc + knitr with an integrated FOSS cross-platform desktop editor.
https://keenwrite.com/
KeenWrite uses flexmark-java + Renjin to provide a solution that can replace pandoc + knitr.
Note how the captions and cross-reference syntax for images, tables, and equations is unified to use a double-colon sigil:
https://gitlab.com/DaveJarvis/KeenWrite/-/blob/main/docs/ref...
- Magika: AI powered fast and efficient file type identification
-
Ask HN: What's the best way to write a book in Markdown?
My Typesetting Markdown series[1] describes crafting shell scripts to cobble together pandoc, knitr, math, ConTeXt, and YAML-based interpolated variables to produce PDF files.
For my sci-fi novel, my character sheet was inside of a spreadsheet. It dawned on me that the character sheet could be replaced with a YAML file and integrated with a Markdown editor. I developed KeenWrite[2] to replace the scripts while allowing me to use interpolated variables and R inside of the prose.
My novel has two separate timelines and I wanted to make sure that dates lined up correctly without having to do the date math manually. I implemented a number date functions in R[3] based around an "anchor" date. As long as all my other dates are relative (in days) to the anchor date, all the math checks out. Possessives and pronouns are also handled in R (meaning I can change a character's gender by changing a single variable, provided I haven't referenced any sex-specific body parts or characteristics).
Also, I wanted a nice-looking PDF file to send to alpha readers (more wanted, see profile). For that, I crafted KeenWrite Themes[4] along with a video tutorial series showing how all the software components work together.
[1]: https://dave.autonoma.ca/blog/2019/05/22/typesetting-markdow...
[2]: https://keenwrite.com/
[3]: https://gitlab.com/DaveJarvis/KeenWrite/-/blob/main/R/conver...
[4]: https://gitlab.com/DaveJarvis/keenwrite-themes/
[5]: https://www.youtube.com/playlist?list=PLB-WIt1cZYLm1MMx2FBG9...
-
Show HN: Generate pdf with gitbook or mdbook url
I developed KeenWrite[0] with similar ideas to mdbook: typeset into PDF from Markdown. Technically, this happens in three stages. First, the Markdown is converted to XHTML. Second, the XHTML is converted to TeX commands. Third, the ConTeXt typesetting system produces a PDF file. Both the GUI and CLI can export to PDF.[1]
Like mdbook, the themes are isolated. Instead of CSS, KeenWrite themes are written in ConTeXt. There are several example starter themes.[2] A "thesis" theme would be a nice addition, but there's a problem.
Markdown lacks a standard for cross-references and citations. An open KeenWrite issue animates a possible UX solution.[3] The topic of references/citations has been discussed on CommonMark[4] without much movement. Parsing cross-references and citations would benefit flexmark-java[5] integrations. KeenWrite uses flexmark-java, but I'm otherwise unaffiliated. If anyone is interested in helping, reach out (see profile).
[0]: https://keenwrite.com/
[1]: https://gitlab.com/DaveJarvis/KeenWrite/-/blob/main/docs/cmd...
[2]: https://gitlab.com/DaveJarvis/keenwrite-themes/
[3]: https://gitlab.com/DaveJarvis/KeenWrite/-/issues/145
[4]: https://talk.commonmark.org/t/cross-references-and-citations...
[5]: https://github.com/vsch/flexmark-java
-
The Windows installer of ImageMagick will no longer be signed
My desktop text editor, KeenWrite, uses Wine, rcedit-x64.exe, osslsigncode, and a shell script. First, rcedit-x64.exe tags the binary with identifying information:
https://gitlab.com/DaveJarvis/KeenWrite/-/blob/main/installe...
Then osslsigncode applies the certificate:
https://gitlab.com/DaveJarvis/KeenWrite/-/blob/main/scripts/...
Echoing what Rodeoclash wrote: Having to pay to play on Windows for an open-source project that makes $0 is a decline of ownership over our own machines.
-
Using AsciiDoc and Asciidoctor for Blogging
When I started developing KeenWrite[1], I wanted a modular architecture[2] that made the choice of Markdown vs. AsciiDoc vs. DocBook irrelevant with respect to generating PDF or HTML files. The core idea of writing pure text documents is to separate content from presentation; the syntax, while important to some, shouldn't sway the output format.
KeenWrite could integrate AsciidoctorJ and its XHTML5 back-end to support AsciiDoc in the future, if there was demand.
[1]: https://keenwrite.com/
[2]: https://gitlab.com/DaveJarvis/KeenWrite/-/raw/main/docs/imag...
What are some alternatives?
marcel - Find the mime type of files, examining file, filename and declared type
keenwrite-themes
gemstash - A RubyGems.org cache and private gem server
rustypwneddownloader - Rust based pwnedpasswords Downloader
mini_mime - minimal mime type library
AzureSignTool - SignTool Library and Azure Key Vault Support
RubyGems - The Ruby community's gem hosting service.
ursus - Static site generator for All About Berlin
mimemagic - Mime type detection in ruby via file extension or file content [Moved to: https://github.com/mimemagicrb/mimemagic]
PowerShell-OpenAuthenticode - Cross platform PowerShell implementation of Authenticode signing and verification
Bazel - a fast, scalable, multi-language and extensible build system
pandoc - Universal markup converter