Sé que podría estar preguntando algo bastante simple, pero por mi vida, parece que no puedo entender esto y definitivamente estoy supervisando algo simple, pero no sé qué. Cualquier ayuda será muy apreciada.
Estoy generando un sitio estático usando Hugo. En una de mis páginas, quiero crear algo así como una barra de progreso, usando una variable que necesito obtener de un archivo de Github Gist.
Di que esta es la esencia: https://gist.github.com/bogdanbacila/c5a9683089c74d613ad17cdedc08f56b#file-thesis-words-txt
El archivo solo tiene un número, eso es todo. Lo que estoy preguntando es cómo obtener ese número de la esencia y almacenarlo en hugo o al menos simplemente mostrarlo en un html sin formato. Quiero mencionar que no estoy buscando usar el texto incrustado provisto, prefiero obtener el valor sin procesar. Al final del día, todo lo que necesito es leer y mostrar el número del enlace sin formato aquí: https://gist.githubusercontent.com/bogdanbacila/c5a9683089c74d613ad17cdedc08f56b/raw/8380782afede80d234209293d4c5033a890e44b6/thesis-words.txt
Hice esta pregunta en el foro de Hugo y eso no fue muy útil, en lugar de brindarme alguna orientación, me enviaron aquí. Aquí estaba mi pregunta original: https://discourse.gohugo.io/t/get-raw-content-from-github-gist-to-a-variable/38781
Cualquier ayuda sería muy apreciada, sé que hay algo muy obvio que no estoy viendo, por favor guíame en la dirección correcta, esto no parece que deba ser tan complicado.
Mejor, Bogdan
Puede obtener estos datos y almacenarlos en Hugo como un archivo de datos, pero no lo recomiendo.
Dado que Hugo es un generador de sitios estáticos, no solo necesitará modificar los archivos de datos en su repositorio cada vez que cambie el valor, sino también reconstruir su sitio. Luego, debe preocuparse por ejecutar el script según un cronograma. Lo que significa que no puede estar seguro de que el valor sea actual en el momento en que alguien visite su sitio. Esto es más dolor de cabeza de lo que vale en mi opinión.
La mejor ruta sería escribir un JavaScript del lado del cliente que haga una llamada a la URL sin procesar de la esencia para obtener el contenido. Esto es Hugo-agnóstico, por lo que sospecho que te señalaron aquí.
De los documentos de la API de Gists :
Si necesita el contenido completo del archivo, puede realizar una solicitud GET a la URL especificada por
raw_url.
Puede usar algo como Fetch API para este o cualquier otro cliente JS. Simplemente haga una solicitud GET a la URL, analice el valor del cuerpo de la respuesta y escriba JavaScript para insertar el valor en el DOM cuando alguien realice una solicitud a la página en la que se encuentra.
@wjh18
¡Salud! No sabía acerca de las solicitudes GET, así que tuve que investigar un poco, pero logré ponerlo en marcha con esto:
<script> fetch('https://gist.githubusercontent.com/bogdanbacila/c5a9683089c74d613ad17cdedc08f56b/raw').then(function(response) { return response.json(); }).then(function(data) { console.log(data); }).catch(function() { console.log("Booo"); }); </script>