From 214547738d429bb4c8f8475a21ff21b9a66b2bac Mon Sep 17 00:00:00 2001 From: alyx Date: Thu, 16 Nov 2023 17:21:41 -0500 Subject: Add todo list --- TODO.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 TODO.md diff --git a/TODO.md b/TODO.md new file mode 100644 index 0000000..46eeb39 --- /dev/null +++ b/TODO.md @@ -0,0 +1,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 -- cgit v1.2.3-54-g00ecf