1 Star 0 Fork 0

xtdumpling/developer-center

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
build.py 3.81 KB
一键复制 编辑 原始数据 按行查看 历史
Iceyer 提交于 2015-07-27 08:55 +08:00 . Adjust catory index page style
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
import shutil
import markdown
import codecs
from collections import defaultdict
if __name__ == "__main__":
print("Genarator mkdocs.yml")
shutil.copyfile("mkdocs.yml.base","mkdocs.yml")
if not os.path.exists("docs/index"):
os.makedirs("docs/index")
fpmkdocs = codecs.open("mkdocs.yml", mode="a+", encoding="utf-8")
directory = u"docs"
toc = defaultdict(list)
for root, dirs, files in os.walk(directory):
for file in files:
if file.endswith('.md'):
path = root + "/" + file
with codecs.open(path, mode="r", encoding="utf-8") as fin:
data = fin.read().splitlines(True)
data = data[1:]
text = ""
for l in data:
text += l
md = markdown.Markdown(extensions = ['meta'])
md.convert(text)
if not md.Meta.has_key("category"):
continue
category = md.Meta["category"]
title = md.Meta["title"]
if category[0] == u"index":
continue
path = path.replace(directory+"/", "", 1)
print(path, category, title)
page_item = u" - ['" + unicode(path) + u"', '"+ category[0] + u"', '" + title[0] + u"']"
print("Add:", page_item)
list_item = (title[0], path)
toc[category[0]].append(list_item)
fpmkdocs.write(page_item+"\n")
index = u'''<!--Meta
title:
category:首页
DO NOT Delete Meta Above-->
<div class="minecraft clearfix">\n
'''
for k, v in toc.items():
item_count = 0
cate = u'<div class="section section-api">'
head = '\t<h3>' + k + '</h3>\n'
cate += head
cate += '\t<ul class="list-unstyled" style="line-height: 120%;">\n'
for item in v:
if item_count >= 4:
break
if 0 == len(item[0]):
continue
item_count += 1
cate += '\t\t<li><a href="' + item[1][:-3]+ '">' + item[0]+ '</a></li>\n'
if item_count >= 4:
cate += '\t\t<li><a href="/index/'+ k +'">More>></li>'
cate += '\t</ul>\n'
cate += '\t</div>\n'
if 0 == item_count:
cate = u''
index += cate
index += '</div>\n'
fp = codecs.open("docs/index.md", mode="w", encoding="utf-8")
fp.write(index)
fp.close()
#create index.md of catory
for k, v in toc.items():
if k == u'首页':
page_item = " - ['" + "index.md" + "', '"+ "index" + "', '" + k + "']"
print("Add:", page_item)
fpmkdocs.write(page_item+"\n")
continue
indexfile="docs/index/"+k+".md"
relativepath ="index/"+k+".md"
index = u'''<!--Meta
title:{}
category:index
DO NOT Delete Meta Above-->
<div class="minecraft clearfix">\n
'''
index = index.format(k)
cate = '<div>\n'
head = '\t<h2>' + k + '</h2>\n'
cate += head
cate += '\t<ul class="list-unstyled" style="line-height: 200%; font-size: 150%">\n'
for item in v:
if 0 == len(item[0]):
continue
cate += '\t\t<li><a href="/' + item[1][:-3]+ '">' + item[0]+ '</a></li>\n'
item_count += 1
cate += '\t</ul>\n'
cate += '\t</div>\n'
if 0 == item_count:
cate = u''
index += cate
index += '</div>\n'
index += '</div>\n'
page_item = " - ['" + relativepath + "', '"+ "index" + "', '" + k + "']"
print("Add:", page_item)
fpmkdocs.write(page_item+"\n")
fp = codecs.open(indexfile, mode="w", encoding="utf-8")
fp.write(index)
fp.close()
fp.close()
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
CSS
1
https://gitee.com/xtdumpling/developer-center.git
git@gitee.com:xtdumpling/developer-center.git
xtdumpling
developer-center
developer-center
master

搜索帮助