def create(): # module name is 'ewol' and type binary. myModule = monkModule.Module(__file__, 'esignal', 'LIBRARY') # enable doculentation : myModule.set_website("http://atria-soft.github.io/esignal/") myModule.set_website_sources("http://github.com/atria-soft/esignal/") myModule.set_path(os.path.join(tools.get_current_path(__file__), "esignal")) myModule.set_path_general_doc(os.path.join(tools.get_current_path(__file__), "doc")) # add the currrent module at the return myModule
def create(): # module name is 'ewol' and type binary. myModule = monkModule.Module(__file__, 'ewol', 'LIBRARY') # enable doculentation : myModule.set_website("http://heeroyui.github.io/ewol/") myModule.set_website_sources("http://github.com/heeroyui/ewol/") myModule.set_path(tools.get_current_path(__file__) + "/ewol/") myModule.set_path_general_doc(tools.get_current_path(__file__) + "/../doc/") # add the currrent module at the return myModule
def create(): # module name is 'ewol' and type binary. myModule = monkModule.Module(__file__, 'ewol', 'LIBRARY') # enable doculentation : myModule.set_website("http://heeroyui.github.io/ewol/") myModule.set_website_sources("http://github.com/heeroyui/ewol/") myModule.set_path(tools.get_current_path(__file__) + "/ewol/") myModule.set_path_general_doc( tools.get_current_path(__file__) + "/../doc/") # add the currrent module at the return myModule
def __init__(self, file, moduleName, moduleType): ## Remove all variable to prevent error of multiple deffinition of the module ... self.origin_file='' self.origin_folder='' # type of the module: self.type='LIBRARY' # Name of the module self.name=moduleName self.list_doc_file = [] self.list_tutorial_file = [] self.web_site = "" self.web_source = "" self.path_parsing = "" self.path_global_doc = "" self.external_link = [] self.title = moduleName + " Library" self.style_html = "" ## end of basic INIT ... if moduleType.upper() == 'APPLICATION': self.type = 'application' elif moduleType.upper() == 'LIBRARY': self.type = "library" else : debug.error('for module "%s"' %moduleName) debug.error(' ==> error : "%s" ' %moduleType) raise 'Input value error' self.structure_lib = Node.MainNode(self.type, moduleName) self.origin_file = file; self.origin_folder = tools.get_current_path(self.origin_file)
def create(): # module name is 'edn' and type binary. myModule = module.Module(__file__, 'edn', 'APPLICATION') # enable doculentation : myModule.set_website("http://heeroyui.github.io/edn/") myModule.set_website_sources("http://github.com/heeroyui/edn/") myModule.set_path(tools.get_current_path(__file__) + "/appl/") # add the currrent module at the return myModule
def generate(my_lutin_doc, outFolder) : my_doc = my_lutin_doc.get_base_doc_node() tools.copy_file(tools.get_current_path(__file__)+"/theme/base.css", outFolder+"/base.css") tools.copy_file(tools.get_current_path(__file__)+"/theme/menu.css", outFolder+"/menu.css") # create common header generic_header = '<!DOCTYPE html>\n' generic_header += '<html>\n' generic_header += '<head>\n' generic_header += ' <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">\n' generic_header += ' <title>' + my_doc.get_name() + ' Library</title>\n' generic_header += ' <link rel="stylesheet" href="base.css">\n' generic_header += ' <link rel="stylesheet" href="menu.css">\n' generic_header += '</head>\n' generic_header += '<body>\n' generic_header += ' <div class="navbar navbar-fixed-top">\n' generic_header += ' <div class="container">\n' if my_doc.get_node_type() == 'library': generic_header += ' <h1><a href="index.html">' + my_doc.get_name() + ' library</a></h1>\n' else: generic_header += ' <h1><a href="index.html">' + my_doc.get_name() + '</a></h1>\n' if my_lutin_doc.get_website_sources() != '': generic_header += ' <h4><a href="' + my_lutin_doc.get_website_sources() + '"> [ sources ]</a></h4>\n' generic_header += '<h3>API:</h3>' generic_header += ' <div id="menu">\n' #generic_header += ' <h2>' + my_doc.moduleName + '</h2>\n' generic_header += generate_menu(my_doc) #generic_header += ' <h3> </h3>\n' generic_header += ' </div>\n' # TODO : add Generic doc main point. if len(my_lutin_doc.list_doc_file) > 0: docList = "" for docInputName,outpath in my_lutin_doc.list_doc_file: outputFileName = outFolder + "/" + outpath.replace('/','_') +".html" outputFileName = outputFileName.split('/')[-1] name = outputFileName.split('_')[-1][:-5] if name == "index": continue docList += '<ul class="niveau1">' docList += '<li><a href="' + outputFileName + '">' + capitalise_first_letter(camel_case_decode(name)) + '</a></li>\n' docList += '</ul>' if docList != "": generic_header += '<h3>Documentation:</h3>' generic_header += '<div id="menu">\n' generic_header += docList generic_header += '</div>\n' # TODO : add Tutorial doc main point. if len(my_lutin_doc.list_tutorial_file) > 0: tutorialList = "" for docInputName,outpath in my_lutin_doc.list_tutorial_file: outputFileName = outFolder + "/" + outpath+".html" outputFileName = outputFileName.split('/')[-1] name = outputFileName.split('_')[-1][:-5] if name == "index": continue tutorialList += '<ul class="niveau1">' tutorialList += '<li><a href="tutorial_' + outputFileName + '">' + capitalise_first_letter(camel_case_decode(name)) + '</a></li>\n' tutorialList += '</ul>' if tutorialList != "": generic_header += '<h3>Tutorials:</h3>' generic_header += '<div id="menu">\n' generic_header += tutorialList generic_header += '</div>\n' localWebsite = my_lutin_doc.get_website() # add other libs entry point : allModule = module.get_all_module() if len(allModule) != 1: generic_header += '<br/>' generic_header += '<h3>Associate libraries:</h3>' generic_header += '<div id="menu">\n' for modd in allModule: if modd.type == 'application': continue if modd.name == my_lutin_doc.name: continue generic_header += '<ul class="niveau1">' link = node.get_doc_website_page_relative(localWebsite, modd.get_website()) debug.debug("link = " + str(link) + " << " + localWebsite + " !! " + str(modd.get_website())) if len(link) != 0 \ and link[-1] != "/": link += "/" generic_header += '<li><a href="' + link + 'index.html">' + modd.name + '</a></li>\n' generic_header += '</ul>' generic_header += '</div>\n' generic_header += "<br/>\n" generic_header += "<br/>\n" generic_header += "<br/>\n" generic_header += "<br/>\n" generic_header += "<br/>\n" generic_header += "<br/>\n" generic_header += " </div>\n" generic_header += " </div>\n" generic_header += " <div class=\"container\" id=\"content\">\n" generic_footer = " </div>\n" googleData = tools.file_read_data("google-analytics.txt") if googleData != "": debug.info("insert Google analytics Data") generic_footer += googleData generic_footer += "</body>\n" generic_footer += "</html>\n" # create index.hml: generate_stupid_index_page(outFolder, generic_header, generic_footer, my_lutin_doc) # create the namespace index properties: generate_page(outFolder, generic_header, generic_footer, my_doc, name_lib=my_lutin_doc.name) for iii in range(0, len(my_lutin_doc.list_tutorial_file)) : docInputName,outpath = my_lutin_doc.list_tutorial_file[iii] debug.print_element("tutorial", my_lutin_doc.name, "<==", docInputName) if outpath[0] == '/': outpath = outpath[1:] outputFileName = os.path.join(outFolder, outpath.replace('/','_') + ".html") debug.debug("output file : " + outputFileName + " out path=" + outFolder + " baseName=" + outpath) tools.create_directory_of_file(outputFileName) name = outputFileName.split('_')[-1][:-5] inData = tools.file_read_data(docInputName) if inData == "": continue outData = generic_header localHeader = "" localHeader += "=?=" + camel_case_decode(name) + "=?=\n___________________________\n" if iii != 0: previousName, previousOutpath = my_lutin_doc.list_tutorial_file[iii-1] previousName = previousName.split('_')[-1][:-3] previousOutpath = previousOutpath.split('/')[-1] localHeader += "[left][tutorial[" + previousOutpath + " | Previous: " + capitalise_first_letter(camel_case_decode(previousName)) + "]][/left] " if iii != len(my_lutin_doc.list_tutorial_file)-1: nextName, nextOutpath = my_lutin_doc.list_tutorial_file[iii+1] nextName = nextName.split('_')[-1][:-3] nextOutpath = nextOutpath.split('/')[-1] localHeader += " [right][tutorial[" + nextOutpath + " | Next: " + capitalise_first_letter(camel_case_decode(nextName)) + "]][/right]" localHeader += "\n" outData += codeBB.transcode(localHeader) #debug.info(localHeader) outData += codeBB.transcode(inData) outData += generic_footer tools.file_write_data(outputFileName, outData) for docInputName,outpath in my_lutin_doc.list_doc_file : debug.print_element("doc", my_lutin_doc.name, "<==", docInputName) outputFileName = outFolder + outpath + ".html" debug.debug("output file : " + outputFileName) tools.create_directory_of_file(outputFileName) inData = tools.file_read_data(docInputName) if inData == "": continue outData = generic_header + codeBB.transcode(inData) + generic_footer tools.file_write_data(outputFileName, outData)
#!/usr/bin/python import os import sys import re import monkTools as tools sys.path.append(tools.get_current_path(__file__) + "/ply/ply/") sys.path.append(tools.get_current_path(__file__) + "/codeBB/") sys.path.append(tools.get_current_path(__file__) + "/codeHL/") import lex import inspect import monkDebug as debug import monkClass as Class import monkNamespace as Namespace import monkStruct as Struct import monkUnion as Union import monkMethode as Methode import monkEnum as Enum import monkVariable as Variable import monkNode as Node import monkUsing as Using import monkTypedef as Typedef tokens = [ 'NUMBER', 'TEMPLATE', 'NAME', 'OPEN_PAREN',