html and markdown are idempotent