Computaria? ?? ?? ???? ? ? ??? ??? ??? ??? ??? ? ??? ????. ?? ? ??? ???? ??? ? ?????
?????
?? ??? ?? ??? ? ? ?? ? ?? ??? ????.
- ??/????? ????? ???? ?? ?? ?? ?? ??? ?????
- ???? ?? README.md? ??????.
? ??? ?? ???? ?? ?? ? ????. ??? ??? ? ? ?????? ?????.
????
Kauê? ??? ?? ? ?? ??? ???? ??????: /about? ?????.
? ?? ????:
??, ?? ????. ?? ??? ????? ???? ?? ??? ???? ?? ?? ?? ????. ??? ??? ???? ????? ?????. ?? ?? ?? ???, ????? ???? ?? ????? ???? ???.
?? ??: ???? ??? ??? ?????.
?? ?? ?? ? ?? ??? ??? ??? ?? ????. ?? ?? true ?? ?? query param status? ??? API? ???????.
URL? ???? window.location? ??????. ?? ?? ???? ?? URL? ????? ? ???? ?? ????? ???? ?? ???? ?? ??? ????.
?? ?? http://localhost:4000/blog/about?q=1? ?? window.location.search ?? ?q=1???. ?? ???? ?? ???? ? ?? ??? ? ??? URLSearchParams ??? ??? ????. ???? ??? ? ?? ?, URLSearchParams? ???????? ?? ???? ????? ? ????. window.location.search.substring(1)? ???? ?? ??? ? ????.
?? ? ??? ???? ??? ?? ????? ?? ??? ??? ? ????.
const queryParams = new URLSearchParams(window.location.search.substring(1)); if (queryParams.get("status") === "true") { console.log("oba, vamos exibir o pipeline!") } else { console.log("nops, n?o vamos exibir nada") }
??? ??? ????? ??? ???? ??? ???? ???. ??? ?? ??? HTML ??? _includes/pipeline.html? ??? ??????. ??? ?? ????? ???? ?? ??? ? ?? ?? HTML? ????.
???? ???
<div> <p>Para importar, no /about só precisei colocar {%include pipeline.html%} no come?o do arquivo, o Jekyll se encarregou de montar tudo certo.</p> <p>Ok, vamos por o script para detectar se deveria ou n?o exibir a tag:<br> </p> <pre class="brush:php;toolbar:false"><script> const queryParams = new URLSearchParams(window.location.search.substring(1)); if (queryParams.get("status") === "true") { console.log("oba, vamos exibir o pipeline!") } else { console.log("nops, n?o vamos exibir nada") } </script> <div> <p>So far, so good. Agora, vamos mudar a exibi??o para display: block caso seja para exibir o pipeline, ou sumir logo de uma vez com a <div>. Pelo console da web, bastaria fazer algo nesse esquema:<br> </p> <pre class="brush:php;toolbar:false">const pipeline = document.getElementById("pipeline") if (...) { pipeline.style.display = "block" } else { pipeline.remove() }
HTML ??? ??:
<script> const queryParams = new URLSearchParams(window.location.search.substring(1)); const pipeline = document.getElementById("pipeline") if (queryParams.get("status") === "true") { pipeline.style.display = "block" } else { pipeline.remove() } </script> <div> <p>E... falhou. Por quê? Porque no momento que a fun??o rodar ainda n?o tem definido quem é o elemento com id pipeline. Ent?o preciso mudar o ciclo de vida para rodar o script apenas quando a página for carregada. Basta colocar o <script defer>, certo? Bem, n?o. Porque defer n?o funciona bem com inline, apenas com arquivo de source explícito. Veja a documenta??o. <p>Ou seja, precisei colocar o arquivo JavaScript explicitamente para o Computaria. Como a priori tudo que está solto na pasta do blog é colocado como asset disponível para o Jekyll publicar, criei o js/pipeline-loader.js:<br> </p> <pre class="brush:php;toolbar:false"><script src="{{ "/js/pipeline-loader.js" | prepend: site.baseurl }}" defer> </script> <div> <p>E no script:<br> </p> <pre class="brush:php;toolbar:false">const queryParams = new URLSearchParams(window.location.search.substring(1)); const pipeline = document.getElementById("pipeline") if (queryParams.get("status") === "true") { pipeline.style.display = "block" } else { pipeline.remove() }
????. ??? ?? ?? ???? ??? ???? ??? ???? ????? document.createElement? ???? ???. ?? ?? ?? URL? ?????:
const queryParams = new URLSearchParams(window.location.search.substring(1)); const pipeline = document.getElementById("pipeline") if (queryParams.get("status") === "true") { pipeline.style.display = "block" const pipelineImg = document.createElement("img") pipelineImg.src = "{{site.repository.base}}/badges/master/pipeline.svg" pipeline.appendChild(pipelineImg) } else { pipeline.remove() }
??? ?? ???? ??????... ?, ??? ???? ???? ????
GET http://localhost:4000/blog/about/{{site.repository.base}}/badges/master/pipeline.svg [HTTP/1.1 404 Not Found 4ms]
?????. ??? ??? URL? ???? ???? ?, ????. ?? Liquid? ?? ???? ?????. ? ??? ???? ?? ?? ? ???? css/main.scss? ??? ???? ??????.
const queryParams = new URLSearchParams(window.location.search.substring(1)); if (queryParams.get("status") === "true") { console.log("oba, vamos exibir o pipeline!") } else { console.log("nops, n?o vamos exibir nada") }
???? ??????? ??? ??? ?? ???? ???, ? ?? const? ??? ?????. ??? ?? ???? ??? ?? ??? ?? ???? ?? ??? "??? ??"? ? ?? ??? ??????. ?? ; ??? ?? ?:
<div> <p>Para importar, no /about só precisei colocar {%include pipeline.html%} no come?o do arquivo, o Jekyll se encarregou de montar tudo certo.</p> <p>Ok, vamos por o script para detectar se deveria ou n?o exibir a tag:<br> </p> <pre class="brush:php;toolbar:false"><script> const queryParams = new URLSearchParams(window.location.search.substring(1)); if (queryParams.get("status") === "true") { console.log("oba, vamos exibir o pipeline!") } else { console.log("nops, n?o vamos exibir nada") } </script> <div> <p>So far, so good. Agora, vamos mudar a exibi??o para display: block caso seja para exibir o pipeline, ou sumir logo de uma vez com a <div>. Pelo console da web, bastaria fazer algo nesse esquema:<br> </p> <pre class="brush:php;toolbar:false">const pipeline = document.getElementById("pipeline") if (...) { pipeline.style.display = "block" } else { pipeline.remove() }
??? ?...
???? ???? ?? ???? ?? 308? ?? ???? ?? ??????. ??? ? ???? ???? ?, Liquid? ??? ? ?? ?? ?? ??? ??? ?????.
?? ??? ??? ??? ????.
- https://gitlab.com/computaria/blog//badges/master/pipeline.svg
???? ????:
- https://gitlab.com/computaria/blog/badges/master/pipeline.svg
??? ?? ?? ??? ????? ??? ????? ??????. ? ??? ????? ?? ???? ???? ???. Liquid ?? ??? ?? ?? ???? ?? ????? ?? ??? ? ?????. ???? ?? {{site.repository.base}} ???? /? ???? ?? ????? ? ? ??? ?????. ??? ???? /badges/master/pipeline.svg ?? ???? ?? ?? ????? ??? ??? ??? ??? ? ??? ?? ????? ???.
??? ? ?? ?? ??? ?? ?? ??? ???? ?? ?? ??? ?? ?? ? ?? ??? ?????.
- ?? ?? ??? ???? ??? ???? ?????
- ?????? ???? ? ??? ??? ?????
?? JavaScript ?? ? ?? ?????. //? /? ??? ???. ???? ?, ??. ????? :// ?? ???? ??? ??? ?? ???? URL? https:/computaria.gitlab.io? ?? ?????. ? ??? ???? ?? ??? ?? ?????.
<script> const queryParams = new URLSearchParams(window.location.search.substring(1)); const pipeline = document.getElementById("pipeline") if (queryParams.get("status") === "true") { pipeline.style.display = "block" } else { pipeline.remove() } </script> <div> <p>E... falhou. Por quê? Porque no momento que a fun??o rodar ainda n?o tem definido quem é o elemento com id pipeline. Ent?o preciso mudar o ciclo de vida para rodar o script apenas quando a página for carregada. Basta colocar o <script defer>, certo? Bem, n?o. Porque defer n?o funciona bem com inline, apenas com arquivo de source explícito. Veja a documenta??o. <p>Ou seja, precisei colocar o arquivo JavaScript explicitamente para o Computaria. Como a priori tudo que está solto na pasta do blog é colocado como asset disponível para o Jekyll publicar, criei o js/pipeline-loader.js:<br> </p> <pre class="brush:php;toolbar:false"><script src="{{ "/js/pipeline-loader.js" | prepend: site.baseurl }}" defer> </script> <div> <p>E no script:<br> </p> <pre class="brush:php;toolbar:false">const queryParams = new URLSearchParams(window.location.search.substring(1)); const pipeline = document.getElementById("pipeline") if (queryParams.get("status") === "true") { pipeline.style.display = "block" } else { pipeline.remove() }
??:
- ?? ??? "? ?? ??"?? ??? ??? ???? ? ?? ???? ????
- ??? ??: (?? ?), ???, ???? ??? ?? ??
?? ???? https://? ([^:])//? ???? ??? ??? ?? ?? ?? //? ???? ?????. ?? ?? ?????? :. ? ? ???? ??? ?? ????/???? ??? ???? ??? ??? ? ??? ?? ??? ? ?????.
?? ??: ?? ?? ??
??, ??? ??? ?? ????? ?? ?? ??? ?????? ?? ?? ????? ?????. ? ?? ??: ??? ??? ??? ?????. ??? ??? ???? ???? ?? "?? ?"???. ??? ?? ? ?? ??? ?????.
- setTimeout
- ?? ??
?, ??? ??? ??? ?????? setTimeout? ?? ??? ??? ?? ?? ??? ??? ?????. ClearTimeout? ???? ??? ? ?? ID? ?? ?????. ??? ????? ???? setTimeout? ?? ???? ???.
setInterval? ?? ????? ?? ?? ?? ?? ??? ????? ?? ????. ??? ???? ??clearInterval? ???? ID?? ??? ??? ??? ??clearTimeout??? ?????(?? ???? ?? ?? ??? ??? ?? ID? ??????).
setTimeout ??
setTimeout? ???? ?? ??? ??? ???? ??? ??? Pumpkin??? ??? 5? ???? ?? ?????? ? ??? ?? ??? ??? ???????:
const queryParams = new URLSearchParams(window.location.search.substring(1)); if (queryParams.get("status") === "true") { console.log("oba, vamos exibir o pipeline!") } else { console.log("nops, n?o vamos exibir nada") }
??, HTML? ??? ? ?? ??? 3? ????. ??? ??? (?? ?????) ??? ????. ?? ??? ??? ? ????

