Skip to content

A webpack loader which converts PlantUML source files into image files (for web pages, web-slideshows).

License

Notifications You must be signed in to change notification settings

lucsorel/plantuml-file-loader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PlantUML logo Webpack logo

PlantUML file loader

Converts PlantUML files into images during the webpack processing.

The image conversion is inspired by the Yury Korolev's plantuml-loader which uses a dockerized version of PlantUML, which includes GraphViz for the image generation. However this loader:

  • uses ES6 syntax
  • involves non-blocking methods and abstractions (streams and buffers) to perform the generation
  • produces image files instead of returning the generated file content (that may come later as an option if needed)

Installation

Install the plantuml-file-loader:

# via yarn
yarn add -D webpack plantuml-file-loader

# via npm
npm i -D webpack plantuml-file-loader

In your webpack.config.js file:

module.exports = {
  // ...
  module: {
    rules: [
      // ...
      {
        test: /\.p?uml$/,
        use: 'plantuml-file-loader?format=svg&outputPath=img/'
      },
      // ...
    ]
  },
  // ...
}

The format can be any of those supported by PlantUML: see the -t formats in the command-line Help section.

Use cases

Requirements

The loader spawns a docker container to which it delegates the image conversion. Therefore:

Web-based slideshows

Combine this loader with the markdown-image-loader to build slideshows based on markdown documents. In your markdown file, simply refer to PlantUML source files and they will be converted into images (in SVG format by default, which can be zoomed-in without aliasing).

  • the my-class-diagram.puml PlantUML file:
@startuml
class Car

Driver - Car : drives >
Car *- Wheel : have 4 >
Car -- Person : < owns

@enduml
  • your slideshow.md markdown document:
# Class-diagram slide

The class diagram is as follows:

![](img/my-class-diagram.puml)

And the diagram will be displayed as a real image in your slideshow:

Unit tests

Unit tests can be run with the npm test command.

Despite these efforts, should you find an issue or spot a vital feature, you are welcome to report bugs and submit code requests!

Changelog

  • 2.0.0: updated for webpack 4.x (see modifications done on the loader's option and context)
  • 1.0.3: screenshot fix
  • 1.0.2: added: screenshot of class-diagram slide demo, docker requirements
  • 1.0.1: link fix in README.md
  • 1.0.0: initial version for webpack 3.x

License

May be freely distributed under the MIT license.

Copyright (c) 2017-2018 Luc Sorel

About

A webpack loader which converts PlantUML source files into image files (for web pages, web-slideshows).

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published