add markdown editor and post crud func