Categories
tr

Linux’ta Hugo Static Site Jeneratörü Nasıl Kullanılır

Node. js, Microservices, Kubernetes ve DevOps hakkında derinlemesine makaleler.

Bu makalede:

RisingStack’ta Tam Yığın Geliştirici

Bu makalede, Hugo ile nasıl statik bir site oluşturabileceğinizi ve kolay bir şekilde netlikasyona nasıl sahip olabileceğinizi göstereceğim.

Statik site jeneratörleri nelerdir ve neden birine ihtiyacınız vardır?

Basitçe söylemek gerekirse, statik bir site oluşturucu içeriğinizi alır, bir şablona uygular ve HTML tabanlı bir statik site oluşturur. Bloglar ve açılış sayfaları için mükemmel.

  • Hızlı Dağıtım
  • Güvenli (dinamik içerik yok)
  • Hızlı yükleme süreleri
  • Basit Kullanım
  • Sürüm kontrolü

Peki, statik site jeneratörleri açısından popüler seçenekler nelerdir?

  • Gatsby (React/JS)
  • Hugo (Git)
  • Next. js (React/JS)
  • Jekyll (Ruby)
  • GridSome (Vue/JS)

Bunlar GitHub’daki en yıldızlı projeler. Hugo’yu daha önce okudum ve denemek eğlenceli görünüyordu, bu yüzden Hugo’ya bağlı kalacağım.

Hugo nedir?

Resmi web sitesi, Hugo’nun dünyanın en hızlı statik web sitesi motoru olduğunu belirtiyor.

Gerçekten hızlı olduğunu doğrulayabiliriz. Hugo Golang’da yazılmıştır. Ayrıca zengin bir tema sistemi ile birlikte gelir ve bina web sitelerini tekrar eğlenceli hale getirmeyi amaçlamaktadır.

Bakalım burada ne var.

Hugo’nun yüklenmesi

Kurulumunuzu doğrulamak için:

Hugo kullanma

Yeni bir proje oluşturun:

Hızlı bir başlangıç için bir tema ekleyin. Temaları burada bulabilirsiniz.

Temayı yapılandırma dosyasına ekleyin.

Biraz içerik ekleyin.

Bunun gibi bir şeye benzemeli:

Ön madde ayrıntılarına yazabileceğiniz birçok seçenek (etiket, açıklama, kategoriler, yazar) vardır.

Ayrıntılar hakkında daha fazla bilgiyi buradan edinebilirsiniz.

Ne yaptığımıza bir göz atın:

Hugo’nun dizin yapısını anlamak

  • Arketipler: Arketipler, önceden yapılandırılmış ön madde (tarih, başlık, taslak) içeren içerik şablonu dosyalarıdır. Özel önceden yapılandırılmış ön madde alanlarına sahip yeni arketipler oluşturabilirsiniz.
  • Varlıklar: Varlık klasörü, Hugo Pipes tarafından işlenen tüm dosyaları saklar.(örn. CSS/SASS dosyaları) Bu dizin varsayılan olarak oluşturulmaz.
  • config. toml: hugo, varsayılan site yapılandırma dosyası olarak config. toml, config. yaml veya config. json (site kökünde bulunursa) kullanır. Tek bir yapılandırma dosyası yerine, farklı ortamları ayırmak için bir yapılandırma dizini de kullanabilirsiniz.
  • İçerik: Burası tüm içerik dosyalarının yaşadığı yerdir. Üst düzey klasörler içerik bölümleri olarak sayılır. DevOps ve Nodejs bölümleriniz varsa, içerik/devOps/first-post. md ve content/nodejs/ikinci-post. md dizinlere sahip olacaksınız.
  • Veri: Bu dizin, web sitenizi oluştururken Hugo tarafından kullanılabilecek yapılandırma dosyalarını depolamak için kullanılır.
  • Düzenler: Şablonları . html dosyaları şeklinde depolar. Daha fazla bilgi için stil bölümüne bakın.
  • Statik: Tüm statik içeriği depolar: resimler, CSS, JavaScript, vb. Hugo sitenizi oluşturduğunda, statik dizininizdeki tüm varlıklar olduğu gibi kopyalanır.
  • Temalar: Seçtiğiniz Hugo teması.

Statik sitemizi şekillendirme

Unutmayın, daha önce bir tema uyguladık. Şimdi, temalar klasörünü incelersek, stil dosyalarını görebiliriz.

Bu dosyaları doğrudan düzenlemeyin.

Bunun yerine, tema dizini yapısını kök düzenler klasörüne yansıtacağız.

Diyelim ki temaya özel CSS uygulamak istiyorum.

Temada bazı HTML şablonları (header. html, footer. html) bulabileceğimiz bir temalar/tema adı/mizanpaj/kısmi klasör vardır. Şimdi header. html şablonunu düzenleyeceğiz, bu nedenle içeriği bu dosyadan mizanpaj/kısmi/header. html’ye kopyalayın ve tema gibi aynı dizin yapısını kök düzenleri klasörüne oluşturmaya dikkat edin.

Özel bir CSS dosyası oluşturun: static/css/custom-style. css.

Config. toml adresine özel CSS dosyasını ekleyin:

Bu kodu etiketin içine ekleyin:

Artık temanız tarafından uygulanan CSS sınıflarının üzerine yazabilirsiniz.

Netleştirmek için statik sitemizi dağıtmak

Statik bir sitenin avantajlarından biri, kolayca dağıtabilmenizdir. NetLify veya AWS S3, statik bir siteye ev sahipliği yapmak için çok iyi bir seçimdir. Netleştirme için nasıl konuşlandırılacağını görelim.

  • Hesap Netlikleştir
  • Github Deposu

Netlify’de Ne Yapmalı

Bir git deposu oluştur

Aşağıdaki içerikle projenizin köküne bir NetLify. toml dosyası oluşturun.

Şimdi, kodunuzu GitHub’a iterseniz, NetLify siteyi dağıtacak ve bloglama başlayacaktır.

NetLify’ı ve Git Depo’nu Bağlayın

İnşa et ve dağıt

Daha fazla bilgi için Hugo Resmi NetLify barındırma ayrıntılarına da göz atabilirsiniz.

AWS S3 + CI

Statik sitemizi barındıracak bir S3 kovası oluşturmak için TerraForm’u kullanacağız. Bir AWS hesabınız olduğunu varsayıyorum.

Projenize bir s3_bucket. tf dosyası oluşturun ve aşağıdaki içeriği ekleyin:

Sonra, Folllow şu adımlar:

Terraform Init’i yürüt

