Reading time: 4 minutes
Hugo generatoriaus pliusai ir minusai
Kaip žmogus, kuris keletą valandų smagiai pažaidė su Hugo statinių puslapių generatoriumi, tikrai galiu pateikti keletą jo pliusų ir minusų. Todėl tai ir padarysiu.
Hugo pliusai
| Pliusai |
|---|
| Didelis puslapių generavimo greitis |
| Dauguma temų draugiškos mobiliesiems įrenginiams |
| Draugiškas paieškos varikliams |
| Laisvai kustomizuojamas |
| Užima mažai vietos |
| Yra galimybė iš savo svetainės padaryti PWA aplikaciją |
| Didelis saugumas, nes nėra jokios turinio valdymo sistemos |
| Beribis etikečių skaičius |
| Naudojant Typora markdown failų redaktorių, įrašų kūrimas supaprastėja iki keletos kartų |
Hugo minusai
| Minusai |
|---|
| Nedraugiškas pradedantiems naudotojams |
| Hugo dokumentacija nėra išsami |
| Nėra numatytosios paieškos funkcijos |
| Nėra grafinės naudotojo sąsajos (komandos vykdomos node.js cli pagalba) |
| Visi puslapiai po sugeneravimo iš šablonų pavirsta statiniais (tokia ir buvo pradinė idėja) |
Šio WEB puslapio sprendimai
Paieška
Kuriant nerdy.artefaktas.eu teko imtis kiek netradicinių sprendimų. Pavyzdžiui, sukurti minimalistinį ir kiek buką paieškos varikliuką besiremiantį RSS srauto failu. Taip, visiškai teisingai. Čia paieškai naudojamas xml failas. O jeigu tiksliau, tai siunčiama užklausa į jį. Jei jis yra, atsakas leidžiamas per DOMParser ir jame ieškoma atitikmenų pagal frazę suvestą į paieškos laukelį.
Pateikiu kodą:
window.addEventListener('load',()=>{
let selectedField = document.querySelector('.searchBar');
let selectedRow = document.querySelector('.row');
let mas;
selectedField.addEventListener('keyup',(k)=>{
if(k.key=="Enter" || k.keyCode===13){
let fieldValue = selectedField.value;
selectedRow.innerHTML = "Ieškoma...";
let siteBase = window.location.origin;
let siteUrl = window.location.href;
let rssUrl = siteBase+"/sitemap.xml";
let found = false;
fetch(rssUrl).then(response=>response.text()).
then(str=>new window.DOMParser().parseFromString(str,"text/xml")).
then((data)=>{
mas = data.getElementsByTagName('item');
selectedRow.innerHTML = '';
for(let index=0;index<mas.length;index++){
if(mas[index].getElementsByTagName('description')[0].textContent.toLowerCase().includes(fieldValue.toLowerCase())){
if(mas[index].getElementsByTagName('link')[0].textContent!=siteUrl){
selectedRow.innerHTML+="<p><h2>"+mas[index].getElementsByTagName('title')[0].textContent+"</h2></p><br>"+mas[index].getElementsByTagName('description')[0].textContent.substring(0,300)+"...<br><br><a href='"+mas[index].getElementsByTagName('link')[0].textContent+"'>"+mas[index].getElementsByTagName('link')[0].textContent+"</a><br/><br/>";
found = true;
}
}
}
if(found === false){
selectedRow.innerHTML = '';
selectedRow.innerHTML = '<p>Įrašų nerasta</p>';
}
})
}
})
})
Sprendimas veikia tiek https://nerdy.artefaktas.eu, tiek ir https://www.nerdy.artefaktas.eu adresu. Galima sakyti, kad jis minimalistinis ir universalus.
Bendrinimas
Puslapių bendrinimui panaudoti du įrankiai:
- ShareThis dalyjimosi mygtukai
- Facebook recommend mygtukas
Pabaigai
Nemanau, jog reikėtų daugiau dėmesio skirti generatoriaus pliusams ar minusams todėl, kad jie savaime gerai suprantami.
Sekančiame įraše pateiksiu informacijos apie tai, kaip su Hugo pagalba sugeneruoti tinkamą RSS srautą.
P.s. Ar aš vienintelis žmogus tebenaudojantis Ananke temą?
Visa pateikiama informacija - asmeninė autoriaus nuomonė. Kilus naiškumams rekomenduojama susisiekti elektroniniu paštu: admin@artefaktas.eu
Artefaktas.eu is licensed under CC BY-NC-ND 4.0