Today, I needed to print some physical folder tabs. I wanted to challenge myself a bit to see if it were possible to build an HTML application that could do the job. Ideally, I wanted to load an Excel file and use the contents of a worksheet to create the labels. I was able to find some example code that uses some AJAX libraries from CloudFlare to parse the Excel file. With that and a few other bits of code samples, I was able to build a robust local page for creating physical folder tabs that may be printed and cut to help keep my filing tidy.
The code is available on GitHub at https://github.com/richteel/FileFolderTabs.
I have been working on the Armachat project by Peter Misenko. I rewrote the code to implement functions that Peter had not completed and added a few more. Some of the added features include:
- Implemented detection of a long keypress
- Dedicated keys when not in the editor
- Q – Toggle the keyboard backlight
- A – Toggle the display backlight
- V – Increase volume / Long keypress to decrease volume
- B – Increase display brightness / Long keypress to decrease display brightness
- Ability to receive messages in all screens including editor
- Validation of editor input
- Confirmation prompts
I have been working on an issue with editor text input. The display update procedure takes 400 to 500 milliseconds which causes an issue as keypresses are dropped when typing quickly. Initially it was taking nearly 1 second to update the screen so some improvement has been made but it is still not good enough. I continue to work on improving the screen draw time and may deploy a few things to allow all keys to be detected and handled.
Another area for improvement is the long keypress detection. I noticed that removing the long keypress detection speed up the code enough to catch all key presses however the added functionality that the long keypress provides is too much to ignore.
GitHub locations for Peter’s code and my rewrite.