Giả sử bạn đang chạy trên máy chủ web apache, bạn có thể thiết lập chỉ thị Bí danh để phân phát hình ảnh từ thư mục bên ngoài docroot thông thường. Bạn cần truy cập để chỉnh sửa cấu hình VirtualHosts hoặc một số khả năng khác để tạo chỉ thị bí danh (ví dụ: thông qua bảng điều khiển).
Để biết ví dụ về cách tính năng này hoạt động, giả sử bạn đang lưu trữ các tệp jekyll của mình trong thư mục có tên "/ web/jekyll". Để có thư mục hình ảnh của bạn, hãy làm như sau:
Thêm thư mục "_images" cùng với cây jekyll cơ bản của bạn. Kết thúc với một cái gì đó như:
_config.yml
_images/
_layouts/
_posts/
_site/
index.md
Cập nhật apache của bạn cấu hình để thêm phần Alias như:
Alias /images /web/jekyll/_images
Tải lại apache config và chạy Jekyll để xây dựng trang web.
Vì tên thư mục hình ảnh bắt đầu bằng dấu gạch dưới, jekyll sẽ không đẩy/sao chép nó vào đầu ra _site trong khi xây dựng. Apache sẽ vui vẻ phục vụ hầu hết các tệp từ thư mục _site của bạn như bình thường, nhưng khi nó nhìn thấy một cái gì đó như "http: //jekyll/images/test.jpg", thay vì tìm kiếm tệp trong "/ web/jekyll/_site/_images/test.jpg ", nó sẽ phục vụ nó từ" /web/jekyll/_images/test.jpg ".
Ngẫu nhiên, tôi muốn tách biệt hơn một chút nội dung nguồn và nội dung đầu ra hơn mặc định jekyll. Vì vậy, tôi thiết lập cấu trúc thư mục của tôi như sau:
/web/jekyll/html/
/web/jekyll/images/
/web/jekyll/source/
/web/jekyll/source/_config.yml
/web/jekyll/source/_layouts
/web/jekyll/source/_posts
/web/jekyll/source/index.md
Với tùy chọn sau đây đặt trong _config.yml
destination: ../html
Và thiết lập chỉ thị apache bí danh với:
Alias /images /web/jekyll/images
Jekyll là chạy trong thư mục "/ web/jekyll/source", nhưng đầu ra được gửi đến thư mục "/ web/jekyll/html". Tương tự như ví dụ đầu tiên, các cuộc gọi tới "http: //jekyll/images/test.jpg" được phục vụ từ "/web/jekyll/images/test.jpg". Thiết lập này không thực sự tạo sự khác biệt so với phối cảnh phân phối trang web. Tôi chỉ thích việc tách biệt giữa các tệp nguồn thô, các tệp đầu ra được nướng hoàn toàn và các hình ảnh hoạt động thông qua bí danh.
Nguồn
2011-08-08 16:57:42
Tôi có thể thấy cách thức này sẽ hoạt động, nhưng tôi đã đề cập rằng tôi muốn * thực sự * giống như thư mục hình ảnh nằm trong thư mục _sites, vì điều đó sẽ hợp lý hóa toàn bộ việc với máy chủ. Có thêm thông tin chi tiết nào không? (BTW, cảm ơn những lời khuyên về cấu trúc trang web. Tôi đánh giá cao việc bạn dành thời gian.) –
Tôi không chắc chắn làm cách nào khác để làm điều đó vào lúc này. Một lưu ý về rsync, với ví dụ thứ hai với cấu trúc cập nhật, ý tưởng sẽ chỉ là để rsync tất cả mọi thứ trong "/ web/jekyll /" lên đến máy chủ của bạn. Thư mục "html" và "hình ảnh" sẽ thực sự được sử dụng và thư mục "nguồn" sẽ chỉ cung cấp cho bạn bản sao lưu trang web tắt của mã của bạn. –
Một ý nghĩ khác chỉ xảy ra. Bạn sẽ cần phải cẩn thận với một liên kết tượng trưng bất cứ nơi nào mà jekyll xuất ra. Nếu bạn có mã cho phép liên kết tượng trưng ở đó nhưng nó bị hỏng trong quá trình nâng cấp, có thể jekyll có thể xóa tất cả hình ảnh nguồn của bạn. –