? AI ??

Undress AI Tool
??? ???? ??

Undresser.AI Undress
???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover
???? ?? ???? ??? AI ?????.

Clothoff.io
AI ? ???

Video Face Swap
??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

?? ??

??? ??

???++7.3.1
???? ?? ?? ?? ???

SublimeText3 ??? ??
??? ??, ???? ?? ????.

???? 13.0.1 ???
??? PHP ?? ?? ??

???? CS6
??? ? ?? ??

SublimeText3 Mac ??
? ??? ?? ?? ?????(SublimeText3)

JavaScript? ??? ?? ????? ??? ?? ??? ??? ?? ?? ?? ????? ?? ???? ???? ?????. ??? ?? ???? ?? ??? ?? ??? ???? ???? ?? ?? ???? ???? ?????. ?? ??, ??? ? ?? ???? ??? (? : ??? null? ??) ?? ??? ????? ??????. ??? ??? ???? ??? ??? ????. closure?? ?? ??? ?? ??; ? ??? ??? ?? ?? ???? ?? ???? ????. V8 ??? ?? ???, ?? ??, ??/?? ???? ?? ??? ?? ??? ??? ????? ?? ??? ?? ??? ????. ?? ?? ???? ??? ??? ??? ??? ???? ????? ?? ?? ???? ?? ???????.

