diff options
| -rw-r--r-- | api-docs/source/_static/css/other.css | 78 | ||||
| -rw-r--r-- | api-docs/source/conf.py | 26 | ||||
| -rw-r--r-- | docs/getting-started.md | 4 |
3 files changed, 95 insertions, 13 deletions
diff --git a/api-docs/source/_static/css/other.css b/api-docs/source/_static/css/other.css index cb820486..b0498fc6 100644 --- a/api-docs/source/_static/css/other.css +++ b/api-docs/source/_static/css/other.css @@ -1,6 +1,8 @@ +/* .wy-nav-content { max-width: 2000px !important; } +*/ .cpplink, .cpplink a, .cpplink a:visited{ color: #fff; @@ -14,3 +16,79 @@ .colon { display: none !important; } + + +.toctree-l1 a:visited, +.toctree-l1 a:hover, +.toctree-l1 a { + color: #ccc; +} + +.wy-nav-top { + background-color: #d73726 !important; + color: #fff !important; +} + +.wy-nav-top a:visited, +.wy-nav-top a:hover, +.wy-nav-top a, +.wy-side-nav-search a:visited, +.wy-side-nav-search a:hover, +.wy-side-nav-search a { + color: #fff; +} + +.md-header { + background-color: #d73726; +} + +.md-tabs { + background-color: #d73726; + color: #ffffff; +} + +.headerlink, +.md-typeset a, +.md-nav__link, +.md-nav__item { + color: #d73726; +} + +a.md-tabs__link, +a.md_tabs__link:visited { + color: #ffffff; +} + +.md_tabs__link:hover { + color: #cccccc; +} + +.headerlink:hover, +.md-typeset a:hover, +.md-nav__link:hover, +.md-nav__item:hover { + color: #000000; +} + +.md-source, +.md-source:visited, +.md-header__button, +.md-header__button:visited { + color: #ffffff; +} + +.md-grid { + max-width: 85%; +} + +/* TODO: Cleanup above hacks and replace with fully theme-aware code like below. */ + +[data-md-color-scheme="binja"] { + --md-primary-fg-color: #d73726; + --md-primary-bg-color: #ffffff; + --md-primary-fg-color--light: #ECB7B7; + --md-primary-fg-color--dark: #990000; + --md-code-fg-color: rgb(215, 55, 38); + --md-code-bg-color: hsla(0, 0%, 96%, 1); + --md-typeset-a-color: #000000; +} diff --git a/api-docs/source/conf.py b/api-docs/source/conf.py index cfab6194..75bc3eac 100644 --- a/api-docs/source/conf.py +++ b/api-docs/source/conf.py @@ -59,7 +59,7 @@ def modulelist(module, basename=""): modules = inspect.getmembers(module, inspect.ismodule) # We block the module named "debugger", because it is the folder that contains all debugger Python files moduleblacklist = ["binaryninja", "core", "_binaryninjacore", "associateddatastore", - "dbgcore", "_debuggercore", "_collaboration"] + "dbgcore", "_debuggercore", "_collaboration", "_ty"] if basename != "": basename += "." @@ -181,10 +181,12 @@ extensions = [ 'sphinx.ext.intersphinx', 'sphinxcontrib.jquery', #'sphinx_tabs.tabs', - 'sphinx.ext.viewcode' + 'sphinx.ext.viewcode', + 'sphinx_immaterial', ] simplify_optional_unions = True +autoclass_content = 'both' autodoc_typehints = 'both' autosummary_generate = False autodoc_member_order = 'groupwise' @@ -211,7 +213,7 @@ master_doc = 'index' # General information about the project. project = u'Binary Ninja Python API' -copyright = u'2015-2023, Vector 35 Inc' +copyright = u'2015-2024, Vector 35 Inc' author = u'Vector 35 Inc' # The version info for the project you're documenting, acts as replacement for @@ -253,22 +255,22 @@ todo_include_todos = False # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. # -html_theme = 'sphinx_rtd' -html_theme_path = [os.path.join(os.path.abspath("."), "..", "..")] +html_theme = 'sphinx_immaterial' +#html_theme_path = [os.path.join(os.path.abspath("."), "..", "..")] # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the # documentation. # html_theme_options = { - 'display_version': True, - 'style_external_links': True, - 'collapse_navigation': True, #Change to have all modules expandable from the start - 'navigation_depth': 2, - 'titles_only': False, - 'sticky_navigation': False, + 'features': ['navigation.tracking', 'navigation.expand', 'toc.follow'], + "palette": { "scheme": "binja", "accent": "red" } } +object_description_options = [ + ("py:parameter", dict(include_fields_in_toc=False)), +] + # Add any paths that contain custom themes here, relative to this directory. # html_theme_path = [] @@ -279,7 +281,7 @@ html_title = u'Binary Ninja API Documentation v' + version # A shorter title for the navigation bar. Default is the same as html_title. # -html_short_title = u'BN API' +html_short_title = u'Binary Ninja Python API Reference' # The name of an image file (relative to this directory) to place at the top # of the sidebar. diff --git a/docs/getting-started.md b/docs/getting-started.md index 4d222a87..2b5e4c84 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -6,9 +6,11 @@ Welcome to Binary Ninja. This introduction document is meant to quickly guide yo ## Installing Binary Ninja The download links you receive after purchasing expire after 72 hours but as long as you have [active support](https://binary.ninja/faq/#updates) you can [request download links](https://binary.ninja/recover/) any time! + ### Linux -Because Linux install locations can vary widely, we do not assume that Binary Ninja has been installed in any particular folder on Linux. Instead, first unzip the installation zip wherever you wish to install BN, and then run `binaryninja/scripts/linux-setup.sh`. This sets up file associations, icons, and adds BN's Python library to your python path. Run it with `-h` to see the customization options. +Because Linux install locations can vary widely, we do not assume that Binary Ninja has been installed in any particular folder on Linux. Instead, first unzip the installation zip wherever you wish to install BN. Next, for paid versions, run `./binaryninja/scripts/linux-setup.sh`. This sets up file associations, icons, and adds BN's Python library to your python path. Adding the library to your path is most helpful for headless functionality in commercial licenses, but even on non-commercial plugins it can help IDE's find the type information to make plugin development easier. Run the script with `-h` to see customization options. + ### MacOS To install on MacOS, simply drag-and-drop the app bundle from the DMG to the desired location. |
