I can't recall if I pointed to this post before: http://kitchingroup.cheme.cmu.edu/blog/2015/05/09/Another-approach-to-embedding-org-source-in-html/ but it is similar to what you are trying to do. John ----------------------------------- Professor John Kitchin Doherty Hall A207F Department of Chemical Engineering Carnegie Mellon University Pittsburgh, PA 15213 412-268-7803 @johnkitchin http://kitchingroup.cheme.cmu.edu On Tue, Dec 22, 2015 at 8:48 PM, Grant Rettke wrote: > 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 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. > > > > > >