code: def object_to_markdownpage(obj_name, obj, s=""):
      """Generate the markdown documentation of a Python object.
  
      Parameters
      ----------
      obj_name : str
          Name of the Python object.
      obj : object
          Python object (class, method, function, ...)
      s : str (default: '')
          A string to which the documentation will be appended to.
  
      Returns
      ---------
      s : str
          The markdown page.
  
      """
      # header
      s += "## %s\n" % obj_name
  
      # function/class/method signature
      sig = str(inspect.signature(obj)).replace("(self, ", "(")
      s += "\n*%s%s*\n\n" % (obj_name, sig)
  
      # docstring body
      doc = str(inspect.getdoc(obj))
      ds = docstring_to_markdown(doc)
      s += "\n".join(ds)
  
      # document methods
      if inspect.isclass(obj):
          methods, properties = "\n\n### Methods", "\n\n### Properties"
          members = inspect.getmembers(obj)
          for m in members:
              if not m[0].startswith("_") and len(m) >= 2:
                  if isinstance(m[1], property):
                      properties += "\n\n<hr>\n\n*%s*\n\n" % m[0]
                      m_doc = docstring_to_markdown(
                          str(inspect.getdoc(m[1]))
                      )
                      properties += "\n".join(m_doc)
                  else:
                      sig = str(inspect.signature(m[1]))
                      sig = sig.replace("(self, ", "(").replace(
                          "(self)", "()"
                      )
                      sig = sig.replace("(self)", "()")
                      methods += "\n\n<hr>\n\n*%s%s*\n\n" % (m[0], sig)
                      m_doc = docstring_to_markdown(
                          str(inspect.getdoc(m[1]))
                      )
                      methods += "\n".join(m_doc)
          if len(methods) > len("\n\n### Methods"):
              s += methods
          if len(properties) > len("\n\n### Properties"):
              s += properties
      return s + "\n\n"
  
file_path: mlxtend/docs/make_api.py
imports: import inspect
  import os
  import pkgutil
  import shutil
  import sys
label_desc: Use image node_id 4 for calling a global function with example usage: object_to_markdownpage(obj_name, obj, s) and returns: unknown