Kaj je EJS in zakaj ga potrebujem?

Kaj je EJS in zakaj ga potrebujem?

V spletnem razvoju je razvijalcem na voljo veliko orodij, med katerimi lahko izbirajo. Izbira pravih orodij in tehnologij lahko pomembno vpliva na učinkovitost in funkcionalnost projektov. Eno izmed priljubljenih orodij v spletnem razvoju je EJS, kar pomeni Embedded JavaScript . EJS je preprost jezik za predloge JavaScript, ki generira HTML z navadnim JavaScriptom. V tem članku bomo opisali, kaj je EJS, zakaj je potreben, njegove funkcije, kako ga namestiti in podali primer z izhodom.

Kaj je EJS

EJS ali Embedded JavaScript je mehanizem predlog za JavaScript, ki se uporablja za spletni razvoj in uporabnikom omogoča ustvarjanje dinamičnih oznak HTML z uporabo kode JavaScript v predlogah HTML. Zasnovan je za poenostavitev postopka upodabljanja dinamične vsebine v spletnih aplikacijah. Vsebuje mešanico HTML in JavaScript, kar olajša ustvarjanje dinamične vsebine na podlagi podatkov iz vaše aplikacije.

Značilnosti EJS

  • Enostavna sintaksa: EJS ponuja preprosto sintakso, ki združuje HTML in JavaScript, zaradi česar je preprost za učenje in uporabo.
  • Dinamična vsebina: EJS omogoča dinamično generiranje vsebine HTML in JavaScript znotraj oznak HTML, kar povečuje prilagodljivost pri ustvarjanju vsebine.
  • Postavitev in deli: EJS podpira postavitve in delce, kar uporabnikom omogoča, da razdelijo predloge na komponente, ki jih je mogoče ponovno uporabiti, kar zmanjša podvajanje kode in izboljša vzdržljivost.
  • Obravnava napak: EJS ponuja sporočila o napakah, ki razvijalcem pomagajo pri odpravljanju napak in tako izboljšajo celotno razvojno izkušnjo.

Zakaj potrebujete EJS?

  • Dinamično ustvarjanje HTML: EJS vam omogoča ustvarjanje dinamične vsebine HTML na podlagi spremenljivk, pogojev, zank in druge logike JavaScript. To je še posebej uporabno za upodabljanje dinamičnih podatkov, pridobljenih iz baz podatkov ali API-jev.
  • Ponovna uporabnost kode: Z uporabo predlog EJS lahko ustvarite komponente ali dele za večkratno uporabo, ki jih je mogoče vključiti v več strani. To spodbuja modularnost kode in zmanjšuje podvajanje v vaših spletnih aplikacijah.
  • Upodabljanje na strani strežnika: Z EJS lahko izvajate strežniško upodabljanje (SSR) spletnih strani. SSR je koristen za SEO (optimizacija iskalnikov), saj omogoča iskalnikom bolj učinkovito pajkanje in indeksiranje vaše vsebine v primerjavi z upodabljanjem na strani odjemalca (CSR), ki ga izvajajo ogrodja, kot sta React ali Angular.
  • Enostavna integracija z Node.js in Express.js: EJS se brezhibno integrira z Node.js in Express.js, zaradi česar je priljubljena izbira za razvijalce, ki delajo na strežniških aplikacijah JavaScript. Enostavno ga je nastaviti in uporabljati znotraj projekta Express.js.
  • Znana sintaksa: Če že poznate HTML in JavaScript, je učenje in uporaba EJS preprosta. Sintaksa je podobna HTML z vdelano kodo JavaScript > oznake, zaradi česar je dostopen razvijalcem različnih ravni znanja.
  • Dedovanje predloge in postavitve: EJS podpira dedovanje in postavitve predlog, kar vam omogoča ustvarjanje doslednih postavitev za vaše spletne strani. Določite lahko osnovno postavitev in jo razširite v drugih predlogah, kar olajša vzdrževanje doslednega videza in občutka v vaši aplikaciji.

