Preciso renderizar um arquivo SVG no meu html.
A documentação não me levou até lá .
Quero extrair o SVG de um arquivo incorporado
open System.IO
open System.Reflection
[<AbstractClass; Sealed>]
type Assets private () =
static let assembly = Assembly.GetExecutingAssembly()
static let readSvgResource fileName =
use stream =
assembly.GetManifestResourceStream($"Namespace.Assets.Svg.{fileName}.svg")
use reader = new StreamReader(stream)
reader.ReadToEnd()
static member DownArrow =
readSvgResource "downArrow"
Então tenha uma função legal que eu possa reutilizar. É aqui que estou preso e ele não compila. Qual deveria ser essa função?
let renderSvg color (assetsSvg: string) =
div [ _style $"color: {color}" ] [ RenderView.AsString.xmlNode assetsSvg ]
Você deve agrupar o texto SVG bruto na
rawText
função Giraffe e, em seguida, renderizar toda a página/fragmento/etc HTML usando uma dasRenderView
funções do módulo. Aqui está um exemplo simples que pega uma string SVG bruta e a grava em um documento HTML: