Skip to content

Nested formatting #15

@thomasheartman

Description

@thomasheartman

This is mentioned in #14, but here's a clearer description of the issue.

It seems that when dealing with org constructs that have multiple levels of formatting, context, or other syntactic value, Orga fails to correctly apply the lower levels. This is based on what Pandoc renders, but I expect the standard Org html export would behave the same way.

It's easier to show with some examples:

Examples

Link formatting

Orga fails to add code formatting to links. That is a link that looks like [[https://whatever.com][~some code~]] should be rendered with the link text in a code block. Instead, it's rendered with the ~ characters. The same goes for / characters, which indicate the text should be italicized.

This:
image

Should be:
image

Here's the actual org content:

  - [[http://learnyouahaskell.com/a-fistful-of-monads][Learn You a Haskell's chapter /A Fistful of Monads/]] and [[http://learnyouahaskell.com/a-fistful-of-monads#getting-our-feet-wet-with-maybe][the section on ~Maybe~]] ::
    [[http://learnyouahaskell.com/][Learn You a Haskell]] is a pretty good introduction to Haskell that's available in its entirety from the website. The content in the /Fistful of Monads/ chapter is a bit more advanced and might require reading some of the previous chapters, but both the chapter and the book could be well worth a look.

Nested blocks

In an aside block, you should be able to both apply formatting and add nested code blocks. The block in the first image is rendered as a <pre> tag, but it should be an <aside> with nested <p> tags.

This:
image

Should be:
image

Org content:

  #+begin_aside
  This section has several references to the data type known as ~Maybe~. We have not covered this data type previously in this series, so a short introduction is in order if you're not already familiar with it.

  ~Maybe~ is used to model data that you may or may not have. It has two data constructors: ~Just~ and ~Nothing~, takes one type parameter, and is in some ways similar to how a lot of other languages have a ~null~ value, though more robust. It is similar to the ~Option~ type in other languages such as Rust, OCaml, and F#.

  The data declaration is as follows:
  #+begin_src haskell
    data Maybe a = Just a | Nothing
        deriving (Eq, Ord)
  #+end_src

For more information, please see the [[https://wiki.haskell.org/Maybe][Haskell wiki article]].
  #+end_aside

In other words, it seems as if any form of nested functionality causes issues.

Edit

I added the original org source too, so it should be easier to test and find out what's going wrong.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions