[FM Discuss] coolest hack in a while
James Simmons
nicestep at gmail.com
Wed Jan 12 07:58:29 PST 2011
Adam,
This sounds really promising. Please let us know when the changes are
ready to download from Git.
Thanks,
James Simmons
On Wed, Jan 12, 2011 at 9:04 AM, adam hyde <adam at flossmanuals.net> wrote:
> hi,
>
> so after some complaining to the fm dev team (they never listen unless i
> complain) Aco come up with a *very* nice hack for helping create the
> book formatted pdf. actually it was an idea doug had some time ago but
> Doug has just become a dad again and so he has been understandably
> otherwise occupied :)
>
> so...the issue was that objavi (the pdf generator) has no control over
> widows and orphans or and page-break-after:avoid does not work for
> heading tags...what does this mean? it means that if you have a heading
> and a paragraph that follows it we have no way of ensuring that the
> heading and the paragraph will be on the same page. it might occur,
> through luck and bad management, that the heading is at the bottom of a
> page and the following paragraph is on the next page.
>
> eg..
>
> <p> some text...</p>
> <h2>the next thing</h2>
> -----page break-----
> <p>para about the next thing</p>
>
>
> in a book this looks *ugly*
>
> we can manage this manually. by using the editor and inserting page
> breaks. this inserts a div tag with id=PageBreak and hence we use css to
> force a page break at that point. We would use this in the css:
>
> div#PageBreak {
> height:0px !important;
> }
>
> the problem here is that when u change the output format (say from A5 to
> A4) you need to change all these pagebreaks manually. This is really not
> cool.
>
> so, now with the hack every h2,h3 and h4 tag has a div wrapped around it
> and the paragraph that follows. You dont see this - it happens server
> side when the pdf is generated. If you then use this css (which will be
> in the default style sheet shortly):
>
> div#keeptogether {page-break-inside:avoid;}
>
> then the headings stick to the paragraphs. So a heading that would fall
> to the bottom of a page with the paragraph after it starting at the top
> of the next page would be put on the next page - so the heading and
> paragraph stay together.
>
> using the above example...we would now get this:
>
> <p> some text...</p>
> -----page break-----
> <h2>the next thing</h2>
> <p>para about the next thing</p>
>
>
> this is *very* cool. of course you dont have to use this. you can still
> do it all manually if you want extra control in specific
> situations...but this is a very good fix....
>
> adam
>
>
>
>
>
> --
> vote for booki in the Open Web Awards!
>
> Booki (the latest FM project - http://www.booki.cc - a collaborative
> publishing platform) is in the final of the Open Web Awards.
> Great! We are 1 of 3 projects. If we win we get 5000 which we will use
> to do a code sprint on a tropical island somewhere ;)
>
> please please please register :
> http://www.drumbeat.org/user/register
>
> and vote for us by visiting this page and clicking on the 'vote' link (top right):
> http://www.drumbeat.org/project/open-web-publishing
>
> and pass this around!!!! :)
>
> Adam Hyde
> Founder FLOSS Manuals &
> Booki Project Manager
>
> Contact Information
> German mobile : + 49 177 4935122
> Email : adam at flossmanuals.net
> irc : irc.freenode.net #flossmanuals
>
>
> "Free manuals for free software"
> http://www.flossmanuals.net/about
>
> Free Software for making Free Books
> http://www.booki.cc/
>
> _______________________________________________
> Discuss mailing list
> Discuss at lists.flossmanuals.net
> http://lists.flossmanuals.net/listinfo.cgi/discuss-flossmanuals.net
>
More information about the Discuss
mailing list