jeremy-compostella / org-msg

OrgMsg is a GNU/Emacs global minor mode mixing up Org mode and Message mode to compose and reply to emails in a Outlook HTML friendly style.
GNU General Public License v3.0
281 stars 61 forks source link

feat(org-msg-css-to-file): save current css to file #199

Open WillForan opened 1 week ago

WillForan commented 1 week ago

Thank you for sharing this package! As mentioned elsewhere in the repo issues, it brought me back to emailing with emacs.

I wanted to make style changes similar to #116 (edit: also #196) -- border around code blocks. And a bit like #174, I'm looking for an easy way to add my own styling. But was pretty intimidated by starting a file from scratch. It looks like org-msg-props-to-style doesn't need much more to be able to write out a complete file based on the default style. I did that with org-msg-css-to-string and added as an interactive interface org-msg-css-to-file

Now I call org-msg-css-to-file, make small edits to the file, and set org-msg-enforce-css to the new file with my modifications.

I also added a test to confirm prop list -> file -> prop list is all consistent. To get that to work a small change to org-msg-css-to-list was needed: the property list for an empty css rule has 2 elements instead of 3 (originally the 3rd was null).

(nil table-number)      ; as in org-msg-default-style
(nil table-number nil)  ; but 3rd element=nil was originally generated