Kako uporabljati EJS?

Korak 1: Namestite EJS kot odvisnost v vašem projektu

 npm install ejs 

2. korak: Ustvarite mapo »pogledi« v imeniku vašega projekta, če še ne obstaja. Znotraj mape pogledov ustvarite novo datoteko s pripono .ejs, na primer index.ejs

3. korak: Če želite integrirati EJS s Expressom v aplikaciji Express.js, nastavite EJS kot mehanizem pogleda v konfiguraciji aplikacije Express. Ta konfiguracija Expressu omogoča uporabo EJS za upodabljanje pogledov.

app.set('view engine', 'ejs'); 

4. korak: Upodobitev predloge EJS, v vaših obdelovalcih poti Express upodobimo predlogo EJS z uporabo 'res.render()' in zagotovi potrebne podatke, ki jih je treba posredovati v predlogo.

res.render('hello', { name: 'Geeks' }); 

Struktura projekta:

imenik_projekta

Posodobljene odvisnosti v package.json datoteka bo izgledala takole:

'dependencies': {  'ejs': '^3.1.9',  'express': '^4.18.2'  } 

primer: Izvedba za predstavitev uporabe ejs s primerom.

HTML
          Primer naslova EJS> glava> <body>  <h1>Zdravo, <%= name %>!h1> telo> html> </pre>  </code>JavaScript <code>  <pre>// index.js  const express = require('express'); const app = express(); const port = 3000; app.set('view engine', 'ejs'); app.get('/', (req, res) =>{ res.render('zdravo', { ime: 'Geeks' }); }); app.listen(port, () => { console.log(`Strežnik deluje na http://localhost:${port}`); }); </pre>  </code>  <p dir='ltr'>  <b>  <strong>Korak za zagon aplikacije: </strong>  </b>  <span>Zaženite aplikacijo z naslednjim ukazom iz korenskega imenika projekta </span> </p>  <pre>node index.js </pre> <p dir='ltr'>  <b>  <strong>Izhod: </strong>  </b>  <span>Vaš projekt bo prikazan v URL-ju http://localhost:3000/ </span> </p>  <p dir='ltr'> <img src='//techcodeview.com/img/ejs-templating-language/39/what-is-ejs-why-do-i-need-it-2.webp' alt='izhod'> </p>  <br>  <br>
                     </div>

                     <!-- Article Footer with Prominent Share Buttons -->
                     <div class="px-6 md:px-8 py-8 bg-slate-50 dark:bg-slate-900/50 border-t border-slate-200 dark:border-slate-700/50">
                          <div class="flex flex-col sm:flex-row items-center justify-between gap-6">
                              <h4 class="text-base font-bold text-slate-700 dark:text-slate-300 uppercase tracking-wide flex items-center gap-2">
                                 <i class="fa fa-share-alt text-tech-500"> </i>
                                Deli                              </h4>
                             
                              <div class="flex flex-wrap justify-center gap-3">
                                 <!-- Twitter -->
                                 <a href="https://twitter.com/intent/tweet?text=Kaj je EJS in zakaj ga potrebujem?&url=https://www.techcodeview.com/sl/what-is-ejs-why-do-i-need-it" 
                                   target="_blank" rel="noopener noreferrer" 
                                   class="flex items-center gap-2 px-6 py-3 rounded-xl bg-[#1DA1F2]/10 text-[#1DA1F2] hover:bg-[#1DA1F2] hover:text-white transition-all duration-300 font-bold text-sm">
                                     <i class="fa fa-twitter text-lg"> </i>
                                     <span class="hidden sm:inline">Twitter </span>
                                 </a>

                                 <!-- Facebook -->
                                 <a href="https://www.facebook.com/sharer/sharer.php?u=https://www.techcodeview.com/sl/what-is-ejs-why-do-i-need-it" 
                                   target="_blank" rel="noopener noreferrer"
                                   class="flex items-center gap-2 px-6 py-3 rounded-xl bg-[#4267B2]/10 text-[#4267B2] hover:bg-[#4267B2] hover:text-white transition-all duration-300 font-bold text-sm">
                                     <i class="fa fa-facebook text-lg"> </i>
                                     <span class="hidden sm:inline">Facebook </span>
                                 </a>
                                
                                 <!-- LinkedIn -->
                                 <a href="https://www.linkedin.com/shareArticle?mini=true&url=https://www.techcodeview.com/sl/what-is-ejs-why-do-i-need-it&title=Kaj je EJS in zakaj ga potrebujem?" 
                                   target="_blank" rel="noopener noreferrer"
                                   class="flex items-center gap-2 px-6 py-3 rounded-xl bg-[#0077b5]/10 text-[#0077b5] hover:bg-[#0077b5] hover:text-white transition-all duration-300 font-bold text-sm">
                                     <i class="fa fa-linkedin text-lg"> </i>
                                     <span class="hidden sm:inline">LinkedIn </span>
                                 </a>
                              </div>
                          </div>
                     </div>
                </article>

                <!-- Comments Placeholder / Random Articles -->
                <div class="mt-8 bg-white dark:bg-slate-800 border border-slate-200 dark:border-slate-700 rounded-xl p-6 md:p-8 shadow-sm">
                     <h3 class="text-xl font-bold text-slate-900 dark:text-white mb-6 uppercase tracking-wide border-b border-slate-200 dark:border-slate-700 pb-2">
                        Morda Vam Bo Všeč                     </h3>
                     <div class="grid grid-cols-1 md:grid-cols-2 gap-6">
                         <div class="group">
                              <a href="/sl/javascript-closest" class="block aspect-video rounded-lg overflow-hidden bg-slate-200 dark:bg-slate-700 mb-3">
                                 <img loading="lazy" src="https://techcodeview.com/img/javascript-tutorial/60/javascript-closest.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="JavaScript closest()" class="w-full h-full object-cover group-hover:scale-105 transition-transform duration-500">
                              </a>
                              <h4 class="font-bold text-slate-900 dark:text-white leading-tight group-hover:text-tech-500 transition-colors">
                                 <a href="/sl/javascript-closest">JavaScript closest() </a>
                              </h4>
                         </div> <div class="group">
                              <a href="/sl/what-is-subject-definition" class="block aspect-video rounded-lg overflow-hidden bg-slate-200 dark:bg-slate-700 mb-3">
                                 <img loading="lazy" src="https://techcodeview.com/img/it-problems-solutions/95/what-is-subject-definition.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="Kaj je Zadeva? – Definicija, uporaba in primeri" class="w-full h-full object-cover group-hover:scale-105 transition-transform duration-500">
                              </a>
                              <h4 class="font-bold text-slate-900 dark:text-white leading-tight group-hover:text-tech-500 transition-colors">
                                 <a href="/sl/what-is-subject-definition">Kaj je Zadeva? – Definicija, uporaba in primeri </a>
                              </h4>
                         </div>
                     </div>
                </div>
             </div>

             <!-- SECONDARY COLUMN (SIDEBAR) -->
             <!-- Aside Column -->
 <div class="lg:col-span-4 space-y-8">
	
	 <!-- Best Articles Widget -->
	 <div class="rounded-xl bg-white dark:bg-slate-800 border border-slate-200 dark:border-slate-700 p-6 shadow-sm">
		 <div class="mb-4 border-b border-slate-100 dark:border-slate-700 pb-2">
			 <h2 class="text-lg font-bold text-slate-900 dark:text-white uppercase tracking-wide flex items-center">
                 <span class="mr-2 h-2 w-2 rounded-full bg-tech-500"> </span>
                Top Članki             </h2>
		 </div>
		
		 <!-- Owl Carousel Preserved Container -->
		 <div id="owl-carousel-3" class="owl-carousel owl-theme center-owl-nav">
			 <!-- ARTICLE -->
			 <article class="flex items-start gap-4 p-2 hover:bg-slate-50 dark:hover:bg-slate-700/50 rounded-lg transition-colors">
				 <div class="w-20 h-20 shrink-0 overflow-hidden rounded-md bg-slate-200 dark:bg-slate-700">
					 <a href="/sl/who-invented-fan">
						 <img src="https://techcodeview.com/img/blog/76/who-invented-fan.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="Kdo je izumil ventilator" class="w-full h-full object-cover">
					 </a>
				 </div>
				 <div class="flex-1 min-w-0">
					 <h4 class="text-sm font-semibold text-slate-800 dark:text-slate-200 leading-snug">
                         <a href="/sl/who-invented-fan" class="hover:text-tech-500 transition-colors line-clamp-3">Kdo je izumil ventilator </a>
                     </h4>
				 </div>
			 </article>
			 <!-- /ARTICLE --> <!-- ARTICLE -->
			 <article class="flex items-start gap-4 p-2 hover:bg-slate-50 dark:hover:bg-slate-700/50 rounded-lg transition-colors">
				 <div class="w-20 h-20 shrink-0 overflow-hidden rounded-md bg-slate-200 dark:bg-slate-700">
					 <a href="/sl/typescript-switch-statement">
						 <img src="https://techcodeview.com/img/typescript-tutorial/79/typescript-switch-statement.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="Stavek TypeScript Switch" class="w-full h-full object-cover">
					 </a>
				 </div>
				 <div class="flex-1 min-w-0">
					 <h4 class="text-sm font-semibold text-slate-800 dark:text-slate-200 leading-snug">
                         <a href="/sl/typescript-switch-statement" class="hover:text-tech-500 transition-colors line-clamp-3">Stavek TypeScript Switch </a>
                     </h4>
				 </div>
			 </article>
			 <!-- /ARTICLE --> <!-- ARTICLE -->
			 <article class="flex items-start gap-4 p-2 hover:bg-slate-50 dark:hover:bg-slate-700/50 rounded-lg transition-colors">
				 <div class="w-20 h-20 shrink-0 overflow-hidden rounded-md bg-slate-200 dark:bg-slate-700">
					 <a href="/sl/return-an-array-c">
						 <img src="https://techcodeview.com/img/c-tutorial/16/return-an-array-c.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="Vrni matriko v C" class="w-full h-full object-cover">
					 </a>
				 </div>
				 <div class="flex-1 min-w-0">
					 <h4 class="text-sm font-semibold text-slate-800 dark:text-slate-200 leading-snug">
                         <a href="/sl/return-an-array-c" class="hover:text-tech-500 transition-colors line-clamp-3">Vrni matriko v C </a>
                     </h4>
				 </div>
			 </article>
			 <!-- /ARTICLE --> <!-- ARTICLE -->
			 <article class="flex items-start gap-4 p-2 hover:bg-slate-50 dark:hover:bg-slate-700/50 rounded-lg transition-colors">
				 <div class="w-20 h-20 shrink-0 overflow-hidden rounded-md bg-slate-200 dark:bg-slate-700">
					 <a href="/sl/how-underline-text-css">
						 <img src="https://techcodeview.com/img/css-tutorial/98/how-underline-text-css.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="Kako podčrtati besedilo v CSS?" class="w-full h-full object-cover">
					 </a>
				 </div>
				 <div class="flex-1 min-w-0">
					 <h4 class="text-sm font-semibold text-slate-800 dark:text-slate-200 leading-snug">
                         <a href="/sl/how-underline-text-css" class="hover:text-tech-500 transition-colors line-clamp-3">Kako podčrtati besedilo v CSS? </a>
                     </h4>
				 </div>
			 </article>
			 <!-- /ARTICLE --> <!-- ARTICLE -->
			 <article class="flex items-start gap-4 p-2 hover:bg-slate-50 dark:hover:bg-slate-700/50 rounded-lg transition-colors">
				 <div class="w-20 h-20 shrink-0 overflow-hidden rounded-md bg-slate-200 dark:bg-slate-700">
					 <a href="/sl/java-island">
						 <img src="https://techcodeview.com/img/blog/05/java-island.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="otok Java" class="w-full h-full object-cover">
					 </a>
				 </div>
				 <div class="flex-1 min-w-0">
					 <h4 class="text-sm font-semibold text-slate-800 dark:text-slate-200 leading-snug">
                         <a href="/sl/java-island" class="hover:text-tech-500 transition-colors line-clamp-3">otok Java </a>
                     </h4>
				 </div>
			 </article>
			 <!-- /ARTICLE --> <!-- ARTICLE -->
			 <article class="flex items-start gap-4 p-2 hover:bg-slate-50 dark:hover:bg-slate-700/50 rounded-lg transition-colors">
				 <div class="w-20 h-20 shrink-0 overflow-hidden rounded-md bg-slate-200 dark:bg-slate-700">
					 <a href="/sl/python-opencv-cv2-imread-method">
						 <img src="https://techcodeview.com/img/opencv/99/python-opencv-cv2-imread-method.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="Python OpenCV | metoda cv2.imread()." class="w-full h-full object-cover">
					 </a>
				 </div>
				 <div class="flex-1 min-w-0">
					 <h4 class="text-sm font-semibold text-slate-800 dark:text-slate-200 leading-snug">
                         <a href="/sl/python-opencv-cv2-imread-method" class="hover:text-tech-500 transition-colors line-clamp-3">Python OpenCV | metoda cv2.imread(). </a>
                     </h4>
				 </div>
			 </article>
			 <!-- /ARTICLE --> <!-- ARTICLE -->
			 <article class="flex items-start gap-4 p-2 hover:bg-slate-50 dark:hover:bg-slate-700/50 rounded-lg transition-colors">
				 <div class="w-20 h-20 shrink-0 overflow-hidden rounded-md bg-slate-200 dark:bg-slate-700">
					 <a href="/sl/explained-what-are-loot-boxes-24256">
						 <img src="https://techcodeview.com/img/get-informed/66/explained-what-are-loot-boxes.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="Pojasnilo: kaj so škatle za plen?" class="w-full h-full object-cover">
					 </a>
				 </div>
				 <div class="flex-1 min-w-0">
					 <h4 class="text-sm font-semibold text-slate-800 dark:text-slate-200 leading-snug">
                         <a href="/sl/explained-what-are-loot-boxes-24256" class="hover:text-tech-500 transition-colors line-clamp-3">Pojasnilo: kaj so škatle za plen? </a>
                     </h4>
				 </div>
			 </article>
			 <!-- /ARTICLE --> <!-- ARTICLE -->
			 <article class="flex items-start gap-4 p-2 hover:bg-slate-50 dark:hover:bg-slate-700/50 rounded-lg transition-colors">
				 <div class="w-20 h-20 shrink-0 overflow-hidden rounded-md bg-slate-200 dark:bg-slate-700">
					 <a href="/sl/how-get-36-act-math-1311462">
						 <img src="https://techcodeview.com/img/blog/74/how-get-36-act-math.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="Kako doseči 36 pri matematiki ACT: 8 strategij popolnega strelca" class="w-full h-full object-cover">
					 </a>
				 </div>
				 <div class="flex-1 min-w-0">
					 <h4 class="text-sm font-semibold text-slate-800 dark:text-slate-200 leading-snug">
                         <a href="/sl/how-get-36-act-math-1311462" class="hover:text-tech-500 transition-colors line-clamp-3">Kako doseči 36 pri matematiki ACT: 8 strategij popolnega strelca </a>
                     </h4>
				 </div>
			 </article>
			 <!-- /ARTICLE --> <!-- ARTICLE -->
			 <article class="flex items-start gap-4 p-2 hover:bg-slate-50 dark:hover:bg-slate-700/50 rounded-lg transition-colors">
				 <div class="w-20 h-20 shrink-0 overflow-hidden rounded-md bg-slate-200 dark:bg-slate-700">
					 <a href="/sl/whole-numbers-definition">
						 <img src="https://techcodeview.com/img/math-concepts/91/whole-numbers-definition.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="Cela števila – definicija, lastnosti in primeri" class="w-full h-full object-cover">
					 </a>
				 </div>
				 <div class="flex-1 min-w-0">
					 <h4 class="text-sm font-semibold text-slate-800 dark:text-slate-200 leading-snug">
                         <a href="/sl/whole-numbers-definition" class="hover:text-tech-500 transition-colors line-clamp-3">Cela števila – definicija, lastnosti in primeri </a>
                     </h4>
				 </div>
			 </article>
			 <!-- /ARTICLE --> <!-- ARTICLE -->
			 <article class="flex items-start gap-4 p-2 hover:bg-slate-50 dark:hover:bg-slate-700/50 rounded-lg transition-colors">
				 <div class="w-20 h-20 shrink-0 overflow-hidden rounded-md bg-slate-200 dark:bg-slate-700">
					 <a href="/sl/how-update-multiple-columns-single-update-statement-sql">
						 <img src="https://techcodeview.com/img/picked/20/how-update-multiple-columns-single-update-statement-sql.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="Kako posodobiti več stolpcev v enem stavku posodobitve v SQL?" class="w-full h-full object-cover">
					 </a>
				 </div>
				 <div class="flex-1 min-w-0">
					 <h4 class="text-sm font-semibold text-slate-800 dark:text-slate-200 leading-snug">
                         <a href="/sl/how-update-multiple-columns-single-update-statement-sql" class="hover:text-tech-500 transition-colors line-clamp-3">Kako posodobiti več stolpcev v enem stavku posodobitve v SQL? </a>
                     </h4>
				 </div>
			 </article>
			 <!-- /ARTICLE -->
		 </div>
		

         <!-- Categories -->
		 <div class="mt-8 mb-4 border-b border-slate-100 dark:border-slate-700 pb-2">
			 <h2 class="text-lg font-bold text-slate-900 dark:text-white uppercase tracking-wide">Kategorija </h2>
		 </div>
		 <div class="flex flex-wrap gap-2">
             <a href="/sl/blog/" class="inline-block px-3 py-1 bg-slate-100 dark:bg-slate-700 text-xs font-medium text-slate-600 dark:text-slate-300 rounded-full hover:bg-tech-500 hover:text-white transition-colors">
                Blog
             </a> <a href="/sl/java-conversion/" class="inline-block px-3 py-1 bg-slate-100 dark:bg-slate-700 text-xs font-medium text-slate-600 dark:text-slate-300 rounded-full hover:bg-tech-500 hover:text-white transition-colors">
                Java Conversion
             </a> <a href="/sl/maths/" class="inline-block px-3 py-1 bg-slate-100 dark:bg-slate-700 text-xs font-medium text-slate-600 dark:text-slate-300 rounded-full hover:bg-tech-500 hover:text-white transition-colors">
                Matematika
             </a> <a href="/sl/java-collections/" class="inline-block px-3 py-1 bg-slate-100 dark:bg-slate-700 text-xs font-medium text-slate-600 dark:text-slate-300 rounded-full hover:bg-tech-500 hover:text-white transition-colors">
                Zbirke Java
             </a> <a href="/sl/differences/" class="inline-block px-3 py-1 bg-slate-100 dark:bg-slate-700 text-xs font-medium text-slate-600 dark:text-slate-300 rounded-full hover:bg-tech-500 hover:text-white transition-colors">
                Razlike
             </a> <a href="/sl/java-string/" class="inline-block px-3 py-1 bg-slate-100 dark:bg-slate-700 text-xs font-medium text-slate-600 dark:text-slate-300 rounded-full hover:bg-tech-500 hover:text-white transition-colors">
                Java String
             </a>
         </div>

         <!-- Interesting Articles Widget -->
		 <div class="mt-8">
			 <div class="mb-4 border-b border-slate-100 dark:border-slate-700 pb-2">
				 <h2 class="text-lg font-bold text-slate-900 dark:text-white uppercase tracking-wide">Zanimivi Članki </h2>
			 </div>
			
			 <div id="owl-carousel-4" class="owl-carousel owl-theme">
				 <!-- ARTICLE -->
				 <article class="relative aspect-video rounded-lg overflow-hidden group mb-2">
					 <div class="absolute inset-0">
						 <img src="https://techcodeview.com/img/history-gk/24/ad-vs-bc.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="AD vs BC" class="w-full h-full object-cover group-hover:scale-105 transition-transform duration-500">
                         <div class="absolute inset-0 bg-gradient-to-t from-black/80 to-transparent"> </div>
					 </div>
					 <div class="absolute bottom-0 left-0 p-4">
						 <div class="text-xs text-tech-400 font-bold mb-1"> <a href="/sl/history-gk/">Zgodovina Gk </a> </div>
						 <h4 class="text-sm font-bold text-white leading-tight"> <a href="/sl/ad-vs-bc">AD vs BC </a> </h4>
					 </div>
				 </article>
				 <!-- /ARTICLE --> <!-- ARTICLE -->
				 <article class="relative aspect-video rounded-lg overflow-hidden group mb-2">
					 <div class="absolute inset-0">
						 <img src="https://techcodeview.com/img/misc/33/java-io-pipedoutputstream-class-in-java.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="Razred Java.io.PipedOutputStream v Javi" class="w-full h-full object-cover group-hover:scale-105 transition-transform duration-500">
                         <div class="absolute inset-0 bg-gradient-to-t from-black/80 to-transparent"> </div>
					 </div>
					 <div class="absolute bottom-0 left-0 p-4">
						 <div class="text-xs text-tech-400 font-bold mb-1"> <a href="/sl/misc/">razno </a> </div>
						 <h4 class="text-sm font-bold text-white leading-tight"> <a href="/sl/java-io-pipedoutputstream-class-in-java">Razred Java.io.PipedOutputStream v Javi </a> </h4>
					 </div>
				 </article>
				 <!-- /ARTICLE --> <!-- ARTICLE -->
				 <article class="relative aspect-video rounded-lg overflow-hidden group mb-2">
					 <div class="absolute inset-0">
						 <img src="https://techcodeview.com/img/python-basics/42/how-install-python-linux.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="Kako namestiti Python na Linux?" class="w-full h-full object-cover group-hover:scale-105 transition-transform duration-500">
                         <div class="absolute inset-0 bg-gradient-to-t from-black/80 to-transparent"> </div>
					 </div>
					 <div class="absolute bottom-0 left-0 p-4">
						 <div class="text-xs text-tech-400 font-bold mb-1"> <a href="/sl/python-basics/">Python-Osnove </a> </div>
						 <h4 class="text-sm font-bold text-white leading-tight"> <a href="/sl/how-install-python-linux">Kako namestiti Python na Linux? </a> </h4>
					 </div>
				 </article>
				 <!-- /ARTICLE --> <!-- ARTICLE -->
				 <article class="relative aspect-video rounded-lg overflow-hidden group mb-2">
					 <div class="absolute inset-0">
						 <img src="https://techcodeview.com/img/amazon/68/trie-data-structure-insert.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="Preizkusite strukturo podatkov | Vstavi in ​​poišči" class="w-full h-full object-cover group-hover:scale-105 transition-transform duration-500">
                         <div class="absolute inset-0 bg-gradient-to-t from-black/80 to-transparent"> </div>
					 </div>
					 <div class="absolute bottom-0 left-0 p-4">
						 <div class="text-xs text-tech-400 font-bold mb-1"> <a href="/sl/amazon/">Amazon </a> </div>
						 <h4 class="text-sm font-bold text-white leading-tight"> <a href="/sl/trie-data-structure-insert">Preizkusite strukturo podatkov | Vstavi in ​​poišči </a> </h4>
					 </div>
				 </article>
				 <!-- /ARTICLE --> <!-- ARTICLE -->
				 <article class="relative aspect-video rounded-lg overflow-hidden group mb-2">
					 <div class="absolute inset-0">
						 <img src="https://techcodeview.com/img/blog/87/what-is-sociological-imagination.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="Kaj je sociološka domišljija? Kako ga lahko uporabite?" class="w-full h-full object-cover group-hover:scale-105 transition-transform duration-500">
                         <div class="absolute inset-0 bg-gradient-to-t from-black/80 to-transparent"> </div>
					 </div>
					 <div class="absolute bottom-0 left-0 p-4">
						 <div class="text-xs text-tech-400 font-bold mb-1"> <a href="/sl/blog/">Blog </a> </div>
						 <h4 class="text-sm font-bold text-white leading-tight"> <a href="/sl/what-is-sociological-imagination-1311206">Kaj je sociološka domišljija? Kako ga lahko uporabite? </a> </h4>
					 </div>
				 </article>
				 <!-- /ARTICLE --> <!-- ARTICLE -->
				 <article class="relative aspect-video rounded-lg overflow-hidden group mb-2">
					 <div class="absolute inset-0">
						 <img src="https://techcodeview.com/img/maven-tutorial/49/how-install-maven-windows.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="Kako namestiti Maven na Windows" class="w-full h-full object-cover group-hover:scale-105 transition-transform duration-500">
                         <div class="absolute inset-0 bg-gradient-to-t from-black/80 to-transparent"> </div>
					 </div>
					 <div class="absolute bottom-0 left-0 p-4">
						 <div class="text-xs text-tech-400 font-bold mb-1"> <a href="/sl/maven-tutorial/">Vadnica Maven </a> </div>
						 <h4 class="text-sm font-bold text-white leading-tight"> <a href="/sl/how-install-maven-windows">Kako namestiti Maven na Windows </a> </h4>
					 </div>
				 </article>
				 <!-- /ARTICLE -->
			 </div>
		 </div>
	 </div>
 </div>
 <!-- /Aside Column -->         </div>
        </div>
     </div>

 <footer class="site-footer">
         <div class="container">
             <span class="footer-links">
                Copyright ©2026 Vse Pravice Pridržane | 
                 <a href="//www.techcodeview.com/lt/">techcodeview.com </a> | 
                 <a href="/disclaimer" rel="nofollow noopener noreferrer" target="_blank">Zavrnitev Odgovornosti </a> | 
                 <a href="/about-us" rel="nofollow noopener noreferrer" target="_blank">O Podjetju </a> | 
                 <a href="/privacy-policy" rel="nofollow noopener noreferrer" target="_blank">Politika Zasebnosti </a> 
             </span>
         </div>
     </footer>
 
     <script type="text/javascript" src="https://techcodeview.com/template/assets/plugins/jquery-1.11.3.min.js"> </script>
     <script type="text/javascript" src="https://techcodeview.com/template/assets/plugins/bootstrap/js/bootstrap.min.js"> </script>    
     <script type="text/javascript" src="https://techcodeview.com/template/assets/js/main.js"> </script>     
	 <script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/11.5.1/highlight.min.js"> </script>
	 <script>
    !function(){"use strict";let t=document.createElement("button");t.id="toTopBtn",t.innerHTML="↑";let e=`
        #toTopBtn {
            position: fixed; bottom: 25px; right: 25px; z-index: 9999; opacity: 0; visibility: hidden; background-color: #0ea5e9; color: white; border: none; border-radius: 8px; width: 50px; height: 50px; font-size: 24px; cursor: pointer; transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
        }
        #toTopBtn:hover { background-color: #0284c7; }
    `,i=document.createElement("style");i.type="text/css",i.innerText=e,document.head.appendChild(i),document.body.appendChild(t),window.addEventListener("scroll",()=>{let e=window.scrollY||document.documentElement.scrollTop;e>300?(t.style.opacity="1",t.style.visibility="visible"):(t.style.opacity="0",t.style.visibility="hidden")}),t.addEventListener("click",()=>{window.scrollTo({top:0,behavior:"smooth"})})}();
     </script>
 </body>
 </html>