Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/piuccio/cowsay
cowsay is a configurable talking cow
https://github.com/piuccio/cowsay
Last synced: 2 days ago
JSON representation
cowsay is a configurable talking cow
- Host: GitHub
- URL: https://github.com/piuccio/cowsay
- Owner: piuccio
- License: other
- Created: 2012-11-11T21:43:43.000Z (about 12 years ago)
- Default Branch: master
- Last Pushed: 2024-09-24T07:32:35.000Z (3 months ago)
- Last Synced: 2024-11-26T09:06:11.209Z (16 days ago)
- Language: JavaScript
- Size: 205 KB
- Stars: 1,146
- Watchers: 14
- Forks: 162
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-terminal-art - cowsay
- awesome-starred-test - piuccio/cowsay - cowsay is a configurable talking cow (JavaScript)
- awesome-linux-ricing - cowsay - A configurable talking cow. (Terminal / Fancies)
- awesome-ascii - cowsay
README
# cowsay
````
__________________
< srsly dude, why? >
------------------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
````cowsay is a configurable talking cow, originally written in Perl by [Tony Monroe](https://github.com/tnalpgge/rank-amateur-cowsay)
This project is a translation in JavaScript of the original program and an attempt to bring the same silliness to node.js.
## Install
npm install -g cowsay
## Usage
cowsay JavaScript FTW!
or
cowthink node.js is cool
It acts in the same way as the original cowsay, so consult `cowsay(1)` or run `cowsay -h`
````
________
< indeed >
--------
\
\
.::!!!!!!!:.
.!!!!!:. .:!!!!!!!!!!!!
~~~~!!!!!!. .:!!!!!!!!!UWWW$$$
:$$NWX!!: .:!!!!!!XUWW$$$$$$$$$P
$$$$$##WX!: .): void {
if (error) {
console.log(`Error getting cow names: ${error.message}`)
}
else if (cow_names) {
console.log(`Number of cows available: ${cow_names.length}`);
}
}cowsay.list(get_cows);
```importing the `IOptions` interface directly:
```ts
import { IOptions } from "cowsay" // optionallet opts: IOptions = {
text: "Hello from TypeScript!",
e: '^^',
r: true,
};console.log(cowsay.say(opts));
```## Pipe from standard input
echo please repeat | cowsay
## Usage in the browser
cowsay works in your browser too with rollup / webpack / browserify / you name it.
```js
import { say } from 'cowsay';console.log(say({ text: 'grazing in the browser' }));
```You can customize the cow by importing the relevant one
```js
import { think, SQUIRREL } from 'cowsay';console.log(think({
text: 'grazing in the browser',
cow: SQUIRREL,
eyes: 'pp',
tongue: ';;',
}));
```All cows are included in the bundle, but you can use rollup / webpack tree-shake feature to reduce the final bundle size.
### Browser options
```js
say({
text: 'hello',
cow: '', // Template for a cow, get inspiration from `./cows`
eyes: 'oo', // Select the appearance of the cow's eyes, equivalent to cowsay -e
tongue: 'L|', // The tongue is configurable similarly to the eyes through -T and tongue_string, equivalent to cowsay -T
wrap: false, // If it is specified, the given message will not be word-wrapped. equivalent to cowsay -n
wrapLength: 40, // Specifies roughly where the message should be wrapped. equivalent to cowsay -W
mode: 'b', // One of "b", "d", "g", "p", "s", "t", "w", "y"
});
```