Aşağıdaki kod snippet’ini ekleyin

  • Terraform’u yürütmek başvurun

Bu, statik siteyi barındıracak halka açık bir AWS S3 kovası oluşturacaktır.

Şimdi statik siteyi kendi başımıza inşa etmekle ilgilenmeliyiz: bir CI aracına ihtiyacımız var.

Sürekli entegrasyon için Circleci kurmak

RisingStack’te genellikle bu tür görevler için Circleci kullanıyoruz. Yapım sürecini kuralım.

Project Root’ta aşağıdaki dosyaları oluşturun: . Circleci/config. yml

Aşağıdaki kodu config. yml’ye uygulayın:

Not: AWS kimlik bilgileri eklemek için, Circleci’deki izinler bölümü altındaki AWS izinler bağlantısını bulun.

Hugo ile ilerlemek

Hugo bilmeniz gereken çok daha fazlasını sunuyor. Resmi belgeleri buradan keşfedin.

LTV Co. Mühendislik Blogu

4 gün önce · 5 dk okuma

Bu yazı başlangıçta kendi blog sitemizde yayınlandı, bunun gibi daha fazla gönderi görmek için kontrol edin!

  • Hugo kim
  • Yeni bir CMS: Forestry. io
  • Ek Performans
  • Nihai sonuçlar

Önceki bir yazıda detaylandırdığımız acı verici ama gerekli bir süreç olan WordPress ile ayrıldık. Ama bu sonlar hakkında bir hikaye değil, yeni başlangıçlarla ilgili bir hikaye – yeni CM’lerimiz Hugo ile. Her zaman orada sizi bekleyen daha iyi bir şey olduğunu söylüyorlar ve bizim için Hugo’ydu.

Hugo, gidip yazılmış statik bir site jeneratörü (SSG). Web siteleri, düzenlendiklerinden daha sık görüntülenir ve Hugo, her bir kullanıcı isteği için HTML oluşturan WordPress gibi dinamik sistemlerin aksine, içerik oluşturulduğunda veya güncellendiğinde sayfaları oluşturarak bundan yararlanır. HTTP sunucunuz sayfanızın statik bir sürümünü sunduğundan, bir kullanıcının web sitenize her erişmek istediğinde isteğe bağlı olarak oluşturmanıza gerek yoktur. Sonuç: daha iyi performans. Hugo’yu koruyan geliştiriciler ortalama bir sitenin bir saniyeden daha kısa bir sürede inşa edileceğini iddia ediyor!

Hugo, Markdown dosyalarını alır ve şablonları kullanarak HTML dosyaları oluşturur. Markdown, düz metin belgelerine biçimlendirme öğeleri eklemek için kullanılabilecek hafif bir işaretleme dilidir. Metni kalınlaştırmak için başlıklar için # ekleyebilir veya iki yıldız işaretli kelimeleri sarabiliriz. Örneğin, bu bölüm markdown şu şekilde başlar:

İnsanların WordPress hakkında sevdiği şeylerden biri, kullanım kolaylığı metin düzenleyicisidir. Markdown Wysiwyg değil, yani farklı stilleri görüntülemek için metninize sözdizimini eklemeniz gerektiği anlamına gelir. Öğrenme Markdown zor değil ve günümüzde, bu dili kullanan birçok mesajlaşma uygulaması (WhatsApp, Telegram ve Slack, birkaç isim) vardır, ancak bu süreç, özellikle teknik bilgisi olmayan insanlar için sıkıcı olabilir. O zaman neden yerleşik bir metin düzenleyicisi gibi iyi bir özelliği kaldırırız? Ormancılık bizim çözümümüzdü.

Forestry. io, Hugo, Jekyll veya Gatsby gibi SSG’ler için oluşturulan bir İçerik Yönetim Sistemi (CMS). CMS, kullanıcıların web siteleri için içerik oluşturmasına ve yönetmelerine yardımcı olan bir uygulamadır. Bu, teknik bilgisi olmayan insanlar için son derece yararlıdır. Forestry. io olmadan, her blog katılımcısının projeyi depomuzdan indirmesi ve makalelerini bir işaretleme dili kullanarak “kodlamaya” başlaması gerekir. Bu sürecin mümkün olduğunca basit olmasını istiyoruz, böylece editörler içerik oluşturmaya odaklanabilir. Forestry. io, kullanıcıların taslakları yazmasına, kaydetmesine ve önizlemesine olanak tanıyan tanıdık bir WYSIWYG arayüzüne sahiptir.

Mühendislerimiz için Forestry. io’nun ana satış noktası, tamamen Git tarafından desteklenmesidir. Tüm içerik ve kod, Git ile sürüm kontrollüdür ve bilgileri saklamak için bir veritabanına veya üçüncü taraf uygulamasına gerek kalmadan GitHub’a kaydedilir. Bu, sürekli entegrasyon sürecini kolaylaştırır, çünkü ihtiyacımız olan tüm dosyalar bir git deposunda saklanır. Editörler, Markdown dosyalarını oluşturmak için Forestry. io arayüzünü kullanabilir ve bunlar Hugo’nun daha sonra tüm uygulamayı oluşturmak için kullandığı içerik olarak saklanır. Aynı zamanda, geliştiriciler şablonların herhangi birinde değişiklik yapabilir veya web sitesine yeni özellikler ekleyebilir ve bunları aynı depoya itebilir. Aşağıdaki şema süreci göstermeye yardımcı olur:

Daha önce bir CSS çerçevesi kullandık ve üçüncü taraf JavaScript kitaplıklarından yararlandık, bu yüzden yapılabilecek iyileştirmeler olup olmadığını görmek için bunlara bir göz atmak istedik. CSS’miz durumunda, Bootstrap’ın gereksiz işlevlerin kullanımı ile bizi yavaşlatan JQuery’ye yüksek bir bağımlılıkla geldiğini bulduk. Ayrıca, Kütüphane ile gelecekteki güvenlik açıklarının olasılığını da fark ettik ve bu tür güvenlik açıklarını önlemek için kütüphaneyi güncel tutmak zorunda kaldık. W3Tech’in bir raporu, JQuery’nin tüm web sitelerinin% 73’ü tarafından kullanıldığını ve daha da önemlisi, bu web sitelerinin% 81’inin artık JQuery ekibi tarafından desteklenmeyen bir sürüm olan sürüm 1 kullandığını buldu. Snyk’in bir başka raporu, JQuery için bulunan güvenlik açıklarının% 50’sinden fazlasının bu ilk versiyondan olduğunu gösterdi. Yine de web sitelerinin çoğunluğu JQuery’yi eski bir bileşen olarak kullanıyor ve bu da kötü niyetli bilgisayar korsanları için daha kolay bir hedef haline getiriyor.

