Pastie Packer
Get Version
1.1.1→ ‘pastiepacker’

What
A pastie is a snippet of text/code stored on a single webpage. This makes it very easy to share the text over IM or IRC - you just copy+paste the url. As a bonus, pasties are syntax highlighted making them easier to read than if shared as plain text.
The pastiepacker is a command-line tool to “pack” a selection of files (or by default, a whole recursive folder of files) into a single pastie. So a whole/part of a project can be quickly shared.
It can also “unpack” a packed pastie back into files. The pastiepacker is therefore a simple, useful distributed archiving tool, using pasties for storage.
For example, this pastie http://pastie.caboo.se/175886 shows a selection of files packed into a pastie. It just happens to be the source for pastiepacker itself! (release 1.0.0)
You can pack a whole folder or a selection of files. Any README/readme. files are placed at the front of the pastie, because that seems helpful. The packed pasties include information on how to unpack the pastie back into raw files.
Only ascii files are packed.
Installing
sudo gem install pastiepacker
The basics: packing files into a pastie
To pack a folder: pastiepacker
Packing options:
-f, --format=FORMAT Possess pasties with a particular persona
Supported formats:
c++, css, diff, html_rails, html,
javascript, php, plain_text, python,
ruby, ruby_on_rails, sql, shell-unix-generic
Default: ruby
-m, --message=MESSAGE Promotional passage for your pastie
-p, --private Posted pasties are private
Ignored for unpacking
-s, --stdout Prints packed pasties instead of posting
-H, --no-header Prevents placing pastiepacker promotion in pasties
That is, no 'about:' section is added to the top of pasties
-h, --help Show this help message.
To only pack a selection of files ending with txt you can pass a list of file names via STDIN:
find * | grep "txt$" | pastiepacker
pastiepacker* outputs the url of the prepared pastie, so you can pipe it to xargs:
pastiepacker | xargs open
If the selection of files (within the current folder or the selection of files via STDIN) contains a readme file (readme.txt, README.txt, README.markdown, etc), that file will be packed at the top of the pastie, for the convenience of readers.
The basics: unpacking pasties into files
To unpack a packed pastie:
pastiepacker http://pastie.caboo.se/175183
This unpacks the files into a subfolder 175138/
To unpack a private pastie:
pastiepacker http://pastie.caboo.se/private/5hwfheniddqmyasmfcxaw
This unpacks the files into a subfolder 5hwfheniddqmyasmfcxaw/
Forum
http://groups.google.com/group/drnicutilities
How to submit patches
Read the 8 steps for fixing other people’s code and for section 8b: Submit patch to Google Groups, use the Google Group above.
The source for the Pastie Packer is available via git.
git clone git://github.com/drnic/pastie-packer.git pastiepacker
cd pastiepacker
rake install_gem
It is also available via rubyforge.org:
git clone git://rubyforge.org/pastiepacker.git
cd pastiepacker
rake install_gem
Or, you can unpack the 1.0.0 release of the pastiepacker from its own pastie!
License
This code is free to use under the terms of the MIT license.
Contact
Comments are welcome. Send an email to Dr Nic Williams via the forum
Dr Nic Williams, 25th June 2008
Theme extended from Paul Battley