I do HTML from scratch and Flask w/HTML templates at most. Adding a couple of CSS files is all I'm looking towards, not a bunch of weird React code (which imo looks ugly).
Why are they bad for SEO? The author seemed to be talking more about CSS and JS rather than content - does not using bootstrap or ReactJS mark you down on search results?
I can't think of any reason why they would be. SEO things to do on your own site are all about content, markup - nothing about a tiny site is a problem here. In fact, speed of website is (was?) a important SEO factor - so by definition tiny websites start with a massive plus.
I made that _tiny_ website for evenings with friends. It works great. You enter a few names, hit the save button, you get a list with scores and a +1 button for each players. When you refresh the page the scores are reset. The most important feature is the _ding_. The ding makes it fun.
It's ridiculously small, but it brings lots of fun.
It's tiny, it's fun, it's enough. Keyword : enough. Yes I could add a preventDefault, but I don't care. Really, I only entered the names of my friends once, it has been in my localStorage since, and it's only really meant to be used by me.
I didn't see myself asking Tom Scott for his sound effects, the ding is also not the same. And my friends and I have our own gimmick, generally more cheese-based (raclette or fondue) than biscuit-based.
Yeah! I am with you on this. I've used nothing but HTML/CSS for all of my side projects for years. I manually create, update, and publish each page. Hell, I still drag and drop via FTP. It is indeed very fun.
Here's a screenshot of my latest project, nothing fancy, just starting to tinker with Tufte CSS and typography (Lyon Text and Concourse): https://cln.sh/BzBD
It's interesting to note that the website content itself for this article is 5,045 bytes (HTML + CSS), but the analytics code (firebase-analytics.js) is 26,458 bytes, and firebase-app.js (whatever this is?) is 19,865 bytes.
Not a criticism; analytics is important & maybe the app JS is too. Just think it's worth bearing in mind that it's really easy to blow out your website's total delivery impact to users by several times with third party includes.
Even for small personal projects, analytics can give you a lot of insights into what your viewers like. Things like session duration and bounce rate, broken down by page, can tell what content people enjoy and what contents needs some work. Also useful to know what fraction of your users are recurring versus new users to tell whether people actually return to your site or if they just check it out once. Lastly, the refer stats can help you figure out what other sites and communities are interested in your project so that you can further engage with them.
Some people care about any of that stuff, but it's perfectly reasonable to make a site/page/app that just does something without trying to grow a community or engage or anything.
Things like session duration and bounce rate, broken down by page, can tell what content people enjoy and what contents needs some work.
All those things can be gathered from the initial request if you can set a cookie on the user's machine using a cookie header. If you're Firebase then you'd need a request for firebase-analytics.js to set the cookie, but the file itself could be empty.
Also useful to know what fraction of your users are recurring versus new users to tell whether people actually return to your site or if they just check it out once.
Once the cookie is set you can get all this from the server side logs.
Lastly, the refer stats can help you figure out what other sites and communities are interested in your project so that you can further engage with them.
Referers, if they're available at all, come in an HTTP header so once again server side logs would give you this data.
There is no reason to serve any JS for logging unless you want browser fingerprinting data like the user's window size. If your analytics script is more than 0kb then you're tracking people.
This is so incredibly true. It's astounding how an entire generation can't be bothered to look at their own server logs and think they need to pipe it off to a third-party to let them present graphs to you.
To be fair, you can't tell how long someone spent looking at page using just cookies. You can't distinguish between me (a) loading your page then immediately closing it, (b) loading it, reading it for ten seconds, then closing it, (c) loading it, reading it for ten minutes, then closing it, and (d) loading it, leaving the tab alone for ten minutes, reading it for ten minutes, then closing it.
But it doesn't take 50 kB of JS to be able to do that!
You can't tell if I load a page and then walk away and spend 5 minutes making a cup of tea, and then come back and close the tab without looking at it either. Even with JS. Assuming that having a tab active and focused means a person is engaged with the page is false.
Also, believing a page is better because I spend 10 minutes on it rather than 5 is nonsensical. Am I reading everything (good) or am I hunting around for some piece content and not finding it (bad)?
Time on page is a stupid metric that doesn't measure anything useful.
And that's when things get seriously invasive and people start saying "Why are you using a 26kb tracking script?"
If you collect information about how often a user is moving their mouse and scrolling the page in order to tell how long someone has been on a page then you've moved from collecting what's useful to collecting everything you can just in case it's useful. That decision comes at the cost of invading everyone's privacy, and that needs to stop.
I'm working on Plausible Analytics which is only 1.4 KB right now and provides a modern dashboard. It also doesn't use cookies and doesn't collect personal data so you're not required to show the cookie/GDPR prompts which would make tiny websites much less tiny.
You claim that using your analytics doesn't require user consent:
> "Plausible does not use cookies and does not collect any personal data. This makes us compliant with the different cookie laws and privacy regulations. It means that you are not required to annoy your visitors with a cookie notice if you’re using Plausible analytics." [1]
> "Compliant with privacy regulations: Google Analytics places cookies and collects a lot of data from your visitors. You’re required to have a privacy policy, to show a cookie banner and to obtain consent for GDPR. Plausible Analytics doesn’t use cookies and doesn’t track personal data so you don’t need to annoy your visitors or worry about those prompts." [2]
It would seem you are collecting PII and processing it server side (?), e.g. calculate_fingerprint here [3].
Care to explain how that doesn't require user consent?
Instead of setting a cookie with a unique user ID, we simply count the number of unique IP addresses that accessed your website to determine the visitor count.
To enhance the visitor privacy, we don’t actually store the raw visitor IP address in our database or logs. We run it through a one-way hash function to scramble the raw IP addresses and make them impossible to recover.
To further enhance visitor privacy, we add the website domain to their IP hash. This means that the same user will never have the same IP hash on two different websites. If we didn’t do this, the hash would effectively act like a third-party (cross-domain) cookie.
Network Address Translation allows many unique users to share the same public IP address. For this reason we also add the User-Agent string to the hash, although we don’t store the actual User-Agent string.
with static sites server-side analytics are doable. You can still cookie the browser, record it to access log and you can get pageviews and uniques easily
Problem is if you're using a CDN it might not give you access to complete logs. Still there's at least one better free option than GOOG analytics IMO[0]
So? I have javascript disabled so a frontend analytics option also won't give you complete analytics.
It's a tradeoff, you get to decide if you run code on your visitor's computers without consent and get analytics that are wrong in one way, or if you run code on your server with your own permission, and get analytics that are wrong in another way and simpler.
It worked fine for me, and judging from comments on this page that respond to the article not just the title, for many others.
If you see this message in Firefox for many sites (try some random sites you rarely visit) it's probably a local problem such as "Anti-Virus" software or a "security" appliance helpfully making stuff unsafe. Get rid of them if possible.
It is possible that, as the message says, there's actually "Possible Security Issue" just for you, or some subset of visitors, and we can't really help you diagnose that. Maybe your ISP, or your government, or that nerd neighbour kid who said she'd fix your WiFi are trying to snoop you. But probably not.
It's also possible the server hosting this went a bit haywire maybe under the load. It's clearly on some cheap bulk host and those can be a bit flaky.
I really like the concept lets say you want to include a code snippet does it support the syntax highlighting and do you write a blogpost in plain html or markdown
You can always write in Markdown, say with iA Writer, then export to HTML. I typically write offline, then type and revise on the computer, then copy paragraphs over to Sublime. Code snippets and syntax highlighting done with CSS.
I love this initiative in principle, but the instructions left a rather sour taste in my mouth. Create a Firebase app, download and install Node and run some arcane cli commands? For what? To upload a 10-byte HTML file somewhere?
Please, do yourself and us a favour and sign up for a free account on https://neocities.org, and make a quirky website by hand for all of us to enjoy.
I half want to write a post like this but with dead-simple instructions, like "Open Notepad, write <html><body>Hello!</body></html>" inside and upload it to Neocities. Congratulations, you now have a website!"
A good addition would be a nice CSS stylesheet (https://newcss.net/ looks good, linked by sdan in his comment here) to get the site looking nice and mobile-friendly. That's pretty much all you need to make a simple website.
Yeah, they let you drag and drop a zip file to create a site, but is geared more towards companies/professionals. Neocities is more geared towards a community of independent creators, though, so I'd rather support/promote them for indie stuff.
You mean a WYSIWYG editor? Yeah, they want to encourage individuality, though I guess an HTML editor wouldn't be out of the question (I think kyledrake just hasn't found one he liked).
I think there are several sites that offer such functionality. Squarespace and Wix immediately come to mind due to all of their advertising. There was some other company I used a while back for a small website for an engineering team, but the name escapes me. These sites are perfect for small business and organizations that just need some web presence without having to think through any of the technical side.
WYSIWYG editors are universally bad, and so are Markdown ones. The benefit of Markdown is that you just write it in a text editor. You don't need syntax highlighting to use it effectively. Take reddit, as an example, which got millions of people to write perfect Markdown as intuitively as writing English.
It really depends on the editor. Some editors give you raw access to the underlying code and apply styles to it as you type, kind of like syntax highlighting. Some actually try to be rich text editors with a (usually restricted) Markdown input. You can guess which ones make me want to flip a table. (Hint: Slack, fix your editor!)
I hate those undisableable social media accomplishments that come up as notifications, is Github.community based on Discourse or did it just copy their bad ideas?
edit: wow you can disable them in this one, amazing. I still hate it.
i think slack now allows you to disable the visual editor in settings - you can still format with markdown but the formatting isn't rendered until you send.
I like entering markdown in text editors, it gives me the freedom to format without fighting the editor. A preview panel helps, and yeah reddit demonstrates that people can learn it.
I had more or less the same idea, but perhaps with the markdown syntax extended (I understand this is a touchy topic since there are various markdown parsers that don't all work the same) to allow for simple generation of form controls and navigation bars/layouts.
E.g for navigation sidebar:
* [Home](/home)
* [Blog](/blog)
etc
For form controls:
[ ] I'd like to receive marketing emails.
( ) Female
It'd be even better if it can support basic CRUD/BREAD operations. Basic CRUD webapp with just markdown, imagine that.
I'll second Netlify. Totally fantastic service; I've played with a lot of "github to deployed app" services, and I was still blown away with how straightforward it was to get a NextJS static site on there, auto-deploying, on a custom domain, with site analytics built-in, no code required.
it’s because new programmers now don’t understand how to make websites. they blindly follow nodejs tutorials. their knowledge collapses as soon as the first bug hits that isn’t solved by stackoverflow or github for them. they have no clue how to debug or how a site works on a static setup in a normal web server.
Yeah, that whole Firebase thing was not necessary. After creating the public folder, dragging and dropping it onto Netlify would've instantly given you a public website. No commands necessary. I use Netlify for everything, even hosting a static blog generated in Hugo. All free, only thing I pay for is my domain.
I find myself torn on the specific instructions. It's certainly a lot more arcane than my early sites, but that was mostly because there was a whole lot of boilerplate handled by the host (Enter these details into your FTP program, put your files into public_html, start with index.html).
I didn't have any idea what Apache was, how files were served, or really anything about internet infrastructure. And that's fine, certainly good for a kid or to whip up a quick business site, but it doesn't satisfy the hacker in me today. There's too much magic going on behind the scenes for me to feel much ownership of it.
I suppose it sort of depends who you're aiming it at. TFA didn't feel to me like it was trying to approach novices (after all, it's talking about leaving frameworks and libraries behind, novices aren't much using frameworks). Your instructions are good for an easy introduction for people with no web development experience, to recreate that sense of ease, but I think it's a different thing from what the article is going for. Even a simple site requires a fair bit under the hood, because serving files isn't all that simple unless you just hide it away from the end-user.
I don't know, I mostly agree with you, but I disagree that a simple site requires that much. Just drop the files in a folder in some web server and you're done.
Agreed, you'll lose access to all that server-side stuff after not too long. Just do something dead simple: single page of vanilla html/css. You'll have to move it at some point, the hosting server will need updating or shut down, and a single file is way easier to move around.
https://glitch.com is also excellent. I’ve been using it to teach a website development workshop to 10-15 year olds and it’s the most intuitive interface I’ve found so far for those with no prior experience with HTML/CSS/JS.
I do agree that beyond the site being tiny, an important part of taking control back is to question the hosting part. The "traditional" web is, unfortunately, not fit for minimum hosting without either shelling out some money or depending on a third-party (however good it is). It is high time decentralized web alternatives gain adoption.
1. Open Beaker
2. If you don't have any content, select "New Hyperdrive" from the burger menu, enter your site name, and start editing content with the integrated editor
3. If you already have a folder with content, select "New Hyperdrive from folder"
4. You have a website ! Update it locally and changes will be propagated. Your site address is the hyperlink in the URL bar !
There shouldn't need to be more steps and, more importantly, dependencies on external processes/companies/organization to say what you want to say and spread it.
You do need to keep your computer always[0] on, though. I don't mind depending on external companies, I mind depending on external companies that I can't pay to ensure their loyalty to me.
It can be cheaper to host own (desktop-grade) hardware instead of paying someone to host a stupid single website. The calculation is easy, especially if you only take into account electricity and not hardware purchase costs:
Monthly costs per watt are around 0,3EUR/kWh * 24h/d * 30d/m/1000 = 0,2EUR. That's roughly the price tag for keeping a raspberry pi on 24/7 (yes, it's below 0,2EUR/month). For an average desktop/laptop, which will consume way less then 30W in idle, it's 6 EUR/month. The price of an average hosting offer.
Agree.. I ran a home-hosted web site with regular traffic on a Raspberry Pi 2B for a couple of years before upgrading it to a Pi 3. If you get power issues you can always switch to a battery power bank for a while (assuming your router doesn't go down at the same time).
- Beaker, like any decentralized web thingy, allows visitors to re-share content if they wish to do so. Integrity is provided through the crypto bits
- There is of course the possibility to ask a third-party such as Hashbase (https://hashbase.io/) to host content for you. The difference with WWW hosting is that you don't depend on them to serve content at all times, only when you or your visitors can't; you aren't as dependent
Beyond self-hosting, the major differentiator is that the "web" goes further than just interlinking, it also contains safe distribution. Beaker does even more: foreign content is typically accessed through "mounting" other sites, just like you'd mount with FUSE, so an application doesn't really care where the content comes from. It's all files in the same virtual filesystem.
My website, https://cyrialize.dev/, is hosted on Neocities. I used jekyll to create it and I use water.css which I found on CSS Bed (https://www.cssbed.com/). The Neocities gem is VERY useful.
Oh that would be fantastic! Where will this template show up? I didn't know Gitlab had CI templates.
How do you upload files without WebDAV? As far as I know, there's no API.
BTW I'm not sure if it still exists, but they had a lifetime supporter account, where you can get a lifetime subscription for $100 in Bitcoin. I got it to support the effort, though I don't really use it, but a bunch of Terabytes of bandwidth and 50 GB of hosting space won't go to waste.
Well that's fantastic, great job. Will it be uploading a specific directory, like in mine? That would be nice since most people keep other stuff in the repo.
Yes, it will upload the public folder only. You can see the details of how it works at https://gitlab.com/pages/neocities (I realize now this would have been a better link to share than the other one).
>No libraries or frameworks (the exception being analytics)
No, analytics are not an exception. Don't put fucking spyware on your pages. I can't believe it's 2020 and people still need to be told this. It's not okay.
Since we're talking about tiny websites, and this seems pretty relevant:
If it's only static HTML and CSS, it's just a bucket o' files. You can store things like that on S3 for... I don't even know how little. A tiny amount. You will not find a cheaper hosting option than this.
I made this site on S3, using Svelte, which is intentionally the humblest, smallest step up from plain JavaScript HTML & CSS, at the link below.
Now, the one drawback here is that this doesn't have HTTPS, and you'd need CloudFront for that. This link covers how to do that (note: you should buy your domain on AWS, using Route 53, when following these instructions to make your life easier).
> You will not find a cheaper hosting option than this.
If you just want to host static files with HTTPS and reasonable traffic, there's several free options. Netlify, Github Pages, Gitlab Pages, Neocities, ...
You will find a cheaper hosting option. GitHub and GitLab pages are both free for static sites. I've used both, they both are pretty painless. You basically click "make this a website" and tell it your URL. Automatically HTTPS, completely free.
I agree that S3, Route 53, Certificate Manager, CloudFront are great for serving small static websites, but as others have mentioned there are plenty of free alternatives. Nonetheless less, I think this approach is the right solution if you're already in the AWS ecosystem since it integrates well with other serveries. E.g, adding LambdaEdge if you need some dynamic components in the future.
Can you please make your substantive points without being a jerk? We're trying for a bit better than that here, and it's all too easy to come across that way, even if you didn't mean to.
> 2. As few CSS tweaks as possible
> 3. It must be fun to build
I personally enjoy messing with CSS, it's incredibly fun to try new things and give an otherwise boring page some life and expression. Obviously there is a fine line between tasteful design and obnoxious/unnecessary clutter but a simple website with some character via design is much more memorable that black text on a white background.
CSS 3 is absurdly powerful and, if you use semantic HTML, progressively degrades really well. Putting just a bit of your touch on the content is a nice feature to take advantage of.
Initially, I wanted no JS and for it to look good in a text-based browser like links, too, but I've strayed from that a bit. Syntax highlighting of the code examples was easiest with a javascript include, and the TOC is a mess hidden by CSS, so it looks particularly egregious in text-based browsers.
The website is still functional without JS and text-only, though, and without the favicon and syntax highlighting it comes in at ~4kb to load a page, which I'm happy with; with them it's closer to 40kb, which isn't the worst.
Mine[1] is rather tiny and simple. It is actually generated by the tree command in about a second. It's a port from the gopher protocol and is hosted by the venerable sdf.org[2]. I decided to pay an exorbitant $60 a year for an enhanced membership simply to have an https address and some other assorted goodies[3]...
I was considering joining SDF, but I'm confused about the membership levels. What's the minimum level needed for static html hosting with a domain I already own?
I think the same idea can be applied to the backend as well, instead of creating a firebase account, and allowing someone else’s code to magically serve your tiny website. Granted, its not as simple as <h1> Tiny Website </h1>, but it is just as satisfying to build something on the backend that is “your own”, as least in my humble opinion.
Why not go a step ahead and host it on a raspberry pi from your home. Then one could copy the text file directly to the public folder or create the file in the rpi itself.
226 comments
[ 3.4 ms ] story [ 193 ms ] threadI do HTML from scratch and Flask w/HTML templates at most. Adding a couple of CSS files is all I'm looking towards, not a bunch of weird React code (which imo looks ugly).
If gaming search engines is your Brad-and-butter, is your idea really that novel?
It's about structuring pages and content in such a way that Google et al believe works best for the reader.
Due to Google-side analytics, it's also about bounce-rates. This leads to both more in lengthy pages with depth, as well as lengthy pages of bullshit.
I made that _tiny_ website for evenings with friends. It works great. You enter a few names, hit the save button, you get a list with scores and a +1 button for each players. When you refresh the page the scores are reset. The most important feature is the _ding_. The ding makes it fun.
It's ridiculously small, but it brings lots of fun.
It's tiny, it's fun, it's enough. Keyword : enough. Yes I could add a preventDefault, but I don't care. Really, I only entered the names of my friends once, it has been in my localStorage since, and it's only really meant to be used by me.
Fixed it.
Here's a screenshot of my latest project, nothing fancy, just starting to tinker with Tufte CSS and typography (Lyon Text and Concourse): https://cln.sh/BzBD
It's interesting to note that the website content itself for this article is 5,045 bytes (HTML + CSS), but the analytics code (firebase-analytics.js) is 26,458 bytes, and firebase-app.js (whatever this is?) is 19,865 bytes.
Not a criticism; analytics is important & maybe the app JS is too. Just think it's worth bearing in mind that it's really easy to blow out your website's total delivery impact to users by several times with third party includes.
A lot of times they're not. If you don't have a product, and you're not trying to sell anything, consider the possibility that you just don't need it.
All those things can be gathered from the initial request if you can set a cookie on the user's machine using a cookie header. If you're Firebase then you'd need a request for firebase-analytics.js to set the cookie, but the file itself could be empty.
Also useful to know what fraction of your users are recurring versus new users to tell whether people actually return to your site or if they just check it out once.
Once the cookie is set you can get all this from the server side logs.
Lastly, the refer stats can help you figure out what other sites and communities are interested in your project so that you can further engage with them.
Referers, if they're available at all, come in an HTTP header so once again server side logs would give you this data.
There is no reason to serve any JS for logging unless you want browser fingerprinting data like the user's window size. If your analytics script is more than 0kb then you're tracking people.
Remember awstats and jwstats?
But it doesn't take 50 kB of JS to be able to do that!
Also, believing a page is better because I spend 10 minutes on it rather than 5 is nonsensical. Am I reading everything (good) or am I hunting around for some piece content and not finding it (bad)?
Time on page is a stupid metric that doesn't measure anything useful.
It's not like this data gives you an immediate and perfect readout of the user's entire brain, but it's not useless either.
If you collect information about how often a user is moving their mouse and scrolling the page in order to tell how long someone has been on a page then you've moved from collecting what's useful to collecting everything you can just in case it's useful. That decision comes at the cost of invading everyone's privacy, and that needs to stop.
[0]: https://www.goatcounter.com/
I'm working on Plausible Analytics which is only 1.4 KB right now and provides a modern dashboard. It also doesn't use cookies and doesn't collect personal data so you're not required to show the cookie/GDPR prompts which would make tiny websites much less tiny.
See https://plausible.io/
There's an issue on our Github which will help us perhaps reduce it to under 1 KB too. We're working on that https://github.com/plausible-insights/plausible/issues
> "Plausible does not use cookies and does not collect any personal data. This makes us compliant with the different cookie laws and privacy regulations. It means that you are not required to annoy your visitors with a cookie notice if you’re using Plausible analytics." [1]
> "Compliant with privacy regulations: Google Analytics places cookies and collects a lot of data from your visitors. You’re required to have a privacy policy, to show a cookie banner and to obtain consent for GDPR. Plausible Analytics doesn’t use cookies and doesn’t track personal data so you don’t need to annoy your visitors or worry about those prompts." [2]
It would seem you are collecting PII and processing it server side (?), e.g. calculate_fingerprint here [3].
Care to explain how that doesn't require user consent?
[1] https://plausible.io/data-policy#plausible-is-compliant-with...
[2] https://plausible.io/blog/blog-post-changed-my-startup#new-p...
[3] https://github.com/plausible-insights/plausible/blob/master/...
Instead of setting a cookie with a unique user ID, we simply count the number of unique IP addresses that accessed your website to determine the visitor count.
To enhance the visitor privacy, we don’t actually store the raw visitor IP address in our database or logs. We run it through a one-way hash function to scramble the raw IP addresses and make them impossible to recover.
To further enhance visitor privacy, we add the website domain to their IP hash. This means that the same user will never have the same IP hash on two different websites. If we didn’t do this, the hash would effectively act like a third-party (cross-domain) cookie.
Network Address Translation allows many unique users to share the same public IP address. For this reason we also add the User-Agent string to the hash, although we don’t store the actual User-Agent string.
> No libraries or frameworks (the exception being analytics)
There has got to be a better way of collecting analytics than to inject a bunch of crappy JS from some company (probably Google).
[0]: https://anderspitman.net/20/#get-off-google-analytics
It's a tradeoff, you get to decide if you run code on your visitor's computers without consent and get analytics that are wrong in one way, or if you run code on your server with your own permission, and get analytics that are wrong in another way and simpler.
Or, better yet: If it's a tiny site, do you really even have to care about time-on-page?
Is there a server-side tracking way to do it?
How do you visit this site?
If you see this message in Firefox for many sites (try some random sites you rarely visit) it's probably a local problem such as "Anti-Virus" software or a "security" appliance helpfully making stuff unsafe. Get rid of them if possible.
It is possible that, as the message says, there's actually "Possible Security Issue" just for you, or some subset of visitors, and we can't really help you diagnose that. Maybe your ISP, or your government, or that nerd neighbour kid who said she'd fix your WiFi are trying to snoop you. But probably not.
It's also possible the server hosting this went a bit haywire maybe under the load. It's clearly on some cheap bulk host and those can be a bit flaky.
Also, the portfolio website of the author is the opposite of tiny, with a 3.6mb load.
Please, do yourself and us a favour and sign up for a free account on https://neocities.org, and make a quirky website by hand for all of us to enjoy.
I half want to write a post like this but with dead-simple instructions, like "Open Notepad, write <html><body>Hello!</body></html>" inside and upload it to Neocities. Congratulations, you now have a website!"
A good addition would be a nice CSS stylesheet (https://newcss.net/ looks good, linked by sdan in his comment here) to get the site looking nice and mobile-friendly. That's pretty much all you need to make a simple website.
I feel like there's a place for a service that can,
* Host static content like netlify/neocities on a CDN
* Allow you to register a domain
* Choose a template and enter content with basic markup
This should be able to be done in < 5 minutes for a non-tech user. You'd think registrars would be incentivized to build such a service.
edit: ~~markup~~ markdown/WYSIWYG
It should be possible to do something like neocities/Gitlab/Netlify with a one-time fee to cover the domain.
I hate those undisableable social media accomplishments that come up as notifications, is Github.community based on Discourse or did it just copy their bad ideas?
edit: wow you can disable them in this one, amazing. I still hate it.
but i'm sure they've added cool new react emojis, so i guess they've been pretty busy with that.
E.g for navigation sidebar:
* [Home](/home)
* [Blog](/blog)
etc
For form controls:
[ ] I'd like to receive marketing emails.
( ) Female
It'd be even better if it can support basic CRUD/BREAD operations. Basic CRUD webapp with just markdown, imagine that.
I didn't have any idea what Apache was, how files were served, or really anything about internet infrastructure. And that's fine, certainly good for a kid or to whip up a quick business site, but it doesn't satisfy the hacker in me today. There's too much magic going on behind the scenes for me to feel much ownership of it.
I suppose it sort of depends who you're aiming it at. TFA didn't feel to me like it was trying to approach novices (after all, it's talking about leaving frameworks and libraries behind, novices aren't much using frameworks). Your instructions are good for an easy introduction for people with no web development experience, to recreate that sense of ease, but I think it's a different thing from what the article is going for. Even a simple site requires a fair bit under the hood, because serving files isn't all that simple unless you just hide it away from the end-user.
Or just commit directly to Github, enable pages, job done :)
yeah, even easier (or maybe more minimalistic) would be:
goto 192.168.0.1 (or .1.1) and figure out how to port forward '80' to your machine.
install apache
goto a dynamic dns service, get some sub-subdomain, and setup a curl script to set it to your IP.
put an html file in your apache server.
voila, you have your own website*
*if your ISP allows traffic on port 80
For me, I hate installing stuff, last time I installed Apache must have been before 2004, and I would like to not have to go back.
How to host your tiny website with beaker (https://beakerbrowser.com/)
1. Open Beaker 2. If you don't have any content, select "New Hyperdrive" from the burger menu, enter your site name, and start editing content with the integrated editor 3. If you already have a folder with content, select "New Hyperdrive from folder" 4. You have a website ! Update it locally and changes will be propagated. Your site address is the hyperlink in the URL bar !
There shouldn't need to be more steps and, more importantly, dependencies on external processes/companies/organization to say what you want to say and spread it.
[0] For varying values of "always".
Monthly costs per watt are around 0,3EUR/kWh * 24h/d * 30d/m/1000 = 0,2EUR. That's roughly the price tag for keeping a raspberry pi on 24/7 (yes, it's below 0,2EUR/month). For an average desktop/laptop, which will consume way less then 30W in idle, it's 6 EUR/month. The price of an average hosting offer.
- Beaker, like any decentralized web thingy, allows visitors to re-share content if they wish to do so. Integrity is provided through the crypto bits - There is of course the possibility to ask a third-party such as Hashbase (https://hashbase.io/) to host content for you. The difference with WWW hosting is that you don't depend on them to serve content at all times, only when you or your visitors can't; you aren't as dependent
Beyond self-hosting, the major differentiator is that the "web" goes further than just interlinking, it also contains safe distribution. Beaker does even more: foreign content is typically accessed through "mounting" other sites, just like you'd mount with FUSE, so an application doesn't really care where the content comes from. It's all files in the same virtual filesystem.
My website, https://cyrialize.dev/, is hosted on Neocities. I used jekyll to create it and I use water.css which I found on CSS Bed (https://www.cssbed.com/). The Neocities gem is VERY useful.
My process is super simple, it's basically:
- Make changes
- Commit & Push
- jekyll build
- neocities push _site/
https://gitlab.com/stavros/neocities-gitlab-ci-demo
I'm using it to deploy my own site (which happens to be subscription, but that isn't required): https://metaluna.io/
How do you upload files without WebDAV? As far as I know, there's no API.
BTW I'm not sure if it still exists, but they had a lifetime supporter account, where you can get a lifetime subscription for $100 in Bitcoin. I got it to support the effort, though I don't really use it, but a bunch of Terabytes of bandwidth and 50 GB of hosting space won't go to waste.
This uses their official CLI RubyGem along with the token you can get through the web interface.
No, analytics are not an exception. Don't put fucking spyware on your pages. I can't believe it's 2020 and people still need to be told this. It's not okay.
https://anderspitman.net/20/#get-off-google-analytics
If it's only static HTML and CSS, it's just a bucket o' files. You can store things like that on S3 for... I don't even know how little. A tiny amount. You will not find a cheaper hosting option than this.
I made this site on S3, using Svelte, which is intentionally the humblest, smallest step up from plain JavaScript HTML & CSS, at the link below.
http://pitch-deck-svelte.s3-website-us-east-1.amazonaws.com/
Now, the one drawback here is that this doesn't have HTTPS, and you'd need CloudFront for that. This link covers how to do that (note: you should buy your domain on AWS, using Route 53, when following these instructions to make your life easier).
https://medium.com/@sbuckpesch/setup-aws-s3-static-website-h...
Services such as Netlify, Surge.sh, and Firebase Hosting can do this at absolutely no cost and you get HTTPS.
If you just want to host static files with HTTPS and reasonable traffic, there's several free options. Netlify, Github Pages, Gitlab Pages, Neocities, ...
https://news.ycombinator.com/newsguidelines.html
https://news.ycombinator.com/newswelcome.html
I personally enjoy messing with CSS, it's incredibly fun to try new things and give an otherwise boring page some life and expression. Obviously there is a fine line between tasteful design and obnoxious/unnecessary clutter but a simple website with some character via design is much more memorable that black text on a white background.
https://taper.badquar.to/4/about.html#submit
Initially, I wanted no JS and for it to look good in a text-based browser like links, too, but I've strayed from that a bit. Syntax highlighting of the code examples was easiest with a javascript include, and the TOC is a mess hidden by CSS, so it looks particularly egregious in text-based browsers.
The website is still functional without JS and text-only, though, and without the favicon and syntax highlighting it comes in at ~4kb to load a page, which I'm happy with; with them it's closer to 40kb, which isn't the worst.
Thank you for the idea!
I did cheat a little bit and used SpectreCSS but have really tried to squeeze down the page size as much as possible.
[1] https://every.sdf.org/
[2] https://sdf.org/
[3] https://sdf.org/?tutorials/metaarray
https://sdf.org/?faq?VHOST?01