From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rasmus Subject: Re: ox-html: stand-alone export option? Date: Fri, 20 Feb 2015 11:32:03 +0100 Message-ID: <874mqgx49o.fsf@gmx.us> References: <87egpn33ls.fsf@gmx.us> <54E6C3B6.4010407@mbacou.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:60543) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YOksd-0006vN-IC for emacs-orgmode@gnu.org; Fri, 20 Feb 2015 05:32:20 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YOksZ-0007Pj-HG for emacs-orgmode@gnu.org; Fri, 20 Feb 2015 05:32:19 -0500 Received: from mout.gmx.net ([212.227.17.22]:55664) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YOksZ-0007ND-7t for emacs-orgmode@gnu.org; Fri, 20 Feb 2015 05:32:15 -0500 In-Reply-To: <54E6C3B6.4010407@mbacou.com> (Melanie Bacou's message of "Fri, 20 Feb 2015 00:18:46 -0500") List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: mel@mbacou.com Cc: emacs-orgmode@gnu.org Melanie Bacou writes: > You're right with Github or remote storages there's no problem (links > to images like `./fig/my_fig.png` or local CSS or JS > `./css/my_css_.css` are interpreted as usual. The problem is only on > cloud storage services like Dropbox where each resource gets a unique > (unknown a priori) ID. These make it difficult to publish HTML > documents. Interesting. I only know the dropbox by name, and had no idea it could be used for publishing. >>> We would really benefit from having a "stand-alone" HTML exporter >>> feature that automatically embeds all external references into one >>> single HTML file, so they can be shared with Dropbox, Google Drive, >>> OneDrive and the likes. >> >> Would you base64 encode images and inline code or do you have something >> else in mind with single HTML file? It's not built into Org ATM. > > Yes indeed was thinking of a "stand-alone" option that would include > base64 encoded images and also verbatim include all local CSS and JS > in the document head. First, I will advise you to take a look at ox-projects. It's great when you have to do heavy customization. Check the docstring of org-publish-project-alist. You can run preparation functions. Further, take a look at the (org-export-define-backend 'html in ox-html.el. With projects you can replace all the values of :options-alist. For script you can use :prepare to download all script and :html-head-extra or :html-head for including them. So for images Gnus must have something for base64. For instance, the "Face" in this email is converted from png to base64 using gnus-face-encode. See the functions starting with base64-. You could use a preparation function to convert your lossy(?) images with base64 (see also :html-inline-image-rules) and maybe org-export-before-processing-hook for doing the heavy lifting of changing org-links. Anyway, if there's no options for in-lining images that makes sense to inline such as .base64 (does that exists?) and .svg, perhaps open a separate thread with this feature request. Or better: hack ox-html.el and submit a patch! Check org-html--format-image. >> In the short run maybe there's a tool that can do. For instance, in >> Firefox it will save auxiliary material when you save a page. I don't >> know if also save whatever scripts you rely on from whatever CDN far awa= y... > > Right, I looked at that too, but no true "stand-alone" option in FF or > Chrome, both browsers include resources in a separate folder. I know. This has bothered me as well. >>> Has this been discussed previously? Would there be any other work aroun= d? >> >> I think there was one guy who had patch that would automatically download >> external images. Pretty neat. I don't know if it was applied in the en= d. > > I'd vote for this feature. In fact I believe it's now an option with > RMarkdown/HTML documents. Perhaps ox-ravel will be of interest to you then: https://github.com/chasberry/orgmode-accessories =E2=80=94Rasmus --=20 . . . It begins of course with The Internet. A Net of Peers