Coder Social home page Coder Social logo

martisak / drposter Goto Github PK

View Code? Open in Web Editor NEW

This project forked from bbucior/drposter

5.0 2.0 3.0 2.92 MB

Generate Academic Posters in R Markdown and CSS, inspired by 'reveal.js'

License: GNU General Public License v3.0

R 23.91% Makefile 6.14% CSS 65.49% HTML 4.46%

drposter's Introduction

drposter: Generate Academic Posters in R Markdown and CSS

This fork is adapted for WASP.

poster

Overview

  • Template for writing HTML/CSS posters using Rmarkdown or Markdown.
  • Same conventions as pandoc presentations (e.g. reveal.js)
  • Separates content from presentation
  • Goal: automatically get consistent spacing from specifications instead of a manual layout

Installation and updates

  1. devtools::install_github("martisak/drposter", dep=FALSE) (or install_local on a downloaded copy) to install/update the package
  2. In RStudio, you can find the format listed as a template under the “New R Markdown” wizard, or use the command line.
  3. Template files are cached in drposter_files/ to decouple your poster from the installed package version. Use drposter_update to resync them.

Rmarkdown structure

See the source code and compiled pdf for this poster on Github.

---
title: Title of your document within R Markdown's YAML header
output: drposter::drposter_poster
---

# {.col-3}
## Overall document columns (`<h1>`)

Content is organized using headers as sections.  Level 1 sections
define the overall layout of subblocks.  Use the `.col-x` class to
use x columns for subblocks.

## Another left column block

You can place multiple subblocks within the same overall .col-x,
for example to get a 3-column layout like this example code here.

# {.col-3}
## Individual content blocks (`<h2>`)

Actual content goes within the level 2 blocks, which have two inner
columns by default, e.g. for figures.

![](path_to_figure.jpg)

Most of the markdown commands seem to work, though there are
probably still some that are untested.

# {.col-3}
## Use this div to automatically write your references to a section:

<div id="refs" class="references"></div>

Licensing

3rd party

  • Package inspired by reveal.js presentation framework and its R package
  • Fonts under their respective licenses
  • Logo: thanks to Openclipart for the CC0 graduation cap image, hexSticker for sticker generation, and bcbioSmallRna for a helpful sticker example
  • See CitationStyles.org and the CSL project for more info about citation options (CC BY SA 3.0)

This package

Community

For more information, please visit the project page at https://github.com/martisak/drposter. Feel free to report issues, pull requests, or general comments on Github.

How to use this package

Customizing the template

  • Avoid modifying drposter_files/
  • Indirectly override those rules in your own custom.css.
    • Easier to see and share your changes
    • Decouples your modifications from the base `drposter styles
  • Customize the format of the bibliography using a CSL style. Add the styles repository as a submodule and track your poster in git.
git init
git submodule add https://github.com/citation-style-language/styles.git

References

Instead of using references in the header, use bibliography: myrefs.bib.

If you are using a reference manager such as Mendeley, it can generate bib-files for you. I recommend version controlling these and adding that repository as a submodule to your poster repository.

Logotypes

Add your logotypes in the document header.

logotypes:
  - Resources/ECON_RGB.svg
  - Resources/KTH_Logotyp_RGB_2013.png
  - Resources/rise.png

Export

  • View and “print as PDF” from Chrome or Firefox, make sure to print to the correct poster size. The poster size can be changed in custom.css.
  • Be sure to save a PDF (and possibly html with self_contained: true) to archive your project at the end, in case there are changes in pandoc, rmarkdown, etc.
  • You can also render the poster in other formats, such as a github_document or revealjs::revealjs_presentation

Customizable themes

Note the features for theming. If you had a special class attached to the .level1 or `.slides/theme, you could use a general descendent selector to automatically get theming support, then break up these details into separate theme files.

Pandoc

You don't need to use R if you don't want to. Instead, you can directly run pandoc. Please note that you should then remove all R code.

pandoc +RTS -K512m -RTS poster.Rmd --to html4 \
--from markdown+autolink_bare_uris+ascii_identifiers+tex_math_single_backslash+smart\ 
--output test.html --email-obfuscation none --variable fill_page= \
--variable lib_dir=drposter_files/ --standalone --section-divs \
--template drposter_files//drposter.html \
--highlight-style pygments --css custom.css \
--mathjax -F pandoc-citeproc

or simply

pandoc poster.Rmd -f markdown -M lib_dir:drposter_files/ \
--section-divs --template drposter_files//drposter.html \
--css custom.css -F pandoc-citeproc -o poster.html

The latter option is the same as make pandoc in the example.

See also

drposter's People

Contributors

bbucior avatar martisak avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.