aboutsummaryrefslogtreecommitdiffstats
path: root/TODO.md
blob: 46eeb393e67048d081b11ba24937ab26bfbfa2a9 (plain) (blame)
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