Hi Aaron,
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.
https://crosswire.org/svn/sword/trunk/src/modules/filters/
Hope this gets you started. Let me know if you have questions,
Troy
On December 15, 2023 20:26:22 MST, Aaron Rainbolt <arraybo...@gmail.com> wrote:
>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.
>
>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.
>
>On 12/15/23 21:12, Greg Hellings wrote:
>> 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.
>>
>> 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.
>>
>> 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.
>>
>> 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.
>>
>> On Fri, Dec 15, 2023, 21:04 Aaron Rainbolt <arraybo...@gmail.com> wrote:
>>
>> I had an idea of making a primarily Markdown-centric SWORD frontend
>> that would help with writing Bible studies and whatnot for
>> Markdown-based platforms like Reddit or Obsidian notes. For this
>> purpose, I want to parse the internal markup used by SWORD in its
>> modules, and then use my own custom code to generate Markdown from
>> that.
>>
>> Obviously I can learn a lot about this markup by simply looking at
>> modules that use it, but I do wonder, is this markup at all
>> standardized? Is it documented anywhere? Does it have a name of some
>> sort that I can use to find handlers and tools for it in the SWORD API
>> docs?
>>
>> Thanks,
>> Aaron
>> _______________________________________________
>> sword-devel mailing list: sword-devel@crosswire.org
>> http://crosswire.org/mailman/listinfo/sword-devel
>> Instructions to unsubscribe/change your settings at above page
>>
>>
>> _______________________________________________
>> sword-devel mailing list:sword-devel@crosswire.org
>> http://crosswire.org/mailman/listinfo/sword-devel
>> Instructions to unsubscribe/change your settings at above page
--
Sent from my Android device with K-9 Mail. Please excuse my brevity.
_______________________________________________
sword-devel mailing list: sword-devel@crosswire.org
http://crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page