Просмотр исходного кода

[fix] fix toc for docs, url for local and other fixes #2293 (#2346)

version-14
Rushabh Mehta 8 лет назад
committed by GitHub
Родитель
Сommit
3c7c17215d
9 измененных файлов: 25 добавлений и 15 удалений
  1. +0
    -0
      frappe/docs/assets/img/app-development/__init__.py
  2. +0
    -0
      frappe/docs/assets/img/portals/__init__.py
  3. +1
    -1
      frappe/docs/contents.py
  4. +1
    -1
      frappe/templates/autodoc/contents.py
  5. +1
    -1
      frappe/templates/autodoc/pymodule.html
  6. +1
    -1
      frappe/templates/includes/full_index.html
  7. +12
    -6
      frappe/utils/setup_docs.py
  8. +3
    -3
      frappe/website/router.py
  9. +6
    -2
      frappe/website/utils.py

+ 0
- 0
frappe/docs/assets/img/app-development/__init__.py Просмотреть файл


+ 0
- 0
frappe/docs/assets/img/portals/__init__.py Просмотреть файл


+ 1
- 1
frappe/docs/contents.py Просмотреть файл

@@ -6,4 +6,4 @@ import frappe
from frappe.website.utils import get_full_index

def get_context(context):
context.full_index = get_full_index(extn = True)
context.full_index = get_full_index()

+ 1
- 1
frappe/templates/autodoc/contents.py Просмотреть файл

@@ -6,4 +6,4 @@ import frappe
from frappe.website.utils import get_full_index

def get_context(context):
context.full_index = get_full_index(extn = True)
context.full_index = get_full_index()

+ 1
- 1
frappe/templates/autodoc/pymodule.html Просмотреть файл

@@ -4,7 +4,7 @@
version -%}
<div class="dev-header">
{{ version(app.name) }}
{{ source_link(app, name.replace(".", "/") + ".py") }}
{{ source_link(app, full_module_name.replace(".", "/") + ".py") }}
</div>

{{ automodule(name) }}


+ 1
- 1
frappe/templates/includes/full_index.html Просмотреть файл

@@ -2,7 +2,7 @@
<ol>
{% for item in children_map[route] %}
<li>
<a href="{{ url_prefix }}{{ item.route }}">{{ item.title }}</a>
<a href="{{ url_prefix }}{{ item.route }}{{ item.extn or "" }}">{{ item.title }}</a>
{% if children_map[item.route] %}
{{ make_item_list(item.route, children_map) }}
{% endif %}


+ 12
- 6
frappe/utils/setup_docs.py Просмотреть файл

@@ -17,8 +17,9 @@ class setup_docs(object):
"""
self.app = app

frappe.local.flags.web_pages_folders = ['docs',]
frappe.local.flags.web_pages_apps = [self.app,]

frappe.flags.web_pages_folders = ['docs',]
frappe.flags.web_pages_apps = [self.app,]

self.hooks = frappe.get_hooks(app_name = self.app)
self.app_title = self.hooks.get("app_title")[0]
@@ -160,6 +161,8 @@ class setup_docs(object):
self.target = target
self.local = local

frappe.flags.local_docs = local

if self.local:
self.docs_base_url = ""
else:
@@ -191,8 +194,10 @@ class setup_docs(object):

for f in files:
if f.endswith(".py"):
module_name = os.path.relpath(os.path.join(basepath, f),
self.app_path)[:-3].replace("/", ".").replace(".__init__", "")
full_module_name = os.path.relpath(os.path.join(basepath, f),
self.app_path)[:-3].replace("/", ".")

module_name = full_module_name.replace(".__init__", "")

module_doc_path = os.path.join(module_folder,
self.app + "." + module_name + ".html")
@@ -204,6 +209,7 @@ class setup_docs(object):
with open(module_doc_path, "w") as f:
context = {"name": self.app + "." + module_name}
context.update(self.app_context)
context['full_module_name'] = self.app + '.' + full_module_name
f.write(frappe.render_template("templates/autodoc/pymodule.html",
context).encode('utf-8'))

@@ -269,7 +275,7 @@ class setup_docs(object):

def write_files(self):
"""render templates and write files to target folder"""
frappe.local.flags.home_page = "index"
frappe.flags.home_page = "index"

from frappe.website.router import get_pages, make_toc
pages = get_pages(self.app)
@@ -346,7 +352,7 @@ class setup_docs(object):

html = frappe.render_template(context.source, context)

html = make_toc(context, html)
html = make_toc(context, html, self.app)

if not "<!-- autodoc -->" in html:
html = html.replace('<!-- edit-link -->',


+ 3
- 3
frappe/website/router.py Просмотреть файл

@@ -249,12 +249,12 @@ def setup_index(page_info):
if os.path.exists(index_txt_path):
page_info.index = open(index_txt_path, 'r').read().splitlines()

def make_toc(context, out):
def make_toc(context, out, app=None):
'''Insert full index (table of contents) for {index} tag'''
from frappe.website.utils import get_full_index
if '{index}' in out:
html = frappe.get_template("templates/includes/full_index.html").render({
"full_index": get_full_index(),
"full_index": get_full_index(app=app),
"url_prefix": context.url_prefix or "/",
"route": context.route
})
@@ -264,7 +264,7 @@ def make_toc(context, out):
if '{next}' in out:
# insert next link
next_item = None
children_map = get_full_index()
children_map = get_full_index(app=app)
parent_route = os.path.dirname(context.route)
children = children_map[parent_route]



+ 6
- 2
frappe/website/utils.py Просмотреть файл

@@ -182,23 +182,27 @@ def abs_url(path):
path = "/" + path
return path

def get_full_index(route=None, extn = False):
def get_full_index(route=None, app=None):
"""Returns full index of the website for www upto the n-th level"""
if not frappe.local.flags.children_map:
from frappe.website.router import get_pages
children_map = {}
pages = get_pages()
pages = get_pages(app=app)

# make children map
for route, page_info in pages.iteritems():
parent_route = os.path.dirname(route)
children_map.setdefault(parent_route, []).append(page_info)

if frappe.flags.local_docs:
page_info.extn = '.html'

# order as per index if present
for route, children in children_map.items():
page_info = pages[route]
if page_info.index:
new_children = []
page_info.extn = ''
for name in page_info.index:
child_route = page_info.route + '/' + name
if child_route in pages:


Загрузка…
Отмена
Сохранить