Why VI?
Because the output of all known HTML generators sucks, and by the time
you've learned how to use one you could just have well learned to write
real HTML using your favourite text
editor. (Which need not even be VI, even with EMACS it is sometimes
possible to produce acceptable results.)