npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

typedoc-plantuml-extended

v0.0.1

Published

Plugin for TypeDoc that generates images for PlantUML diagrams embedded in comments and class diagrams directly from source.

Downloads

10

Readme

typedoc-plantuml

Plugin for TypeDoc that generates images for PlantUML diagrams embedded in comments.

Notes for this fork:

What I did so far:

  • added support for automatically generating class diagrams from typescript source
  • in case of local plantuml the RemoteURL is not first inserted and then searched & replaced again
  • user can also specify another remote url
  • added progress bar while generating uml
  • added following configuration options:
 --umlClassicHierarchy               none,before,behind
 --umlComplete                       none,simple,detail
 --umlFormat                         png,svg
 --umlHierarchy                      none,simple,detail,alldetail
 --umlHierarchyDepthDown             [-1,∞)
 --umlHierarchyDepthUp               [-1,∞)
 --umlLocation                       /^local|remote|(?:https?:\/\/)?[^ "]*$/
 --umlSeperateClassDetailView        true|false
 --umlShowSpot                       true|false
 --umlTag                            true|false
 --umlThreads                        [1,∞)
 --umlVisibilityIcons                none,ascii,graphic
  • added lots of documentation for lots of changes

(Sorry, working on a business project - I am not allowed to share the fancier class diagrams, but it works - even multiple implements/extends-paths...)

What still is open, before I submit a pull request:

  • I'd like to switch to typescript soon
  • The test script is broken, I have to look into this...
  • I'd like to add some more modularity (eventually after moving to TypeScript), if you agree
  • The members-generation for class diagrams (generics, types, abstract, visibility) is not yet implemented
  • Probably more, if it comes to my mind, I will add it.
  • does it also work in --mode modules and with other templates?

Installation

The plugin can then be installed using npm:

$ npm install typedoc-plantuml --save-dev

Usage

TypeDoc automatically detects plugins installed via npm. After installation TypeDoc can be used normally and UML diagrams in comments will be processed.

The start of a UML diagram is indicated by the <uml> tag and closed by the </uml> tag. Alternate text for the generated image can optionally be specified using the alt attribute. For example <uml alt="Some diagram">.

Note that the parser that finds the xml tags in the comment text is not very smart, so avoid unnecessary whitespace or other attributes to the tag.

The following is an example of embedding a sequence diagram in a class description.

/**
 * Some class in a project.
 *
 * <uml>
 *     Bob->Alice : hello
 * </uml>
 */
export class SomeClass {

}

You can view the generated documentation here.

Please refer to the plantuml website for a full reference on the supported UML syntax.

Options

The following options are added to TypeDoc when the plugin is installed:

  • --umlLocation <local|remote> Specifies the location of the generated uml images. If local then local image files are created in the assets directory of the generated documentation. If remote then the image tag uses an encoded link to the plantuml server. Default is local.
  • --umlFormat <png|svg> Specifies the image format to use. Default is PNG.

License

Licensed under the Apache License 2.0.