code: def render_component(self, declaration):
          
          items = ["""<tr><td>{name}</td><td>{type}</td></tr>"""
                   .format(name=m.name,
                           type=self.render_component_types(declaration, m))
                   for m in self.get_component_members(declaration)]
  
          info = []
          parent = declaration.__mro__[1]
          #: Superclass
          info.append("<tr><td>extends component</td>"
                      "<td><a href='#component-{id}'>{name}</a></td></td>"
                      .format(id=parent.__name__.lower(), name=parent.__name__))
  
          #: Source and example, only works with enamlnative builtins
          source_path = inspect.getfile(declaration).replace(
                          ".pyo", ".py").replace(".pyc", ".py")
          if 'enamlnative' in source_path:
              source_link = "https://github.com/frmdstryr/" \
                            "enaml-native/tree/master/src/{}".format(
                  source_path.split("assets/python")[1]
              )
              info.append("<tr><td>source code</td>"
                          "<td><a href='{}' target='_blank'>show</a></td></td>"
                          .format(source_link))
  
              #: Examples link
              example_link = "https://www.codelv.com/projects/" \
                             "enaml-native/docs/components#{}" \
                  .format(declaration.__name__.lower())
              info.append("<tr><td>example usage</td>"
                          "<td><a href='{}' target='_blank'>view</a></td></td>"
                          .format(example_link))
  
          return COMPONENT_TMPL.format(id=declaration.__name__.lower(),
                                       name=declaration.__name__,
                                       info="".join(info),
                                       items="".join(items))
docs: Render a row of all the attributes