twonum.org

twonum.org

20 devlogs
13h 32m
•  Ship certified
Created by twonum

My long-overdue personal website, built with Python and Django and hosted on Nest. Features DoubleFloat (the twonum blog), twonum projects, and yes, a guestbook and commenting functionality.

There is only a single site (contrary to my first devlog), unifying both the technical aspects of me (Projects) and my life (DoubleFloat).

Timeline

Ship 1

1 payout of shell 186.0 shells

twonum

11 days ago

twonum Covers 20 devlogs and 13h 32m

This was mostly just fixing some bugs, but also added post categories to the DoubleFloat home page, which... is a bug (or something I forgot to implement—left hanging).

(Okay, now I think that because most of my users are probably not going to care whether the admin site title uses an en or an em dash (– vs. —) as they're not twonum, it's just a waste of time?)

Update attachment

Aside from CI/CD shenanigans, I fixed the infamous Martor dark mode! Which was really just (again) copying files from ClubFeed and wonder why a library I used in ClubFeed didn't work in twonum.org. It was rather hard in ClubFeed, and I ended up overriding some Martor GPL source code.

Update attachment

Worked on a bit of CI/CD (to decrease the chances that my website breaks itself). Also crafted a rather minimal README (it is minimal, because twonum.org is not ClubFeed). Speaking of ClubFeed, it was rather easy considering my CI workflow for ClubFeed.

Update attachment

While working on card layout for my projects, I forgot that Masonry existed! All this time, I was trying to fix the layout I decided to just copy-paste.

Update attachment

It's online!

(The Nest domain creation command had a bug so I filed a PR to fix it)

Update attachment

A less organic but still organic method of finding websites is through this thing called Google, and you must do SEO to even have a chance of your website being in the first page.

As any SEO professional would do, I added sitemaps! They're not going to be as useful to humans as RSS or Atom feeds, but still, I kinda want to get on Google.

Update attachment

While fixing RSS and Atom feeds for DoubleFloat, I decided to add feeds for Projects too! This is so that users can find my projects more easily, just like what feeds for DoubleFloat do.

Update attachment

After some time of only existing in model form, I've finally added categories (tags) to DoubleFloat posts. All DoubleFloat URLs have been moved to /doublefloat/.

Update attachment

I've been working on a homepage (more of a GitHub-style dashboard thing), again, inspired by other websites. I also included twofetch because why not!

Update attachment

Today has mostly been me trying to figure some HTML/CSS stuff out, as well as bits of the home page. I'm also taking inspiration (w/o stealing code) from other personal websites (like others submitted to the Summer of Making).

Update attachment

Implementing the DoubleFloat home page was rather easy, considering my existing knowledge with ClubFeed. I also implemented RSS and Atom syndication feeds for a way to check DoubleFloat posts without the twonum.org website.

Update attachment

Just some style changes, namely making <section> elements cards.

Update attachment

Decided to use Catppuccin slightly to make it look less like stock Bootstrap. It's not really Catppuccin—I left out the body text to avoid conflicts with Bootstrap.

Update attachment

First part of the make twonum.org aesthetically pleasing unplan.

Decided to add even more <main> padding and changed the bottom of <h2> bar thing to solid Catppuccin Mocha.

Inspired by the other personal sites I've seen

Update attachment

A few things regarding the about page.

I added a My projects section that highlights some of my projects, as well as icons (mandatory for any portfolio website). The new CSS logo (the rebeccapurple one) wasn't in Devicons, so I ended up spending some time submitting a PR to the project (not tracked here, because of fraud accusation prevention).

Starting to make it look fun now!

Update attachment

Started working about the About page. The guestbook I talked about earlier? I decided to implement it with a model called TimeMachine, as well as the hit counter. I have some plans with this about page (e.g. prettification) but also modernize the old web elements.

Update attachment

Comments on blogs now!

Might go the old web route and add a guestbook. django-comments-xtd seems like an option (use same stuff for commenting, simplicity) but it will be hard to implement.

Using xtd with JavaScript required React and I don't use it (I plan to keep it simple and just use server-side rendering)

Update attachment

The last two hours was mostly me working on the Projects functionality of the website. Every portfolio site must show off its projects, but I'd rather just use an admin panel to manage them rather than working on each source file individually.

Projects can also be commented on to let others share feedback. Users can use their forum account or (if it's suitable) post without one.

After some more technical bits, the prettification can begin.

Update attachment

Blogging so far.

  • Added blogging model and functionality
  • Blogging page
  • Did some styling of blog pages
Update attachment

I'm finally doing my long-overdue personal website.

This codebase will power both twonum.org and df.twonum.org (DoubleFloat, my blog) using the same database. They'll use the same database, so some noteworthy DoubleFloat blog posts can be crossposted on twonum.org.

I got a base boilerplate working by copying some settings code from ClubFeed.

Update attachment