Node.js?? HTTP ??? ???? ? ?? ???? ??? ????. 1. ?? ????? ????? ??? ??? ? ?? ????? ?? ?? ? https.get () ??? ?? ??? ??? ? ?? ????? ?? ??? ?????. 2.axios? ??? ???? ? ?? ??????. ??? ??? ??? ??? ??? ??? ???/???, ?? JSON ??, ???? ?? ?????. ??? ?? ??? ????? ?? ????. 3. ?? ??? ??? ??? ??? ???? ???? ??? ??? ???? ?????.

JavaScript ??? ??? ?? ?? ? ?? ???? ????. ?? ???? ???, ??, ??, ?, ???? ?? ? ??? ?????. ?? ????? ?? ?? ? ? ??? ????? ?? ??? ??? ????. ??, ?? ? ??? ?? ?? ??? ??? ??? ???? ??? ??? ???? ??? ?? ??? ????. ?? ? ????? ??? ???? ? ??? ? ??? TypeofNull? ??? ?????? ??? ? ????. ? ? ?? ??? ???? ?????? ????? ???? ??? ???? ? ??? ? ? ????.

?????, JavaScript ???! ?? ? JavaScript ??? ?? ?? ?????! ?? ?? ??? ??? ??? ? ????. Deno?? Oracle? ?? ??, ??? JavaScript ?? ??? ????, Google Chrome ???? ? ??? ??? ???? ?????. ?????! Deno Oracle? "JavaScript"??? ????? Oracle? ?? ??? ??? ??????. Node.js? Deno? ??? ? Ryan Dahl? ??? ?????? ???? ????? JavaScript? ??? ???? Oracle? ????? ???? ?????.

