From c77d08c6178c63b4c74873a9886ff91c2a4fdd1d Mon Sep 17 00:00:00 2001 From: Fuwn Date: Thu, 18 Jan 2024 03:37:47 +0000 Subject: feat: initial release --- src/bashly.yml | 16 ++++++++++++++++ src/lib/get.sh | 3 +++ src/lib/join.sh | 6 ++++++ src/lib/print.sh | 9 +++++++++ src/popular_command.sh | 1 + src/search_command.sh | 1 + src/trending_command.sh | 1 + src/upcoming_command.sh | 1 + 8 files changed, 38 insertions(+) create mode 100644 src/bashly.yml create mode 100644 src/lib/get.sh create mode 100644 src/lib/join.sh create mode 100644 src/lib/print.sh create mode 100644 src/popular_command.sh create mode 100644 src/search_command.sh create mode 100644 src/trending_command.sh create mode 100644 src/upcoming_command.sh (limited to 'src') diff --git a/src/bashly.yml b/src/bashly.yml new file mode 100644 index 0000000..fde8831 --- /dev/null +++ b/src/bashly.yml @@ -0,0 +1,16 @@ +name: tama +help: Command-line Hiruki Client +version: 0.1.0 +dependencies: [curl, echo, tr, jq, sed, mdcat] +commands: + - name: trending + alias: t + - name: popular + alias: p + - name: upcoming + alias: u + - name: search + alias: s + args: + - name: query + repeatable: true diff --git a/src/lib/get.sh b/src/lib/get.sh new file mode 100644 index 0000000..ef7d4f2 --- /dev/null +++ b/src/lib/get.sh @@ -0,0 +1,3 @@ +get() { + curl --silent --get "https://api-hiruki-xyz.vercel.app${1}" +} diff --git a/src/lib/join.sh b/src/lib/join.sh new file mode 100644 index 0000000..e9215ec --- /dev/null +++ b/src/lib/join.sh @@ -0,0 +1,6 @@ +join() { + ARRAY="${1}" + + echo "${ARRAY[*]// / }" | + tr -d '"' +} diff --git a/src/lib/print.sh b/src/lib/print.sh new file mode 100644 index 0000000..8c66ad6 --- /dev/null +++ b/src/lib/print.sh @@ -0,0 +1,9 @@ +function print() { + echo + + get "${1}" | + jq -r '.[] | ["[", .title.romaji, "](https://hiruki.xyz/i/", .id, ")"] | join("")' | + sed 's/^/* /' | + mdcat | + sed 's/^/ /' +} diff --git a/src/popular_command.sh b/src/popular_command.sh new file mode 100644 index 0000000..992026f --- /dev/null +++ b/src/popular_command.sh @@ -0,0 +1 @@ +print '/popular' diff --git a/src/search_command.sh b/src/search_command.sh new file mode 100644 index 0000000..4a12cf7 --- /dev/null +++ b/src/search_command.sh @@ -0,0 +1 @@ +print "/search/$(jq -rn --arg x "$(join "${args[query]}")" '$x | @uri')" diff --git a/src/trending_command.sh b/src/trending_command.sh new file mode 100644 index 0000000..16514d8 --- /dev/null +++ b/src/trending_command.sh @@ -0,0 +1 @@ +print '/trending' diff --git a/src/upcoming_command.sh b/src/upcoming_command.sh new file mode 100644 index 0000000..49b4ec5 --- /dev/null +++ b/src/upcoming_command.sh @@ -0,0 +1 @@ +print '/upcoming' -- cgit v1.2.3