Github Pages me Jekyll

From Open Labs Hackerspace
Jump to navigation Jump to search

Github pages është një shërbim i hostimit për faqet statike. Mund të ruani websitet personale, të kompanive apo projekteve nëpërmjet repositroy në Github.[1] Një nga mënyrat se si mund ta ndërtoni një website me Github Pages është duke përdorur themes nga Jekyll. Por jo të gjitha themes nga Jekyll suportohen nga Github. Për të instaluar themes nga Jekyll është e rëndësishme që të keni ruby në kompjuter. Për këtë mënyra më e mirë është të instalohet nëpërmjet RVM (ruby version manager) pasi kështu instalohen dhe të gjitha varësitë dhe modulet e tjera të nevojshme për instalim.
Fillimisht duhet të instalohen çelësa gpg për të verifikuar paketat që instalohen për të garantuar siguri.

$ gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

Instalojmë rvm së bashku me ruby:

$ \curl -sSL https://get.rvm.io | bash -s stable --ruby


Pas instalimit kemi një instruksion për komandën që duhet të përdoret për të bërë run ruby. Kjo komandë është e nevojshme që të jepet sa herë do kemi një repo të re që kërkon mjedis ekzekutimi ruby.

$ source /usr/local/rvm/scripts/rvm

Para së gjithash duhet të krijohet një repository e re nëpërmjet github ose dhe nga terminali. Repository e krijuar duhet te kemi një kopje lokale në kompjuterin tonë, repository është një direktori në kompjuter. Marim një shembull konkret dhe krijojmë një repository nga github. Tek profili në Github, shkojmë tek repository dhe klikojmë New. Vendosini një emër repos. Për të krijuar direkt github pages repo duhet të ketë standartin: - Username.github.io ose Emri_projektit.github.io
Ky është një emër i përkohshëm pasi domain mund të vendoset si të dëshironi nëpërmjet cname. Gjithsesi për të akitvizuar github pages pasi krijohet repo shkohet tek settings dhe tek sesioni për Github Pages kalohet zgjidhet master branch dhe Save.
Marim repon e krijuar lokalisht. Zgjedhim Clone with SSH , kopjojmë linkun nga kutia dhe në terminal japim komandën:

$ git clone git@github.com:sidorelauku/themetest.git

Në kompjuter është krijuar tashmë një direktori e re me emërtimin themetest. Pasi gjendet repo në github e Jekyll theme që duam të instalojmë e shkarkojmë atë lokalisht në kompjuterin tonë. Shembulli që do marim: https://jekynewage.github.io/ dhe repository në github: https://github.com/jekynewage/jekynewage.github.io.
Të gjitha skedarët dhe dosjet që përmban kjo repo duhet të kopjohen në direktorinë themetest të kompjuterit tonë. Do kemi skedarët si më poshtë:
Screenshot from terminal
Do të instalojmë bundler dhe jekyll me komandat e mëposhtme:
Screenshot i instalimeve nga terminali
E nevojshme për këtë theme është ndërtimi i një skedari Gemfile me komandën e mëposhtme:

$ bundle init
-# Writing new Gemfile to /home/sidorela/github/themetest/Gemfile

File i krijuar ka nevojë të editohet pasi duhet të shtojmë gem që na nevojitet github-pages. Si më poshtë nga skedari duhet të komentojmë rreshtin e tretë. Gemfile
Komanda për instalim:

$ bundle install

Komanda për të vënë në punë theme në serverin lokal ku mund ta shikojmë theme në: 127.0.0.1:4000/

$ bundle exec jekyll serve

Pasi u siguruam që theme u instalua duhet ti ngarkojmë këto të dhëna tek repository jonë në github. Do sugjeroja të krijonim një branch (degë) që të mos i hedhim të dhënat direkt në master, në këtë mënyrë mund të anullojmë nëse kemi gabuar diku.

$ git checkout -b newtheme

$ git checkout newtheme
-# kalojmë në newtheme branch

Për të shtuar të dhënat jepen tre komandat e mëposhtme:

$ git add .
-# shton të gjitha skedarët e modifikuar

$ git commit -m "mesazh me ndryshimin që u bë"

$ git push -u origin newtheme

Tashmë shkojmë tek repository në github.

Repository themetest

Zgjedhim Compare & pull request. Pasi të kryeni veprimet që dëshironi, të komentoni apo të caktoni individë për ta rishikuar përpara, butoni "New pull request, Merge pull request dhe në fund konfirmimi. Tashmë theme u instalua me sukses si në demo dhe gjendet këtu.



Referenca