Since you too are exploring packaging, this might give you some test: http://kitchingroup.cheme.cmu.edu/blog/2014/03/05/Creating-a-transportable-zip-archive-of-an-org-file/ Sincerely,
Grant Rettke On Mon, Dec 7, 2015 at 6:15 AM, Greg Sexton <gsex...@amazon.co.uk> wrote: > Hi, > > I did find a post about this from around 2009 but I'm not sure it went > anywhere. It's very useful for me to be able to export a single html > file that I can distribute around. Base 64 encoding images directly in > to the exported html makes this possible. > > The feature seems fairly well supported by browsers these days.[1] > > I've hacked up this ugly proof of concept. I guess it wouldn't take too > much to productionize this and make the behavior configurable. Any > thoughts? > > --8<---------------cut here---------------start------------->8--- > (defun gs/b64-img (file-uri) > (let ((file (s-replace "file://" "" file-uri))) > (if (f-exists? file) > ;; src="data:image/png;base64,iVBORw0KGgoAAAANSUh..." > (s-concat "data:image/" > (f-ext file) > ";base64," > (base64-encode-string (f-read-bytes file))) > file-uri))) > > (defun org-html--format-image (source attributes info) > "Return \"img\" tag with given SOURCE and ATTRIBUTES. > SOURCE is a string specifying the location of the image. > ATTRIBUTES is a plist, as returned by > `org-export-read-attribute'. INFO is a plist used as > a communication channel." > (org-html-close-tag > "img" > (org-html--make-attribute-string > (org-combine-plists > (list :src (gs/b64-img source) ; <-- interesting line is here > :alt (if (string-match-p "^ltxpng/" source) > (org-html-encode-plain-text > (org-find-text-property-in-string 'org-latex-src source)) > (file-name-nondirectory source))) > attributes)) > info)) > --8<---------------cut here---------------end--------------->8--- > > > [1]: http://stackoverflow.com/questions/1207190/embedding-base64-images > > -- > Greg > > > > Amazon Development Centre (London) Ltd. Registered in England and Wales with > registration number 04543232 and which has its registered office at > Leadenhall Court, One Leadenhall Street, London EC3V 1PP, United Kingdom. > >