Option 2: Use your text editor's auto-replace features to insert Unicode characters at the time of writing
This is the approach taken by Editorially -- when you type two hyphens and a space, for example the two hyphens are automatically replaced with an em-dash. Thus the typography is handled inline within the source text rather than being converted during the publishing process.