在Pelican中,如何创建一个专门用于托管所有博客文章的页面?

L.J*_*L.J 12 blogs static-site pelican

在pelican中,默认情况下,index.html文件中列出了博客文章.

我想要的是我使用静态页面作为我的主页,并将所有博客文章放在专门的"博客"页面上.

我怎么能这样做?

Jus*_*yer 14

虽然有几种可能的方法可以实现您期望的目标,但我会从设置文件的以下更改开始:

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/')]
Run Code Online (Sandbox Code Playgroud)

content/像往常一样放置您的博客文章,然后使用以下标题创建主页并另存为content/pages/home.md:

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

This is the home page.
Run Code Online (Sandbox Code Playgroud)

注意事项:

  1. 动态导航菜单生成已被有效关闭,因为它无法与此配置一起使用.突出显示当前活动的菜单项 - 您通常开箱即用的功能 - 将不会出现在此配置中,如果需要,必须在主题中单独实现.

  2. 如果您的主题base.html模板具有指向您的网站主页的链接SITEURL(例如,作为notmyidea主题),您将需要更改指向的链接<a href="/">.

  • 我只是以这种方式重新制作了我的网站.你可以在这里看到来源:https://github.com/drart/adamtindale.com希望你觉得它有用. (2认同)

Lon*_*olf 5

在pelicanconf中设置以下内容

DIRECT_TEMPLATES = ['blog']
PAGINATED_DIRECT_TEMPLATES = ['blog']
Run Code Online (Sandbox Code Playgroud)

第一行将设置blog.html的文章第二行将允许blog.html文件的分页

对于索引页面,在内容目录中创建一个pages文件夹并在那里创建.md文件并设置save_as:index.html它将md文件保存为index.html