temporal_tables
sitepress
Our great sponsors
temporal_tables | sitepress | |
---|---|---|
6 | 11 | |
576 | 246 | |
4.0% | 2.8% | |
4.9 | 7.4 | |
5 months ago | 5 months ago | |
PLpgSQL | Ruby | |
GNU General Public License v3.0 or later | 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.
temporal_tables
- PostgreSQL temporal_tables extension in PL/pgSQL
-
Versioning data in Postgres? Testing a Git like approach
It was reimplemented in pure SQL here https://github.com/nearform/temporal_tables for this purpose
-
All the ways to capture changes in Postgres
I enjoyed this blog. I think it provides a great succinct overview of various approaches native to Postgres.
For the "capture changes in an audit table" section, I've had good experiences at a previous company with the Temporal Tables pattern. Unlike other major RDBMS vendors, it's not built into Postgres itself, but there's a simple pattern [1] you can leverage with a SQL function.
This allows you to see a table's state as of a specific point in time. Some sample use cases:
- "What was this user's configuration on Aug 12?"
- "How many records were unprocessed at 11:55pm last night?"
- "Show me the diff on feature flags between now and a week ago"
[1]: https://github.com/nearform/temporal_tables
-
Show HN: I made a CMS that uses Git to store your data
One of these Postgres-based implementations of SQL:2011's temporal versioning features might get you close enough:
- https://github.com/nearform/temporal_tables
-
How to implement row changes history?
You don't really need to install an extension to use temporal tables, there is an alternative (https://github.com/nearform/temporal_tables) implemented purely as a plpgsql trigger so that it works everywhere.
-
Temporal Tables PostgreSQL Extension
I was part of a team at NearForm using this for a project on an EC2 instance. In order to move to AWS RDS we had to recreate the functionality of temporal_tables as a PostgreSQL function, rather than extension.
When we switched, we found that although there were minor bugs, we didn't have any noticeable loss of performance and we have used it ever since for many projects.
https://github.com/nearform/temporal_tables
If you're also limited by cloud services and the extensions limitations, this is a great solution.
sitepress
-
No CMS? Writing Our Blog in React
I'm currently facing the same problem - adding a blog to a Rails app.
I thought Sitepress looks interesting, as its supposed to integrate with Rails. Have you given that one a try?
https://sitepress.cc/
-
The theory versus the practice of “static websites”
I’ve been down this path enough times that I built https://sitepress.cc/, which lets you embed content in a rails app with features that are present in Jekyll, Middleman, etc. like Frontmatter, site hierarchy traversal, etc. It keeps content as files in the app/content directory, but when it’s time to pull data in from the Rails app for SEO, it’s all right there in the Rails app. There’s no “Headless CMS” crap to jump through.
For me, this is another way of keeping everything in a monolith, and which requires a lot less context switching. If I’m building a feature and I want to create marketing or support content for it, it’s all right there in the same repo. I just create the markdown files I need, commit them to the repo, and I’m don.
The thought of switching between a static content site or something like Webflow just seems silly. I think they only makes sense for huge teams.
-
Rails with Middleman for static content?
In case you want something like Middleman (frontmatter, static compilation, ...), but embedable in your Rails app, Sitepress is really cool solution (you can even run it without Rails!): https://sitepress.cc
-
Ask HN: Who's using Ruby web development without Ruby on Rails (RoR)?
I went the opposite direction and built a static site generator on top of Rails: https://sitepress.cc/
Turns out, Rails is a really good web framework! I tried building Sitepress on something “light weight”, Tilt and Rack, and it was a pain. I found myself constantly solving the same problems that were already solved in Rails. At some point it dawned on me that I could just build on top of a few parts of Rails, so I did. I wrote about it at https://fly.io/ruby-dispatch/single-file-rails-app/
I’m glad I did! Now I can plug all of the Rails template handlers, view components, and other Rails plugins into it and ride off that entire communities docs.
If you find yourself thinking, “rails is too heavy”, consider shedding the parts of Rails that you don’t need. Then as your application grows in complexity and you find yourself needing more parts of Rails, bring it back in.
- [student help] Using Rails as front end. Is it possible?
-
Single File Rails Apps
As I was building Sitepress (a site generator like Middleman, Jekyll, & Bridgetown), I stumbled into the idea that a Rails application can exist in a single file and wrote about it at https://fly.io/ruby-dispatch/single-file-rails-app/.
-
Show HN: I made a CMS that uses Git to store your data
Agreed. I built https://sitepress.cc/ that uses git + files to manage content in Rails, but it needs an editor.
I’m not sure if the right thing to do is build a web editor or smooth out git workflows so that non-technical people can open content files with desktop software to make changes to the content.
- Sitepress: Build content websites for static site or Rails applications
-
State of the Web: Static Site Generators
I created https://sitepress.cc/ because you can have both! It can run a dynamic content site from a Rails app or it can compile out pages that can be deployed to any static website host.
It doesn’t have a front end for authoring pages, styles, etc, but that could be built on top of this library.
-
RIP Jekyll (The Genesis of the Jamstack)
I was using Middleman for a while, but then grew tired of all the dependencies I had to always keep up-to-date. I did the completely illogical thing and built my own static site generator, https://sitepress.cc/
A few years later and I ended up deleting most of it and replacing the internals with Rails. Now Sitepress is just a tiny rails application sitting on top of a bunch of files. Most of the maintenance and dependencies are handled by major Rails lib maintainers.
When you deploy it, you can compile it into static files and deploy as you’d expect, but you can also deploy it as a rails or rack app … or even embed it into an existing rails app.
When Rails 7.0 gets released I’ll drop JS importmaps into the default install for free and have my dream static site generator that doesn’t have a huge asset compilation step.
What are some alternatives?
temporal_tables - Temporal Tables PostgreSQL Extension
react-static - ⚛️ 🚀 A progressive static site generator for React.
pgkit - Pgkit - Backup, PITR and recovery management made easy
poor-richard - Static site for Spotlight PA
walex - Postgres change events (CDC) in Elixir
Bridgetown - A next-generation progressive site generator & fullstack framework, powered by Ruby
pg-event-proxy-example - Send NOTIFY and WAL events from PostgreSQL to upstream services (amqp / redis / mqtt)
Nikola - A static website and blog generator
maxwell - Maxwell's daemon, a mysql-to-json kafka producer
firecms - Awesome Firebase/Firestore-based CMS. The missing admin panel for your Firebase project!
connectors - Connectors for capturing data from external data sources
gutenberg - A fast static site generator in a single binary with everything built-in. https://www.getzola.org