Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/infovore/pinboard-bookmachine
Generate paperbacks from your Pinboard links
https://github.com/infovore/pinboard-bookmachine
Last synced: 2 days ago
JSON representation
Generate paperbacks from your Pinboard links
- Host: GitHub
- URL: https://github.com/infovore/pinboard-bookmachine
- Owner: infovore
- Created: 2012-02-18T19:37:16.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2016-01-01T21:34:14.000Z (almost 9 years ago)
- Last Synced: 2024-08-02T13:24:24.625Z (3 months ago)
- Language: Ruby
- Homepage:
- Size: 969 KB
- Stars: 96
- Watchers: 7
- Forks: 10
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Bookmachine
===========Bookmachine takes your Pinboard links and makes paperback books of them: one
6"x9" book a year.Installation
------------Bookmachine is a Sinatra app. Check out the code and then run
bundle install
to set up all dependencies. You'll need Ruby/Bundler, obviously.
You'll need to create the SQLite database, next:
rake db:migrate
(Note that you might need to prefix all rake commands, and rackup, with `bundle
exec`. Because bundler, alas.)You will also need PrinceXML. Get that from http://www.princexml.com/download/ and install
the free version as per instructions. "prince" should be in your path before
you begin to publish books.Usage
-----Bookmachine has two components: a series of rake tasks, and a Sinatra webapp.
* First, place the output from `https://api.pinboard.in/v1/posts/all` into
`data/pinboard_all.xml` . You'll need to authenticate via HTTP Basic.
* Then run `bundle exec rake`. This will ingest all your links into a database.
* Now run `bundle exec rackup`. This will start a Sinatra app on port 9292.
* If you visit localhost:9292 in a browser, you'll see all the books
Bookmachine is going to make. Click on one to look at it in your browser.
Note that the contents and index won't have page numbers - those will be
added by PrinceXML later.
* With the webapp running, run `bundle exec rake publish:all` from the shell to make PDFs
of all years. Alternatively, to make a single year, run `rake publish:year
YEAR=1999`` (for example).If you look at the website, you won't see anything to do with pagination: not
in the contents, the index, or in any headers. Do not worry: these elements
will be added when Prince generates the book.QR codes are generated by http://qrcode.kaywa.com ; you'll need to be connected
to the internet for them to work.Modification
------------If you want to play with the format of the app, `print.scss` and `application.scss`
are the SASS stylesheets that define how books look. There's lots of
Prince-specific formatting in there. (Why are they two sheets? I forget;
I think `application.scss` was what I wrote on top of somebody else's `print.scss`.
It's a bit scrappy).Covers
------Covers are left as an exercise to the reader. I uploaded PNGs designed
according to the dimensions Lulu gave me; you might just want to use Lulu's
cover editor.Printing
--------I used lulu.com to print my books; the PDFs are set up for the "American Trade
Paperback" format. Other printers are available.Notes
-----Much of the SCSS and Prince code is inspired by or taken directly from:
* [This A List Apart article](http://www.alistapart.com/articles/boom)
* [Felix Cohen's Bookler project](https://github.com/headshift/Bookler)