diff --git a/frappe/commands/docs.py b/frappe/commands/docs.py index 4f52eac73d..92daaffa58 100644 --- a/frappe/commands/docs.py +++ b/frappe/commands/docs.py @@ -4,6 +4,28 @@ import os import frappe from frappe.commands import pass_context + +@click.command('write-docs') +@pass_context +@click.argument('app') +@click.option('--target', default=None) +@click.option('--local', default=False, is_flag=True, help='Run app locally') +def write_docs(context, app, target=None, local=False): + "Setup docs in target folder of target app" + from frappe.utils.setup_docs import setup_docs + + if not target: + target = os.path.abspath(os.path.join("..", "docs", app)) + + for site in context.sites: + try: + frappe.init(site=site) + frappe.connect() + make = setup_docs(app) + make.make_docs(target, local) + finally: + frappe.destroy() + @click.command('build-docs') @pass_context @click.argument('app') @@ -51,5 +73,6 @@ def _build_docs_once(site, app, docs_version, target, local, only_content_update frappe.destroy() commands = [ - build_docs + build_docs, + write_docs, ] diff --git a/frappe/config/docs.py b/frappe/config/docs.py index b045c15e76..dd90839762 100644 --- a/frappe/config/docs.py +++ b/frappe/config/docs.py @@ -22,7 +22,7 @@ ERP for managing small and medium sized businesses. [Get started with the Tutorial](https://frappe.github.io/frappe/user/) """ -docs_version = "6.x.x" +docs_version = "7.x.x" def get_context(context): context.top_bar_items = [ diff --git a/frappe/docs/__init__.py b/frappe/docs/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/frappe/docs/assets/__init__.py b/frappe/docs/assets/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/frappe/docs/assets/img/__init__.py b/frappe/docs/assets/img/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/frappe/docs/user/__init__.py b/frappe/docs/user/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/frappe/docs/user/en/__init__.py b/frappe/docs/user/en/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/frappe/docs/user/en/bench/__init__.py b/frappe/docs/user/en/bench/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/frappe/docs/user/en/bench/guides/__init__.py b/frappe/docs/user/en/bench/guides/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/frappe/docs/user/en/bench/resources/__init__.py b/frappe/docs/user/en/bench/resources/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/frappe/docs/user/en/guides/__init__.py b/frappe/docs/user/en/guides/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/frappe/docs/user/en/guides/app-development/__init__.py b/frappe/docs/user/en/guides/app-development/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/frappe/docs/user/en/guides/app-development/using-html-templates-in-javascript.md b/frappe/docs/user/en/guides/app-development/using-html-templates-in-javascript.md index db0cd90b4c..e2e9123b76 100755 --- a/frappe/docs/user/en/guides/app-development/using-html-templates-in-javascript.md +++ b/frappe/docs/user/en/guides/app-development/using-html-templates-in-javascript.md @@ -14,8 +14,7 @@ To render a template, From `erpnext/public/js/templates/address_list.js` - -

{% for(var i=0, l=addr_list.length; i @@ -34,7 +33,7 @@ From `erpnext/public/js/templates/address_list.js` {% } %} {% if(!addr_list.length) { %}

{%= __("No address added yet.") %}

- {% } %} + {% } %}{% endraw %} diff --git a/frappe/docs/user/en/guides/basics/__init__.py b/frappe/docs/user/en/guides/basics/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/frappe/docs/user/en/guides/data/__init__.py b/frappe/docs/user/en/guides/data/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/frappe/docs/user/en/guides/deployment/__init__.py b/frappe/docs/user/en/guides/deployment/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/frappe/docs/user/en/guides/integration/__init__.py b/frappe/docs/user/en/guides/integration/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/frappe/docs/user/en/guides/portal-development/__init__.py b/frappe/docs/user/en/guides/portal-development/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/frappe/docs/user/en/guides/reports-and-printing/__init__.py b/frappe/docs/user/en/guides/reports-and-printing/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/frappe/docs/user/en/tutorial/__init__.py b/frappe/docs/user/en/tutorial/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/frappe/docs/user/en/videos/__init__.py b/frappe/docs/user/en/videos/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/frappe/docs/user/fr/__init__.py b/frappe/docs/user/fr/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/frappe/docs/user/fr/guides/__init__.py b/frappe/docs/user/fr/guides/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/frappe/docs/user/fr/guides/app-development/__init__.py b/frappe/docs/user/fr/guides/app-development/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/frappe/docs/user/fr/guides/app-development/using-html-templates-in-javascript.md b/frappe/docs/user/fr/guides/app-development/using-html-templates-in-javascript.md index db0cd90b4c..374b8d79fb 100644 --- a/frappe/docs/user/fr/guides/app-development/using-html-templates-in-javascript.md +++ b/frappe/docs/user/fr/guides/app-development/using-html-templates-in-javascript.md @@ -14,8 +14,7 @@ To render a template, From `erpnext/public/js/templates/address_list.js` - -

{% for(var i=0, l=addr_list.length; i @@ -34,9 +33,7 @@ From `erpnext/public/js/templates/address_list.js` {% } %} {% if(!addr_list.length) { %}

{%= __("No address added yet.") %}

- {% } %} - - + {% } %}{% endraw %} \ No newline at end of file diff --git a/frappe/docs/user/fr/guides/basics/__init__.py b/frappe/docs/user/fr/guides/basics/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/frappe/docs/user/fr/guides/data/__init__.py b/frappe/docs/user/fr/guides/data/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/frappe/docs/user/fr/guides/deployment/__init__.py b/frappe/docs/user/fr/guides/deployment/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/frappe/docs/user/fr/guides/integration/__init__.py b/frappe/docs/user/fr/guides/integration/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/frappe/docs/user/fr/guides/portal-development/__init__.py b/frappe/docs/user/fr/guides/portal-development/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/frappe/docs/user/fr/guides/reports-and-printing/__init__.py b/frappe/docs/user/fr/guides/reports-and-printing/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/frappe/docs/user/fr/tutorial/__init__.py b/frappe/docs/user/fr/tutorial/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/frappe/docs/user/fr/videos/__init__.py b/frappe/docs/user/fr/videos/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/frappe/model/meta.py b/frappe/model/meta.py index fc62a741e6..0e0505003f 100644 --- a/frappe/model/meta.py +++ b/frappe/model/meta.py @@ -3,6 +3,18 @@ # metadata +''' +Load metadata (DocType) class + +Example: + + meta = frappe.get_meta('User') + if meta.has_field('first_name'): + print "DocType" table has field "first_name" + + +''' + from __future__ import unicode_literals import frappe, json from frappe.utils import cstr, cint diff --git a/frappe/model/utils/__init__.py b/frappe/model/utils/__init__.py index 2b09a2f2e5..8600c64db9 100644 --- a/frappe/model/utils/__init__.py +++ b/frappe/model/utils/__init__.py @@ -33,7 +33,7 @@ def set_field_property(filters, key, value): frappe.db.commit() def render_include(content): - '''render {% include "app/path/filename" in js file %}''' + '''render {% raw %}{% include "app/path/filename" %}{% endraw %} in js file''' content = cstr(content) diff --git a/frappe/public/css/docs.css b/frappe/public/css/docs.css index cdf9fae852..1f91e89944 100644 --- a/frappe/public/css/docs.css +++ b/frappe/public/css/docs.css @@ -246,6 +246,7 @@ body { line-height: 1.65em; color: #454e57; -webkit-font-smoothing: antialiased; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; } .container { max-width: 870px; diff --git a/frappe/public/less/docs.less b/frappe/public/less/docs.less index 8a66475c5d..be8497a083 100644 --- a/frappe/public/less/docs.less +++ b/frappe/public/less/docs.less @@ -5,9 +5,15 @@ body { font-size: 16px; line-height: 1.65em; - color: #454e57; + color: #454e57; // position: relative; - -webkit-font-smoothing: antialiased; + -webkit-font-smoothing: antialiased; + + font-family: -apple-system, BlinkMacSystemFont, + "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", + "Fira Sans", "Droid Sans", "Helvetica Neue", + sans-serif; + } .container { diff --git a/frappe/templates/includes/breadcrumbs.html b/frappe/templates/includes/breadcrumbs.html index 6547ae96e8..941857211b 100644 --- a/frappe/templates/includes/breadcrumbs.html +++ b/frappe/templates/includes/breadcrumbs.html @@ -1,9 +1,9 @@ -{% if parents and parents|length > 0 %} +{% if parents and parents|length > 0 and (parents[-1].route) %}