https://github.com/juliapluto/plutopdf.jl

Export Pluto notebooks to PDF from the command line

https://github.com/juliapluto/plutopdf.jl

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.3%) to scientific vocabulary

Keywords

exporting-pluto-notebooks julia pluto-notebooks
Last synced: 6 months ago · JSON representation

Repository

Export Pluto notebooks to PDF from the command line

Basic Info
  • Host: GitHub
  • Owner: JuliaPluto
  • License: mit
  • Language: Julia
  • Default Branch: main
  • Homepage:
  • Size: 122 KB
Statistics
  • Stars: 37
  • Watchers: 1
  • Forks: 3
  • Open Issues: 2
  • Releases: 14
Topics
exporting-pluto-notebooks julia pluto-notebooks
Created about 5 years ago · Last pushed 11 months ago
Metadata Files
Readme License

README.md

How to export Pluto notebooks to PDF?

You probably don't need the PlutoPDF.jl package! Just open the notebook in Pluto and print out the page (⌘ P or Ctrl+P). In the popup menu that opens, select the printer "Print to PDF". Be sure to enable "background graphics" and disable "headers and footers". This is not a hack! Pluto is designed to output high-quality PDF files using the browser print function.

In fact, this package PlutoPDF.jl works exactly the same: it uses puppeteer and the Chromium browser ("headless") to print the document for you (and the result will be the same). You can use PlutoPDF.jl when you need to generate PDF files automatically from a script, e.g. when you have many notebooks that you want to archive.

Unmaintained

Unfortunately, PlutoPDF.jl takes too much work to maintain! So if it works on your computer, yay! Otherwise, sorry! PRs very welcome!

PlutoPDF.jl

Don't let your printer miss out on the fun!

Usage

From within Julia:

julia import PlutoPDF PlutoPDF.pluto_to_pdf("notebook.jl")

Screenshots

You can also use PlutoPDF to take screenshots of all notebook cells!

```julia import PlutoPDF pdfpath = "notebook.pdf" screenshotsdir = "notebook_screenshots"

PlutoPDF.plutotopdf("notebook.jl", pdfpath, screenshotsdir) ```

How it works

PlutoPDF.jl is just a combination of other software: - Pluto: besides running notebooks, the Pluto editor is designed to look nice when printed. When you use Pluto's export to Static PDF button (top right in the editor), the button just tells the browser to open the Print window. - Chromium web browser: Pluto has CSS styling specific for printing. But it is the browser that has the ability to take HTML and CSS and make a PDF from it. - PlutoSliderServer: this package makes it easy to "convert .jl to .html." It can open a notebook, run it, and generate the export HTML all from the command line, so you don't need to click buttons in Pluto. - hmmmm more info coming maybe or you can open an Issue with questions

Development

When developing, it's nice to have the node_modules folder locally. Navigate to the node directory and run npm install.

If you don't have npm, then run julia --project and then

julia import PlutoPDF PlutoPDF.build_node(joinpath(pwd(), "node"))

Owner

  • Name: Pluto
  • Login: JuliaPluto
  • Kind: organization
  • Email: fons@plutojl.org
  • Location: Greece

🎈 Simple reactive notebooks for Julia — https://github.com/fonsp/Pluto.jl

GitHub Events

Total
  • Create event: 8
  • Commit comment event: 11
  • Issues event: 5
  • Release event: 5
  • Watch event: 2
  • Delete event: 4
  • Issue comment event: 31
  • Push event: 22
  • Pull request review event: 2
  • Pull request review comment event: 2
  • Pull request event: 14
  • Fork event: 2
Last Year
  • Create event: 8
  • Commit comment event: 11
  • Issues event: 5
  • Release event: 5
  • Watch event: 2
  • Delete event: 4
  • Issue comment event: 31
  • Push event: 22
  • Pull request review event: 2
  • Pull request review comment event: 2
  • Pull request event: 14
  • Fork event: 2

Committers

Last synced: almost 3 years ago

All Time
  • Total Commits: 43
  • Total Committers: 4
  • Avg Commits per committer: 10.75
  • Development Distribution Score (DDS): 0.558
