I am glad you are not offended, and maybe your solution is indeed what I need… But I agree you should add some documentation, as I cannot get it to work. Like I said: I am new to Python, and the solution I work on is my first effort. I did use parts of Bookbind to write it :-) and I am the first to agree I am not good in programming. I will try again to get Bookbind working.
Op vrijdag 10 augustus 2012 08:11:49 UTC+2 schreef Watts Martin het volgende: > > Don't worry, I'm not offended. You mostly just made me realize that even > if Bookbind is mostly "done," it needs a lot of documentation work still. :) > > But, your workflow sounds *close* to that of the book I wrote Bookbind to > create, with the exception of the images, as I didn't have any of those. My > chapters were in Markdown but the front matter was in straight HTML, and I > wrote my own CSS. Bookbind doesn't generate any CSS at all; it just > includes the files you point it to. The only files it generates are the > EPUB-specific ones, and of course HTML files produced by processing with > Markdown -- but it can include HTML files directly without processing them. > (And, of course, Markdown can include embedded HTML. In my book I > occasionally included <span class="smallcaps">Small Caps</span> for certain > passages, and that works just fine.) > > I don't want to "advertise" Bookbind, but if nothing else, you might want > to see if there are bits of code you want to use, since it looked like you > were also writing in Python. > > Eelco Deuling <javascript:> > August 9, 2012 23:01 > Hello Wats Martin, > > I am sorry if I did sound offensive: that was not my intention. I "more or > less" understand what Bookbind tries to do but for me it won't work, > because Markdown has not enough support for classes, id's etc. > > I usually start with a InDesign document (a "completed" book for print) > where I use grep to place Markdown tags. I copy/paste the text in BBEdit, > convert Markdown to HTML and divide the document into chapters. I could do > this with your program, and for a textbook this would be enough. > After this I start to expand the markup using classes, especially for the > different kind of images (with text-wrap, as page-sized, etc). If I am > happy with the result I can "pack" it as an epub, where I look at this part > of the process as the last part: like generating the PDF-X1 flattened file > print houses in the Netherlands demand. > > So: I want to be able to make HTML/CSS *before* the generation of the > epub, in your solution it is generated *during* the process. > -- > -- > You received this message because you are subscribed to the > "BBEdit Talk" discussion group on Google Groups. > To post to this group, send email to bbe...@googlegroups.com <javascript:> > To unsubscribe from this group, send email to > bbedit+un...@googlegroups.com <javascript:> > For more options, visit this group at > <http://groups.google.com/group/bbedit?hl=en> > If you have a feature request or would like to report a problem, > please email "sup...@barebones.com" <javascript:> rather than posting to > the group. > Follow @bbedit on Twitter: <http://www.twitter.com/bbedit> > > > > Watts Martin <javascript:> > August 9, 2012 9:33 > I'll express a *mild* objection here. :) Bookbind is designed to let you > use your own stylesheet for a book and even to override individual pages if > necessary. While the main reason I wrote it is because I write prose in > Markdown these days, being able to do custom styling was pretty important > to me; I was a professional typesetter many years ago and have done > magazine and book design in the past. > > Clearly I'm going to have to start writing actual documentation sometime > soon... > > At any rate, I know that Pandoc can also let you include a stylesheet, > although IIRC it's not as flexible. (But it may -- ahem -- have better > documentation.) > Eelco Deuling <javascript:> > August 9, 2012 1:29 > Hello Maarten, > > Thank you for "cleaning up" my script, and thank you for pointing out to > http://code.google.com/p/python-epub-builder/. > > I did find this myself before, but I staggered mentally when I read the > introduction in the Wiki to "create a epub in five minutes", as I hardly > understand a word in it (and this is just using the "simple API"). > > The problem is I cannot find a solution that does *just* what I want it > to do and *nothing more*. I have tried all the WYSIWYG epub editors and > generators, and they all fail me some way or another: they mess up my CSS, > refuse to work with my media or generate a non valid epub. > > Most solutions posted here (like the python-epub-builder, Bookbind by > Watts Martin, etc.) are good to generate epub's from text documents, > converting those on-the-fly from Markdown or a similar markup language. > Unfortunately they will not work for me, as they tend to use more or less > *generic* CSS and not the *custom* HTML and CSS I want to use (as a > designer I want to make not only readable books but they should look great > as well and every book should have it's own CSS). > > With regards, > > Eelco > -- > -- > You received this message because you are subscribed to the > "BBEdit Talk" discussion group on Google Groups. > To post to this group, send email to bbe...@googlegroups.com <javascript:> > To unsubscribe from this group, send email to > bbedit+un...@googlegroups.com <javascript:> > For more options, visit this group at > <http://groups.google.com/group/bbedit?hl=en> > If you have a feature request or would like to report a problem, > please email "sup...@barebones.com" <javascript:> rather than posting to > the group. > Follow @bbedit on Twitter: <http://www.twitter.com/bbedit> > > > > Maarten Sneep <javascript:> > August 8, 2012 12:31 > > Hi, > > On 8 aug. 2012, at 14:03, Eelco Deuling <deuli...@gmail.com> <javascript:> > wrote: > > > I have finished "part one": make a directory structure and all the necessary > files for an epub. > As this is my first-ever python script there should be some things wrong, but > it works: > > Let me help you out. The script is not too shabby, but could use some cleanup. > > > #!/usr/bin/env python > #>> This uses the system python. Slightly more flexible. > > #################################################################### > # call the operating system (?) > #>> Load the 'os' module in python. > #>> This contains a lot of functionality for interaction with the os > #################################################################### > import os > > #################################################################### > # create the directory structure > #################################################################### > My_Epub = "epub" > if not os.path.exists(My_Epub): > os.mkdir(My_Epub) > > root_path = "./epub/" > folders = ["META-INF", "OEBPS", "OEBPS/texts", "OEBPS/css", "OEBPS/media", > "OEBPS/fonts"] > for folder in folders: > os.mkdir(os.path.join(root_path,folder)) > > #################################################################### > # create the mimetype file > #>> Use os.path.join() here too > #>> Your version didn't close the file (explicitly). > #>> It was implicitly closed on script-end. > #################################################################### > with open(os.path.join(My_Epub, "mimetype"), "w") as fp: > fp.write("application/epub+zip") > > #################################################################### > # create the container xml file > #################################################################### > My_Container_xml = """<?xml version="1.0" ?> > <container version="1.0" > xmlns="urn:oasis:names:tc:opendocument:xmlns:container"> > <rootfiles> > <rootfile full-path="OEBPS/content.opf" > media-type="application/oebps-package+xml" /> > </rootfiles> > </container> > """ > > with open(os.path.join(My_Epub, "META-INF", "container.xml"),"w") as fp: > fp.write(My_Container_xml) > > #################################################################### > # create empty toc.ncx and empty content.opf > #################################################################### > with open(os.path.join(My_Epub, "OEBPS", "toc.ncx"), "w") as fp: > fp.write("") > with open(os.path.join(My_Epub, "OEBPS", "content.opf"), "w") as fp: > fp.write("") > > ---- > > This gives me the chance to copy all html files, my css, images, fonts and > movie files to the right directories. > Now I will have to fill the empty toc.ncx and content.opf files with the > right content: maybe with os.listdir… > > This will be continued (hopefully!). > All help would be welcome! > > There is an epub python package. No need to reinvent the wheel. > http://code.google.com/p/python-epub-builder/ > (I've never used this code, no idea how good this is). > > Best, > > Maarten > > > -- -- You received this message because you are subscribed to the "BBEdit Talk" discussion group on Google Groups. To post to this group, send email to bbedit@googlegroups.com To unsubscribe from this group, send email to bbedit+unsubscr...@googlegroups.com For more options, visit this group at <http://groups.google.com/group/bbedit?hl=en> If you have a feature request or would like to report a problem, please email "supp...@barebones.com" rather than posting to the group. Follow @bbedit on Twitter: <http://www.twitter.com/bbedit>