Как добавить favicon в блог Pelican?

Я создаю статический сайт с Pelican, и я смущен тем, как добавить к нему фавикон.

Я видел документации что:

вы также можете использовать EXTRA_PATH_METADATA механизм для размещения favicon.ico или robots.txt в корне любого сайта.

Я не знаю, куда ставить favicon.ico файл и что указать в EXTRA_PATH_METADATA настройка (если это действительно настройка, которая должна использоваться).

3 ответов


на мой pelicanconf.py, Я:

STATIC_PATHS = [
    'images',
    'extra',  # this
]
EXTRA_PATH_METADATA = {
    'extra/custom.css': {'path': 'custom.css'},
    'extra/robots.txt': {'path': 'robots.txt'},
    'extra/favicon.ico': {'path': 'favicon.ico'},  # and this
    'extra/CNAME': {'path': 'CNAME'},
    'extra/LICENSE': {'path': 'LICENSE'},
    'extra/README': {'path': 'README'},
}

структура для этих дополнительных файлов:

/content
    /extra
        favicon.ico
        robots.txt

посмотреть документация, который показывает аналогичный макет.


официальный способ, описанный @jonrsharpe, не работает для моей страницы. Не знаю почему, но должно.

Я решил поставить favicon.ico на image папка и вставить ссылку в base.html чтобы заставить его работать:

<link rel="shortcut icon" href="{{ SITEURL }}/images/favicon.ico?v=2" />

я использовал технику, описанную в Вики пеликана: https://github.com/getpelican/pelican/wiki/Tips-n-Tricks#copying-faviconrobotstxt

повторяя здесь, Если эта страница исчезнет:

  • создать папку рядом с content dir, и поместите все ваши элементы favicon там.
  • в своем Makefile добавьте if test -d $(BASEDIR)/extra; then cp $(BASEDIR)/extra/* $(OUTPUTDIR)/; fi в любые места, которые строят сайт (ex publish, html и т. д.)

теперь, когда вы строите сайт, все в extra/ будет скопирован в корень /output.