改成semantic模板