Implement the AsciiDoc loader component
Implement the AsciiDoc loader component as defined in #77 (closed). The AsciiDoc loader component should be self-contained, which means no logic or configuration should exist outside the component except for configuration that comes from user input. The implementation should go in the packages/asciidoc-loader/lib
directory.
Write tests to verify each behavior of the component. Specifically, the tests should verify that the AsciiDoc loader component:
- loads an AsciiDoc document (AST) from the AsciiDoc stored in the
contents
property of the specified file - resolves includes from the specified content catalog
- assigns env, default, custom, and built-in attributes to the document
- processes inter-document cross references as page references resolved from the specified content catalog
- does not process cross references which are not inter-document cross references
- does not register any extensions globally
The tests should be placed in the packages/asciidoc-loader/test
directory.
This implementation issue can be worked on in concert with the architecture issue using an agile process. Any discoveries or decisions made that relate to the architecture should be posted back to the architecture issue. The early implementation prototypes may drive the architecture in return.