I’m thinking about developing a couple more websites, and I already have three. One of them is a local database related to disability resources, so I don’t want to share that one publicly. The sites I work on are coded (HTML, CSS, PHP), and I organize my data using SQL (check below for quick definitions!).
Right now, I use a database MariaDB and manage it using a SQL interface, HeidiSQL. I use this setup to write and organize what’s in my database, including pages and images.
My database includes things like pages, images, and how those are linked together. I’m about to do a massive overhaul of my site (which I have been procrastinating on lol), and it made me start wondering how other people handle this as their sites get bigger.
So I’m curious:
How do other people organize their website data?
What do you do when your site keeps getting larger?
How do you handle linking different pages together over time?
Do you plan your database structure early, or do you restructure as you go?
I’ll include a screenshot of some of my data from my personal website as an example:
If anyone is interested in the SQL data itself so they can remake their own database/experiment with it, please let me know and I can share the SQL code on GitHub.
If something I’m saying doesn’t make sense, please let me know, and if you need an example of what I mean, I can give one!
Extra context (for clarity):
SQL (Structured Query Language): Used to store, organize, and retrieve data in a database.
MariaDB: A database system used to store structured data such as pages, images, and relationships between them.
HeidiSQL: A free database management tool that lets you view, edit, and organize SQL databases (such as MariaDB) using a visual interface instead of only command-line queries. Honestly, one of my pieces of fave software!
I just want to say that I don’t have an answer, but I’m interested to see if other people have an answer lol.
The only data hoarding I personally do is scientific papers and the zotero handles that for me. And my personal note pile is safe in plain text, which I edit in obsidian.
I do have an ever-increasing in complexity pipeline for writing in obsidian and then yeeting it over into my website directory where the SSG can format it for me
I organize my site(s) on a strict “fuck it, we ball” basis, lol. I have made it up as I went the entire time, and have only had one very mild restructuring very recently of a few pages.
No SQL for me! Every page I create manually is just a text file. My model is that I have three types of content: pages, posts and notes.
The type is defined in the frontmatter of the text file. Pages reside at the root level, while posts and notes sit in /posts/ and /notes/. I’ve also got some “logs” (reading and workouts) that are generated based on various data sources. These pages are created in /logs/reading/ and /logs/workouts/. As you might have guessed, /logs/ is just a regular page.
I don’t keep track of what links to where internally.
As a true believer in process itself, I keep the things I rely on every day as simple and intuitive as possible.
I keep track of my personal notes in git (version control system). Everything is synchronized when I actually need it. Synchronization is done through SSH, as its the protocol I rely on most in my day to day life.
While I waste my time with esoteric programming languages, devices and topics on a daily basis, sometimes /(rarely)/ I capture something I want to share with the two people who happen to visit my blog by accident.
Then I wrap things up nicely, export it as a Markdown file, convert all my files to HTML, publish it back to my server via SSH, commit my Markdown files back to my repo via SSH and call it a day.
Though I tried several times to use some kind of Content Mangement System, Personal Wiki and what not, this is since over a year the most consistent time where I manage my projects, tasks, reminders, deadlines etc. in a similar way.
Although I have often thought about serializing all my notes into a database to get a better overview and to enable some other cool ideas I have in my head. The “type” of database will most likely be sqlite, as I just love it’s capabilities and portability.
Finally, I would like to mention that everyone should use the software and tools that help them get things done. I don’t care about philosophies because my text editor is an entire portable operating system and my kernel has support for devices that can’t even spell.
I’m with you here. I used to do my writing in Scrivener, but when I realized that the project file was just a zipped directory of RTF files it occurred to me that I could get the same result with standard tools and the file system. So I went back to plain text and git.