<!doctype html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body><div dir="auto">Hi Aaron,<br><br>The SWORD engine tries to preserve the best it can the markup from an imported text for few supported markup formats. The markup used by a SWORD module is specified in its .conf file. Most new SWORD modules from our Modules Team are in OSIS markup. If you want to add markdown as a new output format for SWORD, that would be great. To do this, you would want to follow the pattern you see for one of out existing output formats. I would suggest XHTML. E.g., copy the 3 or so *XHTML filters you see here and modify the output from XHTML to markdown.<br><br><a href="https://crosswire.org/svn/sword/trunk/src/modules/filters/">https://crosswire.org/svn/sword/trunk/src/modules/filters/</a><br><br>Hope this gets you started. Let me know if you have questions,<br><br>Troy</div><br><br><div class="gmail_quote"><div dir="auto">On December 15, 2023 20:26:22 MST, Aaron Rainbolt <arraybolt3@gmail.com> wrote:</div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

    <p>I didn't mean the actual compiled files - I meant the kind of
      markup you end up with if you use swModule->getRawEntry(). It's
      the same kind of markup you see if you use mod2imp on a module. So
      far the modules I've used this on seem to have some sort of
      pattern to them (there's <w> tags with "lemma" and "morph"
      attributes for Strong's numbers and morphology, <q> tags
      for... something, looks like it's part of how red-letter Bibles
      work because of the "who" attribute, and things like that). I
      assume it's this markup that is parsed by the existing filters,
      and that I would need to parse were I to write my own filter.</p>
    <p>My text renderer does indeed support HTML, but it's ability to
      output Markdown is sorely lacking (I *can* tell it to give me
      whatever's in my text editor widget in Markdown format, but it
      loses information that Markdown is perfectly capable of
      containing). I need to be able to convert between Markdown and
      rich text both ways. On top of all of that I'm trying to support a
      particular flavor of Markdown that isn't normal (the variant
      Reddit uses in particular), so I have to do the parsing myself to
      implement things like superscripts and strikethroughs.
      Implementing a filter sounds like a good idea, but I think I'll
      have to parse this "internal markup format" to do so.<br>
    </p>
    <div class="moz-cite-prefix">On 12/15/23 21:12, Greg Hellings wrote:<br>
    </div>
    <blockquote type="cite" cite="mid:CAHxvOVKtRDVhtj18mL4HC+_v29pSstBgOPi2-UdtXdZmc_HZUw@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div dir="auto">The actual files are a custom binary format which
        is not documented and is not intended to be any sort of standard
        accessed by anything other than the library itself.
        <div dir="auto"><br>
        </div>
        <div dir="auto">Most newer works are imported from an OSIS file.
          Some older ones were imported from GBF (I think?) or ThML
          (which is basically some basic HTML display components mixed
          with a few tags for identifying things like words of Christ or
          divine names). However, once they are imported as modules some
          of that structure is lost to the proprietary binary format of
          the SWORD module files.</div>
        <div dir="auto"><br>
        </div>
        <div dir="auto">If you want the text in Markdown the best way is
          to create a filter like the existing filters in the engine
          which can be used to generate HTML, LaTeX, etc and write some
          which produce Markdown output.</div>
        <div dir="auto"><br>
        </div>
        <div dir="auto">Although, since Markdown is basically simplified
          HTML that is specifically intended to make HTML easier to
          write, why wouldn't you just render out HTML from the existing
          filters and drop that into your Markdown editor? Every md
          editor and renderer I've used will pass HTML through
          unchanged, allowing the author to use its full syntax when
          they wanted to.</div>
      </div>
      <br>
      <div class="gmail_quote">
        <div dir="ltr" class="gmail_attr">On Fri, Dec 15, 2023, 21:04
          Aaron Rainbolt <<a href="mailto:arraybolt3@gmail.com" moz-do-not-send="true" class="moz-txt-link-freetext">arraybolt3@gmail.com</a>>
          wrote:<br>
        </div>
        <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I
          had an idea of making a primarily Markdown-centric SWORD
          frontend<br>
          that would help with writing Bible studies and whatnot for<br>
          Markdown-based platforms like Reddit or Obsidian notes. For
          this<br>
          purpose, I want to parse the internal markup used by SWORD in
          its<br>
          modules, and then use my own custom code to generate Markdown
          from<br>
          that.<br>
          <br>
          Obviously I can learn a lot about this markup by simply
          looking at<br>
          modules that use it, but I do wonder, is this markup at all<br>
          standardized? Is it documented anywhere? Does it have a name
          of some<br>
          sort that I can use to find handlers and tools for it in the
          SWORD API<br>
          docs?<br>
          <br>
          Thanks,<br>
          Aaron<br>
          _______________________________________________<br>
          sword-devel mailing list: <a href="mailto:sword-devel@crosswire.org" target="_blank" rel="noreferrer" moz-do-not-send="true" class="moz-txt-link-freetext">sword-devel@crosswire.org</a><br>
          <a href="http://crosswire.org/mailman/listinfo/sword-devel" rel="noreferrer noreferrer" target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">http://crosswire.org/mailman/listinfo/sword-devel</a><br>
          Instructions to unsubscribe/change your settings at above page<br>
        </blockquote>
      </div>
      <br>
      <fieldset class="moz-mime-attachment-header"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
sword-devel mailing list: <a class="moz-txt-link-abbreviated" href="mailto:sword-devel@crosswire.org">sword-devel@crosswire.org</a>
<a class="moz-txt-link-freetext" href="http://crosswire.org/mailman/listinfo/sword-devel">http://crosswire.org/mailman/listinfo/sword-devel</a>
Instructions to unsubscribe/change your settings at above page
</pre>
    </blockquote>
  </blockquote></div><div dir="auto"><div class='k9mail-signature'>-- <br>Sent from my Android device with K-9 Mail. Please excuse my brevity.</div></div></body>
</html>