There’s no way to do this with the settings, and if you directly edit the source of Discourse you’ll lose progress whenever you update.
I think there are two ways this could work, both of these require using a theme so you can upgrade Discourse without losing your work:
-
CSS only: It wouldn’t be a completely trivial task because you’d be editing how the table layout works. The way I would approach it would be by defining each row in the table (
tr
) as a flex item, you’d then be able to order the cells in the row (td
) by using the order property of flex box. -
Overriding the topic-list template. This is quicker to do, but would likely require more ongoing maintenance to keep up with updates. You can take a look at this theme here to get an idea of how it works: Sam's personal "minimal" topic list design. Specifically, this file in that theme takes the core Discourse topic-list template and overrides it.