make_doc_file.py 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. import shutil
  2. import os
  3. def make(path,modules,index_text):
  4. try:
  5. shutil.rmtree(path)
  6. except:
  7. pass
  8. os.mkdir(path)
  9. doc = open(path+"index.rst", "a+",encoding='utf-8')
  10. doc.write(index_text)
  11. for module in modules:
  12. mdoc = open(path+module["module"]+".md", "a+",encoding='utf-8')
  13. mdoc.write("# "+module["module"]+" - "+module["summary"]+"\n\n")
  14. if len(module["url"]) > 0:
  15. mdoc.write("> 本页文档由[这个文件]("+module["url"]+")自动生成。如有错误,请提交issue或帮忙修改后pr,谢谢!\n\n")
  16. if len(module["demo"]) > 0:
  17. mdoc.write("> 本库有专属demo,[点此链接查看"+module["module"]+"的demo例子]("+module["demo"]+")\n")
  18. if len(module["video"]) > 0:
  19. mdoc.write("> 本库还有视频教程,[点此链接查看]("+module["video"]+")\n\n")
  20. else:
  21. mdoc.write("\n")
  22. if len(module["usage"]) > 0:
  23. mdoc.write("**示例**\n\n")
  24. mdoc.write("```lua\n"+module["usage"]+"\n```\n\n")
  25. doc.write(" "+module["module"]+"\n")
  26. for api in module["api"]:
  27. mdoc.write("## "+api["api"]+"\n\n")
  28. mdoc.write(api["summary"]+"\n\n")
  29. mdoc.write("**参数**\n\n")
  30. if len(api["args"]) > 0:
  31. mdoc.write("|传入值类型|解释|\n|-|-|\n")
  32. for arg in api["args"]:
  33. mdoc.write("|"+arg["type"].replace("|","\|")+"|"+arg["summary"].replace("|","\|")+"|\n")
  34. mdoc.write("\n")
  35. else:
  36. mdoc.write("无\n\n")
  37. mdoc.write("**返回值**\n\n")
  38. if len(api["return"]) > 0:
  39. mdoc.write("|返回值类型|解释|\n|-|-|\n")
  40. for arg in api["return"]:
  41. mdoc.write("|"+arg["type"].replace("|","\|")+"|"+arg["summary"].replace("|","\|")+"|\n")
  42. mdoc.write("\n")
  43. else:
  44. mdoc.write("无\n\n")
  45. mdoc.write("**例子**\n\n")
  46. if len(api["usage"]) == 0:
  47. mdoc.write("无\n\n")
  48. else:
  49. mdoc.write("```lua\n"+api["usage"]+"\n```\n\n")
  50. mdoc.write("---\n\n")
  51. mdoc.close()
  52. doc.close()
  53. def get_description(api):
  54. s = api["api"]+" - "+api["summary"]+"\n"
  55. if len(api["args"]) > 0:
  56. s = s + "传入值:\n"
  57. for arg in api["args"]:
  58. s = s + arg["type"] + " " + arg["summary"]+"\n"
  59. if len(api["return"]) > 0:
  60. s = s + "返回值:\n"
  61. for arg in api["return"]:
  62. s = s + arg["type"] + " " + arg["summary"]+"\n"
  63. if len(api["usage"]) > 0:
  64. s = s + "例子:\n" + api["usage"]
  65. return s