diff --git a/docs/updating-the-parser.md b/docs/updating-the-parser.md index c996b837..2b2211f0 100644 --- a/docs/updating-the-parser.md +++ b/docs/updating-the-parser.md @@ -1,8 +1,8 @@ -# Updating the parser +# Updating the Parser -YouTube is constantly changing, so it is not rare to see YouTube crawlers/scrapers breaking every now and then. +YouTube is constantly changing, so it is not uncommon to see YouTube crawlers/scrapers breaking every now and then. -Our parser, on the other hand, was written so that it behaves similarly to an official client, parsing and mapping renderers (a.k.a YTNodes) dynamically without hard-coding their path in the response. This way, whenever a new renderer pops up (e.g; YouTube adds a new feature / minor UI changes) the library will print a warning similar to this: +Our parser, on the other hand, was written so that it behaves similarly to an official client, parsing and mapping renderers (also known as YTNodes) dynamically without hard-coding their path in the response. This way, whenever a new renderer pops up (e.g., when YouTube adds a new feature or makes a minor UI change), the library will print a warning similar to this: ``` SomeRenderer not found! @@ -22,11 +22,11 @@ class SomeRenderer extends YTNode { This warning **does not** throw an error. The parser itself will continue working normally, even if a parsing error occurs in an existing renderer parser. -## Adding a new renderer parser +## Adding a New Renderer Parser Thanks to the modularity of the parser, a renderer can be implemented by simply adding a new file anywhere in the [classes directory](../src/parser/classes)! -For example, say we found a new renderer named `verticalListRenderer`, to let the parser know it exists at compile-time we would have to create a file with the following structure: +For example, suppose we have found a new renderer named `verticalListRenderer`. In that case, to let the parser know it exists at compile-time, we would have to create a file with the following structure: > `../classes/VerticalList.ts`