Как мне отформатировать текст заголовка с помощью Pelican?

Я использую Пеликан с Markdown. Я создаю сообщения в блоге как foo.md файлы, которые выглядят так:

Title: Light, by Kelly Link
Date: 2015-09-07 21:18

Blah blah ...

Мне бы хотелось, чтобы слово в названии было выделено курсивом, но я не могу использовать уценку в Title: поле (если я напишу *Light*, by Kelly Link это интерпретируется буквально. Нужно ли менять тему, чтобы сделать это?

2 ответа

Решение

Итак, соответствующий раздел кода на Pelican, я полагаю, следующий из readers.py (начиная с строки 183):

def _parse_metadata(self, meta):                                               
    """Return the dict containing document metadata"""                         
    formatted_fields = self.settings['FORMATTED_FIELDS']                       

    output = {}                                                                
    for name, value in meta.items():                                           
        name = name.lower()                                                    
        if name in formatted_fields:                                           
            # handle summary metadata as markdown                              
            # summary metadata is special case and join all list values        
            summary_values = "\n".join(value)                                  
            # reset the markdown instance to clear any state                   
            self._md.reset()                                                   
            summary = self._md.convert(summary_values)                         
            output[name] = self.process_metadata(name, summary)   

Короче говоря, Pelican ищет, должен ли он анализировать поля Markdown перед их записью (title является частью metadict). Исходя из этого, похоже, что все, что вам нужно сделать, это убедиться, что у вас есть title в вашем FORMATTED_FIELDS установка.

Спасибо, очень полезно! Я сделал это, но теперь по какой-то причине <p></p> у того, что Пеликан оборачивает отформатированный текст, есть огромный запас. - Эли Роуз 8 сентября 15:26

Вы можете часто избегать <p></p> упаковка путем внесения изменений в title переменная в HTML-страницах вашей темы для title|striptags, Это решает несколько других проблем (например, разделы с заглавными буквами в заголовках), которые иногда создает Typogrify.

Например:

{% for p in PAGES %}
    <li{% if p == page %} class="selected"{% endif %}><a href="{{ SITEURL }}/{{ p.url }}">{{ p.title|striptags }}</a></li>
Другие вопросы по тегам