V zadnjem času je prišlo do velikega prehoda na statične spletne strani na področju spletnega razvoja. Statična spletna mesta so enostavnejša za vzdrževanje (brez baz podatkov, brez strežniških skriptov!) In so bolj varna na splošno, saj je edina stvar, ki se uporablja za uporabniške naprave, datoteke HTML, CSS in Javascript. Da bi nekatere vrste spletnih strani, kot so spletni dnevniki in spletna mesta z dokumentacijo, postale statične, postane neposredno pisanje kode v datotekah HTML naporno. Prav tako postane težko vzdrževati mesta z veliko vsebino, še posebej, ko je treba spremeniti nekatere majhne funkcije (kot je oblikovanje).
Tukaj pridejo statični generatorji spletnih mest. Statični generatorji spletnih mest v bistvu pretvorijo (ali združijo) kup različnih datotek virov v eno spletno stran. To pomeni, da je lahko vsebina ločena od kode postavitve, sredstva na mestu, kot so slike, pa je mogoče popolnoma ločiti. Obstaja veliko statičnih generatorjev mest tam, na stotine. Tukaj je seznam 10 najboljših statičnih generatorjev spletnih mest skupaj s svojimi pregledi.
Statični generatorji mest
1. Jekyll
Z eno besedo: King of Static Site Generators . Jekyll je najbolj uporabljani statični generator tam, z največjo dokumentacijo, največjo skupnostjo in najboljšo podporo. Tudi GitHub ponuja vgrajeno podporo za Jekyll na svoji storitvi GitHub Pages. Jekyll se ponaša s poznavanjem bloga. Ustvarjanje statičnega bloga na Jekyllu je zelo enostavno. Zahteva le znanje osnovnega spletnega razvoja. Resnično sije zaradi svojih enostavnih nastavitev za začetnike, hkrati pa ima resnično zmogljive funkcije za tiste, ki jih uporabljajo.
Jekyll vam omogoča ustvarjanje in uporabo različnih vtičnikov, oznak in celo izdelavo lastnih pretvornikov za kateri koli označevalni jezik, ki ga želite uporabljati z Jekyllom. Privzeti označevalni jezik za Jekyll - kot večina drugih - je Markdown. Jekyll ima vtičnike za pripravo manj, Stylus, ustvarjanje oblakov oznak, uporabniške strani za bloge in še veliko več.
Jekyll temelji na Liquid Template Engine podjetja Shopify. Deluje v celoti na Ruby, zato ga je mogoče zlahka namestiti skupaj z odvisnostmi z uporabo rvm ali z uporabo bundlerja. Jekyll ima tudi preproste možnosti selitve, če iščete selitev iz WordPressa, Bloggerja ali katerega koli drugega spletnega mesta. To utripa vsak drugi statični generator spletnega mesta tam, roke navzdol, glede na velikost uporabnika. Dejavno se razvija (zadnja sprememba v GitHub repo, ki prihaja pred enim dnevom, v času pisanja).
Če želite namestiti Jekyll, vnesite ta ukaz v Ruby: gem install jekyll
2. Pelikan
Pelican je statični generator mest, ki temelji na Pythonu. Ponuja objavo vsebine v več jezikih, označevanje kode (skladnje) in enostavno generiranje RSS in Atom virov. Pelican ima lepo izbiro Pluginov, ki so vsi gosti na osrednjem repozitoriju GitHub. Privzeto podpira 3 formate dokumenta: Markdown, reStructuredText in Ascii Doc.
Pelican je povsem edinstven, saj je zgrajen na Pythonu. Podpira zmogljiv Jinja Template Engine, ki temelji na pythonu, kar omogoča enostavno ustvarjanje lepih tem in predlog za Pelican. V zvezi s podporo za migracijo Pelican nudi podporo za WordPress in Tumblr. Namesto običajnih YAML datotek za konfiguracijo, Pelican uporablja datoteko .py z imenom pelicanconf.py za konfiguracijo in nastavitve.
Najlažji način namestitve pelikana je z uporabo pip: pip install pelican
3. Srednji človek
Middleman je statični generator spletnega mesta, ki ga poganja Ruby in sledi enostavnemu pristopu k izgradnji statičnih mest. Ima zmogljive funkcije za vzdrževanje statičnih blogov, kot je preprosta generacija oznak, hitri ukazi za uvrstitev kategoriziranih člankov in paginiranje. Middleman ne ponuja nobene podpore za selitev, zato, če želite, da obstoječi blog postane statičen, Middleman morda ne bo najboljša ideja za zdaj.
Middleman nudi podporo za večino sodobnih orodij za razvoj spletnih strani, kot so HAML, Coffeescript, Sass in ostalo. Privzeti templating engine je eRb, vendar vam omogoča, da preklopite na motor po meri po vaši izbiri. Vsi mehanizmi za predloge, ki omogočajo nagibanje (celoten seznam najdete tukaj), se ukvarjajo s programom Middleman. Izvirno podpira 2 konfiguracijske oblike - YAML, JSON. Za vašo vsebino mora biti tudi vsebina YAML ali JSON, odvisno od oblike konfiguracije, ki jo uporabljate.
Namestite posrednika, ki uporablja Ruby s: gem install middleman
4. Metalsmith
Metalsmith se ponaša s statičnim statičnim generatorjem. To pomeni, da vse logike Metalsmitha obdelujejo plugini. Vse funkcije, ki jih potrebujete, dodajte le zahtevane dodatke. Sama količina vtičnikov, ki jih ponuja Metalsmith, premaga skoraj vsakega konkurenta (morda zapore Jekylla in Docpada). To pomeni, da se lahko Metalsmith uporablja kot več kot samo statični generator mesta.
S svojimi besedami »Ker je vse vtičnik, je osrednja knjižnica pravzaprav le abstrakcija za manipulacijo imenika datotek«. Kaj je to končno dodaja do, je, da uporabljate Metalsmith prav tako enostavno, kot projekt scaffolder, ebook generator, graditi orodje, izdelavo tehnične dokumentacije, in še več (ti nekateri primeri prikazani na spletni strani Metalsmith).
Metalsmith temelji na Node.js in ga lahko namestite z upraviteljem paketov vozlišč z: $ npm install metalsmith
Homepage
5. Harpa
Harp ima vgrajeno predobdelavo za Jade, Markdown, LESS, Sass, Coffeescript, EjS in Stylus brez dodatne konfiguracije. Prav tako vam omogočajo uporabo paradigme postavitev / delnih elementov z Jade in EjS, ki potrebujejo posebne dodatke na drugih statičnih generatorjih mest.
Harpa je zgrajena na Node.Js in lahko deluje z roko v roki s platformo Harp, ki vam omogoča ustvarjanje spletnih strani iz mape Dropbox. Harpa lahko prevede tudi strani za uporabo na straneh GitHub, PhoneGap in Heroku.
Za namestitev Harpa uporabite npm in zaženite: sudo npm install -g harp
Domača stran
6. Octopress
Tehnično je Octopress modificirana Jekyll vilica, vendar je zaradi velike popularnosti vključena na ta seznam. Octopress je v bistvu Jekyll za hekerje (in rails razvijalci). Prilagajanje Octopress postane enostavno, še posebej, če gradite blog, saj Octopress privzeto vključuje veliko vtičnikov, ki jih potrebujete za izvajanje spletnega dnevnika na Jekyllu.
V prilagoditvenem delu je koda Octopress uporabnikom olajšala spreminjanje kode in zapisovanje lastne kode. Glede na to je veliko vtičnikov za Octopress kompatibilno z Jekyllom (in obratno).
Če želite namestiti Octopress,
- Klonirajte GitHub repo
git clone git://github.com/imathis/octopress.git octopress
cd octopress
- Namestite Odvisnosti
gem install bundler
rbenv rehash
# Če uporabljate rbenv, ponovno izvedite, da lahko zaženete ukaz za paketbundle install
- Namestite privzeto temo Octopress
rake install
7. Dokument
Docpad je dinamični statični generator mest. Razširja zmožnosti običajnih statičnih generatorjev spletnih mest s funkcijami, kot so poizvedovanje v bazi podatkov prek mehanizma poizvedb, uvažanje strani iz zunanjih baz podatkov in ponovna izdelava spletne strani ob vsaki zahtevi.
Docpad ima prvotno podporo za predprocesorje, kot so Coffeescript, Stylus in LESS, in uporablja vtičnike za podpiranje motorjev predlog, predprocesorjev in označevalnih jezikov, tako da lahko s potrebnim vtičnikom izberete poljubne kombinacije. Docpad podpira tudi uvoz strani iz zunanjih virov, kot so Tumblr, GitHub in Dropbox prek vtičnikov.
Docpad je bogata s funkcijami, z veliko vtičniki in veliko dokumentacijo. Zgrajen je in uporablja Node.js za interakcije med strežniki.
Samo namestite Docpad z npm: npm install -g npm; npm install -g [email protected]
npm install -g npm; npm install -g [email protected]
Domača stran
8. Hexo
Hexo je lahek statični okvir za blog, ki se ponaša s hitrostjo hitre generacije spletnih mest. Hexo je odličen za blogerje z veliko količino vsebin, ki želijo preprost statični generator. Ponuja preproste možnosti migracije iz drugih spletnih platform, kot so WordPress, Joomla, Jekyll, Octopress in RSS. Od odličnih stvari o Hexo je, da lahko uporabite večino vtičnikov, ki so narejeni za Octopress (in po želji, vtičniki, narejeni za Jekyll z zelo manjšimi spremembami).
Hexo podpira Markdown, YAML za sprednjo zadevo in konfiguracijo. Ohranjanje hitre narave Hexo vam omogoča, da se z enim samim ukazom uporabite na mestih, kot so GitHub, Heroku in Rsync.
Hexo lahko namestite z Node.js: npm install hexo-cli -g
9. Hugo
Hugo je splošni statični generator mest z dobrimi vsestranskimi funkcijami, kot so predloge in delne podpore, paginacija in »taksonomije«, ki je v osnovi edinstven sistem kategorizacije vsebin, ki mu sledi Hugo. To pomeni, da lahko razpise enostavno razvrstite na podlagi ne samo oznak, temveč tudi na kakršenkoli drug način, kot so kategorije ali serije neposredno iz frontmattera. Hugo podpira tri vrste podatkovnih datotek - YAML, JSON in TOML, in vam omogoča, da se odločite, kateri je najbolj primeren za vas.
Namesto vtičnikov uporablja Hugo "kratke kode", ki omogočajo uporabo bogatih vsebin znotraj vašega Markdown-a. Če želite izvedeti, kako to deluje, preberite ta članek. Hugo je napisana v programskem jeziku Go in ponuja ločene namestitvene datoteke za različne platforme na svoji strani GitHub. Če želite natančno vedeti, kako lahko namestite Hugo za uporabo, preberite navodila za namestitev za Hugo.
Če uporabljate Homebrew, lahko Hugo in vse odvisnosti namestite z: brew install hugo
10. Brunch
Brunch se nagiba k spletnim aplikacijam HTML5 namesto v blogih in spletnih mestih, vendar je še vedno zelo preprost za uporabo, hiter statični generator mest. Ne samo, da zbira vso vašo kodo in skripte, temveč lahko tudi skrči (zmanjša) kodo in samodejno komprimira slike. Brunch ima celo vrsto vtičnikov, ki jih lahko uporabite za prilagoditev glede na vaše potrebe. Celoten seznam vtičnikov Brunch najdete tukaj.
Brunch ponuja "okostnjake", ki so v bistvu predloge za zagon vaše spletne strani (ali spletne aplikacije). Ponuja eno od najhitrejših hitrosti prevajanja, preprosto zato, ker Brunch predpomni vse nespremenjene dele vašega projekta in pripravi samo tiste datoteke, ki so revidirane. Brunch je zgrajen na Node.js in ga lahko namestite z npm: npm install -g brunch
Imate kakšen predlog o tem članku? Pustite v komentarjih!