in reply to Module design for loadable external modules containing data
My recommendation is to provide content in a presentation neutral way (e.g., markdown, SGML, etc). The provide the tooling around it to render it. This puts the "output" of any kind on the same footing, be it PDF, HTML, or interactive commandline coolness. This data can still be encapsulated in the module (e.g, in a ./data directory, but provides the separation that you should have in content versus presentation.