aboutsummaryrefslogtreecommitdiff
path: root/README
blob: ef6a531095464d22913f23374a97d5dd73fb25d0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
 _____                                        
|  __ \                                       
| |__) |___   _ __   _   _  ___   __ _  _   _ 
|  ___// _ \ | '_ \ | | | |/ __| / _` || | | |
| |   | (_) || | | || |_| |\__ \| (_| || |_| |
|_|    \___/ |_| |_| \__, ||___/ \__,_| \__, |
                      __/ |              __/ |
                     |___/              |___/ 
   _____         _                                      _                     _              _    
  |_   _|___  __| | __ _  _  _   _  _  ___  _  _  _ _  | |_  ___  _ _  _ __  (_) _ _   __ _ | |   
    | | / _ \/ _` |/ _` || || | | || |/ _ \| || || '_| |  _|/ -_)| '_|| '  \ | || ' \ / _` || | _ 
    |_| \___/\__,_|\__,_| \_, |  \_, |\___/ \_,_||_|    \__|\___||_|  |_|_|_||_||_||_|\__,_||_|( )
                          |__/   |__/                                                          |/ 
    _                                             _    _                             _     _  _ 
   | |_  ___  _ __   ___  _ _  _ _  ___ __ __ __ | |_ | |_   ___  __ __ __ ___  _ _ | | __| || |
   |  _|/ _ \| '  \ / _ \| '_|| '_|/ _ \\ V  V / |  _|| ' \ / -_) \ V  V // _ \| '_|| |/ _` ||_|
    \__|\___/|_|_|_|\___/|_|  |_|  \___/ \_/\_/   \__||_||_|\___|  \_/\_/ \___/|_|  |_|\__,_|(_)
                                                                                                


Required runtime dependencies
=============================

    bash      : required for the main script [file: ponysay]

    cowsay    : this is a wrapper for cowsay

    coreutils : the main script [file: ponysay] uses stty, cut, ls, cat, sort, readlink, pwd, head and tail

    sed       : used to remove .pony from pony names when running `ponysay -l` and `ponysay -L`

    perl      : required to run `ponysay -l` and `ponysay -L`


Optional runtime dependencies
=============================

    ponyquotes4ponysay : for support of My Little Pony quotes with associated pony
    -- Included as a submodule, and can easily be removed by edit Makefile.
    
    kmsponies4ponysay : improving TTY support under KMS support
    -- Available for Arch:ers in AUR (https://aur.archlinux.org/packages.php?ID=61111)
    -- and on github at https://github.com/maandree/ponyquotes4ponysay


Package building dependencies
=============================

    gcc       : used for compiling ponysaytruncater.c

    gzip      : used for compressing manpages

    make      : required to run the make script

    coreutils : make script uses install, unlink, rm, ln, mkdir and cp

    git       : required for submodules


Dependencies for pony providers
===============================

    make      : required to run `make -B ttyponies`

    coreutils : ln and readlink are used in the ttyponies subscript

    bash      : used in the ttyponies subscript

    util-say  : used by `make ttyponies` to build ttyponies from xterm ponies
    -- Available for Arch:ers in AUR as util-say-git (https://aur.archlinux.org/packages.php?ID=60241)
    -- and on github at https://github.com/maandree/util-say


Installation on GNU/Linux (or other Unix implementations)
=========================================================

    Before installing ponysay, make sure your system have the packages listed under
    [Required runtime dependencies] and [Package building dependencies] installed.
    
    Download or clone the project.  bleeding edge:  https://github.com/erkin/ponysay/tarball/master
    	     	      	  	    release:        https://github.com/erkin/ponysay/tags
    
    In the terminal, `cd` into the ponysay directory and execute `make && make install`.
    This will install ponysay into the $PREFIX (/usr by default, meaning you may need to
    run `make install` as root, e.g. by running `sudo make install`.)
    
    In order to use ponysay, run:                 ponysay "I am just the cutest pony!"
    Or if you have a specific pony in your mind:  ponysay -f pinkie "Partay!~"
    
    Run `info ponysay`, `man 6 ponysay` (man ponysay) or `ponysay -h` for more information.
    A Spanish manual is available: man -L es 6 ponysay


Pony fortune on terminal startup
================================

    This requires that you have fortune utility installed. You can install it from your
    distributions package repository, it should be named fortune or fortune-mod.
    
    Edit your ~/.bashrc and this line [to the end should work]:
    
        fortune | ponysay
    
    Now every time you open a terminal a pony should give your fortune.
    
    If you wany ponified fortuned the are some stuff you can try:
        
        A gigantic sed script:
          http://www.reddit.com/r/mylittlelinux/comments/srixi/using_ponysay_with_a_ponified_fortune_warning/
        
        ponypipe:
          https://github.com/maandree/ponypipe
          https://aur.archlinux.org/packages.php?ID=60228
        
        pinkie-pie:
          https://github.com/maandree/pinkie-pie
          https://aur.archlinux.org/packages.php?ID=60229


Pony quotes
===========

Running `ponysay -q` will give you a random pony saying one it its quote from MLP:FiM.
Add one or more argument after `-q` to sepecify a set of ponies from which one will be selected randomly.

When running `ponysay -l` or `ponysay -L` the ponies which have quotes will be printed bold or bright (depending on terminal).


Ponies in TTY (Linux VT)
========================

    If you have a custom colour palette edit your ~/.bashrc and add:
    
        if [ "$TERM" = "linux" ]; then
            function ponysay
            {
                exec ponysay "$@"
                #RESET PALETTE HERE
            }
        fi


FAQ
===

    Q: The output looks like a mess in (TTY/PuTTY/other)!
    
    A: Unfortunately, there's nothing much we can do about it.
       See issue 1:  https://github.com/erkin/ponysay/issues/1
    
    Q: You are missing (my-favourite-pony)!
    
    A: Ask and we'll add!
       https://github.com/erkin/ponysay/issues
    
    Q: Which programs do you use to generate the pony files?
    
    A: The pony files are actually mostly a bunch of selected browser
       ponies that are generated into cow files via img2xterm
         https://github.com/rossy2401/img2xterm
       or util-say.
         https://github.com/maandree/util-say
         https://aur.archlinux.org/packages.php?ID=60241


Providing ponies
================

    Most pony images are browser ponies or desktop ponies,
    browser ponies is a port of desktop ponies, implementing it in JavaScript.
    
    Browser ponies:  https://github.com/panzi/Browser-Ponies
    Desktop ponies:  http://desktop-pony-team.deviantart.com/
    
    There is also a collection of ponies that are not yet pixelated in a Java reimplementation:
      https://github.com/maandree/unisay/tree/develop/dev/newponies
    
    
    New ponies can be created from regular images by using img2xterm
      https://github.com/rossy2401/img2xterm
    or util-say
      https://github.com/maandree/util-say
      https://aur.archlinux.org/packages.php?ID=60241
    
    Using util-say:
        
        img2ponysay -c 1 -2 -- SOURCE_IMAGE > PONY_FILE
        
        PONY_FILE should end with .pony and be localed in ponies/
        
        Omit -2 if the source image does not use double pixel size.
        
        (`-c 1` is no longer required.)
        For more information see https://github.com/maandree/util-say/wiki/img2ponysay
    
    When a pony is added please also add a ttypony version, but if you don't please
    state so in the pull request so we do not miss the create it; the simplest way to
    do this is to run `make -B ttyponies` after adding the ponies to ponies/.
    
    Running `make -B ttyponies` will build (or rebuild) all ttyponies with a pony present
    in ponies/, and creates all needed symlinks.
    
    To be able to run `make -B ttyponies` you must have the packages listed under
    [Dependencies for pony providers].