Подтвердить что ты не робот

Презентации слайдов HTML с подсветкой синтаксиса Python

Я хотел бы создать слайды для своей презентации. Моя презентация будет содержать следующие: заголовок слайда, маркеры, фрагменты кода (в моноширинном шрифте), некоторые строки кода выделены жирным шрифтом, фрагменты кода на языке Python (с подсветкой синтаксиса).

Мне нужно приложение или инструмент, который может создавать такие слайды в HTML (или HTML5), поэтому, когда я открываю сгенерированный HTML-код в своем веб-браузере и переводит браузер в полноэкранный режим, он запустит слайд-шоу. Я предпочитаю писать свою презентацию в виде файла .txt с некоторой разметкой, а затем инструмент должен генерировать HTML.

Я знаю о функции презентации Google Docs, но это не поддерживает подсветку синтаксиса Python.

Я также знаю о LaTeX и Beamer, но это создаст PDF вместо HTML (не большая проблема) и не имеет Встроенная подсветка синтаксиса Python.

Я предпочел бы проецировать свою презентацию с помощью ванильного браузера Google Chrome или Mozilla Firefox. Я не хочу устанавливать какое-либо программное обеспечение для презентации (например, bruce) на проецируемом компьютере.

Есть ли альтернатива?

4b9b3361

Ответ 1

Попробуйте выполнить одно из следующих действий:

Ответ 2

Недавно появилась slippy: отредактируйте свою презентацию как HTML, выделив Python (и множество других языков).

Ответ 3

Вы должны обязательно взглянуть на landslide, это приложение python, которое позволяет создавать действительно красивые слайды в HTML5 от уценки форматированный текст, и он поддерживает подсветку синтаксиса. Чтобы получить предварительный просмотр того, что он может сделать, просто взгляните на образец слайд-шоу, сгенерированный из проекта README.

Ответ 5

Это только часть того, что вы просите, но если вы хотите сделать синтаксическую подсветку Python и преобразование в HTML, вы можете сделать это в Emacs, используя python-mode, чтобы выделить синтаксис и htmlize, чтобы сделать преобразование в HTML.

Например, вы можете начать с

def decode_safely(s, charset='ascii'):
    """Return s decoded according to charset, but do so safely."""
    try:
        return s.decode(charset or 'ascii', 'replace')
    except LookupError: # bogus charset
        return s.decode('ascii', 'replace')

и после прохождения через htmlize вы получите:

<pre><span class="keyword">def</span> <span class="function-name">decode_safely</span>(s, charset=<span class="string">'ascii'</span>):
    <span class="string">"""Return s decoded according to charset, but do so safely."""</span>
    <span class="keyword">try</span>:
        <span class="keyword">return</span> s.decode(charset <span class="keyword">or</span> <span class="string">'ascii'</span>, <span class="string">'replace'</span>)
    <span class="keyword">except</span> <span class="type">LookupError</span>: <span class="comment"># see job002442
</span>        <span class="keyword">return</span> s.decode(<span class="string">'ascii'</span>, <span class="string">'replace'</span>)
</pre>

Вы можете видеть, что каждая часть синтаксиса помечена знаком <span>, который принадлежит классу, указывающему, к какому классу синтаксиса он принадлежит: вы можете затем использовать CSS, чтобы указать нужные цвета. (htmlize можно настроить вместо явных цветов - <span style="color:#b22222"> - но подход класса /CSS более гибкий.)

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