From 2f3f8ae496e6c63c8128fdbe1f08a2708e52ec99 Mon Sep 17 00:00:00 2001 From: Eddie Monaco Date: Fri, 24 Jan 2025 13:32:05 -0400 Subject: [PATCH 01/39] Created a jupyter notebook extesion entry --- .../jupyter-notebook-extensions/jupyter-notebook-extensions.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 content/data-science/concepts/jupyter-notebook-extensions/jupyter-notebook-extensions.md diff --git a/content/data-science/concepts/jupyter-notebook-extensions/jupyter-notebook-extensions.md b/content/data-science/concepts/jupyter-notebook-extensions/jupyter-notebook-extensions.md new file mode 100644 index 00000000000..e69de29bb2d From 27a255f7cdf6adf18c7e38cf2efefa44ec13a684 Mon Sep 17 00:00:00 2001 From: Eddie Monaco Date: Fri, 24 Jan 2025 13:57:52 -0400 Subject: [PATCH 02/39] Created jupyter notebook extensions entry --- .../jupyter-notebook-extensions.md | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/content/data-science/concepts/jupyter-notebook-extensions/jupyter-notebook-extensions.md b/content/data-science/concepts/jupyter-notebook-extensions/jupyter-notebook-extensions.md index e69de29bb2d..a7b6d1f66fb 100644 --- a/content/data-science/concepts/jupyter-notebook-extensions/jupyter-notebook-extensions.md +++ b/content/data-science/concepts/jupyter-notebook-extensions/jupyter-notebook-extensions.md @@ -0,0 +1,33 @@ +--- +Title: 'Jupyter Notebook Extension' + +Description: 'Jupyter contributed notebook extensions are community-contributed and maintained plug-ins to the Jupyter notebook.' + +Subjects: + - 'Data Visualization' + - 'Machine Learning' + +CatalogContent: + - 'paths/machine-learning-engineer' + - 'paths/visualize-data-with-python + +--- + +***Jupyter notebook extensions*** serve many purposes, from pedagogical tools to tools for converting and editing notebooks.Jupyter contributed notebook extensions are community-contributed and maintained plug-ins for Jupyter notebook. + +## Syntax +***Enabling extensions via the command line*** +1. There are multiple ways to install contributed extensions. For this example, we will use pip. + + sudo -E pip install jupyter_contrib_nbextensions +1. Next, add the notebook extension style files to the Jupyter configuration files. + + sudo -E jupyter contrib nbextension install --sys-prefix +1. Then, you will enable the extensions you would like to use. The syntax for this is jupyter nbextension enable followed by the path to the desired extension’s main file. For example, to enable scratchpad, you would type the following: + + sudo -E jupyter nbextension enable scratchpad/main --sys-prefix +1. When this is completed, the enabled extension should be visible in the extension list: + + jupyter nbextension list +1. You can also verify the availability of the extension via its user interface in the notebook. For example, spellchecker adds an ABC checkmark icon to the interface. + From a95f03f50465da3e726c46ad1b84a9dc5ab8023e Mon Sep 17 00:00:00 2001 From: Edmond Kodua <115733408+aatidua@users.noreply.github.com> Date: Fri, 24 Jan 2025 14:13:09 -0400 Subject: [PATCH 03/39] Update jupyter-notebook-extensions.md Created Jupyter Notebook extension for entry --- .../jupyter-notebook-extensions/jupyter-notebook-extensions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/data-science/concepts/jupyter-notebook-extensions/jupyter-notebook-extensions.md b/content/data-science/concepts/jupyter-notebook-extensions/jupyter-notebook-extensions.md index a7b6d1f66fb..b511272ef04 100644 --- a/content/data-science/concepts/jupyter-notebook-extensions/jupyter-notebook-extensions.md +++ b/content/data-science/concepts/jupyter-notebook-extensions/jupyter-notebook-extensions.md @@ -9,7 +9,7 @@ Subjects: CatalogContent: - 'paths/machine-learning-engineer' - - 'paths/visualize-data-with-python + - 'paths/visualize-data-with-python' --- From b25286e506f548e4faa4163a8ed91a2ff4713e58 Mon Sep 17 00:00:00 2001 From: Eddie Monaco Date: Sun, 2 Feb 2025 13:55:16 -0400 Subject: [PATCH 04/39] Definition and some examples updated --- .../jupyter-notebook-extensions.md | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/content/data-science/concepts/jupyter-notebook-extensions/jupyter-notebook-extensions.md b/content/data-science/concepts/jupyter-notebook-extensions/jupyter-notebook-extensions.md index b511272ef04..8b823f6848f 100644 --- a/content/data-science/concepts/jupyter-notebook-extensions/jupyter-notebook-extensions.md +++ b/content/data-science/concepts/jupyter-notebook-extensions/jupyter-notebook-extensions.md @@ -13,21 +13,12 @@ CatalogContent: --- -***Jupyter notebook extensions*** serve many purposes, from pedagogical tools to tools for converting and editing notebooks.Jupyter contributed notebook extensions are community-contributed and maintained plug-ins for Jupyter notebook. +***Jupyter notebook extensions*** are add-ons that improve the functionality of Jupyter Notebook by installing them as add-ons. They can be used to run code, edit code as well as manage notebboks. -## Syntax -***Enabling extensions via the command line*** -1. There are multiple ways to install contributed extensions. For this example, we will use pip. +## Some Examples of Jupyter Notebbok Extensions +1. Notification : Sending notification after it has Jupyter Notebook becomes idle for a long-running task - sudo -E pip install jupyter_contrib_nbextensions -1. Next, add the notebook extension style files to the Jupyter configuration files. +1. LaTex : Permits live-editing of LaTex documents - sudo -E jupyter contrib nbextension install --sys-prefix -1. Then, you will enable the extensions you would like to use. The syntax for this is jupyter nbextension enable followed by the path to the desired extension’s main file. For example, to enable scratchpad, you would type the following: - - sudo -E jupyter nbextension enable scratchpad/main --sys-prefix -1. When this is completed, the enabled extension should be visible in the extension list: - - jupyter nbextension list -1. You can also verify the availability of the extension via its user interface in the notebook. For example, spellchecker adds an ABC checkmark icon to the interface. +1. Collapsable Headings: It is used to collapse entire group of cells under the same header From 6e8c42ee8acaa4ac64994388f5a0025ef1f4610e Mon Sep 17 00:00:00 2001 From: Eddie Monaco Date: Wed, 5 Feb 2025 11:56:10 -0400 Subject: [PATCH 05/39] Inhave the definition, examples and installation for review --- .../jupyter-notebook-extensions.md | 29 +++++++++++++++---- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/content/data-science/concepts/jupyter-notebook-extensions/jupyter-notebook-extensions.md b/content/data-science/concepts/jupyter-notebook-extensions/jupyter-notebook-extensions.md index 8b823f6848f..eac434926a3 100644 --- a/content/data-science/concepts/jupyter-notebook-extensions/jupyter-notebook-extensions.md +++ b/content/data-science/concepts/jupyter-notebook-extensions/jupyter-notebook-extensions.md @@ -13,12 +13,31 @@ CatalogContent: --- -***Jupyter notebook extensions*** are add-ons that improve the functionality of Jupyter Notebook by installing them as add-ons. They can be used to run code, edit code as well as manage notebboks. -## Some Examples of Jupyter Notebbok Extensions -1. Notification : Sending notification after it has Jupyter Notebook becomes idle for a long-running task +### What are Jupyter Notebook Extensions? ### +They are used to add functionalities to Jupyter Notebook interface. It is used to customize and improve ones Jupyter Notebook Experience. -1. LaTex : Permits live-editing of LaTex documents +Examples of Jupyter Extensions -1. Collapsable Headings: It is used to collapse entire group of cells under the same header +1. Code Folding + Jupyter_fold aids in focusing on specific parts by allowing Jupyter notebook user to fold and unfold code cells +2. Spellchecking + + Spellchecker highlights misspelled words in code and markdown cells. + 3. Table of contents + + The ‘toc’ extensions help Jupyter Notebook users to generate table of contents based on markdown headers + +Installing Jupyter Notebook extensions + +The mentioned extensions above and many more are available through open source package ‘jupyter_contrib_nbextensions’. It is a python package that contains several unofficial extensions provided through open source to improve Jupyter Notebook capabilities. + +Run the following in the command prompt: + + !sudo pip install jupyter_contrib_nbextensions && jupyter contrib nbextension install —user + + +To add the nbextensions into the Jupyter servers’s search directory, tun this code + + jupyter contributed nbextension install \ No newline at end of file From 419eb5bc05884a7327262c99fb8532a558e45c03 Mon Sep 17 00:00:00 2001 From: Pragati Verma Date: Fri, 7 Feb 2025 13:35:08 +0530 Subject: [PATCH 06/39] Update jupyter-notebook-extensions.md --- .../jupyter-notebook-extensions.md | 47 ++++++++++--------- 1 file changed, 26 insertions(+), 21 deletions(-) diff --git a/content/data-science/concepts/jupyter-notebook-extensions/jupyter-notebook-extensions.md b/content/data-science/concepts/jupyter-notebook-extensions/jupyter-notebook-extensions.md index eac434926a3..cf7690bebaa 100644 --- a/content/data-science/concepts/jupyter-notebook-extensions/jupyter-notebook-extensions.md +++ b/content/data-science/concepts/jupyter-notebook-extensions/jupyter-notebook-extensions.md @@ -1,43 +1,48 @@ --- Title: 'Jupyter Notebook Extension' - -Description: 'Jupyter contributed notebook extensions are community-contributed and maintained plug-ins to the Jupyter notebook.' - +Description: 'Jupyter Notebook extensions are community-developed plugins that enhance the functionality, customization, and usability of Jupyter Notebooks.' Subjects: - 'Data Visualization' - 'Machine Learning' - CatalogContent: - 'paths/machine-learning-engineer' - 'paths/visualize-data-with-python' - --- +**Jupyter Notebook extensions** are add-ons that enhance the functionality of the Jupyter Notebook interface. They allow users to customize and improve their experience by adding various features. + +## Examples of Jupyter Notebook Extensions -### What are Jupyter Notebook Extensions? ### -They are used to add functionalities to Jupyter Notebook interface. It is used to customize and improve ones Jupyter Notebook Experience. +1. **Code Folding**: The `jupyter_fold` extension helps users focus on specific sections by enabling code cells to be folded and unfolded. +2. **Spellchecking**: The `spellchecker` extension highlights misspelt words in both code and Markdown cells. +3. **Table of contents**: The `toc` extension automatically generates a table of contents based on Markdown headers, improving navigation within a notebook. -Examples of Jupyter Extensions +## Installing Jupyter Notebook extensions -1. Code Folding +The Jupyter Notebook extensions are available through the open-source package `jupyter_contrib_nbextensions`. This Python package provides several unofficial extensions designed to enhance Jupyter Notebook’s capabilities. - Jupyter_fold aids in focusing on specific parts by allowing Jupyter notebook user to fold and unfold code cells -2. Spellchecking - - Spellchecker highlights misspelled words in code and markdown cells. - 3. Table of contents +To install it, run the following command: - The ‘toc’ extensions help Jupyter Notebook users to generate table of contents based on markdown headers +```shell +pip install jupyter_contrib_nbextensions && jupyter contrib nbextension install --user +``` -Installing Jupyter Notebook extensions +To add the `nbextensions` to the Jupyter server’s search directory, use: -The mentioned extensions above and many more are available through open source package ‘jupyter_contrib_nbextensions’. It is a python package that contains several unofficial extensions provided through open source to improve Jupyter Notebook capabilities. +```shell +jupyter contrib nbextension install +``` -Run the following in the command prompt: +## Enabling/Disabling Extensions - !sudo pip install jupyter_contrib_nbextensions && jupyter contrib nbextension install —user +After installation, users need to enable specific extensions like this: +```pseudo +jupyter nbextension enable +``` -To add the nbextensions into the Jupyter servers’s search directory, tun this code +And to disable: - jupyter contributed nbextension install \ No newline at end of file +```pseudo +jupyter nbextension disable +``` From 8798cad8ea2c2155c8a35a19e7a6cfa42b56f20a Mon Sep 17 00:00:00 2001 From: Mamta Wardhani Date: Fri, 7 Feb 2025 15:31:15 +0530 Subject: [PATCH 07/39] Update jupyter-notebook-extensions.md fixed format From bdb981dbbd20ba4e4c7ce13fc061ca9880180afc Mon Sep 17 00:00:00 2001 From: Mamta Wardhani Date: Fri, 7 Feb 2025 15:38:17 +0530 Subject: [PATCH 08/39] Update jupyter-notebook-extensions.md --- .../jupyter-notebook-extensions.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/content/data-science/concepts/jupyter-notebook-extensions/jupyter-notebook-extensions.md b/content/data-science/concepts/jupyter-notebook-extensions/jupyter-notebook-extensions.md index cf7690bebaa..c3a0d1f7ef6 100644 --- a/content/data-science/concepts/jupyter-notebook-extensions/jupyter-notebook-extensions.md +++ b/content/data-science/concepts/jupyter-notebook-extensions/jupyter-notebook-extensions.md @@ -2,11 +2,11 @@ Title: 'Jupyter Notebook Extension' Description: 'Jupyter Notebook extensions are community-developed plugins that enhance the functionality, customization, and usability of Jupyter Notebooks.' Subjects: - - 'Data Visualization' - - 'Machine Learning' + - 'Data Visualization' + - 'Machine Learning' CatalogContent: - - 'paths/machine-learning-engineer' - - 'paths/visualize-data-with-python' + - 'paths/machine-learning-engineer' + - 'paths/visualize-data-with-python' --- **Jupyter Notebook extensions** are add-ons that enhance the functionality of the Jupyter Notebook interface. They allow users to customize and improve their experience by adding various features. From 6c82441e5b7be9ddebd4b7b590de23a5fa7f593b Mon Sep 17 00:00:00 2001 From: Eddie Monaco Date: Sat, 15 Feb 2025 10:00:00 -0400 Subject: [PATCH 09/39] Just the beginning of the resizeTo input --- .../window/terms/resizeTo/resizeTo.md | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 content/javascript/concepts/window/terms/resizeTo/resizeTo.md diff --git a/content/javascript/concepts/window/terms/resizeTo/resizeTo.md b/content/javascript/concepts/window/terms/resizeTo/resizeTo.md new file mode 100644 index 00000000000..57d4c0ef00e --- /dev/null +++ b/content/javascript/concepts/window/terms/resizeTo/resizeTo.md @@ -0,0 +1,21 @@ +--- +Title: 'resizeTo()' +Description: 'It is used to resize the window dynamically' +Subjects: + - 'Web Development' + - 'Computer Science' +Tags: + - 'Arguments' + - 'Functions' + - 'Parameters' +CatalogContent: + - 'Introduction-to-Javascipt' + - 'paths/front-end-engineer-career-path' + +--- + +The ***resizeTo()*** function is used to change the size of a window to a new width and height. + +## Syntax + resizeTo(width, height) + From a9c34bc04e2ba1d4c6f5c209190ca53c4eca82f2 Mon Sep 17 00:00:00 2001 From: Eddie Monaco Date: Sat, 15 Feb 2025 10:19:24 -0400 Subject: [PATCH 10/39] It needs to be checked for update --- .../concepts/window/terms/resizeTo/resizeTo.md | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/content/javascript/concepts/window/terms/resizeTo/resizeTo.md b/content/javascript/concepts/window/terms/resizeTo/resizeTo.md index 57d4c0ef00e..bbd1b899de1 100644 --- a/content/javascript/concepts/window/terms/resizeTo/resizeTo.md +++ b/content/javascript/concepts/window/terms/resizeTo/resizeTo.md @@ -17,5 +17,19 @@ CatalogContent: The ***resizeTo()*** function is used to change the size of a window to a new width and height. ## Syntax - resizeTo(width, height) +```js + window.resizeTo(width, height); +``` +- `width` : It will be the new total number of pixels of the window width after the ***resizeTo*** function has been executed. + +- `height` : It will be the new total number of pixels of the window height after the ***resizeTo*** function has been executed. + +## Example + + +```js + window.resizeTo(298, 57) +``` + +The above example will resize the window to a width of 298 pixels and height of 57 pixels. From ebe7ef98bc0912b15fb41990c5c48e96f822cabd Mon Sep 17 00:00:00 2001 From: Eddie Monaco Date: Sun, 16 Feb 2025 14:22:45 -0400 Subject: [PATCH 11/39] I have made the improvements --- .../window/terms/resizeTo/resizeTo.md | 21 +++++++++---------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/content/javascript/concepts/window/terms/resizeTo/resizeTo.md b/content/javascript/concepts/window/terms/resizeTo/resizeTo.md index bbd1b899de1..8059da1301a 100644 --- a/content/javascript/concepts/window/terms/resizeTo/resizeTo.md +++ b/content/javascript/concepts/window/terms/resizeTo/resizeTo.md @@ -1,6 +1,6 @@ --- -Title: 'resizeTo()' -Description: 'It is used to resize the window dynamically' +Title: '.resizeTo()' +Description: 'Resizes the browser window to the specified width and height in pixels.' Subjects: - 'Web Development' - 'Computer Science' @@ -9,25 +9,24 @@ Tags: - 'Functions' - 'Parameters' CatalogContent: - - 'Introduction-to-Javascipt' + - 'Introduction-to-javascipt' - 'paths/front-end-engineer-career-path' --- -The ***resizeTo()*** function is used to change the size of a window to a new width and height. +The `.resizeTo()`function resizes the browser window to the specified width and height in pixels. -## Syntax -```js - window.resizeTo(width, height); -``` + ## Syntax + ```pseudo + window.resizeTo(width, height); + ``` -- `width` : It will be the new total number of pixels of the window width after the ***resizeTo*** function has been executed. + - `width` : The new width of the window in pixels after resizing. -- `height` : It will be the new total number of pixels of the window height after the ***resizeTo*** function has been executed. + - `height` : The new height of the window in pixels after resizing. ## Example - ```js window.resizeTo(298, 57) ``` From e5d1671d2c514326978dbf541ef06e127b03cac9 Mon Sep 17 00:00:00 2001 From: Eddie Monaco Date: Sun, 16 Feb 2025 18:03:30 -0400 Subject: [PATCH 12/39] Fix formatting and run script --- .../window/terms/resizeTo/resizeTo.md | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/content/javascript/concepts/window/terms/resizeTo/resizeTo.md b/content/javascript/concepts/window/terms/resizeTo/resizeTo.md index 8059da1301a..39013e948fe 100644 --- a/content/javascript/concepts/window/terms/resizeTo/resizeTo.md +++ b/content/javascript/concepts/window/terms/resizeTo/resizeTo.md @@ -1,34 +1,34 @@ --- Title: '.resizeTo()' Description: 'Resizes the browser window to the specified width and height in pixels.' -Subjects: - - 'Web Development' - - 'Computer Science' +Subjects: + - 'Web Development' + - 'Computer Science' Tags: - - 'Arguments' - - 'Functions' - - 'Parameters' + - 'Arguments' + - 'Functions' + - 'Parameters' CatalogContent: - - 'Introduction-to-javascipt' - - 'paths/front-end-engineer-career-path' - + - 'Introduction-to-javascipt' + - 'paths/front-end-engineer-career-path' --- -The `.resizeTo()`function resizes the browser window to the specified width and height in pixels. +The `.resizeTo()`function resizes the browser window to the specified width and height in pixels. + +## Syntax - ## Syntax - ```pseudo - window.resizeTo(width, height); - ``` +```pseudo +window.resizeTo(width, height); +``` - - `width` : The new width of the window in pixels after resizing. +- `width` : The new width of the window in pixels after resizing. - - `height` : The new height of the window in pixels after resizing. +- `height` : The new height of the window in pixels after resizing. ## Example ```js - window.resizeTo(298, 57) +window.resizeTo(298, 57); ``` The above example will resize the window to a width of 298 pixels and height of 57 pixels. From 9c14c634d4d90d2fe2e9c77d2b10ae1ad564b5c7 Mon Sep 17 00:00:00 2001 From: Mamta Wardhani Date: Mon, 17 Feb 2025 12:26:49 +0530 Subject: [PATCH 13/39] minor fixes --- .../concepts/window/terms/resizeTo/resizeTo.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/content/javascript/concepts/window/terms/resizeTo/resizeTo.md b/content/javascript/concepts/window/terms/resizeTo/resizeTo.md index 39013e948fe..5b749da3ca9 100644 --- a/content/javascript/concepts/window/terms/resizeTo/resizeTo.md +++ b/content/javascript/concepts/window/terms/resizeTo/resizeTo.md @@ -9,11 +9,11 @@ Tags: - 'Functions' - 'Parameters' CatalogContent: - - 'Introduction-to-javascipt' + - 'introduction-to-javascript' - 'paths/front-end-engineer-career-path' --- -The `.resizeTo()`function resizes the browser window to the specified width and height in pixels. +The **`.resizeTo()`** function resizes the browser window to the specified width and height in pixels. ## Syntax @@ -22,13 +22,14 @@ window.resizeTo(width, height); ``` - `width` : The new width of the window in pixels after resizing. - - `height` : The new height of the window in pixels after resizing. ## Example +Here is an example to demonstrate the use of the `.resizeTo()` function: + ```js window.resizeTo(298, 57); ``` -The above example will resize the window to a width of 298 pixels and height of 57 pixels. +The above example will resize the window to a width of _298_ pixels and height of _57_ pixels. From 9dc4eec9858e9e8341df35eae692cb76f04ac63a Mon Sep 17 00:00:00 2001 From: Sriparno Roy Date: Tue, 18 Feb 2025 12:10:02 +0530 Subject: [PATCH 14/39] Minor changes --- .../javascript/concepts/window/terms/resizeTo/resizeTo.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/javascript/concepts/window/terms/resizeTo/resizeTo.md b/content/javascript/concepts/window/terms/resizeTo/resizeTo.md index 5b749da3ca9..32eead70662 100644 --- a/content/javascript/concepts/window/terms/resizeTo/resizeTo.md +++ b/content/javascript/concepts/window/terms/resizeTo/resizeTo.md @@ -13,7 +13,7 @@ CatalogContent: - 'paths/front-end-engineer-career-path' --- -The **`.resizeTo()`** function resizes the browser window to the specified width and height in pixels. +In JavaScript, the **`.resizeTo()`** function resizes the browser window to the given width and height in pixels. ## Syntax @@ -21,8 +21,8 @@ The **`.resizeTo()`** function resizes the browser window to the specified width window.resizeTo(width, height); ``` -- `width` : The new width of the window in pixels after resizing. -- `height` : The new height of the window in pixels after resizing. +- `width`: Indicates the width of the window in pixels after resizing. +- `height`: Indicates the height of the window in pixels after resizing. ## Example From 4dc0d410dcc20b282eef78b49362667e90004356 Mon Sep 17 00:00:00 2001 From: Edmond Kodua Date: Thu, 20 Feb 2025 21:43:27 -0400 Subject: [PATCH 15/39] The folder and the markdown file for scrollTo has started --- .../concepts/window/terms/scrollTo/scrollTo.md | 14 ++++++++++++++ package.json | 3 ++- 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 content/javascript/concepts/window/terms/scrollTo/scrollTo.md diff --git a/content/javascript/concepts/window/terms/scrollTo/scrollTo.md b/content/javascript/concepts/window/terms/scrollTo/scrollTo.md new file mode 100644 index 00000000000..5cfbb016818 --- /dev/null +++ b/content/javascript/concepts/window/terms/scrollTo/scrollTo.md @@ -0,0 +1,14 @@ +--- +Title: '.scrollTo()' +Description: +Subjects: + - 'Web Development' + - 'Computer Science' +Tags: + - 'Arguments' + - 'Functions' + - 'Parameters' +CatalogContent: + - 'introduction-to-javascript' + - 'paths/front-end-engineer-career-path' +--- diff --git a/package.json b/package.json index 25ccb7da153..8925e9b1087 100644 --- a/package.json +++ b/package.json @@ -40,5 +40,6 @@ "validate-content-tree": "node .github/scripts/validate-content-tree.js" }, "license": "UNLICENSED", - "version": "1.0.0" + "version": "1.0.0", + "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e" } From 74d7ece60683b17d634f38573c0a1a03b1ca8896 Mon Sep 17 00:00:00 2001 From: Edmond Kodua Date: Fri, 21 Feb 2025 20:04:09 -0400 Subject: [PATCH 16/39] Pseudo code and explanation to variables added --- .../concepts/window/terms/scrollTo/scrollTo.md | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/content/javascript/concepts/window/terms/scrollTo/scrollTo.md b/content/javascript/concepts/window/terms/scrollTo/scrollTo.md index 5cfbb016818..915e8225321 100644 --- a/content/javascript/concepts/window/terms/scrollTo/scrollTo.md +++ b/content/javascript/concepts/window/terms/scrollTo/scrollTo.md @@ -1,6 +1,6 @@ --- Title: '.scrollTo()' -Description: +Description: 'Scrolls document to specified coordinate in pixels' Subjects: - 'Web Development' - 'Computer Science' @@ -12,3 +12,18 @@ CatalogContent: - 'introduction-to-javascript' - 'paths/front-end-engineer-career-path' --- + +In Javascript, **`.scrollTo()`** scrolls document to a specified coordinate in pixels. + +## Syntax + +```pseudo +window.scrollTo(xcoord, ycoord) +``` + +- `xcoord` is the direction in the horizontal direction +- `ycoord` is the direction in the vertical direction + +```pseudo +window.scrollTo(options) +``` From 312a3b22b86d213b84378c5e8dc1a4a1a9e14639 Mon Sep 17 00:00:00 2001 From: Edmond Kodua Date: Sat, 22 Feb 2025 14:37:05 -0400 Subject: [PATCH 17/39] ScrollTo.md have been done and needs review --- .../window/terms/scrollTo/scrollTo.md | 36 ++++++++++++++++--- 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/content/javascript/concepts/window/terms/scrollTo/scrollTo.md b/content/javascript/concepts/window/terms/scrollTo/scrollTo.md index 915e8225321..24a769eebb2 100644 --- a/content/javascript/concepts/window/terms/scrollTo/scrollTo.md +++ b/content/javascript/concepts/window/terms/scrollTo/scrollTo.md @@ -13,17 +13,45 @@ CatalogContent: - 'paths/front-end-engineer-career-path' --- -In Javascript, **`.scrollTo()`** scrolls document to a specified coordinate in pixels. +In Javascript, **`.scrollTo()`** scrolls window document to a specified position in pixels. ## Syntax ```pseudo -window.scrollTo(xcoord, ycoord) +window.scrollTo(x, y) ``` -- `xcoord` is the direction in the horizontal direction -- `ycoord` is the direction in the vertical direction +- `x` is the direction in the horizontal direction. +- `y` is the direction in the vertical direction. ```pseudo window.scrollTo(options) ``` + +- `options` is an object with the following properties: + + - `top` is the pixels in the y-axis. + - `left` is the pixels in the x-axis. + - `behavior` is a string that determines whether the crolling is done instant or animates smoothly: + - `smooth` : animate scrolling smoothly. + - `instant` : scrolling is done instant. + - `auto` : scrolling is determined by a computed value of **_scroll-behavior_**. + +## Example + +The code below scrolls the window to 298 pixels from the left (x-axis) and 57 pixels from the top (y-axis). + +```js +window.scrollTo(298, 57); +``` + +Using options: +The code below scrolls the window smoothly 57 pixels from the top (y-axis) and 298 pixels from the left (x-axis). + +```js +window.scrollTo({ + top: 57, + left: 298, + behavior: 'smooth', +}); +``` From b22248d6d28046b28958b51954fc91a0668f7716 Mon Sep 17 00:00:00 2001 From: Mamta Wardhani Date: Mon, 24 Feb 2025 12:50:45 +0530 Subject: [PATCH 18/39] minor changes --- .../window/terms/scrollTo/scrollTo.md | 34 ++++++++++--------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/content/javascript/concepts/window/terms/scrollTo/scrollTo.md b/content/javascript/concepts/window/terms/scrollTo/scrollTo.md index 24a769eebb2..499a88a68a2 100644 --- a/content/javascript/concepts/window/terms/scrollTo/scrollTo.md +++ b/content/javascript/concepts/window/terms/scrollTo/scrollTo.md @@ -2,8 +2,8 @@ Title: '.scrollTo()' Description: 'Scrolls document to specified coordinate in pixels' Subjects: - - 'Web Development' - 'Computer Science' + - 'Web Development' Tags: - 'Arguments' - 'Functions' @@ -13,7 +13,7 @@ CatalogContent: - 'paths/front-end-engineer-career-path' --- -In Javascript, **`.scrollTo()`** scrolls window document to a specified position in pixels. +In JavaScript, **`.scrollTo()`** scrolls the window or document to a specified position in pixels. ## Syntax @@ -21,32 +21,34 @@ In Javascript, **`.scrollTo()`** scrolls window document to a specified position window.scrollTo(x, y) ``` -- `x` is the direction in the horizontal direction. -- `y` is the direction in the vertical direction. +- `x`: The horizontal coordinate (in pixels) to scroll to. +- `y`: The vertical coordinate (in pixels) to scroll to. + +Or, alternatively: ```pseudo window.scrollTo(options) ``` -- `options` is an object with the following properties: +- `options`: An object with the following optional properties: + - `left`: The horizontal scroll position in pixels. + - `top`: The vertical scroll position in pixels. + - `behavior`: Defines the scrolling behavior. Accepted values: + - `smooth`: Scrolls with an animation. + - `instant`: Scrolls immediately. + - `auto`: Uses the browser's default scrolling behavior. - - `top` is the pixels in the y-axis. - - `left` is the pixels in the x-axis. - - `behavior` is a string that determines whether the crolling is done instant or animates smoothly: - - `smooth` : animate scrolling smoothly. - - `instant` : scrolling is done instant. - - `auto` : scrolling is determined by a computed value of **_scroll-behavior_**. +## Example 1 -## Example - -The code below scrolls the window to 298 pixels from the left (x-axis) and 57 pixels from the top (y-axis). +The code below scrolls the window to _298_ pixels from the left (x-axis) and _57_ pixels from the top (y-axis) using absolute coordinates: ```js window.scrollTo(298, 57); ``` -Using options: -The code below scrolls the window smoothly 57 pixels from the top (y-axis) and 298 pixels from the left (x-axis). +## Example 2 + +The code below scrolls the window smoothly to _57_ pixels from the top (y-axis) and _298_ pixels from the left (x-axis) using the options object: ```js window.scrollTo({ From bb54868b23a6cfd6909504cc56abe741e58460ce Mon Sep 17 00:00:00 2001 From: Edmond Kodua Date: Mon, 24 Feb 2025 17:50:25 -0400 Subject: [PATCH 19/39] resizeTo.md has been deleted from the bracnh --- .../window/terms/resizeTo/resizeTo.md | 35 ------------------- 1 file changed, 35 deletions(-) delete mode 100644 content/javascript/concepts/window/terms/resizeTo/resizeTo.md diff --git a/content/javascript/concepts/window/terms/resizeTo/resizeTo.md b/content/javascript/concepts/window/terms/resizeTo/resizeTo.md deleted file mode 100644 index 32eead70662..00000000000 --- a/content/javascript/concepts/window/terms/resizeTo/resizeTo.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -Title: '.resizeTo()' -Description: 'Resizes the browser window to the specified width and height in pixels.' -Subjects: - - 'Web Development' - - 'Computer Science' -Tags: - - 'Arguments' - - 'Functions' - - 'Parameters' -CatalogContent: - - 'introduction-to-javascript' - - 'paths/front-end-engineer-career-path' ---- - -In JavaScript, the **`.resizeTo()`** function resizes the browser window to the given width and height in pixels. - -## Syntax - -```pseudo -window.resizeTo(width, height); -``` - -- `width`: Indicates the width of the window in pixels after resizing. -- `height`: Indicates the height of the window in pixels after resizing. - -## Example - -Here is an example to demonstrate the use of the `.resizeTo()` function: - -```js -window.resizeTo(298, 57); -``` - -The above example will resize the window to a width of _298_ pixels and height of _57_ pixels. From 89747f1e7206e9da6fbbe1f70b6bac8032b840f5 Mon Sep 17 00:00:00 2001 From: Edmond Kodua Date: Fri, 28 Feb 2025 21:26:45 -0400 Subject: [PATCH 20/39] Started the getelementbyid task --- .../dom-manipulation/terms/getelementbyid/getelementbyid.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 content/javascript/concepts/dom-manipulation/terms/getelementbyid/getelementbyid.md diff --git a/content/javascript/concepts/dom-manipulation/terms/getelementbyid/getelementbyid.md b/content/javascript/concepts/dom-manipulation/terms/getelementbyid/getelementbyid.md new file mode 100644 index 00000000000..e69de29bb2d From 381774d282ffeb6226b44f1669cee9acc7f4fed4 Mon Sep 17 00:00:00 2001 From: Edmond Kodua Date: Sun, 2 Mar 2025 10:16:32 -0400 Subject: [PATCH 21/39] resolving error with id --- .../terms/getelementbyid/getelementbyid.md | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/content/javascript/concepts/dom-manipulation/terms/getelementbyid/getelementbyid.md b/content/javascript/concepts/dom-manipulation/terms/getelementbyid/getelementbyid.md index e69de29bb2d..45d85675930 100644 --- a/content/javascript/concepts/dom-manipulation/terms/getelementbyid/getelementbyid.md +++ b/content/javascript/concepts/dom-manipulation/terms/getelementbyid/getelementbyid.md @@ -0,0 +1,46 @@ +--- +Title: '.getElementById' +Description: 'Returns the element objects representing element whose id property matches the string provided.' +Subjects: + - 'Computer Science' + - 'Game Development' + - 'Web Development' + - 'Web Design' +Tags: + - 'Arguments' + - 'Functions' + - 'Parameters' +CatalogContent: + - 'introduction-to-javascript' + - 'paths/front-end-engineer-career-path' +--- + +In javascript, the **_getElementById()_** method of the `Document` interface returns an `Element` object representing the element whose `id` property matches the specified string. + +## Syntax + +```pseudo +document.getElementById(id) +``` + +-`id`:is the ID of the element to locate. Within the document, the ID is case_sensititve and should be unique to just one element. + +## Example + +```HTML + + + + +

