Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
blog
/
content
/
posts
:
first-launch-post-for-tsblog.md-20261026170826.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php http_response_code(404); exit; ?> --- title: First Launch/Post for TSBlog! date: 2026-10-05 09:00 updated: 2026-10-14 15:58 status: published type: post tags: [TSBlog, Themestrap, blogging, web development, web design, component library, UI components, JavaScript, HTML, CSS, frontend development, web components, reusable components, open web, developer tools, CMS, user interface, software development, web technology] description: This post launches TSBlog, a lightweight, flat-file blogging system built to showcase the author's reusable UI components in the Themestrap Component Library. image: /~daemondevin/blog/uploads/2026/10/tsblog-better-web-building-de000a.jpg --- # Welcome to TSBlog Hi. You've just stumbled upon the very first officially posted blog entry from the very first officially hosted **TSBlog** blogging system! How exciting it must be for you to be witnessing history being written as you read! Walk with me a moment.. ## The `Web Wild West`! There was a brief, beautiful window in the early 2000s when the internet belonged entirely to the amateurs. Before the web was consolidated into a handful of corporate platforms and slick, predictable templates, it was a lawless frontier built on raw curiosity. It was an era of beautifully chaotic experimentation. Novices with zero formal training were building the world wide web from their bedrooms, throwing together bits of copied HTML, flashing GIF banners, and background music that shocked your speakers on arrival. We didn't care about `UI` nor did we know the term "_user experience_"—we just wanted a small corner of the `www` to call our own. It was the peak of digital lawlessness! I remember reading about CSS and a thing called _DIV overlay_. Now I knew what `div` was thanks to HTML. Does anyone else remember the old school _DIV Layouts_ phase back then? However, this was different. This meant tearing down the rigid walls of **MySpace** with the legendary `DIV overlay` hack. We didn’t just customize our profiles; we staged a hostile takeover. Armed with a chaotic string of `table table table { display: none; }`, we aggressively nuked the default website, leaving a blank canvas. In its place, we used `position: absolute` and custom Photoshop backgrounds to force scrollable text boxes exactly where we wanted them. It was a brilliant, fragile illusion—a pixel-perfect masterpiece held together by a prayer and a single string of stolen CSS. For those who don't know what I'm talking about, here's what my MySpace profile page looked like back then:  We copy-pasted layout codes into **LiveJournal**, spent hours customizing **Winamp** skins, and integrated scripts like **_CuteNews_** using a single, magical PHP include tag because we didn't even know what a MySQL database was yet. Everyone was learning by breaking things, fueled by a collective, unpolished enthusiasm. It was a digital _Web Wild West_ (see what I did there? `=P`), populated not by content creators or influencers or algorithms, but by programming pioneers who built simply because they were curious about code and it wasn't so overwhelming back then. Anyway, there's something satisfying about building a publishing system from scratch. Not because the world needs another blogging system. **It probably doesn’t.** But because building your own system gives you an opportunity to learn what actually goes into a project like this. I can certainly say I have a new found appreciation for bigger projects like MODX and Wordpress. However, those projects have their own staff and employees on an actual payroll. Not to mention the immense amount of contributors thanks to their open-source eco-system. As they should.. well written software does deserve it! But what about the little things that normally disappear beneath layers of themes, plugins, frameworks, configuration screens, and dependencies? ## TSBlog: A Throwback **TSBlog** is my attempt at acknowledging those little things and bringing back that innovative musings from the past when things were of a simpler nature. Inspired by (from memory.. I'm sure it's still out there in the wild) the old school flat-file blogging script called **CuteNews** by CutePHP, **TSBlog** is a nostalgic tribute to the good ol' days. It's basically a lightweight blogging and publishing system built around the same philosophy behind my **Themestrap Component Library**: useful components, sensible defaults, minimal friction, and an emphasis on the actual experience of using the web. And rather than simply telling you what TSBlog can do, I thought the first post should demonstrate it. So, welcome to the first post on TSBlog. ## A Blog Built to Showcase the System One of the fun parts of building a new platform is realizing that the platform itself can become its own demonstration. This post isn't just content sitting inside TSBlog. It's being rendered by _TSBlog_. The interface you're looking at is built using components from the [Themestrap Component Library](https://github.com/daemondevin/Themestrap). That means the navigation, interactive elements, typography, dialogs, menus, and other pieces of the interface aren't necessarily one-off pieces of code created specifically for this page. They're components. Reusable ones. That distinction kind of matters. A component library should make it possible to build something real and not just produce an impressive component showcase where every example exists in isolation. TSBlog gives those components somewhere to live. ## Meet Themestrap Themestrap is a component library designed with a particular audience in mind: developers who want polished, interactive interfaces without having to introduce an entire application framework just to make a page feel alive. The idea is deliberately straightforward. - Start with HTML. - Add the appropriate data attributes. - Load the component. - Let Themestrap handle the behavior. That approach makes components useful in everything from a traditional static website to a CMS template or dynamically generated content. And because TSBlog is itself built around HTML and reusable components, the two fit together rather nicely. ## An Application Without the Framework Overhead It's easy to overlook the subtle nuances of a well-written application but that's what makes good applications great. You, the user, may not have an idea about the complexities that can surround a UI component. For example, a toolbar menu might look simple in its design, but once you start accounting for nested sections, keyboard interaction, responsive behavior, open/close and on/off states, animation, accessibility, and mobile layouts, it can become surprisingly complicated real quick. Themestrap's components handle most of that complexity while keeping the markup understandable. That means TSBlog can have a sophisticated toolbar without turning the page into a giant JavaScript application. And that's really the whole point. **The complexity should live inside the component. Not inside the page authoring experience.** ## Small Components Can Make a Big Difference Not every component needs to be dramatic. Sometimes the best components are the ones you barely even notice. - A tooltip. - A loading indicator. - A scroll affordance. - A dialog. - A dropdown. - A responsive menu. - A toolbar. Individually, none of these elements are by themselves revolutionary. Together, they create the little interactions that make a website feel considered rather than assembled. That's one of the reasons I enjoy building the Themestrap library. I'm less interested in creating a collection of enormous all-in-one widgets and more interested in creating small pieces that can be combined into something larger. ## Components, Not Constraints There's another principle behind Themestrap that is particularly important to TSBlog.. **The component shouldn't dictate the application.** That said, a blogging application shouldn't have to be redesigned around a component library. Instead, the components should adapt to the blog. That's why Themestrap components are designed to be relatively self-contained. They can provide their own behavior and styling while leaving the surrounding application free to do what it needs to do. This also makes them useful outside of TSBlog. The same component that powers something here can be dropped into a Wordpress template, inserted into a MODX chunk or snippet, a static HTML page, a CMS-generated fragment, or another project entirely. That's the goal. Build once. Reuse everywhere. ## A Living Component Library TSBlog also gives me an opportunity to dogfood Themestrap. If something doesn't work here, I'll know about it. If a component is awkward to configure, I'll encounter that problem myself. If the markup becomes unnecessarily complicated, I'll have to live with it. And that's valuable. A component library shouldn't be developed entirely in a vacuum. It should be subjected to real projects, real content, real layouts, and—eventually—real users. TSBlog is one of those environments. And let me start by complaining about the lack of pasting capability trying to copy-paste multiple tags at once and the component knowing each comma separated item is its own individual tag item and not understanding it to be one long-winded, multi-worded tag by itself. ### **TODO**: Add copy-paste support to the **TagsInput** component plugin so it can handle pasting multiple entries at once. Update coming soon.. Lol. ## What's Next? This is only the beginning. TSBlog will continue to evolve as a publishing system, while Themestrap will continue to grow as its component library. I'll be writing about both along the way. Expect posts about: - Building TSBlog itself - New Themestrap components - Web component and JavaScript techniques - Interface design - Building reusable UI - Experiments with new web technologies - Lessons learned from actually using my software Some posts will be technical. Some won't. Some will probably be experiments that turn into something completely different. That's part of the fun. ## So Again, Welcome to TSBlog A blogging platform should ultimately get out of the way and let the content take center stage. That's what I'm aiming for with TSBlog. And Themestrap has a similar philosophy: give developers the building blocks they need without forcing them into someone else's architecture. So consider this post the first little test. The first component. The first page. The first entry in what I hope becomes a rather interesting collection of ideas, experiments, and things built for the web. **Welcome to TSBlog.** And welcome to the beginning.