Giter VIP home page Giter VIP logo

dog's Introduction

dog

Master CI

Dog command for *nix systems. Because there is a cat command, should be a dog command too. Was written completely using Vim and WSL2, compiled with GCC and developed in one night.

For the Work In Progress - Windows version, check this branch.

This package is purely joke, please do not take it seriously.

➜  ~ dog
          __
 |_______/ V`-,
  }        /~~  Whoof!
 /_)^ --,r'
|b      |b

Installation

From package (Debian/Ubuntu)

Download the last stable package from releases and install it using dpkg.

From source (other platforms)

Requisites

You will need to install at least GCC and Make for your OS.

Intructions

Just clone the repository and build it using make and GCC.

$ make
$ sudo make install

Building your own DEB package

The repository also includes a sample building script you can use to build and package your own DEB package, you can distribute or even analyze for learning purposes. Just run the script as follows.

$ ./BUILD-DEB-PACKAGE.sh

Make sure to change the version into the VERSION file.

dog's People

Contributors

cescmentationfolch avatar ihton avatar j-rios avatar juanjosalvador avatar randykdev avatar sohambodas avatar zerasul avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

dog's Issues

[WIP/Windows] File option doesn't work on Windows

The --file option doesn't work on Windows due to POSIX libraries not implemented on Windows compiler and the use of not standard C. The problem are mostly the use of getline and sleep functions.

A simple solution is avoiding this by replacing functions with standard C functions or replacing them with Windows compiler functions, not POSIX.

ARM64 build

In order to make it executable on Android (termux) and other ARM64 devices, we need to make a build for this kind of systems.

Custom bark/message

Like cowsay, this package could allow you to choose the barking of the dog or even allow the user to print a custom message right down the dog.

Allow the user to pick the dog or set random one

Related to #3, if we are going to add a N number of dogs, the user will need to be allowed to choose one or pick a random one. Like this:

$ dog -d 1
$ dog --choosen-dog 1

Or pick a random one by default.

Add more dogos

Currently there is only one dog design, would be nice if we can add more dogs (ASCII art please!).

Make a Windows installer

Aslong we have built a Linux (currently deb) package to be able to install dog using using pre-built package, we need to package for Windows too. With a graphical installer and/or Chocolatey installer.

Compile and build on Windows system (not WSL)

Currently tested and working fine on WSL but we need to build it too on Windows.

  • Compile on Windows (x86)
  • Compile on Windows (x64)
  • Fully ported to Windows systems
    • Fix --file option for Windows (see #21)

Currently is compiled on branch wip/windows but it's not fully ported.

Add "help" command and man page

Add a simply man page for the package, with a -h ,--help param to show some info about the package, like the ASCII logo, possible options and other significant information.

  • Help option
  • Man page
➜  dog-0.0.1 git:(master) ✗ dog --help | lolcat
          __
 |_______/ V`-,
  }        /~~  Dog, v0.0.4
 /_)^ --,r'
|b      |b


USAGE

    dog [OPTION] [OPTION PARAM]

EXAMPLE

    dog --message 'Hello World!'

AVAILABLE OPTIONS

    (no option)              Dog goes 'whoof'. Default option.
    -b, --bork               Dog goes 'bork'.
    -g, --guau               Dog goes 'guau' (spanish version).
    -m, --message            Dog will say your message.
    -f, --file  [FILE]       Dog will say every line of the specified file.
    -v, --version            Prints dog version.
    -w, --who-is-a-good-boy  Who's a good boy? You're a good boy!

Other platforms builds

Support for other platforms and architectures

Windows

  • i386
  • amd64

Linux

  • aarch64
  • arm7v
  • i386
  • amd64

ARM7v build

In order to make it executable on Android (termux) and other ARM7v devices, we need to make a build for this kind of systems.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.