For the complete documentation index, see llms.txt. This page is also available as Markdown.

Static files

Some plugins may require us to serve many different media files. Rather than storing these in the main repo, they are stored in https://github.com/Vija02/theopenpresenter-static/

One way to access these files is directly through the github URL

However, to prevent CORS/ORB issue, it is recommended that you serve this file from a domain you control. There are many ways to do this like deploying a static server or proxying github.

Here is an example on how to handle this through a Cloudflare Worker:

export default {
  async fetch(request) {
    const url = new URL(request.url);
    
    // Construct the GitHub raw URL
    const githubUrl = url.pathname === '/' 
      ? 'https://raw.githubusercontent.com/Vija02/theopenpresenter-static/refs/heads/main'
      : `https://raw.githubusercontent.com/Vija02/theopenpresenter-static/refs/heads/main${url.pathname}`;

    // Fetch from GitHub
    const response = await fetch(githubUrl, {
      cf: {
        // Cache in Cloudflare's CDN for 1 year
        cacheTtl: 31536000,
        cacheEverything: true,
      }
    });
    
    // Clone the response and add CORS headers
    const newResponse = new Response(response.body, response);
    newResponse.headers.set('Access-Control-Allow-Origin', '*');
    newResponse.headers.set('Cache-Control', 'public, max-age=31536000, immutable');
    
    return newResponse;
  }
};

Configuration

By default, we will directly use the github link to access the files. To override this, define a new path in the STATIC_FILES_PATH environment variable.

Last updated