Happy 10th birthday pandoc!

3716 views
Skip to first unread message

John MacFarlane

unread,
Aug 10, 2016, 5:13:45 PM8/10/16
to pandoc-...@googlegroups.com
Pandoc is ten today! The first release, pandoc version 0.1,
was made public on August 10, 2006.

Metric 0.1 current
---------------------- ------- --------
lines of Haskell code* 3420 34076
input formats 4 19
output formats 6 34
contributors 1 > 150
size of manual 17k 140k

* including pandoc-types, but not testing code or
subsidiary libraries like texmath, highlighting-kate, or
pandoc-citeproc.

Pandoc started out as a small practice project to mess
around with Haskell. After a while it became capable enough
for me to use in my own work. I released it under an
open-source license because I used other people's
open-source software, and because there was no reason not
to. But I didn't expect it would ever be used much by
anyone but me.

When I started working on pandoc, the Haskell ecosystem was
small. There was no central database of packages, and no
cabal or stack tool for managing dependencies. I had to
write my own libraries for dealing with zip archives
(zip-archive) and highlighting syntax (highlighting-kate).
Things have come a long way since then.

Because I was just a beginner in Haskell when I began the
project, and key libraries like text didn't yet exist, there
are a number of things about the project's design that are
less than ideal. If I were starting over, I'd use Text
everywhere instead of String. I'd also use a lot more
newtypes, and I'd use free monads or type classes so that
all of the readers and writers could be used outside of IO.
I'd use a data structure that allowed attributes to be
attached uniformly to all elements. I think we'll
ultimately need to make these changes to move forward, but
they're not simple changes to make in a 34k line code base.

Fortunately, more and more people are becoming familiar with
the pandoc code. Over time the project has attracted many
excellent contributors. To them we owe the ZimWiki writer
(Alex Ivkin), the TEI writer (Chris Forster), the InDesign
ICML writer (Maura Bieg), the FB2 writer (Sergey Astanin),
the Texinfo writer (Peter Wang), the org-mode writer
(Puneeth Chaganti and later Albert Krewinkel), the DokuWiki
writer (Clare Macrae), the Textile reader (Paul Rivier), the
Haddock reader (David Lazar), the org-mode reader (Albert
Krewinkel), the ODT reader (Martin Linnemann), the Twiki
reader (Alexander Sulfrian), the EPUB reader (Matthew
Pickering), and the docx reader (Jesse Rosenthal). Andrea
Rossato was primarily responsible for pandoc's excellent
citation support, through his citeproc-hs project (which
formed the basis of pandoc-citeproc). Matthew Pickering
dramatically improved math support and made many other
contributions to pandoc's architecture. Mauro Bieg added
attributes to links and images, and (together with Andrew
Dunning) helped improve multi-language support. Many others
have contributed important bug fixes and suggestions. Some
of these contributors had never touched Haskell before they
worked on pandoc.

One might wonder whether it matters that pandoc is written
in Haskell. Certainly it would have been possible to write a
program that does what pandoc does in any language. But the
security provided by Haskell's type system has kept me sane
when I have needed to make major changes or do large-scale
refactoring. I can make one very central change (say,
adding attributes to headers in the basic Pandoc document
model) and the compiler will direct me to everything else I
need to change. When the program compiles again, I can feel
reasonably confident that I've modified all of the code that
was affected. Purity also helps preserve sanity. When a
writer defines a pure function from a Pandoc document to a
String, I can be confident that changes to that function
won't have side effects in other parts of the program. I
doubt that, using a language like C or JavaScript, I would
have been able to manage an evolving code base this size in
my small scraps of free time without it turning into
unmaintainable spaghetti.

It has been a good ten years. Happy birthday pandoc, and
thanks to everyone who has helped to improve it.

luksh...@gmail.com

unread,
Aug 10, 2016, 11:28:08 PM8/10/16
to pandoc-...@googlegroups.com
On Thursday, August 11, 2016 05:13 AM, John MacFarlane wrote:
> Pandoc is ten today! The first release, pandoc version 0.1,
> was made public on August 10, 2006.
>
> Metric 0.1 current
> ---------------------- ------- --------
> lines of Haskell code* 3420 34076
> input formats 4 19
> output formats 6 34
> contributors 1 > 150
> size of manual 17k 140k
>
> * including pandoc-types, but not testing code or
> subsidiary libraries like texmath, highlighting-kate, or
> pandoc-citeproc.

[snipped]

Its capability is just awesome, the impact too. And the excellent
documentation and support.

A *BIG* thanks!

L

unread,
Aug 11, 2016, 1:54:23 AM8/11/16
to pandoc-discuss
A big thanks for all the hard work! :D

John Gabriele

unread,
Aug 11, 2016, 9:49:25 AM8/11/16
to pandoc-...@googlegroups.com
On Wed, Aug 10, 2016, at 05:13 PM, John MacFarlane wrote:
> Pandoc is ten today! The first release, pandoc version 0.1,
> was made public on August 10, 2006.

