Hacker News new | past | comments | ask | show | jobs | submit login
Blot turns a folder into a website (blot.im)
581 points by angrymouse 11 months ago | hide | past | favorite | 136 comments



I announced Blot on Hacker News almost 10 years ago. Thank you all for helping to get it started. It was a nice surprise to see it posted again here today.

The goal of Blot is to bring the benefits of the static site generator to people who haven't heard of static site generators


Please increase your pricing transparency. I could not easily figure out the price of your hosted service without having to use a search engine.

Blot[1] (open source software) turns a folder into a website, and blot.im offers a hosted Blot service for $5/mo.

1. https://github.com/davidmerfield/blot


Fair point – I have just added:

https://blot.im/pricing


Some people are pointing out that they found it easy to read your pricing before you added this site. I’d like to offer a different perspective. So many tech products and startups lack this sort of easy to find clarity.

Many times in my professional life we’ve dismissed products we might have bought if they had a pricing page as clear as yours. Not so much because they necessarily did anything wrong, but because we rarely have the time to “research” tech products that are “nice” but not “necessary”. So where some companies might have sold us an eternal product license for $5 a month, they didn’t because they didn’t have this sort of pricing page, where they very clearly explain the exact price of their product in as few words as possible. Some may find that ridiculous, but I’m fairly certain that if we do this, then others does as well as we’re very rarely unique.

One of the consequences of having done this professionally at many organisations for two decades is that I also do it as a private person. Maybe that’s even more lazy, but it is what it is.

So I think you did well to add this!


I want to second this view--simple transparency and being upfront about pricing sets the tone for an entire ongoing relationship, and is even critical to beginning one. I have a 99 percent rejection rate of every website that doesn't put pricing up front, along with a customer service phone number. If I have to click more than once for pricing, and if that phone isn't on the landing page, the entire product goes straight into the ether. Ignoring these basics is a fundamental lack of respect for my time and attention as a customer, and I won't have it. I know this view is pervasive, yet dark patterns persist.


[flagged]


English isn’t my first language.


Completely ignore the troll, your reply was perfectly structured and I really enjoyed your take on decision making when buying software.


Devjab's comment was both relevant and informative. Yours was neither.


To be fair, it's very clearly fronted on the Sign Up form, which has a prominent button in the top right corner. A dedicated Pricing page/section would be nice simply because people often look for it, but it's not like they're trying to be sneaky or use dark patterns.


Yeah, this is just a usability issue for sure. Unfortunately for me, I didn't want to click "sign up" until after I could locate the pricing, leading me into a catch-22 situation.


I second this. Why would I want to click a sign up link without knowing the price in advance? No price no sale. Every service has a pricing page.

Anyway, it seems that they fixed it because there is a Pricing link in the menu now. Well done.


Ye "sign up" implies that you have accepted the pricing.

