Trong bài học thứ 2 này, sau khi tôi đã ghi lại nhất ký thiết lập trình biên dịch, môi trường phát triển cho dự án của mình. Tiếp theo đây để viết mã xây dựng dự án cá nhân tôi cần sự dụng Jekyll cho điều đó bằng bundle mà không cần cài đặt gems bên ngoài thư mục dự án.
Đây không phải là cách làm đơn giản nhất để bắt đầu sử dụng Jekyll. Trong bài viết này tôi sẽ ghi lại thiết lập Jekyll bằng Bundler và tùy chọn mà không cần bất kỳ cài đặt đá quý nào trên toàn hệ thống.
1. Cài đặt và khởi tạo gói
Hãy đảm bảo với tôi rằng Ruby đã được cài đặt trên hệ thống.
1.1 Cài đặt Bundle
Cài đặt với bundler thật dễ dàng qua cli sau
1
gem install bundle
Cùng hãy kiểm tra bundle đã ok hay chưa
1
$ gem list | grep "bundle"
1.2 Khởi tạo Bundle
Điều đầu tiên cần làm là tạo một thư mục mới cho dự án và chạy gói init. Điều này tạo ra một dự án Bundler mới (bằng cách tạo một Gemfile trống).
1
2
3
mkdir my-jekyll-website
cd my-jekyll-website
bundle init
2. Cấu hình đường dẫn cài đặt Bundler
Bước này là tùy chọn. Trong bước này, tôi sẽ định cấu hình Bundler để cài đặt gems trong thư mục con ./vendor/bundle/ project. Ưu điểm của việc này là bundler sẽ cài đặt gems trong thư mục dự án thay vì vị trí được sử dụng bởi cài đặt gems. Điều này có thể giúp tránh các lỗi về quyền mà tôi có thể gặp phải trong quá trình cài đặt gems, Nếu có bỏ qua bước này, Bundler sẽ cài đặt các phụ thuộc vào vị trí được sử dụng bởi cài đặt đá quý.
1
bundle config set --local path 'vendor/bundle'
3. Kết nạp Jekyll
Bây giờ, tôi sẽ sử dụng Bundler để thêm Jekyll làm phụ thuộc cho dự án mới của tôi. Lệnh này sẽ thêm gems Jekyll vào Gemfile của tôi và cài đặt nó vào thư mục ./vendor/bundle/ (hoặc thư mục cài đặt gems mặc định nếu không đặt đường dẫn tùy chỉnh).
1
bundle add jekyll
Bây giờ Jekyll đã được cài đặt, tôi có thể sử dụng nó để tạo khung trang cho trang web của mình. Tôi cần tham số --force vì thư mục của tôi không trống và đã có một số tệp Bundler trong đó. Tôi chạy gói cài đặt riêng vì Jekyll bị nhầm lẫn nếu Gemfile đã tồn tại.
1
2
bundle exec jekyll new --force --skip-bundle .
bundle install
Nhắc đên gem file tôi cũng cần chỉ định các phụ thuộc trong tệp Gemfile trước khi chạy
bundle install
1
2
3
4
source 'https://rubygems.org'
gem 'nokogiri'
gem 'rack', '~> 2.2.4'
gem 'rspec'
4. Serve the Site
Trang web mới của tôi đã sẵn sàng! Tôi có thể xây dựng trang web với bundle exec jekyll serve và truy cập trang web tại http://127.0.0.1:4000. Từ đây, tôi đã sẵn sàng tiếp tục phát triển trang web của riêng mình. Tất cả các lệnh Jekyll thông thường đều có sẵn, nhưng nên thêm tiền tố bundle exec vào trước chúng để Bundler chạy phiên bản Jekyll được cài đặt trong thư mục dự án.
5. Commit to Source Control
Nếu tôi đang lưu trữ trang web mới của mình trong version controll, tôi cần các thư mục ./vendor/ và ..bundle/ vì chúng chứa thông tin dành riêng cho người dùng hoặc nền tảng. Người dùng mới sẽ có thể cài đặt các phụ thuộc chính xác dựa trên Gemfile và Gemfile.lock, cả hai đều phải được đăng ký. Tôi có thể sử dụng .gitignore này để bắt đầu nếu muốn.
1
2
3
4
5
6
7
8
9
# Ignore metadata generated by Jekyll
_site/
.sass-cache/
.jekyll-cache/
.jekyll-metadata
# Ignore folders generated by Bundler
.bundle/
vendor/

Comments powered by Disqus.