JQuery kullanarak karşılaştığımız başka bir sorun: Paket boyutu nedeniyle sayfalarımızın çok daha yavaş yüklenmesine neden oldu ve bu da alanımızın genel SEO puanını etkiledi.

JQuery kullanmaya devam etmek için zorlayıcı bir neden yoktu, bu yüzden mola verdik. Karar verildikten sonra, kullandığımız mevcut jQuery işlevlerinin vanilya js uygulamasını aramak için YouMightnotneedJquery. com gibi siteleri kullandık. Kullanışlı jQuery seçicilerini tutmak istedik ve bunun için, DOM’u manipüle etmek için harika olan jQuery tarzı sözdizimi ile bir jQuery alternatifi olan Cash’i kullandık. 271 kb’de jquery ile karşılaştırıldığında 32 kb sıkıştırılmamış daha hafif.

JQuery’ye olan bağımlılığımızı daha da kaldırmak için, JavaScript’e bağımlılığı olmayan FlexBox’a dayanan bir CSS çerçevesi olan Bulma Framework’ü kullanmaya başladık.

Purgecss, CSS’yi en aza indirmemize yardımcı olmak için uyguladığımız başka bir araçtı. Bulma modüler olmasına ve paketinizde hangi bileşenleri istediğiniz bileşenleri seçmenize izin verse de, yine de hiç kullanmadığımız ekstra sınıflar bulduk. Purgecss, içerik dosyalarımızdan kullanılmayan sınıfları tanımlamak için harikaydı ve CSS ayak izimizi daha da azaltmamıza ve sonuç olarak sayfalarımızı daha hızlı yüklememize yardımcı oldu.

WordPress tasarımı için CSS boyutu, Hugo ile mevcut boyutumuzun 3 katından fazla 57. 1kb civarındaydı. Bootstrap 4’ün kendisi 20KB Gzpiped, Hugo’daki tüm blog için CSS, kullandığımız tüm Bulma bileşenleri de dahil olmak üzere 16. 6 kb dosyadır.

LTV’de her gün iyileştirmeler yapmayı taahhüt ediyoruz. Her zaman en iyi araçları, en iyi çerçeveleri ve en iyi insanları arıyoruz. Her yeni proje geçmiş üzerinde düşünmek ve neyin yapıldığını ve neyin geliştirilebileceğini görmek için bir fırsattır. Eski bir projeyi yeni bir dilde yeniden yapmak ya da tamamen yeni bir proje üzerinde çalışmak için çalışsanız da, genellikle bu farkındalığa ulaşacaksınız: “Hey, bunu daha önce yaptım.”Kendimi bu durumda ne zaman bulursam, kendime daha önce yaptığımızı geliştiren bir çözüm bulabileceğimi soruyorum.

Bizimle çalışmak ister misiniz? Kariyer sayfamıza bir göz atın ve ekibimizin bir parçası olmak istiyorsanız bize ulaşın!

Hugo’nun inşaat web sitelerini nasıl eğlenceli hale getirdiğini öğrenin.

Şimdi abone olun

Her hafta gelen kutunuzda öne çıkan özellikleri alın.

En son maceralarınızı çeşitli yazılım çerçeveleriyle paylaşmak için bir blog başlatmak ister misiniz? Kötü belgelenmiş ve bunu düzeltmek isteyen bir projeyi seviyor musunuz? Yoksa sadece kişisel bir web sitesi oluşturmak mı istiyorsunuz?

Bir blog başlatmak isteyen birçok kişinin önemli bir uyarı vardır: bir içerik yönetim sistemi (CMS) veya öğrenme zamanı hakkında bilgi eksikliği. Peki ya yeni bir CMS öğrenmek, temel bir web sitesi kurma, şekillendirme ve saldırganlara karşı sertleştirme günleri harcamanıza gerek kalmadığını söylersem ne olur? Ya 30 dakika içinde bir blog oluşturabileceğinizi, Hugo ile bitirmeye başlayabileceğinizi söylesem?

hugo_1. png

Hugo, Go’da yazılmış statik bir site jeneratörüdür. Neden Hugo’yu kullan, soruyorsun?

  • Veritabanı, izin gerektiren eklentiler ve sunucunuzda çalışan bir platform olmadığından, güvenlik endişesi eklenmez.
  • Blog, bir dizi statik web sitesidir, bu da yıldırım-hızlı hizmet süresi anlamına gelir. Ayrıca, tüm sayfalar dağıtım zamanında oluşturulur, böylece sunucunuzun yükü minimumdur.
  • Sürüm kontrolü kolaydır. Bazı CMS platformları kendi sürüm kontrol sistemlerini (VCS) kullanır veya GIT’i arayüzlerine entegre eder. Hugo ile, tüm kaynak dosyalarınız seçtiğiniz VC’lerde yerel olarak yaşayabilir.
  • Red Hat geliştiricileri blog
  • Hile Sayfaları Programlama
  • Ücretsiz deneyin: Red Hat Learning Aboneliği
  • E-Kitap: Bash ile Programlamaya Giriş
  • İndirilebilir Kılavuz: 7 Temel Pypi Kütüphanesi ve Nasıl Kullanılacağı
  • IDE nedir?

Dakikalar 0-5: Hugo’yu indirin ve bir site oluşturun

Hugo’nun kurulumunu basitleştirmek için ikili dosyayı indirin. Böyle yaparak:

  1. İşletim sisteminiz için uygun arşivi indirin.
  2. Arşivi seçtiğiniz bir dizine açın, örneğin c: \ hugo_dir veya
  • Unix’te: $ /[Hugo sürümü]
  • Windows: $ \ [Hugo. exe sürümü] örneğin, C: \ hugo_dir \ hugo sürümü.

Basitlik için, Hugo ikili (ikili dahil) yoluna Hugo olarak atıfta bulunacağım. Örneğin, Hugo sürümü bilgisayarınızdaki c: \ hugo_dir \ hugo sürümüne dönüşür.

Bir hata mesajı alırsanız, yanlış sürümü indirmiş olabilirsiniz. Ayrıca Hugo’yu kurmanın birçok olası yolu olduğunu unutmayın. Daha fazla bilgi için resmi belgelere bakın. İdeal olarak, Hugo İkili’ni yola koydunuz. Bu hızlı başlangıç için, Hugo Binary’nin tam yolunu kullanmak iyidir.

  1. Blogunuz olacak yeni bir site oluşturun: Hugo New Site Awesome-Blog.
  2. Yeni oluşturulan dizine geçin: CD Awesome-Blog.

