From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Price Subject: Re: [PATCH] allow klipse export in html Date: Thu, 15 Dec 2016 09:56:18 -0500 Message-ID: References: <8737hp71mt.fsf@nicolasgoaziou.fr> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=001a1144d1c2f1c7450543b3a711 Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:35412) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cHXTH-0002bm-NV for emacs-orgmode@gnu.org; Thu, 15 Dec 2016 09:57:25 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cHXTE-0001pq-JI for emacs-orgmode@gnu.org; Thu, 15 Dec 2016 09:57:23 -0500 Received: from mail-it0-f41.google.com ([209.85.214.41]:35794) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cHXTE-0001pg-C7 for emacs-orgmode@gnu.org; Thu, 15 Dec 2016 09:57:20 -0500 Received: by mail-it0-f41.google.com with SMTP id c20so27490111itb.0 for ; Thu, 15 Dec 2016 06:57:20 -0800 (PST) In-Reply-To: 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" To: Matt Price , Rasmus , Bastien Guerry , Yehonathan Sharvit , Org Mode --001a1144d1c2f1c7450543b3a711 Content-Type: multipart/alternative; boundary=001a1144d1c2f1c7400543b3a70f --001a1144d1c2f1c7400543b3a70f Content-Type: text/plain; charset=UTF-8 (actually attaching the patch) (seemed silly to have a whole bunch of tiny patches but can resubmit as a series if that's preferred). On Thu, Dec 15, 2016 at 9:42 AM, Matt Price wrote: > > > On Thu, Dec 15, 2016 at 8:39 AM, Nicolas Goaziou > wrote: > >> Hello, >> >> Matt Price writes: >> >> > I'm such a slow coder that this is all I got to in my free moments >> > today:patch for defcustoms that inserts the necessary code into a src >> > block. further refinements necessary before it works properly; severla >> > more would be useful for hte improvements that Bastien suggests. >> >> Thank you. Some comments follow. >> >> > +(defcustom org-html-klipsify-src nil >> > + "Set to non-nil if you would like to make source code blocks >> editable in exported presentation." >> >> When non-nil, source code blocks are editable in exported presentation. >> >> > + :group 'org-export-html >> > + :type 'boolean) >> >> :version :package-version keywords are missing. >> >> > +(defcustom org-html-klipse-css "https://storage.googleapis.co >> m/app.klipse.tech/css/codemirror.css" >> > + "Location of the codemirror css file for use with klipse." >> >> css -> CSS >> >> > + :group 'org-export-html >> > + :type 'string) >> >> See above. >> >> > +(defcustom org-html-klipse-js "https://storage.googleapis.co >> m/app.klipse.tech/plugin_prod/js/klipse_plugin.min.js" >> > + "location of the klipse js source code." >> >> Location of the klipse javascript source code. >> >> > + :group 'org-export-html >> > + :type 'string) >> >> See above. >> >> > +(defcustom org-html-klipse-selection-script >> > + "window.klipse_settings = {selector_eval_html: '.src-html', >> > + selector_eval_js: '.src-js', >> > + selector_eval_python_client: >> '.src-python', >> > + selector_eval_scheme: '.src-scheme', >> > + selector: '.src-clojure', >> > + selector_eval_ruby: '.src-ruby'};" >> > + "javascript snippet to activate klipse" >> >> Javascript snippet to activate klipse. >> >> > + :group 'org-export-html >> > + :type 'string) >> >> See above. >> >> > + ;; klipse library for live code blocks, if requested >> > + (if org-html-klipsify-src >> >> You shouldn't use `org-html-klipsify-src' directly in the code, but >> instead "register" it in the back-end and call >> >> (plist-get info :html-klipsify-src) >> >> See other defcustoms. >> > > The new, attached patch hopefully addresses the above concerns. S > >> >> The new property also needs to be documented in "org.texi", in >> Publishing directory. >> > > I took a look at org.texi but my understanding of texi syntax is very poor > and I don't think I have time to learn today. Bastien, would you be willing > to take that on? Also, if you have thoughts on customizing the selection > script I'd welcome them. > > Yehonathan: can klipse_settings[selector] take multiple css classes, in > case we need to be able to accommodate customizing it? > > >> >> Regards, >> >> -- >> Nicolas Goaziou >> > > --001a1144d1c2f1c7400543b3a70f Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
(actually attaching the patch)
(seemed silly= to have a whole bunch of tiny patches but can resubmit as a series if that= 's preferred).

On Thu, Dec 15, 2016 at 9:42 AM, Matt Price &l= t;moptop99@gmail.co= m> wrote:
=

On Thu, Dec 15, 2016 at 8:39 AM, Nicolas Goaziou <mail@nico= lasgoaziou.fr> wrote:
Hello= ,

Matt Price <mopt= op99@gmail.com> writes:

> I'm such a slow coder that this is all I got to in my free moments=
> today:patch for defcustoms that inserts the necessary code into a src<= br> > block.=C2=A0 further refinements necessary before it works properly; s= everla
> more would be useful for hte improvements that Bastien suggests.

Thank you. Some comments follow.

> +(defcustom org-html-klipsify-src nil
> +=C2=A0 "Set to non-nil if you would like to make source code blo= cks editable in exported presentation."

When non-nil, source code blocks are editable in exported presentation.

> +=C2=A0 :group 'org-export-html
> +=C2=A0 :type 'boolean)

:version :package-version keywords are missing.

> +(defcustom org-html-klipse-css "https://storage.googleapis.com/app.klipse.tech/css/codemirror.css"
> +=C2=A0 "Location of the codemirror css file for use with klipse.= "

css -> CSS

> +=C2=A0 :group 'org-export-html
> +=C2=A0 :type 'string)

See above.

> +(defcustom org-html-klipse-js "https://storage.googleapis.com/app.klipse.tech= /plugin_prod/js/klipse_plugin.min.js"
> +=C2=A0 "location of the klipse js source code."

Location of the klipse javascript source code.

> +=C2=A0 :group 'org-export-html
> +=C2=A0 :type 'string)

See above.

> +(defcustom org-html-klipse-selection-script
> +=C2=A0 "window.klipse_settings =3D {selector_eval_html: '.sr= c-html',
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0selector_eval_js: '.src-js',
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0selector_eval_python_client: '.src-p= ython',
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0selector_eval_scheme: '.src-scheme&#= 39;,
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0selector: '.src-clojure',
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0selector_eval_ruby: '.src-ruby'}= ;"
> +=C2=A0 "javascript snippet to activate klipse"

Javascript snippet to activate klipse.

> +=C2=A0 :group 'org-export-html
> +=C2=A0 :type 'string)

See above.

> +=C2=A0 =C2=A0;; klipse library for live code blocks, if requested
> +=C2=A0 =C2=A0(if org-html-klipsify-src

You shouldn't use `org-html-klipsify-src' directly in the code, but=
instead "register" it in the back-end and call

=C2=A0 (plist-get info :html-klipsify-src)

See other defcustoms.

The n= ew, attached patch hopefully addresses the above concerns. S

The new property also needs to be documented in "org.texi", in Publishing directory.

I took a l= ook at org.texi but my understanding of texi syntax is very poor and I don&= #39;t think I have time to learn today. Bastien, would you be willing to ta= ke that on? Also, if you have thoughts on customizing the selection script = I'd welcome them.

Yehonathan: can klipse_settings[sel= ector] take multiple css classes, in case we need to be able to accommodate= customizing it?
=C2=A0

Regards,

--
Nicolas Goaziou


--001a1144d1c2f1c7400543b3a70f-- --001a1144d1c2f1c7450543b3a711 Content-Type: text/x-patch; charset=US-ASCII; name="0001-Conform-to-Org-coding-standards-and-add-backwards-co.patch" Content-Disposition: attachment; filename="0001-Conform-to-Org-coding-standards-and-add-backwards-co.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_iwqhn89m0 RnJvbSAzMzNmMmQwMjA1OGE4YzY0MTIwODczNzExOTVjYTBkZTlhODM3N2NiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXR0IFByaWNlIDxtYXR0LnByaWNlQHV0b3JvbnRvLmNhPgpE YXRlOiBUaHUsIDE1IERlYyAyMDE2IDA5OjI0OjI3IC0wNTAwClN1YmplY3Q6IFtQQVRDSF0gQ29u Zm9ybSB0byBPcmcgY29kaW5nIHN0YW5kYXJkcywgYW5kIGFkZCBiYWNrd2FyZHMKIGNvbXBhdGli aWxpdHkKClVzZSBuZXcgZGVmY3VzdG9tcyBhcHByb3ByaWF0ZWx5LCBhZGQgcGFja2FnZS12ZXJz aW9uIGluZm9ybWF0aW9uLCBhbmQKcGVybWl0IHVzZXJzIHRvIHByZWZlciBvbGQgPHByZT48L3By ZT4gc3ludGF4IGluc3RlYWQgb2YgbmV3CjxwcmU+PGNvZGU+PC9jb2RlPjwvcHJlPi4KLS0tCiBs aXNwL294LWh0bWwuZWwgfCAzNSArKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLQog MSBmaWxlIGNoYW5nZWQsIDI2IGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvbGlzcC9veC1odG1sLmVsIGIvbGlzcC9veC1odG1sLmVsCmluZGV4IGE5YzhiNWQuLjVk MmU0YzMgMTAwNjQ0Ci0tLSBhL2xpc3Avb3gtaHRtbC5lbAorKysgYi9saXNwL294LWh0bWwuZWwK QEAgLTE3MCw2ICsxNzAsMTEgQEAKICAgICAoOmh0bWwtdGFibGUtcm93LW9wZW4tdGFnIG5pbCBu aWwgb3JnLWh0bWwtdGFibGUtcm93LW9wZW4tdGFnKQogICAgICg6aHRtbC10YWJsZS1yb3ctY2xv c2UtdGFnIG5pbCBuaWwgb3JnLWh0bWwtdGFibGUtcm93LWNsb3NlLXRhZykKICAgICAoOmh0bWwt eG1sLWRlY2xhcmF0aW9uIG5pbCBuaWwgb3JnLWh0bWwteG1sLWRlY2xhcmF0aW9uKQorICAgICg6 aHRtbC1rbGlwc2lmeS1zcmMgbmlsIG5pbCBvcmctaHRtbC1rbGlwc2lmeS1zcmMpCisgICAgKDpo dG1sLWtsaXBzZS1jc3MgbmlsIG5pbCBvcmctaHRtbC1rbGlwc2UtY3NzKQorICAgICg6aHRtbC1r bGlwc2UtanMgbmlsIG5pbCBvcmctaHRtbC1rbGlwc2UtanMpCisgICAgKDpodG1sLWtsaXBzZS1r ZWVwLW9sZC1zcmMgbmlsIG5pbCBvcmctaHRtbC1rZWVwLW9sZC1zcmMpCisgICAgKDpodG1sLWts aXBzZS1zZWxlY3Rpb24tc2NyaXB0IG5pbCBuaWwgb3JnLWh0bWwta2xpcHNlLXNlbGVjdGlvbi1z Y3JpcHQpCiAgICAgKDppbmZvanMtb3B0ICJJTkZPSlNfT1BUIiBuaWwgbmlsKQogICAgIDs7IFJl ZGVmaW5lIHJlZ3VsYXIgb3B0aW9ucy4KICAgICAoOmNyZWF0b3IgIkNSRUFUT1IiIG5pbCBvcmct aHRtbC1jcmVhdG9yLXN0cmluZykKQEAgLTE1NDksMTggKzE1NTQsMjEgQEAgQ1NTIGNsYXNzZXMs IHRoZW4gdGhpcyBwcmVmaXggY2FuIGJlIHZlcnkgdXNlZnVsLiIKICAgOnR5cGUgJ3N0cmluZykK IAogKGRlZmN1c3RvbSBvcmctaHRtbC1rbGlwc2lmeS1zcmMgbmlsCi0gICJTZXQgdG8gbm9uLW5p bCBpZiB5b3Ugd291bGQgbGlrZSB0byBtYWtlIHNvdXJjZSBjb2RlIGJsb2NrcyBlZGl0YWJsZSBp biBleHBvcnRlZCBwcmVzZW50YXRpb24uIgorICAiV2hlbiBub24tbmlsLCBzb3VyY2UgY29kZSBi bG9ja3MgYXJlIGVkaXRhYmxlIGluIGV4cG9ydGVkIHByZXNlbnRhdGlvbi4iCiAgIDpncm91cCAn b3JnLWV4cG9ydC1odG1sCisgIDpwYWNrYWdlLXZlcnNpb24gJyhPcmcgLiAiOS4xIikKICAgOnR5 cGUgJ2Jvb2xlYW4pCiAKIChkZWZjdXN0b20gb3JnLWh0bWwta2xpcHNlLWNzcyAiaHR0cHM6Ly9z dG9yYWdlLmdvb2dsZWFwaXMuY29tL2FwcC5rbGlwc2UudGVjaC9jc3MvY29kZW1pcnJvci5jc3Mi Ci0gICJMb2NhdGlvbiBvZiB0aGUgY29kZW1pcnJvciBjc3MgZmlsZSBmb3IgdXNlIHdpdGgga2xp cHNlLiIKKyAgIkxvY2F0aW9uIG9mIHRoZSBjb2RlbWlycm9yIENTUyBmaWxlIGZvciB1c2Ugd2l0 aCBrbGlwc2UuIgogICA6Z3JvdXAgJ29yZy1leHBvcnQtaHRtbAorICA6cGFja2FnZS12ZXJzaW9u ICcoT3JnIC4gIjkuMSIpCiAgIDp0eXBlICdzdHJpbmcpCiAKIChkZWZjdXN0b20gb3JnLWh0bWwt a2xpcHNlLWpzICJodHRwczovL3N0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vYXBwLmtsaXBzZS50ZWNo L3BsdWdpbl9wcm9kL2pzL2tsaXBzZV9wbHVnaW4ubWluLmpzIgotICAibG9jYXRpb24gb2YgdGhl IGtsaXBzZSBqcyBzb3VyY2UgY29kZS4iCisgICJMb2NhdGlvbiBvZiB0aGUga2xpcHNlIGpzIHNv dXJjZSBjb2RlLiIKICAgOmdyb3VwICdvcmctZXhwb3J0LWh0bWwKKyAgOnBhY2thZ2UtdmVyc2lv biAnKE9yZyAuICI5LjEiKQogICA6dHlwZSAnc3RyaW5nKQogCiAoZGVmY3VzdG9tIG9yZy1odG1s LWtsaXBzZS1zZWxlY3Rpb24tc2NyaXB0CkBAIC0xNTcwLDEwICsxNTc4LDE3IEBAIENTUyBjbGFz c2VzLCB0aGVuIHRoaXMgcHJlZml4IGNhbiBiZSB2ZXJ5IHVzZWZ1bC4iCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHNlbGVjdG9yX2V2YWxfc2NoZW1lOiAnLnNyYy1zY2hlbWUnLAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RvcjogJy5zcmMtY2xvanVyZScsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdG9yX2V2YWxfcnVieTogJy5zcmMtcnVieSd9 OyIKLSAgImphdmFzY3JpcHQgc25pcHBldCB0byBhY3RpdmF0ZSBrbGlwc2UiCisgICJKQXZhc2Ny aXB0IHNuaXBwZXQgdG8gYWN0aXZhdGUga2xpcHNlIgogICA6Z3JvdXAgJ29yZy1leHBvcnQtaHRt bAorICA6cGFja2FnZS12ZXJzaW9uICcoT3JnIC4gIjkuMSIpCiAgIDp0eXBlICdzdHJpbmcpCiAK KyhkZWZjdXN0b20gb3JnLWh0bWwta2VlcC1vbGQtc3JjIG5pbAorICAiV2hlbiBub24tbmlsLCBw cmVzZXJ2ZSBvbGQgPHByZSBjbGFzcz1cIlwiIHN5bnRheCBpbiBmYXZvdXIgb2YgdGhlIG5ldywg Cittb3JlIHdpZGVseSB1c2VkIDxwcmU+PGNvZGUgY2xhc3M9XCJcIiBzeW5hdGF4LiAiCisgIDpn cm91cCAnb3JnLWV4cG9ydC1odG1sCisgIDpwYWNrYWdlLXZlcnNpb24gJyhPcmcgLiAiOS4xIikK KyAgOnR5cGUgJ2Jvb2xlYW4pCiAKIDs7OyBJbnRlcm5hbCBGdW5jdGlvbnMKIApAQCAtMjA2OCw4 ICsyMDgzLDggQEAgaG9sZGluZyBleHBvcnQgb3B0aW9ucy4iCiAgICA7OyBQb3N0YW1ibGUuCiAg ICAob3JnLWh0bWwtLWJ1aWxkLXByZS9wb3N0YW1ibGUgJ3Bvc3RhbWJsZSBpbmZvKQogICAgOzsg a2xpcHNlIGxpYnJhcnkgZm9yIGxpdmUgY29kZSBibG9ja3MsIGlmIHJlcXVlc3RlZAotICAgKGlm IG9yZy1odG1sLWtsaXBzaWZ5LXNyYwotICAgICAgIChjb25jYXQgIjxzY3JpcHQ+Im9yZy1odG1s LWtsaXBzZS1zZWxlY3Rpb24tc2NyaXB0ICI8L3NjcmlwdD4KKyAgIChpZiAocGxpc3QtZ2V0IGlu Zm8gOmh0bWwta2xpcHNpZnktc3JjKQorICAgICAgIChjb25jYXQgIjxzY3JpcHQ+IiAocGxpc3Qt Z2V0IGluZm8gOmh0bWwta2xpcHNlLXNlbGVjdGlvbi1zY3JpcHQpICAiPC9zY3JpcHQ+CiA8c2Ny aXB0IHNyYz1cIiIgb3JnLWh0bWwta2xpcHNlLWpzICJcIj48L3NjcmlwdD4KIDxsaW5rIHJlbD1c InN0eWxlc2hlZXRcIiB0eXBlPVwidGV4dC9jc3NcIiBocmVmPVwiIiBvcmctaHRtbC1rbGlwc2Ut Y3NzICJcIi8+IikpCiAgICA7OyBDbG9zaW5nIGRvY3VtZW50LgpAQCAtMzM1MCw3ICszMzY1LDcg QEAgY29udGV4dHVhbCBpbmZvcm1hdGlvbi4iCiAJICAobGFiZWwgKGxldCAoKGxibCAoYW5kIChv cmctZWxlbWVudC1wcm9wZXJ0eSA6bmFtZSBzcmMtYmxvY2spCiAJCQkJIChvcmctZXhwb3J0LWdl dC1yZWZlcmVuY2Ugc3JjLWJsb2NrIGluZm8pKSkpCiAJCSAgIChpZiBsYmwgKGZvcm1hdCAiIGlk PVwiJXNcIiIgbGJsKSAiIikpKQotCSAgKGtsaXBzaWZ5ICAoYW5kICBvcmctcmV2ZWFsLWtsaXBz aWZ5LXNyYworCSAgKGtsaXBzaWZ5ICAoYW5kICAocGxpc3QtZ2V0IGluZm8gOmh0bWwta2xpcHNp Znktc3JjKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1lbWJlciBsYW5nICcoImphdmFz Y3JpcHQiICJqcyIgInJ1YnkiICJzY2hlbWUiICJjbG9qdXJlIiAicGhwIiAiaHRtbCIpKSkpKQog ICAgICAgKGlmIChub3QgbGFuZykgKGZvcm1hdCAiPHByZSBjbGFzcz1cImV4YW1wbGVcIiVzPlxu JXM8L3ByZT4iIGxhYmVsIGNvZGUpCiAJKGZvcm1hdCAiPGRpdiBjbGFzcz1cIm9yZy1zcmMtY29u dGFpbmVyXCI+XG4lcyVzXG48L2Rpdj4iCkBAIC0zMzY4LDggKzMzODMsMTAgQEAgY29udGV4dHVh bCBpbmZvcm1hdGlvbi4iCiAJCQkgICAgICBsaXN0aW5nLW51bWJlcgogCQkJICAgICAgKG9yZy10 cmltIChvcmctZXhwb3J0LWRhdGEgY2FwdGlvbiBpbmZvKSkpKSkpCiAJCTs7IENvbnRlbnRzLgot CQkoZm9ybWF0ICI8cHJlIGNsYXNzPVwic3JjIHNyYy0lc1wiJXMlcz4lczwvcHJlPiIKLQkJCWxh bmcgbGFiZWwgKGlmIChhbmQga2xpcHNpZnkgKHN0cmluZz0gbGFuZyAiaHRtbCIpKSIgZGF0YS1l ZGl0b3ItdHlwZT1cImh0bWxcIiIgIiIpIGNvZGUpKSkpKSkKKwkJKGxldCAoKG9wZW4gKGlmIG9y Zy1odG1sLWtlZXAtb2xkLXNyYyAiPHByZSIgIjxwcmU+PGNvZGUiKSkKKwkJICAgICAgKGNsb3Nl IChpZiBvcmctaHRtbC1rZWVwLW9sZC1zcmMgIjwvcHJlPiIgIjwvY29kZT48L3ByZT4iKSkpCisJ CSAgKGZvcm1hdCAiJXMgY2xhc3M9XCJzcmMgc3JjLSVzXCIlcyVzPiVzJXMiCisJCQkgIG9wZW4g bGFuZyBsYWJlbCAoaWYgKGFuZCBrbGlwc2lmeSAoc3RyaW5nPSBsYW5nICJodG1sIikpIiBkYXRh LWVkaXRvci10eXBlPVwiaHRtbFwiIiAiIikgY29kZSBjbG9zZSkpKSkpKSkKIAogOzs7OyBTdGF0 aXN0aWNzIENvb2tpZQogCi0tIAoyLjEwLjIKCg== --001a1144d1c2f1c7450543b3a711--