예제 #1
0
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
예제 #2
0
파일: monk_ewol.py 프로젝트: biddyweb/ewol
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
예제 #3
0
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
예제 #4
0
파일: monkModule.py 프로젝트: HeeroYui/monk
	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)
예제 #5
0
파일: monk_edn.py 프로젝트: fossabot/edn
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
예제 #6
0
파일: monkHtml.py 프로젝트: HeeroYui/monk
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() + '">&nbsp;&nbsp;&nbsp;[ 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)
예제 #7
0
파일: monkParse.py 프로젝트: HeeroYui/monk
#!/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',