• grue@lemmy.world
    link
    fedilink
    English
    arrow-up
    13
    ·
    3 months ago

    C++ for kids - fine
    Javascript for babies - call CPS!

    spoiler

    LISP for toddlers - parent of the year award

          • maccentric@sh.itjust.works
            link
            fedilink
            English
            arrow-up
            4
            ·
            3 months ago

            I don’t have Sync but I fired up Mlem and Avelon and they both also botched the spoiler tag. It doesn’t appear like it should be too hard to implement, wonder what’s going on?

            • Sjmarf@lemmy.ml
              link
              fedilink
              arrow-up
              4
              ·
              edit-2
              3 months ago

              Mlem dev here! Lemmy has a custom “flavor” of Markdown that is distinct from other social media platforms. Open-source markdown parsers and renderers exist for popular flavors of Markdown (e.g GitHub-flavor), but not for Lemmy-flavor. Most Lemmy clients choose to use an existing GitHub-flavor parser that is close enough to Lemmy’s to be indistinguishable in most cases. Mlem uses swift-markdown-ui to render markdown, which uses cmark-gfm as its parser.

              Lemmy’s spoiler format is unique to Lemmy-flavor markdown, so that’s one of the places where use of a third-party markdown parser is noticed by users. Other common parsing errors are subscript and footnotes.

              Adding spoiler support is not particularly easy, unfortunately. You can’t really apply spoiler-parsing logic on-top of another markdown parser - it has to be integrated into the parser itself. This is because the app needs to ignore spoiler markdown in certain situations, such as inside of a code block. The only good option is to write a custom markdown parser from scratch, or modify an existing markdown parser to support Lemmy’s markdown dialect. Both options can be difficult for developers for several reasons:

              • cmark-gfm is written in C, which the developer of the Lemmy client may not be familiar with.
              • If the app is using a third-party renderer, and not just a parser, that renderer also needs to be rewritten to support the new parsing logic.

              This takes a significant amount of time for comparatively little value for users, so most client developers didn’t prioritise it.

              In an upcoming Mlem version, we’re replacing our markdown parser renderer with a custom one that can render spoilers and subscripts, but we’ve got a way to go before we achieve full parity with Lemmy. If any developers of other apps are using cmark-gfm, you’re welcome to use our code from that repo under the terms of the licence.

              Sorry this is kinda long, I hope this helps

            • AngryCommieKender@lemmy.world
              link
              fedilink
              arrow-up
              3
              ·
              3 months ago

              This right here is why I love you guys. Someone posted a bug, and we already have two people testing said bug, and giving reports within 30 minutes of the bug report.

              Never change Lemmy :)

          • AngryCommieKender@lemmy.world
            link
            fedilink
            arrow-up
            2
            ·
            edit-2
            3 months ago

            I just checked it on Sync for Lemmy, and it showed as a blue block till I clicked it. I’m using a Galaxy S10e. It does show two instances of the word “spoiler” at the beginning of the text, but that’s just something Sync does. Works fine elsewhere.