~aleteoryx/lfm_embed

ref: be17ba546668ede668255644df0b6acb3a66e421 lfm_embed/TODO.md -rw-r--r-- 1.2 KiB
be17ba54alyx Add GPL notice to README 10 months ago

#Future plans for this project:

#Custom Fonts

For ease-of-inclusion this should probably be handled by internal code, and provided as a set of properties on lfm_embed::ctx::model::Data.

There are 3 main kinds of fonts we should support.

  • User-hosted fonts. These would be loaded directly from a link to a TTF,WOFF2,etc font file.
  • Google fonts fonts. In theory, we'd proxy these, but that's not 100% necessary.
  • Named fonts. e.x. 'serif', 'sans-serif', 'monospace'. Browser will handle these.

There is no good way to expose a typed enum with the current wizard UI, and the resulting UI from this could allow added user flexibility.

I propose the following API:

  • ?font=foo corresponds directly with * { font-family: 'foo' } in the CSS.
  • ?font=foo&include-font=https://example.com/font.otf will additionally append @font-face { font-family: 'foo' src: url('https://example.com/font.otf') }.

There will also be a ?include-stylesheet parameter, allowing for general custom styles, including google fonts et. al.

#Move more things internal

Of the crates currently relied on, the following appear too feature-packed should be replaced with simpler internal code.

  • duration-str
  • htmlize
  • urlencoding