井戸端コマンド
試用
ダウンロード
使い方
wget とjq のコマンドパスを環境に合わせてフルパスで指定する
スクリプトに実行権限をつける
$ chmod +x ido.sh
コマンド名は ido.sh より ido にしたほうがよい
コマンド入力のタイプ数を減らす
$ ./ido.sh count
ページ総数を表示
$ ./ido.sh list
ページタイルのリストを表示
$ ./ido.sh text
直近の編集されたページを表示
$ ./ido.sh text 井戸端
ページ名を直接指定できる
$ ./ido.sh text Scrapboxが合わない人 Scrapboxが合わない企業
ページ名は複数指定できる
$ ./ido.sh today
今日の日付の井戸端日記を表示する
$ ./ido.sh hamo
code:ido.sh
#
# 井戸端閲覧支援スクリプト
# copyright 2023 s.suto
# CC-BY 4.0
# Linux での設定
WGET='/usr/bin/wget'
JQ='/usr/bin/jq'
#
# 例えばMacならこうなる
# WGET='/opt/homebrew/bin/wget'
# JQ='/opt/homebrew/bin/jq'
ProjectName="villagepump"
Skip=4
Limit=100
cmdname=basename $0
function usage()
{
echo "使い方" 1>&2
echo "ido" 1>&2
echo " usage と同じ" 1>&2
echo "ido usage" 1>&2
echo " 使い方を表示" 1>&2
echo "ido count" 1>&2
echo " ページ総数を表示" 1>&2
echo "ido list" 1>&2
echo " ページタイルのリストを表示" 1>&2
echo " 表示数はシェル変数 \$Limit で指定" 1>&2
echo " ページタイトル(PageTitle)を指定して、内容をテキスト形式で表示" 1>&2
echo " ページタイトルを指定しない場合は、直近に更新されたページをひとつ表示する" 1>&2
echo " ページタイトル(PageTitle)を指定して、json形式で表示" 1>&2
echo " ページタイトルを指定しない場合は、直近に更新されたページをひとつ表示する" 1>&2
echo "ido hamo" 1>&2
echo " ハモのページを表示" 1>&2
echo "ido today" 1>&2
echo " 今日の井戸端日記ページを表示" 1>&2
echo "ido project" 1>&2
echo " プロジェクト名(シェル変数 \$ProjectName )を表示" 1>&2
echo "ido skip" 1>&2
echo " スキップ数(シェル変数 \$Skip )を表示" 1>&2
echo " 通常は、ピン留めページ数を指定する" 1>&2
echo "ido limit" 1>&2
echo " リミット数(シェル変数 \$Limit )を表示" 1>&2
echo " 1000以上は指定しても 1000 になる" 1>&2
echo "ido wget" 1>&2
echo " wgetコマンドのパスを表示" 1>&2
echo "ido jq" 1>&2
echo " jqコマンドのパスを表示" 1>&2
exit 1
}
# APIを叩いて、ページ総数を表示する
function count()
{
exit 0
}
# APIを叩いて、ページリストを表示する
function list()
{
exit 0
}
# APIを叩いて、ページ内容を表示する
function text()
{
if $# -eq 0 ; then
else
for arg in $@
do
PageTitle=$(echo $arg | $JQ -Rr '@uri')
done
fi
exit 0
}
# APIを叩いて、ページ内容をJSONで表示する
function json()
{
if $# -eq 0 ; then
else
for arg in $@
do
PageTitle=$(echo $arg | $JQ -Rr '@uri')
done
fi
exit 0
}
subcommand="$1"
shift
case $subcommand in
usage)
usage
;;
hamo)
text ハモ
;;
today)
text $(date "+%Y/%m/%d")
;;
text)
text "$@"
;;
json)
json "$@"
;;
count)
count
;;
list)
list
;;
project)
echo "ProjectName: $ProjectName"
;;
skip)
echo "Skip: $Skip"
;;
limit)
echo "Limit: $Limit"
;;
wget)
echo "WGET: $WGET"
$WGET --version
;;
jq)
echo "JQ: $JQ"
$JQ --version
;;
*)
usage
;;
esac
exit 0
# EOF