* New Exporter: plain list depth
@ 2013-04-21 21:19 Yasushi SHOJI
2013-04-21 22:10 ` Nicolas Goaziou
0 siblings, 1 reply; 3+ messages in thread
From: Yasushi SHOJI @ 2013-04-21 21:19 UTC (permalink / raw)
To: emacs-orgmode
Hi,
What is the best way to know the depth of list entries when I writing
an exporter back-end?
let's say I have:
#+BEGIN_SRC org
* headline 1
- list 1
- list 2
- list 2.1
#+END_SRC
I'd like to convert it to:
#+BEGIN_EXAMPLE
* headline 1
- list 1
- list 2
-- list 2.1
#+END_EXAMPLE
To generate "--" at the list 2.1, I'd like to find out the list 2.1 is
at depth 2, so that I can use (make-string 2 ?-) for my bullet.
What I came up with instead was to
1) mark each item in item handler with "-"
2) add a "-" in each plain-list handler
3) remove one "-" from all list entries at final-function
it works, but it doesn't look good to me (tm).
I've checked a few exporters, including ox-html and ox-md but couldn't
find a function like org-export-get-relative-level for headline. Does
org-list-to-generic work in this situation?
Thanks,
--
yashi
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: New Exporter: plain list depth
2013-04-21 21:19 New Exporter: plain list depth Yasushi SHOJI
@ 2013-04-21 22:10 ` Nicolas Goaziou
2013-04-23 12:25 ` Yasushi SHOJI
0 siblings, 1 reply; 3+ messages in thread
From: Nicolas Goaziou @ 2013-04-21 22:10 UTC (permalink / raw)
To: Yasushi SHOJI; +Cc: emacs-orgmode
Hello,
Yasushi SHOJI <yashi@atmark-techno.com> writes:
> What is the best way to know the depth of list entries when I writing
> an exporter back-end?
>
> let's say I have:
>
> #+BEGIN_SRC org
> * headline 1
> - list 1
> - list 2
> - list 2.1
> #+END_SRC
>
> I'd like to convert it to:
>
> #+BEGIN_EXAMPLE
> * headline 1
> - list 1
> - list 2
> -- list 2.1
> #+END_EXAMPLE
>
>
> To generate "--" at the list 2.1, I'd like to find out the list 2.1 is
> at depth 2, so that I can use (make-string 2 ?-) for my bullet.
Something like the following should work, assuming ITEM is the item
element you have to transcode:
#+begin_src emacs-lisp
(let ((parent item) (depth 0))
(while (and (setq parent (org-export-get-parent parent))
(case (org-element-type parent)
(item t)
(plain-list (incf depth)))))
depth)
#+end_src
> Does org-list-to-generic work in this situation?
As a good rule of thumb, it's best to rely on tools provided in ox.el.
Regards,
--
Nicolas Goaziou
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: New Exporter: plain list depth
2013-04-21 22:10 ` Nicolas Goaziou
@ 2013-04-23 12:25 ` Yasushi SHOJI
0 siblings, 0 replies; 3+ messages in thread
From: Yasushi SHOJI @ 2013-04-23 12:25 UTC (permalink / raw)
To: emacs-orgmode
Hi,
At Mon, 22 Apr 2013 00:10:25 +0200,
Nicolas Goaziou wrote:
>
> Yasushi SHOJI <yashi@atmark-techno.com> writes:
>
> > To generate "--" at the list 2.1, I'd like to find out the list 2.1 is
> > at depth 2, so that I can use (make-string 2 ?-) for my bullet.
>
> Something like the following should work, assuming ITEM is the item
> element you have to transcode:
>
> #+begin_src emacs-lisp
> (let ((parent item) (depth 0))
> (while (and (setq parent (org-export-get-parent parent))
> (case (org-element-type parent)
> (item t)
> (plain-list (incf depth)))))
> depth)
> #+end_src
Thanks! will try based on your advice.
> > Does org-list-to-generic work in this situation?
>
> As a good rule of thumb, it's best to rely on tools provided in ox.el.
ok.
regards,
--
yashi
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2013-04-23 12:26 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-04-21 21:19 New Exporter: plain list depth Yasushi SHOJI
2013-04-21 22:10 ` Nicolas Goaziou
2013-04-23 12:25 ` Yasushi SHOJI
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).