## ベースの作成 [[Mix]]でプロジェクトは作成せず、[[exsファイル]]として作る。 ```console vim req_use.exs ``` 内部で[[Req]]をインストールし通信する。READMEのまま。 ```elixir Mix.install([ {:req, "~> 0.3.0"} ]) description = Req.get!("https://api.github.com/repos/wojtekmach/req").body["description"] IO.puts(description) ``` 実行して確認。 ```console $ elixir req_use.exs Req is a batteries-included HTTP client for Elixir. ``` スクリプトだからか補完は出なそう。 ## [[GitHub]]から自分のリポジトリを取得 要件をいくつか設定 - `author`が`tadashi-aikawa` - スターが10以上 - スターが多い順にソート ```elixir Mix.install([ {:req, "~> 0.3.0"} ]) Req.get!("https://api.github.com/search/repositories?q=user:tadashi-aikawa").body["items"] |> Enum.sort_by(& &1["stargazers_count"], :desc) |> Enum.filter(&(&1["stargazers_count"] >= 10)) |> Enum.map(&"[🌟#{&1["stargazers_count"]}] #{&1["name"]}") |> Enum.join("\n") |> IO.puts() ``` 実行結果。 ```console $ elixir req_use.exs [🌟362] obsidian-various-complements-plugin [🌟158] obsidian-another-quick-switcher [🌟28] obsidian-embedded-code-title [🌟25] silhouette [🌟19] owl-cmder-tools [🌟18] obsidian-old-note-admonitor [🌟11] pureline-inspired [🌟11] markowl [🌟10] obsidian-quick-jump-plugin [🌟10] obsidian-templater-insert-link-card ``` これでshellの代わりとして少しは使えるかもしれない。その辺で慣れていくのがいいかも。