user50336: char webpage[] PROGMEM = R"=====( 
<html>
  <head>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/svg.js/2.6.6/svg.min.js"></script>
  </head>
  <body>
  </body>
</html>
)=====";

I found a problem when using the raw string literal in Arduino IDE.
My code cannot compile if i have http:// link inside the string.
I found that it should be related to how Arduino IDE thought the string after // are comments and during compile time those string are ignored and my codes break.
It looks like the arduino ide's compiler removes all //comment in the code first, before it try to compile the raw string literal and then cause the issue.
As a test I try to debug it by changing my code to https:/-/ the program can be compile as now there is no // in the raw string literal
Is there any workaround?

user40318: Escape the two quote marks inside the string using a backslash (literal quotes).
Without the escape characters, the URL is "outside" of a string because the quote marks are string delimiters.
char webpage[] PROGMEM = R"=====( 
<html>
  <head>
    <script src=\"https://cdnjs.cloudflare.com/ajax/libs/svg.js/2.6.6/svg.min.js\"></script>
  </head>
  <body>
  </body>
</html>
)=====";


user50336: char webpage[] PROGMEM = R"=="==( 
<html>
  <head>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/svg.js/2.6.6/svg.min.js"></script>
  </head>
  <body>
  </body>
</html>
)=="==";

inspired by answer provided by @jsotola  if i used the syntax like this R"=="==()=="==" the link will become inside the quote. and hence the ide's complier regards it as a string and won't think // is comment and now the code can complie and the link works.

50336: <pre><code>char webpage[] PROGMEM = R"=====( 
&lt;html&gt;
  &lt;head&gt;
    &lt;script src="https://cdnjs.cloudflare.com/ajax/libs/svg.js/2.6.6/svg.min.js"&gt;&lt;/script&gt;
  &lt;/head&gt;
  &lt;body&gt;
  &lt;/body&gt;
&lt;/html&gt;
)=====";
</code></pre>

<p>I found a problem when using the raw string literal in Arduino IDE.
My code cannot compile if i have http:// link inside the string.</p>

<p>I found that it should be related to how Arduino IDE thought the string after // are comments and during compile time those string are ignored and my codes break.</p>

<p>It looks like the arduino ide's compiler removes all //comment in the code first, before it try to compile the raw string literal and then cause the issue.</p>

<p>As a test I try to debug it by changing my code to https:/-/ the program can be compile as now there is no // in the raw string literal</p>

<p>Is there any workaround?</p>
 40318: <p>Escape the two quote marks inside the string using a backslash (literal quotes).</p>

<p>Without the escape characters, the URL is "outside" of a string because the quote marks are string delimiters.</p>

<pre><code>char webpage[] PROGMEM = R"=====( 
&lt;html&gt;
  &lt;head&gt;
    &lt;script src=\"https://cdnjs.cloudflare.com/ajax/libs/svg.js/2.6.6/svg.min.js\"&gt;&lt;/script&gt;
  &lt;/head&gt;
  &lt;body&gt;
  &lt;/body&gt;
&lt;/html&gt;
)=====";
</code></pre>
 50336: <pre><code>char webpage[] PROGMEM = R"=="==( 
&lt;html&gt;
  &lt;head&gt;
    &lt;script src="https://cdnjs.cloudflare.com/ajax/libs/svg.js/2.6.6/svg.min.js"&gt;&lt;/script&gt;
  &lt;/head&gt;
  &lt;body&gt;
  &lt;/body&gt;
&lt;/html&gt;
)=="==";
</code></pre>

<p>inspired by answer provided by @jsotola  if i used the syntax like this R"=="==()=="==" the link will become inside the quote. and hence the ide's complier regards it as a string and won't think // is comment and now the code can complie and the link works.</p>
