hotosm / projects

An experimental container for HOT project management
1 stars 0 forks source link

PDF Tooling #28

Open russbiggs opened 5 years ago

russbiggs commented 5 years ago

Currently focusing on pandoc. It seems well maintained compared to other solutions. I'm currently exploring the different PDF rendering options. A plus is that it can also do markdown --> latex (this is actually the invisibile intermediate step for PDF as well)

It works as a CLI tool but given that the PDF processing will be offloaded to CI it should be easy to install on the circleci machine.

russbiggs commented 5 years ago

@smit1678

smit1678 commented 5 years ago

Great thanks @russbiggs. Yeah I agree that the best and most widely used is Pandoc. I think the issue with Pandoc is always Latex installation but I imagine that can be solved with some dockerized setups, and it looks like its there: https://github.com/pandoc/dockerfiles

Here's a few links from some initial research I started:

https://wkhtmltopdf.org/ https://blog.scottlowe.org/2018/09/27/a-markdown-to-pdf-workflow-on-linux/ http://mixu.net/markdown-styles/ https://atom.io/packages/markdown-themeable-pdf

russbiggs commented 5 years ago

I agree the install can be messy. Since this is going to be put onto a circleci process we can pay that installation tax up front with the deployment set up. One option is to the maintain the set up in the circleci config or have a dockerhub image prebuilt for use by Circleci. This way the end user doesn’t need to mess with an my installation issues on their machine

russbiggs commented 5 years ago

pandoc is working well. Allows a good amount of styling such as using the Archivo font and page sizing. Using the dalibo/pandocker docker image on the circleci side makes the deployment pretty straightforward.

russbiggs commented 5 years ago

Sample PDF: 1-1-mapping-project-workflow.pdf

@smit1678 @jessbeutler

jessbeutler commented 5 years ago

Font styling looks nice. Is it possible to have headers/footers? (i.e. logo, source url, etc.)

russbiggs commented 5 years ago

I haven't tinkered with it yet but yes you can change the default rendering template. It would be best to bundle a generic template with header/footer with the core project so that the build process isnt too tied to a single style. If you give me a sample of a layout I can try to get an output example.

smit1678 commented 5 years ago

Now that we have a v1 of the PDF tooling, let's revisit where this can go. Couple improvements on my end for discussion:

@jessbeutler @adisadit @russbiggs @cgiovando What else do we want to discuss here for evolving the PDF process?

russbiggs commented 5 years ago

@smit1678 - at one point we discussed cover pages for the PDFs. I'm not totally sure how it could fit into the workflow but perhaps worth exploring if still interested