You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Different use cases calls for specific structures of projects. While Porous tries to cover a specific use-case well and does that by not trying to be everything, even in that use case there are choice to be made.
This is one of the core features needed to make Porous feasible.
Since Porous will try to include a lot of features to make them tightly integrated and easy to use, we need a way to opt out of some of them if you absolutely won't need them. There is also the issue of choices – do you want to use bootstrap, or tailwind, or picocss, or just a css processor like sass. Do you want to persist your data to flat files, or SQLite, or PostgreSQL, or DynamoDB? These should all be valid options, but introduce a ton of dependencies.
Ideally, a minimum viable application has server-side rendered components, with no client-side rendering, database, socket communication, authentication, etc. Just an app that serves pages and static assets. Those features should be turned on by default on new projects, but should be removable.
The way I'd like this to work is to have separate gems with additional functionality that can be required. The core gem will have a registry of these "extensions" which it will use at points where it needs them. For example, a porous/tailwind extension would render an additional <link rel="stylesheet"> in the Preamble, and start a watcher to generate that file when running the development server. This should all ideally be activated only by adding require 'porous/tailwind' somewhere.
The text was updated successfully, but these errors were encountered:
Different use cases calls for specific structures of projects. While Porous tries to cover a specific use-case well and does that by not trying to be everything, even in that use case there are choice to be made.
This is one of the core features needed to make Porous feasible.
Since Porous will try to include a lot of features to make them tightly integrated and easy to use, we need a way to opt out of some of them if you absolutely won't need them. There is also the issue of choices – do you want to use
bootstrap
, ortailwind
, orpicocss
, or just a css processor likesass
. Do you want to persist your data to flat files, or SQLite, or PostgreSQL, or DynamoDB? These should all be valid options, but introduce a ton of dependencies.Ideally, a minimum viable application has server-side rendered components, with no client-side rendering, database, socket communication, authentication, etc. Just an app that serves pages and static assets. Those features should be turned on by default on new projects, but should be removable.
The way I'd like this to work is to have separate gems with additional functionality that can be
require
d. The core gem will have a registry of these "extensions" which it will use at points where it needs them. For example, aporous/tailwind
extension would render an additional<link rel="stylesheet">
in the Preamble, and start a watcher to generate that file when running the development server. This should all ideally be activated only by addingrequire 'porous/tailwind'
somewhere.The text was updated successfully, but these errors were encountered: