2014-05-17 15 views

Trả lời

9

Mặc dù có một số phương pháp có thể để đạt được mục tiêu mong muốn của bạn, tôi sẽ bắt đầu wi th những thay đổi sau đây để cài đặt tập tin của bạn:

SITEURL = '/blog' 
OUTPUT_PATH = 'output/blog' 
PAGE_URL = '../{slug}.html' 
PAGE_SAVE_AS = '../{slug}.html' 
DISPLAY_PAGES_ON_MENU = False 
DISPLAY_CATEGORIES_ON_MENU = False 
MENUITEMS = [('Home', '/'), ('Blog', '/blog/')] 

Đặt bài đăng trên blog của bạn trong content/ như thường lệ, và sau đó tạo ra trang chủ của bạn với các tiêu đề sau và save as content/pages/home.md:

Title: Home 
URL: ../ 
Save_as: ../index.html 

This is the home page. 

Hãy cẩn thận:

  1. Tạo menu điều hướng động đã được tắt hiệu quả vì nó không hoạt động tốt với cấu hình này. Đánh dấu cho mục menu hiện đang hoạt động - một tính năng mà bạn thường nhận được ngoài hộp - sẽ không có trong cấu hình này và nếu muốn, phải được triển khai riêng trong chủ đề của bạn.

  2. Nếu base.html mẫu của chủ đề của bạn có một liên kết đến trang web của bạn về nhà mà phụ thuộc vào SITEURL (ví dụ như notmyidea theme không), bạn sẽ cần phải thay đổi liên kết để trỏ đến <a href="/"> để thay thế.

+2

Tôi chỉ làm lại trang web của tôi theo cách này. Bạn có thể xem mã nguồn ở đây: https://github.com/drart/adamtindale.com Hy vọng bạn thấy nó hữu ích. –

+0

Tôi xây dựng chủ đề này trong chủ đề của mình: nếu DISPLAY_INDEX_ON_PAGES_MENU là True, nó sẽ thêm mục nhập liên kết đến index.html hoặc (nếu được đặt) trang INDEX_SAVE_AS và làm nổi bật mục menu nếu có trên trang chỉ mục blog (https://gist.github.com/jdittrich/3bcc2ce472720999e070) – JanD

3

Đặt sau trong pelicanconf

DIRECT_TEMPLATES = ['blog'] 
PAGINATED_DIRECT_TEMPLATES = ['blog'] 

dòng 1 sẽ thiết lập blog.html cho các bài viết dòng thứ 2 sẽ cho phép pagination của file blog.html

Đối với các trang chỉ mục, tạo ra một trang trong thư mục nội dung và tạo tệp .md tại đó và đặt save_as:index.html điều này sẽ lưu tệp md dưới dạng index.html

0

Bạn có thể sử dụng các cài đặt sau để đặt tệp chỉ mục, ví dụ: /blog/index.html.

INDEX_SAVE_AS = 'blog/index.html' 
INDEX_URL = 'blog/' 

Sau đó, bạn đã tạo trang chủ.mà sử dụng chỉ mục "save_as: index.html" cho trang chủ thực tế.

2

này được bao phủ trong FAQ Pelican - "How can I override the generated URL of a specific page or article?"


Về cơ bản, trong thư mục contents của bạn, tạo ra hai thư mục con:

  • /contents/blogs, mà sẽ lưu trữ tất cả entry của bạn
  • /content/pages, sẽ lưu trữ các trang tĩnh khác của bạn (bao gồm cả trang chủ của bạn)

Trong thư mục con pages, hãy tạo tệp (ví dụ: home.rst) với tùy chọn :save_as: index.html, điều này sẽ làm cho tệp này trở thành trang chủ của bạn. Ví dụ .:

Home 
#### 

:date: 2015-05-22 12:30 
:url: 
:save_as: index.html 

This is my home page 

Trong file pelicanconf.py của bạn, chỉ định các tùy chọn sau:

DISPLAY_PAGES_ON_MENU = False 
DISPLAY_CATEGORIES_ON_MENU = True 
USE_FOLDER_AS_CATEGORY = True 
PATH = 'content' 
ARTICLE_PATHS = ['articles',] 
PAGE_PATHS = ['pages',] 
MENUITEMS =() 

Bây giờ bạn sẽ có một trang chủ và một nội dung quầy bar với một Blogs menu.

Nếu bạn muốn thêm menu hơn để thanh nội dung (ví dụ một Về hoặc CV menu), tạo ra các tập tin tương ứng trong thư mục pages của bạn, và thêm chúng vào MENUITEMS:

MENUITEMS = (
    ('About', '/pages/about.html'), 
    ('CV', '/pages/cv.html'), 
) 
Các vấn đề liên quan