2015-06-22 24 views
12

Tôi đang tạo trình chiếu trong markdown để được chuyển đổi theo pandoc thành html (với pandoc -s -S -t revealjs test.md -o test.html).Trang trình bày cấp 1 và cấp 2 trong reveal.js bằng cách sử dụng pandoc

Khuôn khổ reveal.js cho phép thiết lập 2D: nhóm các trang trình bày trong các tập con trượt "theo chiều dọc" và nhóm các tập con trượt theo chiều ngang. Trong markdown, nó có thể đạt được như thế này:

# Head1 

## Below 1 

text below 1 

## Below 2 

text below 2 

# Head 2 

Điều này tạo ra kết quả mong đợi. Kết quả có bốn slide, sắp xếp như sau:

[ Head 1 ] [ Head 2 ] 
[ Below 1 ] 
[ Below 2 ] 

Tuy nhiên, tôi muốn có một số nội dung hơn nữa trong "Head 1" trượt. Điều này có thể trong reveal.js, nhưng markdown sau không được xử lý một cách chính xác bởi pandoc:

# Head1 

Head text 1 

## Below 1 

text below 1 

## Below 2 

text below 2 

# Head 2 

slide level trở thành 1 chứ không phải 2, thay vì bốn slide, tôi nhận được hai (một cho mỗi tiêu đề cấp 1). Tôi có thể buộc mức trượt là 2 bằng cách sử dụng tùy chọn để pandoc:

pandoc -s -S -t revealjs test.md -o test.html --slide-level 2 

nhưng sau đó tôi sắp xếp lại lần đầu tiên - mất bất kỳ nội dung nào nằm ngay dưới "Đầu 1".

Mọi suy nghĩ?

+0

Tôi gặp phải vấn đề tương tự với 'pandoc -t revealjs -s -o index.html index.md'. Không thể thực sự tìm thấy một cách giải quyết: ( –

Trả lời

8

Nếu bạn muốn lồng trang trình bày lên cấp 2, bạn không thể đặt nội dung dưới tiêu đề cấp 1. Điều này limitation là do thiết kế. Theo nhà phát triển John MacFarlane, as of June 2015:

Pandoc có một phương pháp khắc nội dung vào slide (được mô tả trong hướng dẫn người dùng) mà các công trình tương tự cho tất cả các định dạng trượt, vì vậy bạn có thể sử dụng cùng một nguồn cho reveal.js và beamer. Đó là điều thúc đẩy hệ thống hiện tại, mặc dù tôi mở ra một cách tốt hơn, miễn là nó hoạt động thống nhất với mọi định dạng.

Bạn cần một người hùng có bản vá.

+0

Cảm ơn sự thấu hiểu. Tôi sợ điều này là như vậy.Một vấn đề khác ở đây: https://github.com/jgm/pandoc/issues/2265. – tonytonov

1

Nếu tôi hiểu bạn một cách chính xác, sau đây nên làm như lừa:

# Head1 

--- 

Head text 1 

## Below 1 

text below 1 

## Below 2 

text below 2 

# Head 2 

Compile với lệnh đầu tiên mà bạn đề cập:

pandoc -s -S -t revealjs test.md -o test.html 
+1

Không, điều này đặt "Văn bản đầu 1" trong trang trình bày của riêng nó. OP muốn "Head text 1" là một phần của slide "Head 1". – approxiblue

0

Có một workaround cung cấp ở đây (https://github.com/rstudio/revealjs/issues/40) mà gợi ý những điều sau (hoạt động tốt cho tôi):

--- 
title : Title 
date  : Dec 22, 2016 
output : 
    revealjs::revealjs_presentation 
--- 

<section class="titleslide level1"> 
<h1>TOP SLIDE</h1> 

Some blabla 

## SUBSLIDE 

Some sub-blabla 
</section> 

# Next section slide 

## Next subslide 

Text as per standard layout 
+0

Đối với tôi, cách giải quyết này chỉ dành cho phần đầu tiên ... :-(Buồn khi nó bất chấp mục đích sử dụng các bản trình bày 2d tiết lộ ... – kiero

1

Điều này phù hợp với tôi với phiên bản hiện tại của vi phạm

# That presentation 

## dummy slide 

<!--javascript to remove dummy slide--> 
<script> 
document.getElementById("dummy-slide").remove(); 
</script> 

<!--end dummy slide--> 
</section> 

<section> 
<section class="titleslide slide level1"> 
<h1>Head 1<h1> 
Head text 1 

<!-- dummy-slide creates it's section end tag --> 
<!-- </section> --> 

## Below 1 

text below 1 

## Below 2 

text below 2 

</section> 

<!-- need extra end tag before next section --> 
</section> 

<section class="titleslide slide level1"> 
<h1>Head 2<h1> 
Head text 1 
</section> 

# Head 3 

Nó loại bỏ ý tưởng đánh dấu và có thể không hoạt động với một số phiên bản trước đó hoặc mới hơn của Pandoc. Tôi mặc dù vẫn thấy nó hữu ích khi làm việc với Rmarkdown. Ở trên được tạo ra với

--- 
title: "That presentation" 
output: 
    revealjs::revealjs_presentation: 
    keep_md: TRUE 
--- 

## dummy slide 

<!--javascript to remove dummy slide--> 
<script> 
document.getElementById("dummy-slide").remove(); 
</script> 

<!--end dummy slide--> 
</section> 

<section> 
<section class="titleslide slide level1"> 
<h1>Head 1<h1> 
Head text 1 

<!-- dummy-slide creates it's section end tag --> 
<!-- </section> --> 

## Below 1 

text below 1 

## Below 2 

text below 2 

</section> 

<!-- need extra end tag before next section --> 
</section> 

<section class="titleslide slide level1"> 
<h1>Head 2<h1> 
Head text 1 
</section> 

# Head 3 
Các vấn đề liên quan