[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [O] ox-html: stand-alone export option?
From: |
Rasmus |
Subject: |
Re: [O] ox-html: stand-alone export option? |
Date: |
Fri, 20 Feb 2015 11:32:03 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) |
Melanie Bacou <address@hidden> 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 away...
>
> 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 around?
>>
>> 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 end.
>
> 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
—Rasmus
--
. . . It begins of course with The Internet. A Net of Peers