def php_class_role(typ, rawtext, text, lineno, inliner, options={}, content=[]): text = utils.unescape(text) env = inliner.document.settings.env base_url = env.app.config.api_url has_explicit_title, title, full_class = split_explicit_title(text) try: full_url = base_url % full_class.replace('\\', '/') + '.html' except (TypeError, ValueError): env.warn( env.docname, 'unable to expand %s api_url with base ' 'URL %r, please make sure the base contains \'%%s\' ' 'exactly once' % (typ, base_url)) full_url = base_url + utils.escape(full_class) if not has_explicit_title: class_name = full_class.lstrip('\\') ns = class_name.rfind('\\') if ns != -1: class_name = class_name[ns + 1:] title = class_name list = [ nodes.reference(title, title, internal=False, refuri=full_url, reftitle=full_class) ] pnode = nodes.literal('', '', *list) return [pnode], []
def php_class_role(typ, rawtext, text, lineno, inliner, options={}, content=[]): text = utils.unescape(text) env = inliner.document.settings.env base_url = env.app.config.api_url has_explicit_title, title, full_class = split_explicit_title(text) try: full_url = base_url % full_class.replace('\\', '/') + '.html' except (TypeError, ValueError): env.warn( env.docname, 'unable to expand %s api_url with base ' 'URL %r, please make sure the base contains \'%%s\' ' 'exactly once' % (typ, base_url)) full_url = base_url + utils.escape(full_class) if not has_explicit_title: class_name = full_class.lstrip('\\') ns = class_name.rfind('\\') if ns != -1: class_name = class_name[ns + 1:] title = class_name list = [ nodes.reference( title, title, internal=False, refuri=full_url, reftitle=full_class) ] pnode = nodes.literal('', '', *list) return [pnode], []
def php_method_role(typ, rawtext, text, lineno, inliner, options={}, content=[]): text = utils.unescape(text) env = inliner.document.settings.env base_url = env.app.config.api_url has_explicit_title, title, class_and_method = split_explicit_title(text) ns = class_and_method.rfind('::') full_class = class_and_method[:ns] method = class_and_method[ns + 2:] try: full_url = base_url % full_class.replace('\\', '/') except (TypeError, ValueError): env.warn( env.docname, 'unable to expand %s api_url with base ' 'URL %r, please make sure the base contains \'%%s\' ' 'exactly once' % (typ, base_url)) full_url = base_url + utils.escape(full_class) if not has_explicit_title: title = method + '()' list = [ nodes.reference(title, title, internal=False, refuri=full_url, reftitle=full_class + '::' + method + '()') ] pnode = nodes.literal('', '', *list) return [pnode], []
def php_function_role(typ, rawtext, text, lineno, inliner, options={}, content=[]): text = utils.unescape(text) env = inliner.document.settings.env base_url = env.app.config.api_url has_explicit_title, title, namespace_and_function = split_explicit_title( text) ns = namespace_and_function.rfind('\\') namespace = namespace_and_function[:ns] function = namespace_and_function[ns + 1:] namespace = "namespaces/" + namespace try: full_url = base_url % namespace.replace( '\\', '.') + '.html' + '#function_' + function except (TypeError, ValueError): env.warn( env.docname, 'unable to expand %s api_url with base ' 'URL %r, please make sure the base contains \'%%s\' ' 'exactly once' % (typ, base_url)) full_url = base_url + utils.escape(full_class) if not has_explicit_title: title = function + '()' list = [ nodes.reference(title, title, internal=False, refuri=full_url, reftitle=namespace + '\\' + function + '()') ] pnode = nodes.literal('', '', *list) return [pnode], []
def php_constant_role(typ, rawtext, text, lineno, inliner, options={}, content=[]): text = utils.unescape(text) env = inliner.document.settings.env base_url = env.app.config.api_url has_explicit_title, title, namespace_and_constant = split_explicit_title(text) ns = namespace_and_constant.rfind('\\') namespace = namespace_and_constant[:ns] constant = namespace_and_constant[ns+1:] namespace = "namespaces/" + namespace try: full_url = base_url % namespace.replace('\\', '.') + '.html' + '#constant_' + constant except (TypeError, ValueError): env.warn(env.docname, 'unable to expand %s api_url with base ' 'URL %r, please make sure the base contains \'%%s\' ' 'exactly once' % (typ, base_url)) full_url = base_url + utils.escape(full_class) if not has_explicit_title: title = constant list = [nodes.reference(title, title, internal=False, refuri=full_url, reftitle=namespace + '\\' + constant)] pnode = nodes.literal('', '', *list) return [pnode], []
def php_method_role(typ, rawtext, text, lineno, inliner, options={}, content=[]): text = utils.unescape(text) env = inliner.document.settings.env base_url = env.app.config.api_url has_explicit_title, title, class_and_method = split_explicit_title(text) ns = class_and_method.rfind('::') full_class = class_and_method[:ns] method = class_and_method[ns+2:] full_class = "classes/" + full_class try: full_url = base_url % full_class.replace('\\', '.') + '.html' + '#method_' + method except (TypeError, ValueError): env.warn(env.docname, 'unable to expand %s api_url with base ' 'URL %r, please make sure the base contains \'%%s\' ' 'exactly once' % (typ, base_url)) full_url = base_url + utils.escape(full_class) if not has_explicit_title: title = method + '()' list = [nodes.reference(title, title, internal=False, refuri=full_url, reftitle=full_class + '::' + method + '()')] pnode = nodes.literal('', '', *list) return [pnode], []