Week 22: docsets downloader and homebrew!
26 March 2023
Hey friends, It’s Stanislav!
I’m building POSH TUI , a glamorous TUI documentation browser for Ruby developers, and writing bi-weekly updates along the way.
Two weeks ago, I set out on a mission to share the initial development build with the community. While I successfully achieved this objective, the process of packaging and distributing the build proved to be time-consuming. As web developer, I strive for a seamless delivery experience, ideally as effortless as simply pushing code to GitHub.
I want to release often, so it’s important to make this simple and fast. This was my main theme for these two weeks.
Docsets downloader
Project adopts XDG user directories standard. You can find all docsets in the “posh” folder.
Unix | MacOS | |
XDG_DATA_HOME | ~/.local/share | ~/Library/Application Support |
_posh docsets_
will download all the required documentation. Implementation is really minimal.
Homebrew
This command will install latest version of POSH. Make sure to run brew upgrade
from time to time.
brew tap skatkov/tap && brew install skatkov/tap/poshtui
Homebrew works perfectly as a software distribution solution for our project. Simple and can be private(with my own tap). But it doesn’t work with windows, but POSH TUI doesn’t either.
If you are really curious, I have all my releases and brew tap available publicly on GitHub. Source code is still closed, but free build will be permanent from now on. Premium feature will be offering a way to download documentation for gems beyond rubies or RoR.
Debounced
All operations in a class browser are properly debounced now. Viewer doesn’t get overloaded anymore and doesn’t hang (at least in my tests).
It does create an issue, that some content gets loaded with delay. But at least, app doesn’t hang. Further refinements are needed, but this at least makes app slightly more usable.
Plans for next 2 weeks
Next two weeks I’ll be focusing on improvements for app itself. My main priorities are:
- Working search
- Pick proper ruby documentation depending on a folder that app is being launched at
- Further improvements to UI - flexbox, tabs for browser section, better content section loading and etc.
- Configuration file support, it should help with theme support.