lineNumbers в Reveal. js блок кода с использованием pando c - преобразование уценки - PullRequest
1 голос
/ 02 августа 2020

Как мне получить номера строк для отображения на левом краю блока кода в Reveal. js слайд-шоу, созданное с помощью pando c из документа с уценкой?

Я пробовал следующая уценка:

---
title:  'Display Code-block Line Numbers'
date: 'Aug 2020'
---

--------

~~~ { .python .number-lines startFrom="1" data-line-numbers="3,4-5" }

def main():
  print( "hello pan" )

if __name__ == '__main__:
  main()

~~~

--------

С помощью этой команды для pando c:

pandoc -s -i -t revealjs --section-divs -o slides.html slides.md

Я также пробовал различные изменения fenced_code_attributes: { .python .number-lines }, { .python .numberLines } ; и команды pandoc: удаление флага -i и попытка некоторых --variable s.

Также не работает следующее: { ссылка }

1 Ответ

2 голосов
/ 04 августа 2020

Показать. js использует подсветку. js с подсветкой js -значения-строки. js v2.6 для выделения кода и нумерации строк. Из-за этого

  • data-line-numbers ожидается в элементе <code> для нумерации строк
  • параметр startFrom или, скорее, атрибут data-ln-start-from в <code> элемент не будет работать (в настоящее время), поэтому эта функция была добавлена ​​в выделение js -line-numbers. js v2.8.

По умолчанию pando c 's HTML вывод для блоков кода работает иначе, чем показ. js ожидает этого. Например, атрибуты данных изолированного кода помещаются в оболочку <div>, где раскрыть. js не может их найти. Вам нужно будет написать необработанный HTML или изменить вывод с помощью фильтра, чтобы использовать раскрытие. js ' особенности представления кода как нумерация строк.

Как @tarleb прокомментировал выше, я написал фильтр lua, который адаптирует вывод pando c HTML для поддержки этих функций: https://github.com/pandoc/lua-filters/tree/master/revealjs-codeblock.

...