I'll go first with an answer that has worked for me, but is not definitely how I would do it next time:
Plain HTML, plain CSS, plain JS. No dependencies, no build tools.
The reason for this approach would not be for the ease of initially building or "active" maintenance, but I generally take this approach when building a website I probably won't return to very often. Plan HTML, CSS, and JS — for a fairly small website — never gets out of date, never expires, never uses a build tool I forget how to use.
When I want to update some small thing about a website like this, the saving grace is that I can just do it without remembering the tool chain or dealing with some kind of dependency hell. Things move quickly, and reducing the tooling burden is a huge win in a lot of contexts.
That being said, despite all of that, the drawbacks are that the code and overall process can suffer. Re-usability is tough, and there are some awesome innovations you can't use with this approach.
So I'm really looking forward to hearing your take on this kind of problem. 😀
Tech Lead/Team Lead. Senior WebDev.
Intermediate Grade on Computer Systems-
High Grade on Web Application Development-
MBA (+Marketing+HHRR).
Studied a bit of law, economics and design
Location
Spain
Education
Higher Level Education Certificate on Web Application Development
Coding for 20 years | Working for startups for 10 years | Team leader and mentor | More information about me: https://thevaluable.dev/page/about/
Twitter: @Cneude_Matthieu
I don't like blog framework, maintaining that is too much of a pain. I had a Ghost blog a long time ago, and each time I needed to update it, something was breaking.
Now I'm using Hugo for a couple of years, and I love it. It's not really a framework (I mean the website itself doesn't depend on it) and it's very extensible. Updating Hugo is super simple too (one binary). It generates the plain HTML so it's super fast.
I believe that static site generator have a big future in front of them, especially for businesses.
My take to avoid the pains of complex tooling is to use autotools. Basically have a Makefile that contains what I need to build. That will keep working. When it’s too hard to represent in a Makefile, it’s too complex to maintain casually.
And staying away from npm, maven, and so forth. It has to keep working without internet access, because anything online can move and that way break my setup.
👋 Hey there, I am Waylon Walker
I am a Husband, Father of two beautiful children, Senior Python Developer currently working in the Data Engineering platform space. I am a continuous learner, and sha
Plan HTML, CSS, and JS — for a fairly small website — never gets out of date, never expires, never uses a build tool I forget how to use.
A previous colleague of mine showed me his personal website and it was just this -- a picture of him, his resume, super basic styling and no JS. He was a very skilled front end engineer so I remember being taken back until he explained why.
I thought about that for a long time and now as I have more experience dealing with npm packages, broken updates, new frameworks etc. I believe it makes a lot of sense.
Assuming you don't enjoy maintaining things like that 😄
Greedings I am Dimitrios Desyllas aka pc_magas.
I am a php software engineer in e-table.
I am interested in privacy enhancing technologies, cryptography and reverse engineering.
Location
Acharnes, Greece
Education
MSc at Digital Systems Security at Univercity Of Peireus
Pronouns
Yo Wazz up bro!
Work
Volunteer Sysadmin at ELLAK of Cyprus - open for opportunities.
Because if you ever want to contract a freelancer to maintain it or improve it, you'll easily find someone who understands plain HTML, CSS, JS.
I'm never sure if modern build tools are really helping us save time or if we just use them because the companies that built them have huge Marketing budgets.
When I first learned about GatsbyJS, I thought:
"Oh, that's cool, probably built by some developers in their spare time. I guess people are tweeting about it because it's really helping them."
But the reality was:
"Built by a for-profit company that raised over $46M from investors and spending a ton of money on Marketing and Twitter influencers."
Not criticizing them, it's a useful tool. But I can never be sure if the hype is real or faked.
The sad part is that such tools can really overcomplicate the development process, and make it less exciting for young folks to learn web development.
10 years ago, someone learning to code got their AHA moment when they made some JavaScript and CSS run in the browser.
And now, someone learning to code might get frustrated when some npm installation randomly fails and give up. Tutorials for beginners should still start with the basics.
20ish years ago I was so happy to write first for loop statement in php and see something prints on html. Your comment brings back that good moment back. Would stay all night excited just to learn what else I can do.
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
I'll go first with an answer that has worked for me, but is not definitely how I would do it next time:
The reason for this approach would not be for the ease of initially building or "active" maintenance, but I generally take this approach when building a website I probably won't return to very often. Plan HTML, CSS, and JS — for a fairly small website — never gets out of date, never expires, never uses a build tool I forget how to use.
When I want to update some small thing about a website like this, the saving grace is that I can just do it without remembering the tool chain or dealing with some kind of dependency hell. Things move quickly, and reducing the tooling burden is a huge win in a lot of contexts.
That being said, despite all of that, the drawbacks are that the code and overall process can suffer. Re-usability is tough, and there are some awesome innovations you can't use with this approach.
So I'm really looking forward to hearing your take on this kind of problem. 😀
You can add a Bundler as devDependency (Parcel i.e. which is almost zero config) so you can ship your code minified and optimized into production :)
I don't like blog framework, maintaining that is too much of a pain. I had a Ghost blog a long time ago, and each time I needed to update it, something was breaking.
Now I'm using Hugo for a couple of years, and I love it. It's not really a framework (I mean the website itself doesn't depend on it) and it's very extensible. Updating Hugo is super simple too (one binary). It generates the plain HTML so it's super fast.
I believe that static site generator have a big future in front of them, especially for businesses.
My take to avoid the pains of complex tooling is to use autotools. Basically have a Makefile that contains what I need to build. That will keep working. When it’s too hard to represent in a Makefile, it’s too complex to maintain casually.
And staying away from npm, maven, and so forth. It has to keep working without internet access, because anything online can move and that way break my setup.
100, if you are not editing the site very often using a framework makes it so much more work to update every 2 years than its worth.
A previous colleague of mine showed me his personal website and it was just this -- a picture of him, his resume, super basic styling and no JS. He was a very skilled front end engineer so I remember being taken back until he explained why.
I thought about that for a long time and now as I have more experience dealing with npm packages, broken updates, new frameworks etc. I believe it makes a lot of sense.
Assuming you don't enjoy maintaining things like that 😄
Also it is good idea to practice on fudamentals before going into fancy stuff.
That's such a practical approach.
Because if you ever want to contract a freelancer to maintain it or improve it, you'll easily find someone who understands plain HTML, CSS, JS.
I'm never sure if modern build tools are really helping us save time or if we just use them because the companies that built them have huge Marketing budgets.
When I first learned about GatsbyJS, I thought:
"Oh, that's cool, probably built by some developers in their spare time. I guess people are tweeting about it because it's really helping them."
But the reality was:
"Built by a for-profit company that raised over $46M from investors and spending a ton of money on Marketing and Twitter influencers."
Not criticizing them, it's a useful tool. But I can never be sure if the hype is real or faked.
The sad part is that such tools can really overcomplicate the development process, and make it less exciting for young folks to learn web development.
10 years ago, someone learning to code got their AHA moment when they made some JavaScript and CSS run in the browser.
And now, someone learning to code might get frustrated when some npm installation randomly fails and give up. Tutorials for beginners should still start with the basics.
so true...
20ish years ago I was so happy to write first for loop statement in php and see something prints on html. Your comment brings back that good moment back. Would stay all night excited just to learn what else I can do.