8 ms·
Free static site generator for small restaurants and cafes
- davisr 10mo agoNo one should need JS to see the soups when that could be handled perfectly fine with CSS. I wish restaurants would just make their homepage a PDF of the menu.
- stronglikedan 10mo agoA PDF can't get the user halfway through the delivery process before seeing the soups.
- dugmartin 10mo agoI agree. There are lots of free AstroJS themes for restaurants that generate static html that you can host somewhere like Firebase hosting for free. - https://astro.build/themes/details/astropie/ https://astro.build/themes/details/astropie/ - https://astro.build/themes/details/astrorante/ https://astro.build/themes/details/astrorante/ - https://astro.build/themes/details/tastyyy-restaurant-website/ https://astro.build/themes/details/tastyyy-restaurant-websit...
- adzm 10mo agoI love Astro; there is so much you can do with it.
- bryanhogan 10mo agoI was going to recommend the same! Astro + Astro theme + an LLM will get you very far these days.
- riveralabs 10mo agoI used to be all in on Jekyll. Now all I use is Astro + Tailwind + Claude, and it’s magic. No need for a theme with this combination.
- burningChrome 10mo agoAll of my static sites that I've built lately have been done on Netlify. Super easy to hook up to Github and the form handling is a breeze. I've known Mathias going back to when he was personally answering emails and promoting JAMSTACK so you can say I'm a bit biased. lol Netlify is a great company that I'll always support.
- hunter2_ 10mo agoI agree with no JS, but why PDF over HTML? Hard-wrapping for letter-sized paper (ok, a PDF doesn't need to be letter-sized, but most menus are approximately that) with crapshoot reflow options for soft-wrapping in certain viewer apps is pretty dicey on a phone, mitigated only slightly by rotating the phone sideways. The only benefit I can think of is if it leads to more frequent updates by the restaurant, due to limited skillset.
- neuroelectron 10mo agoThe complexity between the modern web and a pdf is marginal. PDFs do get printed for menus. Editing a PDF and uploading it to the site, integrating prices and syncing between the site, online ordering, PDF menus is just part of the business. There are lots of platforms that help with this such as Slice.
- ok123456 10mo agoIf the restaurant doesn't have anything besides a menu, /index.pdf is fine—no web design required; reuse the menu they're printing anyway. The trade-off is that they'll have to pinch/zoom if they have a small display. It's a minor inconvenience to make the exact information they want available instantly.
- vector_spaces 10mo agoindex.pdf won't tend to play nicely with screen readers and also sucks for people on crappy mobile networks, so it's a minor inconvenience for some, and straight up unusable for others
- hyperhello 10mo agoBut you can easily serve a desktop version or a small screen version.
- ok123456 10mo ago> index.pdf won't tend to play nicely with screen readers The horrible Wix sites most restaurants end up using are likely less accessible than a PDF. The Adobe PDF reader can reflow text. > also sucks for people on crappy mobile networks The average wysiwyg site builder produces bundles that are an order of magnitude larger than a PDF menu. Also, the PDF is easier to cache correctly and can be easily saved for offline access.
- cess11 10mo agoThe soup shows for me without JS.
- mvdtnz 10mo agoNo one is browsing the internet without JS today (within margin of error). Whether or not this "should" be the case, it is.
- spartanatreyu 10mo agoThis is the wrong way of looking at it. Making a website's basic functionality work without JS isn't just for the random users who switch off their browser's JS runtime. It's also for the people who have a random network dropout or slowdown on a random file (in this case a JS file).
- lmm 10mo agoThen why does that same logic not apply to the CSS file?
- spartanatreyu 10mo agoI mentioned that in my other comment. When CSS doesn't load, it's immediately apparent and the user knows they need to reload the page.
- lmm 10mo agoIsn't that exactly the opposite of the "progressive enhancement" philosophy anti-Javascript people tend to claim to subscribe to?
- spartanatreyu 10mo agoHow? It doesn't have anything to do with progressive enhancement.
- lmm 10mo ago> How You're saying that when the enhancement doesn't work, it's desirable that "it's immediately apparent and the user knows they need to reload the page". That's the opposite of what progressive enhancement people normally argue for.
- fullstacking 10mo agoTo be fair this project uses zero 3rd party npm modules for runtime. The total runtime JS it uses is 1.76kB in size.
- Groxx 10mo agoIt also works just fine without JavaScript, so I'm not sure what they're trying to do with that comment.
- hunter2_ 10mo agoNo, the comment correctly points out that the "Soup" button (and all of its siblings... the food categories) is inoperable when JavaScript is disabled. You're stuck with "All" instead of nice filtering. There are ways to achieve this without JavaScript.
- Groxx 10mo agoah, gotcha. that would be nice, but tbh it seems rather minor? anyone who knows how to disable javascript (an extremely-clear "power user" signal) can probably be expected to know how to search a page too.
- hunter2_ 10mo agoIt's just peculiar especially since the repo readme [0] specifically says "Minimal JavaScript - Only when truly needed" and yet it's used for this food category filtering, a feature for which JS is certainly not truly needed. [0] https://github.com/Local-Cafe/localcafe-lite?tab=readme-ov-file#philosophy https://github.com/Local-Cafe/localcafe-lite?tab=readme-ov-f...
- pimlottc 10mo agoPDF is a terrible experience on mobile
- ErroneousBosh 10mo agoPDF is an enormous pain in the tits to view on a phone and has significant accessibility issues for people using assistive technologies. It's not even about blind people. People with ADHD or dyslexia use assistive technology, which frequently makes an absolute horlicks of interpreting PDF. It's one of the reasons I'm trying to move a lot of documentation at work away from PDF and onto just straight HTML. Plain old HTML, with thin CSS on it to make it not be black-and-white Times New Roman. Kicking it oldschool.
- nottorp 10mo ago> People with ADHD or dyslexia use assistive technology Wait for 2 more iOS redesigns and everyone will use assistive technology on Apple devices :)
- victorbjorklund 10mo agoPDF:s are not great on mobile. And you can’t easily translate them (I often translate restaurant menus when they are on a website with just 2 clicks)
- AlotOfReading 10mo agoTranslating anything that renders on my screen is the same two clicks to open an LLM with the screen contents. I expect that will become an increasingly universal experience as LLM features get shoved into every nook and cranny of tech.
- refactor_master 10mo agoThere's been a translate button for years which hooks deep into every nook and cranny of the website's HTML. It works great, it's built in and many restaurants even advertise it for tourists, because it's a zero-effort translation of their existing menu. Plus, it's low-data when you're inside a 1-bar basement restaurant. Using an LLM to translate the visible part of a PDF on a mobile... seems like the worst possible solution to the problem.
- noosphr 10mo agoIt's the worst solution, apart from the fact it works better than all the other solutions.
- jmyeet 10mo agoTranslating PDFs is more complicated than that because the strcture of a PDF document doesn't lend itself well to this kind of thing. For example: if there's a dish name with a 2 line description below it and some allergy symbols below that, in HTML you can imagine the document structure that produces that. In PDF terms that might be 4 separate objects and, in particular, the eyes can see the two lines are adjacent so they fit together but the document structure doesn't really represent it taht way, necessarily. This might also not work with translation because the lines are set for the size of the text they contain. Same for resizing the font. Put another waay, PDF should be viewed as a typeset and layout format, not a document format.
- venturecruelty 10mo agoNo one should need an entire PostScript interpreter to see the soup of the day, either. A restaurant menu is text and images. HTML and CSS are perfect for text and images.
- andai 10mo agoNobody should need 60 million lines of code (Linux Kernel 30M + Chromium 30M) to render some text and images ;)
- BrenBarn 10mo ago640K ought to be enough for anybody.
- lioeters 10mo agoI bet that's part of the reason why microcontrollers, embedded programming, and retro computing are all popular hobbies these days. A return to a simpler time, when programs are compiled to a few kilobytes and run as fast as the hardware allows. Graphics? Unicode? Who needs 'em, just a stream of ASCII and integers for me thanks.
- IAmBroom 10mo ago640K is enough to read a menu.
- samdoesnothing 10mo agoNobody should need a PDF renderer to see the soups. Actually, nobody should need an XML parser to see the soups either.
- glxxyz 10mo agoRemember during Covid where every restaurant's menu was a QR code on the table that linked to a PDF in S3?
- yieldcrv 10mo agoRemember how after Covid that didn't go away in tons of places
- foresto 10mo agoCovid ended?
- hunter2_ 10mo agohttps://www.reuters.com/business/healthcare-pharmaceuticals/covid-is-no-longer-global-health-emergency-who-2023-05-05/ https://www.reuters.com/business/healthcare-pharmaceuticals/...
- fullstacking 10mo agoNo one should need PDFs to see the soups when they can be handled perfectly fine with CSS scoped to print and save to PDF.... /s
- deleted 10mo ago[deleted]
- DoctorOW 10mo agoWhat an exhausting solution to a made-up problem. This is exactly the kind of functionality JS was made to provide. There's a lot more JS in the PDF.js renderer modern browsers, and if you're not using a modern browser it likely wouldn't render at all. As others have pointed out, you're asking restaurants to throw away mobile traffic, screen readers, anyone not on a mainstream desktop browser to save ~20 lines of code in a programming language you don't like.
- ThomasMidgley 10mo agoI wish restaurants would just make a homepage with menu _and_ opening hours. In my area most restaurants have no website. If they have a website it's often very hard to find their opening hours. Under 'contact'? Nope! At the footer? Nay! Maybe somewhere hidden in the menu PDF? With luck... Outside their homepage at google maps? Maybe. On their Tripadvisor page? Hahaha! Funny! Not.
- ChrisRR 10mo agoAs an embdded engineer I'm always disappointed at how much processing power and RAM is needed just to display websites with just images and text. The vast majority of them do not need javascript
- codewritinfool 10mo agoLink at the bottom of your example page results in 404. For me, anyway.
- fullstacking 10mo agoah yeah, sorry work in progress. There is a link to the repo https://github.com/Local-Cafe/localcafe-lite https://github.com/Local-Cafe/localcafe-lite
- hunter2_ 10mo agoI'm getting NXDOMAIN, and various online resolution tools [0] show the same. [0] https://mxtoolbox.com/SuperTool.aspx?action=a%3alocalcafe.org https://mxtoolbox.com/SuperTool.aspx?action=a%3alocalcafe.or...
- SchemaLoad 10mo agoIt's pretty sad how there doesn't seem to be any decent free options for websites which are easy to use. Squarespace and such cost a fortune which isn't worth it if you aren't trying to run a full ecommerce site. Plenty of services offer free hosting of static content but don't have any way a normal person can use them. Having to use a static site generator is too hard for non programmers. I'm just surprised we haven't seem some app that can act like a wordpress admin page but generating a static output you can host for free or very cheap somewhere.
- miladyincontrol 10mo agoA webapp or gui WYSIWYG static generator with basic git support abstracted away would go far for many. Just let it push to some private repo which cloudflare pages or similar would deploy off of. It really feels like the only part of a non-static site most want is an editor. I absolutely loathe the matter but I do see why some restaurants only maintain a facebook page for their online presence.
- manuelmoreale 10mo agoNot exactly what you’re asking for, but this is nonetheless an interesting approach: https://getpublii.com/ https://getpublii.com/
- burningChrome 10mo agoThis is what Netlify does. Hook up a private repo and deploy. Make a commit and it auto builds and you have a CI/CD pipeline. This is what I build all of my static sites with. You can do almost any JS framework like React, Angular, Vue, etc. Netlify does way more than this, but it makes hosting static stuff super easy. https://www.netlify.com/ https://www.netlify.com/
- m-p-3 10mo agoSome don't even bother, and the only thing they update (when they remember about it) is their business hours on Google Maps.
- rrr_oh_man 10mo ago
- bhelkey 10mo agoA couple of things: First, the site generator is MIT licensed but I don't see a link to the license. If someone forks this generator, would they be in compliance with MIT license requirements? Second, the images linked in this site are quite nice. I can imagine someone choosing to use some of them as is. Are they yours to share? Third, it appears that you are targeting non-developers. I would think about how to make it as easy as possible to customize. Decisions like putting images in "priv/output/images" seems a bit confusing.
- fullstacking 10mo agoFirst: https://github.com/Local-Cafe/localcafe-lite/blob/main/LICENSE.md https://github.com/Local-Cafe/localcafe-lite/blob/main/LICEN... Second: pixabay Third: Yeah that's the challenge I'm working on at the moment. Thanks for the feed back. I do plan on cleaning up the repo so that you are not starting with the example and also plan on making a small tutorial video to show how much effort it takes to setup.
- captn3m0 10mo agoI'm not seeing anything very specific in the code - feels like this could be just another Jekyll theme and still work the same. There's some custom front-matter in markdown files, but change that to regular YAML and it will just work.
- fullstacking 10mo agoThere is some code for looking up the geo lat/log of locations at compile. not sure how you would do that. But yeah outside of that your are mostly correct. I used elixir because thats what I know and love so it was mostly just a personal choice rather than a technical one.
- deleted 10mo ago[deleted]
- mrasong 10mo agoHow should the menu be adjusted then? Baristas aren’t into code, no one’s gonna learn programming just to tweak a menu.
- busssard 10mo agothis is my biggest issue. if i think about my sister who is running a small patissery, she has issues even with a laptop. she lives almost entirely on her phone. so either the documentation has to be come a whole lot better. Wordpress was started this way.
- fullstacking 10mo agoThey are markdown files, if you can't manage a markdown file then you are not likely gonna have any easier of a time working in wordpress or anything for that matter. We assume people are so stupid, its not they are stupid, they have to learn wordpress admin, square space's admin, wixx, they all have a learning curve. The issue is time and effort. If the process is simple even if not elegant its still simple. In my case you are logging into github and navigating to a folder vs an admin and navigating to a specific section. Editing file directly in github vs hitting save on some form and site deploys via github actions without any other need. If anything my system offers version control baked in with about the same level of effort.
- zoobab 10mo agoPaper menu, no QR code or internet for me.
- ChrisRR 10mo agoWhy not both? If you're deciding where to go for lunch, it's very useful to have the menu online
- trmdttr 10mo ago[dead]