Codecademy

+

The getElementById() Method

+ + + + + + +``` From 0bd7aa22b405c634f69846f9001ac670042b81ee Mon Sep 17 00:00:00 2001 From: Edmond Kodua Date: Sun, 2 Mar 2025 13:25:50 -0400 Subject: [PATCH 22/39] trying to upload raw data --- media/getelementbyid.png | Bin 0 -> 6918 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 media/getelementbyid.png diff --git a/media/getelementbyid.png b/media/getelementbyid.png new file mode 100644 index 0000000000000000000000000000000000000000..1ecd4629dade5f2dd9586c6167839dac7d6d3942 GIT binary patch literal 6918 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 Mtf8-7sro$XANAeXoB#j- literal 0 HcmV?d00001 From fa9f1bb9267dfedcc751b4b85584d5809711e42a Mon Sep 17 00:00:00 2001 From: Edmond Kodua Date: Sun, 2 Mar 2025 13:32:06 -0400 Subject: [PATCH 23/39] Trying to upload the png file --- .../dom-manipulation/terms/getelementbyid/getelementbyid.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/content/javascript/concepts/dom-manipulation/terms/getelementbyid/getelementbyid.md b/content/javascript/concepts/dom-manipulation/terms/getelementbyid/getelementbyid.md index 45d85675930..8058032180b 100644 --- a/content/javascript/concepts/dom-manipulation/terms/getelementbyid/getelementbyid.md +++ b/content/javascript/concepts/dom-manipulation/terms/getelementbyid/getelementbyid.md @@ -44,3 +44,7 @@ myElement.style.color = "blue"; ``` + +## Output + +(https://raw.githubusercontent.com/aatiduaCodecademy/docs/main/media/getelementbyid.png) From f6bcd9935aa676f24102a3c962e4a6033cd3f40f Mon Sep 17 00:00:00 2001 From: Edmond Kodua Date: Sun, 2 Mar 2025 16:37:13 -0400 Subject: [PATCH 24/39] Fixing the image upload --- .../dom-manipulation/terms/getelementbyid/getelementbyid.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/javascript/concepts/dom-manipulation/terms/getelementbyid/getelementbyid.md b/content/javascript/concepts/dom-manipulation/terms/getelementbyid/getelementbyid.md index 8058032180b..84ad0e2c6c5 100644 --- a/content/javascript/concepts/dom-manipulation/terms/getelementbyid/getelementbyid.md +++ b/content/javascript/concepts/dom-manipulation/terms/getelementbyid/getelementbyid.md @@ -45,6 +45,6 @@ myElement.style.color = "blue"; ``` -## Output +-`Output`: -(https://raw.githubusercontent.com/aatiduaCodecademy/docs/main/media/getelementbyid.png) +![The resulting display ](/Users/edmondkodua/Desktop/projects/new/docs/media/getelementbyid.png) From bd4fbf6df73bd0e3792e57ba5bc8716a5e0fe54f Mon Sep 17 00:00:00 2001 From: Edmond Kodua Date: Sun, 2 Mar 2025 17:54:41 -0400 Subject: [PATCH 25/39] ready for review --- .../terms/getelementbyid/getelementbyid.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/content/javascript/concepts/dom-manipulation/terms/getelementbyid/getelementbyid.md b/content/javascript/concepts/dom-manipulation/terms/getelementbyid/getelementbyid.md index 84ad0e2c6c5..22e4d005eb7 100644 --- a/content/javascript/concepts/dom-manipulation/terms/getelementbyid/getelementbyid.md +++ b/content/javascript/concepts/dom-manipulation/terms/getelementbyid/getelementbyid.md @@ -45,6 +45,10 @@ myElement.style.color = "blue"; ``` --`Output`: +- `Result`: -![The resulting display ](/Users/edmondkodua/Desktop/projects/new/docs/media/getelementbyid.png) + - The example will display the element with a matching string `id` _atd_ as blue. + +- `Output`: + +![Display of color of an element after getElementById() method](../../../../../../media/getelementbyid.png) From 2ecaacd0798d9b6abfe67f8b7743fd3005128622 Mon Sep 17 00:00:00 2001 From: Edmond Kodua Date: Mon, 3 Mar 2025 20:16:01 -0400 Subject: [PATCH 26/39] started teh carpet() entry --- content/plotly/concepts/graph-objects/terms/carpet/carpet.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 content/plotly/concepts/graph-objects/terms/carpet/carpet.md diff --git a/content/plotly/concepts/graph-objects/terms/carpet/carpet.md b/content/plotly/concepts/graph-objects/terms/carpet/carpet.md new file mode 100644 index 00000000000..e69de29bb2d From 58eeb32617a09c2c36fee079fdd47777c6f0c9d7 Mon Sep 17 00:00:00 2001 From: Edmond Kodua Date: Mon, 3 Mar 2025 20:29:18 -0400 Subject: [PATCH 27/39] Carpet() is started --- .../graph-objects/terms/carpet/carpet.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/content/plotly/concepts/graph-objects/terms/carpet/carpet.md b/content/plotly/concepts/graph-objects/terms/carpet/carpet.md index e69de29bb2d..e8377833fef 100644 --- a/content/plotly/concepts/graph-objects/terms/carpet/carpet.md +++ b/content/plotly/concepts/graph-objects/terms/carpet/carpet.md @@ -0,0 +1,16 @@ +--- +Title: '.Carpet()' +Description: 'C' +Subjects: + - 'Data Science' + - 'Data Visualization' +Tags: + - 'Data' + - 'Finance' + - 'Plotly' + - 'Graphs' + - 'Data Visualization' +CatalogContent: + - 'learn-python-3' + - 'paths/data-visualization' +--- From 97de14aca588e33792eab74a89de08db56f63f80 Mon Sep 17 00:00:00 2001 From: Edmond Kodua Date: Tue, 4 Mar 2025 14:37:00 -0400 Subject: [PATCH 28/39] updating carpet --- content/plotly/concepts/graph-objects/terms/carpet/carpet.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/plotly/concepts/graph-objects/terms/carpet/carpet.md b/content/plotly/concepts/graph-objects/terms/carpet/carpet.md index e8377833fef..13cf7d00a6d 100644 --- a/content/plotly/concepts/graph-objects/terms/carpet/carpet.md +++ b/content/plotly/concepts/graph-objects/terms/carpet/carpet.md @@ -1,6 +1,6 @@ --- Title: '.Carpet()' -Description: 'C' +Description: 'Creates visualization technique that displays interaction between variables' Subjects: - 'Data Science' - 'Data Visualization' From 77fdad5e7699714f3b6523d3324548d4bd05ec80 Mon Sep 17 00:00:00 2001 From: Edmond Kodua Date: Sat, 8 Mar 2025 20:06:21 -0400 Subject: [PATCH 29/39] Nearly done with carpet() --- media/carpet_plot.png | Bin 0 -> 50552 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 media/carpet_plot.png diff --git a/media/carpet_plot.png b/media/carpet_plot.png new file mode 100644 index 0000000000000000000000000000000000000000..b78ac9cd7a2bc4600831967aa45aedb169d3fa31 GIT binary patch literal 50552 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

