~aleteoryx/lfm_embed

ref: 214547738d429bb4c8f8475a21ff21b9a66b2bac lfm_embed/TODO.md -rw-r--r-- 1.2 KiB
21454773alyx Add todo list 10 months ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# 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