mini_racer
markdoc
mini_racer | markdoc | |
---|---|---|
4 | 21 | |
583 | 7,014 | |
0.7% | 1.1% | |
7.2 | 5.8 | |
22 days ago | about 1 month ago | |
JavaScript | TypeScript | |
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.
mini_racer
-
Ask HN: What side projects landed you a job?
Some years ago I was on a shitty job - not technically, but the company turned out to be inhumane - at a Ruby shop, and on the side I was toying with mini_racer and I just upgraded to some macOS beta where it failed to build. A shitty +1-1 hack† for a compiler flag later and it was back flying.
A month later I received a cold email from a CTO to chat a bit about that PR, turns out they were using mini_racer heavily and forked it for their own purpose, and also created PyMiniRacer for the Python side of things. Next thing I know I got hired. Two years later the company got acquired.
Of course conditionally adding a compiler flag wasn't what got me hired per se, it only got my profile noticed. Probably side projects such as porting go by example to Ruby by implementing a ~1:1 CSP channel API[1], an Electron desktop client for Mattermost basically on a dare[2], ex mode for the Atom editor so that I could have that frackin' `:w`[3], leveraging Blocks to bolt on object-oriented-ness onto C because "closures are a poor man's object"[4], or reverse-engineering the Xbox One USB gamepad and writing a kext to turn it into a HID device on macOS from scratch on a lonely 7+h train ride with passengers judgementally staring at me sideways[4] probably contributed to it a bit.
My takeaway: luck is when preparation meets opportunity; but don't to side projects to get hired, because if you don't get hired then that time is lost. Rather, of all things, scratch your itch, have fun, embrace whatever quirkiness you fancy; no one can take that away from you.
[0]: https://github.com/rubyjs/mini_racer/commit/2086db1bbf2b5de4...
[1]: https://github.com/lloeki/normandy
[2]: https://github.com/lloeki/matterfront
[3]: https://github.com/lloeki/ex-mode
[4]: https://github.com/lloeki/cblocks-clobj/blob/master/main.c
[5]: https://github.com/lloeki/xbox_one_controller
-
YouTube-dl has a JavaScript interpreter written in 870 lines of Python
Cue libv8-node+mini_racer from which PyMiniRacer was born. It is non-trivial but not as hard as one might think.
The most painful part is the libv8 build system and Google tooling, which makes it an absolute PITA for libv8 consumers that are not Chrome.
This is why the libv8 gem was atrocious to keep up to date and to build for several platforms, and why libv8-node was born, because the node build system and source distribution are actually sane.
Disclaimer: worked at Sqreen, now maintainer of libv8-node and collaborator of mini_racer
https://github.com/sqreen/PyMiniRacer
https://github.com/rubyjs/mini_racer
https://github.com/rubyjs/libv8-node
-
Rendering markdown with Markdoc in Rails
Eventually, we’ll want to call this JavaScript from a Rails controller using ExecJS or MiniRacer or some similar tool. None of the Ruby-to-JavaScript gems I found were sophisticated enough to know how to load npm modules with common.js or ES module syntax, so my solution is to just build the JavaScript with a watcher and have that run as part of bin/dev.
-
Anyone having issues with M1Pro?
https://github.com/rubyjs/mini_racer/issues/190 has some info an then this PR: https://github.com/rubyjs/mini_racer/pull/210 that has been merged. Hope that all helps!
markdoc
- Markdoc – a flexible Markdown-based authoring framework built by Stripe
-
Ask HN: Stripe like API documentation tool?
Or please share any API documentation tools you use that is opensource and NOT Swagger.
Stripe has Markdoc[0] but it doesn't seem to be automated in any way.
[0]https://markdoc.dev/
- Nota is a language for writing documents, like academic papers and blog posts
-
Looking for a Knowledge-base Tool with SEO Optimization and Multimedia Support for my SaaS - Any Recommendations?
Try using https://markdoc.dev/ .. this is the documentation tool/editor by Stripe and it also powers the extensive documentation of the Stripe product itself .
- Show HN: I’m building open-source headless CMS for technical content
-
I read the full-GitHub-flavored markdown spec so you do not have to. GitHub natively supports many lesser known features including the ability to create diagrams, maps and even 3D models, directly from markdown text.
Extension frameworks like Stripe’s, MarkDoc allows documentation to have code examples in multiple languages.
-
Rust Is the Future of JavaScript Infrastructure
I'm bullish on Rust, but there's a long way still to go. The overhead of passing values across the boundary between JavaScript and Rust is quite high. There are a lot of cases where you want to be able to provide a dynamic configuration to Rust, ideally in JavaScript, and that's still pretty costly from a performance perspective.
One of my projects (https://markdoc.dev/) is a Markdown dialect that supports custom tags and a React renderer. I recently experimented with implementing a parser for it in Rust in order to increase performance. My Rust-based parser is significantly faster than my existing JavaScript parser, but then I have to serialize the AST in order to move it from Rust to JavaScript. I'd like to implement the entire processor in Rust, but I need to let users define custom tags in JavaScript, and the overhead of going back and forth is far from ideal.
I'm hopeful that the recently-ratified Wasm GC proposal—which introduces managed structs and arrays that don't cost anything to pass between the Wasm environment and JavaScript—will help a lot. But it's going to take awhile for Wasm GC features to land in LLVM and be properly supported in Rust.
-
Alternatives to Madcap?
Consider going down the docs-as-code route. There are open source options that require an investment of time for you to become familiar with the tech stack, so learn Markdown and Git if you haven't already. Stripe (who many consider to have some of the best documentation available) created Markdoc as a means of easily maintaining solid docs with some of the fancy quirks of the upper-end doc tools, including content re-use.
-
Use Markdoc and Next.js to Build a Git-powered Markdown Blog
Most modern developer blogs and documentation websites have one thing in common— they run on JAMstack (static websites) and their content is file-based and powered by Git. This allows multiple developers to collaboratively edit content with perks like versioning and version control. In this tutorial, we’re going to see how we can build a simple yet powerful and interactive blog with Next.js and Markdoc.
-
How to create documentation site
Hola. Former Stripe employee here - they use Markdoc: https://markdoc.dev/
What are some alternatives?
execjs - Run JavaScript code from Ruby
mdx - Markdown for the component era
libv8-node - Package libv8 from Node
MkDocs - Project documentation with Markdown.
quickjs - Thin Python wrapper of https://bellard.org/quickjs/
vue-markdoc - Vue renderer for Markdoc
PyMiniRacer - PyMiniRacer is a V8 bridge in Python.
readme_renderer - Safely render long_description/README files in Warehouse
pyduktape - Embed the Duktape JS interpreter in Python
next.js - Markdoc plugin for Next.js
markdoc-rails - Example of rendering markdown using Markdoc with Ruby on Rails
vrite - Open-source developer content platform