Wow! Thanks so much, John! I especially appreciate Pandoc's support for
tables, definition lists, the 4-space rule (being able to always have
list content be indented by $n * 4 spaces), and syntax highlighing. And
raw LaTeX, though I don't need it often, is extremely useful when I do.
Ooh, and its documentation. :)

-- John

Joseph Reagle

unread,
Aug 11, 2016, 12:49:53 PM8/11/16
to pandoc-...@googlegroups.com
On 8/10/16 5:13 PM, John MacFarlane wrote:
> It has been a good ten years. Happy birthday pandoc, and thanks to
> everyone who has helped to improve it.

Thank you John and all the contributors!

BP Jonsson

unread,
Aug 11, 2016, 2:17:17 PM8/11/16
to pandoc-...@googlegroups.com

Many thanks to John and all contributors. I am greatly indebted to you all. Pandoc has been life changing for me by greatly reducing my need to use WYSIWYG/GUI text processing with its emphasis on form over content and structure which always was at best uncomfortable and at worst distracting to me, and by providing a much more readable alternative to (La)TeX and HTML style markup.

Simon Michael

unread,
Aug 11, 2016, 6:34:20 PM8/11/16
to pandoc-...@googlegroups.com
That's a lovely recap. Congratulations John, and thank you very much for
pandoc! It builds my websites (via hakyll), it renders content on
http://hub.darcs.net, it renders documentation for hledger in multiple
formats. I also have learned useful tricks for haskell code/docs/project
structuring from the pandoc project and consider it one of my go-to
examples of a productive, effective haskell project. Here's to more
exciting developments to come.

-Simon

Jan Ulrich Hasecke

unread,
Aug 12, 2016, 3:51:22 AM8/12/16
to pandoc-...@googlegroups.com
Am 10.08.2016 um 23:13 schrieb John MacFarlane:
> Pandoc is ten today! The first release, pandoc version 0.1,
> was made public on August 10, 2006.

> It has been a good ten years. Happy birthday pandoc, and
> thanks to everyone who has helped to improve it.

Kudos to all developers and a big Thank You!

Pandoc has changed the way I write books and ebooks. After using many
other tools I finally have a perfect setup.

juh

Pablo Rodríguez

unread,
Aug 12, 2016, 11:45:42 AM8/12/16
to pandoc-...@googlegroups.com
On 08/10/2016 11:13 PM, John MacFarlane wrote:
> Pandoc is ten today! The first release, pandoc version 0.1,
> was made public on August 10, 2006.
> [...]
> It has been a good ten years. Happy birthday pandoc, and
> thanks to everyone who has helped to improve it.

Congratulations for your excellent work, John, and many thanks to all
contributors for their time and code.

I must confess that pandoc is the tool I use to write books. I’d like to
finish one about pandoc soon (in Spanish).

Many thanks for your awesome software again,


Pablo
--
http://www.ousia.tk

Sergio Correia

unread,
Aug 12, 2016, 1:45:29 PM8/12/16
to pandoc-discuss
Congratulations again John, and of course all the contributors and bug reporters!

Wasif Hasan Baig

unread,
Aug 12, 2016, 3:15:59 PM8/12/16
to pandoc-discuss
Happy 10th birthday to Pandoc :)

I hope Pandoc and the ecosystem (templates, filters, ...) continues to grow. Thank you John for creating Pandoc and sharing it with the rest of the world. It is now an indispensable tool in my toolbox. Congratulations to you and all the contributors.

On Wednesday, August 10, 2016 at 2:13:45 PM UTC-7, John MacFarlane wrote:

msprevak

unread,
Aug 12, 2016, 5:48:42 PM8/12/16
to pandoc-discuss
Hurrah! Thank you for creating this tool, John. It's a wonderful piece of work. 

Frank Colcord

unread,
Aug 13, 2016, 9:46:48 AM8/13/16
to pandoc-discuss
Happy Birthday! Thanks to John and all the contributors. Frank

Yuki Fujiwara

unread,
Jan 14, 2017, 11:42:29 AM1/14/17
to pandoc-discuss
Happy birthday dear this 10 years old project!

It is matured for paper writing and general HTML works specifically in the western world.

My private and next ambition is multicultural extension, especially for Japanese office workers.

To do it, I'd like to make a user group of Japanese people and let us pull-request for additional format or customization.

(First of all, I wrote an article of introduction to Pandoc and the translation of the user's guide to Japanese. They are gradually have been read and Pandoc itself are spreading in Japanese community.)

Rick Dooling

unread,
Jan 14, 2017, 1:36:45 PM1/14/17
to pandoc-discuss
The only thing I use more than Pandoc is Vim.

Thanks so much to John and all contributors and the responsive community.

All authors, writers, scholars who use it are eternally grateful.

Richard Dooling

BP Jonsson

unread,
Jan 14, 2017, 5:49:11 PM1/14/17
to pandoc-...@googlegroups.com
Den 2017-01-14 kl. 19:36, skrev Rick Dooling:
> The only thing I use more than Pandoc is Vim.

Ditto. Not to mention that I use Vim to make things to run
through/with Pandoc.

Reply all
Reply to author
Forward
0 new messages