Git Product home page Git Product logo

plantuml-docker's Introduction

plantuml-docker

Docker image Contributor Covenant

Docker image for running a PlantUML server.

Usage

Without cloning the repo

docker run --init --rm -p 8080:8080 ghcr.io/rakutentech/plantuml:main

Using a working copy of the repo

docker-compose up --build

Differences with the official image

The differences with plantuml/plantuml-server are:

  • Based on Alpine Linux, not Debian.
  • Runs on the Zulu OpenJDK.
  • PLANTUML_LIMIT_SIZE raised to 16384 so you can generate bigger diagrams.
  • Installs a plantuml.skin with a few overrides. (in beta, doesn't work well)
  • Installs a rakuten.pu library with a few definitions to get you started. Just include it with !include rakuten.pu at the start of your diagram.
  • Comes with a few fonts:
    • Mulish is installed and poses as the Rakuten Sans font, which it is visually similar to (and a decent fallback for when generating PNG diagrams). Generated SVG images correctly inject the font-family: 'Rakuten Sans' style, too.
    • Noto Sans and Noto Sans JP, recommended by the ReX typography guidelines. Noto Sans is set as the default sans-serif font.
    • Fira Code, set as the default monospace font.
    • Font Awesome 5 Free.

Example

@startuml
!include rakuten.pu

title Rakuten PlantUML Image

participant Browser
participant "PlantUML Server" as PlantUML

Browser -> PlantUML: FA(f542) Send diagram source
Browser <<-- PlantUML: Get SVG FA(f03e)
@enduml

example

plantuml-docker's People

Contributors

jcayzac avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

markplagge

plantuml-docker's Issues

plantuml.skin doesn't work yet

Note: skins are in beta and need to be enabled using skinparam useBetaStyle true.

PlantUML 1.2020.20 doesn't support many attributes in plantuml.skin, so we currently rely on injecting skin params directly from lib.pu instead.

(this issue tracks progress upstream)

List of unsupported attributes (update as you find them)

  • title { FontName }
  • root { BackGroundColor transparent }
  • document { BackGroundColor transparent }

PlantUML doesn't seem to follow fontconfig fallback rules

fontconfig.xml contains rules to fall back to using Noto Sans JP when a glyph isn't available, but Japanese still doesn't show up properly when using Fira Code or Rakuten Sans:

bug

Note: The image above is generated using

@startuml
listfonts 申し訳ありません、Rakuten é は日本語を話さない。
@enduml

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.