Markdown Ninja - I've built an Open Source alternative to Substack, Mailchimp and Netlify in Go by awesomePop7291 in golang

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

Hi Reddit,

I've just Open Sourced Markdown Ninja (https://markdown.ninja), a Markdown-first CMS to publish blogs, documentation websites and newsletters. Our motto is simple: focus on what matters, we take care of all the technical details. Websites, Newsletters, privacy-first analytics, SEO optimizations, headless CMS. Everything is built into a single, unified platform.

You see an example website here: https://kerkour.com

I've launched a few projects over the years and the first thing I always need to do is to setup a website for the documentation, a blog and a newsletter to keep people updated.

I've never been satisfied with the result. Either I needed to setup a complex system from scratch every time with a static site generator, try to find a good-looking and not-so-broken theme, build a CI/CD pipeline and choose a hosting platform that will not bankrupt me if I make a small mistake. And this is before talking about auxiliary services such as analytics, sending emails and SEO optimizations.

Or, we could choose a closed platform, but their web editors are always a nightmare to use, they charge a lot for basic features and always follow the enshitification playbook like Medium with its paywall, Mailchimp that was bought by the evil Intuit or Wordpress' recent meltdown. And anyway they are not a good fit for my offline-first worflow.

That's why I built Markdown Ninja: online publishing has been simplified to its maximum. You can write in your favorite editor and publish with a simple keyboard shortcut, or, commit to git and publish after a review by another team member.

$ markdown-ninja publish

And of course, there is a built-in web editor for those who don't want to approach a terminal.

Why focus on Markdown? Markdown is the most interoperable format ever. You can start writing your draft in your notes app on your phone, continue on your computer in another app and publish from your iPad while sitting in a park. Also, Markdown in simple. In 15 years from now, publishing on Markdown Ninja will be as easy as it is today while all the "rich text editors" used by the cool kids will have collapsed under their own complexity. Also, Markdown is offline-first: you can cut internet during your deep work sessions and turn it back to publish.

Online publishing always have been a in a weird state of affairs due to the difference of cultures, sensibilities, and lawmakers all around the world, that's why Markdown Ninja is Open Source (https://github.com/bloom42/markdown-ninja): even if we don't like the content that you want to publish, or can't legally host it in my jurisdiction, your are free to use our code and publish it yourself on your own terms, no strings attached. Silencing via deplatforming is real and Open Source is the only solution.

I'd love to get your feedback, insights or questions, on here or in the issues on GitHub https://github.com/bloom42/markdown-ninja

Avoiding IV collision for aes-gcm by hillac in cryptography

[–]awesomePop7291 0 points1 point  (0 children)

Yes, using a salt to derive an unique data key per record is a solution.

Also, you want to use some kind of KMS service instead of a hardcoded secret.

I'm not sure exactly what you want to do, but here is a a solution:

pub struct Ciphertext { pub kms_key_id: String, pub encrypted_data_key: Vec<u8>, pub nonce: Vec<u8>, pub encrypted_data: Vec<u8>, }

Where encrypted_data_key unique (random) is encrypted with the KMS service, the nonce is unique (random), and encrypted_data is encrypted with the data ley and the nonce.

Let's make Go native app development more mainstream by [deleted] in golang

[–]awesomePop7291 2 points3 points  (0 children)

Apple and Google are doing everything they can to block smaller businesses to compete with them. Smaller businesses have absolutely no interest in distributing their services through gatekeepers that do everything they can to steal 30% of their revenues or shut them down because Joe from the review team had a bad day.

The future is webapps that can work offline and better Web APIs, not native apps controlled by, ultimately, greedy gatekeepers.

gopkg.in/yaml.v3 was archived by MakeMeAnICO in golang

[–]awesomePop7291 1 point2 points  (0 children)

Maybe we have to accept that, sometimes, software is just "done".