aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFuwn <[email protected]>2024-01-18 03:37:47 +0000
committerFuwn <[email protected]>2024-01-18 03:37:47 +0000
commitc77d08c6178c63b4c74873a9886ff91c2a4fdd1d (patch)
tree080b7027159291abd5201ba5d8089bd45b93e0da /src
downloadtama-c77d08c6178c63b4c74873a9886ff91c2a4fdd1d.tar.xz
tama-c77d08c6178c63b4c74873a9886ff91c2a4fdd1d.zip
feat: initial release
Diffstat (limited to 'src')
-rw-r--r--src/bashly.yml16
-rw-r--r--src/lib/get.sh3
-rw-r--r--src/lib/join.sh6
-rw-r--r--src/lib/print.sh9
-rw-r--r--src/popular_command.sh1
-rw-r--r--src/search_command.sh1
-rw-r--r--src/trending_command.sh1
-rw-r--r--src/upcoming_command.sh1
8 files changed, 38 insertions, 0 deletions
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'