A common dark pattern is that you need to enter PI to get to the pricing so that they can call spam you forever. (I am not accusing the linked site of doing it, I haven't checked.)


Did you think it would sign you up without confirmation or something? It seems strange to me to not want to hit sign up to see how much it would cost.


Personally it never even occurred to me that the "sign up" button would show pricing - in fact it wasn't even apparent that this was a paid product. Usually services have a separate "pricing" link somewhere at the top that explain things.

I pretty much never click on "sign up" buttons unless i have already been convinced the service is something i want to sign up for.


I think of a "sign up" button as something I click after I've chosen to use that product. The button click signals my intent to do so. Having to click it to see pricing is something that would just not happen for me, because I'd never intend to sign up without seeing pricing.


I agree sign-up is not how I would look for pricing. Sign-up is something I click when I'm ready to commit to using but until then I'm looking for information and I expect something like a Pricing page.

If I can't find the pricing I'm never going to click "sign up"


Indeed. In fact, I will refuse to sign up out of spite.


HubSpot popularized collecting emails before providing pricing. A lesson from corporate sales in other industries. (Urgh)


But at least they'd offer something, even if it was just tepid whitepaper about CRMs or email marketing.


The interesting question is how did you arrive at this site layout where the pricing is hidden in the sign up page when every single SaaS site on the internet has a pricing link in the header and in the footer. Genuinely curious.


I second this, in fact from the site i didn't even knew this was something you'd pay for or that it was open source.


Been a happy customer since 2018! Thank you so much for making it.


As a HN reader it was a little hard to figure out if this was a static site generator or a dynamic script like those old school php files that turned a folder of images into a image gallery website.

But for your target audience, it might be confusing to compare your service to those.


This seems like a very nice product.

I wanted to look into the developer guide to customizing a template. It's to add RTL support for Arabic content.

This give me error tho https://blot.im/developers


Are table of contents on posts possible?


Just what I needed!


Express application that converts files to HTML with pandoc and serves the results, with a dashboard.

The TODO file in the repo[1] is fascinating.

1: https://github.com/davidmerfield/Blot/blob/39d9583395c190534...


Fascinating as in should have been added to .gitignore?


It's intentionally public. The news page is generated from todo.txt and my git commit messages:

https://blot.im/news


Interesting, he has links to his inbox in the file…!


Unusual, but not a security risk, I hope?

Thankfully, only the first name of the recipients is listed.


> The TODO file in the repo[1] is fascinating.

I had no idea!


Related. Others?

Blot is a blogging platform with no interface. It turns a folder into a website - https://news.ycombinator.com/item?id=32041158 - July 2022 (9 comments)

Blot – a blogging platform with no interface - https://news.ycombinator.com/item?id=17314858 - June 2018 (120 comments)

Blot – blogging from a Dropbox folder - https://news.ycombinator.com/item?id=10078031 - Aug 2015 (17 comments)

Show HN: Blot, a static blog powered by Dropbox - https://news.ycombinator.com/item?id=8183498 - Aug 2014 (36 comments)


This makes me think of the early/mid-2000s & https://blosxom.sourceforge.net. Blosxom had this delightful concept of file extensions as "flavours." For example, you could have a ".rss" flavour that would present that hierarchy of your site as an RSS feed if you added ".rss" to the URL. Brilliant!


This used to be fairly common. Reddit is another site. A company I worked at.aroind the same time also had .xml, .rss, .atom. .xml would serve up the raw xml our middleware generated, which was normally "rendered" via xsl (what can I say to redeem myself for that?) server side. It was great for both debugging (you could browse the site in "xml mode") and to provide an API.

I still like the url approach - being able to browse until you have the view you need, and then just copy the URL and change format in order to find the right API call can be very nice. The challenge, of course, is that you need to be very cautious about which urls you guarantee will be stable, or you'll be locked into a site structure you might regret.


> xsl (what can I say to redeem myself for that?)

Why? XSL is awesome even if a little arcane now.

Time makes fools of us all.


Try to format dates in a generic way with XSL.

It's doable. It's also a massive pain.

The big problem was that the easy way out is that your XML ends up being changed to be "XSL-friendly", which means a ton of concessions that effectively encodes knowledge of the expected presentation no matter how much you want to keep it largely semantic.

Small presentation changes far too often result in changes to the XML to accommodate weaknesses in XSL.

I still like the idea. But not the use of XSL to achieve it. Unfortunately, we don't have any great alternatives that aren't horrible in all kinds of different ways.


I briefly contributed to Blot (its code is Public Domain [1]). David keeps working on Blot constantly, and it's pretty cool to see the progress changelog with direct mapping to git commits [2].

1. https://github.com/davidmerfield/Blot

2. https://blot.im/news


Thanks for contributing – Rakhim created the 'questions' forum:

https://blot.im/questions


I recently migrated my own static Hugo blog onto Blot, and I just about couldn’t be happier with it.

I’m not versed in web development, but Blot’s developer (David) seems to have a great goal in mind & similar enough priorities to what I wanted that it was a great fit. I finally got to set up the photography site I’d been planning, too.

It’s http://ristrettoshots.com/ if anyone was curious what one take on a Blot photo site would look like.


We've come full circle


Soon we may even be able to put a website into a folder.


CTRL+SHIFT+N New Folder/website

EDIt: this is a good thing.


The internet is made of tubes. And tubes are made of circles.

2024 is the year of PHP.


Jokes on you. I've been using PHP since.... 2001. Shit, that's a long time.


Well, I'm off to learn about Apache Tomcat so I can be ready for 2025.


Perl CGI is the way to go to get ready for 2026


Maybe Vercel and Netfly could think about doing Perl serverless.


I laughed, thanks :D

If there's anything to learn about humanity it's that we apply this technique in many ways.


If I remember correctly earliest version of Apache also did this (though it used S/FTP instead of dropbox and .html instead of .md)


Current versions of Apache also do this.


So what you are saying is that the web server Apache is able to serve static web content?


Now how do I serve my micro service from here? Just drop in a js, py or rb file :-)

