Skip to content

gusbemacbe/pandrocafter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pandocrafter

Pandocrafter (formerly Panforge) is a Go-based unified document orchestration system designed to bridge the gap between offline and online static site generation, curriculum vitae generation, distributable single-file e-book generation (based on open HTML5 technologies), literate programming, and scientific and technical publishing.

Functioning as a polyglot command bridge, it synergises the original Pandoc core with sophisticated, distinguished, and high-level Pandoc-based ecosystems, from the dynamic and literate execution of Codebraid to the scientific and technical precision of Quarto, while extending its orchestration capabilities to external development frameworks (such as Angular, Django, Laravel, Vue.js, among others), languages (C#, PHP, Python, among others), and tools (such as Eleventy, Gatsby, Hugo, React, among others). By unifying these distinct instruments with powerful templating engines (Blade, Go Templates, Liquid, Pebble, among others) and* official Pandoc formats and variants (AsciiDoc, Djot, Markdown, Julia Markdown, and R Markdown), Pandocrafter serves as a digital scriptorium where code, prose, and design are built into complex, web and document outputs.

Features

Key features

  • Static site generation: Converting Markdown structures into static HTML pages for multilingual documentation platforms.
  • Multiple content processors: Integrating with Codebraid and Quarto, allowing for the selection of the most suitable processor for technical content.
  • Live reload server: Provisioning a local development server via the pandocrafter serve command for real-time previewing of changes.
  • Theming and layout override: Supporting a theming system that allows overriding templates within a local layouts directory.
  • Internationalisation (i18n): Facilitating the management of complex, multilingual websites from a single, unified codebase.
  • Shortcodes: Enabling the embedding of reusable snippets within Markdown files, processed prior to reaching the Pandoc, Codebraid or Quarto engines.
  • SASS or SCSS compilation: Automatically compiling styles into CSS during the build process, inspired by modern web development frameworks.
  • Passthrough contents copying: Allowing the direct copy of static assets like images, fonts, and JavaScript without internal processing.
  • Post-processing scripts: Offering the flexibility to execute any command-line script after the build, ideal for asset optimisation or deployment.
  • Pre-processed filters: Go-written filters compatible with Pandoc, Codebraid and Quarto to enhance document logic without external dependencies.
  • Syntax highlighting choice: Disabling default Pandoc highlighting to provide the freedom to select libraries such as Prism.js or Starry Night.
  • Sitemap generation: Automatically producing sitemap.xml files to ensure optimal search engine discoverability.

Supported Template Engines

Pandocrafter employs a multi-engine architecture, allowing the use of various templating languages within the same project:

  • Dual-mode templating: Choosing between modern layout engines like Liquid and Pandoc’s native $variable$ syntax.
  • Go html/template: INtegrating secure, native Go templating for high-performance rendering.
  • Liquid: Providing a familiar environment for developers transitioning from Jekyll or Eleventy.
  • Nunjucks and Jinja2: Offering a versatile option popular in both JavaScript and Python ecosystems.
  • Blade: Using the sophisticated templating engine of the Laravel framework for complex document design.

Future roadmap

Expanding the ecosystem to include:

  • eRuby
  • HAML
  • Java Pebble
  • Java Thymeleaf
  • Mustache
  • Pug
  • Razor
  • Twig

Go-writen preprocessed filters

The system provides several integrated filters to handle complex syntax:

  • Disabling indented code blocks: Preventing the misinterpretation of raw HTML as code blocks.
  • Admonitions: Supporting Codeberg, GitLab, GitHub, MkDocs, and Obsidian-style callouts.
  • Wikitext Infobox: Transforming Wikipedia-style biography code into pure HTML.

About

Pandocrafter is a Go-based unified document orchestration system for technical publishing, e-books, and static sites. Functioning as a polyglot command bridge, it synergises the Pandoc core with Quarto and Codebraid, integrating external frameworks like Angular and Django with powerful templating to build web and document outputs.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors