Página de documentación técnica - Construye una página de documentación técnica

Hola, estoy teniendo un solo problema durante el proyecto y es este:
Cada .main-section debe tener un id que coincida con el texto de su primer hijo, para tener espacios en el texto de su hijo reemplace los espacios por (_ ) para los id.
Cómo puedo solocionarlo? Ya intenté todo

ADVERTENCIA

El código semilla del desafío y/o tu solución excedió la longitud máxima que podemos transferir del desafío.

Tendrás que dar un paso adicional aquí para que el código que escribiste se presente en un formato fácil de leer.

Por favor, copia/pega todo el código del editor que se muestra en el desafío desde el que acabas de enlazar.

<!DOCTYPE html>
<html lang="es-419">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta name="description" content="freeCodeCamp Proyecto">
        <link rel="stylesheet" href="styles.css">
        <title>Documento</title>
    </head>
    <body>
        <nav id="navbar">
            <header>Documentación JS</header>
            <ul>
                <li><a class="nav-link" href="#Introducción">Introducción</a></li>
                <li><a class="nav-link" href="#JavaScript_Y_Java">JavaScript y Java</a></li>
                <li><a class="nav-link" href="#Hola_Mundo">¡Hola Mundo!</a></li>
                <li><a class="nav-link" href="#Variables">Variables</a></li>
                <li><a class="nav-link" href="#Declarando_variables">Declarando variables</a></li>
                <li><a class="nav-link" href="#Referencias">Referencias</a></li>
            </ul>
        </nav>
        <main id="main-doc">
            <section class="main-section" id="Introducción">
                <header>Introducción</header>
                <article>
                    <p>Damos la Introducción de este texto empezando por JavaScript, el cual es un lenguaje de secuencias de comandos orientado a objetos y multiplataforma. Es un lenguaje pequeño y ligero. Dentro de un entorno de host (por ejemplo, un navegador web), JavaScript se puede conectar a los objetos de su entorno para proporcionar control programático sobre ellos.</p>
                    <p>JavaScript contiene una biblioteca estándar de objetos, como Array, Date y Math, y un conjunto básico de elementos de lenguaje, como operadores, estructuras de control y sentencias. Core JavaScript se puede extender para una variedad de propósitos al complementarlo con objetos adicionales; Por ejemplo:</p>
                    <ul>
                        <li>El JavaScript del lado del cliente amplía el lenguaje principal al proporcionar objetos para controlar un navegador y su Modelo de objetos de documento (DOM). Por ejemplo, las extensiones del lado del cliente permiten que una aplicación coloque elementos en un formulario HTML y responda a eventos del usuario, como clics del mouse, entrada de formulario y navegación de página.</li>
                        <li>JavaScript del lado del servidor amplía el lenguaje central al proporcionar objetos relevantes para ejecutar JavaScript en un servidor. Por ejemplo, las extensiones del lado del servidor permiten que una aplicación se comunique con una base de datos, proporcionen continuidad de información de una invocación a otra de la aplicación o realicen manipulaciones de archivos en un servidor.</li>
                    </ul>
                </article>
            </section>
            <section class="main-section" id="JavaScript_Y_Java">
                <header>JavaScript y Java</header>
                <article>
                    <p>JavaScript y Java son similares en algunos aspectos, pero fundamentalmente diferentes en otros. El lenguaje JavaScript se parece a Java, pero no tiene el tipado estático ni la verificación de tipos fuerte de Java. JavaScript sigue la mayoría de las sintaxis de expresiones de Java, las convenciones de nomenclatura y las construcciones básicas de flujo de control, razón por la cual se cambió el nombre de LiveScript a JavaScript.</p>
                    <p>JavaScript es un lenguaje de forma muy libre en comparación con Java. No tiene que declarar todas las variables, clases y métodos. No tiene que preocuparse por si los métodos son públicos, privados o protegidos, y no tiene que implementar interfaces. Las variables, los parámetros y los tipos de devolución de funciones no se escriben explícitamente.</p>
                    <p>Aquí tenemos un ejemplo en código:</p>
                    <code>let nombreDeLaVariable = 'Bob';</code>
                    <ul>
                        <li>Un Item</li>
                        <li>Otro Item</li>
                    </ul>
                </article>
            </section>
            <section class="main-section" id="Hola_Mundo">
                <header>¡Hola Mundo!</header>
                <article>
                    <p>Para comenzar a escribir JavaScript, abra el Bloc de notas y escriba su primer código JavaScript "Hola Mundo":</p>
                    <code>
                        function greetMe(yourName) { alert("Hello " + yourName); }
                        greetMe("World");
                    </code>
                    <p>¡Seleccione el código en el pad y presione Ctrl+R para verlo desplegarse en su navegador!</p>
                    <ul>
                        <li>Item 1</li>
                        <li>Item 2</li>
                    </ul>
                </article>
            </section>
            <section class="main-section" id="Variables">
                <header>Variables</header>
                <article>
                    <p>Utiliza variables como nombres simbólicos para valores en su aplicación. Los nombres de las variables, llamados identificadores, se ajustan a ciertas reglas.</p>
                    <p>Un identificador de JavaScript debe comenzar con una letra, un guión bajo (_) o un signo de dólar ($); los caracteres subsiguientes también pueden ser dígitos (0-9). Dado que JavaScript distingue entre mayúsculas y minúsculas, las letras incluyen los caracteres de la "A" a la "Z" (mayúsculas) y los caracteres de la "a" a la "z" (minúsculas).</p>
                    <ul>
                        <li>1 Item</li>
                        <li>2 Items</li>
                    </ul>
                </article>
            </section>
            <section class="main-section" id="Declarando_variables">
                <header>Declarando variables</header>
                <article>
                    <p>Podemos empezar declarando variables de tres maneras diferentes:</p>
                    <p>With the keyword var. For example:</p>
                    <code>var x = 42.</code>
                    <p>This syntax can be used to declare both local and global variables.</p>
                    <p>By simply assigning it a value. For example:</p>
                    <code>x = 42.</code>
                    <p>This always declares a global variable. It generates a strict JavaScript warning. You shouldn't use this variant.</p>
                    <p>With the keyword let. For example:</p>
                    <code>let y = 13.</code>
                    <ul>
                        <li>1 Item</li>
                        <li>2 Items</li>
                    </ul>
                </article>
            </section>
            <section class="main-section" id="Referencias">
                <header>Referencias</header>
                <article>
                    <p>Estas son las referencias</p>
                    <p></p>
                    <ul>
                        <li>All the documentation in this page is taken from <a href="https://www.google.com">MDN</a></li>
                        <li>Segundo item</li>
                    </ul>
                </article>
            </section>
        </main>
    </body>
</html>
porque permiten que tu código formatee correctamente en el post.

Información de tu navegador:

El agente de usuario es: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36

Desafío: Página de documentación técnica - Construye una página de documentación técnica

Enlaza al desafío:

¡Hola!

@ lucas.alberto.97

El problema se presenta porque la revisón es estricta en lo que pide, por ejemplo tienes esto:

<li><a class="nav-link" href="#JavaScript_Y_Java">JavaScript y Java</a></li> si revisas bien en uno tienes la letra Y en mayuscula y en otro en minuscula.

Tambien tienes esto:

<li><a class="nav-link" href="#Hola_Mundo">¡Hola Mundo!</a></li> si revisas bien en uno tienes signos de exclamación y en otro no.

Y por último, de este no estoy seguro pero creo que tampoco te dejara pasar, tienes esto:

<li><a class="nav-link" href="#Introducción">Introducción</a></li> en este caso aunque son iguales creo que el href no toma en cuenta la tilde, por lo que la puedes sustituir por algo asi &_acute; sustituyendo el guion bajo por la letra que deseas que tenga tilde, que por ejemplo en la palabra Introducción se vería asi:

Introducci&oacute;n

corrigiendo esos detalles podras aporbar todas las pruebas.

Si tienes algun otro problema no dudes en decirlo e intentare ayudarte.

saludos

Gracias! Ya lo pude solucionar