?? JavaScript ??? ??? ??? ?????? ?? ??? ?? ?? ??? ?? ???? ????. 1. ??? ???? ???? ?? ??? ?? ? ? ???? ??? ??? ?? ? ?? ????? ?????. 2. Angular? ?????? ??? ?? ???? ? ?? ?? ??? ??? ??? ???? ?????. 3. VUE? ???? ?? ??? ???? ?? ?? ??? ?????. ?? ?? ?? ??, ? ??, ???? ???? ? SSR? ???? ??? ??? ??? ???? ? ??? ?????. ???, ??? ??? ??? ????? ????. ??? ??? ??? ??? ?? ????.

iife (?? invokedfunctionexpression)? ?? ??? ???? ?? ????? ??? ???? ?? ??? ????? ?? ??? ? ?????. ??? ?? ?? ??? ???? ? ?? ??? ??? ?? (function () {/code/}) ();. ?? ???? ??? ?????. 1. ?? ??? ??? ?? ???? ?? ??? ??? ?????. 2. ?? ??? ??? ???? ?? ?? ??? ????. 3. ?? ?? ??? ????? ?? ???? ???????? ?? ? ??. ???? ?? ???? ?? ??? ES6 ??? ??? ??? ?? ? ??? ????? ??? ? ???? ???????.

??? JavaScript?? ??? ??? ?????? ?? ???????. ?? ??, ?? ?? ? ??? ??? ?? ????? ????? ?????. 1. ?? ??? ??? ????? ???? ??. ()? ?? ??? ??? ?????. ?. ()? ?? ??? ?? ??? ??? ?? ? ? ????. 2. ?? ??? .catch ()? ???? ?? ??? ??? ?? ??? ??????, ??? ???? ???? ????? ??? ? ????. 3. Promise.all ()? ?? ????? (?? ?? ?? ? ??????? ??), Promise.Race () (? ?? ??? ?? ?) ? Promise.AllSettled () (?? ??? ???? ??)

Cacheapi? ?????? ?? ???? ??? ???? ???, ?? ??? ??? ?? ???? ? ??? ?? ? ???? ??? ??????. 1. ???? ????, ??? ??, ?? ?? ?? ???? ???? ??? ? ????. 2. ??? ?? ?? ??? ?? ? ? ????. 3. ?? ?? ?? ?? ?? ??? ??? ?? ?????. 4. ??? ???? ?? ?? ???? ?? ?? ?? ?? ?? ???? ?? ?? ??? ??? ? ????. 5. ?? ???? ??, ??? ??? ? ??? ??, ?? ??? ? ?? ???? ???? ???? ? ?? ?????. 6.?? ??? ?? ?? ?? ??, ???? ?? ? HTTP ?? ????? ?????? ???????.
