crisp-react
Grav
Our great sponsors
crisp-react | Grav | |
---|---|---|
24 | 84 | |
185 | 14,291 | |
- | 0.4% | |
0.0 | 8.5 | |
about 1 year ago | 1 day ago | |
TypeScript | PHP | |
MIT License | MIT License |
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.
crisp-react
-
Best way to create Express websites
If TypeScript doesn't put you off (it's really a good choice for both backend and frontend), have a look at Crisp React.
-
Ask HN: Cloudflare Pages vs. Netlify vs. Others?
Ability to handle a monorepo with 2 builds depends on a particular monorepo. For example, Crisp React (https://github.com/winwiz1/crisp-react) has 2 logical projects: server (https://github.com/winwiz1/crisp-react/server) and client (https://github.com/winwiz1/crisp-react/client). Each project can be built separately. And this is the website built (both projects used) and deployed automatically by Cloudflare Pages: https://jamstack.winwiz1.com
-
Large React Site
You can use Crisp React to split a monolythic React SPA into several SPAs. Each SPA will have its own instance of React Router that is aware of the several pages that belong to that particular SPA.
-
What to look for on a slow website
The VM resorces such as CPU and memory should be used to handle API calls and return data. That's in case some webpages are dynamic and require API data. All static assetts including images are better to be served by a CDN. Which means your VM will serve the static assets to the CDN data centers and not to end users. Example: this website or that.
-
Best practices for sharing code between client and server in 2021?
For deployment you can use Docker multi-staged build to ensure the backend run-time environment doesn't contain the client build-time dependencies e.g. client/node_modules/. It improves security and reduces container's storage footprint. An example for React client and node server is here. Although this has nothing to do with code/types sharing.
-
There's never been a better time to build websites
https://github.com/winwiz1/crisp-react/blob/master/docs/benc...
Tailwind is powerful, consistent and comprehensive but again the advantages come not without a drawback: In order to use it effectively one needs to learn/memorise yet another CSS. I have better things to do and think it's more efficient to use a set of CSS management approaches:
-
How to serve static site from express in development?
Crisp React uses the same Express server in production and debugging (for full stack builds only).
-
Which is better CSS-in-JS or CSS for large and scalabe project?
The alternative approach is to use not many but several tools in a manner that utilises advantages while minimising drawbacks. You can read about it here, scroll down to the CSS bullet.
-
How to compose a suite of react apps into a single wrapper app?
You can have Login/authentication SPA, Reporting SPA, etc. Each SPA does its own routing as demonstrated here.
- How to deploy Node/React website on Google Compute Engine with hardened security starting at $3/month
Grav
-
Ask HN: What products other than Obsidian share the file over app philosophy?
There are flat-file CMSes (content management systems) like Grav: https://getgrav.org/
I guess, in some vague/broad sense, config-as-code systems also implement something similar? Maybe even OpenAPI schemas could count to some degree...?
In the old days, the "semantic web" movement was an attempt to make more webpages both human- and machine-readable indefinitely by tagging them with proper schema: https://en.wikipedia.org/wiki/Resource_Description_Framework. Even Google was on board for a while, but I guess it never saw much uptake. As far as I can tell it's basically dead now, both because of non-semantic HTML (everything as a React div), general laziness, and LLMs being able to parse things loosely.
-------------
Side thoughts...
Philosophically, I don't know that capturing raw data alone as files is really sufficient to capture the nuances of any particular experience, or the overall zeitgeist of an era. You can archive Geocities pages, but that doesn't really capture the novelty and indie-ness of that era. Similarly, you can save TikTok videos, but absent the cultural environment that created them (and a faithful recreation of the recommendation algorithm), they wouldn't really show future archaeologists how teenagers today lived.
I worked for a natural history museum for a while, and while we were there, one of the interesting questions (well, to me anyway) was whether our web content was in and of itself worth preserving as a cultural artifact -- both so that future generations can see what exhibits were interesting/apropos for the cultures of our times, but also so they could see how our generation found out about those exhibitions to begin with (who knows what the Web will morph into 50 years later). It wasn't enough to simply save the HTML of our web pages, both because they tie into various other APIs and databases (like zoological collections) and because some were interactive experiences, like games designed to be played with a mouse (before phones were popular), or phone chatbots with some of our specimens. To really capture the experience authentically would've required emulating not just our tech stacks and devices, among other things.
Like for the earlier Geocities example, sure you could just save the old HTML and render it with a modern browser, but that's not the same as something like https://oldweb.today/?browser=ns3-mac#http://geocities.com/ , which emulates the whole OS and browser too. And that still isn't the same as having to sit in front of a tiny CRT and wait minutes for everything to download over a 14.4k modem, only to be interrupted when mom had to make a call.
I guess that's a longwinded of critiquing "file over app": It only makes sense for things that are originally files/documents to begin with. Much of our lives now are not flat docs but "experiences" that take much more thought and effort to archive. If the goal is truly to preserve that posterity, it's not enough to just archive their raw data, but to develop ways to record and later emulate entire experiences, both technological and cultural. It ain't easy!
- Soupault: A static website management tool
- Grav is a modern open-source flat-file CMS
- Grav β A Modern Flat-File CMS Using PHP and Markdown
-
It Took Me a Decade to Find the Perfect Personal Website Stack β Ghost+Fathom
I took a more traditional approach, focusing on something that's "good enough", which in my case was a cheap VPS and an install of Grav: https://getgrav.org/
Some optional customization for page templates/fonts/CSS, some CI so I can build and deploy it inside of a Docker container, Matomo for analytics that respect privacy (which I already use elsewhere) and some additional web server configuration to hide anything interesting behind an additional login and I'm good. Maybe backups and uptime monitoring if I'm feeling brave, which is what most sites should also have (so copy + paste there).
All of that for under 100 euros per year (could also pay half of that if I didn't host anything else on the server), the blog has actually survived getting on the front page of HN once or twice and requires relatively little maintenance, at least a bit less than a proper install of WordPress, due to its larger surface area.
The best thing is that it's simple enough for me to understand how it works, to be able to move it anywhere as needed and use more or less plain Markdown for writing the blog posts. Here's a quick example of a recent post: https://blog.kronis.dev/articles/ever-wanted-to-read-thousan...
Now all that's left is to find motivation to write more, but at least 90% of my time doesn't go into tinkering with custom fancy solutions, no matter how much I'd love that. Then again, nothing wrong with the alternatives either: 400 euros might be perfectly worth it for some, whereas working with static site generators or even custom CMSes would be a fun experience for others!
- Grav: Modern, open-source, flat-file CMS
-
Is it possible to convert a WordPress site into a static site that can still be easily edited?
I'd check out Grav. https://getgrav.org/
-
Gravity - A new, open source DNS/DHCP server with Adblocking and inbuilt config replication
Also, there is a CMS called Grav. Both Gravity and Grav use a very similar (but not identical) font for their logo.
- Mercredi Tech - 2023-06-28
-
website with unlimited pages ??
I would use a flat file cms like https://getgrav.org
What are some alternatives?
react-redux-universal-hot-example - A starter boilerplate for a universal webapp using express, react, redux, webpack, and react-transform
Pico - Pico is a stupidly simple, blazing fast, flat file CMS.
create-react-app - Set up a modern web app by running one command.
october - Self-hosted CMS platform based on the Laravel PHP Framework.
compress-create-react-app - An NPM package which allows easily adding post build compression to a create-react-app with minimal configuration
Bolt - Bolt is a simple CMS written in PHP. It is based on Silex and Symfony components, uses Twig and either SQLite, MySQL or PostgreSQL.
nestjs-bff - A full-stack TypeScript solution, and starter project. Includes an API, CLI, and example client webapp. Features include production grade logging, authorization, authentication, MongoDB migrations, and end-to-end testing.
Bludit - Simple, Fast, Secure, Flat-File CMS
electron-react-boilerplate - A Foundation for Scalable Cross-Platform Apps
Strapi - π Strapi is the leading open-source headless CMS. Itβs 100% JavaScript/TypeScript, fully customizable and developer-first.
generator-react-webpack - Yeoman generator for ReactJS and Webpack
GetSimple CMS - GetSimple CMS