4 ms·
For my technical book, I was getting frustrated with the page breaks interrupting the code sections in weird places. There's a bit of a hack you can do to crea
by mattjaynes 13y ago
For my technical book, I was getting frustrated with the page breaks
interrupting the code sections in weird places.
There's a bit of a hack you can do to create a continuous
single-page PDF if you're generating your book from html/css:
@page {
size: 216mm 17600mm;
}
That tells the PDF printer to make the page 8.5 inches wide and
really really long.
It's dirty, but it works!
Derek Sivers said this about it when I sent him a copy:
"I love that continuous-page PDF format. Never seen that before,
but it's so much handier than artificial pages."
For my upcoming book, I'm releasing both a page-breaks and a
continuous version of the PDF.
http://devopsu.com/books/taste-test-puppet-chef-salt-stack-ansible.html http://devopsu.com/books/taste-test-puppet-chef-salt-stack-a...
The continuous PDF doesn't work well in some PDF readers, so
unfortunately I have to also provide a version with page breaks.
## Full Setup
For the curious, here's the rest of my setup:
I'm using Jekyll so I can just do everything in markdown/html/css. It
uses pygments for the syntax highlighting and I'm using my own
customized syntax coloring styles. Then I use PrinceXML for generating
the pdf.
It makes for a nice workflow...
First I start the jekyll server with the --watch flag so it will
auto-recompile the html:
jekyll serve --watch
Then I use PrinceXML to generate the pdf:
prince http://0.0.0.0:4000/breaks-no.html -o breaks-no.pdf
If I want to have the pdf auto-generated too, I use fswatch (OSX
utility similar to inotifywatch):
fswatch dir_to_watch_for_changes "prince http://0.0.0.0:4000/breaks-no.html -o breaks-no.pdf"
Jekyll is handy since I can have multiple versions of the book, but
still keep things DRY via includes. For example, I have the book
version with page breaks (breaks-yes.html) and a continuous page
version (breaks-no.html).
I tried several other pdf generation utilities, but none came close to
the quality and consistency of PrinceXML.
The pro license for the server version of PrinceXML is pricey - $495 (
http://www.princexml.com/purchase/ http://www.princexml.com/purchase/ ). So, I'm only using the pro
version for development and for the final versions, I'll be using
their SaaS product which is only $15/mo: http://docraptor.com/plans http://docraptor.com/plans
Anyway, that's the process so far!
## Book Launch Tomorrow
Manage servers? One of the biggest wins for making your systems more awesome is to use a configuration management tool like Puppet, Chef, Salt, or Ansible.
If you want to make sure your systems are fast, scalable, and secure, the first step is having full control and power over them.
Tomorrow, Sept 4th, I'm launching my book "Taste Test: Puppet, Chef, Salt, Ansible" which is designed to save you the days or weeks of research when picking one of these tools.
In the book, I implement an identical project with each tool so you can see what each one is like to work with. You may be surprised at which ones were super easy and which ones were really difficult to work with.
To get a discount for the book release, just sign up on the mailing list: http://devopsu.com/books/taste-test-puppet-chef-salt-stack-ansible.html http://devopsu.com/books/taste-test-puppet-chef-salt-stack-a...
- zrail 13y agoI hadn't ever thought about a continuous PDF, that's a good idea, and should be a snap with Docverter. Looks like a good book, good luck on your launch!
- mattjaynes 13y agoThanks :) Docverter is new to me, I'll definitely check it out!
- astrodust 13y agoCan you use `km` as units?