a fancy canvas mcp server!
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

feat: dynamically change the og urls

+26 -8
+13 -4
src/public/dashboard.html
··· 10 10 11 11 <!-- Open Graph / Facebook --> 12 12 <meta property="og:type" content="website"> 13 - <meta property="og:url" content="https://canvas.dunkirk.sh/dashboard"> 13 + <meta property="og:url" content="https://canvas.dunkirk.sh/dashboard" id="og-url"> 14 14 <meta property="og:title" content="Dashboard - Canvas MCP"> 15 15 <meta property="og:description" content="Manage your Canvas MCP Server connection and API credentials. Connect your Canvas LMS to AI assistants."> 16 - <meta property="og:image" content="https://canvas.dunkirk.sh/og.png"> 16 + <meta property="og:image" content="https://canvas.dunkirk.sh/og.png" id="og-image"> 17 17 18 18 <!-- Twitter --> 19 19 <meta property="twitter:card" content="summary_large_image"> 20 - <meta property="twitter:url" content="https://canvas.dunkirk.sh/dashboard"> 20 + <meta property="twitter:url" content="https://canvas.dunkirk.sh/dashboard" id="twitter-url"> 21 21 <meta property="twitter:title" content="Dashboard - Canvas MCP"> 22 22 <meta property="twitter:description" content="Manage your Canvas MCP Server connection and API credentials. Connect your Canvas LMS to AI assistants."> 23 - <meta property="twitter:image" content="https://canvas.dunkirk.sh/og.png"> 23 + <meta property="twitter:image" content="https://canvas.dunkirk.sh/og.png" id="twitter-image"> 24 + 25 + <script> 26 + // Set dynamic URLs based on current host 27 + const baseUrl = window.location.origin; 28 + document.getElementById('og-url').setAttribute('content', `${baseUrl}/dashboard`); 29 + document.getElementById('og-image').setAttribute('content', `${baseUrl}/og.png`); 30 + document.getElementById('twitter-url').setAttribute('content', `${baseUrl}/dashboard`); 31 + document.getElementById('twitter-image').setAttribute('content', `${baseUrl}/og.png`); 32 + </script> 24 33 <style> 25 34 * { 26 35 margin: 0;
+13 -4
src/public/index.html
··· 10 10 11 11 <!-- Open Graph / Facebook --> 12 12 <meta property="og:type" content="website"> 13 - <meta property="og:url" content="https://canvas.dunkirk.sh/"> 13 + <meta property="og:url" content="https://canvas.dunkirk.sh/" id="og-url"> 14 14 <meta property="og:title" content="Canvas MCP Server"> 15 15 <meta property="og:description" content="Connect your Canvas LMS to AI assistants via the Model Context Protocol. Ask questions about your courses with Claude Desktop."> 16 - <meta property="og:image" content="https://canvas.dunkirk.sh/og.png"> 16 + <meta property="og:image" content="https://canvas.dunkirk.sh/og.png" id="og-image"> 17 17 18 18 <!-- Twitter --> 19 19 <meta property="twitter:card" content="summary_large_image"> 20 - <meta property="twitter:url" content="https://canvas.dunkirk.sh/"> 20 + <meta property="twitter:url" content="https://canvas.dunkirk.sh/" id="twitter-url"> 21 21 <meta property="twitter:title" content="Canvas MCP Server"> 22 22 <meta property="twitter:description" content="Connect your Canvas LMS to AI assistants via the Model Context Protocol. Ask questions about your courses with Claude Desktop."> 23 - <meta property="twitter:image" content="https://canvas.dunkirk.sh/og.png"> 23 + <meta property="twitter:image" content="https://canvas.dunkirk.sh/og.png" id="twitter-image"> 24 + 25 + <script> 26 + // Set dynamic URLs based on current host 27 + const baseUrl = window.location.origin; 28 + document.getElementById('og-url').setAttribute('content', `${baseUrl}/`); 29 + document.getElementById('og-image').setAttribute('content', `${baseUrl}/og.png`); 30 + document.getElementById('twitter-url').setAttribute('content', `${baseUrl}/`); 31 + document.getElementById('twitter-image').setAttribute('content', `${baseUrl}/og.png`); 32 + </script> 24 33 <style> 25 34 * { 26 35 margin: 0;