Add HTML labels, ports and some attributes

Hi,

the pull request contains the features listed above as separate commits. I can improve the documentation or split this into multiple pull requests if desired.