From 996efebbe36a06ba45b9a79328a0dadc87ea2ff9 Mon Sep 17 00:00:00 2001 From: Luca Bonavita Date: Wed, 13 Oct 2010 10:42:33 +0000 Subject: [PATCH] == python api doc == First commit to make some structure in doc/ directory. - moved source/blender/python/doc -> doc/python_api - moved source/gameengine/PyDoc/*.rst -> doc/python_api/rst - modified accordingly sphinx_doc_gen.py and sphinx_doc_gen.sh (later on I'll try alternative/ scripts by neXyon as promised :) - source/gameengine/PyDoc/ is still there because contains epydoc stuff for the bge, will ask more and look into it later --- doc/python_api/blender-org/layout.html | 201 ++++++ doc/python_api/blender-org/page.html | 4 + doc/python_api/blender-org/static/bg.png | Bin 0 -> 55840 bytes .../blender-org/static/default.css_t | 654 ++++++++++++++++++ doc/python_api/blender-org/static/favicon.ico | Bin 0 -> 1150 bytes .../blender-org/static/jquery.sidebar.js | 26 + .../blender-org/static/pygments.css | 61 ++ doc/python_api/blender-org/static/rnd.png | Bin 0 -> 173 bytes doc/python_api/blender-org/static/rndbl.png | Bin 0 -> 190 bytes doc/python_api/blender-org/static/rndbr.png | Bin 0 -> 188 bytes doc/python_api/blender-org/theme.conf | 30 + .../python/doc => doc/python_api}/epy/BGL.py | 0 .../doc => doc/python_api}/epy/Geometry.py | 0 .../doc => doc/python_api}/epy/IDProp.py | 0 .../doc => doc/python_api}/epy/Mathutils.py | 0 .../doc => doc/python_api}/epy/testbgl.py | 0 .../python_api}/examples/bpy.data.py | 0 .../python_api}/examples/mathutils.Euler.py | 0 .../python_api}/examples/mathutils.Matrix.py | 0 .../examples/mathutils.Quaternion.py | 0 .../python_api}/examples/mathutils.Vector.py | 0 .../python_api}/examples/mathutils.py | 0 .../python_api/rst}/bge.events.rst | 0 .../python_api/rst}/bge.logic.rst | 0 .../python_api/rst}/bge.render.rst | 0 .../python_api/rst}/bge.types.rst | 0 .../doc => doc/python_api}/sphinx_doc_gen.py | 44 +- .../doc => doc/python_api}/sphinx_doc_gen.sh | 20 +- 28 files changed, 1014 insertions(+), 26 deletions(-) create mode 100644 doc/python_api/blender-org/layout.html create mode 100644 doc/python_api/blender-org/page.html create mode 100644 doc/python_api/blender-org/static/bg.png create mode 100644 doc/python_api/blender-org/static/default.css_t create mode 100644 doc/python_api/blender-org/static/favicon.ico create mode 100644 doc/python_api/blender-org/static/jquery.sidebar.js create mode 100644 doc/python_api/blender-org/static/pygments.css create mode 100644 doc/python_api/blender-org/static/rnd.png create mode 100644 doc/python_api/blender-org/static/rndbl.png create mode 100644 doc/python_api/blender-org/static/rndbr.png create mode 100644 doc/python_api/blender-org/theme.conf rename {source/blender/python/doc => doc/python_api}/epy/BGL.py (100%) rename {source/blender/python/doc => doc/python_api}/epy/Geometry.py (100%) rename {source/blender/python/doc => doc/python_api}/epy/IDProp.py (100%) rename {source/blender/python/doc => doc/python_api}/epy/Mathutils.py (100%) rename {source/blender/python/doc => doc/python_api}/epy/testbgl.py (100%) rename {source/blender/python/doc => doc/python_api}/examples/bpy.data.py (100%) rename {source/blender/python/doc => doc/python_api}/examples/mathutils.Euler.py (100%) rename {source/blender/python/doc => doc/python_api}/examples/mathutils.Matrix.py (100%) rename {source/blender/python/doc => doc/python_api}/examples/mathutils.Quaternion.py (100%) rename {source/blender/python/doc => doc/python_api}/examples/mathutils.Vector.py (100%) rename {source/blender/python/doc => doc/python_api}/examples/mathutils.py (100%) rename {source/gameengine/PyDoc => doc/python_api/rst}/bge.events.rst (100%) rename {source/gameengine/PyDoc => doc/python_api/rst}/bge.logic.rst (100%) rename {source/gameengine/PyDoc => doc/python_api/rst}/bge.render.rst (100%) rename {source/gameengine/PyDoc => doc/python_api/rst}/bge.types.rst (100%) rename {source/blender/python/doc => doc/python_api}/sphinx_doc_gen.py (95%) rename {source/blender/python/doc => doc/python_api}/sphinx_doc_gen.sh (60%) diff --git a/doc/python_api/blender-org/layout.html b/doc/python_api/blender-org/layout.html new file mode 100644 index 00000000000..a37ed730c22 --- /dev/null +++ b/doc/python_api/blender-org/layout.html @@ -0,0 +1,201 @@ +{%- block doctype -%} + +{%- endblock %} +{%- set script_files = script_files + [pathto("_static/jquery.sidebar.js", 1)] %} +{%- set reldelim1 = reldelim1 is not defined and ' »' or reldelim1 %} +{%- set reldelim2 = reldelim2 is not defined and ' •' or reldelim2 %} + +{%- macro relbar() %} + + +{%- endmacro %} + +{%- macro sidebar() %} + {%- if not embedded %}{% if not theme_nosidebar|tobool %} +
+
+ {%- block sidebarlogo %} + {%- if logo %} + + {%- endif %} + {%- endblock %} + {%- block sidebartoc %} + {%- if display_toc %} +

{{ _('Table Of Contents') }}

+ {{ toc }} + {%- endif %} + {%- endblock %} + {%- block sidebarrel %} + {%- if prev %} +

{{ _('Previous topic') }}

+

{{ prev.title }}

+ {%- endif %} + {%- if next %} +

{{ _('Next topic') }}

+

{{ next.title }}

+ {%- endif %} + {%- endblock %} + {%- block sidebarsourcelink %} + {%- if show_source and has_source and sourcename %} +

{{ _('This Page') }}

+ + {%- endif %} + {%- endblock %} + {%- if customsidebar %} + {% include customsidebar %} + {%- endif %} + {%- block sidebarsearch %} + {%- if pagename != "search" %} + + + {%- endif %} + {%- endblock %} +
+
+ {%- endif %}{% endif %} +{%- endmacro %} + + + + + {{ metatags }} + {%- if not embedded and docstitle %} + {%- set titlesuffix = " — "|safe + docstitle|e %} + {%- else %} + {%- set titlesuffix = "" %} + {%- endif %} + {{ title|striptags }}{{ titlesuffix }} + + + {%- if not embedded %} + + {%- for scriptfile in script_files %} + + {%- endfor %} + {%- if use_opensearch %} + + {%- endif %} + {%- if favicon %} + + {%- endif %} + {%- endif %} +{%- block linktags %} + {%- if hasdoc('about') %} + + {%- endif %} + {%- if hasdoc('genindex') %} + + {%- endif %} + {%- if hasdoc('search') %} + + {%- endif %} + {%- if hasdoc('copyright') %} + + {%- endif %} + + {%- if parents %} + + {%- endif %} + {%- if next %} + + {%- endif %} + {%- if prev %} + + {%- endif %} +{%- endblock %} +{%- block extrahead %} {% endblock %} + + +{%- block header %} + +{% endblock %} + +
+ +{%- block relbar1 %}{{ relbar() }}{% endblock %} + +{%- block sidebar1 %} {# possible location for sidebar #} {% endblock %} + +{%- block document %} +
+ {%- if not embedded %}{% if not theme_nosidebar|tobool %} +
+ {%- endif %}{% endif %} +
+ {% block body %} {% endblock %} +
+ {%- if not embedded %}{% if not theme_nosidebar|tobool %} +
+ {%- endif %}{% endif %} +
+{%- endblock %} + +{%- block sidebar2 %}{{ sidebar() }}{% endblock %} +
+ +{%- block footer %} + +{%- endblock %} +
+ + diff --git a/doc/python_api/blender-org/page.html b/doc/python_api/blender-org/page.html new file mode 100644 index 00000000000..17a93016533 --- /dev/null +++ b/doc/python_api/blender-org/page.html @@ -0,0 +1,4 @@ +{% extends "layout.html" %} +{% block body %} + {{ body }} +{% endblock %} diff --git a/doc/python_api/blender-org/static/bg.png b/doc/python_api/blender-org/static/bg.png new file mode 100644 index 0000000000000000000000000000000000000000..5393d4aa58f5ddc72f461308c93451cb5b3e2fd9 GIT binary patch literal 55840 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 R(u)89002ovPDHLkV1k<@f9?PP literal 0 HcmV?d00001 diff --git a/doc/python_api/blender-org/static/default.css_t b/doc/python_api/blender-org/static/default.css_t new file mode 100644 index 00000000000..6f3f25d8a6a --- /dev/null +++ b/doc/python_api/blender-org/static/default.css_t @@ -0,0 +1,654 @@ +/** + * Sphinx stylesheet -- default theme + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + */ + +@import url("basic.css"); + +/* -- page layout ----------------------------------------------------------- */ + +#navcontainer { + height: 50px; + margin: 0 auto; + position: relative; + width: 980px; +} + +#navcontainer img { + width: 140px; + height: 50px; +} + +#pageheader { + background-image:url("bg.png"); + height:80px; + position:relative; +} + +body { + font-family: {{ theme_bodyfont }}; + font-size: 12px; + line-height: 145%; + background-color: {{ theme_footerbgcolor }}; + color: {{ theme_textcolor }}; + min-width: 980px; + margin: 0; + padding: 0; +} + +div.document { + margin:20px auto 0; + position:relative; + text-align:left; + width:980px; +/* background-color: {{ theme_sidebarbgcolor }};*/ +} + +div.documentwrapper { + float: left; + width: 100%; + background-color: {{ theme_bgcolor }}; + border-color: {{ theme_bordercolor }}; + border-style:solid; + border-width:0 1px; + margin:0 auto; + min-height:30em; + padding:35px; +/* position:relative;*/ + text-align:left; + width:908px; + +} + +div.bodywrapper { + margin: 0 0 0 230px; +} + +div.body { + background-color: {{ theme_bgcolor }}; + color: {{ theme_textcolor }}; + padding: 0; + width: 640px; +} + +{%- if theme_rightsidebar|tobool %} +div.bodywrapper { + margin: 0 230px 0 0; +} +{%- endif %} + +div.footer { + background: #292929; + border-left: 1px solid #363636; + border-right: 1px solid #363636; + color: #ffffff; +/* width: 100%;*/ + margin: 0 auto; + padding: 20px 20px 15px 35px; + text-align: center; + font-size: 75%; +} + +div.footer+.round b { + display: block; + background: #292929; + width: auto; +} + +div.footer+.round #r1 { + border-left: 1px solid #363636; + border-right: 1px solid #363636; + height: 2px; + margin: 0 1px; +} + +div.footer+.round #r2 { + border-left: 1px solid #363636; + border-right: 1px solid #363636; + height: 1px; + margin: 0 2px; +} + +div.footer+.round #r3 { + border-left: 1px solid #363636; + border-right: 1px solid #363636; + height: 1px; + margin: 0 3px; +} + +div.footer+.round #r4 { + border-bottom: 1px solid #363636; + height: 0px; + margin: 0 5px; +} + +div.footer a { + color: {{ theme_footertextcolor }}; + text-decoration: underline; +} + +.boxheader { + background-color:#3E4D5E; +} + +.subnav { + height:auto !important; + min-height:15px; + padding:9px 0px 9px 37px; + position:relative; +} + +div.related { + width:auto; + font-size:100%; + font-weight:400; + background-color: {{ theme_relbarbgcolor }}; + line-height: 145%; + color: {{ theme_relbartextcolor }}; +} + +div.related li { + font-size:0.9em; +} + +div.related li.right { + margin: 0; + word-spacing: 3px; +} + +div.subnav li { + display:inline; + list-style-type:none; + margin:0; + padding:0 7px 0 0; +} + +div.subnav ul { + display:inline; + margin:0; + padding:0; +} + +.subnav a { + font-weight: bold; + color: #fff; +} + +.subnav li.subnav-active a { + color:#F39410; +} + +div.related a { + color: {{ theme_relbarlinkcolor }}; +} + +div.related a:active { + color: {{ theme_relbaractlinkcolor }}; +} + +div.sphinxsidebar { + width: 280px; + font-size: 100%; + {%- if theme_stickysidebar|tobool %} +/* top: 30px;*/ + margin: 0; + position: absolute; + overflow: auto; + height: 100%; + {%- endif %} + {%- if theme_rightsidebar|tobool %} + float: right; + {%- if theme_stickysidebar|tobool %} + right: 0; + {%- endif %} + {%- endif %} +} + +div.sphinxsidebarwrapper { + width: inherit; + padding: 0; + position: absolute; + margin-top: 35px; + font-size: 8pt; +} + +div.sphinxsidebarwrapper.fixed { + position:fixed; + top:10px; + margin-top: 0; +} + +{%- if theme_stickysidebar|tobool %} +/* this is nice, but it it leads to hidden headings when jumping + to an anchor */ +/* +div.related { + position: fixed; +} + +div.documentwrapper { + margin-top: 30px; +} +*/ +{%- endif %} + +div.sphinxsidebar h3 { + font-family: {{ theme_headfont }}; + color: {{ theme_sidebartextcolor }}; + font-size: 12px; + font-weight: bold; + background: #3E4D5E url("rnd.png") no-repeat top left; + height: 16px; + margin: 0; + padding: 10px 5px 10px 18px; +} + +div.sphinxsidebar h3 a { + color: {{ theme_sidebartextcolor }}; +} + +div.sphinxsidebar h4 { + font-family: {{ theme_headfont }}; + color: {{ theme_sidebartextcolor }}; + background: #3E4D5E url("rnd.png") no-repeat top left; + height: 16px; + font-size: 12px; + font-weight: bold; + margin: 0; + padding: 10px 5px 10px 18px; +} + +div.sphinxsidebar form { + margin: 0; + padding: 10px; + background-color: #292929; + {%- if theme_rightsidebar|tobool %} + border-right: 1px solid {{ theme_bordercolor }}; + {%- endif %} +} + +div.sphinxsidebar p { + background-color: #292929; + padding: 5px 10px 10px 10px; + color: {{ theme_sidebartextcolor }}; + {%- if theme_rightsidebar|tobool %} + border-right: 1px solid {{ theme_bordercolor }}; + {%- endif %} + margin-top: 0; +} + +div.sphinxsidebar p.topless { + margin-bottom: 25px; +} + +div.sphinxsidebar ul { + background-color: #292929; + margin: 0; + padding: 0; + color: {{ theme_sidebartextcolor }}; +} + +div.sphinxsidebar > div > ul { + margin-bottom: 25px; + padding:10px; +} + +div.sphinxsidebar a { + color: {{ theme_sidebarlinkcolor }}; +} + +div.sphinxsidebar input { + border: 1px solid {{ theme_sidebarlinkcolor }}; + font-family: sans-serif; + font-size: 1em; +} + +/* -- body styles ----------------------------------------------------------- */ + +a { + color: {{ theme_linkcolor }}; + text-decoration: none; +} + +a:hover { + text-decoration: underline; +} + +/*div.body h1,*/ +div.body h2, +div.body h3, +div.body h4, +div.body h5, +div.body h6 { + font-family: {{ theme_headfont }}; + background-color: {{ theme_headbgcolor }}; + font-weight: bold; + color: {{ theme_headtextcolor }}; +/* border-bottom: 1px solid #ccc;*/ + margin: 20px -20px 10px -20px; + padding: 3px 0 3px 10px; +} + +div.body h1 { margin-top: 0; font-size: 200%; + color:#FFFAE0; + font-family:"Helvetica","Arial",sans-serif; + font-size:34px; + font-weight:normal; + left:32px; + line-height:26px; + margin-top:0; + position:absolute; + top:36px; +} +div.body h2 { font-size: 160%; } +div.body h3 { font-size: 140%; } +div.body h4 { font-size: 120%; } +div.body h5 { font-size: 110%; } +div.body h6 { font-size: 100%; } + +a.headerlink { + color: {{ theme_headlinkcolor }}; + font-size: 0.8em; + padding: 0 4px 0 4px; + text-decoration: none; +} + +h1:hover > a.headerlink { + display:none; +} + +a.headerlink:hover { + background-color: {{ theme_headlinkcolor }}; + color: white; +} + +div.body p, div.body dd, div.body li { + text-align: justify; + line-height: 130%; +} + +div.note, div.seealso, div.topic, div.warning { + color:white; +} + +div.admonition p.admonition-title + p { + display: inline; +} + +div.note { + background-color: #555; + border: 1px solid #ddd; +} + +div.seealso { + background-color: #525241; + border: 1px solid #ff6; +} + +div.topic { + background-color: #eee; +} + +div.warning { + background-color: #B64444; + border: 1px solid #990606; +} + +p.admonition-title { + display: inline; +} + +p.admonition-title:after { + content: ":"; +} + +dl div.admonition { + border:medium none; + margin:0; + padding:2px 5px 2px 0; +} + +dl.class > dd > div.warning p.admonition-title, +dl.class > dd > div.note p.admonition-title { + display:none; +} + +dl.class > dd > div.admonition.warning p, +dl.class > dd > div.admonition.note p { + margin:0; +} + +dl.class > dd > div.admonition.warning, +dl.class > dd > div.admonition.note { + margin-bottom:12px; +} + +dl div.admonition.note p.admonition-title, dl div.admonition.warning p.admonition-title { + color:inherit; +} + +dl div.admonition.warning p { + font-weight:bold; + line-height:150%; +} + +dl div.admonition.warning p * { + font-weight:normal; +} + +dl div.admonition p.admonition-title { + color:#555555; + display:block; + float:left; + margin:0; + padding-right:12px; + text-align:right; + width:90px; +} + +dl div.admonition p.admonition-title+p, dl div.admonition p { + display:block; + margin:0 0 0 102px; +} + +dl div.note { + background:none; + color:#E8E481; +} + +dl div.warning { + background:none; + color:#FC3030; +} + +dl div.seealso { + background:none; +} + +dl div.admonition.seealso p+p { + color:#222; +} + +dl div.seealso a { + margin-left:-1.3ex; +} + +div.admonition.warning pre { + background: #0F0704; + color: #fc3030; +} + +div.admonition pre { + margin: 6px 0; + overflow: visible; + white-space: pre-wrap; +} + +pre { + padding: 10px; + background-color: #000; + color: #fff; + line-height: normal; + border: 0 solid white; +} + +dl.function>dt, dl.method>dt { + text-indent:-118px; + padding-left: 118px; +} + +dl.function>dt em, dl.method>dt em { + color: #97b9cf; +} + +dl.function>dd em, dl.method>dd em { + color: #97b9cf; + font-weight:bold; +} + +dl.function table.field-list tr:first-child td.field-body, dl.method table.field-list tr:first-child td.field-body { + color: #728c96; +} + +dl.function>dt em:before, dl.method>dt em:before { + content: " "; + display: block; +} + +dl.function>dd>p,dl.method>dd>p,dl.attribute>dd>p, +dl[class]>dd>ol,dl[class]>dd>ul { + color: #999; +} + +dl.data>dt { + color:#08C659; +} + +dl.data>dd>p { + color:#069643; +} + +dl.class>dt { + color: #82a3c7; +} + +dl.class>dd>p,dl.class>dd>ol,dl.class>dd>ul { + color: #637b96; +} + +dl.function>dt,dl.method>dt,dl.attribute>dt { + color: #fcb100; +} + +dl.function>dd>p,dl.method>dd>p,dl.attribute>dd>p, +dl.function>dd>p+ol,dl.method>dd>p+ol,dl.attribute>dd>p+ol, +dl.function>dd>p+ul,dl.method>dd>p+ul,dl.attribute>dd>p+ul { + color: #cb8f00; +} + +dl.function>dd>p, dl.method>dd>p, dl.attribute>dd>p { + margin: 0 0 3px 102px; +} + +dl.function>dd>p:first-child:before, dl.method>dd>p:first-child:before, dl.attribute>dd>p:first-child:before { + content:"Description:"; + color:#555; + font-weight:bold; + font-style:normal; + width:90px; + display:inline-block; + margin-left:-102px; + text-align:right; + padding-right:12px; +} + +dt:target, .highlight { + color: #444; + background: #333; +} + +.highlight { + background: #E2C788; +} + +h1 .highlight { + color:inherit; + background:inherit; +} + +dl { + margin-bottom: 25px; +} + +dd { + margin: 3px 0 10px 15px; +} + +.field-body tt.literal { + font-weight: normal; +} + +tt { + background-color: #444; + padding: 0 1px 0 1px; + font-size: 0.95em; +} + +.warning tt { + background: #cc6262; +} + +.note tt { + background: #444; +} + +dl .warning tt { + background:#0F0704; + display:block; +} + +dl .note tt { + background:#2C2A1B; +} + +table.indextable tr.cap { + background-color: transparent; +} + +col.field-name { + width:90px; +} + +dd table { + margin-bottom: 0; +} + +table.field-list th { + color:#555; + padding:0; + text-align:right; +} + +table.field-list td.field-body { + color:#999999; + padding-left:12px; +} + +table.field-list td.field-body ul.first { + padding-left:0; + list-style:none; + margin-left:0; +} + +dl.function>dd>ol, dl.method>dd>ol, dl.attribute>dd>ol, +dl.function>dd>ul, dl.method>dd>ul, dl.attribute>dd>ul, +dl.function>dd>div[class|="highlight"], dl.method>dd>div[class|="highlight"], +dl.attribute>dd>div[class|="highlight"] { + margin-left:102px; +} + +dl.function>dd>ol, dl.method>dd>ol, dl.attribute>dd>ol, +dl.function>dd>ul, dl.method>dd>ul, dl.attribute>dd>ul, +dl.class>dd>ol, dl.class>dd>ul { + padding-left:20px; +} diff --git a/doc/python_api/blender-org/static/favicon.ico b/doc/python_api/blender-org/static/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..f125d24dcb6f54ef8ef2c6bfdfb382295db1ab60 GIT binary patch literal 1150 zcmd5+ZAep57(QlUWYE+y`;&qYi6mD3NKGW@M_>jOh!whIrkk3G8dg+BWPxTSI1Iu{ zb6`pNu|9reFhV1uP4AYPAIoK$XxrS^-M!mh=knb5ocDd7=f3wnheJpZ zeMBNc-!VkGo{&gF$ZiViqMju`HH6UE%Hi|*$p45bBfqm!@w0x1Og+0UM}y!THMSLM z=EaS}Ek?67e65;$)C-x>Wje#2i`u!g1|w1*a7b?AklJX&{u>kaP>GuD>i>}`Xh>X<;_g@xa+Srtni=+3{e-gplQk<` zriHYVM}&-lsDLqNHycfd9`fkdbI|uI(RMBgFRL>AbECz9$eRwt-(wLf8DNE)`$iop z!uLzMdE~U3x!l$T_lY(ho<*;pC-4IrpyQ0fhL~C>guV)V0dE=0(FiHSmv%c*-Rnl~ za~C{V&G%A%<`WjNwGM2S4B7*H!FGKyXNd|1-Q`LS6|Y^;&SF*l^A0Z(8k|V1nKqx6 zPbvcZ{FYfoOvNx4CLP3a`HZRJ6^FVH9xzmc=J@~R+iyVJ!Q*7JiQ6F7K-jAQUsTBW zdsy7X<9v?`Wl9%{JDvVI%4sbZ-nby8vHWK?_r^SpTR0;Du3-Dd94T>CL*JJpvWS7O zPO2XNoY(F^Nhgc=sv$$K&T?cqcdfb5(~KsgNz&oO-YX*})v)#OTKOwuQ6)M)`>_e> zHKXJI$`!Ou$tRV&D!Xph6eg@r;z{VEza O&^+H3ifD>-LjC|W+vd0c literal 0 HcmV?d00001 diff --git a/doc/python_api/blender-org/static/jquery.sidebar.js b/doc/python_api/blender-org/static/jquery.sidebar.js new file mode 100644 index 00000000000..c22c61f2409 --- /dev/null +++ b/doc/python_api/blender-org/static/jquery.sidebar.js @@ -0,0 +1,26 @@ +$(document).ready(function () { + var top = $('.sphinxsidebarwrapper').offset().top - parseFloat($('.sphinxsidebarwrapper').css ('marginTop').replace(/auto/, 0)); + var colheight = parseFloat($('.sphinxsidebarwrapper').css('height').replace(/auto/, 0)); + + +$(window).scroll(function (event) { + // what the y position of the scroll is + var y = $(this).scrollTop(); + + // whether that's below the form + if (y >= top) { + //colheight is checked and according to its vaule the scrolling + //is triggered or not + if (colheight <= window.innerHeight) { + // if so, ad the fixed class + $('.sphinxsidebarwrapper').addClass('fixed'); + } else { + // otherwise remove it + $('.sphinxsidebarwrapper').removeClass('fixed'); + } + } else { + // otherwise remove it + $('.sphinxsidebarwrapper').removeClass('fixed'); + } +}); +}); diff --git a/doc/python_api/blender-org/static/pygments.css b/doc/python_api/blender-org/static/pygments.css new file mode 100644 index 00000000000..d67231e84ab --- /dev/null +++ b/doc/python_api/blender-org/static/pygments.css @@ -0,0 +1,61 @@ +.hll { background-color: #ffffcc } +.c { color: #7f7f7f; font-style: italic } /* Comment */ +.err { border: 1px solid #FF0000 } /* Error */ +.k { color: #0088ff; font-weight: bold } /* Keyword */ +.o { color: #993399 } /* Operator */ +.cm { color: #7f7f7f; font-style: italic } /* Comment.Multiline */ +.cp { color: #007020 } /* Comment.Preproc */ +.c1 { color: #408090; font-style: italic } /* Comment.Single */ +.cs { color: #408090; background-color: #fff0f0 } /* Comment.Special */ +.gd { color: #A00000 } /* Generic.Deleted */ +.ge { font-style: italic } /* Generic.Emph */ +.gr { color: #FF0000 } /* Generic.Error */ +.gh { color: #000080; font-weight: bold } /* Generic.Heading */ +.gi { color: #00A000 } /* Generic.Inserted */ +.go { color: #303030 } /* Generic.Output */ +.gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */ +.gs { font-weight: bold } /* Generic.Strong */ +.gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +.gt { color: #0040D0 } /* Generic.Traceback */ +.kc { color: #007020; font-weight: bold } /* Keyword.Constant */ +.kd { color: #007020; font-weight: bold } /* Keyword.Declaration */ +.kn { color: #FFFF32; font-weight: bold } /* Keyword.Namespace */ +.kp { color: #007020 } /* Keyword.Pseudo */ +.kr { color: #FFFF32; font-weight: bold } /* Keyword.Reserved */ +.kt { color: #902000 } /* Keyword.Type */ +.m { color: #00BAFF } /* Literal.Number */ +.s { color: #B7C274 } /* Literal.String */ +.na { color: #4070a0 } /* Name.Attribute */ +.nb { color: #007020 } /* Name.Builtin */ +.nc { color: #0e84b5; font-weight: bold } /* Name.Class */ +.no { color: #60add5 } /* Name.Constant */ +.nd { color: #555555; font-weight: bold } /* Name.Decorator */ +.ni { color: #d55537; font-weight: bold } /* Name.Entity */ +.ne { color: #007020 } /* Name.Exception */ +.nf { color: #06287e } /* Name.Function */ +.nl { color: #002070; font-weight: bold } /* Name.Label */ +.nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */ +.nt { color: #062873; font-weight: bold } /* Name.Tag */ +.nv { color: #bb60d5 } /* Name.Variable */ +.ow { color: #007020; font-weight: bold } /* Operator.Word */ +.w { color: #bbbbbb } /* Text.Whitespace */ +.mf { color: #00BAFF } /* Literal.Number.Float */ +.mh { color: #00BAFF } /* Literal.Number.Hex */ +.mi { color: #00BAFF } /* Literal.Number.Integer */ +.mo { color: #00BAFF } /* Literal.Number.Oct */ +.sb { color: #B7C274 } /* Literal.String.Backtick */ +.sc { color: #B7C274 } /* Literal.String.Char */ +.sd { color: #B7C274; font-style: italic } /* Literal.String.Doc */ +.s2 { color: #B7C274 } /* Literal.String.Double */ +.se { color: #B7C274; font-weight: bold } /* Literal.String.Escape */ +.sh { color: #B7C274 } /* Literal.String.Heredoc */ +.si { color: #70a0d0; font-style: italic } /* Literal.String.Interpol */ +.sx { color: #c65d09 } /* Literal.String.Other */ +.sr { color: #235388 } /* Literal.String.Regex */ +.s1 { color: #4070a0 } /* Literal.String.Single */ +.ss { color: #517918 } /* Literal.String.Symbol */ +.bp { color: #007020 } /* Name.Builtin.Pseudo */ +.vc { color: #bb60d5 } /* Name.Variable.Class */ +.vg { color: #bb60d5 } /* Name.Variable.Global */ +.vi { color: #bb60d5 } /* Name.Variable.Instance */ +.il { color: #00BAFF } /* Literal.Number.Integer.Long */ diff --git a/doc/python_api/blender-org/static/rnd.png b/doc/python_api/blender-org/static/rnd.png new file mode 100644 index 0000000000000000000000000000000000000000..95bc613c731b3f122f805c18659f9e95dc4be973 GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1SGw4HSYi^&H|6fVg?4j!ywFfJby(BP%z%p z#W93qX6_kpt`-9kmy5r(3@0TVk-y6<$j-R%<=^+`8#xxud#J0Sy_BJ0X3+oMN*>MG zC*@6#q(#)7WA~HeSULCF{+T-_oaFsnwz?tcdtvC=<|MiKq5-0_zdP>QFJHDqf$0%f Sz{Dt^RScf4elF{r5}E)Ac{^|b literal 0 HcmV?d00001 diff --git a/doc/python_api/blender-org/static/rndbl.png b/doc/python_api/blender-org/static/rndbl.png new file mode 100644 index 0000000000000000000000000000000000000000..976161642fd0d0034f1a9f47c7a1241c9e0df36b GIT binary patch literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1SGw4HSYi^&H|6fVg?4j!ywFfJby(BP_V$$ z#W93qW^SJ&*C7W1mg?%X6#hWZKaCF*FVdQ&MBb@0L{8Y-T(jq literal 0 HcmV?d00001 diff --git a/doc/python_api/blender-org/static/rndbr.png b/doc/python_api/blender-org/static/rndbr.png new file mode 100644 index 0000000000000000000000000000000000000000..de94512ccc614e0bb8142c4af9552d20a8c2868a GIT binary patch literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1SGw4HSYi^&H|6fVg?4j!ywFfJby(BP%zKa z#W93qX6~7dT+I#wEe~(r-I?57JF)tId!R>0kwQy|VpOGL(2|QY_Wy007{t}r>EWW` zw^GaHKf_60^?<8$K4-_(9lX2HET;P1_IG(HYlEZ1yE& h`O~tO_tw_(+r|BtF<}$E$^x{R!PC{xWt~$(69C>IL~8&5 literal 0 HcmV?d00001 diff --git a/doc/python_api/blender-org/theme.conf b/doc/python_api/blender-org/theme.conf new file mode 100644 index 00000000000..a4356fd2690 --- /dev/null +++ b/doc/python_api/blender-org/theme.conf @@ -0,0 +1,30 @@ +[theme] +inherit = basic +stylesheet = default.css +pygments_style = sphinx + +[options] +rightsidebar = true +stickysidebar = true + +footerbgcolor = #000000 +footertextcolor = #ffffff +sidebarbgcolor = #1c4e63 +sidebartextcolor = #ffffff +sidebarlinkcolor = #97b9cf +relbarbgcolor = #2C3845 +relbartextcolor = #D3E0E9 +relbarlinkcolor = #D3E0E9 +relbaractlinkcolor = #f39410 +bgcolor = #232323 +bordercolor = #363636 +textcolor = #ffffff +headbgcolor = #232323 +headtextcolor = #ffffff +headlinkcolor = #97b9cf +linkcolor = #97b9cf +codebgcolor = #eeffcc +codetextcolor = #333333 + +bodyfont = "Lucida Grande","Lucida Sans Unicode","Lucida Sans","Lucida",Verdana,sans-serif +headfont = "Lucida Grande","Lucida Sans Unicode","Lucida Sans","Lucida",Verdana,sans-serif diff --git a/source/blender/python/doc/epy/BGL.py b/doc/python_api/epy/BGL.py similarity index 100% rename from source/blender/python/doc/epy/BGL.py rename to doc/python_api/epy/BGL.py diff --git a/source/blender/python/doc/epy/Geometry.py b/doc/python_api/epy/Geometry.py similarity index 100% rename from source/blender/python/doc/epy/Geometry.py rename to doc/python_api/epy/Geometry.py diff --git a/source/blender/python/doc/epy/IDProp.py b/doc/python_api/epy/IDProp.py similarity index 100% rename from source/blender/python/doc/epy/IDProp.py rename to doc/python_api/epy/IDProp.py diff --git a/source/blender/python/doc/epy/Mathutils.py b/doc/python_api/epy/Mathutils.py similarity index 100% rename from source/blender/python/doc/epy/Mathutils.py rename to doc/python_api/epy/Mathutils.py diff --git a/source/blender/python/doc/epy/testbgl.py b/doc/python_api/epy/testbgl.py similarity index 100% rename from source/blender/python/doc/epy/testbgl.py rename to doc/python_api/epy/testbgl.py diff --git a/source/blender/python/doc/examples/bpy.data.py b/doc/python_api/examples/bpy.data.py similarity index 100% rename from source/blender/python/doc/examples/bpy.data.py rename to doc/python_api/examples/bpy.data.py diff --git a/source/blender/python/doc/examples/mathutils.Euler.py b/doc/python_api/examples/mathutils.Euler.py similarity index 100% rename from source/blender/python/doc/examples/mathutils.Euler.py rename to doc/python_api/examples/mathutils.Euler.py diff --git a/source/blender/python/doc/examples/mathutils.Matrix.py b/doc/python_api/examples/mathutils.Matrix.py similarity index 100% rename from source/blender/python/doc/examples/mathutils.Matrix.py rename to doc/python_api/examples/mathutils.Matrix.py diff --git a/source/blender/python/doc/examples/mathutils.Quaternion.py b/doc/python_api/examples/mathutils.Quaternion.py similarity index 100% rename from source/blender/python/doc/examples/mathutils.Quaternion.py rename to doc/python_api/examples/mathutils.Quaternion.py diff --git a/source/blender/python/doc/examples/mathutils.Vector.py b/doc/python_api/examples/mathutils.Vector.py similarity index 100% rename from source/blender/python/doc/examples/mathutils.Vector.py rename to doc/python_api/examples/mathutils.Vector.py diff --git a/source/blender/python/doc/examples/mathutils.py b/doc/python_api/examples/mathutils.py similarity index 100% rename from source/blender/python/doc/examples/mathutils.py rename to doc/python_api/examples/mathutils.py diff --git a/source/gameengine/PyDoc/bge.events.rst b/doc/python_api/rst/bge.events.rst similarity index 100% rename from source/gameengine/PyDoc/bge.events.rst rename to doc/python_api/rst/bge.events.rst diff --git a/source/gameengine/PyDoc/bge.logic.rst b/doc/python_api/rst/bge.logic.rst similarity index 100% rename from source/gameengine/PyDoc/bge.logic.rst rename to doc/python_api/rst/bge.logic.rst diff --git a/source/gameengine/PyDoc/bge.render.rst b/doc/python_api/rst/bge.render.rst similarity index 100% rename from source/gameengine/PyDoc/bge.render.rst rename to doc/python_api/rst/bge.render.rst diff --git a/source/gameengine/PyDoc/bge.types.rst b/doc/python_api/rst/bge.types.rst similarity index 100% rename from source/gameengine/PyDoc/bge.types.rst rename to doc/python_api/rst/bge.types.rst diff --git a/source/blender/python/doc/sphinx_doc_gen.py b/doc/python_api/sphinx_doc_gen.py similarity index 95% rename from source/blender/python/doc/sphinx_doc_gen.py rename to doc/python_api/sphinx_doc_gen.py index b20cd74f82a..7a78816a2db 100644 --- a/source/blender/python/doc/sphinx_doc_gen.py +++ b/doc/python_api/sphinx_doc_gen.py @@ -19,20 +19,29 @@ # #**** END GPL LICENSE BLOCK #**** script_help_msg = ''' -Usage, -run this script from blenders root path once you have compiled blender - ./blender.bin -b -P /b/source/blender/python/doc/sphinx_doc_gen.py +Usage: -This will generate python files in "./source/blender/python/doc/sphinx-in" -Generate html docs by running... +For HTML generation +------------------- +- Run this script from blenders root path once you have compiled blender + + ./blender.bin -b -P doc/python_api/sphinx_doc_gen.py + + This will generate python files in doc/python_api/sphinx-in/, + assuming that ./blender.bin is or links to the blender executable + +- Generate html docs by running... - sphinx-build source/blender/python/doc/sphinx-in source/blender/python/doc/sphinx-out - + sphinx-build doc/python_api/sphinx-in doc/python_api/sphinx-out + assuming that you have sphinx 0.6.7 installed + For PDF generation +------------------ +- After you have built doc/python_api/sphinx-in (see above), run: - sphinx-build -b latex source/blender/python/doc/sphinx-in source/blender/python/doc/sphinx-out - cd source/blender/python/doc/sphinx-out + sphinx-build -b latex doc/python_api/sphinx-in doc/python_api/sphinx-out + cd doc/python_api/sphinx-out make ''' @@ -475,13 +484,13 @@ def rna2sphinx(BASEPATH): pymodule2sphinx(BASEPATH, "aud", module, "Audio System (aud)") del module - # game engine + ## game engine import shutil # copy2 keeps time/date stamps - shutil.copy2(os.path.join(BASEPATH, "../../../../gameengine/PyDoc/bge.types.rst"), BASEPATH) - shutil.copy2(os.path.join(BASEPATH, "../../../../gameengine/PyDoc/bge.logic.rst"), BASEPATH) - shutil.copy2(os.path.join(BASEPATH, "../../../../gameengine/PyDoc/bge.render.rst"), BASEPATH) - shutil.copy2(os.path.join(BASEPATH, "../../../../gameengine/PyDoc/bge.events.rst"), BASEPATH) + shutil.copy2(os.path.join(BASEPATH,"..","rst","bge.types.rst"), BASEPATH) + shutil.copy2(os.path.join(BASEPATH,"..","rst","bge.logic.rst"), BASEPATH) + shutil.copy2(os.path.join(BASEPATH,"..","rst","bge.render.rst"), BASEPATH) + shutil.copy2(os.path.join(BASEPATH,"..","rst","bge.events.rst"), BASEPATH) if 0: @@ -794,9 +803,10 @@ def main(): else: import shutil - path_in = 'source/blender/python/doc/sphinx-in' - path_out = 'source/blender/python/doc/sphinx-out' - path_examples = 'source/blender/python/doc/examples' + script_dir = os.path.dirname(__file__) + path_in = os.path.join(script_dir,'sphinx-in') + path_out = os.path.join(script_dir,'sphinx-out') + path_examples = os.path.join(script_dir,'examples') # only for partial updates path_in_tmp = path_in + "-tmp" diff --git a/source/blender/python/doc/sphinx_doc_gen.sh b/doc/python_api/sphinx_doc_gen.sh similarity index 60% rename from source/blender/python/doc/sphinx_doc_gen.sh rename to doc/python_api/sphinx_doc_gen.sh index 607803d16d5..49a2e4869d8 100755 --- a/source/blender/python/doc/sphinx_doc_gen.sh +++ b/doc/python_api/sphinx_doc_gen.sh @@ -10,7 +10,7 @@ SSH_UPLOAD="/data/www/vhosts/www.blender.org/documentation" # blender_python_api # sed string from hell, 'Blender 2.53 (sub 1) Build' --> '2_53_1' # "_".join(str(v) for v in bpy.app.version) # custom blender vars -blender_srcdir=$(dirname $0)/../../../../ +blender_srcdir=$(dirname $0)/../../ blender_version=$(grep BLENDER_VERSION $blender_srcdir/source/blender/blenkernel/BKE_blender.h | tr -dc 0-9) blender_subversion=$(grep BLENDER_SUBVERSION $blender_srcdir/source/blender/blenkernel/BKE_blender.h | tr -dc 0-9) BLENDER_VERSION=$(expr $blender_version / 100)_$(expr $blender_version % 100)_$blender_subversion @@ -18,18 +18,20 @@ BLENDER_VERSION=$(expr $blender_version / 100)_$(expr $blender_version % 100)_$b BLENDER_VERSION=`$BLENDER --version | cut -f2-4 -d" " | sed 's/(//g' | sed 's/)//g' | sed 's/ sub /./g' | sed 's/\./_/g'` SSH_UPLOAD_FULL=$SSH_UPLOAD/"blender_python_api_"$BLENDER_VERSION +SPHINXBASE=doc/python_api/ + # dont delete existing docs, now partial updates are used for quick builds. -$BLENDER --background --python ./source/blender/python/doc/sphinx_doc_gen.py +$BLENDER --background --python $SPHINXBASE/sphinx_doc_gen.py # html -sphinx-build source/blender/python/doc/sphinx-in source/blender/python/doc/sphinx-out -cp source/blender/python/doc/sphinx-out/contents.html source/blender/python/doc/sphinx-out/index.html +sphinx-build $SPHINXBASE/sphinx-in $SPHINXBASE/sphinx-out +cp $SPHINXBASE/sphinx-out/contents.html $SPHINXBASE/sphinx-out/index.html ssh ideasman42@emo.blender.org 'rm -rf '$SSH_UPLOAD_FULL'/*' -rsync --progress -avze "ssh -p 22" /b/source/blender/python/doc/sphinx-out/* $SSH_HOST:$SSH_UPLOAD_FULL/ +rsync --progress -avze "ssh -p 22" $SPHINXBASE/sphinx-out/* $SSH_HOST:$SSH_UPLOAD_FULL/ # pdf -sphinx-build -b latex source/blender/python/doc/sphinx-in source/blender/python/doc/sphinx-out -cd source/blender/python/doc/sphinx-out +sphinx-build -b latex $SPHINXBASE/sphinx-in $SPHINXBASE/sphinx-out +cd $SPHINXBASE/sphinx-out make -cd ../../../../../ -rsync --progress -avze "ssh -p 22" source/blender/python/doc/sphinx-out/contents.pdf $SSH_HOST:$SSH_UPLOAD_FULL/blender_python_reference_$BLENDER_VERSION.pdf +cd - +rsync --progress -avze "ssh -p 22" $SPHINXBASE/sphinx-out/contents.pdf $SSH_HOST:$SSH_UPLOAD_FULL/blender_python_reference_$BLENDER_VERSION.pdf