Top Committers
Name Email Commits
Fons van der Plas f****s@g****m 19
Fons van der Plas f****s@p****g 16
Connor Burns c****4@g****m 7
Carlo Lucibello c****o@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 11
  • Total pull requests: 25
  • Average time to close issues: 7 months
  • Average time to close pull requests: 29 days
  • Total issue authors: 10
  • Total pull request authors: 5
  • Average comments per issue: 2.64
  • Average comments per pull request: 0.8
  • Merged pull requests: 19
  • Bot issues: 0
  • Bot pull requests: 2
Past Year
  • Issues: 2
  • Pull requests: 12
  • Average time to close issues: N/A
  • Average time to close pull requests: 3 days
  • Issue authors: 2
  • Pull request authors: 3
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.75
  • Merged pull requests: 8
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • fonsp (2)
  • CarloLucibello (1)
  • ImreMD (1)
  • blegat (1)
  • akielbowicz (1)
  • BeastyBlacksmith (1)
  • jcbritobr (1)
  • ultrapoci (1)
  • dpo (1)
  • JuliaTagBot (1)
Pull Request Authors
  • fonsp (19)
  • blegat (7)
  • github-actions[bot] (2)
  • j-fu (2)
  • CarloLucibello (1)
Top Labels
Issue Labels
good first issue (1) help wanted (1)
Pull Request Labels

Dependencies

node/package-lock.json npm
  • @types/node 14.14.26
  • @types/yauzl 2.9.1
  • agent-base 6.0.2
  • ansi-styles 4.3.0
  • balanced-match 1.0.0
  • base64-js 1.5.1
  • bl 4.1.0
  • brace-expansion 1.1.11
  • buffer 5.7.1
  • buffer-crc32 0.2.13
  • chalk 4.1.0
  • chownr 1.1.4
  • color-convert 2.0.1
  • color-name 1.1.4
  • concat-map 0.0.1
  • debug 4.3.1
  • devtools-protocol 0.0.869402
  • end-of-stream 1.4.4
  • extract-zip 2.0.1
  • fd-slicer 1.1.0
  • file-url 3.0.0
  • find-up 4.1.0
  • fs-constants 1.0.0
  • fs.realpath 1.0.0
  • get-stream 5.2.0
  • glob 7.1.6
  • has-flag 4.0.0
  • https-proxy-agent 5.0.0
  • ieee754 1.2.1
  • inflight 1.0.6
  • inherits 2.0.4
  • locate-path 5.0.0
  • minimatch 3.0.4
  • mkdirp-classic 0.5.3
  • ms 2.1.2
  • node-fetch 2.6.1
  • once 1.4.0
  • p-limit 2.3.0
  • p-locate 4.1.0
  • p-try 2.2.0
  • path-exists 4.0.0
  • path-is-absolute 1.0.1
  • pend 1.2.0
  • pkg-dir 4.2.0
  • progress 2.0.3
  • proxy-from-env 1.1.0
  • pump 3.0.0
  • puppeteer 9.1.1
  • readable-stream 3.6.0
  • rimraf 3.0.2
  • safe-buffer 5.2.1
  • string_decoder 1.3.0
  • supports-color 7.2.0
  • tar-fs 2.1.1
  • tar-stream 2.2.0
  • through 2.3.8
  • unbzip2-stream 1.4.3
  • util-deprecate 1.0.2
  • wrappy 1.0.2
  • ws 7.4.3
  • yauzl 2.10.0
node/package.json npm
  • chalk ^4.1.0
  • file-url ^3
  • puppeteer ^9
.github/workflows/CompatHelper.yml actions
.github/workflows/TagBot.yml actions
  • JuliaRegistries/TagBot v1 composite
.github/workflows/Test.yml actions
  • actions/checkout v2 composite
  • actions/upload-artifact v2 composite
  • julia-actions/julia-buildpkg v1 composite
  • julia-actions/julia-runtest v1 composite
  • julia-actions/setup-julia v1 composite