mirror of
https://github.com/erkin/ponysay
synced 2024-11-16 00:17:59 +00:00
Merge branch 'master' into develop
This commit is contained in:
commit
4774e74ba0
341 changed files with 1428 additions and 1097 deletions
4
.gitignore
vendored
4
.gitignore
vendored
|
@ -16,6 +16,10 @@
|
|||
|
||||
/completion/*-completion-think.*
|
||||
/manuals/manpage.*.gz
|
||||
/ponysay.info
|
||||
/ponysay.info.gz
|
||||
/truncater
|
||||
*.install
|
||||
/Makefile
|
||||
/quotes/
|
||||
|
||||
|
|
3
.gitmodules
vendored
3
.gitmodules
vendored
|
@ -1,3 +0,0 @@
|
|||
[submodule "ponyquotes4ponysay"]
|
||||
path = ponyquotes4ponysay
|
||||
url = git://github.com/maandree/ponyquotes4ponysay.git
|
|
@ -1,3 +1,12 @@
|
|||
Version 2.0
|
||||
|
||||
Makefile is generated by running `./configure`.
|
||||
|
||||
All Perl scripts and almost all Bash are reimplemented in one Python 3 script.
|
||||
|
||||
kmsponies4ponysay is included.
|
||||
|
||||
|
||||
Version 1.4.1
|
||||
|
||||
Code is repaired and more portable.
|
||||
|
|
2
CREDITS
2
CREDITS
|
@ -3,12 +3,12 @@
|
|||
# Active developers
|
||||
Erkin Batu Altunbaş
|
||||
Mattias Andrée
|
||||
Elis Axelsson
|
||||
Sven-Hendrik Haase
|
||||
Pablo Lezaeta
|
||||
Jan Alexander Steffens
|
||||
|
||||
# Patchers and other contributors
|
||||
Elis Axelsson
|
||||
Duane Bekaert
|
||||
Kyah Rindlisbacher
|
||||
James Ross-Gowan
|
||||
|
|
181
Makefile
181
Makefile
|
@ -1,181 +0,0 @@
|
|||
PREFIX="/usr"
|
||||
INSTALLDIR="$(DESTDIR)$(PREFIX)"
|
||||
|
||||
|
||||
all: truncater manpages infomanual ponythinkcompletion
|
||||
|
||||
truncater:
|
||||
$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o "truncater" "truncater.c"
|
||||
|
||||
manpages:
|
||||
gzip -9 -f < "manuals/manpage.6" > "manuals/manpage.6.gz"
|
||||
gzip -9 -f < "manuals/manpage.es.6" > "manuals/manpage.es.6.gz"
|
||||
|
||||
infomanual:
|
||||
makeinfo "manuals/ponysay.texinfo"
|
||||
gzip -9 -f "ponysay.info"
|
||||
|
||||
ponysaycompletion:
|
||||
sed -e 's/\/usr\//'"$$(sed -e 's/\//\\\//g' <<<$(PREFIX))"'\//g' <"completion/bash-completion.sh" >"completion/bash-completion.sh.install"
|
||||
sed -e 's/\/usr\//'"$$(sed -e 's/\//\\\//g' <<<$(PREFIX))"'\//g' <"completion/fish-completion.fish" >"completion/fish-completion.fish.install"
|
||||
sed -e 's/\/usr\//'"$$(sed -e 's/\//\\\//g' <<<$(PREFIX))"'\//g' <"completion/zsh-completion.zsh" >"completion/zsh-completion.zsh.install"
|
||||
|
||||
ponythinkcompletion: ponysaycompletion
|
||||
sed -e 's/ponysay/ponythink/g' <"completion/bash-completion.sh.install" | sed -e 's/\/ponythink\//\/ponysay\//g' -e 's/\\\/ponythink\\\//\\\/ponysay\\\//g' >"completion/bash-completion-think.sh"
|
||||
sed -e 's/ponysay/ponythink/g' <"completion/fish-completion.fish.install" | sed -e 's/\/ponythink\//\/ponysay\//g' -e 's/\\\/ponythink\\\//\\\/ponysay\\\//g' >"completion/fish-completion-think.fish"
|
||||
sed -e 's/ponysay/ponythink/g' <"completion/zsh-completion.zsh.install" | sed -e 's/\/ponythink\//\/ponysay\//g' -e 's/\\\/ponythink\\\//\\\/ponysay\\\//g' >"completion/zsh-completion-think.zsh"
|
||||
|
||||
install-min: truncater
|
||||
mkdir -p "$(INSTALLDIR)/share/ponysay/"
|
||||
mkdir -p "$(INSTALLDIR)/share/ponysay/ponies"
|
||||
mkdir -p "$(INSTALLDIR)/share/ponysay/ttyponies"
|
||||
mkdir -p "$(INSTALLDIR)/share/ponysay/quotes"
|
||||
cp -P ponies/*.pony "$(INSTALLDIR)/share/ponysay/ponies/"
|
||||
cp -P ttyponies/*.pony "$(INSTALLDIR)/share/ponysay/ttyponies/"
|
||||
cp -P quotes/*.* "$(INSTALLDIR)/share/ponysay/quotes/"
|
||||
|
||||
mkdir -p "$(INSTALLDIR)/bin/"
|
||||
install "ponysay" "$(INSTALLDIR)/bin/ponysay"
|
||||
ln -sf "ponysay" "$(INSTALLDIR)/bin/ponythink"
|
||||
|
||||
mkdir -p "$(INSTALLDIR)/lib/ponysay/"
|
||||
install -s "truncater" "$(INSTALLDIR)/lib/ponysay/truncater"
|
||||
install "list.pl" "$(INSTALLDIR)/lib/ponysay/list.pl"
|
||||
install "linklist.pl" "$(INSTALLDIR)/lib/ponysay/linklist.pl"
|
||||
install "pq4ps" "$(INSTALLDIR)/lib/ponysay/pq4ps"
|
||||
install "pq4ps.pl" "$(INSTALLDIR)/lib/ponysay/pq4ps.pl"
|
||||
install "pq4ps-list.pl" "$(INSTALLDIR)/lib/ponysay/pq4ps-list.pl"
|
||||
|
||||
mkdir -p "$(INSTALLDIR)/share/licenses/ponysay/"
|
||||
install "COPYING" "$(INSTALLDIR)/share/licenses/ponysay/COPYING"
|
||||
|
||||
install-bash: ponythinkcompletion
|
||||
mkdir -p "$(INSTALLDIR)/share/bash-completion/completions/"
|
||||
install "completion/bash-completion.sh.install" "$(INSTALLDIR)/share/bash-completion/completions/ponysay"
|
||||
install "completion/bash-completion-think.sh" "$(INSTALLDIR)/share/bash-completion/completions/ponythink"
|
||||
|
||||
install-zsh: ponythinkcompletion
|
||||
mkdir -p "$(INSTALLDIR)/share/zsh/site-functions/"
|
||||
install "completion/zsh-completion.zsh.install" "$(INSTALLDIR)/share/zsh/site-functions/_ponysay"
|
||||
install "completion/zsh-completion-think.zsh" "$(INSTALLDIR)/share/zsh/site-functions/_ponythink"
|
||||
|
||||
install-fish: ponythinkcompletion
|
||||
mkdir -p "$(INSTALLDIR)/share/fish/completions/"
|
||||
install "completion/fish-completion.fish.install" "$(INSTALLDIR)/share/fish/completions/ponysay.fish"
|
||||
install "completion/fish-completion-think.fish" "$(INSTALLDIR)/share/fish/completions/ponythink.fish"
|
||||
|
||||
install-man: manpages
|
||||
mkdir -p "$(INSTALLDIR)/share/man/man6"
|
||||
install "manuals/manpage.6.gz" "$(INSTALLDIR)/share/man/man6/ponysay.6.gz"
|
||||
ln -sf "ponysay.6.gz" "$(INSTALLDIR)/share/man/man6/ponythink.6.gz"
|
||||
|
||||
install-man-es: manpages
|
||||
mkdir -p "$(INSTALLDIR)/share/man/es/man6"
|
||||
install "manuals/manpage.es.6.gz" "$(INSTALLDIR)/share/man/es/man6/ponysay.6.gz"
|
||||
ln -sf "ponysay.6.gz" "$(INSTALLDIR)/share/man/es/man6/ponythink.6.gz"
|
||||
|
||||
install-info: infomanual
|
||||
mkdir -p "$(INSTALLDIR)/share/info"
|
||||
install "ponysay.info.gz" "$(INSTALLDIR)/share/info/ponysay.info.gz"
|
||||
install "ponysay.info.gz" "$(INSTALLDIR)/share/info/ponythink.info.gz"
|
||||
install-info --dir-file="$(INSTALLDIR)/share/info/dir" --entry="Miscellaneous" --description="My Little Ponies for your terminal" "$(INSTALLDIR)/share/info/ponysay.info.gz"
|
||||
install-info --dir-file="$(INSTALLDIR)/share/info/dir" --entry="Miscellaneous" --description="My Little Ponies for your terminal" "$(INSTALLDIR)/share/info/ponythink.info.gz"
|
||||
|
||||
install-no-info: install-min install-bash install-zsh install-fish install-man install-man-es
|
||||
|
||||
install-pdf:
|
||||
install "ponysay.pdf" "$(INSTALLDIR)/doc/ponysay.pdf"
|
||||
|
||||
install: install-no-info install-info
|
||||
@echo -e '\n\n'\
|
||||
'/--------------------------------------------------\\\n'\
|
||||
'| ___ |\n'\
|
||||
'| / (_) o |\n'\
|
||||
'| \__ _ _ __ |\n'\
|
||||
'| / / |/ | | / \_| | |\n'\
|
||||
'| \___/ | |_/|/\__/ \_/|/ |\n'\
|
||||
'| /| /| |\n'\
|
||||
'| \| \| |\n'\
|
||||
'| ____ |\n'\
|
||||
'| | _ \ ___ _ __ _ _ ___ __ _ _ _ |\n'\
|
||||
'| | |_) |/ _ \ | '\''_ \ | | | |/ __| / _` || | | | |\n'\
|
||||
'| | __/| (_) || | | || |_| |\__ \| (_| || |_| | |\n'\
|
||||
'| |_| \___/ |_| |_| \__, ||___/ \__,_| \__, | |\n'\
|
||||
'| |___/ |___/ |\n'\
|
||||
'\\--------------------------------------------------/'
|
||||
@echo '' | ./ponysay -f ./`if [[ "$$TERM" = "linux" ]]; then echo ttyponies; else echo ponies; fi`/pinkiecannon.pony | tail --lines=30 ; echo -e '\n'
|
||||
|
||||
uninstall:
|
||||
if [ -d "$(INSTALLDIR)/share/ponysay" ]; then rm -fr "$(INSTALLDIR)/share/ponysay" ; fi
|
||||
if [ -d "$(INSTALLDIR)/lib/ponysay" ]; then rm -fr "$(INSTALLDIR)/lib/ponysay" ; fi
|
||||
if [ -f "$(INSTALLDIR)/bin/ponysay" ]; then unlink "$(INSTALLDIR)/bin/ponysay" ; fi
|
||||
if [ -f "$(INSTALLDIR)/bin/ponythink" ]; then unlink "$(INSTALLDIR)/bin/ponythink" ; fi
|
||||
if [ -f "$(INSTALLDIR)/share/licenses/ponysay/COPYING" ]; then unlink "$(INSTALLDIR)/share/licenses/ponysay/COPYING" ; fi
|
||||
if [ -f "$(INSTALLDIR)/share/bash-completion/completions/ponysay" ]; then unlink "$(INSTALLDIR)/share/bash-completion/completions/ponysay" ; fi
|
||||
if [ -f "$(INSTALLDIR)/share/bash-completion/completions/ponythink" ]; then unlink "$(INSTALLDIR)/share/bash-completion/completions/ponythink"; fi
|
||||
if [ -f "$(INSTALLDIR)/share/fish/completions/ponysay.fish" ]; then unlink "$(INSTALLDIR)/share/fish/completions/ponysay.fish" ; fi
|
||||
if [ -f "$(INSTALLDIR)/share/fish/completions/ponythink.fish" ]; then unlink "$(INSTALLDIR)/share/fish/completions/ponythink.fish" ; fi
|
||||
if [ -f "$(INSTALLDIR)/share/zsh/site-functions/_ponysay"; ]; then unlink "$(INSTALLDIR)/share/zsh/site-functions/_ponysay" ; fi
|
||||
if [ -f "$(INSTALLDIR)/share/zsh/site-functions/_ponythink"; ]; then unlink "$(INSTALLDIR)/share/zsh/site-functions/_ponythink" ; fi
|
||||
if [ -f "$(INSTALLDIR)/share/man/man6/ponysay.6.gz" ]; then unlink "$(INSTALLDIR)/share/man/man6/ponysay.6.gz" ; fi
|
||||
if [ -f "$(INSTALLDIR)/share/man/man6/ponythink.6.gz" ]; then unlink "$(INSTALLDIR)/share/man/man6/ponythink.6.gz" ; fi
|
||||
if [ -f "$(INSTALLDIR)/share/man/es/man6/ponysay.6.gz" ]; then unlink "$(INSTALLDIR)/share/man/es/man6/ponysay.6.gz" ; fi
|
||||
if [ -f "$(INSTALLDIR)/share/man/es/man6/ponythink.6.gz" ]; then unlink "$(INSTALLDIR)/share/man/es/man6/ponythink.6.gz" ; fi
|
||||
if [ -f "$(INSTALLDIR)/share/info/ponysay.info.gz" ]; then unlink "$(INSTALLDIR)/share/info/ponysay.info.gz" ; fi
|
||||
if [ -f "$(INSTALLDIR)/share/info/ponythink.info.gz" ]; then unlink "$(INSTALLDIR)/share/info/ponythink.info.gz" ; fi
|
||||
if [ -f "$(INSTALLDIR)/doc/ponysay.pdf" ]; then unlink "$(INSTALLDIR)/doc/ponysay.pdf" ; fi
|
||||
|
||||
uninstall-old:
|
||||
if [ -d "$(INSTALLDIR)/share/ponies" ]; then rm -fr "$(INSTALLDIR)/share/ponies" ; fi
|
||||
if [ -d "$(INSTALLDIR)/share/ttyponies" ]; then rm -fr "$(INSTALLDIR)/share/ttyponies" ; fi
|
||||
if [ -f "$(INSTALLDIR)/bin/ponysaytruncater" ]; then unlink "$(INSTALLDIR)/bin/ponysaytruncater" ; fi
|
||||
if [ -d "$(INSTALLDIR)/lib/ponysay/pq4ps-list" ]; then unlink "$(INSTALLDIR)/lib/ponysay/pq4ps-list" ; fi
|
||||
|
||||
clean:
|
||||
if [ -f "truncater" ]; then rm -f "truncater" ; fi
|
||||
if [ -f "completion/bash-completion-think.sh" ]; then rm -f "completion/bash-completion-think.sh" ; fi
|
||||
if [ -f "completion/fish-completion-think.fish" ]; then rm -f "completion/fish-completion-think.fish"; fi
|
||||
if [ -f "completion/zsh-completion-think.zsh" ]; then rm -f "completion/zsh-completion-think.zsh" ; fi
|
||||
if [ -f "manuals/manpage.6.gz" ]; then rm -f "manuals/manpage.6.gz" ; fi
|
||||
if [ -f "manuals/manpage.es.6.gz" ]; then rm -f "manuals/manpage.es.6.gz" ; fi
|
||||
if [ -f "ponysay.info.gz" ]; then rm -f "ponysay.info.gz" ; fi
|
||||
|
||||
clean-old:
|
||||
if [ -f "ponysaytruncater" ]; then rm -f "ponysaytruncater" ; fi
|
||||
|
||||
|
||||
## Scripts for maintainers
|
||||
|
||||
ttyponies:
|
||||
mkdir -p "ttyponies"
|
||||
for pony in $$(ls --color=no "ponies/"); do \
|
||||
echo "building ttypony: $$pony" ;\
|
||||
if [ `readlink "ponies/$$pony"` = "" ]; then \
|
||||
ponysay2ttyponysay < "ponies/$$pony" | tty2colourfultty -c 1 -e > "ttyponies/$$pony" ;\
|
||||
git add "ttyponies/$$pony" ;\
|
||||
elif [ ! -f "ttyponies/$$pony" ]; then \
|
||||
ln -s `readlink "ponies/$$pony"` "ttyponies/$$pony" ;\
|
||||
git add "ttyponies/$$pony" ;\
|
||||
fi \
|
||||
done
|
||||
|
||||
pdfmanual:
|
||||
texi2pdf "manuals/ponysay.texinfo"
|
||||
git add "manuals/ponysay.texinfo" "ponysay.pdf"
|
||||
for ext in `echo aux cp cps fn ky log pg toc tp vr`; do \
|
||||
(if [ -f "ponysay.$$ext" ]; then unlink "ponysay.$$ext"; fi); \
|
||||
done
|
||||
if [ -d "ponysay.t2d" ]; then rm -r "ponysay.t2d"; fi
|
||||
|
||||
submodules: clean
|
||||
(cd "ponyquotes4ponysay/"; make clean)
|
||||
git submodule init
|
||||
git submodule update
|
||||
|
||||
quotes: submodules
|
||||
(cd "ponyquotes4ponysay/"; make -B)
|
||||
if [ -d quotes ]; then git rm "quotes/"*.*; fi
|
||||
mkdir -p "quotes"
|
||||
cp "ponyquotes4ponysay/ponyquotes/"*.* "quotes"
|
||||
git add "quotes/"*.*
|
||||
|
206
README
206
README
|
@ -1,206 +0,0 @@
|
|||
_____
|
||||
| __ \
|
||||
| |__) |___ _ __ _ _ ___ __ _ _ _
|
||||
| ___// _ \ | '_ \ | | | |/ __| / _` || | | |
|
||||
| | | (_) || | | || |_| |\__ \| (_| || |_| |
|
||||
|_| \___/ |_| |_| \__, ||___/ \__,_| \__, |
|
||||
__/ | __/ |
|
||||
|___/ |___/
|
||||
_____ _ _ _ _
|
||||
|_ _|___ __| | __ _ _ _ _ _ ___ _ _ _ _ | |_ ___ _ _ _ __ (_) _ _ __ _ | |
|
||||
| | / _ \/ _` |/ _` || || | | || |/ _ \| || || '_| | _|/ -_)| '_|| ' \ | || ' \ / _` || | _
|
||||
|_| \___/\__,_|\__,_| \_, | \_, |\___/ \_,_||_| \__|\___||_| |_|_|_||_||_||_|\__,_||_|( )
|
||||
|__/ |__/ |/
|
||||
_ _ _ _ _ _
|
||||
| |_ ___ _ __ ___ _ _ _ _ ___ __ __ __ | |_ | |_ ___ __ __ __ ___ _ _ | | __| || |
|
||||
| _|/ _ \| ' \ / _ \| '_|| '_|/ _ \\ 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
|
||||
|
||||
tex
|
||||
texinfo : required to build info manual (tex is required by texinfo)
|
||||
|
||||
|
||||
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].
|
||||
|
28
README.md
28
README.md
|
@ -12,10 +12,10 @@ First of all, you need `cowsay` from your local repositories.
|
|||
Obtain it from [here](http://www.nog.net/~tony/warez) if you wish to compile it yourself.
|
||||
This is often sufficient, but if is not you may be missing one of the standard packages: [bash](ftp://ftp.gnu.org/gnu/bash/), [coreutils](ftp://ftp.gnu.org/gnu/coreutils/) or [sed](ftp://ftp.gnu.org/gnu/sed/).
|
||||
|
||||
[Download](https://github.com/erkin/ponysay/downloads) or clone the project.
|
||||
In the terminal, `cd` into the ponysay directory and `make && make install`.
|
||||
|
||||
This will install ponysay into the $PREFIX (`/usr` by default, meaning you may need to `make install` as root, e.g. `sudo make install`.)
|
||||
[Download](/erkin/ponysay/downloads) or clone the project.
|
||||
In the terminal, `cd` into the ponysay directory and `./configure && make && make install`.
|
||||
You make need to be super user to run `make install`, on most systems this
|
||||
can be achieved by running `sudo make install`.
|
||||
|
||||
If either `make` or `make install` fails you be missing one of the standard packages:
|
||||
[gcc](ftp://ftp.gnu.org/gnu/gcc/), [gzip](ftp://ftp.gnu.org/gnu/gzip/), [make](ftp://ftp.gnu.org/gnu/make/) or [coreutils](ftp://ftp.gnu.org/gnu/coreutils/), or [git](http://git-scm.com/).
|
||||
|
@ -46,7 +46,7 @@ This requires that you have the `fortune` utility installed. You can install it
|
|||
or just fetch the source code from [here](ftp://ftp.ibiblio.org/pub/linux/games/amusements/fortune/).
|
||||
|
||||
You can try [this](http://www.reddit.com/r/mylittlelinux/comments/srixi/using_ponysay_with_a_ponified_fortune_warning/) script or
|
||||
[ponypipe](https://github.com/maandree/ponypipe) to ponify fortunes.
|
||||
[ponypipe](/maandree/ponypipe) to ponify fortunes.
|
||||
|
||||
Edit your `~/.bashrc` and add this to the end of the file
|
||||
|
||||
|
@ -84,19 +84,17 @@ Dependencies
|
|||
|
||||
### Required runtime dependencies
|
||||
|
||||
`bash`: required for the main script [file: ponysay]
|
||||
`bash`: bash is used in a minor part of the program to make everything work, this will be removed later
|
||||
|
||||
`coreutils`: stty in coreutils used to determine size of the terminal, other parts of coreutils will not be needed for long
|
||||
|
||||
`cowsay`: this is a wrapper for cowsay
|
||||
|
||||
`coreutils`: the main script 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`
|
||||
`python>=3`: Written in python 3
|
||||
|
||||
### Package building dependencies
|
||||
|
||||
`gcc`: used for compiling ponysaytruncater.c
|
||||
`gcc`: used for compiling truncater.c
|
||||
|
||||
`gzip`: used for compressing manpages
|
||||
|
||||
|
@ -110,13 +108,13 @@ 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).
|
||||
__A:__ Unfortunately, there's nothing much we can do about it. See [issue 1](/erkin/ponysay/issues/1).
|
||||
|
||||
__Q:__ You are missing _(my-favourite-pony)_!
|
||||
|
||||
__A:__ [Ask](https://github.com/erkin/ponysay/issues) and we'll add!
|
||||
__A:__ [Ask](/erkin/ponysay/issues) and we'll add!
|
||||
|
||||
__Q:__ Which programs do you use to generate the pony files?
|
||||
|
||||
__A:__ The pony files are actually mostly a bunch of selected [browser ponies](http://web.student.tuwien.ac.at/~e0427417/browser-ponies/ponies.html)
|
||||
that are generated into cow files via [img2xterm](https://github.com/rossy2401/img2xterm) or [util-say](https://github.com/maandree/util-say).
|
||||
that are generated into cow files via [img2xterm](/rossy2401/img2xterm) or [util-say](/maandree/util-say).
|
||||
|
|
|
@ -8,28 +8,18 @@ _ponysay()
|
|||
options='-v -h -l -f -W -q'
|
||||
COMPREPLY=( $( compgen -W "$options" -- "$cur" ) )
|
||||
|
||||
if [ $prev = "-f" ]; then
|
||||
COMPREPLY=()
|
||||
|
||||
sysponies=/usr/share/ponysay/ponies/
|
||||
usrponies=~/.local/share/ponysay/ponies/
|
||||
if [[ $TERM = "linux" ]]; then
|
||||
sysponies=/usr/share/ponysay/ttyponies/
|
||||
usrponies=~/.local/share/ponysay/ttyponies/
|
||||
fi
|
||||
|
||||
[ -d $sysponies ] && COMPREPLY+=( $( compgen -W "$(ls --color=no $sysponies | sed -e 's/.pony//g')" -- "$cur" ) )
|
||||
[ -d $usrponies ] && COMPREPLY+=( $( compgen -W "$(ls --color=no $usrponies | sed -e 's/.pony//g')" -- "$cur" ) )
|
||||
if [ $prev = "-f" ] || [ $prev = "--pony" ]; then
|
||||
ponies=$('/usr/bin/ponysay.py' --onelist)
|
||||
COMPREPLY=( $( compgen -W "$ponies" -- "$cur" ) )
|
||||
|
||||
elif [ $prev = "-W" ]; then
|
||||
elif [ $prev = "-q" ] || [ $prev = "--quote" ]; then
|
||||
quoters=$('/usr/bin/ponysay.py' --quoters)
|
||||
COMPREPLY=( $( compgen -W "$quoters" -- "$cur" ) )
|
||||
|
||||
elif [ $prev = "-W" ] || [ $prev = "--wrap" ]; then
|
||||
cols=$(( `stty size | cut -d ' ' -f 2` - 10 ))
|
||||
COMPREPLY=( $cols $(( $cols / 2 )) 100 60 )
|
||||
|
||||
elif [ $prev = "-q" ]; then
|
||||
qcmd=/usr/lib/ponysay/pq4ps
|
||||
quoters=$($qcmd -l)
|
||||
COMPREPLY=( $( compgen -W "$quoters" -- "$cur" ) )
|
||||
|
||||
fi
|
||||
}
|
||||
|
||||
|
|
|
@ -1,45 +1,21 @@
|
|||
# Completions for ponysay
|
||||
# FISH completions for ponysay
|
||||
# https://github.com/erkin/ponysay/
|
||||
#
|
||||
# Author: Elis Axelsson <etu AT elis DOT nu>
|
||||
|
||||
if test $TERM = "linux"
|
||||
set -g systempath /usr/share/ponysay/ttyponies/
|
||||
set -g homepath ~/.local/share/ponysay/ttyponies/
|
||||
else
|
||||
set -g systempath /usr/share/ponysay/ponies/
|
||||
set -g homepath ~/.local/share/ponysay/ponies/
|
||||
end
|
||||
set -g ponies (/usr/bin/ponysay.py --onelist)
|
||||
set -g quoters (/usr/bin/ponysay.py --quoters)
|
||||
|
||||
|
||||
if test -d $systempath
|
||||
set -g systemponies (ls --color=no $systempath | sed -e 's/\.pony//' -e 's/_.*//' | perl -pe 's/([a-z])([A-Z])/\1\\\ \2/' )
|
||||
end
|
||||
complete --command ponysay --short-option h --long-option help --description 'help of ponysay'
|
||||
complete --command ponysay --short-option v --long-option version --description 'version of ponysay'
|
||||
complete --command ponysay --short-option l --long-option list --description 'list pony files'
|
||||
complete --command ponysay --short-option L --long-option altlist --description 'list pony files with alternatives'
|
||||
complete --command ponysay --short-option f --long-option pony --arguments "$ponies" --description 'pony'
|
||||
complete --command ponysay --short-option q --long-option quote --arguments "$quoters" --no-files --description 'pony'
|
||||
complete --command ponysay --short-option W --long-option wrap --arguments 'Integer' --description 'specify the column when the message should be wrapped'
|
||||
complete --command ponysay --arguments 'MESSAGE'
|
||||
|
||||
if test -d $homepath
|
||||
set -g homeponies (ls --color=no $homepath | sed -e 's/\.pony//' -e 's/_.*//' | perl -pe 's/([a-z])([A-Z])/\1\\\ \2/' )
|
||||
end
|
||||
|
||||
|
||||
set -g qcmd /usr/lib/ponysay/pq4ps
|
||||
set -g quoters ($qcmd -l)
|
||||
|
||||
|
||||
complete -c ponysay -s h --description "Help of ponysay"
|
||||
complete -c ponysay -s v --description "Version of ponysay"
|
||||
complete -c ponysay -s l --description "List pony files"
|
||||
complete -c ponysay -s L --description "List pony files with alternatives"
|
||||
complete -c ponysay -s f -a "$homeponies $systemponies" --description "Select a pony"
|
||||
complete -c ponysay -s q -a "$quoters" --description "Select ponies for MLP:FiM quotes"
|
||||
complete -c ponysay -s W -a "Integer" --description "The screen column where the message should be wrapped"
|
||||
|
||||
|
||||
set -e systempath
|
||||
set -e homepath
|
||||
|
||||
set -e systemponies
|
||||
set -e homeponies
|
||||
|
||||
set -e qcmd
|
||||
set -e ponies
|
||||
set -e quoters
|
||||
|
||||
|
|
364
configure
vendored
Executable file
364
configure
vendored
Executable file
|
@ -0,0 +1,364 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
|
||||
PREFIX="/usr"
|
||||
INFODESC=\''My Little Ponies for your terminal'\'
|
||||
|
||||
completions='completion/bash-completion.sh completion/fish-completion.fish completion/zsh-completion.zsh'
|
||||
shareDirs='ponies ttyponies quotes'
|
||||
manFiles='manuals/manpage.6 manuals/manpage.es.6'
|
||||
licenseFiles='COPYING'
|
||||
|
||||
|
||||
|
||||
oldInstalledFiles='bin/ponysaytruncater lib/ponysay/list.pl lib/ponysay/linklist.pl lib/ponysay/pq4ps lib/ponysay/pq4ps.pl lib/ponysay/pq4ps-list lib/ponysay/pq4ps-list.pl'
|
||||
oldInstalledDirs='share/ponies share/ttyponies'
|
||||
oldCompiledFiles='ponysaytruncater ponysay.install'
|
||||
oldCompiledDirs=''
|
||||
|
||||
installedFiles='bin/ponysay bin/ponythink bin/ponysay.py bin/ponythink.py doc/ponysay.pdf share/info/ponysay.info.gz share/info/ponythink.info.gz'
|
||||
installedDirs='share/ponysay lib/ponysay'
|
||||
compiledFiles='truncater ponysay.info.gz ponysay.py.install'
|
||||
compiledDirs='quotes'
|
||||
|
||||
for man in $manFiles; do
|
||||
oldCompiledFiles="$oldCompiledFiles $man.gz"
|
||||
done
|
||||
for completion in $completions; do
|
||||
thinkfile="${completion%%.*}-think.${completion##*.}"
|
||||
compiledFiles="$compiledFiles $completion.install $thinkfile"
|
||||
done
|
||||
for file in $licenseFiles; do
|
||||
installedFiles="$installedFiles share/licenses/ponysay/$file"
|
||||
done
|
||||
|
||||
|
||||
|
||||
function getcompdir()
|
||||
{
|
||||
if [ "$1" == 'bash' ]; then echo -n 'bash-completion/completions'
|
||||
elif [ "$1" == 'fish' ]; then echo -n 'fish/completions'
|
||||
elif [ "$1" == 'zsh' ]; then echo -n 'zsh/site-functions'
|
||||
fi
|
||||
}
|
||||
|
||||
function getcompfile()
|
||||
{
|
||||
if [ "$1" == 'bash' ]; then echo -n "$2"
|
||||
elif [ "$1" == 'fish' ]; then echo -n "$2"'.fish'
|
||||
elif [ "$1" == 'zsh' ]; then echo -n '_'"$2"
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
|
||||
installPdf=''
|
||||
installInfo=' install-info'
|
||||
installMan=' install-man'
|
||||
installManEs=''
|
||||
installBash=' install-bash'
|
||||
installFish=' install-fish'
|
||||
installZsh=' install-zsh'
|
||||
|
||||
for arg in "$@"; do
|
||||
opt="${arg%%=*}"
|
||||
val="${arg##*=}"
|
||||
|
||||
if [ "$opt" = '--prefix' ]; then
|
||||
PREFIX="$val"
|
||||
elif [ "$opt" = '--info-desc' ]; then
|
||||
INFODESC=\'"$(sed -e s/\'/\''\\'\'\'/g <<<"$val")"\'
|
||||
|
||||
elif [ "$opt" = '--with-pdf' ]; then installPdf=' install-pdf'
|
||||
elif [ "$opt" = '--without-info' ]; then installInfo=''
|
||||
elif [ "$opt" = '--without-man' ]; then installMan=''
|
||||
elif [ "$opt" = '--with-man-es' ]; then installManEs=' install-man-es'
|
||||
elif [ "$opt" = '--without-bash' ]; then installBash=''
|
||||
elif [ "$opt" = '--without-fish' ]; then installFish=''
|
||||
elif [ "$opt" = '--without-zsh' ]; then installZsh=''
|
||||
|
||||
elif [ "$opt" = "--everything" ]; then
|
||||
installPdf=' install-pdf'
|
||||
installInfo=' install-info'
|
||||
installMan=' install-man'
|
||||
installManEs=' install-man-es'
|
||||
installBash=' install-bash'
|
||||
installFish=' install-fish'
|
||||
installZsh=' install-zsh'
|
||||
|
||||
else
|
||||
echo "$0: error: option not recongised: $arg" >&2
|
||||
fi
|
||||
done
|
||||
|
||||
compileMethods='core truncater manpages ponysaycompletion ponythinkcompletion'
|
||||
installMethods='install-min'"$installPdf$installInfo$installMan$installManEs$installBash$installFish$installZsh"
|
||||
if [ ! "$installInfo" = '' ]; then
|
||||
compileMethods="$compileMethods infomanual"
|
||||
fi
|
||||
|
||||
|
||||
|
||||
function correctPrefix()
|
||||
{
|
||||
for file in "$@"; do
|
||||
echo -en '\t'
|
||||
echo 'sed -e '\''s/'\''\'\'''\''\/usr\//'\''\'\''"$(SED_PREFIX)"'\''\//g'\'' < "'"$file"'" > "'"$file"'.install"'
|
||||
done
|
||||
}
|
||||
|
||||
function gzCompress()
|
||||
{
|
||||
for file in "$@"; do
|
||||
echo -en '\t'
|
||||
echo 'gzip -9 -f < "'"$file"'" > "'"$file"'".gz'
|
||||
done
|
||||
}
|
||||
|
||||
function thinkCompletion()
|
||||
{
|
||||
for file in "$@"; do
|
||||
echo -en '\tsed'
|
||||
echo -n ' -e '\''s/ponysay/ponythink/g'\'
|
||||
echo -n ' < "'"$file"'.install" | sed'
|
||||
echo -n ' -e '\''s/\/ponythink\//\/ponysay\//g'\'
|
||||
echo -n ' -e '\''s/\\\/ponythink\\\//\\\/ponysay\\\//g'\'
|
||||
thinkfile="${file%%.*}-think.${file##*.}"
|
||||
echo ' > "'"$thinkfile"'"'
|
||||
done
|
||||
}
|
||||
|
||||
|
||||
|
||||
echo "PREFIX = $PREFIX, edit with option --prefix=PREFIX"
|
||||
echo "INFODESC = $INFODESC, edit with option --info-desc=INFODESC"
|
||||
echo
|
||||
[ ! "$installPdf" = '' ] && echo "Installing PDF manual"
|
||||
[ ! "$installInfo" = '' ] && echo "Installing info manual, add option --without-info to skip"
|
||||
[ ! "$installMan" = '' ] && echo "Installing English manpage manual, add option --without-man to skip"
|
||||
[ ! "$installManEs" = '' ] && echo "Installing Spanish manpage manual"
|
||||
[ ! "$installBash" = '' ] && echo "Installing autocompletion for GNU Bash, add option --without-bash to skip"
|
||||
[ ! "$installFish" = '' ] && echo "Installing autocompletion for fish, add option --without-fish to skip"
|
||||
[ ! "$installZsh" = '' ] && echo "Installing autocompletion for zsh, add option --without-zsh to skip"
|
||||
echo
|
||||
[ ! "$installPdf" = '' ] || echo "Skipping PDF manual, add option --with-pdf to install"
|
||||
[ ! "$installInfo" = '' ] || echo "Skipping info manual"
|
||||
[ ! "$installMan" = '' ] || echo "Skipping English manpage manual"
|
||||
[ ! "$installManEs" = '' ] || echo "Skipping Spanish manpage manual, add option --with-man-es to install"
|
||||
[ ! "$installBash" = '' ] || echo "Skipping autocompletion for GNU Bash"
|
||||
[ ! "$installFish" = '' ] || echo "Skipping autocompletion for fish"
|
||||
[ ! "$installZsh" = '' ] || echo "Skipping autocompletion for zsh"
|
||||
echo
|
||||
|
||||
|
||||
|
||||
function makeMakefile()
|
||||
{
|
||||
echo 'PREFIX='\'"$PREFIX"\'
|
||||
echo 'INSTALLDIR="$(DESTDIR)$(PREFIX)"'
|
||||
echo 'SED_PREFIX=$$(sed -e '\''s/\//\\\//g'\'' <<<$(PREFIX))'
|
||||
echo
|
||||
echo 'default: '"$compileMethods"
|
||||
echo
|
||||
echo 'all: core truncater quotes manpages infomanual ponysaycompletion ponythinkcompletion'
|
||||
echo
|
||||
|
||||
echo "core:"
|
||||
correctPrefix 'ponysay.py'
|
||||
echo
|
||||
|
||||
echo "truncater:"
|
||||
echo -en '\t'
|
||||
echo '$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o "truncater" "truncater.c"'
|
||||
echo
|
||||
|
||||
echo "quotes:"
|
||||
echo -en '\t' ; echo 'mkdir -p quotes'
|
||||
echo -en '\t' ; echo 'for ponies in $$(cat ponyquotes/ponies); do \'
|
||||
echo -en '\t' ; echo ' for pony in $$(echo $$ponies | sed -e '\''s/+/ /g'\''); do \'
|
||||
echo -en '\t' ; echo ' echo '\''Generating quote files for '\''"$$pony"; \'
|
||||
echo -en '\t' ; echo ' for file in $$(ls "ponyquotes/" | grep "$$pony\\.*"); do \'
|
||||
echo -en '\t' ; echo ' if [ -f "ponyquotes/$$file" ]; then \'
|
||||
echo -en '\t' ; echo ' cp "ponyquotes/"$$file "quotes/"$$ponies'\''.'\''$$(echo $$file | cut -d '\''.'\'' -f 2) \'
|
||||
echo -en '\t' ; echo ';fi;done;done;done'
|
||||
echo
|
||||
|
||||
echo 'manpages:'
|
||||
gzCompress $manFiles
|
||||
echo
|
||||
|
||||
echo 'infomanual:'
|
||||
echo -en '\t'
|
||||
echo 'makeinfo "manuals/ponysay.texinfo"'
|
||||
gzCompress 'ponysay.info'
|
||||
echo
|
||||
|
||||
echo 'ponysaycompletion:'
|
||||
correctPrefix $completions
|
||||
echo
|
||||
|
||||
echo 'ponythinkcompletion: ponysaycompletion'
|
||||
thinkCompletion $completions
|
||||
echo
|
||||
|
||||
echo 'install-min: core truncater quotes'
|
||||
echo -en '\t' ; echo 'mkdir -p "$(INSTALLDIR)/share/ponysay/"'
|
||||
for dir in $shareDirs; do
|
||||
echo -en '\t' ; echo 'mkdir -p "$(INSTALLDIR)/share/ponysay/'"$dir"'"'
|
||||
echo -en '\t' ; echo 'cp -P "'"$dir"'/"*.* "$(INSTALLDIR)/share/ponysay/'"$dir"'/"'
|
||||
done
|
||||
echo
|
||||
echo -en '\t' ; echo 'mkdir -p "$(INSTALLDIR)/bin/"'
|
||||
echo -en '\t' ; echo 'install "ponysay" "$(INSTALLDIR)/bin/ponysay"'
|
||||
echo -en '\t' ; echo 'install "ponysay.py" "$(INSTALLDIR)/bin/ponysay.py"'
|
||||
echo -en '\t' ; echo 'ln -sf "ponysay" "$(INSTALLDIR)/bin/ponythink"'
|
||||
echo -en '\t' ; echo 'ln -sf "ponysay.py" "$(INSTALLDIR)/bin/ponythink.py"'
|
||||
echo
|
||||
echo -en '\t' ; echo 'mkdir -p "$(INSTALLDIR)/lib/ponysay/"'
|
||||
echo -en '\t' ; echo 'install -s "truncater" "$(INSTALLDIR)/lib/ponysay/truncater"'
|
||||
echo
|
||||
echo -en '\t' ; echo 'mkdir -p "$(INSTALLDIR)/share/licenses/ponysay/"'
|
||||
for file in $licenseFiles; do
|
||||
echo -en '\t'
|
||||
echo 'install "'"$file"'" "$(INSTALLDIR)/share/licenses/ponysay/'"$file"'"'
|
||||
done
|
||||
echo
|
||||
echo -en '\t' ; echo 'mkdir -p $(DESTDIR)/var/cache/ponysay/'
|
||||
echo -en '\t' ; echo 'chmod 777 $(DESTDIR)/var/cache/ponysay/'
|
||||
echo
|
||||
|
||||
for completion in $completions; do
|
||||
shell="${completion##*/}"
|
||||
shell="${shell%%-*}"
|
||||
thinkfile="${completion%%.*}-think.${completion##*.}"
|
||||
shelldir='share/'"$(getcompdir $shell)"'/'
|
||||
echo 'install-'"$shell"': ponysaycompletion ponythinkcompletion'
|
||||
echo -en '\t' ; echo 'mkdir -p "$(INSTALLDIR)/'"$shelldir"'"'
|
||||
echo -en '\t' ; echo 'install "'"$completion"'" "$(INSTALLDIR)/'"$shelldir$(getcompfile $shell ponysay)"'"'
|
||||
echo -en '\t' ; echo 'install "'"$thinkfile"'" "$(INSTALLDIR)/'"$shelldir$(getcompfile $shell ponythink)"'"'
|
||||
echo
|
||||
installedFiles="$installedFiles $shelldir$(getcompfile $shell ponysay) $shelldir$(getcompfile $shell ponythink)"
|
||||
done
|
||||
|
||||
echo 'install-pdf:'
|
||||
echo -en '\t'
|
||||
echo 'install "ponysay.pdf" "$(INSTALLDIR)/doc/ponysay.pdf"'
|
||||
echo
|
||||
|
||||
echo 'install-info: infomanual'
|
||||
echo -en '\t' ; echo 'mkdir -p "$(INSTALLDIR)/share/info"'
|
||||
echo -en '\t' ; echo 'install "ponysay.info.gz" "$(INSTALLDIR)/share/info/ponysay.info.gz"'
|
||||
echo -en '\t' ; echo 'install "ponysay.info.gz" "$(INSTALLDIR)/share/info/ponythink.info.gz"'
|
||||
echo -en '\t' ; echo 'install-info --dir-file="$(INSTALLDIR)/share/info/dir" --entry="Miscellaneous" --description='"$INFODESC"' "$(INSTALLDIR)/share/info/ponysay.info.gz"'
|
||||
echo -en '\t' ; echo 'install-info --dir-file="$(INSTALLDIR)/share/info/dir" --entry="Miscellaneous" --description='"$INFODESC"' "$(INSTALLDIR)/share/info/ponythink.info.gz"'
|
||||
echo
|
||||
|
||||
for man in $manFiles; do
|
||||
lang="${man##*manpage}"
|
||||
lang="${lang%%.6}"
|
||||
mandir="${lang/\.//}"
|
||||
echo 'install-man'"${lang/\./-}"': manpages'
|
||||
echo -en '\t' ; echo 'mkdir -p "$(INSTALLDIR)/share/man'"$mandir"'/man6"'
|
||||
echo -en '\t' ; echo 'install "'"$man"'.gz" "$(INSTALLDIR)/share/man'"$mandir"'/man6/ponysay.6.gz"'
|
||||
echo -en '\t' ; echo 'ln -sf "ponysay.6.gz" "$(INSTALLDIR)/share/man'"$mandir"'/man6/ponythink.6.gz"'
|
||||
echo
|
||||
installedFiles="$installedFiles share/man$mandir/man6/ponysay.6.gz share/man$mandir/man6/ponythink.6.gz"
|
||||
done
|
||||
|
||||
echo
|
||||
echo 'install: '"$installMethods"
|
||||
echo -en '\t' ; echo '@echo -e \\n\\n\'
|
||||
cat <<EOF
|
||||
'/--------------------------------------------------\\\\\n'\\
|
||||
'| ___ |\\n'\\
|
||||
'| / (_) o |\\n'\\
|
||||
'| \\__ _ _ __ |\\n'\\
|
||||
'| / / |/ | | / \\_| | |\\n'\\
|
||||
'| \\___/ | |_/|/\\__/ \\_/|/ |\\n'\\
|
||||
'| /| /| |\\n'\\
|
||||
'| \\| \\| |\\n'\\
|
||||
'| ____ |\\n'\\
|
||||
'| | _ \\ ___ _ __ _ _ ___ __ _ _ _ |\\n'\\
|
||||
'| | |_) |/ _ \\ | '\\''_ \\ | | | |/ __| / _\` || | | | |\n'\\
|
||||
'| | __/| (_) || | | || |_| |\\__ \\| (_| || |_| | |\\n'\\
|
||||
'| |_| \\___/ |_| |_| \\__, ||___/ \\__,_| \\__, | |\\n'\\
|
||||
'| |___/ |___/ |\\n'\\
|
||||
'\\\\--------------------------------------------------/'
|
||||
EOF
|
||||
echo -en '\t' ; echo '@echo dummy | ./ponysay -f ./`if [[ "$$TERM" = "linux" ]]; then echo ttyponies; else echo ponies; fi`/pinkiecannon.pony | tail --lines=30 ; echo -e \\n'
|
||||
echo
|
||||
|
||||
echo 'uninstall:'
|
||||
echo -en '\t' ; echo 'if [ -d "$(DESTDIR)/var/cache/ponysay" ]; then rm -rf "$(INSTALLDIR)/var/cache/ponysay"; fi'
|
||||
for old in $installedDirs; do
|
||||
echo -en '\t'
|
||||
echo 'if [ -d "$(INSTALLDIR)/'"$old"'" ]; then rm -rf "$(INSTALLDIR)/'"$old"'"; fi'
|
||||
done
|
||||
for old in $installedFiles; do
|
||||
echo -en '\t'
|
||||
echo 'if [ -f "$(INSTALLDIR)/'"$old"'" ]; then unlink "$(INSTALLDIR)/'"$old"'"; fi'
|
||||
done
|
||||
echo
|
||||
|
||||
echo 'clean:'
|
||||
for old in $compiledDirs; do
|
||||
echo -en '\t'
|
||||
echo 'if [ -d "'"$old"'" ]; then rm -rf "'"$old"'"; fi'
|
||||
done
|
||||
for old in $compiledFiles; do
|
||||
echo -en '\t'
|
||||
echo 'if [ -f "'"$old"'" ]; then rm -f "'"$old"'"; fi'
|
||||
done
|
||||
echo
|
||||
|
||||
echo 'uninstall-old:'
|
||||
for old in $oldInstalledDirs; do
|
||||
echo -en '\t'
|
||||
echo 'if [ -d "$(INSTALLDIR)/'"$old"'" ]; then rm -rf "$(INSTALLDIR)/'"$old"'"; fi'
|
||||
done
|
||||
for old in $oldInstalledFiles; do
|
||||
echo -en '\t'
|
||||
echo 'if [ -f "$(INSTALLDIR)/'"$old"'" ]; then unlink "$(INSTALLDIR)/'"$old"'"; fi'
|
||||
done
|
||||
echo
|
||||
|
||||
echo 'clean-old:'
|
||||
for old in $oldCompiledDirs; do
|
||||
echo -en '\t'
|
||||
echo 'if [ -d "'"$old"'" ]; then rm -rf "'"$old"'"; fi'
|
||||
done
|
||||
for old in $oldCompiledFiles; do
|
||||
echo -en '\t'
|
||||
echo 'if [ -f "'"$old"'" ]; then rm -f "'"$old"'"; fi'
|
||||
done
|
||||
echo
|
||||
|
||||
cat <<EOF
|
||||
## Scripts for maintainers
|
||||
|
||||
ttyponies:
|
||||
mkdir -p "ttyponies"
|
||||
for pony in \$\$(ls --color=no "ponies/"); do \\
|
||||
echo "building ttypony: \$\$pony" ;\\
|
||||
if [ \`readlink "ponies/\$\$pony"\` = "" ]; then \\
|
||||
ponysay2ttyponysay < "ponies/\$\$pony" | tty2colourfultty -c 1 -e > "ttyponies/\$\$pony" ;\\
|
||||
git add "ttyponies/\$\$pony" ;\\
|
||||
elif [ ! -f "ttyponies/\$\$pony" ]; then \\
|
||||
ln -s \`readlink "ponies/\$\$pony"\` "ttyponies/\$\$pony" ;\\
|
||||
git add "ttyponies/\$\$pony" ;\\
|
||||
fi \\
|
||||
done
|
||||
|
||||
pdfmanual:
|
||||
texi2pdf "manuals/ponysay.texinfo"
|
||||
git add "manuals/ponysay.texinfo" "ponysay.pdf"
|
||||
for ext in \`echo aux cp cps fn ky log pg toc tp vr\`; do \\
|
||||
(if [ -f "ponysay.\$\$ext" ]; then unlink "ponysay.\$\$ext"; fi); \\
|
||||
done
|
||||
if [ -d "ponysay.t2d" ]; then rm -r "ponysay.t2d"; fi
|
||||
|
||||
EOF
|
||||
}
|
||||
|
||||
makeMakefile > Makefile
|
||||
|
|
@ -1 +0,0 @@
|
|||
../../ponysay
|
|
@ -1 +0,0 @@
|
|||
../../../linklist.pl
|
|
@ -1 +0,0 @@
|
|||
../../../list.pl
|
|
@ -1 +0,0 @@
|
|||
../../../pq4ps
|
|
@ -1 +0,0 @@
|
|||
../../../pq4ps-list.pl
|
|
@ -1 +0,0 @@
|
|||
../../../pq4ps.pl
|
|
@ -1 +0,0 @@
|
|||
../../../ponies
|
|
@ -1 +0,0 @@
|
|||
../../../quotes
|
|
@ -1 +0,0 @@
|
|||
../../../ttyponies
|
35
linklist.pl
35
linklist.pl
|
@ -1,35 +0,0 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
# ponysaylist
|
||||
# Prints a list of ponies in columns
|
||||
#
|
||||
# Licensed under WTFPL
|
||||
# See COPYING for details
|
||||
|
||||
# Author: Mattias Andrée, maandree@kth.se
|
||||
# spider-mario
|
||||
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
use utf8;
|
||||
|
||||
my %hash;
|
||||
|
||||
{
|
||||
local @ARGV = @ARGV;
|
||||
while ((my ($source, $target), @ARGV) = @ARGV) {
|
||||
unless ($source eq $target) {
|
||||
push @{$hash{$target}}, $source;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
while ((my ($source, $target), @ARGV) = @ARGV) {
|
||||
if ($source eq $target) {
|
||||
my @list = @{$hash{$source} // []};
|
||||
print $source;
|
||||
print ' (', join(' ', @list), ')' if @list;
|
||||
print "\n";
|
||||
}
|
||||
}
|
41
list.pl
41
list.pl
|
@ -1,41 +0,0 @@
|
|||
#!/usr/bin/env perl
|
||||
|
||||
# ponysaylist
|
||||
# Prints a list of ponies in columns
|
||||
#
|
||||
# Licensed under WTFPL
|
||||
# See COPYING for details
|
||||
|
||||
# Author: Mattias Andrée, maandree@kth.se
|
||||
# spider-mario
|
||||
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
use utf8;
|
||||
use feature qw(say);
|
||||
use integer;
|
||||
use List::Util qw(max);
|
||||
|
||||
my $scrw = shift @ARGV // 1;
|
||||
|
||||
#for (@ARGV) {
|
||||
# # Format names from pony names
|
||||
# s/(?<=[a-z])(?=[A-Z])/ /;
|
||||
# s/_(.*)/\t($1)/;
|
||||
#}
|
||||
|
||||
my $maxw = max 1, map {length} @ARGV;
|
||||
|
||||
my $cols = max 1, (($scrw + 2) / ($maxw + 2));
|
||||
|
||||
my @list = map {sprintf "%-${maxw}s", $_} @ARGV;
|
||||
|
||||
my $rows = (@list + $cols - 1) / $cols;
|
||||
|
||||
my @rowlist;
|
||||
for my $i (0 .. $#list) {
|
||||
push @{$rowlist[$i % $rows]}, $list[$i];
|
||||
}
|
||||
|
||||
say join ' ', @$_ for @rowlist;
|
|
@ -104,7 +104,8 @@ Bugs can be reported in <\fBhttps://github.com/erkin/ponysay/issues\fP>.
|
|||
.br
|
||||
.SH AUTHOR
|
||||
ponysay was written by Erkin Batu Altunbaş <erkinbatu@gmail.com>
|
||||
with major contributions from Mattias Andrée, Sven-Hendrik Haase, Jan Alexander Steffens et al.
|
||||
with contributions from Mattias Andrée, Elis Axelsson, Sven-Hendrik Haase,
|
||||
Pablo Lezaeta, Jan Alexander Steffens et al.
|
||||
.\" See file CREDITS for full list.
|
||||
.PP
|
||||
This manual page was originally written by Louis Taylor <kragniz@gmail.com>
|
||||
|
|
|
@ -108,7 +108,8 @@ Los bugs pueden ser reportados en
|
|||
.br
|
||||
.SH AUTOR
|
||||
ponysay fue escrito por Erkin Batu Altunbaş <erkinbatu@gmail.com>
|
||||
con la ayuda de Mattias Andrée, Sven-Hendrik Haase, Jan Alexander Steffens y otros.
|
||||
con la ayuda de Mattias Andrée, Elis Axelsson, Sven-Hendrik Haase,
|
||||
Pablo Lezaeta, Jan Alexander Steffens y otros.
|
||||
.\" vea el archivo CREDITS para la lista completa.
|
||||
.PP
|
||||
Este manual originalmente fue escrito por Louis Taylor <kragniz@gmail.com>
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
@documentlanguage en
|
||||
@finalout
|
||||
@c %**end of header
|
||||
@set VERSION 1.4.1
|
||||
@set VERSION 2.0
|
||||
|
||||
@copying
|
||||
This manual is for ponysay
|
||||
|
@ -117,15 +117,21 @@ Otherwise @command{ponysay} and @command{ponythink} is the same thing.
|
|||
Parse the following arguments as parts of @code{@var{message}}.
|
||||
|
||||
@item -h
|
||||
@itemx --help
|
||||
@cindex @command{-h}
|
||||
@cindex @command{--help}
|
||||
Show summary of options.
|
||||
|
||||
@item -v
|
||||
@item --verion
|
||||
@cindex @command{-v}
|
||||
@cindex @command{--version}
|
||||
Show version of program.
|
||||
|
||||
@item -f PONY
|
||||
@itemx --pony PONY
|
||||
@cindex @command{-f}
|
||||
@cindex @command{--pony}
|
||||
Specify the pony that should printed, this can either be a file name or
|
||||
a pony name printed by @command{ponysay -l}. If it is a file name with
|
||||
a relative path and does not include a `@code{/}', it must begin with
|
||||
|
@ -133,8 +139,13 @@ a relative path and does not include a `@code{/}', it must begin with
|
|||
multiple times to specify a set of ponies from which one will be selected
|
||||
randomly. If no pony is specified one will be selected randomly.
|
||||
|
||||
If you have @command{util-say} installed, you can use .png-files as the
|
||||
arguments for this options.
|
||||
|
||||
@item -q [PONY...]
|
||||
@itemx --quote [PONY...]
|
||||
@cindex @command{-q}
|
||||
@cindex @command{--quote}
|
||||
By using this option, a pony will be printed with quotes from her in My Little Pony:
|
||||
Friendship is Magic. The pony will be selected randomly, unless at least one pony
|
||||
is added as an argument after @command{-q}. If one or more ponies are added after
|
||||
|
@ -143,19 +154,25 @@ This option requires the extension @command{ponyquotes4ponysay}, which
|
|||
is included by default since version 1.2.
|
||||
|
||||
@item -W COLUMN
|
||||
@itemx --wrap COLUMN
|
||||
@cindex @command{-W}
|
||||
@cindex @command{--wrap}
|
||||
Specify the screen column where the message should be wrapped,
|
||||
this is by default 40, which is inherited from @command{cowsay}.
|
||||
|
||||
@item -l
|
||||
@itemx --list
|
||||
@cindex @command{-l}
|
||||
@cindex @command{--list}
|
||||
Lists all installed ponies. If the extension @command{ponyquotes4ponysay}
|
||||
is installed the ponies which have quotes, i.e. can be used with the
|
||||
@command{-q} option, will be mark by being printed in bold or bright
|
||||
(depending on the terminal.)
|
||||
|
||||
@item -L
|
||||
@itemx --linklist
|
||||
@cindex @command{-L}
|
||||
@cindex @command{--altlist}
|
||||
Lists all installed ponies. If the extension @command{ponyquotes4ponysay}
|
||||
is installed the ponies which have quotes, i.e. can be used with the
|
||||
@command{-q} option, will be mark by being printed in bold or bright
|
||||
|
@ -226,7 +243,7 @@ to @command{ponypipe}: @url{http://www.reddit.com/r/mylittlelinux/comments/srixi
|
|||
If you use TTY and have a custom colour palette, you should also add to your
|
||||
@code{~/.bashrc}, before @code{fortune | ponysay}:
|
||||
@example
|
||||
[[ "$TERM" = "linux" ]] &&
|
||||
[ "$TERM" = "linux" ] &&
|
||||
function ponysay
|
||||
@{ exec ponysay "$@@"
|
||||
#RESET PALETTE HERE
|
||||
|
@ -249,7 +266,7 @@ So before opening @command{screen} you use set @code{$TERM} to @code{xterm-256co
|
|||
if you are using a terminal with support for @code{xterm}'s 256 colours; this
|
||||
can be done by adding to your @code{~/.bashrc}:
|
||||
@example
|
||||
[[ "$TERM" = "xterm" ]] &&
|
||||
[ "$TERM" = "xterm" ] &&
|
||||
function screen
|
||||
@{ export TERM="xterm-256color"
|
||||
exec screen "$@@"
|
||||
|
@ -303,10 +320,10 @@ are not running @command{ponysay} under TTY.
|
|||
@cindex replace cowsay
|
||||
If you want to use another program than @command{cowsay} (the first
|
||||
@command{cowsay} found in @code{$PATH}), you can export @code{PONYSAY_COWSAY}
|
||||
with the value of that program. If, and only if, @code{PONYSAY_COWSAY} does
|
||||
not have any value, @command{cowsay} is patch with @code{use utf8;} to the
|
||||
beginning. The @code{use utf8;} patch is introduced to make it easier to
|
||||
customise cowsay.
|
||||
with the value of that program. In earlier versions than version 2.0: If, and
|
||||
only if, @code{PONYSAY_COWSAY} does not have any value, @command{cowsay} is
|
||||
patch with @code{use utf8;} to the beginning. The @code{use utf8;} patch is
|
||||
introduced to make it easier to customise cowsay.
|
||||
|
||||
@code{PONYSAY_COWTHINK} will be used instead of @code{PONYSAY_COWSAY} if
|
||||
you run @command{ponythink}.
|
||||
|
@ -448,20 +465,14 @@ properties that makes a picture good.
|
|||
|
||||
@table @option
|
||||
@item bash
|
||||
Required for the main script [file: @command{ponysay}].
|
||||
Required for the glue script.
|
||||
@item cowsay
|
||||
This is a wrapper for @command{cowsay}.
|
||||
@item coreutils
|
||||
The main script [file: @command{ponysay}] uses @command{stty}, @command{cut},
|
||||
@command{ls}, @command{cat}, @command{sort}, @command{readlink}, @command{pwd},
|
||||
@command{head} and @command{tail}.
|
||||
@item sed
|
||||
@cindex @command{-l}
|
||||
@cindex @command{-L}
|
||||
Used to remove @code{.pony} from pony names when running @command{ponysay -l}
|
||||
and @command{ponysay -L}.
|
||||
@item perl
|
||||
Required to run @command{ponysay -l} and @command{ponysay -L}.
|
||||
@command{stty} is used to determine the size of the terminal,
|
||||
other parts of Coreutils will not be needed for long
|
||||
@item python
|
||||
Python version 3 is the primary language of the program
|
||||
@end table
|
||||
|
||||
@node Optional runtime dependencies
|
||||
|
@ -470,19 +481,21 @@ Required to run @command{ponysay -l} and @command{ponysay -L}.
|
|||
@cindex optional dependencies
|
||||
|
||||
@table @option
|
||||
@item ponyquotes4ponysay
|
||||
@cindex ponyquotes4ponysay
|
||||
@cindex @command{-q}
|
||||
For support of My Little Pony quotes with associated pony: the @code{-q} option.
|
||||
It can be downloaded at @url{https://github.com/maandree/ponyquotes4ponysay}.
|
||||
|
||||
Since version 1.2, this module is included in ponysay. You can edit ponysay's
|
||||
@code{Makefile} to remove it.
|
||||
|
||||
@item kmsponies4ponysay
|
||||
@cindex kmsponies4ponysay
|
||||
@item util-say
|
||||
@cindex @command{util-say}
|
||||
@cindex kms
|
||||
@cindex tty
|
||||
@cindex linux vt
|
||||
For improved TTY support for user with custom colour palette and KMS support.
|
||||
It can be downloaded at @url{https://github.com/maandree/kmsponies4ponysay}.
|
||||
It can be downloaded at @url{https://github.com/maandree/util-say}.
|
||||
|
||||
@cindex png images
|
||||
@cindex images, png
|
||||
@cindex portable network graphics
|
||||
For ther purpose of simplying for pony contributors, @command{ponysay}
|
||||
supports using .png-images (note that the file must not miss the
|
||||
@code{.png} in the file) in addition of .pony-files or pony names.
|
||||
|
||||
@end table
|
||||
|
||||
|
||||
|
@ -499,6 +512,8 @@ Required to run the make script.
|
|||
@item coreutils
|
||||
The make script uses @command{install}, @command{unlink}, @command{rm}, @command{ln},
|
||||
@command{mkdir} and @command{cp}.
|
||||
@item sed
|
||||
Used on the make system.
|
||||
@item texinfo
|
||||
@itemx info
|
||||
@command{texinfo} and @command{info} are required if you want this @command{info} manual.
|
||||
|
@ -543,7 +558,7 @@ It can be downloaded at @url{https://github.com/maandree/util-say}.
|
|||
|
||||
@menu
|
||||
* Installations basics:: The basics of installations.
|
||||
* Custom installations:: Installation customisations.
|
||||
* Custom installations:: Installation customisation.
|
||||
@end menu
|
||||
|
||||
@node Installations basics
|
||||
|
@ -561,17 +576,19 @@ for bleeding edge, or from @url{https://github.com/erkin/ponysay/tags} for relea
|
|||
If you have @command{git} you @command{clone} the project URL
|
||||
@url{https://github.com/erkin/ponysay.git}.
|
||||
|
||||
In the terminal,@command{cd} into the ponysay directory and execute
|
||||
@command{make install}. This will install @command{ponysay} into the
|
||||
In the terminal, @command{cd} into the ponysay directory and execute
|
||||
@command{./configure && make install}. This will install @command{ponysay} into the
|
||||
@code{/usr}, meaning you may need to run @command{make install} as root,
|
||||
e.g. by running @command{sudo make install}.
|
||||
|
||||
Now you will be to use ponysay, run: @command{ponysay "I am just the cutest pony!"},
|
||||
or if have a specific pony in your mind: @command{ponysay -f pinkie "Partay!~"}.
|
||||
|
||||
@cindex manpage translations
|
||||
@command{ponysay} comes with this @command{info} manual and a manpage in section 6,
|
||||
@command{man 6 ponysay} (or just @command{man ponysay}). The manpage is also available
|
||||
in Spanish: @command{man -L es 6 ponysay}.
|
||||
in Spanish: @command{man -L es 6 ponysay}. The install the Spanish manual add the
|
||||
option @command{--with-man-es} when running @command{./configure}.
|
||||
|
||||
|
||||
@node Custom installations
|
||||
|
@ -579,42 +596,64 @@ in Spanish: @command{man -L es 6 ponysay}.
|
|||
@cindex customised installations
|
||||
@cindex installation customisation
|
||||
@cindex make
|
||||
@cindex @command{./configure}
|
||||
@cindex configure
|
||||
|
||||
A basic installation will install everyting @command{ponysay} has to offer, except
|
||||
the prebuild PDF manual. If you want to install the PDF manual, which is by default
|
||||
installed as a @command{info} manual, you can run @command{make install-pdf}.
|
||||
@command{make install-pdf} has no require means and will install the PDF manual, and
|
||||
only the PDF manual, to @code{/usr/doc/ponysay.pdf}.
|
||||
@cindex @command{--everything}
|
||||
A basic installation will install everything @command{ponysay} has to offer, except
|
||||
the prebuilt PDF manual and translated manpages. If you want to install exactly
|
||||
everything add the option @command{--everything} when running @command{./configure}.
|
||||
|
||||
If you want to perform a regular installation, but without the @command{info} manual
|
||||
you can run @command{make install-no-info}. It is also possible to install each part
|
||||
independently; running @command{make install-min} will install the core of
|
||||
@command{ponysay}, which is the minimal set that can installed without generating
|
||||
errors or problems. After perform the core installaton whether are some other install
|
||||
commands:
|
||||
@cindex @command{--with-pdf}
|
||||
@cindex PDF manual, with
|
||||
@cindex @command{--without-man}
|
||||
@cindex manpage, without
|
||||
@cindex @command{--without-info}
|
||||
@cindex @command{info} manual, without
|
||||
@cindex @command{--with-man-LANG}
|
||||
@cindex manpage translations
|
||||
After @command{--everything} it is possible to remove unwanted parts, this can
|
||||
of cause be done without @command{--everything}. If you want to install the
|
||||
PDF manual to @code{/usr/doc/ponysay.pdf} add the option @command{--with-pdf} when
|
||||
running @command{./configure}. To install a manpage translation add
|
||||
@command{--with-man-LANG} and substitute the the language code for @code{LANG}.
|
||||
Currently the only translation is Spanish with the language code @code{es}.
|
||||
If you do not want the English manpage add the option @command{--without-man}.
|
||||
If you do not want the @command{info} manual add the option @command{--without-info}.
|
||||
|
||||
|
||||
The following argumentless options are also recognised:
|
||||
@itemize @bullet
|
||||
@item @command{make install-bash}
|
||||
will install completion for @command{ponysay} and shell GNU Bash.
|
||||
@item @command{make install-fish}
|
||||
will install completion for @command{ponysay} and shell @command{fish}.
|
||||
@item @command{make install-zsh}
|
||||
will install completion for @command{ponysay} and shell @command{zsh}.
|
||||
@item @command{make install-info}
|
||||
will install the @command{info} manual, this will enable the command @command{info ponysay}.
|
||||
@item @command{make install-man}
|
||||
will install the English manpage, which is a small to the point manual that is
|
||||
a bit more helpful @command{ponysay --help}. This will enable the command
|
||||
@command{man ponysay} and @command{man 6 ponysay}.
|
||||
@item @command{make install-man-es}
|
||||
will install a Spanish translation of the manpage. To read it you execute
|
||||
@command{man -L es ponysay} or @command{man -L es 6 ponysay}.
|
||||
@item @command{--without-bash}
|
||||
@cindex @command{--without-bash}
|
||||
@cindex @command{bash}, without
|
||||
will skip installation of auto-completion for @command{ponysay} and the
|
||||
GNU Bourne-again shell, @command{bash}.
|
||||
@item @command{--without-fish}
|
||||
@cindex @command{--without-fish}
|
||||
@cindex @command{fish}, without
|
||||
will skip installation of auto-completion for @command{ponysay} and the
|
||||
Friendly interactive shell, @command{fish}.
|
||||
@item @command{--without-zsh}
|
||||
@cindex @command{--without-zsh}
|
||||
@cindex @command{zsh}, without
|
||||
will skip installation of auto-completion for @command{ponysay} and the
|
||||
shell @command{zsh}.
|
||||
@end itemize
|
||||
|
||||
@cindex @command{--prefix=TARGET}
|
||||
@cindex @code{/usr/games}
|
||||
The program is by default installed in @code{/usr}, if you want another target
|
||||
directory, you can add @code{PREFIX} when running @command{make}. For example
|
||||
to install @command{ponysay} in @code{/usr/games} you build the program by
|
||||
running @command{make PREFIX=/usr/games}, and alike for installation and uninstallation.
|
||||
directory, you can add @command{--prefix=TARGET} when running @command{./configure}.
|
||||
For example to install @command{ponysay} in @code{/usr/games} you build the
|
||||
program by running @command{./configure --prefix=/usr/games}, and alike for
|
||||
installation and uninstallation. Notice the @command{=} cannot be substituted
|
||||
with white space.
|
||||
|
||||
@cindex @command{--info-desc=DESCRIPTION}
|
||||
If you are not using @command{--without-info} you can add
|
||||
@command{--info-desc=DESCRIPTION} to specify the description @command{info}
|
||||
which provide when listing commands.
|
||||
|
||||
|
||||
@node Arch Linux
|
||||
|
@ -622,8 +661,8 @@ running @command{make PREFIX=/usr/games}, and alike for installation and uninsta
|
|||
@cindex arch linux
|
||||
|
||||
The official Arch Linux package repositories contains @command{ponysay} as
|
||||
@code{community/ponysay}. The Arch Linux User Repository (AUR) contains a bleeding edge
|
||||
git version of @command{ponysay} as @code{ponysay-git}.
|
||||
@code{community/ponysay}. The Arch Linux User Repository (AUR) contains a bleeding
|
||||
edge git version of @command{ponysay} as @code{ponysay-git}.
|
||||
|
||||
|
||||
@node Gentoo Linux
|
||||
|
@ -649,15 +688,11 @@ and a PPA can be found at @url{https://launchpad.net/~blazemore/+archive/ponysay
|
|||
|
||||
If you did not install @command{ponysay} with a package manager, but rather
|
||||
manually from the upstream, you can uninstall it by running @command{make uninstall}.
|
||||
Do not forget @code{PREFIX} if it is not installed in @code{/usr}, see
|
||||
@ref{Custom installations}.
|
||||
|
||||
Well written package manages will uninstall files that the package is no longer
|
||||
using, i.e. if deleted, moved or renamed. To uninstall files that are not longer
|
||||
used, by the currently installed version you will need that versions @code{Makefile}.
|
||||
To perform the uninstallion of old filed run @command{make uninstall-old}.
|
||||
Do not forget @code{PREFIX} if it is not installed in @code{/usr}, see
|
||||
@ref{Custom installations}.
|
||||
|
||||
|
||||
|
||||
|
@ -683,8 +718,8 @@ are enabled when other packages are installed.
|
|||
@command{ponyquotes4ponysay} is a package that adds support for MLP:FiM quotes that are
|
||||
displayed with the associated ponies. See @ref{Invoking ponysay} for more information.
|
||||
|
||||
As of version 1.2 @command{ponyquotes4ponysay} is included in @command{ponysay}, but can easily
|
||||
be removed, but is still available at @url{https://github.com/maandree/ponyquotes4ponysay}.
|
||||
As of version 1.2 @command{ponyquotes4ponysay} is included in @command{ponysay},
|
||||
but is still available at @url{https://github.com/maandree/ponyquotes4ponysay}.
|
||||
|
||||
|
||||
@node kmsponies4ponysay
|
||||
|
@ -700,7 +735,7 @@ be removed, but is still available at @url{https://github.com/maandree/ponyquote
|
|||
@cindex .bashrc
|
||||
|
||||
@command{kmsponies4ponysay} is an extension for TTY users that have a custom TTY colour
|
||||
palette and KMS support. KMS is supported on must computers, but due to lack of published
|
||||
palette and KMS support. KMS is supported on most computers, but due to lack of published
|
||||
specifications Nvidea drivers does not support KMS. @command{kmsponies4ponysay} can be
|
||||
downloaded at @url{https://github.com/maandree/kmsponies4ponysay}.
|
||||
|
||||
|
@ -718,7 +753,7 @@ Assuming you have a function in your @code{~/.bashrc}, to reset the colour palet
|
|||
you set it to last time in the terminal, named @command{reset-palette}, your @code{~/.bashrc}
|
||||
should, for example, contain:
|
||||
@example
|
||||
[[ "$TERM" = "linux" ]] &&
|
||||
[ "$TERM" = "linux" ] &&
|
||||
function ponysay
|
||||
@{ export PONYSAY_KMS_PALETTE="`reset-palette`"
|
||||
exec ponysay "$@@"
|
||||
|
@ -727,6 +762,9 @@ should, for example, contain:
|
|||
|
||||
@command{kmsponies4ponysay} uses @code{/var/cache/kmsponies4ponysay/} for cache space.
|
||||
|
||||
As of version 2.0 @command{kmsponies4ponysay} is included in @command{ponysay},
|
||||
but is still available at @url{https://github.com/maandree/kmsponies4ponysay}.
|
||||
|
||||
|
||||
|
||||
@node Inner workings
|
||||
|
@ -739,6 +777,7 @@ should, for example, contain:
|
|||
* Printing in TTY with KMS:: Printing in TTY with KMS.
|
||||
* Truncation:: Output truncation.
|
||||
* Languages:: Selection of languages.
|
||||
* Shell auto-completion:: Things make auto-completion simplier.
|
||||
@end menu
|
||||
|
||||
|
||||
|
@ -817,13 +856,37 @@ sequences after the first character after the initial escape if it is not either
|
|||
@cindex script languages
|
||||
@cindex programming languages
|
||||
|
||||
Ponysay is written primarily in GNU Bash shell script (POSIX compliant); the truncater
|
||||
is however written in C, because it is simple, fast, does not pose addition dependencies,
|
||||
and is easy to do byte hacking in.
|
||||
Before version 2.0 @command{ponysay} was written primarily in GNU Bash script
|
||||
(POSIX compliant); the truncater was however written in C, because it is simple,
|
||||
fast, does not pose addition dependencies, and is easy to do byte hacking in.
|
||||
|
||||
Sometimes shell is too slow, in these cases [that exist today] Perl is used; Perl
|
||||
is already required by cowsay, is similar to shell, but also supports hash tables.
|
||||
[maandree: I actually learned Perl just for this.]
|
||||
Sometimes shell is too slow, in these cases Perl was used; Perl was already
|
||||
required by cowsay, is similar to shell, but also supports hash tables.
|
||||
|
||||
However since version 2.0 we are trying to move from all there languages
|
||||
and only use Python 3.
|
||||
|
||||
|
||||
@node Shell auto-completion
|
||||
@section Shell auto-completion
|
||||
@cindex auto-completion, inner workings
|
||||
@cindex shell, auto-completion
|
||||
@cindex @command{--onelist}
|
||||
@cindex @command{--quoters}
|
||||
|
||||
To make it easier to write auto-completion for shells, @command{ponysay} supports
|
||||
the two options @command{--onelist} and @command{--quoters}, which has not short
|
||||
versions.
|
||||
|
||||
Executing @command{ponysay --onelist} will list every available pony,
|
||||
independent of where it is located, the output is a sorted and consists only
|
||||
of one pony per line.
|
||||
|
||||
@command{ponysay --quoters} work just as @command{ponysay --onelist}, excepts
|
||||
it limites the ponies to those that have quotes. Ponies that have qoutes,
|
||||
but does not exist, i.e. does not have a .pony-file, are not listed.
|
||||
|
||||
Auto-completion scripts should not suggest these options.
|
||||
|
||||
|
||||
|
||||
|
@ -892,6 +955,17 @@ To be able to run @command{make -B ttyponies} you must have the packages listed
|
|||
@cindex versions
|
||||
@cindex previous releases
|
||||
|
||||
@heading Version 2.0
|
||||
|
||||
@itemize @bullet
|
||||
@item
|
||||
Makefile is generated by running @command{./configure}.
|
||||
@item
|
||||
All Perl scripts and almost all Bash are reimplemented in one Python 3 script.
|
||||
@item
|
||||
kmsponies4ponysay is included.
|
||||
@end itemize
|
||||
|
||||
@heading Version 1.4.1
|
||||
|
||||
@itemize @bullet
|
||||
|
@ -1188,26 +1262,28 @@ First release.
|
|||
@node Ponysay contributors
|
||||
@appendix Ponysay contributors
|
||||
|
||||
Active developers of ponysay:
|
||||
Active developers and major contributors of ponysay:
|
||||
@itemize @bullet
|
||||
@item Erkin Batu Altunbaş
|
||||
@item Mattias Andrée
|
||||
@item Sven-Hendrik Haase
|
||||
@item Pablo Lezaeta
|
||||
@item Jan Alexander Steffens
|
||||
@item Erkin ``erkin'' Batu Altunbaş
|
||||
@item Mattias ``maandree'' Andrée
|
||||
@item Elis ``etu'' Axelsson
|
||||
@item Sven-Hendrik ``svenstaro'' Haase
|
||||
@item Pablo ``jristz'' Lezaeta
|
||||
@item Jan Alexander ``heftig'' Steffens
|
||||
@end itemize
|
||||
@*
|
||||
Patchers and other contributors of ponysay:
|
||||
@itemize @bullet
|
||||
@item Elis Axelsson
|
||||
@item Duane Bekaert
|
||||
@item Kyah Rindlisbacher
|
||||
@item James Ross-Gowan
|
||||
@item Louis Taylor
|
||||
@item Jannis
|
||||
@item Duane ``Marneus68'' Bekaert
|
||||
@item Kyah ``L-four'' Rindlisbacher
|
||||
@item James ``rossy2401'' Ross-Gowan
|
||||
@item Louis ``kragniz'' Taylor
|
||||
@item Jannis ``sycoso''
|
||||
@item ``spider-mario''
|
||||
@end itemize
|
||||
|
||||
|
||||
|
||||
@node Ponysay license
|
||||
@appendix Ponysay license
|
||||
|
||||
|
@ -1219,11 +1295,15 @@ You have the four essential freedoms:
|
|||
@item
|
||||
The freedom to run the program, for any purpose (freedom 0).
|
||||
@item
|
||||
The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1). Access to the source code is a precondition for this.
|
||||
The freedom to study how the program works, and change it so it does your
|
||||
computing as you wish (freedom 1). Access to the source code is a precondition
|
||||
for this.
|
||||
@item
|
||||
The freedom to redistribute copies so you can help your neighbour (freedom 2).
|
||||
@item
|
||||
The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.
|
||||
The freedom to distribute copies of your modified versions to others (freedom 3).
|
||||
By doing this you can give the whole community a chance to benefit from your
|
||||
changes. Access to the source code is a precondition for this.
|
||||
@end itemize
|
||||
|
||||
@*
|
||||
|
|
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue