lowtechguys
eureka
lowtechguys | eureka | |
---|---|---|
2 | 11 | |
5 | 4 | |
- | - | |
6.9 | 1.8 | |
2 months ago | over 3 years ago | |
JavaScript | ||
- | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
lowtechguys
-
How to build a website without frameworks and tons of libraries
I use something very similar on https://lunar.fyi and https://lowtechguys.com but I wouldn’t call this “simple” anymore.
They use Jinja templating, I prefer Slim (https://github.com/slim-template/slim#syntax-example) which has a more Pythonic syntax (there is plim [0] in Python for that)
I use Tailwind as well for terse styling and fast experimentation (allows me to write a darkMode-aware and responsive 100 line CSS in a single line with about 10 classes)
For interaction I can write CoffeeScript directly in the page [1] and have it compiled by plim.
I run a Caddy static server [2] and use Syncthing [3] to have every file save deployed instantly to my Hetzner server.
I use entr [4] and livereloadx [5] to rebuild the pages and do hot reload on file save. All the commands are managed in a simple Makefile [6]
———
You can already see how the footnotes take up a large chunk of this comment, this is not my idea of simple. Sure, the end result is readable static HTML and I never have to fight obscure React errors, but it’s a high effort setup for starters.
Simple for me would be: write markdown files for pages, a simple CSS for general styling (should be optional), click to deploy on my domain. Images should automatically be resized to multiple sizes and optimized, videos re-encoded for smaller filesize etc.
I have mostly implemented that for myself (https://notes.alinpanaitiu.com/How%20I%20write%20this%20blog...) but it feels fragile. I’d rather pay for a professional solution.
[0] https://plim.readthedocs.io/en/latest/
[1] https://github.com/FuzzyIdeas/lowtechguys/blob/main/src/rcmd...
[2] https://caddyserver.com/docs/command-line#caddy-file-server
[3] https://syncthing.net
[4] https://github.com/eradman/entr
[5] https://nitoyon.github.io/livereloadx/
[6] https://github.com/FuzzyIdeas/lowtechguys/blob/main/Makefile
-
Anime.js – A lightweight JavaScript animation library
One less known use case for this is creating animated UI demos, which as a dev I find harder to do using video editing software.
I used it to create the simple demo on the rcmd frontpage: https://lowtechguys.com/rcmd
This is the code, where I'm just animating elements of an SVG I previously created with Sketch: https://github.com/FuzzyIdeas/lowtechguys/blob/main/src/rcmd...
I'm also doing the same thing for the Lunar frontpage: https://lunar.fyi/
But because Lunar's demo is a lot more resource intensive, I pre-rendered it into a video, and heavily optimized it for each screen size, in H.265, WEBM and H.264.
eureka
-
How to build a website without frameworks and tons of libraries
Here's an example of building a well-structured, maintainable web-site using JavaScript, HTML and CSS: https://github.com/wisercoder/eureka/tree/master/webapp/Clie...
It doesn't use React (imagine the horror!), instead it uses two tine 500-line libs.
-
React is 10 years old
> a literal 5-20x productivity boost
Not really. See a better way here: https://github.com/wisercoder/eureka
- Building a Front End Framework; Reactivity, Composability with No Dependencies
-
React is a fractal of bad design
I'm not quite seeing React being used, just JSX though? All the view and state updating is being done manually, but it looks fairly well-organised. There are small optimisations like debouncing onInput with a timeout (avoiding rapid re-rendering for every character typed): https://github.com/wisercoder/eureka/blob/master/webapp/Clie...
- Ask HN: Good resource on writing web app with plain JavaScript/HTML/CSS
- Can We All Just Admit React Hooks Were a Bad Idea?
- Ask HN: What happened to vanilla HTML/CSS/JS development?
-
I don't miss React: a story about using the platform
React works well for simple, non-interactive components. Complex, interactive components are going to have state. Stateful components don't work so well in React. If you want to update props in a stateful component, the recommendation is to replace the component entirely by changing its key. At the point all of the benefits of React (preservation of selection, caret position, scroll position etc.) vanish. You might as well use vanilla js instead of React.
What does using Vanilla JS look like? Here's an example: https://github.com/wisercoder/eureka It uses two tiny 500-line libs. It uses TSX files, just like React. It has components, just like React. It doesn't have incremental screen update, but neither does React, if your components are interactive and stateful.
- A Visual Guide to React Rendering
What are some alternatives?
org-mode-site-template - A workflow for a complete site using the HTML publish option of Emacs Org-Mode
webcomponents - Web Components specifications
10kbclub - A curated collection of websites whose home pages do not exceed 10 KB compressed size
Ink - 🌈 React for interactive command-line apps
surreal - 🗿 Mini jQuery alternative. Dependency-free animations. Locality of Behavior. Use one element or arrays transparently. Pairs with htmx. Vanilla querySelector() but better!
fat - Web's fastest and most lightweight animation tool.
el - Minimal JavaScript application framework / WebComponents base class
editable-website - A SvelteKit template for building CMS-free editable websites
Slim - Slim is a template language whose goal is to reduce the syntax to the essential parts without becoming cryptic.
uhtml - A micro HTML/SVG render