I would like to both render html and show a source block for the rendered html (I am aware of ob-browser, but I want this to be dynamic html content, not an image)

I would have thought the following would work, but noweb returns an empty string

    Well, this is solvable with css is it not?

    #+name: challenge-1-solution
    #+begin_export html
    <article id="gradient-colors">
      <div></div>
      <style>
        #gradient-colors div {
          width: 400px;
          height: 200px;
          animation: gradient 5s infinite linear;
        }
        @keyframes gradient {
          0% {
            background-color: hsl(0, 100%, 50%);
          }
          25% {
            background-color: hsl(90, 100%, 50%);
          }
          50% {
            background-color: hsl(180, 100%, 50%);
          }
          75% {
            background-color: hsl(270, 100%, 50%);
          }
          100% {
            background-color: hsl(360, 100%, 50%);
          }
        }
      </style>
    </article>
    #+end_export
    #+begin_src html :eval no :exports code :noweb yes
      <<challenge-1-solution>>
    #+end_src