Hi all, Is there a way to configure how text is exported in ascii? For example if I have a source block #+begin_src python Some code here with multiple lines #+end_src With `org-ascii-export-as-ascii` the above block gives: ,---- | Some code here | with multiple lines `---- I don't really like this as the '|' at the start of the lines make it annoying to copy and paste. Is there a way to configure the export to give something surrounded by backticks? ```python Some code here with multiple lines ``` I've had a look into the available `org-ascii-*` customise variables and I couldn't see anything which looked to give this functionality. Preferably I'd love a way if I could configure this locally and programatically, as in some contexts I might still want the "prettier" output of the default, but in other contexts I might want the more "practical" output of backticks. Side question: Perhaps what I am wanting can be achieved with markdown export, however it seems that the default markdown exporter exports code indented. This has the same problem of being frustrating to copy-paste. Is there a way to configure the md exporter to use fenced code blocks? Thanks, Tim Quelch
Tim Quelch writes:
> For example if I have a source block
>
> #+begin_src python
> Some code here
> with multiple lines
> #+end_src
>
> With `org-ascii-export-as-ascii` the above block gives:
>
> ,----
> | Some code here
> | with multiple lines
> `----
>
> I don't really like this as the '|' at the start of the lines make it
> annoying to copy and paste. Is there a way to configure the export to
> give something surrounded by backticks?
>
> ```python
> Some code here
> with multiple lines
> ```
>
> I've had a look into the available `org-ascii-*` customise variables and
> I couldn't see anything which looked to give this functionality.
I don't think ox-ascii has an option to control that, but you could get
the behavior you're after by creating a derived backend. In fact, the
section of the manual that covers derived backends provides an example
of extending the ox-ascii backend to tweak the rendering of the source
blocks.
(info "(org)Advanced Export Configuration")
You'd only need to modify that slightly, rewriting the
my-ascii-src-block function to do what you want. Something like
(defun my-ascii-src-block (src-block contents info)
(concat "```" (org-element-property :language src-block) "\n"
(org-element-normalize-string
(org-export-format-code-default src-block info))
"```"))
> I don't think ox-ascii has an option to control that, but you could get
> the behavior you're after by creating a derived backend. In fact, the
> section of the manual that covers derived backends provides an example
> of extending the ox-ascii backend to tweak the rendering of the source
> blocks.
Thank you that is exactly what I was looking for. I must have missed that
example when I was looking through the docs.
Thanks,
Tim Quelch