[nodebb-plugin-shortcuts] Browse NodeBB by Keyboard
I've written a new Plugin:
It basically works, but as you can see within the readme file there are still important things to be done...
I just post it now because it's already quite powerful and would save much time searching for my mouse
If you have complains about the default key-mapping, please give me some reason to change and your offer ;)
You may also send pull-requests if you can improve the way the actions do what they're ment to do
(actions can be found within client-scripts/shortcuts_main.coffee).
Installation as usual
npm install nodebb-plugin-shortcuts
Help should appear on
- 0.0.1-5: better descriptions within help-bootbox
- 0.0.2-1: added selection-mode
- 0.0.2-3: added
preventDefaultwhere it should be :)
- 0.0.2-7: added configuration-page (actions not yet configurable), uses own Settings- and Configuration-Services
- 0.0.2-10: added delay to repeats of same action while key hold down
- 0.1.0-1: added self-coded Settings-framework, shortcuts are now customizable within ACP :)
- 0.1.0-3: new selection-structure, added dropDowns as areas, added users + notifications as areas.
- ...0.1.2-6: tag-support, fixes for new composer-components, skip invisible selection-items, ...
- incomplete list... haven't updated yet
1.0.0: Update to NodeBB
0.9.0, persona support, lavender support update
1.0.1: Transfer git repository to NodeBB-Community
Cool! I assume its something similar to this plugin?
If so, I'll gladly close my original plugin and forward it to yours. I really have no idea because I can't read coffeescript and don't intend to learn that anytime soon :p
Cool! I assume its something similar to this plugin?
Ya, except I don't use any library like mousetrap (some things I want to have are not possible with it), maybe there is less browser support because of this.
I can't read coffeescript and don't intend to learn that anytime soon
Sad to hear, it really makes js more fun :)
@julian Hey, I'd love this plugin to be installed on this page, could you please do so? I hate my mouse ^^ and this would be a nice incentive to continue my work on the plugin...
@frissdiegurke I had a play with this on my own forum and couldn't really get it to work, your
?documentation needs clarifying, as it's not immediately obvious what each keyboard shortcut actually does. It may have been updated since, but this was my first thoughts on installing it.
Hope this drives you to make more changes, as it does have potential.
@a_5mith Ya, currently the
?only shows the internal action-names, will add better descriptions soon, besides some other improvements.
I've just published it as early because it'd make my life much easier to have it installed here, bad luck that it was to early for plugin-contest ^^
Of cause it needs many more work to be done ;) The most important would be the navigation deeper into the board like from home to category, from category to post, etc.
I had a play with this on my own forum and couldn't really get it to work
Does this only refer to the bad descriptions, or were there other problems?
@frissdiegurke I didn't have a lot of time to test it, as it wasn't really something that I needed on my board, but I love checking new plugins etc, so usually install them all at least once. I mostly spent the time testing random key combinations to see what they did, I took a gmail approach, Alt +N for new topic when inside a category etc. So I didn't test your plugin to it's max potential.
Updated: version 0.0.1-5 has (besides some other improvements) better descriptions within help-bootbox.
@frissdiegurke Will check it out when I've got a spare few minutes.
EDIT: Doesn't work in Waterfox (64bit Firefox). Only the
?command pulls up the help menu, booted Chrome and looks a lot nicer. Simplify the commands, You don't really need 3 commands to create a new topic or reply etc. Stick with 1 command for each.
I would then also remove the Note at the top, and just type in Alt, Ctrl, Shift into the actual table, you've got more than enough room to do so. I would also replace the
+to signify that both need to be pressed at the same time.
Other than that, s'looking good!
@frissdiegurke Maybe this plugin can be eligible for this weekend's plugin weekend :)
@a_5mith fixed compatibility, should work in Fx now :) I don't think it's necessary to combine the actions, since the same shortcuts may be assigned... It's better for my internal structure to keep them apart and maybe someone wants different assignments ;)
Btw: is there any better way than a
bootbox.dialogto display such things? I have had some issues getting the content scrollable with proper height.
@julian if you allow this to enter I wouldn't back it off ^^ I'll polish it up a bit till the weekend ends, maybe I'm even fast enough to get the selection working ;) (navigation downwards the board: home -> category -> topic)
At this rate you'd be the automatic winner even if you submitted it as is. Where are the other contestants!!
It's done :) the first version with selection-mode: 0.0.2-1 ;)
I've already seen one or two tiny issues I'll have to fix the days, so please be patient
Now you can browse NodeBB nearly without your ... sadly only on boards that have this plugin enabled...
Did I mention yet, that I'd love to see this plugin installed/enabled on this page o_O Are there any reasons why you don't use it?
Since this is a board about development there may be some other guys than me who'd like to throw away their mouse...
I'll check it out after I get my entry in ;)
@frissdiegurke No reason not to use this plugin on this board... I'm just worried it might interfere with my regular shortcuts... ctrl-K, ctrl-L? I hate Google Docs for that reason
@julian Nope, I mostly use Alt-combinations because of the same reason ;)
It's a bit sad that Fx uses some Alt-combinations too, but I didn't test quite much within Fx, just general compatibility since @a_5mith noticed that it didn't work at all ^^
Here you have a full list of combinations currently used (human readable behind # signs):
dialog: confirm: ['89', '79', '90'] # y, o, z close: ['78', '67', '27'] # n, c, Esc composer: send: ['A-83'] # A-s discard: ['A-68', 'S-27'] # A-d, S-Esc title: ['A-S-84'] # A-S-t preview: ['A-80'] # A-p previewSend: ['C-13'] # C-Enter writeSend: ['C-S-13'] # C-S-Enter help: ['A-72'] # A-h write: ['A-87'] # A-w bold: ['A-66'] # A-b italic: ['A-73'] # A-i list: ['A-76'] # A-l link: ['A-85'] # A-u closed: select: ['73', 'C-73', 'A-S-73'] # i, C-i, A-S-i taskbar: closeAll: ['A-67', 'A-88'] # A-c, A-x clickFirst: ['A-86'] # A-v clickLast: ['A-S-86'] # A-S-v breadcrumb: up: ['A-38'] # A-Up topic: reply: ['A-89', 'A-S-78', 'A-13'] # A-y, A-S-n, A-Enter threadTools: ['A-84'] # A-t category: newTopic: ['A-89', 'A-S-78', 'A-13'] # A-y, A-S-n, A-Enter selection: follow: ['13', '32'] # Enter, Space highlight: ['S-72'] # S-h area: next: ['S-74'] # S-j prev: ['S-75'] # S-k item: next: ['74'] # j prev: ['75'] # k navPills: next: ['76'] # l prev: ['72'] # h header: home: ['A-72', 'A-S-72'] # A-h, A-S-h unread: ['A-85', 'A-S-85'] # A-u, A-S-u recent: ['A-82', 'A-S-82'] # A-r, A-S-r popular: ['A-80', 'A-S-80'] # A-p, A-S-p users: ['A-83', 'A-S-83'] # A-s, A-S-s notifications: ['A-78', 'A-S-78'] # A-n, A-S-n chats: ['A-67', 'A-S-67'] # A-c, A-S-c profile: ['A-79', 'A-S-79'] # A-o, A-S-o body: focus: ['S-221', '27'] # S-], Esc scroll: pageDown: ['68'] # d pageUp: ['85'] # u top: ['84'] # t bottom: ['66'] # b
If I haven't missed anything the only Ctrl combinations should be C-i, C-Enter, C-S-Enter
?to show help :)
woah that's a lot of key combinations! you really did quite a lot of work there :p
One thing I hate as an FF user is
alt-dbeing re-routed... because I have a habit of using that to focus the address bar (instead of
ctrl-L- don't ask me why). I noticed you've re-routed alt-d for discard - does the key combination still do the expected behavior as long as the composer isn't open? If so then that's good enough for me :)
@psychobunny Dammit, and I got confused for quite a bit of time why the address bar gets focused every time I discard ^^ Will have to add some
To answer your question: it'll be so when I'm done with the prevents ;)
haha alright, looking forward to trying it out :)