
Grubby ბარე Git-რეპოზიტორიებიდან სტატიკურ საიტებს აგენერირებს
Grubby არის Ruby-ზე დაწერილი სტატიკური საიტების გენერატორი ბარე Git-რეპოზიტორიებისთვის. ის იყენებს Kramdown-ს, მხარს უჭერს ჰუკებზე დაფუძნებულ განახლებებს და ქმნის მთავარ ინდექსსა და ცალკეულ საიტს თითოეული რეპოზიტორიისთვის.
სტატიკური საიტები ბარე Git-რეპოზიტორიებიდან
Grubby არის Ruby-ზე დაწერილი სტატიკური საიტების გენერატორი Git-რეპოზიტორიებისთვის. ის RepoRat-ისგან გაფორკილია და მისით დიდად შთაგონებული. Grubby ქმნის ვებსაიტს თითოეული ბარე Git-რეპოზიტორიისთვის და აწარმოებს მთავარ რეპოზიტორიების ინდექსს.
პროექტს სჭირდება Git, Ruby 3.0 ან უფრო ახალი ვერსია და Kramdown. ის შექმნილია როგორც საკუთარი ხედვით აწყობილი გადაწყვეტა მინიმალური კონფიგურაციით. Kramdown არის ნაგულისხმევი Markdown-პარსერი, თუმცა მისი ჩანაცვლება შესაძლებელია, ოღონდ არ არსებობს გარანტია, რომ ალტერნატიული პარსერები ბაგების გარეშე იმუშავებენ.
კონფიგურაცია და გამოტანა
Grubby ვარაუდობს, რომ ბარე Git-რეპოზიტორიების საქაღალდეები .git გაფართოებით მთავრდება. მისი ძირითადი რეპოზიტორიების ინდექსის გენერაცია შეიძლება სწორად არ მუშაობდეს ამ სახელდების წესის გარეშე. მთავარი კონფიგურაციის ფაილია _config.yml, რომელიც გამოიყენება ძირითადი დომენისა და ბილიკების დასაყენებლად.
ნაგულისხმევად, რეპოზიტორიების ინდექსი მთავარი დირექტორიის ძირშია განთავსებული და index.html ჰქვია. მისი გამოტანილი ფაილის სახელი _config.yml-ში შეიძლება შეიცვალოს. მომხმარებლებს, რომლებსაც გენერირებული საიტების იერსახის ან ნავიგაციის შეცვლა სურთ, შეუძლიათ შეცვალონ style.css, _header.html და _footer.html.
საიტების გენერაცია Git-ჰუკებით
გამოყენების სახელმძღვანელო ვარაუდობს, რომ საქმე გვაქვს NearlyFreeSpeech.NET-ის საზიარო ჰოსტინგთან, თუმცა პროცესი პირად VPS-ზე მსგავსად არის აღწერილი. მის მაგალითში ბარე რეპოზიტორიები ინახება /home/public/git.sitename.org-ში. თავად Grubby კლონირდება პირად დირექტორიაში, ხოლო პროცესი ბარე რეპოზიტორიის შიგნიდან ეშვება.
რეპოზიტორიის hooks საქაღალდეში იქმნება post-update ჰუკი და მას ენიჭება შესრულების უფლება. სკრიპტი აუქმებს GIT_DIR-ს, უშვებს git update-server-info-ს, აკლონირებს მიმდინარე რეპოზიტორიას დროებით დირექტორიაში, აკოპირებს მის description ფაილს და Ruby გენერატორს დროებით checkout-ზე უშვებს. შემდეგ დროებითი დირექტორია იშლება.
ჰუკის გაშვება თითოეული რეპოზიტორიისთვის ცალკე საიტს ქმნის შესაბამის დირექტორიაში და ძირში index.html-ს აახლებს. იგივე გამოძახება post-receive ჰუკშიც შეიძლება მოთავსდეს. გლობალური post-update ჰუკი შეიძლება გამოვიყენოთ პროცესის გასაშვებად იმის გარეშე, რომ ის ყველა რეპოზიტორიაში ჩავდოთ.
მიმდინარე შეზღუდვები
Grubby არ ქმნის ცალკეულ გვერდებს ცალკეული commit-ებისთვის, branch-ებისთვის ან რეპოზიტორიის სხვა ცალკეული ცვლილებებისთვის. მისი გენერირებული შედეგი ორიენტირებულია რეპოზიტორიების საიტებზე და მთავარ რეპოზიტორების ინდექსზე.
SiTech — AI-გაძლიერებული ვებ დეველოპმენტი
ვქმნით სწრაფ, თანამედროვე ვებსაიტებს და AI-ს ვაერთიანებთ ქართული ბიზნესებისთვის. გაქვთ პროექტი ან კითხვა? სიამოვნებით დაგეხმარებით.