Giter Club home page Giter Club logo

pandoc-sidenote's Introduction

pandoc-sidenote

Convert Pandoc Markdown-style footnotes into sidenotes

This is a simple Pandoc filter to convert footnotes into a format that can be consumed by Tufte CSS. On the whole, this project weighs in at well under 100 lines of code. Check out SideNote.hs if you're curious how it works.

It's used by calling pandoc --filter pandoc-sidenote. To see it in action, see Tufte Pandoc CSS, a project which uses it. In particular, take a look at the Makefile included in that project.

The core functionality is also exposed as a library, which can be called by Haskell applications such as Hakyll.

Dependencies

pandoc-sidenote is build against a specific version of Pandoc. This table maps pandoc versions to pandoc-sidenote versions:

pandoc pandoc-sidenote
2.11 0.22.0, 0.22.1
2.9 0.20.0
2.1, 1.19 0.19.0
1.18 0.9.0

If a newer version of pandoc has been released, the Stack build manifest will need to be adjusted for that version, and the project then rebuilt.

Installation

Cabal

pandoc-sidenote is on Hackage and can thus be installed using cabal:

cabal install pandoc-sidenote

Homebrew

If you're on OS X, you can install the pandoc-sidenote binary from my Homebrew tap:

brew install jez/formulae/pandoc-sidenote

From Source

Otherwise, you'll have to install from source. This project is written in Haskell and built using Stack. If you're new to Haskell, now's a perfect time to wet your toes! Go install Stack first, then run these commands:

git clone https://github.com/jez/pandoc-sidenote

cd pandoc-sidenote

# this is going to be reaaally long the first time
stack build

# copy the compiled binary onto your PATH
stack install

Notes to myself

Side note: I run this command to generate the zip files attached to releases that are downloaded by the Homebrew formula:

make

It would be nice to get GitHub Actions set up to build and publish releases for each tagged commit automatically.

I run this command to publish packages to Hackage:

# First, edit `package.yaml` to remove `-Werror`, then:

stack upload .

License

MIT License

pandoc-sidenote's People

Contributors

jez avatar tarleb avatar dkasak avatar jamtur01 avatar peterstuart avatar seanny123 avatar gwern 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.