',
+ value,
+ flags=re.DOTALL)
+
+
return value
-def replace_wiki_identation(match):
+def replace_wiki_identation_1(match):
if match.group() == "":
return ""
#debug.verbose("plop: " + str(match.group()))
- value = "
"
- value += re.sub(r':INDENT:',
+ value = "
\n"
+ value += re.sub(r':INDENT_1:',
r'',
match.group())
- value += "
"
- return transcode(value)
+ value += "\n
"
+
+ p = re.compile('((\:INDENT_2\:(.*?)\n)*)',
+ flags=re.DOTALL)
+ value = p.sub(replace_wiki_identation_2,
+ value)
+
+ return value
+
+def replace_wiki_identation_2(match):
+ if match.group() == "":
+ return ""
+ #debug.verbose("plop: " + str(match.group()))
+ value = "
\n"
+ value += re.sub(r':INDENT_2:',
+ r'',
+ match.group())
+ value += "\n
"
+
+ p = re.compile('((\:INDENT_3\:(.*?)\n)*)',
+ flags=re.DOTALL)
+ value = p.sub(replace_wiki_identation_3,
+ value)
+
+ return value
+
+def replace_wiki_identation_3(match):
+ if match.group() == "":
+ return ""
+ #debug.verbose("plop: " + str(match.group()))
+ value = "
\n"
+ value += re.sub(r':INDENT_3:',
+ r'',
+ match.group())
+ value += "\n
"
+ return value
+
+
diff --git a/monk/codeMarkDown/MD_Link.py b/monk/codeMarkDown/MD_Link.py
index 5d9faab..1419aa9 100644
--- a/monk/codeMarkDown/MD_Link.py
+++ b/monk/codeMarkDown/MD_Link.py
@@ -1,7 +1,7 @@
#!/usr/bin/python
from realog import debug
import sys
-import monkTools
+from monk import tools
import re
@@ -14,9 +14,9 @@ import re
## @param[in] value String to transform.
## @return Transformed string.
##
-def transcode(value):
-
+def transcode(value, _base_path):
+ """
# named link : [[http://plop.html | link name]]
value = re.sub(r'\[\[http://(.*?) \| (.*?)\]\]',
r'\2',
@@ -26,6 +26,15 @@ def transcode(value):
value = re.sub(r'\[\[http://(.*?)\]\]',
r'http://\1',
value)
+ # named link : [[https://plop.html | link name]]
+ value = re.sub(r'\[\[https://(.*?) \| (.*?)\]\]',
+ r'\2',
+ value)
+
+ # direct link : [[https://plop.html]]
+ value = re.sub(r'\[\[https://(.*?)\]\]',
+ r'http://\1',
+ value)
# direct lib link : [lib[libname]]
value = re.sub(r'\[lib\[(.*?) \| (.*?)\]\]',
@@ -43,27 +52,42 @@ def transcode(value):
value = re.sub(r'\[(lib|class|methode)\[(.*?)\]\]',
replace_link_class,
value)
-
"""
- p = re.compile('\[\[(.*?)(|(.*?))\]\])',
- flags=re.DOTALL)
+ if len(_base_path) != 0:
+ base_path = (_base_path + '/').replace('/','__')
+ else:
+ base_path = ""
+ # named image : 
+ value = re.sub(r'\[(.*?)\][ \t]*\(http://(.*?)\)',
+ r'\1',
+ value)
+ value = re.sub(r'\[(.*?)\][ \t]*\(https://(.*?)\)',
+ r'\1',
+ value)
+ """
+ value = re.sub(r'\[(.*?)\][ \t]*\((.*?)\.md\)',
+ r'\1',
+ value)
+ """
+ p = re.compile('\[(.*?)\][ \t]*\((.*?)\.md\)')
value = p.sub(replace_link,
value)
- """
+ p = re.compile('\[(.*?)\][ \t]*\((.*?)\)')
+ value = p.sub(replace_link,
+ value)
+
return value
-"""
+
def replace_link(match):
if match.group() == "":
return ""
- #debug.verbose("plop: " + str(match.group()))
- value = "
"
- value += re.sub(r':INDENT:',
- r'',
- match.group())
- value += "
"
- return transcode(value)
-"""
+ debug.verbose("plop: " + str(match.group()))
+ value = '' + match.groups()[0] + ''
+ return value
+
def replace_link_class(match):
if match.group() == "":
diff --git a/monk/codeMarkDown/MD_ResultSelection.py b/monk/codeMarkDown/MD_ResultSelection.py
new file mode 100644
index 0000000..1a6ab97
--- /dev/null
+++ b/monk/codeMarkDown/MD_ResultSelection.py
@@ -0,0 +1,32 @@
+#!/usr/bin/python
+from realog import debug
+import sys
+from monk import tools
+import re
+
+
+##
+## @brief Transcode
+## commencez les lignes par:
+##
+def transcode(value, _base_path = ""):
+ p = re.compile('\[([a-zA-Z0-9_-\| ]*)\]',
+ flags=re.DOTALL)
+ value = p.sub(replace_result_list,
+ value)
+ return value
+
+
+def replace_result_list(match):
+ if match.group() == "":
+ return ""
+ debug.warning("parse RESULT ... : '" + str(match.group()) + "'")
+ value = '
'
+ tmpppp = match.group().replace("]", "").replace("[", "").replace("\n", "").split('|')
+ for elem in tmpppp:
+ if len(elem) == 0:
+ continue
+ value += '
' + elem + "
"
+ value += "
"
+ debug.warning(" ==> out " + value)
+ return value
diff --git a/monk/codeMarkDown/MD_Specification.py b/monk/codeMarkDown/MD_Specification.py
index 8c38845..fb7ce0c 100644
--- a/monk/codeMarkDown/MD_Specification.py
+++ b/monk/codeMarkDown/MD_Specification.py
@@ -1,7 +1,7 @@
#!/usr/bin/python
from realog import debug
import sys
-import monkTools
+from monk import tools
import re
@@ -10,7 +10,7 @@ import re
## @param[in] value String to transform.
## @return Transformed string.
##
-def transcode(value):
+def transcode(value, _base_path):
return value
diff --git a/monk/codeMarkDown/MD_Table.py b/monk/codeMarkDown/MD_Table.py
index 2144253..f641628 100644
--- a/monk/codeMarkDown/MD_Table.py
+++ b/monk/codeMarkDown/MD_Table.py
@@ -1,20 +1,15 @@
#!/usr/bin/python
from realog import debug
import sys
-import monkTools
+from monk import tools
import re
##
## @brief Transcode table:
-## { | tableau_type_1
-## | [b]colone 1[/b]
-## ligne 1
-## | colone 2 ligne 1
-## |---
-## | colone 1 ligne 1
-## | colone 2 ligne 2
-## |}
+## | colone 1 ||
+## | ligne 1 | colone 2 ligne 1 |
+## | colone 1 ligne 1 | colone 2 ligne 2|
## Avec autant de ligne et de colone que vous voullez..
## Il est possible de faire des retour a la ligne dans une case du tableau...
## En bref sa tend a marcher comme sur un Wiki...
@@ -28,15 +23,40 @@ import re
## | colone 1 ligne 1 | colone 2 ligne 2 |
## +------------------+------------------+
##
-## TODO : Create simple table like :
-## | colone 1 ||
-## | ligne 1 | colone 2 ligne 1 |
-## | colone 1 ligne 1 | colone 2 ligne 2|
## @param[in] value String to transform.
## @return Transformed string.
##
-def transcode(value):
+def transcode(value, _base_path):
+ p = re.compile('((\n\|(.*)\|)*)',
+ flags=re.DOTALL)
+ value = p.sub(replace_table,
+ value)
return value
+
+def replace_table(match):
+ if match.group() == "":
+ return ""
+ #debug.verbose("plop: " + str(match.group()))
+ value = "
"
+ p = re.compile('\n(.*)')
+ value += p.sub(replace_table_line,
+ match.group())
+ value += "
"
+ return value
+
+def replace_table_line(match):
+ if match.group() == "":
+ return ""
+ debug.warning("parse LINE ... : '" + str(match.group()) + "'")
+ value = "
"
+ tmpppp = match.group().replace("\n", "").split('|')
+ for elem in tmpppp:
+ if len(elem) == 0:
+ continue
+ value += "
" + elem + "
"
+ value += "
"
+ debug.warning(" ==> out " + value)
+ return value
diff --git a/monk/codeMarkDown/MD_Text.py b/monk/codeMarkDown/MD_Text.py
index a70d840..2740b7f 100644
--- a/monk/codeMarkDown/MD_Text.py
+++ b/monk/codeMarkDown/MD_Text.py
@@ -1,7 +1,7 @@
#!/usr/bin/python
from realog import debug
import sys
-import monkTools
+from monk import tools
import re
@@ -21,7 +21,7 @@ import re
## @param[in] string String to transform.
## @return Transformed string.
##
-def transcode(value):
+def transcode(value, _base_path):
value = re.sub(r'\*\*(.*?)\*\*',
r'\1',
@@ -36,11 +36,12 @@ def transcode(value):
r'\1',
value,
flags=re.DOTALL)
+ """
value = re.sub(r'_(.*?)_',
r'\1',
value,
flags=re.DOTALL)
-
+ """
value = re.sub(r'____(.*?)\n',
r'',
value,
diff --git a/monk/codeMarkDown/MD_Title.py b/monk/codeMarkDown/MD_Title.py
index d010915..53a9074 100644
--- a/monk/codeMarkDown/MD_Title.py
+++ b/monk/codeMarkDown/MD_Title.py
@@ -1,7 +1,7 @@
#!/usr/bin/python
from realog import debug
import sys
-import monkTools
+from monk import tools
import re
@@ -16,7 +16,7 @@ import re
## @param[in] value String to transform.
## @return Transformed string.
##
-def transcode(value):
+def transcode(value, _base_path):
value = "\n" + value
diff --git a/monk/codeMarkDown/MD_comment.py b/monk/codeMarkDown/MD_comment.py
index c37f610..8558e06 100644
--- a/monk/codeMarkDown/MD_comment.py
+++ b/monk/codeMarkDown/MD_comment.py
@@ -1,7 +1,7 @@
#!/usr/bin/python
from realog import debug
import sys
-import monkTools
+from monk import tools
import re
_comment_code = "[comment]:"
@@ -11,7 +11,7 @@ _comment_code = "[comment]:"
## @param[in] value String to transform.
## @return Transformed string.
##
-def transcode(value):
+def transcode(value, _base_path):
out = "";
for elem in value.split("\n"):
if len(elem) >= len(_comment_code) \
diff --git a/monk/codeMarkDown/MD_lineReturn.py b/monk/codeMarkDown/MD_lineReturn.py
index 64a94d8..a571743 100644
--- a/monk/codeMarkDown/MD_lineReturn.py
+++ b/monk/codeMarkDown/MD_lineReturn.py
@@ -1,7 +1,7 @@
#!/usr/bin/python
from realog import debug
import sys
-import monkTools
+from monk import tools
import re
@@ -11,7 +11,7 @@ import re
## @param[in] value String to transform.
## @return Transformed string.
##
-def transcode(value):
+def transcode(value, _base_path):
value = re.sub(r'\r\n',
r'\n',
diff --git a/monk/codeMarkDown/codeMarkDown.py b/monk/codeMarkDown/__init__.py
similarity index 54%
rename from monk/codeMarkDown/codeMarkDown.py
rename to monk/codeMarkDown/__init__.py
index b482734..3fa67c2 100644
--- a/monk/codeMarkDown/codeMarkDown.py
+++ b/monk/codeMarkDown/__init__.py
@@ -1,7 +1,7 @@
#!/usr/bin/python
from realog import debug
import sys
-import monkTools
+from monk import tools
import re
"""
import BB_Link
@@ -15,13 +15,17 @@ import MD_IndentAndDot
import MD_Title
import MD_comment
import MD_lineReturn
+import MD_Image
import MD_Code
+import MD_Link
+import MD_Table
+import MD_ResultSelection
##
## @brief Transcode input data in the corect format.
## @param[in] string String to transform.
## @return Transformed string.
##
-def transcode(value):
+def transcode(value, _base_path = ""):
# remove html property
value = re.sub(r'&', r'&', value)
value = re.sub(r'<', r'<', value)
@@ -29,19 +33,20 @@ def transcode(value):
value = re.sub(r'\r\n', r'\n', value)
value = re.sub(r'\n\r', r'\n', value)
value = re.sub(r'\r', r'\n', value)
- value = MD_comment.transcode(value)
- value = MD_Title.transcode(value)
- value = MD_IndentAndDot.transcode(value)
- value = MD_Code.transcode(value)
- value = MD_lineReturn.transcode(value)
- value = MD_Text.transcode(value)
+ value = MD_comment.transcode(value, _base_path)
+ value = MD_Title.transcode(value, _base_path)
+ value = MD_IndentAndDot.transcode(value, _base_path)
+ value = MD_Code.transcode(value, _base_path)
+ value = MD_lineReturn.transcode(value, _base_path)
+ value = MD_Text.transcode(value, _base_path)
"""
- value = BB_Text.transcode(value)
- value = BB_Link.transcode(value)
- value = BB_Image.transcode(value)
- value = BB_Table.transcode(value)
- value = BB_Specification.transcode(value)
+ value = BB_Text.transcode(value, _base_path)
+ value = BB_Specification.transcode(value, _base_path)
"""
+ value = MD_Table.transcode(value, _base_path)
+ value = MD_Image.transcode(value, _base_path)
+ value = MD_Link.transcode(value, _base_path)
+ value = MD_ResultSelection.transcode(value, _base_path)
value = MD_Code.transcode_part2(value)
return value
@@ -50,12 +55,12 @@ def transcode(value):
## @return True if the file is transformed
##
def transcode_file(inputFileName, outputFileName):
- inData = monkTools.file_read_data(inputFileName)
+ inData = tools.file_read_data(inputFileName)
if inData == "":
return False
outData = transcode(inData)
debug.warning(" out: " + outputFileName)
- monkTools.file_write_data(outputFileName, outData)
+ tools.file_write_data(outputFileName, outData)
return True
diff --git a/monk/module.py b/monk/module.py
index 7fc2d3d..89e7608 100644
--- a/monk/module.py
+++ b/monk/module.py
@@ -4,10 +4,10 @@ import os
import inspect
import fnmatch
from realog import debug
-import monkTools as tools
-import monkNode as Node
-import monkParse as Parse
-import monkHtml
+from . import tools
+from . import monkNode as Node
+from . import monkParse as Parse
+from . import monkHtml
import re
import json
@@ -30,7 +30,10 @@ class Module:
# Name of the module
self.name=moduleName
self.list_doc_file = []
+ self.list_image_file = []
self.list_tutorial_file = []
+ self.list_manual_file = []
+ self.list_test_file = []
self.web_site = ""
self.web_source = ""
self.path_parsing = ""
@@ -115,9 +118,9 @@ class Module:
tmpList = fnmatch.filter(filenames, "*.hpp")
# Import the module :
for filename in tmpList:
- fileCompleteName = os.path.join(root, filename)
- debug.debug(" Find a file : '" + fileCompleteName + "'")
- self.add_file(fileCompleteName)
+ file_complete_name = os.path.join(root, filename)
+ debug.debug(" Find a file : '" + file_complete_name + "'")
+ self.add_file(file_complete_name)
# all file is parset ==> now we create the namespacing of all elements:
self.structure_lib.set_namespace()
self.structure_lib.set_module_link(self)
@@ -130,19 +133,36 @@ class Module:
tmpList = fnmatch.filter(filenames, "*.md")
# Import the module :
for filename in tmpList:
- fileCompleteName = os.path.join(root, filename)
- tutorialPath = os.path.join(self.path_global_doc, "tutorial/")
- pathBase = fileCompleteName[len(self.path_global_doc):len(fileCompleteName)-3]
- while len(pathBase) > 0 \
- and pathBase[0] == '/':
- pathBase = pathBase[1:]
- debug.verbose(" Find a doc file : fileCompleteName='" + fileCompleteName + "'")
- if fileCompleteName[:len(tutorialPath)] == tutorialPath:
- debug.warning("add_tutorial_doc : '" + fileCompleteName + "' ==> '" + pathBase + "'")
- self.add_tutorial_doc(fileCompleteName, pathBase)
+ file_complete_name = os.path.join(root, filename)
+ tutorial_path = os.path.join(self.path_global_doc, "tutorial/")
+ test_path = os.path.join(self.path_global_doc, "test/")
+ manual_path = os.path.join(self.path_global_doc, "manual/")
+ path_base = file_complete_name[len(self.path_global_doc):len(file_complete_name)-3]
+ while len(path_base) > 0 \
+ and path_base[0] == '/':
+ path_base = path_base[1:]
+ debug.verbose(" Find a doc file : file_complete_name='" + file_complete_name + "'")
+ if file_complete_name[:len(tutorial_path)] == tutorial_path:
+ debug.warning("add_tutorial_doc : '" + file_complete_name + "' ==> '" + path_base + "'")
+ self.add_tutorial_doc(file_complete_name, path_base)
+ elif file_complete_name[:len(test_path)] == test_path:
+ debug.warning("add_test_doc : '" + file_complete_name + "' ==> '" + path_base + "'")
+ self.add_test_doc(file_complete_name, path_base)
+ elif file_complete_name[:len(manual_path)] == manual_path:
+ debug.warning("add_user_manual_doc : '" + file_complete_name + "' ==> '" + path_base + "'")
+ self.add_user_manual_doc(file_complete_name, path_base)
else:
- debug.warning("add_file_doc : '" + fileCompleteName + "' ==> '" + pathBase + "'")
- self.add_file_doc(fileCompleteName, pathBase)
+ debug.warning("add_file_doc : '" + file_complete_name + "' ==> '" + path_base + "'")
+ self.add_file_doc(file_complete_name, path_base)
+ for root, dirnames, filenames in os.walk(self.path_global_doc):
+ for filename in filenames:
+ if not filename.endswith(('.jpg', '.JPG', '.jpeg', '.JPEG', '.png', '.PNG', '.svg', '.SVG', '.gif', '.GIF', '.tga', '.TGA')):
+ continue
+ file_complete_name = os.path.join(root, filename)
+ path_base = file_complete_name[len(self.path_global_doc)+1:]
+ debug.verbose(" Find a doc file : file_complete_name='" + file_complete_name + "'")
+ debug.warning("add_image_doc: '" + file_complete_name + "' ==> '" + path_base + "'")
+ self.add_image_doc(file_complete_name, path_base)
##
## @brief Sort a list of n element containing a list of element (order with the first)
@@ -181,6 +201,24 @@ class Module:
self.list_doc_file.append([filename, outPath])
self.list_doc_file = self.sort_list_first_elem(self.list_doc_file)
+ ##
+ ## @brief Add a documentation image file to copy to the output
+ ## @param[in] filename File To add in the output documentation.
+ ## @param[in] outPath output system file.
+ ## @return True if no error occured, False otherwise
+ ##
+ def add_image_doc(self, filename, outPath):
+ debug.debug("adding file in documantation : '" + filename + "'");
+ done = False
+ for iii in range(0,len(self.list_image_file)):
+ if self.list_image_file[iii][0] > filename:
+ self.list_image_file.insert(iii, [filename, outPath])
+ done = True
+ break
+ if done == False:
+ self.list_image_file.append([filename, outPath])
+ self.list_image_file = self.sort_list_first_elem(self.list_image_file)
+
##
## @brief Add a documentation file at the parsing system
## @param[in] filename File To add at the parsing element system.
@@ -188,7 +226,7 @@ class Module:
## @return True if no error occured, False otherwise
##
def add_tutorial_doc(self, filename, outPath):
- count = int(filename.split('/')[-1].split('_')[0])
+ #count = int(filename.split('/')[-1].split('_')[0])
debug.debug("adding file in documantation : '" + filename + "'");
done = False
for iii in range(0,len(self.list_tutorial_file)):
@@ -201,6 +239,45 @@ class Module:
self.list_tutorial_file = self.sort_list_first_elem(self.list_tutorial_file)
+ ##
+ ## @brief Add a documentation file at the parsing system
+ ## @param[in] filename File To add at the parsing element system.
+ ## @param[in] outPath output system file.
+ ## @return True if no error occured, False otherwise
+ ##
+ def add_user_manual_doc(self, filename, outPath):
+ #count = int(filename.split('/')[-1].split('_')[0])
+ debug.debug("adding file in user manual documantation : '" + filename + "'");
+ done = False
+ for iii in range(0,len(self.list_tutorial_file)):
+ if self.list_manual_file[iii][0] > filename:
+ self.list_manual_file.insert(iii, [filename, outPath])
+ done = True
+ break
+ if done == False:
+ self.list_manual_file.append([filename, outPath])
+ self.list_manual_file = self.sort_list_first_elem(self.list_manual_file)
+
+ ##
+ ## @brief Add a documentation file at the parsing system
+ ## @param[in] filename File To add at the parsing element system.
+ ## @param[in] outPath output system file.
+ ## @return True if no error occured, False otherwise
+ ##
+ def add_test_doc(self, filename, outPath):
+ #count = int(filename.split('/')[-1].split('_')[0])
+ debug.debug("adding file in test documantation : '" + filename + "'");
+ done = False
+ for iii in range(0,len(self.list_tutorial_file)):
+ if self.list_test_file[iii][0] > filename:
+ self.list_test_file.insert(iii, [filename, outPath])
+ done = True
+ break
+ if done == False:
+ self.list_test_file.append([filename, outPath])
+ self.list_test_file = self.sort_list_first_elem(self.list_test_file)
+
+
##
## @brief Add a file at the parsing system
## @param[in] filename File To add at the parsing element system.
diff --git a/monk/monkClass.py b/monk/monkClass.py
index ed44ea4..56c450d 100644
--- a/monk/monkClass.py
+++ b/monk/monkClass.py
@@ -1,7 +1,7 @@
#!/usr/bin/python
from realog import debug
-import monkNode as Node
-import monkModule as module
+from . import monkNode as Node
+from . import module
##
diff --git a/monk/monkEnum.py b/monk/monkEnum.py
index 758cd10..65f4613 100644
--- a/monk/monkEnum.py
+++ b/monk/monkEnum.py
@@ -1,6 +1,6 @@
#!/usr/bin/python
from realog import debug
-import monkNode as Node
+from . import monkNode as Node
class Enum(Node.Node):
def __init__(self, stack=[], file="", lineNumber=0, documentation=[]):
diff --git a/monk/monkHtml.py b/monk/monkHtml.py
index dbbe2fe..b150cb9 100644
--- a/monk/monkHtml.py
+++ b/monk/monkHtml.py
@@ -5,11 +5,11 @@ from . import tools
#import CppHeaderParser
import os
import re
-import codeBB
-import codeMarkDown
+from . import codeBB
+from . import codeMarkDown
import collections
-import monkModule as module
-import monkNode as node
+from . import module
+from . import monkNode as node
htmlCodes = (
('&', '&'),
@@ -310,9 +310,12 @@ def write_methode(element, namespaceStack, displaySize = None, link = True):
ret += ' '
return ret
-def generate_stupid_index_page(outFolder, header, footer, my_lutin_doc):
+def generate_stupid_index_page(my_lutin_doc, out_folder):
+ header = create_generic_header(my_lutin_doc, out_folder)
+ footer = create_generic_footer(my_lutin_doc, out_folder)
+
# create index.hml :
- filename = outFolder + "/index.html"
+ filename = out_folder + "/index.html"
tools.create_directory_of_file(filename);
file = open(filename, "w")
file.write(header)
@@ -324,15 +327,19 @@ def generate_stupid_index_page(outFolder, header, footer, my_lutin_doc):
file.write(footer)
file.close();
-def generate_page(outFolder, header, footer, element, name_lib=""):
+def generate_page(my_lutin_doc, out_folder, element, name_lib=""):
+
+ header = create_generic_header(my_lutin_doc, out_folder)
+ footer = create_generic_footer(my_lutin_doc, out_folder)
+
debug.print_element("code-doc", name_lib, "<==", element.name)
currentPageSite = element.get_doc_website_page()
namespaceStack = element.get_namespace()
if element.get_node_type() in ['library', 'application', 'namespace', 'class', 'struct', 'enum', 'union', 'using']:
listBase = element.get_all_sub_type(['library', 'application', 'namespace', 'class', 'struct', 'enum', 'union', 'using'])
for elem in listBase:
- generate_page(outFolder, header, footer, elem['node'], name_lib)
- filename = outFolder + '/' + generate_html_page_name(element)
+ generate_page(out_folder, header, footer, elem['node'], name_lib)
+ filename = out_folder + '/' + generate_html_page_name(element)
tools.create_directory_of_file(filename);
file = open(filename, "w")
file.write(header)
@@ -627,11 +634,10 @@ def generate_page(outFolder, header, footer, element, name_lib=""):
-
-def generate(my_lutin_doc, outFolder) :
+def create_generic_header(my_lutin_doc, out_folder) :
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")
+ tools.copy_file(tools.get_current_path(__file__)+"/theme/base.css", out_folder+"/base.css")
+ tools.copy_file(tools.get_current_path(__file__)+"/theme/menu.css", out_folder+"/menu.css")
# create common header
generic_header = '\n'
generic_header += '\n'
@@ -650,40 +656,79 @@ def generate(my_lutin_doc, outFolder) :
generic_header += '