1. A system comprising: one or more processors; and one or more storage devices storing instructions that, when executed by the one or more processors, are configured to cause operations to be performed including: receiving a request to generate a platform-independent document, the request including markup language content; providing the markup language content to a rendering engine, the rendering engine being configured to: parse the markup language content, generate one or more resource requests for resources identified in the parsed markup language content, and communicate the one or more resource requests; intercepting the one or more resource requests communicated from the rendering engine; communicating the intercepted requests, or one or more requests based on the intercepted requests, to retrieve resources identified in the intercepted requests; receiving resources retrieved based on the communicated intercepted requests, or the requests based on the intercepted requests; and providing the retrieved resources to the rendering engine, the rendering engine being further configured to render the platform-independent document based on the markup language content and the retrieved resources.