diff --git a/.github/workflows/test-docs-links.yml b/.github/workflows/test-docs-links.yml index 94d41980..ed1a9fa4 100644 --- a/.github/workflows/test-docs-links.yml +++ b/.github/workflows/test-docs-links.yml @@ -35,7 +35,9 @@ jobs: bundle install - name: Setup HTML Proofer - run: gem install html-proofer + run: | + gem install html-proofer + htmlproofer --help - name: Replace "data-src" uses: jacobtomlinson/gha-find-replace@v3 @@ -63,11 +65,13 @@ jobs: BUNDLE_GEMFILE: ${{github.workspace}}/docs/GemFile run: bundle exec jekyll serve --detach + # see help in setup step - name: Test for broken URLs working-directory: docs run: | htmlproofer _site \ --no-enforce-https \ + --no-check-external-hash \ --ignore-status-codes "0,302,403,406,408,429,503,999" \ --swap-urls "https\://python.stockindicators.dev:http\://127.0.0.1:4000" \ --ignore-urls "/fonts.gstatic.com/" diff --git a/docs/GemFile.lock b/docs/GemFile.lock index 0367df37..a8e9f95a 100644 --- a/docs/GemFile.lock +++ b/docs/GemFile.lock @@ -21,7 +21,7 @@ GEM addressable (2.8.6) public_suffix (>= 2.0.2, < 6.0) base64 (0.2.0) - bigdecimal (3.1.6) + bigdecimal (3.1.7) coffee-script (2.4.1) coffee-script-source execjs @@ -31,10 +31,9 @@ GEM concurrent-ruby (1.2.3) connection_pool (2.4.1) cssminify2 (2.0.1) - dnsruby (1.70.0) + dnsruby (1.72.0) simpleidn (~> 0.2.1) - drb (2.2.0) - ruby2_keywords + drb (2.2.1) em-websocket (0.5.3) eventmachine (>= 0.12.9) http_parser.rb (~> 0) @@ -106,7 +105,7 @@ GEM nokogiri (>= 1.4) htmlcompressor (0.4.0) http_parser.rb (0.8.0) - i18n (1.14.1) + i18n (1.14.4) concurrent-ruby (~> 1.0) jekyll (3.9.5) addressable (~> 2.4) @@ -242,11 +241,11 @@ GEM jekyll (>= 3.5, < 5.0) jekyll-feed (~> 0.9) jekyll-seo-tag (~> 2.1) - minitest (5.22.2) + minitest (5.22.3) mutex_m (0.2.0) net-http (0.4.1) uri - nokogiri (1.16.2) + nokogiri (1.16.3) mini_portile2 (~> 2.8.2) racc (~> 1.4) octokit (4.25.1) @@ -262,7 +261,6 @@ GEM ffi (~> 1.0) rexml (3.2.6) rouge (3.30.0) - ruby2_keywords (0.0.5) rubyzip (2.3.2) safe_yaml (1.0.5) sass (3.7.4) diff --git a/docs/pages/guide.md b/docs/pages/guide.md index f10007f1..f848a4a1 100644 --- a/docs/pages/guide.md +++ b/docs/pages/guide.md @@ -29,7 +29,7 @@ layout: page Check that you've installed the following prerequisite software: - > Install the latest **Python** and **.NET SDK** for best performance. + > Install **Python** and the **.NET SDK**. Use the latest versions for better performance. | Installer | Min | Latest | Download | |---| :---: | :---: | --- | @@ -41,12 +41,17 @@ layout: page 2. Find and install the **stock-indicators** Python package into your environment. ```bash - # pip example + # bash CLI command pip install stock-indicators ``` > See [Python documentation](https://packaging.python.org/en/latest/tutorials/installing-packages/) for more help with installing packages. +> **More help**: if you're still having trouble getting started, see our +> **[QuickStart guide](https://github.com/DaveSkender/Stock.Indicators.Python.QuickStart#readme)** +> for step-by-step instructions to setup up your environment, +> and for calculating your first indicator using this library. + ### Prerequisite data Most indicators require that you provide historical quote data and additional configuration parameters. @@ -118,9 +123,6 @@ Note that: 1. `date` is always required, while each ohlcv values are optional. 2. ohlcv can be provided by `float`, `Decimal` and `str` representing number, but these are always stored as `Decimal`. -> If you're having trouble converting into `Quote` format, see our GitHub discussion on -> [Converting Pandas DataFrame to iterable Quotes]({{site.dotnet.repo}}/discussions/1165) for more information and troubleshooting support. - ### Where can I get historical quote data? There are many places to get stock market data. Check with your brokerage or other commercial sites. If you're looking for a free developer API, see our ongoing [discussion on market data]({{site.dotnet.repo}}/discussions/579) for ideas. @@ -156,7 +158,12 @@ quotes_list = [ ] ``` -You can also use `numpy.vectorize()`, its gain is too slight and hard to apply in this case. +You can also use experiment with `numpy.vectorize()`, but we don't like it much. Its small performance gains aren't worth the added code complexity in this use case. + +For a quickstart that includes converting quotes from **Pandas DataFrame**, see our online _ReplIt_ code example for the [Williams Fractal indicator](https://replit.com/@daveskender/Stock-Indicators-for-Python-Williams-Fractal). + +> If you're still having trouble converting into `Quote` format, see our GitHub discussion on +> [Converting Pandas DataFrame to iterable Quotes]({{site.dotnet.repo}}/discussions/1165) for more community discussion and troubleshooting support. ### Using custom quote classes