Tebrikler! Yeni blogunuzu yeni oluşturdunuz.

Dakika 5-10: Blogunuza Tema

Hugo ile blogunuzu kendiniz tema edebilir veya güzel, hazır temalardan birini kullanabilirsiniz. Kiera’yı seçtim çünkü lezzetli basit. Temayı yüklemek için:

  1. Temalar Dizini değiştirin: CD temaları.
  2. Temanızı klonlayın: git clone https://github. com/avianto/hugo-kiera kiera . Git kurulu değilse:
    • . zip dosyasını GitHub’dan indirin.
    • Sıkıştırılmış dosyayı sitenizin temalar dizinine çıkarın.
    • Dizini hugo-kiera-master’dan kiera olarak yeniden adlandırın.
  3. Dizini harika blog düzeyine değiştirin: cd harika blog.
  4. Temayı etkinleştirin. Temalar (Kiera dahil) genellikle örnek içerik ve örnek ayarlar dosyası içeren exampleSite adlı bir dizinle gelir. Kiera’yı etkinleştirmek için sağlanan config. toml dosyasını blog’unuza kopyalayın:
    • Unix’te: cp theme/kiera/exampleSite/config. toml .
    • Windows’ta: theme\kiera\exampleSite\config. toml dosyasını kopyalayın.
    • Eski config. toml dosyasını geçersiz kılmak için Evet’i onaylayın
  5. (İsteğe bağlı) Temanın etkinleştirildiğini görsel olarak doğrulamak için sunucunuzu başlatabilirsiniz: hugo serve r-D ve web tarayıcınızda http://localhost:1313’e erişin. Blogunuzu inceledikten sonra, komut satırında Ctrl+C tuşlarına basarak sunucuyu kapatabilirsiniz. Blogunuz boş ama bir yere varıyoruz. Bunun gibi bir şeye benzemeli:

hugo_2. png

Blogunuzun temasını yeni oluşturdunuz! Resmi Hugo temaları sitesinde yüzlerce güzel tema bulabilirsiniz.

10-20 Dakika: Blogunuza içerik ekleyin

