def generate_docs_from_scratch(env_root, version, base_url): docs_dir = get_sdk_docs_path(env_root) web_docs = webdocs.WebDocs(env_root, version, base_url) must_rewrite_links = True if base_url: must_rewrite_links = False clean_generated_docs(docs_dir) # py2.5 doesn't have ignore=, so we delete tempfiles afterwards. If we # required >=py2.6, we could use ignore=shutil.ignore_patterns("*~") for (dirpath, dirnames, filenames) in os.walk(docs_dir): for n in filenames: if n.endswith("~"): os.unlink(os.path.join(dirpath, n)) # generate api docs for all modules if not os.path.exists(os.path.join(docs_dir, "modules")): os.mkdir(os.path.join(docs_dir, "modules")) module_root = os.sep.join([env_root, "doc", "module-source"]) module_list = get_module_list(module_root) [write_module_doc(env_root, web_docs, module_info, must_rewrite_links) for module_info in module_list] # generate dev-guide docs devguide_root = os.sep.join([env_root, "doc", "dev-guide-source"]) devguide_list = get_devguide_list(devguide_root) [write_devguide_doc(env_root, web_docs, devguide_info, must_rewrite_links) for devguide_info in devguide_list] # make /md/dev-guide/welcome.html the top level index file doc_html = web_docs.create_guide_page(os.path.join(docs_dir, 'dev-guide-source', 'index.md')) write_file(env_root, doc_html, docs_dir, 'index', False)
def _create_base_page(self, root, base_url): base_page = unicode(open(root + INDEX_PAGE, 'r').read(), 'utf8') if base_url: base_tag = 'href="' + base_url + '"' base_page = insert_after(base_page, BASE_URL_INSERTION_POINT, base_tag) base_page = insert_after(base_page, VERSION_INSERTION_POINT, "Version " + self.version) module_list = get_module_list( os.sep.join([root, "doc", "module-source"])) high_level_module_list = [ module_info for module_info in module_list if module_info.level() == "high" ] high_level_module_text = self._make_module_text(high_level_module_list) base_page = insert_after(base_page, \ HIGH_LEVEL_MODULE_SUMMARIES, high_level_module_text) low_level_module_list = [ module_info for module_info in module_list if module_info.level() == "low" ] low_level_module_text = self._make_module_text(low_level_module_list) base_page = insert_after(base_page, \ LOW_LEVEL_MODULE_SUMMARIES, low_level_module_text) return base_page
def generate_named_file(env_root, filename_and_path): module_list = get_module_list(env_root) web_docs = webdocs.WebDocs(env_root, module_list, get_versions()["version"], get_base_url(env_root)) abs_path = os.path.abspath(filename_and_path) path, filename = os.path.split(abs_path) if abs_path.startswith(os.path.join(env_root, 'doc', 'module-source')): module_root = os.sep.join([env_root, "doc", "module-source"]) module_info = ModuleInfo(env_root, module_root, path, filename) write_module_doc(env_root, web_docs, module_info, False) elif abs_path.startswith(os.path.join(get_sdk_docs_path(env_root), 'dev-guide-source')): devguide_root = os.sep.join([env_root, "doc", "dev-guide-source"]) devguideitem_info = DevGuideItemInfo(env_root, devguide_root, path, filename) write_devguide_doc(env_root, web_docs, devguideitem_info, False) else: raise ValueError("Not a valid path to a documentation file")
def _create_base_page(self, root, base_url): base_page = unicode(open(root + INDEX_PAGE, 'r').read(), 'utf8') if base_url: base_tag = 'href="' + base_url + '"' base_page = insert_after(base_page, BASE_URL_INSERTION_POINT, base_tag) base_page = insert_after(base_page, VERSION_INSERTION_POINT, "Version " + self.version) module_list = get_module_list(os.sep.join([root, "doc", "module-source"])) high_level_module_list = [module_info for module_info in module_list if module_info.level() == "high"] high_level_module_text = self._make_module_text(high_level_module_list) base_page = insert_after(base_page, \ HIGH_LEVEL_MODULE_SUMMARIES, high_level_module_text) low_level_module_list = [module_info for module_info in module_list if module_info.level() == "low"] low_level_module_text = self._make_module_text(low_level_module_list) base_page = insert_after(base_page, \ LOW_LEVEL_MODULE_SUMMARIES, low_level_module_text) return base_page
def generate_docs_from_scratch(env_root, version, base_url): docs_dir = get_sdk_docs_path(env_root) module_list = get_module_list(env_root) web_docs = webdocs.WebDocs(env_root, module_list, version, base_url) must_rewrite_links = True if base_url: must_rewrite_links = False clean_generated_docs(docs_dir) # py2.5 doesn't have ignore=, so we delete tempfiles afterwards. If we # required >=py2.6, we could use ignore=shutil.ignore_patterns("*~") for (dirpath, dirnames, filenames) in os.walk(docs_dir): for n in filenames: if n.endswith("~"): os.unlink(os.path.join(dirpath, n)) # generate api docs for all modules if not os.path.exists(os.path.join(docs_dir, "modules")): os.mkdir(os.path.join(docs_dir, "modules")) [write_module_doc(env_root, web_docs, module_info, must_rewrite_links) for module_info in module_list] # generate third-party module index third_party_index_file = os.sep.join([env_root, "doc", "module-source", "third-party-modules.md"]) third_party_module_list = [module_info for module_info in module_list if module_info.level() == "third-party"] write_module_index(env_root, web_docs, third_party_index_file, third_party_module_list, must_rewrite_links) # generate high-level module index high_level_index_file = os.sep.join([env_root, "doc", "module-source", "high-level-modules.md"]) high_level_module_list = [module_info for module_info in module_list if module_info.level() == "high"] write_module_index(env_root, web_docs, high_level_index_file, high_level_module_list, must_rewrite_links) # generate low-level module index low_level_index_file = os.sep.join([env_root, "doc", "module-source", "low-level-modules.md"]) low_level_module_list = [module_info for module_info in module_list if module_info.level() == "low"] write_module_index(env_root, web_docs, low_level_index_file, low_level_module_list, must_rewrite_links) # generate dev-guide docs devguide_list = get_devguide_list(env_root) [write_devguide_doc(env_root, web_docs, devguide_info, must_rewrite_links) for devguide_info in devguide_list] # make /md/dev-guide/welcome.html the top level index file doc_html = web_docs.create_guide_page(os.path.join(docs_dir, 'dev-guide-source', 'index.md')) write_file(env_root, doc_html, docs_dir, 'index', False)