Home

Awesome

p_slides

dead simple way to create semantic, nice to look at slides

demo

usage

syntax highlighting

example code

<pre> &lt;pre class="syntax c"&gt; static int foo; void bar(void) { foo = 0; while (foo != 255) ; } &lt;/pre&gt; </pre>

becomes

static int foo;
void bar(void) {
    foo = 0;
    while (foo != 255) ; }

syntax highlighting

<pre> $('pre &gt; code').parent().addClass("syntax cpp"); </pre>

extensibility


rationale

p_slides design decisions

difference to reveal-js (and other popular options)

printing to pdf

Using a browser

Printing the slides to PDF can be done in any browser that supports printing to PDF. Choose landscape over portrait and whatever paper size that looks good. The required paper size differs from Browser to Browser and OS to OS.

If possible, use one of these browsers: Chromium, Chrome, Safari

Automated export as PDF

If you have chrome/chromium, you can automate the export:

chromium --headless --disable-gpu --print-to-pdf=presentation.pdf "URL"

This will create a `presentation.pdf` file for the particular slide deck.

If you want to, you can automatically cut the first slide, because for us this is usually an empty slide. That's what pdftk is used for.

pdftk presentation.pdf cat 2-end output final.pdf

editing tips

With p_slides you are completely free to use your favorite Editor - that might be Atom, Visual Studio Code, Notepad++ or anything really. All of them have good markdown integration - for some of them please find the documentation directly here:

Emacs

For Emacs, there is a great markdown-mode. With this snippet in your init.el, you can automatically enable it. The snippet also shows how to enable automatic spell checking with flyspell-mode.

(add-to-list 'auto-mode-alist '("presentation.html" . markdown-mode))
;; If you are into spell-checking
(add-hook 'markdown-mode-hook 'flyspell-mode)

VIM

If you want VIM to automatically use Tim Popes great markdown plugin, use this snippet for VIM to automatically register the correct filetype - or write a better solutions and make me a Pull Request(;

au! BufRead,BufNewFile *html,*htm call TestForPSlides()
"Check whether it is a p_slides presentation
function TestForPSlides()
  if match(join(getline(1,'$')), 'p_slides') > 0
    set filetype=markdown
  endif
endfunction

development

upgrade

contributors


license

LibraryLicense
slidy2W3C software license
jquery-syntaxMIT
bootstrapMIT
remarkableMIT

p_slides is licensed under the GNU AGPL.