soi-go

command module
v0.0.0-...-8e6c402 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 10, 2023 License: MIT Imports: 1 Imported by: 0

README

soi

soi

test lint

soigolang製の CLIによるブックマークマネージャです。CLIによる快適な操作が可能です。 データはローカルストレージに保存されます。このディレクトリは soi-dirと呼ばれ、${HOME}/.soi が割り当てられます。

soi-dirを Dropbox, GoogleDrive等で連携したり、git連携することで異なるPC間で同期することが可能です。

また、データは簡単なファイルツリーと jsonファイルで構成されているため、テキストファイルとして複製・移動等の編集をCLI越しに行うことが可能です。

Note: 現状 MacOS 環境にしか対応していません。

Install

$ go install

$ go install github.com/koooyooo/soi-go@latest

Config

${HOME}/.soi/config.json で設定します。

{
  "default_bucket": "default",
  "default_repository": "file",
  "default_browser": "firefox"
}

default_browser の選択肢は firefox | chrome | safari です

(設定例)

$ mkdir "${HOME}/.soi" && cat << EOS > "${HOME}/.soi/config.json"
{
  "default_bucket": "default",
  "default_repository": "file",
  "default_browser": "firefox"
}
EOS

Usage

soi >

soiと打ち込むと soi>形式のプロンプトが立ち上がります。

$ soi
soi> 
add

add(追加) コマンドでブックマークを追加します

  • ブックマークには分類用のディレクトリと識別用の名前を指定可能です。それぞれ{dir} {name} で指定します。これらは省略可能です。
soi> add {dir} {name} https://www.google.com
  • #で開始された用語はタグとなります
    • タグは後述の list, dig コマンドにおける絞り込みで活用可能です。
soi> add {dir} {name} https://www.google.com #search #entry
options

オプションで各要素を明示的に指定できます。

  • -dオプションでディレクトリを明示的に指定できます
  • 省略時のデフォルトディレクトリは newです
  • ディレクトリは /区切りで階層的に表現することも可能です
soi> add -d search https://www.google.com
  • -nオプションで名前を明示的に指定できます
  • -nオプションが無い場合のデフォルト値は 対象URL内の <title>要素です
soi> add -n google https://www.google.com
list

list コマンドで ブックマークをリストアップし、絞り込み、最後に選択することが可能です。

  • TabShift + Tab)キーや キーで対象を選択します
soi> list 
           adf46ead [ 10 00.0] api/API設計ガイド [#guide #api]                               
           a73764ed [  1 00.0] books/GooglePlay-Audiobooks                      
           46734e6c [  6 00.0] contents/MDN [#guide]                                    
  • ディレクトリや名前の一部, タグ名をタイプすることで対象の絞り込みを行います
名前で絞り込み
soi> list MDN
           46734e6c [  6 00.0] contents/MDN [#guide]                                    
タグで絞り込み
soi> list #guide
           adf46ead [ 10 00.0] api/API設計ガイド [#guide #api]                               
           46734e6c [  6 00.0] contents/MDN [#guide]                                    
  • 選択した行でEnterを押下すると、対象のブックマークをブラウザで開きます

Note: リスト時にブラウザ指定オプションを付けることで指定したブラウザが開きます。それ以外の場合は設定ファイルで指定したデフォルトブラウザが起動します。

  • -c chrome
  • -f firefox
  • -s safari

Note: リスト時にソート指定オプションをつけることで指定した順にソートされます。

  • -n 閲覧回数
  • -a 追加日時(新しい順)
  • -v 閲覧日時(新しい順)
dig

dig コマンドで、ディレクトリを階層的に探索します。 list が全体検索を行うイメージなのに対し、digは階層(ディレクトリ)を掘り下げてゆくイメージです。

soi> dig
          search/
          sns/
  • Tab キーや キーでディレクトリを選択します
  • 選択した状態で を選ぶと内部要素が提示されます
soi> dig search/
                 search/google.json
                 search/yahoo.json
  • Enter キーを押下すると、ブラウザでブックマークを開きます
cb

cb コマンドで バケットを切り替えます。バケットとはブックマークをコンテキスト毎に整理するためのもので、例えば work, hobby 等です。

  • cb コマンドに続けてバケット名を入力します
  • 初回は既存のバケットが無いため新規に作成した上で切り替えます
soi> cb hobby
create & change current bucket: hobby
  • 既存のものがあれば、単純に切り替えます
soi> cb hobby
change current bucket: hobby
  • 引数なしで実行すると、現在のバケットを確認できます
soi> cb
current bucket: [hobby]
quit

quit コマンドで soiプロンプトを抜けることができます

soi> quit
$

Documentation

Overview

Copyright © 2023 NAME HERE <EMAIL ADDRESS>

Directories

Path Synopsis
cmd
pkg
cli/soiprompt
Package soiprompt は `complete`,`execute` の責務を別パッケージで管理できる Prompterを提供 Executor, Completer は共に `*model.Bucket` を参照する `*model.BucketRef` を保持し、同一の参照を共有する これは片系統での Bucket入れ替えを検知可能にするため
Package soiprompt は `complete`,`execute` の責務を別パッケージで管理できる Prompterを提供 Executor, Completer は共に `*model.Bucket` を参照する `*model.BucketRef` を保持し、同一の参照を共有する これは片系統での Bucket入れ替えを検知可能にするため
common/file
Package file offers file related functions
Package file offers file related functions

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL