Commit graph

11 commits

Author SHA1 Message Date
3c089bbdc3
style: apply rustfmt formatting to all files
Also moves rust toolchain to a nightly equivalent of stable 1.87, in
order to allow for existing rustfmt configs such as imports granularity
to be used.
2025-08-19 07:01:31 +01:00
ee524dc160
feat(blog): implement proper blog pages with full rendering
* Render blog headers using a patched `ratatui-image` to export internal
  `Picker` fields which we use to construct our own picker based on
  guesses for what capabilities a terminal might have based on
  `$TERM_PROGRAM` values
* Move truncate implementation into `content` module and have other
  modules import it
* Add `terminal` module under `tui` for classifying different terminals
  and storing information regarding them
* Update trait `Component::init` to supply a `TerminalInfo`, to help
  components adapt themselves to terminal emulator capabilities
* Move rust toolchain back to stable, now version 1.87
* Increase rustfmt max width and chain width to 95
2025-08-18 19:10:47 +01:00
ad38a34c5a
feat(blog): design a nicer layout and make post rendering functional 2025-08-15 19:02:20 +01:00
0383f796e2
feat(blog): make posts interactible and render markdown contents 2025-08-15 12:41:24 +01:00
256aa5b8bd
style: introduce new clippy config and apply
Also moves to nightly toolchain, mainly for specific clippy features.
2025-08-14 10:24:50 +01:00
b6bf444fcf
feat(blog): make blog title list interactive 2025-08-12 08:18:49 +01:00
4d6d8974e4
fix: feature gating for blog breaking other builds 2025-08-11 19:01:08 +01:00
27eaf50448
feat: include ATProto powered blog using whitewind lexicons
Includes a blog system which fetches whitewind blog posts stored on an
ATProto PDS:

* Optional feature to enable the blog system
* Updated build script to generate client from lexicons
* Fetching system along with in-memory caching and data validation
2025-08-11 08:02:15 +01:00
764cddee0e
refactor: use indoc! for better formatting of cat ascii art 2025-02-02 18:46:13 +00:00
fc41a499e6
feat: impl portfolio design with complete about page
Finally implemented the actual portfolio design! This includes a tab
mechanism for various aspects of the portfolio and the complete content
for the about tab.

Also fixes the TUI not being correctly scaled due to crossterm using the
dimensions of the server console tty instead of the client pty by
defining a custom `Backend` for ratatui.
2025-02-02 18:28:57 +00:00
15a6cfe4e2
feat: init, basic rendering with ratatui to ssh backend 2025-01-28 05:40:02 +00:00