forked from mikidown/mikidown
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfabfile.py
67 lines (46 loc) · 1.83 KB
/
fabfile.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# -*- coding: utf-8 -*-
import os
import glob
from fabric.api import env, local, run, cd, lcd, sudo, warn_only, prompt
HERE_PATH = os.path.abspath( os.path.dirname( __file__ ))
def docs_build():
"""Build the documentation to temp/docs_build"""
# copy some stuff
#local("cp ./images/favicon.* ./api_docs/_static/")
## run build
local("/usr/bin/python3 /usr/local/bin/sphinx-build -a -b html ./api_docs/ ./build/api_docs")
def docs_gen_rst():
"""Generetes .rst files for each py file"""
no_docs = [
"Qt",
"mikidown_rc"
]
mikidown_api = []
mdx = []
for file in sorted(os.listdir("%s/mikidown" % HERE_PATH)):
if file.endswith(".py"):
fn = file[0:-3]
if not fn in no_docs:
s = "%s.*\n" % fn
s += "===================================\n"
s += ".. automodule:: mikidown.%s\n\n" % fn
target = "%s/api_docs/api/%s.rst" % (HERE_PATH, fn)
rstfile = open(target, "w")
rstfile.write(s)
rstfile.close()
if fn[0:4] == "mdx_":
mdx.append(fn)
else:
mikidown_api.append(fn)
def make_write_toc(file_name, head, lst):
s = "\n%s\n===================================\n\n" % head
s += ".. toctree::\n"
s += "\t:maxdepth: 1\n\n"
for i in lst:
s += "\tapi/%s.rst\n" % i
s += "\n"
f = open("%s/api_docs/%s" % (HERE_PATH, file_name), "w")
f.write(s)
f.close()
make_write_toc("api_mikidown.rst", "Mikidown API", mikidown_api)
make_write_toc("api_markdown.rst", "Markdown Extentions", mdx)