Files
OpenBB/website
Danglewood c047cfeddd docs/new-working-docs: New working docs branch (#5768)
* move old example notebooks to v3 folder, update loadHistoricalPriceData and add findSymbols

* Create README.md

* Update README.md

* Update README.md

* Update README.md

* Vertical diagram instead

* important classes

* core dependencies

* folder structure

* devtools

* swap order

* fix github pages deploy issue

* development index

* delete expectations for developers

* devtools

* obbject stuff

* add

* installation

* hub sync

* idk if i committed already

* add usage page for financial statements

* add link to reference page

* syntax

* numbers

* nearly --> more than

* easier to read code blocks

* codespell

* removing mention to provider

* add 'orientation' for to_dict

* info card for output user preference

* put it in a code block

* correct user_settings.json example

* syntax corrections

* fix sentence

* get rid of floating point mathc

* get rid of other floating point math

* add companion example notebook for financial statements, and new section

* historical prices usage page

* codespell

* add commitment of traders section to usage

* add a note

* codespell

* get rid of equals sign

* Cleanup docs. with @the-praxs

* install

* obbject extend

* spell

* HeadTitle thingies

* Update obbject_extensions.md

* Update obbject_extensions.md

* typo

* Update architectural_considerations.md

* point to the TET pattern

* optional vs required

* reviewing the  patterns. removed the --pre flag under the assumption this will be the final docs for the release cc @deeleeramone

* add a walkthrough

* spelling

* Add more in the introduction

* validator examples

* update Copper-to-Gold notebook example for V4

* Update README.md

* QA Caveats w @the-praxs

* info on class outputs

* merge add data sources and add data points

* disclaimer on cookiecutter

* add missing import to example

* slight syntax change

* missing code block

* missing import

* update intrinio example syntax

* intrinio syntax update

* urls

* core and provider merged

* example syntax

* grammar

* Update API banner link

* quick-fix-docs cc @minhhoang1023

* Update pip install command for v3

* remove --pre note block

* update landing image

---------

Co-authored-by: Henrique Joaquim <h.joaquim@campus.fct.unl.pt>
Co-authored-by: Luqman <luqazino@gmail.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com>
Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>
2023-12-01 01:09:25 +00:00
..
2023-11-21 21:10:45 +00:00
2023-11-30 12:40:39 +00:00
2023-11-13 15:03:31 +00:00
…
2023-11-22 13:17:45 +00:00
2023-11-13 15:03:31 +00:00
2023-08-03 15:25:47 +00:00
2023-11-13 15:03:31 +00:00

OpenBB Documentation Website

This repository contains the source code for the OpenBB Documentation Website.

The website was built using Docusaurus, a modern static website generator and TailwindCSS as styling solution. It uses algolia search for the search bar. The final website can be found at https://docs.openbb.co.

Folder Structure

website
├── content # Markdown files
| ├── sdk # SDK markdown files
| ├── bot # bot markdown files
| ├── platform # platform markdown files
| └── terminal # Terminal markdown files
├── src # react stuff for website
├── static # Static files
├── generate_sdk_markdown.py # Script to generate markdown files for SDK
└── generate_terminal_markdown.py # Script to generate markdown files for Terminal

Markdown files

The markdown files are used to generate the website. The markdown files are located in the content folder. The markdown files are generated using the generate_sdk_markdown.py and generate_terminal_markdown.py scripts. The markdown files are generated from the docstrings in the SDK and Terminal code. Files inside content/sdk/reference and content/terminal/reference should not be changed manually because they are generated automatically on every commit.

Syntax sugar

Code blocks

Code blocks are generated using the default markdown syntax:

print("Hello World")

To generate a dynamic date for a certain code block (useful for options examples that need to have a valid date), you can use 2022-07-29 as a placeholder. The script will replace it with the third friday of the next month.

/op oichart ticker:AMD expiry:2022-07-29

Available options

This is great for huge lists. It opens a popup that contains the list and the search bar, so you can easily find what you are looking for. Everything is virtualized, so it's always fast no matter how many items you have. Check crypto page for a demo of this component.

import AvailableOptions from "@site/src/components/General/AvailableOptions";

<AvailableOptions
label="Exchanges"
allOptions={[
"aax",
"ascendex",
"bequant",
"bibox",
"bigone",
"binance",
"binancecoinm",
"binanceus",
"binanceusdm",
"bit2c",
"bitbank",
"bitbay",
"bitcoincom",
"bitfinex",
"bitfinex2",
"bitflyer",
"bitforex",
"bitget",
"bithumb",
"bitmart",
"bitmex",
"bitopro",
"bitpanda",
"bitrue",
"bitso",
"bitstamp",
"bitstamp1",
"bittrex",
"bitvavo",
]}
/>

Run locally

Prerequisites

  • Node.js >= 16.13.0 To check if you have Node.js installed, run this command in your terminal:
node --version # should be v16.13.0 or higher

Install dependencies

npm install

Start development server

npm start

This command starts a local development server and open up a browser window in http://localhost:3000. Most changes are reflected live without having to restart the server.

Build

npm run build

This command generates static content into the build directory and can be served using any static contents hosting service. We use Github Pages to host our website. It's deployed in the gh-pages branch.

Run tests

pytest tests/website --autodoc

If tests are run locally, the --autodoc flag is required, otherwise tests will be skipped.

To install necessary dependencies for tests, run poetry install -E doc in the root directory of the repository.

Notes

iFrame

We are detecting whether the website is loaded inside an iframe. If it is, we are hiding the header and footer. This is done to have a better integration with out hub website.

Contributing

We welcome contributions to the OpenBB Documentation Website.