loli

module
v1.15.0 Latest Latest
Warning

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

Go to latest
Published: Oct 4, 2022 License: MIT

README

gif-header

✨ Loli CLI ✨

Semantic Release Commitizen friendly


pipelines

✨ Loli is a pretty CLI that search animes passing images or links ✨

Getting Started   |    Install   |    Usage   |    Versioning


➤ Getting Started

If you want contribute on this project, first you need to make a git clone:

git clone --depth 1 https://github.com/ci-monk/loli.git -b main

This will give you access to the code on your local machine.

➤ Description

This CLI is intended to be a code lab and best practices for creating a project ready to receive community builds, while introducing the basics for creating a CLI tool in Go and the standardization of conventions for the development workflow.

➤ Install

with go:

go install github.com/ci-monk/loli/cmd/loli

# if you cannot install directly, try following command,
# then input install command again
go get -x -u github.com/ci-monk/loli/cmd/loli

with brew:

brew tap ci-monk/tools
brew install loli

or use a binary from releases.

➤ Usage

Get anime with a file

loli search file anime.jpg
loli search link https://anime.com/image.png

➤ Trace.moe

Example trace.moe response:

{
  "frameCount": 745506,
  "error": "",
  "result": [
    {
      "anilist": {
        "id": 99939,
        "idMal": 34658,
        "title": { "native": "ネコぱらOVA", "romaji": "Nekopara OVA", "english": null },
        "synonyms": ["Neko Para OVA"],
        "isAdult": false
      },
      "filename": "Nekopara - OVA (BD 1280x720 x264 AAC).mp4",
      "episode": null,
      "from": 97.75,
      "to": 98.92,
      "similarity": 0.9440424588727485,
      "video": "https://media.trace.moe/video/99939/Nekopara%20-%20OVA%20(BD%201280x720%20x264%20AAC).mp4?t=98.33500000000001&token=xxxxxxxxxxxxxx",
      "image": "https://media.trace.moe/image/99939/Nekopara%20-%20OVA%20(BD%201280x720%20x264%20AAC).mp4?t=98.33500000000001&token=xxxxxxxxxxxxxx"
    }
  ]
}

➤ Learning

In this process, I gained experiences in the following topics regarding the Go language:

  • ✔️ Discover internal Go packages like: os, string and fmt.
  • ✔️ Discover the github.com/spf13/cobra CLI library.
  • ✔️ Create commands and subcommands for your CLI.
  • ✔️ Read flags and arguments from your commands and subcommands.
  • ✔️ Discover the github.com/spf13/viper configuration library.
  • ✔️ Read and write a configuration file.
  • ✔️ Put the snake and the viper to work together.
  • ✔️ Read environment variables.
  • ✔️ Discover the github.com/sirupsen/logrus log library.
  • ✔️ Use variable injection at build time.
  • ✔️ Use conditional in compilation and build tags.
  • ✔️ How to build CLI using Go

➤ Demo

https://user-images.githubusercontent.com/58797390/192595643-a27003a5-d0ba-4abf-b8bb-19f449398190.mov

➤ Versioning

To check the change history, please access the CHANGELOG.md file.

➤ Show your support

Give me a ⭐️ if this project helped you!

gif-header

Made with 💜 by me 👋 inspired on readme-md-generator

Directories

Path Synopsis
cmd
internal
api
cli
log

Jump to

Keyboard shortcuts

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