430ba54185
feat: top-level panic recovery mechanism
2025-08-27 13:37:09 +01:00
e7caac4dd7
feat(www)!: update ssh
command to send $TERM_PROGRAM
2025-08-27 12:49:38 +01:00
4aebf61533
build(rs): make patching crates unique to blog
feature for now
2025-08-27 12:47:15 +01:00
019af6bb36
build: apply optimizations in release mode
...
TODO: Potentially highlight more performance hotspots with
`#[optimize(speed)]`.
2025-08-27 12:46:23 +01:00
8bb45bf0fb
chore(pkg): add repository
field
2025-08-27 12:11:16 +01:00
3e44d24f9b
feat!: persist ssh keys across builds by writing them in data dir
2025-08-27 10:34:50 +01:00
7a55e0defd
build(docker): finalize dockerization
...
* Fix broken build process
* Remove unneeded separate install phase
* Include dockerignore
* Actually build the website in the image separately
thank you @lukadev-0 for help :D
2025-08-26 17:33:42 +01:00
49941da089
build(rs): include support for SKIP_PATCH_CRATE
env var
...
Setting `$SKIP_PATCH_CRATE` skips checking the patch application stage
in build.rs which is triggered when the patch directory is changed.
2025-08-26 17:31:57 +01:00
a6174fbb90
chore(pkg): remove unused features in deps
2025-08-26 17:31:27 +01:00
ded2e7218e
build(docker): copy rust-toolchain
into install phase
2025-08-25 18:38:01 +01:00
99c990fb4e
build(docker): run patch-crate
before other vendoring steps
2025-08-25 18:35:31 +01:00
eae85408f7
build(docker): lib.rs
file to be valid rust project during install
2025-08-25 18:29:41 +01:00
db460ca871
build(docker): use scratch
instead of rust
image for runner layer
2025-08-25 17:44:07 +01:00
b9fe0f42ec
build: dockerize the project
2025-08-25 17:42:02 +01:00
cc3d64ed8e
feat!: use port 22
as the default instead of 2222
for ssh
2025-08-25 17:40:06 +01:00
d74f27ca83
fix: feature gate required items and fix build without blog
2025-08-25 15:29:01 +01:00
f5fe0f52e6
fix: squash some small bugs
...
* Fix text not being wrapped for the blog in some cases
* Make `App` not indefinitely block for `TerminalInfo` to be probed
2025-08-19 07:22:20 +01:00
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
b878008c25
fix(logging): not logging error when creating app ( #2 )
...
Reviewed-on: #2
Co-authored-by: LukaDev <hi@lukadev.me>
Co-committed-by: LukaDev <hi@lukadev.me>
2025-08-18 18:18:00 +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
ccf08c5511
fix(app): use debug level for key event action logging
2025-08-14 19:26:41 +01:00
403ff0f781
feat(logging): show debug logs in dev mode with russh::cipher
hidden
2025-08-14 19:23:46 +01:00
6a3597002c
feat: prevent panics by exiting only in dev mode
2025-08-14 19:11:54 +01:00
8c9932fe2b
fix(cli): actually include commit hash and branch
2025-08-14 19:06:37 +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
03432bf9bb
build: address clippy warnings
2025-08-14 09:59:30 +01:00
655f9d624c
style: src/app.rs
2025-08-14 09:44:39 +01:00
dbd6ae9dad
refactor(ssh): remove commented out code and rearrange async block
2025-08-14 09:40:06 +01:00
6242af5bff
fix: add a window bounds check before rendering, requesting resize
2025-08-14 09:37:26 +01:00
8dad453cc6
fix(logging): not compiling in release mode due to conditional
2025-08-12 14:37:09 +01:00
ebddeaa21e
feat: include web server for static landing page
...
Also minor refactors `SshServer`; adding a convenience function to
trivially start an SSH server at a given `SocketAddr`.
2025-08-12 13:05:34 +01:00
a389837e7b
build(www): make svelte-kit
output static
2025-08-12 09:21:28 +01:00
8f4ce95b4a
merge: website landing frontend
2025-08-12 08:56:08 +01:00
39fed6357b
Merge branch 'main' of https://git.devcomp.xyz/jade/ssh-portfolio
2025-08-12 03:50:44 -04:00
d9632a02b1
feat: website landing
2025-08-12 03:48:51 -04:00
e492e2b275
feat: website head & layout
2025-08-12 03:48:46 -04:00
6b7421b6e1
feat: check & copy icon components
2025-08-12 03:46:44 -04:00
da9f5b64c7
feat: website static assets & fonts
2025-08-12 03:46:30 -04:00
5deafdc3a8
feat: website theme & animations
2025-08-12 03:46:14 -04:00
caf29b3511
fix: broken build when blog
feature is disabled
...
Also brings back the warning on blog tab when feature isn't enabled.
2025-08-12 08:35:10 +01:00
b6bf444fcf
feat(blog): make blog title list interactive
2025-08-12 08:18:49 +01:00
a63943152e
feat: landing boilerplate
2025-08-12 01:57:55 -04: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
21de453415
refactor: asyncify stop and exit for Tui
2025-02-03 06:24:32 +00: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
41d47f25b8
chore(README): ya yeet
2025-01-31 16:39:11 +00:00