soi-go

command module
v0.0.0-...-2d36b97 Latest Latest
Warning

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

Go to latest
Published: Feb 26, 2025 License: MIT Imports: 1 Imported by: 0

README

soi

soi

test lint

概要

soi は CLIベースの ローカルで高速なブックマークマネージャです。機能としてはブックマークの追加・検索・閲覧が存在します。追加されたブックマークはローカルストレージ(${HOME}/.soi)に管理されますが、このストレージをクラウドストレージと連携することで、異なるPC間の同期も可能です。

主な機能

  • ブックマークの追加: soi> add {dir} {name} {url} でブックマークを追加できます。
  • ブックマークの検索: soi> list でブックマークをリストアップし、任意のキーワードで絞り込めます。
  • ブックマークの閲覧: soi> open {id} でブックマークを閲覧できます。

インストール

必要要件
  • go がインストールされていること
インストール手順
設定ファイル

${HOME}/.soi/config.json を作成します。最初は以下の様な設定にします。

設定ファイル及び設定ディレクトリが存在しない場合、起動時に規定のファイルが生成されます。

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

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

バイナリインストール

$ go install でインストールします

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

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

~$ soi-go
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
common/file
Package file offers file related functions
Package file offers file related functions
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入れ替えを検知可能にするため

Jump to

Keyboard shortcuts

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