Bir kase en çok boş olduğunda faydalı olurken, bir blog için durum böyle değil. Bu adımda blogunuza içerik ekleyeceksiniz. Hugo ve Kiera teması bu süreci basitleştirir. İlk gönderinizi eklemek için:

  1. Makale arketipleri, içeriğiniz için şablonlardır.
  2. Blog sitenize tema arketipleri ekleyin:
    • Unix’te: cp theme/kiera/archetypes/* arketipler/
    • Windows’ta: theme\kiera\archetypes\* arketipleri\ kopyalayın
    • default. md modelini geçersiz kılmak için Evet’i onaylayın
  3. Blog gönderileriniz için yeni bir dizin oluşturun:
    • Unix’te: mkdir içeriği/yazıları
    • Windows’ta: mkdir content\posts
  4. Gönderinizi oluşturmak için Hugo’yu kullanın:
    • Unix’te: hugo new posts/first-post. md
    • Windows’ta: hugo new posts\first-post. md
  5. Yeni gönderiyi seçtiğiniz bir metin düzenleyicide açın:
    • Unix’te: gedit content/posts/first-post. md
    • Windows’ta: notepad content\posts\first-post. md

Bu noktada, vahşi gidebilirsiniz. Gönderinizin iki bölümden oluştuğuna dikkat edin. İlki +++ ile ayrılır. Gönderiniz hakkında başlığı gibi meta veriler içerir. Hugo’da buna ön madde denir. Ön maddeden sonra makale başlar. İlk gönderiyi oluştur:

Şimdi tek yapmanız gereken sunucuyu başlatmak: hugo serve r-D . Tarayıcınızı açın ve şunu girin: http://localhost:1313/ .

hugo_3. png

Dakika 20-30: Sitenizi düzenleyin

Yaptığımız şey harika, ancak hala düzeltilmesi gereken birkaç küçük sorun var. Örneğin, sitenizi adlandırmak basittir:

Yayınlanma tarihi: 15 Ağustos 2017 |Son güncelleme: 11 Eylül 2017 |ağ

Hafta sonu blogumu GitHub’dan GitLab’a taşıdım. Artık GitLab üzerinde, bir NodeJS Docker görüntüsü alan, NPM yoluyla Hugo, UglifyCSS ve HTMLMinifier’ı indiren, sayfaları oluşturup küçülten ve son olarak her Git birleştirme işleminde GitLab Sayfalarında yayınlayan tam otomatik bir CI derlemem var.

Motivasyon

Hugo Static Site Generator’ı bir yılı aşkın süredir kullanıyorum. Başlangıçta blogum Google Firebase’de barındırılıyordu. Kısa bir süre sonra GitHub Sayfalarına taşındım ve bir yılı aşkın süredir kullanıyorum. Firebase veya GitHub olsun, ikisi de benim için çok iyi çalıştı.

Çalışıyorlarsa, bozuk olmayanı neden düzeltelim?

TL; DR, işleri otomatikleştirmek için.

Tam açıklama için, yeni bir blog gönderisi oluşturma ve yayınlama konusundaki eski işlerimi açıklayarak başlayayım:

  1. İlk olarak, Markdown’da Visual Studio Code kullanarak bir blog yazısı oluşturuyorum.
  2. Ayrıca, Markdown’ı görüntülenmeye hazır anında HTML’ye çevireceğinden, oluştururken Hugo’yu çalıştırın. Bir toplu iş dosyasında tam komut satırına sahiptim.
  3. Blogumun kaynak dosyaları daha sonra Google Cloud Source Repositories’deki bir Git deposuyla senkronize edilir.
  4. Yayınlamaya hazır olduğumda, ortak klasöre konuşlandırmak için Hugo’yu parametreler olmadan yürütüyorum. Ardından, CSS ve HTML dosyalarını küçültün. Bu komutlar ayrıca bir toplu iş dosyasındaydı.
  5. Ardından, ortak klasörü blogumun GitHub’da yayınlanan içeriğinin yerel bir Git klonuna tek yönlü olarak yansıtmak için açık kaynaklı bir klasör eşitleme aracı olan Free File Sync’i kullanıyorum. Son olarak, taahhüt edin ve uzak ana şubeye gönderin.

Hafta sonunu uçtan uca süreci elimden geldiğince iyileştirerek geçirdim.

Ne, neden ve nasıl otomatikleştirilir?

Hem kaynak hem de yayınlanmış içerik için bir Git deposu

Aşağıdaki tablo, ücretsiz kullanım seçenekleri arasındaki karşılaştırmayı göstermektedir:

Google Bulut Deposu GitHub Sayfaları GitLab Sayfaları
Depolamak 1 GB 1 GB 10GB
Aylık bant genişliği 10GB 100GB Sınırsız
özel depo Evet No Evet
Genel depo No Evet Evet
Statik site oluşturucu No Jekyll Hiç*

* CI derlemeleri için Docker görüntülerinin kullanılmasıyla mümkündür. GitLab Pages tarafından barındırılan örnek web sitelerine bakın.

Hangi Docker görüntüsünü kullanmalı ve neden

3 farklı GitLab CI yapılandırmasını karşılaştırdım. Yapılandırmalar YAML biçimindedir:

  1. GitLab örneği
  2. Hugo’nun örneği
  3. Benim yaklaşımım

GitLab örneği

GitLab’ın örneği çok küçük bir Docker görüntüsü kullanıyor, Alpine Linux. Boyut sadece 5MB.

Anahtar satırlar aşağıdaki gibidir:

Değişkenlerin yapılandırılması gerekir. Onlar, Hugo sürümünün SHA256 karması olan indirilecek sürüm ve Hugo_sha olan Hugo_Version’dır.

Sadece çıplak minimum ihtiyacınız varsa sizi devam ettirecektir.

Hugo’nun örneği

Hugo’nun örneği, versiyonu ve Hugo sürümlerinin SHA256 sağlama toplamını güncellemeye gerek kalmadan YAML dosyasını koruma ihtiyacını ortadan kaldırıyor. Docker görüntüsünde zaten Hugo var.

Bu yaklaşım bulabildiğim en basit seçenektir.

Benim yaklaşımım

NODEJS Alpine Docker görüntüsünü kullanmak için . gitlab-ci. yml’imi kuruyorum.

Kuşkusuz diğer iki seçenekten daha karmaşık ama nedenler var.

Hugo Binary’nin yanı sıra CSS ve HTML minifikatörlerini yüklemek için Nodejs NPM paket yöneticisinden yararlandım. Hugo’nun NPM’deki versiyonu biraz modası geçmiş ama bu benim için iyi. Minifatörler, Hugo bunları oluşturduktan sonra dosyaları küçültmek için kullanılır.

Yukarıdaki YAML dosyasından, GitLab CI’nin arayacağı derleme komutu NPM Run Build’tır ve bu da paketimde bulunan komutu çalıştırır. Sonraki bölümü okuyun.

Not: Bu Docker görüntüsü Python içermez. Pygments’ın çalışması için python gereklidir. Pigmentleri duymadıysanız, sunucu tarafı sözdizimi vurgulayıcıdır. Blogumun bağımlılıklarını azaltmak için bunu istemci tarafı alternatifi olan FireSJS ile değiştirmeyi seçtim.

Package. json dosyam

Aşağıda NPM’nin anladığı bir JSON dosyası var. Hugo kaynak klasörünüzün köküne yerleştirilir:

  1. Markdown dosyalarını oluştururken, Hugo’nun kaydedildiği anda dosya oluşturabilmesi için NPM Start’ı çalıştırın.
  2. Hugo kullanarak dosya oluşturmak için npm run oluşturu oluşturun ve ardından UgifyCSS ve HTMLMinifier kullanarak bunları minnettar. Yapım sürecini test etmedikçe bu komutun kendiniz yürütülmesi gerekmez.

GitLab CI tetikleme

Geriye kalan tek şey, bunları Hugo kaynak dosyalarıyla birlikte GitLab’daki Master Branch’e itiyor. CI, GitLab’a Git Push’u gerçekleştirdikten sonra otomatik olarak tetiklenir. Yapı başarısız olursa, hemen hemen bir e-posta bildirimi alırsınız. Aksi takdirde, web sitesi yaklaşık bir dakika içinde yayınlanmalıdır.

Ek bilgi

Gitlab sayfaları altındaki özel alanlarda SSL/TLS kurulumunu başlatma kılavuzunu bulabilirsiniz.

Giriş

GitHub README’ye göre Hugo, Go’da yazılmış statik bir HTML ve CSS web sitesi oluşturucusudur. Hız, kullanım kolaylığı ve yapılandırılabilirlik için optimize edilmiştir. Hugo, içeriği ve şablonları olan bir dizini alır ve bunları eksiksiz bir HTML web sitesine dönüştürür. Hugo, meta veriler için ön madde içeren Markdown dosyalarına güvenir ve Hugo’yu herhangi bir dizinden çalıştırabilirsiniz. Bu, ayrıcalıklı bir hesabınızın olmadığı paylaşılan ana bilgisayarlar ve diğer sistemler için iyi çalışır. Hugo, orta büyüklükteki tipik bir web sitesini saniyenin çok kısa bir bölümünde oluşturur. İyi bir kural, her bir içerik parçasının yaklaşık 1 milisaniyede oluşturulmasıdır. Hugo, bloglar, taklalar ve dokümanlar dahil her türlü web sitesi için iyi çalışacak şekilde tasarlanmıştır.

İlk başta, nasıl statik bir web sitesi oluşturacağımı bile bilmiyordum. Dotfiles ID’deki kişiler, Jekyll, Hexo veya Hugo gibi SSG (Static Site Generator) kullanarak bir web sitesi oluşturmamı önerdi. Programlama dili bilgim yoktu, bu yüzden zor olacağından endişelendim. Ama güzel bir tema listesi gördükten sonra onu denemek için motive oldum. Bundan sonra, popüler SSG’den bahsettim. büyük dörtlü

*. deb paketini dağıttığı için Hugo ile ilgileniyordum. Debian kullanıyorum, bu yüzden kurmamı kolaylaştırıyor. Ve daha da iyisi, Go derleyicisi bile herhangi bir bağımlılık çekmez. Bu yüzden kurulumumu basit tutuyor. Diğer SSG, anlamadığım, node. js, ruby ve anlamadığım diğer şeyler gibi pek çok şeyi kurması gereken şeylere dayanıyor. Onları öğrenecek zamanım yok. Hugo benim için mükemmel bir SSG. Kasıtsız avantaj, Hugo web sitesi oluşturmada gerçekten hızlı.

Kurulum

Aslında, Stretch’ten beri Debian deposunda mevcut. Ancak paket versiyonu çok eski. Hugo temasının çoğu, Hugo’nun daha yüksek sürümünü gerektirir. Bu yüzden, *. deb biçimindeki daha yüksek paket sürümünü almak için GitHub’daki Sürüm Sayfasına gittim. Paketin repo dışında kurulması aslında önerilmez, ancak Hugo herhangi bir bağımlılık çekmez. Yani, bir şeyler ters giderse, sadece Hugo’yu kaldırmam gerekiyor, diğer paketler etkilenmeyecek. Neyse ki, şimdiye kadar yandan yüklenen Hugo ile hiçbir sorun yaşamadım. İndirdikten sonra dpkg kullanarak kurdum.

Web Sitesi Oluşturma

GitHub’da İki Depo Oluşturma

Blogumu GitHub’da barındırdım. Bu yüzden GitHub’da iki depo yaptım. Oluşturulan html’yi barındırmak için bir tane. Depoyu addy-dclxvi/addy-dclxvi. github. io olarak adlandırdım. https:// . github. io adresinden anında erişilebilir olması için . github. io olması gerekiyordu. Ve Açık Kaynak ruhunu korumak için kaynak kodunu koymak için bir tane daha. Depoyu basitçe addy-dclxvi/blog olarak adlandırdım.

Boş Depoyu Klonlama

Oluşturulan html deposunun ortak klasöre yerleştirilmesi gerekiyordu. Resmi Hugo rehberi benden git alt modülleri oluşturmamı istedi ama ben yapmadım. İşlerin karmaşık olmasını istemedim, basitlik istiyorum. Sonra Hugo’ya yeni bir web sitesi oluşturmasını söyledim.

Ardından Hugo Themes’tan bir tema seçti.

Xianmin’den Jane ile ilgilenmiştim. Ben de kurdum.

Giriş

Hugo, yıldırım hızında işleme hızına ve mükemmel kullanım kolaylığına sahip statik bir site üreticisidir. İçerik odaklı tüm özellikleri sayesinde, ortamı oluşturmak yerine her zaman içerik oluşturmaya odaklanabilirsiniz:

  • Hugo ile, can sıkıcı bağımlılıklar veya veritabanları olmadan birkaç dakika içinde her yerde çalışan statik bir site oluşturabilirsiniz.
  • En uygun yazı stili olan Markdown ile içeriklerinizi oluşturabilir, web üzerinde yaptığınız değişiklikleri anında görebilirsiniz.
  • Ayrıca, Hugo’nun varlıklı tema deposundan ve hızla büyüyen topluluğundan en iyi şekilde yararlanabilirsiniz.

Bu eğitimde, size CentOS tabanlı bir Vultr LEMP sunucu örneğinde statik bir blog sitesi oluşturmak için Hugo’yu nasıl kuracağınızı ve kullanacağınızı göstereceğim.

Önkoşullar

Sudo izinlerine sahip root olmayan bir kullanıcı olarak örneğinize giriş yapın. Bu makalede böyle bir kullanıcının nasıl oluşturulacağını görün.

1. Adım: Hugo programını kurun

Hugo, neredeyse tüm popüler platformlara kurulabilir. CentOS için, bir . tar. gz arşivindeki en son program dosyasını indirmeniz ve onu uygun bir konuma açmanız yeterlidir. Yazma sırasında en son sürüm 0. 15’tir.

Kurulumunuzu aşağıdaki komutla test edin:

2. Adım: Sitenizi oluşturun

Hugo ile sitenizi sunucunuzdaki herhangi bir klasörden oluşturabilirsiniz. Burada, ana dizinimin altındaki sitem/ dizininde bir site oluşturdum.

Sitenin mimarisini görmek için aşağıdaki komutları çalıştırın:

Gördüğünüz gibi, sitenin mevcut mimarisi şuna benzer:

Oluşturulacak diğer iki dizinle, theme/ ve public/ ile, bir Hugo sitesinin tüm mimarisi derli toplu ama kapsamlıdır.

Bir başlangıç olarak, içeriğinizin content/ dizininde saklanması gerektiğini bilin.

3. Adım: Hugo deposundan temaları yükleyin

Hugo deposundaki tüm temaları yüklemek için aşağıdaki komutları çalıştırın. Bunlar, site dizininizde TEMES/ SITE dizininde bir dizin oluşturacak ve Hugo Tema Repo’dan tüm temaları indirecektir.

Sadece tek bir tema kurmak istiyorsanız, en sevdiğiniz temayı belirlemek için Hugo tema repo’sunu ziyaret edin. URL’sini kopyalayın ve aşağıdaki git klon komutuna yapıştırın.

4. Adım: Bazı temel yapılandırma değişiklikleri yapın

Site dizinindeki Config. toml adlı dosya, Hugo siteniz için küresel yapılandırmayı içerir. Aşağıda listelenen bazı temel yapılandırma değişiklikleri yapmak için dosyayı bir metin düzenleyicisiyle düzenleyin. Değerleri belirli koşullarınıza göre değiştirmeyi unutmayın.

Adım 5: İçeriğinizi oluşturun

Site dizininizde, dizinde bir içerik sayfası oluşturmak için aşağıdaki komutu girin

Dosyayı bir metin düzenleyicisinde açın, dosyanın biçimi aşağıdakilere benzemelidir.

İki satır +++ arasında, içerik sayfanızla ilgili meta bilgiler bulunur. Burada, satır taslağını = true’yi kaldırabilir ve istediğiniz gibi başlık satırını değiştirebilirsiniz.

İkinci +++ satırı altında, web sayfasında görüntülemek istediğiniz içeriği ekleyin. İçeriğinizi Markdown diline yazmayı unutmayın.

Bu düzenlemeyi bitirdikten sonra, metin düzenleyicisini daha sonra kullanmak için açık tutun.

Adım 6: İçeriğinizi Hugo Server ile ayarlayın

Sitenizi dağıtmak için Hugo’nun yerleşik web sunucusunu kullanabilirsiniz, bu da içeriğinizi bir metin düzenleyicisinde değiştirir değiştirmez web sayfasında anında görüntüleyebilir.

Başka bir terminal açın, Hugo Server’ın Varsayılan Bağlantı Noktası 1313’teki sitenize erişiminize izin verecek IPTable kurallarını yapılandırın:

Hugo sunucusunu başlatın:

Sitenizi bir tarayıcıdan ziyaret edin:

Şimdi, sayfa dosyasının içeriğini önceki terminalde düzenlemeyi veya bir sayfa dosyasını eklemeyi/kaldırmayı deneyebilirsiniz. İçerik/ dizindeki değişikliklerin tarayıcı ekranınızda aynı anda yansıtılacağını göreceksiniz. Bu, yoğun bir blog yazarı için harika bir özelliktir, çünkü daha iyi deneyimler için değişikliklerinizi her zaman hemen görebilirsiniz.

Düzenlemenizi bitirdikten sonra, Hugo sunucusunu durdurmak için CTRL+C tuşuna basın.

Adım 7: Sitenizi Yayınlayın

Şimdi sitenizi web’de yayınlamanın zamanı geldi. Aşağıdaki komutları çalıştırın ve Hugo, genel/ dizin içinde yayınlamak için uygun tüm statik içeriği oluşturur.

Not: Hugo, yukarıdaki komutları çalıştırdığınızda daha önce oluşturulmuş eski dosyaları silmez. Beklenmedik sonuçlardan kaçınmak için, hugo komutunu çalıştırmadan önce her zaman public/ dizinini silebilir veya aşağıdaki komutta gösterildiği gibi yeni bir çıktı hedefi belirtebilirsiniz.

Nginx web sunucusu zaten sunucuda çalıştığından, yapmanız gereken tek şey içeriğini kopyalamaktır.

/mysite/public/ dizini veya diğer özel hedef dizinlerini web dizininize /usr/share/nginx/html/ ekleyin.

Orijinal dosyaları silin:

Statik site dosyalarınızı web dizinine kopyalayın:

Bu kadar. Artık süper hızlı statik sitenizi tarayıcınızdan ziyaret edebilirsiniz: http://[YourServerIP] .

Daha fazla ayrıntı görmek için hugo help komutunu kullanın veya Hugo resmi web sitesini ziyaret edin.

Site oluşturucular artık yeni bir konu değil. Çeşitli programlama dilleri kendi popüler web sitesi oluşturma çerçevelerini yayınladı. Örneğin Python Pelican’ı, JavaScript Hexo’yu ve PHP en büyük pazar payına sahip olan WordPress’i piyasaya sürdü. Kişisel blogumu dağıtırken tüm bu araçları denedim. Ancak resmi Nebula Graph Sitesini oluştururken değerlendirmeden sonra Golang dilinde yazılmış Hugo’yu seçtim.

Açıklığa kavuşturmak gerekirse, çeşitli dillerde yazılmış çerçevelerde çok fazla fark yoktur. Önemli olan kişisel tercihler ve estetiktir ki bu yazının konusu bu değil.

Nebula Graph’ta Web Sitesi Gereksinimleri

Blog İçerik Yönetimi

Nebula Graph ekibi, şirket blogunda sık sık teknik makaleler paylaşıyor. Hugo, esnek ve güçlü bir içerik yönetim sistemine sahiptir. Gerektiğinde bloglar, yayınlar ve teknik belgeler gibi çeşitli içerik türleri ekleyebilirsiniz. Detaylar daha sonra tanıtılacaktır.

Ürün Çoğaltma

Yaygın olarak görülen ürün çoğaltma sayfaları, bir ana sayfa, bir haber odası sayfası ve bir şirket sayfası vb. içerir. Bu, İçerik Yönetim Sisteminin çeşitli sayfa türlerini desteklemesini gerektirir. Bu sayfalar, gezinme çubuğu ve alt bilgi gibi aynı bileşenleri paylaşabilir. Detaylar daha sonra ayrıca ele alınacaktır.

Hugo’nun kendisi, yerel olarak sunucu tarafı oluşturmayı destekleyen, hizmet ucu şablonuna benzer bir web çerçevesidir.

Çoklu Dil Desteği

Nebula Graph, dünya çapındaki kullanıcılara hizmet vermektedir. Kaliteli kullanıcı deneyimi sağlamak için web sitesi birden çok dili desteklemelidir. Hugo bizi korudu. Karşılık gelen korpus yapılandırmasına sahip olduğunuz sürece, sitenizdeki dili kullanabilir ve kolayca yönetebilirsiniz.

Teknik Olmayan Personel İçin Yönetimi Kolay

Hugo’nun güçlü şablon sistemine dayalı olarak, içerik yöneticileri, teknisyenler şablon üzerinde özel geliştirme yaptıktan sonra sorunsuz bir şekilde kullanabilirler.

Hugo’nun Öne Çıkan Özellikleri

Esnek ve Güçlü İçerik Yönetim Sistemi

Yukarıdaki, güçlü Hugo şablonuyla oluşturulan proje yapısıdır. Şahsen, farklı sitelerin gereksinimlerini sezgisel olarak gösterdiğini düşünüyorum. Daha fazla bilgi için Hugo’nun resmi Şablonlara Genel Bakış bölümüne bakın.

Zengin Yerleşik Araçlar

Güçlü içerik yönetim sistemine ek olarak Hugo, bina verimliliğini artırmak için birçok yararlı yerleşik şablon ve işlev sağlar. Örneğin: Paylaş

  • twitter
  • Linkedin
  • Facebook
  • Diğerleri

Hugo statik web siteleri oluşturduğundan, yeni Hugo web sitenizi neredeyse her yerde barındırabilirsiniz.

  • Bir git deposu daha
  • İyi git anlayışı
  • Temel heroku anlayışı
  • Bir Heroku Dyno

Ayrıca Hugo projenizin zaten git kaynak kontrolü altında olduğunu varsayıyorum. Değilse, kökünde basit bir git init çalıştırın.

Tamam ? Hadi başlayalım.

Statik sitemizin “derlenmiş” html’sini içeren ortak klasörün içeriğini dağıtmamıza yardımcı olacak küçük bir yerel ardışık düzen oluşturacağız.

Artı, sitenizi hugo komutuyla her derleyeceğiniz zaman, onu heroku’ya konuşlandırabileceksiniz.

Bunu yapmak için, Heroku’ya konuşlandırılacak olan derlenmiş kod olacak bir git alt modülünü başlatacağız. Bir Heroku uygulamasıyla çalışmasını sağlamak için birkaç ince ayar ile.

Hugo projenizin kökünde aşağıdaki komutu çalıştırın:

Bu, ortak klasörü dizinden kaldıracaktır. O klasörden bir alt modül oluşturacağımız için bu depoyu index’ten çıkarmamız gerekiyor. Bu aslında dosyaları kaldırmaz!🙂

Favori çevrimiçi kod sunucunuza (GitHub, Bitbucket…) gidin ve orada bir havuz oluşturun. Depoyu my_awesome_website. public olarak veya size uygun başka bir adla adlandırın. İçinde bir README. md dosyası oluşturun.

Hugo genel dizininize geri dönün ve aşağıdakini yazın:

Hugo projesinin ortak klasörünün içinde bir index. php dosyası oluşturun. İçine aşağıdaki kodu koyun:

Benzer şekilde bir besteci. json dosyası oluşturun. İçine aşağıdaki kodu koyun:

Hugo projesinin kök dizinine şunu yazın:

Bir terminal ile başka bir dizine gidin. Hugo projenizden başka bir yerde. mesela diyelim

Bu klasörün içinde aşağıdaki komutu çalıştırın:

My_awesome_website. public deposundan, zaten yoksa Heroku uygulamanızı oluşturun veya repo’nuzu mevcut biriyle ilişkilendirin:

Ardından, Heroku uygulamasına aşağıdakilerle konuşlandırın:

Ve voilà! Siteniz bu Heroku uygulamasına göre dağıtılmalıdır.

Sitenizi güncellerseniz, bir blog yazısı eklediğinizi veya veri klasöründeki dosyaları değiştirdiğinizi ve dağıtmak istersen, bunu Hugo projenizin kök klasöründen çalıştırmanız gerekecektir.

Ardından, Hugo Projenizden Başka Bir Yerde olan diğer klasörde (bizim durumumuzda

/projects/my_awesome_website. public, aşağıdakileri yapın:

Tamamlanmalı !

Ayrıca, Hugo Projesi’nin kökündeki alt modül değişim köpeğinin, yeni bir kod işlediğiniz anda değişiklikler topladığını görürsünüz. Sevmek:

Onları taahhüt etmek ya da taahhüt etmek sizin seçiminizdir :). Şahsen, depoyu temiz tutmak için yaparım.

GIT Hook öncesi komut dosyalarıyla çalıştıracağınız siteyi (Hugo ile) derlemeye özen gösterecek bir komut dosyası oluşturabilirsiniz.

Hugo kullanarak vitrin web sitemi geliştirirken git alt modüllerini öğrendim.

Özellikle modülün kodunu değiştirdiğinizde ve güncellemelerle birleştirmek istediğinizde, bunları bağımlılık çözücü olarak kullanmak için gerçek bir ilgi olduğunu görüyorum.

Hugo, Go’da yazılmış statik bir site jeneratörüdür. Hız, kolay kullanım ve yapılandırılabilirlik için optimize edilmiştir. Hugo, içerik ve şablonlarla bir dizin alır ve bunları tam bir HTML web sitesine dönüştürür.

Hugo, meta veriler için ön madde ile Markdown dosyalarını kullanır. Hız için Golang’da yazılan Hugo, diğer statik site jeneratörlerinden önemli ölçüde daha hızlıdır.

Orta boyutta tipik bir web sitesi bir saniyenin bir kısmında oluşturulabilir. İyi bir kural, Hugo’nun her içerik parçası için yaklaşık 1 milisaniye sürmesidir. O kadar hızlı ki, siteyi tarayıcınıza geçmek ve yeniden yüklemek için gerekenden daha kısa sürede oluşturacaktır.

Hugo çok esnek olarak yapılır. Kendi içerik türlerinizi tanımlayın. Kendi dizinlerinizi tanımlayın. Kendi şablonlarınızı, kısa kodlarınızı ve daha fazlasını oluşturun. Bloglar, yuvarlananlar ve dokümanlar dahil olmak üzere her türlü web sitesi ile iyi çalışmak için yazılmıştır.

Hugo’nun yüklenmesi

Hugo, Golang’da Windows, Linux, FreeBSD ve OSX desteğiyle yazılmıştır.

En son sürüm Hugo Basımında bulunabilir. Şu anda X64 ve 386 mimarileri için Windows, Linux, FreeBSD ve OS X için inşa ediyoruz.

Kurulum çok kolaydır. Platformunuz için uygun sürümü Hugo sürümlerinden indirmeniz yeterlidir. İndirildikten sonra her yerden çalıştırılabilir. Küresel bir yere yüklemenize gerek yoktur. Bu, ayrıcalıklı bir hesabınız olmadığı paylaşılan ana bilgisayarlar ve diğer sistemler için iyi çalışır.

İdeal olarak, kolay kullanım için yolunuzda bir yere yüklemelisiniz./usr/local/bin en olası yerdir.

Hugo’nun yürütülmesi harici bağımlılığı yoktur.

Kaynaktan Yükleme

Bağımlılık

  • Git
  • 1. 1+ Git
  • Cıva
  • Çarşı

Yerel olarak klon (katkıda bulunanlar için):

GO, tüm kütüphanelerinizin $ Goroot veya $ gopath’da bulunmasını beklediğinden, projeyi aşağıdaki yollardan birine sembolize etmek yararlıdır:

  • L N-S/PATH/TO/Your/Hugo $ gopath/src/github. com/spf13/hugo
  • L N-S/PATH/TO/Your/Hugo $ goroot/src/pkg/github. com/spf13/hugo

Doğrudan GitHub’dan alın:

Yalnızca kaynaktan inşa etmek istiyorsanız, daha da kolaydır.

Bina Hugo

Koşan Hugo

Tam belgeler Hugo belgesinde mevcuttur.

Lisans

Hugo basit kamu lisansı altında yayınlandı. Bkz. Lisans. MD.

4 Tem 2013

400 kelime
Yaklaşık 2 dakika içinde okuyun
  • Gelişim
  • Bloglama
  • Golang
  • Gelişim
  • golang
  • Bloglama

Yazar hakkında:

Steve Francia, NYC merkezli bir Amerikan yazılım mühendisi, Konuşmacı ve Yazar. En büyük açık kaynaklı projelerin beşinde benzersiz liderlik rolü vardır.

Halen Go Projesi’nin stratejisinden ve ürününden sorumlu olduğu GO dilinin liderlik ekibinde Google’da çalışıyor ve 1 milyondan fazla kullanıcı.

Daha önce mühendislik, ürün ve açık kaynak yönettiği MongoDB, Docker’da yönetici rolleri üstlendi. Daha önce Drupal Derneği’nin direktörüydü.

Hugo, Cobra, Viper, SPF13-VIM ve daha fazlası dahil olmak üzere dünyanın en popüler açık kaynak uygulamalarının ve kütüphanelerinin yaratıcısıdır.

Tüm bu başarıların üstünde, 4’ün babasıdır.

© 2013-19 Steve Francia. Bazı hakları saklıdır; Lütfen düzgün bir şekilde nitelendirin ve geri bağlayın. Hugo tarafından desteklenmektedir.