* can I fill-paragraph some org data from the command line?
@ 2014-03-12 12:25 Alan Schmitt
2014-03-12 15:11 ` Bastien
0 siblings, 1 reply; 4+ messages in thread
From: Alan Schmitt @ 2014-03-12 12:25 UTC (permalink / raw)
To: emacs-orgmode
Hello,
I'm playing with manipulating some data in org-mode format from the
command line (OK, I admit that I'm playing with acme).
I'm wondering if there is a tool, or a way to call emacs, to do the
following:
- get some data in org-mode format from stdin
- nicely format the text
- spit the result on stdout
I tried using "pandoc -t org" but the results are not satisfactory,
especially in the presence of lists inside lists. For instance, I would
like to convert:
#+begin_example
- This is a very long line. This is a very long line. This is a very long line. This is a very long line.
- This is a very long line. This is a very long line. This is a very long line. This is a very long line.
- This is a yet another very long line. This is a very long line. This is a very long line. This is a very long line.
#+end_example
into this
#+begin_example
- This is a very long line. This is a very long line. This is a very
long line. This is a very long line.
- This is a very long line. This is a very long line. This is a very
long line. This is a very long line.
- This is a yet another very long line. This is a very long line. This
is a very long line. This is a very long line.
#+end_example
Do you have tools or an approach using emacs (as a command line tool) to
suggest?
Thanks,
Alan
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: can I fill-paragraph some org data from the command line?
2014-03-12 12:25 can I fill-paragraph some org data from the command line? Alan Schmitt
@ 2014-03-12 15:11 ` Bastien
2014-03-12 15:44 ` Alan Schmitt
0 siblings, 1 reply; 4+ messages in thread
From: Bastien @ 2014-03-12 15:11 UTC (permalink / raw)
To: Alan Schmitt; +Cc: emacs-orgmode
Hi Alan,
Alan Schmitt <alan.schmitt@polytechnique.org> writes:
> Do you have tools or an approach using emacs (as a command line tool) to
> suggest?
I would call emacs in batch mode, applying some Elisp code to fill
each element. See `org-forward-element' and `org-fill-paragraph'.
HTH,
--
Bastien
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: can I fill-paragraph some org data from the command line?
2014-03-12 15:11 ` Bastien
@ 2014-03-12 15:44 ` Alan Schmitt
2014-03-12 16:11 ` Bastien
0 siblings, 1 reply; 4+ messages in thread
From: Alan Schmitt @ 2014-03-12 15:44 UTC (permalink / raw)
To: Bastien; +Cc: emacs-orgmode
Bastien <bzg@gnu.org> writes:
> Hi Alan,
>
> Alan Schmitt <alan.schmitt@polytechnique.org> writes:
>
>> Do you have tools or an approach using emacs (as a command line tool) to
>> suggest?
>
> I would call emacs in batch mode, applying some Elisp code to fill
> each element. See `org-forward-element' and `org-fill-paragraph'.
Thanks a lot for the suggestion, it works. I did not use
`org-forward-element' as it does not iterate on sub-items. I simply do
a `forward-line' to go done.
Here is the code, if it's helpful to others.
--8<---------------cut here---------------start------------->8---
#!/usr/local/bin/emacs --script
;;-*- mode: emacs-lisp;-*-
;; Found at http://superuser.com/a/487329/155265 from question
;; https://superuser.com/questions/31404/how-to-make-emacs-read-buffer-from-stdin-on-start
(require 'org)
(with-temp-buffer
(progn
; read the file in the temporary buffer
; do not add a \n at the end
(condition-case nil
(let ((line (read-from-minibuffer "")))
(insert line)
(while (setq line (read-from-minibuffer ""))
(insert "\n")
(insert line)))
(error nil))
; do what you want here
(goto-char (point-min))
(while (< (point) (point-max))
(org-fill-paragraph)
(forward-line))
(princ (buffer-string))))
--8<---------------cut here---------------end--------------->8---
Thanks again,
Alan
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2014-03-12 16:12 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-03-12 12:25 can I fill-paragraph some org data from the command line? Alan Schmitt
2014-03-12 15:11 ` Bastien
2014-03-12 15:44 ` Alan Schmitt
2014-03-12 16:11 ` Bastien
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).