What if I drop in a tf file?


WTF is "tf"?


Terraform i assume


You used to be able to serve websites via a Dropbox of .html files. It supported CSS, JS and everything. At some point after 2015 they turned off that capability .


1. Old solution becomes new again

2. Folks clamor that we actually had things right the first time

3. Hype dies down

4. Blog posts complain that the solution "just doesn't scale" and that the complete opposite approach (or some hybrid) is better

5. GOTO 1


GOTO

1. Old solution becomes new again

Points 2 and 3

4. Dijkstra enters the picture with the paper: Go To Statement Considered Harmful [1]

5. Wait, did this ever happen? :’)

I wonder if there’s a modern language practice that extensively uses GOTO

[1] https://homepages.cwi.nl/~storm/teaching/reader/Dijkstra68.p...


I use goto whenever I have the opportunity, which, sadly, is not that often.

I don't know why people don't like it -- it's essentially an unconditional jump (can replace all while(true);, for example).


Haven't tried blot, but I discovered that with a basic stylesheet "tree -H" can be super useful.


Show ?


Just man tree if it's on your system. I used it for temporary jobs, like where I needed to give some students a quick website of a folder of source files. Not much to it.

     -H baseHREF

     Turn on HTML output, including HTTP references. Useful for ftp sites.
     baseHREF gives the base ftp location when using HTML
     output. That is, the local directory may be `/local/ftp/pub', but
     it must be referenced as `ftp://hostname.organization.domain/pub'
     (baseHREF should be `ftp://hostname.organization.domain').
     Hint: don't use ANSI lines with this option, and don't give more
     than one directory in the directory list. If you wish to use
     colors via CSS style-sheet, use the -C option in addition to this
     option to force color output.

     -T title
     Sets the title and H1 header string in HTML output mode.
and that's about it!


Oooooh, sorry, sorry. I was thinking more about the CSS !

But even so I didn't check out `-H`, I thought it was just the help flag and immediately thought the comment was a bit lacking, my bad.


I do a low-tech version[1] of this using tree-1.8.0...

[1] https://every.sdf.org/


Very creative and retro!


A similar thing: http://tiiny.host/

I use them and I'm a big fan.


It seems a bit different. Blot keeps pulling changes from Dropbox/Google Drive/etc, so you don't have to upload the folder manually.


https://site44.com is kind of similar, except that all files in a given folder do not become public


Whoa, “Remove ${HOST}’s banner”. That brings back memories.


Longtime fan of Blot and the founder's (David) work.


Wow, I’m surprised I’ve never never heard of this and I’ve been working in web dev for 10+ years. I love this idea and I have some things I want to put out there without much management on my part. This will be perfect


I used Blot for about 5 years for Second Breakfast. Its ease of use got me started blogging. Very cool app/service, highly recommend.

I had it strung up with RSS to Mailchimp to auto-send new posts to a mailing list. Recently just switched to Ghost to make that more integrated, we'll see how it goes!


https://spinup.dev is a similar thing I made a few years ago, with free analytics out-of-the-box for each deploy. Syncing changes is a feature I'd like to add, but time is tight for side-projects at the moment.


I've been using Blot for years (for two websites), and I can't say enough good things about it. Happy to see it featured here!


Can someone explain this to us 35+ year olds? What am I missing?


I'm 48 and I get this (although I prefer Hugo and Github pages).

What part is confusing to you? I'm happy to help.


Basically you provide the app a folder of files and that app transforms the files into web pages and then (maybe?) serves them.


It let's you create a simple web site without writing any HTML. You just provide a folder of files (text, photos) and choose a template, and it'll turn that into a web site for you.


"Static Site Generator as a Service."


It's like if dropbox automatically exposed your files on the web.


I think you mean when, not if.

The public folder feature was really nice.


Drop had that features. I was warned multiple times when I started hosting my file download away from my website host to Dropbox.


I built something similar - https://github.com/mxsjoberg/md2website


Props to _0vzt for keeping Blot rocking for a decade - it's like they've got a secret sauce for static site magic. And yeah, Sephr's right about needing clearer pricing. It's like playing hide and seek with numbers! Lastly, devjab's take on pricing clarity is spot on. It's a breath of fresh air when you don't have to turn into a detective to figure out what something costs.


This is pretty much how my website worked back when running Dropbox as a headless service on Linux was “easy” and bloat-free. Glad to see it as a service.


Love the simplicity! Looks like this shouldn't need a server, but instead could just be a static site generator. Am I missing something?


Looks to be principally a turnkey service that shelters consumers from the details of web servers and static site generators.


How do you want to serve pages without an http[s] server ?


The next innovation I expect to see on HN is a service that, on a set schedule, gathers articles about a set of topics that you follow, prints them out onto paper, and delivers them to you as a bound volume for easy perusal.

This has a number of advantages for privacy (there's no way for the publishers to know how much time you spent reading each story), offline-first availability (dead-tree is the ultimate), and sharing (you can hand someone the entire volume rather than just a link to it, and they get the whole contents, all offline).

It really sounds like it could be the hot new thing, if only some forward-thinking VC would invest in it.


You are joking, but I honestly would like it to get a personalized weekly collection of articles, a wiki lemma, a comic or two and some reviews delivered as PDF or on paper.

The crux being that it's personalized. It could use my Pocket, RSS reader, reddit/hn voting habits, even my bookmarks db as inspiration. I don't know or care, as long as it manages to deliver me a week's worth every week. Filled with content that I'm going to like 90% of the time, i'd love it and pay for it. I'd even accept ads every few pages.


This is what Google promised, and I hope the near future of AI is able to deliver on.


From what I understand and from what I know of Google (or any big tech), this won't be a "weekly" digest, but rather a constant barrage of "personalized" attention seeking push notifications. Breaking news! Something you should comment on! This movie is trending, watch it now! Your friends have read this book, why haven't you!? Kinda stuff.

What I envisioned, is truly slow paced. Like the "old" in depth weekly magazines. Or journals. Something that I have a week to go through, and that doesn't get stale if I don't.

Maybe I should make it myself (though I guess that's my impulsive ADD brain tricking me into yet another hare chase)


> prints them out onto paper, and delivers them to you as a bound volume for easy perusal.

You joke, but this would be great, and something that every digital solution has failed at replicating so far.

The best we have are newsletters (each from a different site/author) which clutter up my inbox and make me not want to read them. A printed weekly digest of everything (preferably with the comment threads included) would be a great way to spend a weekend.


You can get a subset of the English Wikipedia printed and bound, that gives you even more privacy, as you don't need to share the topics you are interested in with any electronic service.

Hint: Using a public (book) library also means your reading behavior is tracked by intelligence agencies, unfortunately, so you need to own the books you may want to read.


Sometimes I wish you could link directly to specific comments on HN to pass around...

Although it needs the context to really appreciate the funny.


The link to a sepecific comment is on the timestamp: https://news.ycombinator.com/item?id=38810949


I'm guessing they mean non-static server. I.e. just nginx without node or php or ruby or python should suffice to serve the static files.


Is there an option to pay and to self host? Recently my boss asked me for things to spend money on to use up some budget at the end of the year. We can't use hosting services but would pay for support or an "enterprise" edition if we could host it ourselves. Probably not your market but just something to consider.


Maybe buy the hosted service (to pay them), don't use it, then just use the Open Source?


You know what else turns a folder into a website? Installing nginx from your distro repositories. Then every folder beneath the www dir is a website. I'm not joking around. Files in folders is really the best way to make websites.


I’ve been using blot for YEARS and there’s a huge segment of people in the ttrpg world who have followed suit after being burned by so many platforms. Dev has been super helpful and responsive. Will be a customer for life.


Cool idea. This is a project I’ve done that feels in a similar vein. https://github.com/pseudosavant/player.html


I’ve been a happy blot user for a while now.

Thanks for building this.

Also, my website is https://independentlypoor.com/


On an iPhone 14 Pro your nav bar covers the content btw https://i.imgur.com/8OZTys7.png


I sort of have a bad taste about this project. I'll use proper support channels and won't rant here, but what happened was that my card was being declined trying to sign up. Thought I could self-host on a linode somewhere given the code is in the public domain, but there is no documentation :/


Is it possible that you are in India and affected by recurring billing regulations? Email us and we'll get you up and running:

https://blot.im/contact


> Is it possible that you are in India

I am, unfortunately.

> Email us and we'll get you up and running

Will do. Thank you very much!


I love this service. Happy customer!


S-so does Apache?


Apache only listens to us nerds


Does anyone remember scriptogr.am? It was a similar idea, but it's long gone now.

https://hn.algolia.com/?q=scriptogr.am


How does this compare to Zrok's integrated server? I've been very impressed with zrok even though I haven't done anything with it in production yet.


I'm the lead developer of zrok. I've also had a habit of building static site generators over the years. Might be an interesting little crossover possibility.

There's a bunch of zrok stuff in the pipeline that's way more important to get to first... but maybe down the line we can support some kind of extension mechanism in zrok and static site generators could just sort of snap right in...

Stuff to think about anyway.


It might be more similar to zrok's caddy integration where you can get "fancier" than just delivering files? Blot is trying to do different stuff than zrok is it seems. Like, it's processing markdown, zrok doesn't try to do that for example. zrok is more about sharing easily. blot doesn't appear to be open source from what i can tell and it's not self-hostable as far as I can tell. seems pretty different overall. I'm not exactly sure what blot is trying to do/be.



Would be cool if it could be self hosted


It's not trivial and mostly undocumented, but not terrible. https://github.com/davidmerfield/blot



Isn't that literally just a web server?


Only if the web server transparently converts non-HTML sources (Markdown, Word docs, Google docs, LaTeX, image galleries) into HTML on the fly.


Web browsers can render more than just HTML, can't they? Plain text at the very least, many do PDF as well.

That function really seems like it should be in the browser anyway. The server serves, the renderer renders.


if the server side file format has something semantically similar to #include then your lovely simple binary model fails (without browsers having the same)


HTML has this, yet browsers seem to cope...?


nginx has a lot of modules, this one can render markdown apparently

https://nginx-extras.getpagespeed.com/modules/markdown/


Especially older servers have quite a lot of those types of capabilities, rendering directories to fancy indexes, processing input files in various ways.

Like they'd even spawn arbitary processes for you (w/ CGI).


if json and xml files become database tables we can get rid of everything else


How do projects like this routes traffic? Similar to ngrok?


> Files and folders whose name starts with an underscore do not become posts or pages. You can link to or embed them in posts.

So you cannot link to "posts"? Only to files whose names starts with underscore?


You can link to posts. I imagine this feature is mainly to have images to use in blog posts that do not become standalone pages on their own.


You can specify URLs for specific posts/pages via tags in the post/page file & then link to those URLs directly on other pages.


I see. thanks


How about dynamic data from remote db ?


if only this website didnt autoplay


An interesting idea!


AKA www.creedthoughts.gov.wwwcreedthoughts


If there only was a Docker image...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: