From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Jean Louis Newsgroups: gmane.emacs.help Subject: Re: Org to Markdown programmatically Date: Tue, 4 May 2021 20:29:36 +0300 Message-ID: References: <87a6paj2e2.fsf@zoho.eu> <87bl9q95e3.fsf@yandex.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="24852"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mutt/2.0.6 (2021-03-06) Cc: help-gnu-emacs@gnu.org To: Colin Baxter Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Tue May 04 19:34:15 2021 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1ldyw3-0006K6-5n for geh-help-gnu-emacs@m.gmane-mx.org; Tue, 04 May 2021 19:34:15 +0200 Original-Received: from localhost ([::1]:32916 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ldyw2-0007KV-1P for geh-help-gnu-emacs@m.gmane-mx.org; Tue, 04 May 2021 13:34:14 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:50168) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ldyvi-0007KN-JQ for help-gnu-emacs@gnu.org; Tue, 04 May 2021 13:33:54 -0400 Original-Received: from stw1.rcdrun.com ([217.170.207.13]:40597) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ldyvg-0002BO-A1 for help-gnu-emacs@gnu.org; Tue, 04 May 2021 13:33:54 -0400 Original-Received: from localhost ([::ffff:154.229.60.206]) (AUTH: PLAIN securesender, TLS: TLS1.3,256bits,ECDHE_RSA_AES_256_GCM_SHA384) by stw1.rcdrun.com with ESMTPSA id 0000000000046166.000000006091857C.00007EA9; Tue, 04 May 2021 10:33:47 -0700 Mail-Followup-To: Colin Baxter , help-gnu-emacs@gnu.org Content-Disposition: inline In-Reply-To: <87bl9q95e3.fsf@yandex.com> Received-SPF: pass client-ip=217.170.207.13; envelope-from=bugs@gnu.support; helo=stw1.rcdrun.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.io gmane.emacs.help:129433 Archived-At: * Colin Baxter [2021-05-04 13:24]: > >>>>> Emanuel Berg via Users list for the GNU Emacs text editor writes: > > > Jean Louis wrote: > >> As I am editing database strings, not files, I have to export > >> programmatically Org blobs into HTML. > > > See if pandoc can do this... > > It can: > > pandoc -o file.md file.org It can, though in the context of Emacs the native Org converted to Markdown markup with library ox-md and then processed with external Discount Markdown is still faster than processing it alone with external Pandoc to Markdown only. Pandoc cannot handle all features of Org mode, it is let us say, good to do that for other editors, it means every editor could use Org style to convert it for example to HTML od EPUB, without Emacs. https://pandoc.org/org.html I find however that Pandoc is great tool for conversions of various formats including processing and generation of HTML. One really serious issue with Pandoc is that it is huge software considering how many dependencies it has, including Haskell compiler. I wonder if it is reproducible, as in 2016, it was not possible to find C sources for it. Only Haskell that has to be compiled with Haskell, older versions were somehow lost at the time. Maybe something changed today. (benchmark 100 (let ((pages (rcd-sql-list "SELECT pages_id FROM pages WHERE pages_pagetype = 11" cf-db))) (while pages (let* ((id (pop pages)) (body (rcd-sql-first (format "SELECT pages_content FROM pages WHERE pages_id = %s" id) cf-db))) (setq text (rcd-pandoc-org-markdown body)))))) Elapsed time: 0.000016s Processing Org pages with native Emacs appears much faster. (benchmark 100 (let ((pages (rcd-sql-list "SELECT pages_id FROM pages WHERE pages_pagetype = 11" cf-db))) (while pages (let* ((id (pop pages)) (body (rcd-sql-first (format "SELECT pages_content FROM pages WHERE pages_id = %s" id) cf-db))) (setq text (rcd-org-to-markdown-to-html body)))))) Elapsed time: 0.000007s -- Jean Take action in Free Software Foundation campaigns: https://www.fsf.org/campaigns Sign an open letter in support of Richard M. Stallman https://stallmansupport.org/ https://rms-support-letter.github.io/