Skip to content

A web folder in command line with UI, developing with go bubbletea

Notifications You must be signed in to change notification settings

zKurisu/web-tree

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Description

Using bubbletea and libgloss to write a web favorates handler for command line usage.

It's still in the development stage, and I'm dealing with problems with the UI components. Code comments and documentation will be written soon. Bugs are being fixed along the way!

show.mp4

Targets

Have a nice UI, customization of UI components'position, maybe drag with mouse and store the new position parameter
Add/delete web ✅
Could add description for each web ✅
Multiple name alias for each web page ✅
Scroll bar
Open a web page through target web browser ✅
Icon setting for each web page
Fuzzy finder ✅
Classification support
Vim mode for moving around and search space ✅
Maybe customization for keybindings
YMAL configuration file ✅
Custom sort way: folder, label
Flip between description and link ✅
Copy the link to clipboard ✅
Edit link and description in real time ✅
Basic help info on the top, could be hidden ✅
Check whether the keybindings is conflict
Configuration file should be placed at "~/.config/web-tree/" ✅
Every tree have a storage file? data 目录, 每创建一个 tree, 就添加一个文件 ✅
Check configuration
Move a node to another position ✅
Browser list show ✅
Sort method, tree? node? label and so on.

Installation

git clone https://github.com/zKurisu/web-tree.git
cd web-tree
go build .
./web-tree

You can copy the binary file to local path:

cp ./web-tree/web-tree ~/.local/bin/

Mode

Press specific keys to enter different modes:

Mode Key Desc
Display ESC From any mode
Search Ctrl+n From any mode.
AdSearch Ctrl+u From any mode
Browser Ctrl+o From any mode
Add Ctrl+a From display mode
Edit Ctrl+e From display mode

Search

Fuzzy find a web node:

  • <Tab> for autocompletion
  • <Ctrl+j> to move down
  • <Ctrl+k> to move up
  • Enter to jump to specific node

Advanced Search

Using tree path (web folder), links, alias, and labels to find a node:

  • <Tab> for autocompletion
  • <Ctrl+j> to move down
  • <Ctrl+k> to move up
  • Enter to jump to specific node

Add

Add new subtree (web folder) or node:

  • <Ctrl+j> to move down
  • <Ctrl+k> to move up
  • Enter to jump to specific node

Browser

Chose browser for opening a web link, default value is the first one setting in configuration file:

Display

Navigate subtrees and nodes:

  • h for left
  • l for right
  • k for up
  • j for down
  • ctrl+x for opening link
  • ctrl+e for editing node
  • ctrl+t for toggling display info

Cmd

Open tui

webtree

root

Open with browser in conf file by alias

webtree --tree=<name> --node --alias=<alias>

Open with browser in conf file by link

webtree --tree=<name> --node --link=<url>

Target browser

webtree --tree=<name> --node --alias=<alias> --browser=firefox

add

Add a new web folder:

webtree add --tree=<name> 

Add a new web folder with sub folder:

webtree add --tree=<name>/<subname>/<subsubname> 

Add multiple tree

webtree add --tree=<name>/<subname>/<subsubname>,<another>

Add a new node to a tree (at lease url and alias):

webtree add --tree=<name>/<subname> --node --link=<url1>,<url2> --alias=<alias1>,<alias2> --desc=<desc1>,<desc2> --label=<label1>,<label2>

delete

Delete a tree

webtree del --tree=<name>/<subname>

Delete multiple trees

webtree del --tree=<name>/<subname>,<another>

Delete a node by url

webtree del --tree=<name> --node --link=<url>

Delete a node by alias

webtree del --tree=<name> --node --alias=<alias>

edit

Edit a tree name

webtree edit --tree=<name> --tname=<newname>

Edit a node chosen by link

webtree edit --tree=<name> --node --link=<url> --nlink=<newlink> --nalias=<newalias> --ndesc=<newdesc> --nlabel=<newlabel>

Edit a node chosen by alias

webtree edit --tree=<name> --node --alias=<alias> --nlink=<newlink> --nalias=<newalias> --ndesc=<newdesc> --nlabel=<newlabel>

move

Move a tree as a subtree of another tree

webtree move --tree=<name> <another tree name>

Move a node to another tree

webtree move --tree=<name> --node --alias=<alias> <another tree name>

list

List all trees

webtree list tree

List all nodes

webtree list node

List all tags/labels

webtree list label

List all styles

webtree list style

show

Show detail of a tree

webtree show --tree=<name>

Show detail of a node

webtree show --tree=<name> --node --link=<url>

or:

webtree show --tree=<name> --node --alias=<alias>

Show detail of a label

webtree show --label=<name>

About

A web folder in command line with UI, developing with go bubbletea

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published