%F{O%eJ*_V{zHbw!LgD z+qRA6<(6%`WqqH0&iS45`=@jIrykwc{nB;aHW@=iEAAHX#*ch+=f=@B~mr@Dlgp;?C< zh%VyrvI)L7OCq_$DsK(>pMIyVmsEqp_k)6dEH^-TLnWy2Ay?dzh{K^#t_Z$HFAY&S zHdw)J$in!uq=LrYailL7cibv=sVL9CZbRZv{ReA!qz{_yVZ#VbB`9xEl8E~yW^Uc; z8-2A(5CI`Wi57=#UQ*4P2_~_-uTD70iR?X6zI9?Sc8tY(Y_gw+?#Mg^0f@ zefsD>XCS8YvI@wU?e)d8oz8fef8(PR4ek?0s=U2kAsh`wdy>2$(7_2-+bhAt@By$D zj?4#WYI#~K?!~F{JEQ%i;jA&?rEC?WKmu-rX&G#eD8xi{c8SnWPAR1QFZ4L2`x(?q zot`j!V;iaoH6{?R?Q^r(5k?PFZ|vP+e1Oo#1!4JOvMVxQdz}8a+Bc2blEdaFkmPcI z7ZAWf%eYe~R#caCYzPn$Ra*(sKj=F+N z4-#*o|4KGK^+DVs*8b@t%;I%UO5?G}{x`(o_FMVm*`R2?#mLG-i9Y*9$n6_ibpSG- z(-4d>3m^>ZpadQg5CeN;Xn)zd5EL={24vT=GM5*1`ktlt9F+Eg2Xw zb;&czemAS4oq)ta5d6`jb>+i5sti&ZtAj$K$~I>!ssT z2fa>~+olP-?+^E(fMa9J+YnVg(LO0HMaA0xI;00${ul#jI7-#|6|v(SkU5g)MD$Nv zjxY>q4q#waM~eyY0~5Fy6mC>-Phc%>MH`=I703ZTPNz_%^zbiQqwC?&!Dc((|63*Z z^b0T}L;swyVNA}Z)2D_XH7Xo|BdKn#lOJdo3+SnvWuIv^v=l~SWeXnpZTC92L#BBv z=ebuIb{vq+)vokeX0B{;%{(`xOJzO%Aqd#0niNHlyz$qxgpn{{VG)>uLk<^Cn~sd_ zooxZxTp|<)C!ca?t{fCphFl;eTf!E`$IB+}&2)btun{%$;=!I}#{MFCzxrLI=NNP{ zZyOIx?-52S=OEjY$iac|K`i+glnf|TJx+5Nj$~-I8o8w%y5a)2QoH9`)ry_7b$hQd z-G85Mb##~%=v}c-*#){2!w2;V|HeGgSQPCJeg z{b>NBd`XA>pRR5U5Od@iKJ>o|v|sMQe`85IwV6j3+H6O#y%?Dc*HIhO;QO?_Hc$bH zU=q+h-PRLWNu~}#0~RW|8aK*7)`>sLhn_+I>wif1bUoeZ@i*f2o@;kX8LGX7Zp=(s^14r-RK><3;gByE4NezFDyO!A1wf! zT)+WK;eO{rRvBmpRRxk#R~`pTT)*qg8Y)9l8UP0 z33QgFzI`i5t{OH5qQ#UP-cMUvd(V0%VY)*72b{q= zGjvNFJA0{2?Y$kFLksT=&w_k-)qKbus(>!C{9ZryJ-t2Au$6G+JK1NaIVguR=pZMp5Bxkk=h@pswAjL~ZWE-;y_JK?iK9o;-t>9oJ zj#WsR0yNP04%lk>IOw{2S+_Bk8&4jv!hclW0;!#d^djBMCAVG}*JQ|wMykY>_ z8da-`%hKUt8XJI%GR|XZvY3_ybk%y^=i`vPgS5-LA~pNz@<`6Jm92mB?Y#9Wjhc>A zQ}c*rr>?&ytXTCglxhzjsPZgMt2y|80f1<9fI_ApEkq*;zu>dGN?Yym@>yJKe}OtB zVsh9rXNyw#L_%6%H$>yvFqh##ezm<{JNpcNxb#JOpg2JVLi`|=rM!>0# zc3+a70#P2M&%b_FQGY*ESpZ;L_Zi}`AH`Cjizc&V5ugWE$m15cfRE{xcDPx3<_ z68x%Ab6=&dAR0$OrBXrlrK+T4(Q_y~Jd}tCX2udG5LMWN(TkN53W02i%+$5s^q%X! znPcRf`r=stVrj|Ubd>}7JDq(TQBm>SQR&zP^nGm=0QRajS+Gvl`J*#HiKv_1PBa7k znN*uNprCk%$~A3|Tm8*G_VdtN@#$6(+(=w!K8gu92+wV_3>F9-oY<^N9c|u&oh|2g zo1{+++4}Rlic{RQRc(71=)_XXYr!Lw51I=Ju{>ZR&ts)$m zJ2Kj2H$k}IRWYI?NtULw$YdN@{8eM=3}`TwLhuJjLgSoEYPgoNo+5glDJlxo+vC9Y zV`MG{c$mM3^C?Vda&WyAO1&wHQyq?XFRNNx}*vR-uWW+#8Lg~ktr{x%4XOHi&WX}T zn>&oX`v^LZ=fV!VCO+%VNJA9RyiGk9Xxw6z}z z?5)siLV)LUr?AUKwMpi`@unT{$AkHDi_E6ETlW2r$7Yy>xWVdd>lDZ7-TL3J4JK%2 z^sw@acZ8gQ&xAg3uG#`19QC?oRkCI&R)Ge?u=&zW6JH46D(HivaEQglLrvuI*ey2A zh(vkL0zW?X%z=nC>qUolrG#XkH@vf^F~BaTkpV8FmTNQI{uXLZyD3!qV2F?W6?Vy- z;&7oo=X{=9l;$bRnE|-qQ}U@wN6%HSTc*g=mj);S)H7$zoj;amyW7;Z32b(MH%T4s zo^Sh@bMzS7xwxN2+X96G2)p1#%4g!tiib0~ z7;R2gQNXT5%vR7e-ntO?t2q@lWBQ4Fm1-=5Nc@ZT^4**-P^)yxR^sb6d+S1&T$wYUZUQZA;QkdZ;En9x)Ff)Z%;)&^wsHi zwz&2S|0=h~M}m$MoD9$XqrD5WUNtAKU=#0I_*>Q_li_d#n@{M&BO?P7YgdbHq!VtZ z%Rl{Ip?^lwS}2};@IC7wjrri~=I%)>^MmO5j!^i!5}fAX7vbuvGkeX+iBRkLmRYJ> zFPy(_HuLJG2ad?^R*T_k8*g|LtT_j&g^@J$Z+e(kUov2Et~D_=}| z-CWyiGm!rOt)UJNkM+-IdQMk;l~KdN9NIPkrB!Z{A9WcL_~6tRM+#g0nX%2G;aNj2 zMT$$*+PupoY&u(vY9HeB=lXLYF?3f+J8D?^s>E^~@Dm)+l<2iUBD5(%+I3r)#DA%j!`yPQk*+G*@?PWjx z2x+JKz77L}(6j8@EJ?%)I$L4mAPAT|w#>LFiIPm3|2x&x5mtIm*i(U=!q`^X;~J5? z^+U+CRi^p43RP_l5Z1!{uCQ zan)6gWCrk~C$5Y>ufZcQ>{8K071Kwr2`<9t?N3R2uFPjo*9*T1{1s_@${S~uFH#Z5 zjNR{utGn=aE;~V^(N?|vvRFbUkD+q>V`2sM zsQXhbolfi*o=-~L@p+v-6Z&33VlwJP@$+#DvN8gVoChVN#8-Bx>u;C1FSQQ%AEnAC zG#fiE0Zh3i3+uz{HhGJo%OU(DIkm2XoVK~<*XsibxPs>LjdFv8o)oQl!!A{&xX0cz z2dJg{Hr&9E7ofgN2@=>S3;wKQXm_XE=i`IDJ(;g<6>!b*>x61LUkn*+}T6cfdAQCRyKa!I8PdCP#T-|r0#or&w{ zjuFi+4@id2OF9HxkEHQE+C+i&GroI@)1ioJpU}T!bO?tl_%~QS(XRXBqDG=?EJ&Y{ zpUb%jvS#8+Wuf?w=0Q)ckIt@gzaqn2b2Wa7+wiH$O>{zieqeGH(AeqAAdD&U>jS%- zF9*PA9E|6L^p(2%|Af+P4joYbb3W9M&A1s`0M=u%x|H%vcvDOkF_N}Ma@F1jdYhvt z4;W&9#B;g5)rKGw5U6@w6I?4dIUQ5S<7#vC6OLfJ1MQX9v8ig_X-C)Q*Pf`C0Psm{ z@#xo&Y`dk&-xr^o{Ps$kRQV#&=I`8VsC*v4keWf7D&2;Go{$-bfwxIo8QB?`G&t8y z6I0-43IEb=PkS5~#B{i|+#Hsl@3#gn;NjtbQ|L(qVy+uj-%ecjm>sOnX{TBYAjdLq zV`oz|$g^>}DTSiy7M?9BvBp16H6@=n;d7>hD(;w&io=N><4VdSdL*naXv4aY$qZpx zJK}5(`HCmBBzVmUkZ!zppmW4{d`t4i*lKKz+1!SoboQ7cC1=Nv8OsVek{=%uc()M) zMoIDtM{;;6n{-F6dEO-rpjRum>4vCV7JS8({WU9|`nL88)K2x>@L))~2)fizJhisrL*vT~ERY z*lfrij56H!yI3rzijd9W$xiWt($X|GZLT!y&l_~b(4?7cV!DG-;Fj5e)p6rZ;1ja+ zO8L99g#o|2zmI*($M1Cp3kCI{*1@V*=obKngO6Z(ACD<`-KUVnb*23NJui}0x(+(; z7;00&qDpabwztpj_fcce--w%yq39Ox6wW6THp}16o5sDCI>{cnKH{6CeTenmztbGu zCtt6h;W{3kBw9Qk+~c?GKXr6y)8ZE80$EEP!QS1`l3PsZy zZ;L~?Vm=(+T*Rg%`~YUo%w!giw6>Q1w}LAyU)7dYwcXgjt8)4~NoQsYZP)<>Hm;_X zT*S7vjFBCWaN3SX$g3Pj)MhJMYd;DY1m(JBePV4G&TEdIE>9*2{Pakp1v zk+miG=zb^S%`i*z(U?k*1y(Dv?y1Vlw)Av1-tom3i#}a2|QgOxEn3Qo^BWU#*{eX0xBDNjvL>< z7aLvaFndWB#%x8S+mZVtBfa|d>fZZd6W+z|x>Id_fY3=^YgE>P&PXjT@Z<8wto?eq zy|a@$;A-o=DTT)$Z*d;T?$+P~_t3Y!{XM~_t80e)$-v2KqwS-FQKyXM_)0+ouiG4r z?h}dLs?Q1rR?PIztp3zjkMF-;n}2O=Oe#6fZ#Upn%r-S1Wb=I3Az$QptWD09acNQP z!3TG}y}7<@xI?bmTV$XClmQk%pfvvdI#dd1AanC0PPaoC%`di^Xvqic)cVRqbad$N zp4&oyPnSQr@-m^(s#Z3-N0y(}7@Fdpr(bgVyjX*?lIA;`*X*c&1W04qI5#r4U%NF7 zSo`!U<|`CMB(~JhuCyU)T~6gYGMntOw>5N_eA1juBDR6|_=pJ+tVf+pc2kI?*TzrHy1uZ&7SKHVc`n>1P5AA# zmwmQ1mhvE*ZX3=C&d%b@iLpNgQpw5srO&9u_<9ZO7XInZu>V3=4WZr`tQ6~EUn2QyE*+1!bwa9T6OE6>Rb;kc38qcQIm)U$C@YO%$^4>Z) zNNo(Ydc1UobNlgum7jNu!7(}sUA@_Ww#~)Lc%;^GDvLPB)`rzFVr8MpY8`=5fE{+r zpwa&1(EP#rNRJ^57*$Omn|cc>;(vsDlCch0IFK`*>Vt5lVJ-f!ysW;mcAReIx|GDA z_aAf{Dvqo(nj+QyLGX0&MezrLW_n=-eS?cNFPAfd%f(U*uu}>8ba^(GFj!7_O>~0) zx;~T>CT;)d)!yG;cTKC$7aRatnQGO>jH{u=*IA$U;ZrH#`}3S<+f=kh1MrkP^NIUDLeI1N%Q;4921&$5QEfv4d4s{Xs3S`1TO}n6-U-OlekAt{R z>H$B^Ma5sj^y=4pmOnyn8B#;zgHJf=}(L4BwUSjSa%H*4mE2=9rP$|Q{vb{o>{F(kcPqS^9!2yz! z`cML3`&DezVEa~ShLHPKiJff(mAa;e(qhZ1x&*Rs5x_w@(l z>9||_>8bj1H!{~^za6j_kiXRFvZLCY-45N;;bUYZ>}JsMm+yX5S%1Nl7RZ&LC*ThKN_2cN8?1#A;-8;U|=nv>ns=>OzbJa#r+qE)=Q(q?7eB6oCl zjxGmHD)#I_nee~Dc{rI<(x*?_wE{jkdPy0uQ>tLlb_zfe7V?$7paH*8>_8+Uf95jb zCctrqOdI-A+P}UU1e(B@szMHmXVhCWh6h}=!FXd|!;$MoR48h}Vi)?UCKWmo(&HT6 zH9M%M=lq%)WR0cP;gRtmlc?QcQiFHmQ-OrQK*+E~*UcIf!J{b(%(K1Rp=PUf(K=r3 z_Vh@{iv&wuda@EuNPz8EtzMCfCE=~}yuq$|jWcB|bvIjnS7oBn(Jj!b`MiZ=c{GSV^|w-m+d9LXO{V)6V6FOA&!o6HlK zQ-xT$sDd&h!y-051EYl*d|x`V7}C?2&NP7ih9DV9pqnCC;mp!vYs-VUu0rzIu^>S? zpm>=w8S^g-J~fNgm+(=Ghdk!QEeW)goKzNA>`97jU$IU5~U2Og^;Bv zx^LozacN+3M?3AaX$CsNbao65HVq|+?0WD{y`~>-l>T>M?ZeOIEwPQ1g+z`+?4`%y zG5gAB#_G=3Fh$b+x`@g8gocQ7ZWS3vji#9*yzE*d?Qd5k(LDW;k#D6f( zA!X=uRO(3(jE0)(ezV8k=VPCqb$4R|Q*H7C<)CGwZc;7Hh)@aeB8cX_M8C1L}V1!s~2n z5EFfEo8wFiQ2?|*Dx&Ok`}_}JZ7KcNqBFCNwpLoiFvDCw;v5JtBEjx%>-tRK`#MRO z^5;fUHdb;87WjrJi?#;EuZcD!BXtcV)bx{7V;-B5pYBF?YF;wZQYkf{!Qx*cx*qS6 z8sY^77|r;?J+5Ir66h|>6*xY`ZM_XnY8J4v4P%K9A;5k-N|&=O*~* z%2Dz@LN9u+9Ddda9ewZsJi;w@8s#Sp0whcs|#@=77_YOs` zI~E11BFSOTTYud3)ONYjSHngf5`uth@dI{s?M(_h7<4L>;Yr4xq%+T{GWS36#Se)f z22$k13qvSWZ4*HkoX|MM@BI#JyNYi`wj=B^1!P*H7Q8svWN&Fw4yW$kUoGiAYmhoj zY&&8t5OKYAb}TU_p#Kc7R(<1Ky~41zFJBVHc_}GvBLv25rEncMue$#s4>i}1iWYoo zFM{Ail%y!yU9^VPH1-{0d$^i~x7EL^ul_y**<8OOW4zUpEdmCH3nela7w{S>i)%XhI_}ynXtnc^)3e8XqRXkVs<`*l>+7@?_ITQ~ zETyS!<8HFkn9c&Op_|LPum;Zl@{<0<-PWyz_-3YjS6?D&g-Uj@Nr9URoLdr5mb09@ zxwNpbrk)6ZDK$=4iVkjBR5_^#Pg5MPt5)!4eqm_~W zvJAJJx9+#~eT(w6>Hdvc@Z_1(jn?KRW9c!wyHAgwLb2*g`w3rekk;1g+fR|LMryyt zYg3JYK^>mP{EuKNL4PG+Jtu5$BB7UPK#*QeNBhU5b;5UeXn@kfV$b^Xij1Rr*RuY| zAHy4sL^L_hS%pLzI!nH#^W{OHzP6Ha=H-6U(ac{W*7OuTi8gyh(IHV%awX&J!G##I zh*oE|6xDH>(3GJN{vnVCu`^81N(&F9(!Wp$*p-hqo6hMcue-8O7t&YFz%5QrVkr-; z1<~`|ZDt~MJM5lqw^A$Q_B;a=tz1IA9PAu~wjF_<5MNgRj_VfNa+B z4SPhpLO`#n_hWFBO5(_0&7jRG$718mi@E+X9?rz#P|#9_X*?IwZEGJK9fv_uZTS^t zTzL8heF2A>`>pdMj<)@1?DzWCcnGE9rs}JY0$=NJ@t9{9uzbQeWava=q zLjXplxI^M+lvp-5$>|rO}r^p9%0ZIW&wp>9uB|JPX6l7}H_*t?z25+f^LLmbsNOEEB zW3$WgtnLt?)2&y}lEdJQ^{1sn8iuacMXJe-S&#I|@S&R8ny}@<;3@U}R#%uj5gi-U ztK7+XnaEzts>0?Dqwg=3KIr=4D%^D~xiHWjGGG@Gg!4j!Pl;-*hisgzc9yd_mkrW* zgTP?Wi&1JsL~~6eQTd->?YaVSNbFW|uFx5S#P&`Bf|4n+KRMclhdI6AaQ zG+1KSYr+k_YGDdg*XC7hQ_@WbPvbW)%iO-VyZak8Imm6Z%2KB;r(qrIY;l{>_l<3Z zTuYNx%b;AZ`jd$~K@fBiZv-$M&FOe*5Uy|kGd%-xx2?dNZZ|mpqGMv4b?cH^5JCc$ z>2ixoBP$uCg1%U1&9U5QqdJh^!UM)*M5eOsXb2_YxJT!VV^+GuwH(K!ovlAt}TX!hHl+K!MoH~t>9C@4iUTYG5=JW9Adbr*iC4(tMr!gN- zEtDm~VydPS{cWAkW|ivWpTU^^-67pUw3yY1MU$w}mBdNq9tO~b&kKE3yd1;Zn~w_@ zp}a6qp0oW7X@gs{u}noFLSU^{>)@?5zc?;Fx_^iJCLy@-*JGq_40r5UJ9(%j+Rwx* z0bPIY6A2(FN^i}H9`)ocVYQKoNk^r=FFc~1yYTH!j!hrOSZt96((j+mr*unwk zmGkpQifP}=sG)`HzxXN`F#H4qhu}1@WiLxWhrCI93*J@su>pXzpGo*(ehZeu(PpX% zn;Da6w*`e{jZyf+!z@c3E*u$hg+IzT3H7H~bg8Wa=wj*9$FZ&<>$PaoA4y-7))kP3`r428EaV*_f9i zNWSrwo&#=ChKP8JNVRG$Qn6Xjuv+<=7btM)aKLw5#F6x;E~%#}({rlUx}x#p_;g#R z9|Q3eM-f1c@0yp7(C9vyC434#By!S7tVTiSQZ<_E<`m4+KzSSjk>GqDVVvS78Gt}R ztUA2LMa(f{R#=-MC(2_Nl3TyNfxnzNAv9Pm!L_Kk3BZJ(_Y3*x)1Yu-fORqJP-o!m z({*=kz?t$uk>#<47)j_Iv1(e?P!&xY!=I=;+f#M!J2>t9jI#c9P=68Ad{6=LYyy=ko+#MF%4i=QX9-uz+?_KeBOpL& zv%VlH^do}s53fjahG}QHS(Ir6xXRbKtV~-v|1g-Fkhf3ouFvPi9Nwm6Q9gY#d{iyDh_8wJ>I zsAP`E&Fn-VNubH>a`5HZ+;Wx(mxI+HNwyka3pPs`(z$4`iTI~BLm7fbCPsRH#dP(J zFK~9{lzud5;E%@CpF6Qk#vE6l{!u6upBZl$H{WpgQh9ZEH&_5|(}&azNY5Lu-zSxC zvhK#w)=}lsK@9Xgg$xYdo}8TW$W&BR{n2aBQw{ba@+k}lX2cKz zj|tpd`7Oc$LBZp>9AWEiK1kr(}q{hb;7n!4D%M0d9I;ucQ;l3m7^pU)bxU z+3H0DP!j1&GzrQX`mW+E4^i=7S$7yWL_myb^o0Y`f5;SeAf)j3t`a|6^#J*J7xl{|^&>qvgF-<`y|G}*T*(2B|LIt*<8>x~Du{eptnjW@ zb0!U2NlCVmGgL`CLFGHvR8BC%pQ#J>2vJCyrzuUcr#Uq^pdCtl92K!gGN(^DsruW! z$$YgIG%Mv=kiByDP^46@*&0bxTk*C%0o~Fb%7YF0F8AL^wrU4|jKHAQ51nt}8Z=q}sNBZfr&jQ5@H z=d{0hx{e;~rMY-0e?z;pg5VLcWvpm`FAg3xY!SNe9No|S8I_`k#~Fz$N-a?BS6sti zhq%m-weBfAmUMXq<=7l>-&8j@qE?Wz?O*~XxI61Y>;&L|1*9K^^oFXC6AW(1mpQ?# zxKQkC_D>d&BI=oxY5Sg`&TTg{`Vt59{Y+WKTwuP3Z2?($i!pHB8`-n^IC5oYF1yGb zA+^up{W3KLX?xG`_7tS^QlyEy8D?ljEHn40o3O!*l9|g(uGYa_%WaxL3fqkswMUxq z5bMpia|R~gt>Tumt_@rsU4_=0rfF+4$1WI(GPR^7o=s26kM8QNXQw=eR{OQ{zeiFC z5PzzHUP7u(ZHU*HX3Q^9*2}}KSo?ES3jTic_rte6RcIKom*f#}c+7QtNrwIJnU)?O zaS*0)2(Y;ZdSe4n5vHqHQm^Z6gdhg!UGjguDoSvVLXA$g1qRo~h96aTACm+IL+u1T zUZ{4E>fO5e3rjVobzeHJy1c^V-$f4vAOnT1B>tbmvb{ZlUQ^w(9tas4R)r)Wp!b}W zVw&#<3y~jH+0nZr4p9#8b-gG5ncqo2v5v2d#q?}GFO~Qx9yU+L&?#)pz`U{i%!1vK z24H`R&XC9``?d|UbC}Ifyv=AJP2Rg+PaDzI_1A~ZdNE2}poVfvZ4T+Z2_`r}9?#UC zNmXA;{Cglxz$aT{-Ooq0$>hIg|2##Lv_$X;azCt`JSSVpl2*xcPaIO-8RAO4>1g{)A)R_79-p5Lj$3%H zZjofJp6gT?IE6oz7J*q61Mchc~oMg)JytelE;}-B1PyUE`e=3 z0(a#f^Va&4f!Q4#H0Xe1U0%LKmep|N?O}Dz_xa`$Z?;+u8W`tvS#ac7^#yAE*$rjl zd;>BHcVKbxC!;d(TBx)D*TT5{QUi`tO#iv66WAMam8%9K6mnQV;@(Imp5KDQpId4K zZEOhmAD^%yTWXvrvDC2ZKC(L$=s4M{hSJ5wRUp6WW;2#zIC!~7qAT5A$L=vleaF$i zhHTzcq;_e0?;%!e)xncMgeN1z>%Z@27@AAgQ|Kez+5=!FEj-hu!Cw1Nt(LC-Ni;xH z$9h8cYzuI|3JL_xgQ8cd^o{)oWRmhNhg8jw@y%1s&5}Y~;;2h8^45$Z_n1*1ridg9 z(7z%g-37HTz#h%!BHDEOaQ;hUnPX!owff?f>_ENU&kwb1UFX77>O4-!M&lw*%0j@Y zs{nYWe4Q(L7(iw6ayQ&F zCed$E9h?~wh4OCxT6SrTqlr86dTbFLGxSjznbq1z<@D>6EM z&z)LdM1SGj+iWc_EUNQ?1)M?IW6Us7zn_RldHI;9R~S_3$kWPc^JOo)l?*xFiw-$Y z#)!=hn~2_#lpI$ydB}`MXB@fK0&n-Ny=v%s?&NABL@yDkS8Y}G9}^O^`uXv2x-np7 zA`T6ZiGV-e6LM4GP7arVy4Y%(J$tY3e62+Fk}D2=*+Xm82HM}JJ$oY3(WXd3HQCy1 zFKqVZjC%8(%_B_$$z(q4`WXcl80|~d&gPfk9|n}PL6l$}n|fWGSZ6YYW>+&3;QLbg zyqqzbtzp_^k=g+wCjZm5>8kx7<1AM5i3H%TOMtunw6`}xtjfm%eNg*EaSPX30cluqg8vQKE4 zV;+BKIb+21kEEEd1VQe$Ug1ERWAXMrh|*EV|KOn86rHV7uQ~eUQ#>hf?{wtAy%*YG zL7y;y+HBZuE+E(9*~r{S;?dm)~Gc9vUtYK`4=_po(gnSgy2jowvVA%ci__ zbWqDVrrO&R-C+Pnh7Q74`vyK=bl|M7d!>KZ)5(egWzqL^E0)>4zc*jXIC0*HpGL}* z{8C&^1Qo-bF0}(^pnl=K1@nveBNMj_fP#MLSpm=Y|Gij&#L5)-piJNi+uG{RZZR0aBd)*othZh9 zr#;{J#w5D+!=y9>oLdF(`V%{DH{PGHbUk(=q|e9Ks1#~}XdW!;gTBF^@Wh8QRxsOu zj`BvUVox}z-DQZBj}Hw{o|?8Vbu7l>5x%2K%`q^OHwt+b5S1~6gux_}GYhqm740ht zF|7n4B==To=HS1{Y5A{9RI?&~KGICUk!c^tLd+I*{H z%imv*)k3X84VYghDy>7`&v6Nl(+_LyHnqK9bzuh%O0L<=oXqex z*PRpsX)Gsn$c;YjVLfhBbo* z!D9n=Gk6{AWXoBw{deSk2~Ash0#BZ|Cr?t$*N5~73ww1H6t}ZV`KfAoQ>Wt|UrV)t zsAnZVP$Jf4=}T2sb1|lRo98b)1l(05(%>xrfUuEbB2npON&xhU5q0N$=oRvJyW4YB zpyY*e{w0h|pot5(s(YS~I5d+ZH&2c&9hjOtB{ancUFaose#sSU0v>;H2ZuR9h%;{ndu_k0U4x-4!#lE>%1jY)WaB`i^n$LR;2fm{uv>x*hE)0jc$`!Ug< zA8+kd-_Nst+djH8>ePOseP4={*GmVw%idgvuQ?LXa{M9ymZ{hq_2~KffctU7&@s}5M^gc_&J56JY?5|YQv-3hCy!c)fyD9ka{ER(`bshD~p3q0x-G8~!a#Uc- zLhaZOFf3uC3uNrb@XeJv7*#+dPn~xy0yW;vP*Q)No$#cjIJzdsMlhWCp!la8-%c|v?K5OF%-x8L4&i*eGMBj8h4}_4QeNJDOxcu2)P4RhnA3_Vciilg zJ5c^uy3Zd>?@pp!tTnGEYtTB}Vd32B1nH%0_a(d%Ul6AX8BFzD1iCyN=dYsiV5OE4 zdDGezd$>T4kKlNAlHR!4215-}RAecspCKQ`XY9x{2(BIDy~ck}2=R@Om8x-6JP>az zRH9L&k`L(hMHO-yi1+j_B-<+;tO_0IiftsAd3e-e((j5xM8JC8&BaJ^x_t&t0!bVY zKX>n&BMN=fK|9o2#o^#-MqX+KPqh)>E&9Bj$8{EO3HC`{;}~rp_qC)ttRnR%N6#j(7qP-ZeqIgl+%S3m_8ww&w6y5zuo(b(qTLy; zr)O`sY8YbwElCNl1`31=s{UYzl%$DQ3e@ga5{hIpH<^SIn_#>JlxTeP;Q~5d(lQwi zo|LRKbJjv3I}TA;g&s7@Q;F7ry13Mp8e&2M9Y+1w?wVT;ka>+uN<{K3%4%oED&7|c zweQ^F*g9;u*>kTfwoQ4L9xHfxv%zc!2#)ZNCKqPnd>Dz7aJ~`TpYX($y51-Q!l=?j zT`h|iDntFR__VQHRkh9#GEEIrW|Nz-|<6>PHC<)U+&HC3HMBL~PkS z;Y^$QpX?0N*?JuB1Lr-R@X3Xop3&;=n8-1!NPK5y#ONQ%MSi#cMI|FEl4uB?$n7WPv^#`B-D|9g)fbh~C!@)$@~X6i5@+K?B^Hnv zUf3jZsb+p&+1b&7ceZ#YW^QaTOkBFTa)aZP5gh%g!{b1b<+jWJ5A4hvyW>;BqAx&R z3E2tS4+b;DO?wa}R#IlCr-xkq$r8DrsI*_hz~VBW?T|HwQmxR8NZxorXXN7&(p;$1 z6*3-cK>|zvBeZcP>uU24C0V#Jc^|;CFoDu)xZZ3(EnbYR)41YEg4B@+rNraua;Gce zyr0o(J=RQ4lZAtyktnc3*h9-gJ}Ta#;48|rNFI~?hKZHL4D+f!I8d$i14d*1EUxqp3chqAI7NZ4V-_5>mm3uJ~6Jx?4fvUy!l1x1lWLAL32(8R8g< zGrnvwL}on%D#ln0=lEB#@x|cF0HJc;$L$q2kL6bc54TfW2ueBsG&CTizJKa&3cZ&TMpi1oi8}Bc;rkT@y7Jd6}<-|EMI!e2Ww5%J4aQW8u zjf-AMM*c=Bv0zjsp3gA?EI9W9FA0DW`fmQ>UHY+m?UU5xaR06bqhTaEsm*dr?%KpC z8qnPVC{_P3Q{uJ{03~H$50#QPDTMY+qJZ;UMrTs{t|eKLCQsLVVSFo>`~o2dut|v< z1Ax915Mn+lIVY+j9^UjR3T$*>pqqG8=tus)QIG(VkrGU9eR+AN;k`XHqeVOesF?+YCD6rYc%7k>THC|R(T9}bPyDkjn15!+Aq0GIx|r$RrE+s~hH5zf zeQK)L#|7!J{g;2O%n^=21Oh-a4Z!6V!McOs5*RO6>gL?G=8zPsVn$y#^u$?G%Wdf*Q5Q3IuFS>57-q?S_Xj z%~zR}&eh0pzEJr9#zp`MFx1>Qb0U87Q93H7ZkzP8u?^Tz$7`!?V~gXlJq?lu7yGLk66m_qLJz*og+U?(y!J ze>3B(hT!;X&JD=J`GJh#Yg){g7!rMwbaZIG?%DGc6`F1zuTX9R6jMgpCR(xl*XRno z=Qa|Nme1YIO(HjDjqp~ZL;J^5Z3lKj!m+$RW8^H8lg5<%3+;_@i>%wk{W7-eCin*T5&U@7@onf{LPoe*iz&-k7*9H zD_?QC2TH^%NB$~HBd+7vA_DT+5VCiR-($F>psP$l$)d=z~8dm6stczwB< zz~v^+!a!O``k7-0<}`YR7W+%}_xXbM$AdZMeqLJOZHNJ?WEsrh8nuFkKj61s@88G1 z1e8nipWXkeXC>@ceAFAk?7sM5>6M`0GO`da$A-VsOv9efJ95cI)hN1cTsoHJ{hWI% z>f)WI4<$x&94xi$3<(>`7F*364@RdSHOoUG3VOh6ef)i~J7T$o4~!#C2TV})S`Yk* z*e6Ngg~$k6Y~u8OLUe6ge1LgtxJScYe_ps-7y}jjM>}BM>_A$z+Z3ALQ zaRM~V!{bw)Jt?fk@QzbPiJ9KFZ$?g;z>4mH39r~_LCp4jrga%4i%NaKi#+pb_% zf)*!0{XET0a`zi~x(a5QA|B9b$!d%qH6y!raA*-z4V@t%5U-C#PW%p8QY?eB>3d^% zBfSea9~7%?@UcD@dLjs|%*&;`@m954!Fb#sZWH|6rURt?W@OGQxiR{pJ}HGBpmeSG zne*`^a^+O6>`avdN#Uhx)70u4sY&F^>uZ+z)Dz8{tTnlpDzkREGfp(dC1U$4SoKC1 zQvR10i4kNjB5T(ZVpSFqO*Ts>I;t53i_lqtu7WZa2mZQ`x_^4*cL`PYsm?|G(=evy zXC>nQOqGfKNyCS!w$bokeIePE23*bV1ziV%UxhqVQTM#zL5y-DElzqnCUQiyJh*7Z zlLI|}+6{(tAok@3^8uL-Zc)Q;;Oo~Pb>$I2ABY?T+&4|ZNyK>w1Q5vO)!=_mm=+t8yHfr;DO z?P=5ARuuB_p#;N&f^N-lWTQY{5!JYa8G!!$D_PA#{(1UTMoSkU3(A08uyfw!Q zj|505G^qOaf5M%tx(9ngtn=aSfgM$tpi2@0j#Efbz&K)~UGE3+a}98w#_3`smX_J1*i$ zVShv5)a0v7loxd-Q{ETIfGE|L{?ZOXsUis=>t{deoc!%g@LURb8d3luqOs4cV}&Fv zj{SB93#_mGfllDT9l)5q#=fTElk~=B+FvbFq!MenoW^}`4>DUQqt-NM5+wjqNMDjx zX8+gTcmGrU{{M4qviBydA)_*~r4Sj($etPDAaRa)NF^C33E3*NWJLC!m7SgKWUnLZ zknz2q;`M&N-haX8cKh~Ax6adZT-W1zT#tEwJg)Z!Etd!|2B&l>@dIqVraod;SMR?W zpD{Aa_{8>Rf|ucx5eTMLH6y|g8b0XgDCu8eIsa)*08j7M^1lDeTS^z?oBoW-y*V=5 zv}ufjTv`tVI6ce$gEW-}S!ey==g;+R-?f6Z$}@oRCKWgGO32f@no20Mze@qoCi=q1 zuJ?(%Xbs-8Pxf5H+HeVBXTC|`mS=9iklBZ$lVpV!<$`spcJV>w6upjCC3PFS+U5AV z3{86uS*zFpYAWt)O$NnU4O&JPK_5iR^A=NZ!bGR6q=3L_y>T9E-Hr~XjtP`Y21bPs z{>Qp%XG8@EAh*)^fV1D}omh=k?bU}2+d55PC&3B6SND7u!8v@0mJ4cPh|wXvp2B>F z>m0KQc*&o;2@B&|Ni28yYtg^EGOVBHU+mO8Kl%OBuS~HsvevP~j~nW*u_(HVv~zY+ z7@2=dR|})4)~ktzz_;Cp#T)>8yN84*k_eldW2Ga#6vy}}KuQumc$;Bw0fJ?kHox*} zu?ORE*BvC%H}^E;h&3R}De>Z%ZfA48C-!NcLmIw7Ds1tIBe!CMl?(OL!bxbf(=mjd zZ4pF_AH~Kcph185N*CwFn)cYS{J z>x=5R;2aRE9mnIg`^lhAtKTsfwE@n!n`oo1s(nu4rV{G?QEquFm_AEMi$V-jKg@%^ClH7HW2%`441LfZq#*U254@F-qkF09!X9cF7H2wz`1bw z{$w@t8`QnGJkU4MKS^}T{Zoy$@h>Tl>F|PcyBNCP`ph!kWds1hLW4RFoTP$)R$eHlFbHm$q+IB!)u zk?arVX_?G3y>t#WoE1iUyC$+b&z8zHRidch%a$iEa+rCyNc;aH9vU$0f7+bD3?Lzd z^ch)Kt4CAZyCwKEQaU@DDXjGlUhDQ%W@zADsV?h|OHO{G#)V>yv^nW9#@P>5d!%GF zm+IC)(6Sfh=Fon&9k0*erhbD*B&VY^cEx4%3@dLEVti%8)P2_de3_SvE8%6CLg!$n zw#2%jB(KYID^i#q)?AYUuC#zP3VQ|rm3N}QSfPM-!C;nx0<~AYin#C3&!Bkol$V$J z4&6yjt6`_@@S^BI?@_;!I}JWiNry&TydqG&?NEX``4UtU2+SaWB8HTMBS`|Ko|s!@ z59zi;yqJITXS3Wo)6yYAm>Z_D8+|DBKjnk2ZAdE2O>C`<*Ui zc-VY=^YF`TnGkmtw|mO+y8{ z#2hb;dke#=am|HS@976H zvz-gI5yf{+^B!`+(q6YIP!Y5;oY!%Pv2bv;5BwFi_61OP^T@LY0~Eva|%4Sv@thsNMbg&+>T13;mZPyoE$oU!^`{h9 zi3ubNkcRHTprZE)m}rY$v?{2d<}Ca2J=!>CS^PdXh^n)AFF6V$1JBsJ;^RbeduuNUbTzpSFcVA?|6_|pjMng6qq}n zQjuCYIQUI#hz{UE2~m(nDfNS}--;j<^k-|@f?o;uvdHwtjg4!mM$@mSWshHs-|`LZxErxmlGx6R@>>J?dJpqzah<#qsE<+Ay6I1 zJW6tMdwYdXc|K%)t_#2NBF#yO%OFd3=|#ozTh!(dj@lVtzDSWtWQKV zRL_$}2Ta)(zeSk>aUWM579O1yRRW!}a0nih50F%7+HpPR znBqhUh3l|i?qEi|FxCWP$h?tuuyX6!)`<&Yx>z|ksump=7iOBv9!1NXy7Y9ReDc}` z_r7VSZS8xMORbX zMtuN9y2j-HSS2(jGV@_&8A4`iRte?y8u!jS;A{IixhXF{`Di4Lw90aqq-w|do!$0T z4BfVDwb54l3FH99iGv#94o?}2i7PR{cw;gy=EM8cnBTyr z$$?VMrG9mgoB&1mJF8&D!BxR@O&dv_79JOgY$8`{Pek_068GjiPcjWp!<7kteeRJ74%T zG`b<+zx-=-BB1ax*)BM{Rur}CdSXL(?n(DSA>5I-@kZ&O<#>N4%DVSQBodp-zJ$7) z8VwWSNv{o$MddbYI0=>CS+aLDRCkGCxd=jqolkklOmHXp&a#(YD*f_I4Q`=8C6sBE zcJJM{m=*TME9uJm0fo-JCtOV$HC|2&LSW9|1P@YRa2-ZC-n9ICV1{%9oW(|cZMltZ zEqy$uqfY@aMTmHPDHuR>KVGDa=USjx8@n2AA1P+ni5Jf$M52c8N9MTou9A!-LO4p8 z49TFLWUQ#D=vX_2hw}N-pVw)1r7t(Mvy;ZpJZ=Vb?hqD)=)wL!^e|+693!z&-Jj zP*wMbzU*e^@WA@@u&sg71V89aVCm)5AvGYC^xw869?`HtIw8=RlVzU&)2C>npn!xGrF)~$!zfEAHW@#0LXI0 z6wC6S9{R}&c~rn2L_Vtl!MY5dd2;`~dcBJgQ8k^)d!4xmDMCVGBwhV!&o*HB2}mgf zQCkKKW6o*UPS7*p&^0gX)x498G{p8p|oh>Y;-?eedM+7*ixO&TOu)t|Y_ zdSf0MDb{$RBiFucdwyql8xbV(vK$l4`sI01aWFo<^uc1c$6TJL-FC86k;_=5yAy() z(Kz?~n@I(*D;f_|CG|iWLvcT#0l`G|HI)|pLD!`&WJXq&b-rEjb-!PX4;~QO4){1& z)y!4W(2QGt^fX;fKR1MUY5u|9kVB^VI{q6n|D86Q3w+F`Zm)P#q|o)+~01@=O0 z$G*^Mu+<4O{t$ZmEv=y5-fZt?X^THBC>xxYr+ea{S{aFHoGV!>n*aeJ`kYeRlhc*^ z_?v=@i1O_?iI-ZYh}V>$NmLj15;+I+t$fe}hs}fQeh2~WxdcwM!o5&oPvfvX5<2us zy&Lou-EnK1U@|>a*R{>3Mf8`#ez;02rk!MFJn{2H#@EsY7b% zrrQL&e}$FaZO}FI?(zXc<5W19HmbnQtFd_08nf^(?5F_nxj&4eGBGtZxTo;MMMoN^ zmp44$GPqaO=)NN;#MbBDDAqo;ySIy7*QDsm@e&4cdtrpw;NT_P<{L#Zv;Af4FPl$@ zQeFRGz$VUM&kpZw-n|QLx>HtO_~%TJzG?6#TOEIx!tZH^VfTJJr_dpG<`h(%X<@@i z(FLj{Q>hU93U?4;`o>&hg=NLAuGZd1R6n=L@{lgDq#pJgGMM6WU!T1pr?5r2yV|da z^BWPo&Jhrve?4oM00)C6D#d7J#2h0Px8$OAXk~yM2yh5YD(36mdj3VTQum$))n?Wc zzYG|PGf+T(;J}VHkAY(qN&C(AQ90-Nqe5UJqUk7mm)q_Y8@2s(!h1w$#k-=T{s(9I zIiw?;Flw(n>K)_LxJf{`>p7E^QT%r6M>w0I{$1m?})kJbre_m7XR~;#`!yz z#!PDvm=1JFaeOjIzkC_B{oAGo*PMSAZuu@?n*f?A0`dk&R>Wo?^Dqc>br_#n2=^r3 zY}|F=j;>2r!G4Wb#Pt2nnrya=<5jG#Ilnf_!)b0J;dUos^=>-UI$`Sj+*BH+X>@GN z%{#ZuWs8~^nW;f}Rlt)-Q*X9G-eNO9@hmx{Y~n?mCbiST`+#3dD)B&QprX-i-UhVP zfzUMRLFPn7E<+Cy3j0j5-Yc<1@gd^4?0xLo+UEs{MW0U~7F6Okc@w!6+q~#wk{S-< z5^$fz(gOA4+uCv zfHE3rL681{=BEj<0lOEODOpdkT5YTLHLnV7Q$lp41{uNndbso(%|kk-^3n`tiwj1T zQg*Z=@rJyYYd5}=O?#3Bfz~6X3_(#Jy}|`WBm}7*!GL-Ui&COLZ6<@6GeRF2TbB7# z{^G}W@w~4xc+=6L{_C_*C>-yF7sj zUq)6jXya4UsM3A~4d-;eP_efL7X!kH?C+DQ;ID5TEu&uJzWt+aD-kH*-n}J2m0{G`aG! ztiTh|_8MlN_qz*_wmk(|(6a*XG|!H(jZX)Mc!c9Tedb6`q=O z?Wb&Zsw|TU;0e3CH-yfxk7z4O^e`DnRf59N08ze5E;%AL)F*E6-od&es%D6sfo zGCL>Vw*P<<&MV9ZVW+7_=CU<^$^6+)_?iITW4&Ai6#st$n2__P0vh3+UHw+q(OKms z46m}6ewCt2x;lccdK52Q0Li(2aKbhqI5ZTIGl%xgP0w)Ow#X#4L&k-ql3FnSp6|p) z>CLVjgA2CXUz1h>q81l9WGyCoZo0-B79C^b4qpO|XYmwx5vRD%nd1o(?e6-E?;a3a z?pFcQBRsKG}%wlG{UQ;FX^>MB`_GLt?w710o1jUhjpaX=};0IN#M-x-*3_+cQ#cL55_K8|?n(7*P}?&$u*U<(1T#~orzVR<4=P|c{OUWB_$XBJQoB5-FQlDa5Swcmzc)R z?bFBDw>C~>{M4uiR>(>CitF#nN?4)KX9;* zs0B9Wg*&K>HxBx5KMC#QB}z@5k0*}?ZM}}D>kSE*!!pmq3pJiZY*H?uSr7N+?xwC1 z^E;?)^XhkI5hb_)y|IuMvu{L`6vyj20AUq1+?f~{PEOQVgHWuIjoUJ)zJsWVy^aqW z2$`X#uD;l<`G}m(L;$Fv&dUQzd7mNH_#pce{>iO%P%!oIZuh5P{*qSAfx860)SO|; zMhcGu>z8YnY}4vS_rfHjCR>ia*}>>IRwQ5%=u0=b#n~{RmU<}@JJ((k;Q0M*@C?jj z`gmv%jFOstxK%R@@$a79372K1nrh;g557Lc=E`6lCD>Lu3{XwA> zWWOlkH=8*sxzFE^BYH+4?*cdeOcvn2WcNMwZi(VaGzriw4ys-M3?%BZH zlr-@_gF6-*_~jH0Jrsq%FUik6Fq_v4E8p8)NSlnLuBxXfP-T};IO9QzIG)fy&j6o< z2#DZ34|@By0Fo8d>IM6#YQ{+0leEQK=^j_^UEu^C&7gGRVL8H|dH$IKn6hpR5E28O zmc<^j_q2ZD5^|sa@T^Vtm>v0O{%!_$XoCE6?;j@15vTzvj1>~ltP4QIjv3{jC3^{y z+WKE?*RI<85AaV?9sgb0lt)&Uqd?kxOg(|c4B-%wJvh^c&V?){AP!cK=18#Mcvk0f&DjDv~@eXD>3nmP|^Go4V z$-95lGpLS%tWJv2J-W1j0+ztQKp+Om9!F&(zFUAAsYBX;<4?eI%N7^@^w2wE)^s+Q zNkw5^US2C-Wkm(ZEz>iwl**O{?~FYKZ!prHpX%{XdT zBJju;2TbxFC{s0q#uCM2YQ)kZw_>iIIwNyu@q;mkco!`lX;_?+`UwbQ;Vi;#GVSw< zZ+>EvU8MFPMJm0uf1CgKNrtyifLJo(7YFBKL-=TYAYN5^2=#j6MYk~zw)Y9rBK~J*K_97k4|dnB zjdqXW|B-PoVArU5Iz>s`izf%U1XQAKXfF_W%F@ literal 0 HcmV?d00001 From 02c657bd28f0735c967bd9df51f4809dfe7792ad Mon Sep 17 00:00:00 2001 From: Edmond Kodua Date: Sat, 8 Mar 2025 20:20:14 -0400 Subject: [PATCH 30/39] Nearly done with carpet --- .../graph-objects/terms/carpet/carpet.md | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/content/plotly/concepts/graph-objects/terms/carpet/carpet.md b/content/plotly/concepts/graph-objects/terms/carpet/carpet.md index 13cf7d00a6d..c132d46884e 100644 --- a/content/plotly/concepts/graph-objects/terms/carpet/carpet.md +++ b/content/plotly/concepts/graph-objects/terms/carpet/carpet.md @@ -14,3 +14,39 @@ CatalogContent: - 'learn-python-3' - 'paths/data-visualization' --- + +The **`.Carpet()`** , which is refered specifically as "carpet plot", is a Plotly function used to display interaction between multiple independent variables and one dependent variable. + +## Syntax + +```pseudo +plotly.graph_objects.Carpet(a=None,b=None,x=None, y=None, ...) + +``` + +- `a`: First parameter value as an array +- `b`: y coordinates at each carpet point in two dimensional array. +- `x`: It is a two dimensional x-coordinates at each carpet point and when omitted, the plot is cheater plot and x-axis is hidden by default +- `y` : It is a two dimensional y-coordinates at each carpet point. + +- The ellipses is an indication of optional paratemeters that can be added. + +> Note : When an x parameter is not provided, a cheater plot will be created. + +## Example + +```py +from plotly import graph_objects as go + + +fig = go.Figure(go.Carpet( + a = [4, 4, 4, 6.5, 6.5, 6.5, 5, 5, 5, 8, 8, 8], + b = [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3], + y = [2, 3.5, 4, 3, 4.5, 5, 5.5, 6.5, 7.5, 8, 8.5, 10], +)) + +fig.show() +``` + +**Output** +![alt text](../../../../../../media/carpet_plot.png) From 639fa45d189623af9380268b2213141ca333a2d0 Mon Sep 17 00:00:00 2001 From: Edmond Kodua Date: Sat, 8 Mar 2025 20:28:04 -0400 Subject: [PATCH 31/39] edited and hopefully no mistake --- .../plotly/concepts/graph-objects/terms/carpet/carpet.md | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/content/plotly/concepts/graph-objects/terms/carpet/carpet.md b/content/plotly/concepts/graph-objects/terms/carpet/carpet.md index c132d46884e..ccb2b66229d 100644 --- a/content/plotly/concepts/graph-objects/terms/carpet/carpet.md +++ b/content/plotly/concepts/graph-objects/terms/carpet/carpet.md @@ -24,15 +24,13 @@ plotly.graph_objects.Carpet(a=None,b=None,x=None, y=None, ...) ``` -- `a`: First parameter value as an array -- `b`: y coordinates at each carpet point in two dimensional array. -- `x`: It is a two dimensional x-coordinates at each carpet point and when omitted, the plot is cheater plot and x-axis is hidden by default +- `a`: First parameter values as an array +- `b`: Second parameter values as an array. +- `x`: (optional) It is a two dimensional x-coordinates at each carpet point and when omitted, the plot is a cheater plot and x-axis is hidden by default - `y` : It is a two dimensional y-coordinates at each carpet point. - The ellipses is an indication of optional paratemeters that can be added. -> Note : When an x parameter is not provided, a cheater plot will be created. - ## Example ```py From 5d6971976f01f8f99ec91b3c48c2800b9d1eb2b9 Mon Sep 17 00:00:00 2001 From: Edmond Kodua Date: Sun, 9 Mar 2025 11:41:22 -0300 Subject: [PATCH 32/39] Sending for review --- content/plotly/concepts/graph-objects/terms/carpet/carpet.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/plotly/concepts/graph-objects/terms/carpet/carpet.md b/content/plotly/concepts/graph-objects/terms/carpet/carpet.md index ccb2b66229d..80ebf31ee3f 100644 --- a/content/plotly/concepts/graph-objects/terms/carpet/carpet.md +++ b/content/plotly/concepts/graph-objects/terms/carpet/carpet.md @@ -15,7 +15,7 @@ CatalogContent: - 'paths/data-visualization' --- -The **`.Carpet()`** , which is refered specifically as "carpet plot", is a Plotly function used to display interaction between multiple independent variables and one dependent variable. +The **`.Carpet()`** , which is referred specifically as "carpet plot", is a Plotly function used to display interaction between one or more independent variables and one or more dependent variable in a two-dimensional plot. ## Syntax @@ -47,4 +47,4 @@ fig.show() ``` **Output** -![alt text](../../../../../../media/carpet_plot.png) +![.Carpet() showing the output of thge above plot.](../../../../../../media/carpet_plot.png) From 6de0a797889ab42be7248ad6320171d8b6adb052 Mon Sep 17 00:00:00 2001 From: Edmond Kodua Date: Sun, 9 Mar 2025 12:23:13 -0300 Subject: [PATCH 33/39] hoping it works --- .../graph-objects/terms/carpet/carpet.md | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 content/plotly/concepts/graph-objects/terms/carpet/carpet.md diff --git a/content/plotly/concepts/graph-objects/terms/carpet/carpet.md b/content/plotly/concepts/graph-objects/terms/carpet/carpet.md new file mode 100644 index 00000000000..da12d4ad103 --- /dev/null +++ b/content/plotly/concepts/graph-objects/terms/carpet/carpet.md @@ -0,0 +1,51 @@ +--- +Title: '.Carpet()' +Description: 'Creates visualization technique that displays interaction between variables' +Subjects: + - 'Data Science' + - 'Data Visualization' +Tags: + - 'Data' + - 'Finance' + - 'Plotly' + - 'Graphs' + - 'Data Visualization' +CatalogContent: + - 'learn-python-3' + - 'paths/data-visualization' +--- + +The **`.Carpet()`** , which is referred specifically as "carpet plot", is a Plotly function used to display interaction between one or more independent variables and one or more dependent variable in a two-dimensional plot. + +## Syntax + +```pseudo +plotly.graph_objects.Carpet(a=None,b=None,x=None, y=None, ...) + +``` + +- `a`: First parameter values as an array +- `b`: Second parameter values as an array. +- `x`: (optional) It is a two dimensional x-coordinates at each carpet point and when omitted, the plot is a cheater plot and x-axis is hidden by default +- `y` : It is a two dimensional y-coordinates at each carpet point. + +- The ellipses is an indication of optional paratemeters that can be added. + +## Example + +```py +from plotly import graph_objects as go + + +fig = go.Figure(go.Carpet( + a = [4, 4, 4, 6.5, 6.5, 6.5, 5, 5, 5, 8, 8, 8], + b = [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3], + y = [2, 3.5, 4, 3, 4.5, 5, 5.5, 6.5, 7.5, 8, 8.5, 10], +)) + +fig.show() +``` + +The above code generates the following output: + +![.Carpet() showing the output of thge above plot.](../../../../../../media/carpet_plot.png) From b622fdd62db2974e923ca6debb65b495ead12bab Mon Sep 17 00:00:00 2001 From: Edmond Kodua Date: Wed, 12 Mar 2025 14:40:03 -0300 Subject: [PATCH 34/39] unwanted files deleted --- .../terms/getelementbyid/getelementbyid.md | 54 ---------------- .../window/terms/resizeTo/resizeTo.md | 35 ----------- .../window/terms/scrollTo/scrollTo.md | 63 ------------------- 3 files changed, 152 deletions(-) delete mode 100644 content/javascript/concepts/dom-manipulation/terms/getelementbyid/getelementbyid.md delete mode 100644 content/javascript/concepts/window/terms/resizeTo/resizeTo.md delete mode 100644 content/javascript/concepts/window/terms/scrollTo/scrollTo.md diff --git a/content/javascript/concepts/dom-manipulation/terms/getelementbyid/getelementbyid.md b/content/javascript/concepts/dom-manipulation/terms/getelementbyid/getelementbyid.md deleted file mode 100644 index 22e4d005eb7..00000000000 --- a/content/javascript/concepts/dom-manipulation/terms/getelementbyid/getelementbyid.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -Title: '.getElementById' -Description: 'Returns the element objects representing element whose id property matches the string provided.' -Subjects: - - 'Computer Science' - - 'Game Development' - - 'Web Development' - - 'Web Design' -Tags: - - 'Arguments' - - 'Functions' - - 'Parameters' -CatalogContent: - - 'introduction-to-javascript' - - 'paths/front-end-engineer-career-path' ---- - -In javascript, the **_getElementById()_** method of the `Document` interface returns an `Element` object representing the element whose `id` property matches the specified string. - -## Syntax - -```pseudo -document.getElementById(id) -``` - --`id`:is the ID of the element to locate. Within the document, the ID is case_sensititve and should be unique to just one element. - -## Example - -```HTML - - - - -

Codecademy

-

The getElementById() Method

- - - - - - -``` - -- `Result`: - - - The example will display the element with a matching string `id` _atd_ as blue. - -- `Output`: - -![Display of color of an element after getElementById() method](../../../../../../media/getelementbyid.png) diff --git a/content/javascript/concepts/window/terms/resizeTo/resizeTo.md b/content/javascript/concepts/window/terms/resizeTo/resizeTo.md deleted file mode 100644 index 27949059b31..00000000000 --- a/content/javascript/concepts/window/terms/resizeTo/resizeTo.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -Title: '.resizeTo()' -Description: 'Resizes the browser window to the width and height specified in pixels.' -Subjects: - - 'Web Development' - - 'Computer Science' -Tags: - - 'Arguments' - - 'Functions' - - 'Parameters' -CatalogContent: - - 'introduction-to-javascript' - - 'paths/front-end-engineer-career-path' ---- - -The **`.resizeTo()`** function in JavaScript modifies the browser window’s dimensions based on the specified width and height values in pixels. - -## Syntax - -```pseudo -window.resizeTo(width, height); -``` - -- `width`: Defines the new width of the window in pixels. -- `height`: Defines the new height of the window in pixels. - -## Example - -The example below demonstrates the use of the `.resizeTo()` function: - -```js -window.resizeTo(450, 300); -``` - -The above example will resize the window to a width of _450_ pixels and height of _300_ pixels. diff --git a/content/javascript/concepts/window/terms/scrollTo/scrollTo.md b/content/javascript/concepts/window/terms/scrollTo/scrollTo.md deleted file mode 100644 index 6dcd04f87e6..00000000000 --- a/content/javascript/concepts/window/terms/scrollTo/scrollTo.md +++ /dev/null @@ -1,63 +0,0 @@ ---- -Title: '.scrollTo()' -<<<<<<< HEAD -Description: 'Scrolls document to specified coordinate in pixels' -======= -Description: 'Scrolls document to specified coordinate in pixels.' ->>>>>>> main -Subjects: - - 'Computer Science' - - 'Web Development' -Tags: - - 'Arguments' - - 'Functions' - - 'Parameters' -CatalogContent: - - 'introduction-to-javascript' - - 'paths/front-end-engineer-career-path' ---- - -In JavaScript, **`.scrollTo()`** scrolls the window or document to a specified position in pixels. - -## Syntax - -```pseudo -window.scrollTo(x, y) -``` - -- `x`: The horizontal coordinate (in pixels) to scroll to. -- `y`: The vertical coordinate (in pixels) to scroll to. - -Or, alternatively: - -```pseudo -window.scrollTo(options) -``` - -- `options`: An object with the following optional properties: - - `left`: The horizontal scroll position in pixels. - - `top`: The vertical scroll position in pixels. - - `behavior`: Defines the scrolling behavior. Accepted values: - - `smooth`: Scrolls with an animation. - - `instant`: Scrolls immediately. - - `auto`: Uses the browser's default scrolling behavior. - -## Example 1 - -The code below scrolls the window to _298_ pixels from the left (x-axis) and _57_ pixels from the top (y-axis) using absolute coordinates: - -```js -window.scrollTo(298, 57); -``` - -## Example 2 - -The code below scrolls the window smoothly to _57_ pixels from the top (y-axis) and _298_ pixels from the left (x-axis) using the options object: - -```js -window.scrollTo({ - top: 57, - left: 298, - behavior: 'smooth', -}); -``` From 4aa0ca353d05fb82a47dd49a1a474a51e95860fa Mon Sep 17 00:00:00 2001 From: Edmond Kodua Date: Wed, 12 Mar 2025 15:13:35 -0300 Subject: [PATCH 35/39] Hopefully it works --- .../jupyter-notebook-extensions.md | 48 ------------------- 1 file changed, 48 deletions(-) delete mode 100644 content/data-science/concepts/jupyter-notebook-extensions/jupyter-notebook-extensions.md diff --git a/content/data-science/concepts/jupyter-notebook-extensions/jupyter-notebook-extensions.md b/content/data-science/concepts/jupyter-notebook-extensions/jupyter-notebook-extensions.md deleted file mode 100644 index c3a0d1f7ef6..00000000000 --- a/content/data-science/concepts/jupyter-notebook-extensions/jupyter-notebook-extensions.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -Title: 'Jupyter Notebook Extension' -Description: 'Jupyter Notebook extensions are community-developed plugins that enhance the functionality, customization, and usability of Jupyter Notebooks.' -Subjects: - - 'Data Visualization' - - 'Machine Learning' -CatalogContent: - - 'paths/machine-learning-engineer' - - 'paths/visualize-data-with-python' ---- - -**Jupyter Notebook extensions** are add-ons that enhance the functionality of the Jupyter Notebook interface. They allow users to customize and improve their experience by adding various features. - -## Examples of Jupyter Notebook Extensions - -1. **Code Folding**: The `jupyter_fold` extension helps users focus on specific sections by enabling code cells to be folded and unfolded. -2. **Spellchecking**: The `spellchecker` extension highlights misspelt words in both code and Markdown cells. -3. **Table of contents**: The `toc` extension automatically generates a table of contents based on Markdown headers, improving navigation within a notebook. - -## Installing Jupyter Notebook extensions - -The Jupyter Notebook extensions are available through the open-source package `jupyter_contrib_nbextensions`. This Python package provides several unofficial extensions designed to enhance Jupyter Notebook’s capabilities. - -To install it, run the following command: - -```shell -pip install jupyter_contrib_nbextensions && jupyter contrib nbextension install --user -``` - -To add the `nbextensions` to the Jupyter server’s search directory, use: - -```shell -jupyter contrib nbextension install -``` - -## Enabling/Disabling Extensions - -After installation, users need to enable specific extensions like this: - -```pseudo -jupyter nbextension enable -``` - -And to disable: - -```pseudo -jupyter nbextension disable -``` From 8eb79ef6c5853759063053e9a14a08b2d50a6cf6 Mon Sep 17 00:00:00 2001 From: Edmond Kodua Date: Sun, 16 Mar 2025 09:56:31 -0300 Subject: [PATCH 36/39] Updating recommended changes --- .../graph-objects/terms/carpet/carpet.md | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/content/plotly/concepts/graph-objects/terms/carpet/carpet.md b/content/plotly/concepts/graph-objects/terms/carpet/carpet.md index 3035232da05..572a7d17f73 100644 --- a/content/plotly/concepts/graph-objects/terms/carpet/carpet.md +++ b/content/plotly/concepts/graph-objects/terms/carpet/carpet.md @@ -1,21 +1,21 @@ --- Title: '.Carpet()' -Description: 'Creates visualization technique that displays interaction between variables' +Description: 'Creates a grid-based reference for visualizing data in a non-Cartesian coordinate system.' Subjects: - 'Data Science' - 'Data Visualization' Tags: - 'Data' + - 'Data Visualization' - 'Finance' - - 'Plotly' - 'Graphs' - - 'Data Visualization' + - 'Plotly' CatalogContent: - 'learn-python-3' - 'paths/data-visualization' --- -The **`.Carpet()`** , which is referred specifically as "carpet plot", is a Plotly function used to display interaction between one or more independent variables and one or more dependent variable in a two-dimensional plot. +The **`.Carpet()`** function in Plotly is used to create a carpet plot, which provides a grid-based reference for visualizing the relationship between one or more independent variables and one or more dependent variables in a two-dimensional, non-Cartesian coordinate system. ## Syntax @@ -24,15 +24,17 @@ plotly.graph_objects.Carpet(a=None,b=None,x=None, y=None, ...) ``` -- `a`: First parameter values as an array -- `b`: Second parameter values as an array. -- `x`: (optional) It is a two dimensional x-coordinates at each carpet point and when omitted, the plot is a cheater plot and x-axis is hidden by default -- `y` : It is a two dimensional y-coordinates at each carpet point. +- `a`: First independent variable values as an array. +- `b`: Second independent variable values as an array. +- `x` (optional): Specifies the x-coordinates of the carpet grid in Cartesian space. If omitted, the plot becomes a cheater plot, and the x-axis is hidden by default. +- `y` (optional): Specifies the y-coordinates of the carpet grid in Cartesian space. - The ellipses is an indication of optional paratemeters that can be added. ## Example +The example below demonstrates the use of `.Carpet()` function: + ```py from plotly import graph_objects as go From a1f8c0818be04f317bb47e6bf011f016582d0ae5 Mon Sep 17 00:00:00 2001 From: Edmond Kodua Date: Thu, 13 Mar 2025 21:19:23 -0300 Subject: [PATCH 37/39] delete unwanted --- docs | 1 + 1 file changed, 1 insertion(+) create mode 160000 docs diff --git a/docs b/docs new file mode 160000 index 00000000000..74c797b41c1 --- /dev/null +++ b/docs @@ -0,0 +1 @@ +Subproject commit 74c797b41c1cacf41aab7e7991779ed6d02025a8 From 44f8569f0f4a15d20bd86db5ad7a884944fa2491 Mon Sep 17 00:00:00 2001 From: Edmond Kodua Date: Thu, 13 Mar 2025 21:20:30 -0300 Subject: [PATCH 38/39] hopedully not messing up --- docs | 1 - 1 file changed, 1 deletion(-) delete mode 160000 docs diff --git a/docs b/docs deleted file mode 160000 index 74c797b41c1..00000000000 --- a/docs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 74c797b41c1cacf41aab7e7991779ed6d02025a8 From 1e50d0d65b43f8cfee823278762c1aa86c58c05b Mon Sep 17 00:00:00 2001 From: Mamta Wardhani Date: Fri, 7 Feb 2025 15:31:15 +0530 Subject: [PATCH 39/39] Update jupyter-notebook-extensions.md fixed format