> On May 5, 2020, at 1:46 AM, Ihor Radchenko <yanta...@gmail.com> wrote: > >> I am assuming though, from the lack of answers back, that there appears to >> be no way to have org-mode grok markdown code blocks (triple backticks) >> when it parses as a substitute for `#+BEGIN_SRC` ? > > #+BEGIN_SRC is a part of org syntax, "```" is not. > You will need to modify the org-mode internals to do change it. > Depending on implementation details of org-mode, changing > org-block-regexp and all the occurrences of "BEGIN_SRC" and "END_SRC" in > org mode sources might achieve what you want, but there is no guarantee > that it will not be broken in future versions of org. >
True. However, if your interest is only in exporting a document with such markup, there is `org-export-before-processing-hook'. I haven't tried this but if you want to execute such src blocks, maybe polymode would work. HTH, Chuck > Best, > Ihor > > > Daryl Manning <dwm+orgm...@wakatara.com> writes: > >> This looks great (your elisp-fu is impressive) and definitely fulfills >> making it look markdown-ish. Thanks! Will plug it in tonight and take it >> for a pain. >> >> I am assuming though, from the lack of answers back, that there appears to >> be no way to have org-mode grok markdown code blocks (triple backticks) >> when it parses as a substitute for `#+BEGIN_SRC` ? >> >> Daryl. >> >> >> On Mon, May 4, 2020 at 3:37 PM Diego Zamboni <di...@zzamboni.org> wrote: >> >>> Ihor, >>> >>> Awesome, thanks for the tip. Using your code, the following config (inside >>> the code from https://pank.eu/blog/pretty-babel-src-blocks.html) produces >>> a display with the backticks instead of begin/end_src: >>> >>> (defun yant/str-to-glyph (str) >>> "Transform string into glyph, displayed correctly." >>> (let ((composition nil)) >>> (dolist (char (string-to-list str) >>> (nreverse (cdr composition))) >>> (push char composition) >>> (push '(Br . Bl) composition)))) >>> >>> (defun rasmus/org-prettify-symbols () >>> (mapc (apply-partially 'add-to-list 'prettify-symbols-alist) >>> (cl-reduce 'append >>> (mapcar (lambda (x) (list x (cons (upcase (car >>> x)) (cdr x)))) >>> `(("#+begin_src" . ,(yant/str-to-glyph >>> "```")) ;; โก โค ๐ โ โค โ >>> ("#+end_src" . ,(yant/str-to-glyph >>> "```")) ;; โฃ โ >>> ("#+header:" . ,rasmus/ob-header-symbol) >>> ("#+begin_quote" . ?ยซ) >>> ("#+end_quote" . ?ยป))))) >>> (turn-on-prettify-symbols-mode) >>> (add-hook 'post-command-hook 'rasmus/org-prettify-src t t)) >>> >>> It looks like this in my config (the bars hide the header arguments): >>> >>> [image: image.png] >>> >>> --Diego >>> >>> >>> On Mon, May 4, 2020 at 6:19 AM Ihor Radchenko <yanta...@gmail.com> wrote: >>> >>>>> I did a quick test, and it seems >>>>> that =prettify-symbols-alist= (which is what this code uses) can only >>>>> replace for a single character, so I was not able to make it display >>>>> the three backticks, but there might be other techniques that can be >>>>> used. >>>> >>>> Yes, there is another technique. >>>> See part of my config below: >>>> >>>> >>>> (defun yant/str-to-glyph (str) >>>> "Transform string into glyph, displayed correctly." >>>> (let ((composition nil)) >>>> (dolist (char (string-to-list str) >>>> (nreverse (cdr composition))) >>>> (push char composition) >>>> (push '(Br . Bl) composition)))) >>>> >>>> (append pretty-symbol-patterns >>>> `(((yant/str-to-glyph " ") org-specific ,(format >>>> "^\\(\\*\\{%d,%d\\}\\)\\*[^*]" (1- org-inlinetask-min-level) (1- >>>> org-inlinetask-max-level)) (org-mode) 1) >>>> ((yant/str-to-glyph "โโโ") org-specific ,(format >>>> "^\\(\\*\\{%d,%d\\}\\)\\(\\*\\)[^*]" (1- org-inlinetask-min-level) (1- >>>> org-inlinetask-max-level)) (org-mode) 2) >>>> (?โญ org-specific "^[ ]*#[+]NAME" (org-mode)) >>>> (?โญ org-specific "^[ ]*#[+]name" (org-mode)) >>>> (?โ org-specific "[ ]*#[+]begin_src" (org-mode)) >>>> (?โ org-specific "[ ]*#[+]BEGIN_SRC" (org-mode)) >>>> (?โฐ org-specific "[ ]*#[+]end_src" (org-mode)) >>>> (?โฐ org-specific "[ ]*#[+]END_SRC" (org-mode)) >>>> ((yant/str-to-glyph "๐๐๐") org-specific ":\\(ATTACH\\):" >>>> (org-mode) 1) >>>> ((yant/str-to-glyph "โ D") org-specific "\\<DEADLINE:" >>>> (org-mode)) >>>> ((yant/str-to-glyph "โดS") org-specific "\\<SCHEDULED:" >>>> (org-mode)))) >>>> >>>> Diego Zamboni <di...@zzamboni.org> writes: >>>> >>>>> Hi Daryl, >>>>> >>>>> If it's for display purposes only, you might be able to simply use >>>>> display substitutions for things to appear the way you want. For >>>>> example, I use the technique described here: >>>>> https://pank.eu/blog/pretty-babel-src-blocks.html to replace the >>>>> begin/end_src strings with symbols. I did a quick test, and it seems >>>>> that =prettify-symbols-alist= (which is what this code uses) can only >>>>> replace for a single character, so I was not able to make it display >>>>> the three backticks, but there might be other techniques that can be >>>>> used. >>>>> >>>>> --Diego >>>>> >>>>> On Sun, May 3, 2020 at 6:24 PM Daryl Manning <dwm+orgm...@wakatara.com> >>>> wrote: >>>>>> >>>>>> While using C-c C-, is easy enough for insertion and such, I was >>>> wondering if there was any way of having org-mode honour markdown >>>> conventions for things like code fences and quotes. >>>>>> >>>>>> ``` elisp >>>>>> #+begin_src >>>>>> #+end_src >>>>>> >>>>>> #+begin_quote >>>>>> #+end_quote >>>>>> ``` >>>>>> >>>>>> being a bit nicer to read with >>>>>> >>>>>> ``` go >>>>>> code block >>>>>> ``` >>>>>> as well as >>>>>> >>>>>>> And gentlemen in England now-a-bed. >>>>>>> Shall think themselves accurs'd they were not here, >>>>>>> And hold their manhoods cheap whiles any speaks. >>>>>>> That fought with us upon Saint Crispin's day. >>>>>> >>>>>> Just curious as to whether that's possible. YMMV before you start >>>> debating on whether you think this is a good idea or not... =] >>>>>> >>>>>> Of course, I'd want the code highlighting especially to work that way, >>>> though... =] Less concerned with whether it works in export modes for the >>>> moment, more about display atm. >>>>>> >>>>>> thanks! >>>>>> Daryl. >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>> >>>> >>>> -- >>>> Ihor Radchenko, >>>> PhD, >>>> Center for Advancing Materials Performance from the Nanoscale (CAMP-nano) >>>> State Key Laboratory for Mechanical Behavior of Materials, Xi'an Jiaotong >>>> University, Xi'an, China >>>> Email: yanta...@gmail.com, ihor_radche...@alumni.sutd.edu.sg >>>> >>> > > -- > Ihor Radchenko, > PhD, > Center for Advancing Materials Performance from the Nanoscale (CAMP-nano) > State Key Laboratory for Mechanical Behavior of Materials, Xi'an Jiaotong > University, Xi'an, China > Email: yanta...@gmail.com, ihor_radche...@alumni.sutd.edu.sg > >