├── .gitignore ├── LICENSE ├── README.md ├── bin ├── mdgen-html.js ├── mdgen-image.js ├── mdgen-pdf.js ├── mdgen-render.js └── mdgen.js ├── fonts ├── Lato │ ├── Lato-Bold.ttf │ ├── Lato-BoldItalic.ttf │ ├── Lato-Italic.ttf │ ├── Lato-Regular.ttf │ ├── OFL.txt │ └── font.json ├── Liberation │ ├── LICENSE │ ├── LiberationMono-Bold.ttf │ ├── LiberationMono-BoldItalic.ttf │ ├── LiberationMono-Italic.ttf │ ├── LiberationMono-Regular.ttf │ ├── LiberationSans-Bold.ttf │ ├── LiberationSans-BoldItalic.ttf │ ├── LiberationSans-Italic.ttf │ ├── LiberationSans-Regular.ttf │ ├── LiberationSerif-Bold.ttf │ ├── LiberationSerif-BoldItalic.ttf │ ├── LiberationSerif-Italic.ttf │ ├── LiberationSerif-Regular.ttf │ └── font.json ├── NotoSans │ ├── LICENSE.txt │ ├── NotoSansJP-Subset-Bold.ttf │ ├── NotoSansJP-Subset-Regular.ttf │ ├── NotoSansKR-Subset-Bold.ttf │ ├── NotoSansKR-Subset-Regular.ttf │ ├── NotoSansSC-Subset-Bold.ttf │ ├── NotoSansSC-Subset-Regular.ttf │ └── font.json ├── Roboto │ ├── LICENSE.txt │ ├── Roboto-Bold.ttf │ ├── Roboto-BoldItalic.ttf │ ├── Roboto-Italic.ttf │ ├── Roboto-Regular.ttf │ └── font.json ├── SourceCodePro │ ├── SourceCodePro-Medium.ttf │ ├── SourceCodePro-Regular.ttf │ ├── SourceCodePro-Semibold.ttf │ └── font.json └── SourceSansPro │ ├── SourceSansPro-It.ttf │ ├── SourceSansPro-Light.ttf │ ├── SourceSansPro-Regular.ttf │ ├── SourceSansPro-Semibold.ttf │ ├── SourceSansPro-SemiboldItalic.ttf │ └── font.json ├── package.json └── test ├── StarUML2.mdj ├── diagram_test.mdj ├── mdgen-out.pdf └── test.ejs /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | 5 | # Runtime data 6 | pids 7 | *.pid 8 | *.seed 9 | 10 | # Directory for instrumented libs generated by jscoverage/JSCover 11 | lib-cov 12 | 13 | # Coverage directory used by tools like istanbul 14 | coverage 15 | 16 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 17 | .grunt 18 | 19 | # Compiled binary addons (http://nodejs.org/api/addons.html) 20 | build/Release 21 | 22 | # Dependency directory 23 | # Commenting this out is preferred by some people, see 24 | # https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git- 25 | node_modules 26 | 27 | # Users Environment Variables 28 | .lock-wscript 29 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 StarUML 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | > __This project is deprecated. Use [StarUML CLI](https://docs.staruml.io/user-guide/cli-command-line-interface) from version 5.x__ 2 | 3 | --- 4 | 5 | Model-Driven Generation (mdgen) 6 | =============================== 7 | 8 | A command line tool for template-based code generation from metadata encoded in JSON format based on [metadata-json](https://github.com/staruml/metadata-json) files (`.mdj`) typically created by [StarUML](http://staruml.io). 9 | 10 | Installation 11 | ------------ 12 | 13 | This tool depends on [Node.js](http://nodejs.org) so you need to install it first. Install globally using `npm` command so as to use `mdgen` in any directory. 14 | 15 | ``` 16 | $ npm install -g mdgen 17 | ``` 18 | 19 | > **IMPORTANT** 20 | > 21 | > This `mdgen` uses [**node-canvas**](https://github.com/Automattic/node-canvas) module in order to generate diagram image files (PNG and SVG). 22 | > If you need to export diagram images, you have to install **Cairo** first before installing this module (_To installing Cairo on various platforms, please refer to https://github.com/Automattic/node-canvas_). 23 | > If you don't need to export images, ignore installation errors from `node-canvas`. 24 | 25 | 26 | Features 27 | -------- 28 | 29 | * Generate codes using [EJS](https://github.com/tj/ejs) templates. 30 | * Generate a PDF document from diagrams. 31 | 32 | Usage 33 | ----- 34 | 35 | ```shell 36 | $ mdgen [command] [options] 37 | ``` 38 | 39 | ### Generate codes with EJS template 40 | 41 | To generate codes with EJS template, use `render` command with following options: 42 | 43 | * `-m, --model ` : a model file to load (default `model.mdj`) 44 | * `-t, --template ` : template file (default `template.ejs`) 45 | * `-o, --output ` : output file (default `mdgen-out`) 46 | * `-s, --select ` : [selector expression](https://github.com/staruml/metadata-json/wiki/SelectorExpression) to select a set of elements (default `@Project`). 47 | 48 | To see the help, type `mdgen render -h` or `mdgen render --help` in shell. 49 | 50 | Here is an example to generate a set Java source files. Loads `model.mdj` file and renders all of UML Classes with `java-template.ejs` template, then save to files of its name and `.java` file extension in `out` folder. 51 | 52 | ```shell 53 | $ mdgen render -m model.mdj -t java-template.ejs -o "out/<%=element.name%>.java" -s @UMLClass 54 | ``` 55 | 56 | ### Export diagram images (PNG or SVG) 57 | 58 | To export diagram images, use `image` command with following options: 59 | 60 | * `-m, --model ` : a model file to load (default `model.mdj`) 61 | * `-o, --output ` : output image file name (default `<%=diagram.name%>.png`) 62 | * `-f, --format `, image format "png" or "svg" (default `png`) 63 | * `-s, --select ` : [selector expression](https://github.com/staruml/metadata-json/wiki/SelectorExpression) to select a set of diagrams (default `@Diagram`). 64 | 65 | 66 | To see the help, type `mdgen image -h` or `mdgen image --help` in shell. 67 | 68 | Here is an example to export diagram images. Loads `model.mdj` file and export all of diagrams as SVG format in `images` folder. 69 | 70 | ```shell 71 | $ mdgen image -m model.mdj -o "images/<%=diagram.name%>.svg" -f "svg" -s @Diagram 72 | ``` 73 | 74 | ### Generate a PDF document 75 | 76 | To generate a PDF document of diagrams, use `pdf` command with following options: 77 | 78 | * `-m, --model ` : model file to load (default `model.mdj`) 79 | * `-o, --output ` : output file (default `mdgen-out.pdf`) 80 | * `-s, --select ` : [selector expression](https://github.com/staruml/metadata-json/wiki/SelectorExpression) to select a set of elements (default `@Diagram`). This means all diagrams. 81 | * `-z, --size ` : page size (default `A4`). Full list of page size can be found [here](https://github.com/staruml/metadata-json). 82 | * `-l, --layout ` : page layout (default `landscape`). Or use `portrait`. 83 | * `-n, --showname ` : show diagram name on page top (default `yes`). Or use `no`. 84 | 85 | Here is an example generating all diagrams in a PDF document. 86 | 87 | ```shell 88 | $ mdgen pdf -m model.mdj -o document.pdf 89 | ``` 90 | 91 | ### Generate HTML document 92 | 93 | To generate HTML docs, use `html` command with following options: 94 | 95 | * `-m, --model ` : model file to load (default `model.mdj`) 96 | * `-o, --output ` : output folder name (default `html-out`) 97 | * `-d, --diagram ` : export diagram images (default `yes`). Or use `no`. 98 | 99 | Here is an example generating HTML docs. 100 | ` 101 | ```shell 102 | $ mdgen html -m model.mdj -o html-out 103 | ``` 104 | -------------------------------------------------------------------------------- /bin/mdgen-html.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | var program = require('commander'), 4 | fs = require('fs-extra'), 5 | ejs = require('ejs'), 6 | mdjson = require('metadata-json'); 7 | 8 | program 9 | .option('-m, --model ', 'model file to load (default "model.mdj")') 10 | .option('-o, --output ', 'output folder name (default "html-out")') 11 | .option('-d, --diagram ', 'export diagram images (default "yes")') 12 | .parse(process.argv); 13 | 14 | 15 | // Default parameters 16 | program.model = program.model || "model.mdj"; 17 | program.output = program.output || "html-out"; 18 | program.diagram = program.diagram || "yes"; 19 | 20 | // Generate HTML 21 | try { 22 | mdjson.loadFromFile(program.model); 23 | mdjson.exportToHTML(program.output, (program.diagram === "yes")); 24 | console.log("HTML docs generated: " + program.output); 25 | } catch (err) { 26 | console.error(err); 27 | } 28 | -------------------------------------------------------------------------------- /bin/mdgen-image.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | var program = require('commander'), 4 | fs = require('fs-extra'), 5 | ejs = require('ejs'), 6 | mdjson = require('metadata-json'); 7 | 8 | program 9 | .option('-m, --model ', 'model file to load (default "model.mdj")') 10 | .option('-o, --output ', 'output image file (default "<%=diagram.name%>.png")') 11 | .option('-f, --format ', 'image format "png" or "svg" (default "png")') 12 | .option('-s, --select ', 'selector for a diagram or a set of diagrams (default "@Diagram")') 13 | .parse(process.argv); 14 | 15 | // Default parameters 16 | program.model = program.model || "model.mdj"; 17 | program.output = program.output || "<%=diagram.name%>.png"; 18 | program.format = program.format || "png"; 19 | program.select = program.select || "@Diagram"; 20 | 21 | // Generate codes 22 | var success = 0, 23 | errors = 0; 24 | 25 | try { 26 | mdjson.loadFromFile(program.model); 27 | mdjson.exportDiagramBulk(program.select, program.output, program.format, {}, function (err, file, elem) { 28 | if (err) { 29 | errors++; 30 | console.error(err); 31 | } else { 32 | success++; 33 | console.log("Diagram exported: " + file); 34 | } 35 | }); 36 | } catch (err) { 37 | errors++; 38 | console.error(err); 39 | } 40 | 41 | 42 | console.log(); 43 | console.log("Total " + success + " diagram image(s) were generated."); 44 | if (errors === 0) { 45 | console.log("Done without errors."); 46 | } else { 47 | console.log("Done with " + errors + " errors."); 48 | } 49 | -------------------------------------------------------------------------------- /bin/mdgen-pdf.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | var program = require('commander'), 4 | fs = require('fs-extra'), 5 | ejs = require('ejs'), 6 | path = require('path'), 7 | mdjson = require('metadata-json'); 8 | 9 | program 10 | .option('-m, --model ', 'model file to load (default "model.mdj")') 11 | .option('-o, --output ', 'output file (default "mdgen-out.pdf")') 12 | .option('-s, --select ', 'selector for a set of diagrams (default "@Diagram")') 13 | .option('-z, --size ', 'page size (default "A4")') 14 | .option('-l, --layout ', 'page layout (default "landscape")') 15 | .option('-n, --showname ', 'show diagram name on page top (default "yes")') 16 | .parse(process.argv); 17 | 18 | 19 | // Default parameters 20 | program.model = program.model || "model.mdj"; 21 | program.output = program.output || "mdgen-out.pdf"; 22 | program.select = program.select || "@Diagram"; 23 | program.size = program.size || "A4"; 24 | program.layout = program.layout || "landscape"; 25 | program.showname = program.showname || "yes"; 26 | 27 | // Generate diagrams 28 | var diagrams, 29 | options = {}; 30 | 31 | function loadDefaultFonts() { 32 | var dir = path.normalize(__dirname + "/../fonts"); 33 | var fontDirs = fs.readdirSync(dir); 34 | fontDirs.forEach(function (fontDir) { 35 | mdjson.registerFont(path.join(dir, fontDir)); 36 | }); 37 | } 38 | 39 | try { 40 | loadDefaultFonts(); 41 | mdjson.loadFromFile(program.model); 42 | diagrams = mdjson.Repository.select(program.select); 43 | options.size = program.size; 44 | options.layout = program.layout; 45 | options.showName = (program.showname === "no") ? false : true; 46 | mdjson.exportToPDF(diagrams, program.output, options); 47 | console.log("PDF generated: " + program.output); 48 | } catch (err) { 49 | console.error(err); 50 | } 51 | -------------------------------------------------------------------------------- /bin/mdgen-render.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | var program = require('commander'), 4 | fs = require('fs-extra'), 5 | ejs = require('ejs'), 6 | mdjson = require('metadata-json'); 7 | 8 | program 9 | .option('-m, --model ', 'model file to load (default "model.mdj")') 10 | .option('-t, --template ', 'template file (default "template.ejs"') 11 | .option('-o, --output ', 'output file (default "mdgen-out")') 12 | .option('-s, --select ', 'selector for a set of elements (default "@Project")') 13 | .parse(process.argv); 14 | 15 | 16 | // Default parameters 17 | program.model = program.model || "model.mdj"; 18 | program.template = program.template || "template.ejs"; 19 | program.output = program.output || "mdgen-out"; 20 | program.select = program.select || "@Project"; 21 | 22 | // Generate codes 23 | var success = 0, 24 | errors = 0; 25 | 26 | try { 27 | mdjson.loadFromFile(program.model); 28 | mdjson.renderBulk(program.template, program.output, program.select, {}, function (err, file, elem) { 29 | if (err) { 30 | errors++; 31 | console.error(err); 32 | } else { 33 | success++; 34 | console.log("File generated: " + file); 35 | } 36 | }); 37 | } catch (err) { 38 | errors++; 39 | console.error(err); 40 | } 41 | 42 | console.log(); 43 | console.log("Total " + success + " file(s) were generated."); 44 | if (errors === 0) { 45 | console.log("Done without errors."); 46 | } else { 47 | console.log("Done with " + errors + " errors."); 48 | } 49 | -------------------------------------------------------------------------------- /bin/mdgen.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | /** 4 | * Module dependencies. 5 | */ 6 | 7 | var program = require('commander'); 8 | var pjson = require('../package.json'); 9 | 10 | function task(task) { 11 | console.log("run " + task); 12 | } 13 | 14 | program 15 | .version(pjson.version) 16 | .usage('[command] [options]') 17 | .command('render', 'generate code using template') 18 | .command('image', 'export diagram image') 19 | .command('pdf', 'generate PDF document') 20 | .command('html', 'generate HTML document') 21 | .option('-r, --run ', 'run a specified task', task) 22 | .parse(process.argv); 23 | -------------------------------------------------------------------------------- /fonts/Lato/Lato-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/staruml/mdgen/c9f93f75c636cdcb8c5c4392a5a11bde4c2f72c1/fonts/Lato/Lato-Bold.ttf -------------------------------------------------------------------------------- /fonts/Lato/Lato-BoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/staruml/mdgen/c9f93f75c636cdcb8c5c4392a5a11bde4c2f72c1/fonts/Lato/Lato-BoldItalic.ttf -------------------------------------------------------------------------------- /fonts/Lato/Lato-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/staruml/mdgen/c9f93f75c636cdcb8c5c4392a5a11bde4c2f72c1/fonts/Lato/Lato-Italic.ttf -------------------------------------------------------------------------------- /fonts/Lato/Lato-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/staruml/mdgen/c9f93f75c636cdcb8c5c4392a5a11bde4c2f72c1/fonts/Lato/Lato-Regular.ttf -------------------------------------------------------------------------------- /fonts/Lato/OFL.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2010-2014 by tyPoland Lukasz Dziedzic (team@latofonts.com) with Reserved Font Name "Lato" 2 | This Font Software is licensed under the SIL Open Font License, Version 1.1. 3 | This license is copied below, and is also available with a FAQ at: 4 | http://scripts.sil.org/OFL 5 | 6 | 7 | ----------------------------------------------------------- 8 | SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 9 | ----------------------------------------------------------- 10 | 11 | PREAMBLE 12 | The goals of the Open Font License (OFL) are to stimulate worldwide 13 | development of collaborative font projects, to support the font creation 14 | efforts of academic and linguistic communities, and to provide a free and 15 | open framework in which fonts may be shared and improved in partnership 16 | with others. 17 | 18 | The OFL allows the licensed fonts to be used, studied, modified and 19 | redistributed freely as long as they are not sold by themselves. The 20 | fonts, including any derivative works, can be bundled, embedded, 21 | redistributed and/or sold with any software provided that any reserved 22 | names are not used by derivative works. The fonts and derivatives, 23 | however, cannot be released under any other type of license. The 24 | requirement for fonts to remain under this license does not apply 25 | to any document created using the fonts or their derivatives. 26 | 27 | DEFINITIONS 28 | "Font Software" refers to the set of files released by the Copyright 29 | Holder(s) under this license and clearly marked as such. This may 30 | include source files, build scripts and documentation. 31 | 32 | "Reserved Font Name" refers to any names specified as such after the 33 | copyright statement(s). 34 | 35 | "Original Version" refers to the collection of Font Software components as 36 | distributed by the Copyright Holder(s). 37 | 38 | "Modified Version" refers to any derivative made by adding to, deleting, 39 | or substituting -- in part or in whole -- any of the components of the 40 | Original Version, by changing formats or by porting the Font Software to a 41 | new environment. 42 | 43 | "Author" refers to any designer, engineer, programmer, technical 44 | writer or other person who contributed to the Font Software. 45 | 46 | PERMISSION & CONDITIONS 47 | Permission is hereby granted, free of charge, to any person obtaining 48 | a copy of the Font Software, to use, study, copy, merge, embed, modify, 49 | redistribute, and sell modified and unmodified copies of the Font 50 | Software, subject to the following conditions: 51 | 52 | 1) Neither the Font Software nor any of its individual components, 53 | in Original or Modified Versions, may be sold by itself. 54 | 55 | 2) Original or Modified Versions of the Font Software may be bundled, 56 | redistributed and/or sold with any software, provided that each copy 57 | contains the above copyright notice and this license. These can be 58 | included either as stand-alone text files, human-readable headers or 59 | in the appropriate machine-readable metadata fields within text or 60 | binary files as long as those fields can be easily viewed by the user. 61 | 62 | 3) No Modified Version of the Font Software may use the Reserved Font 63 | Name(s) unless explicit written permission is granted by the corresponding 64 | Copyright Holder. This restriction only applies to the primary font name as 65 | presented to the users. 66 | 67 | 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font 68 | Software shall not be used to promote, endorse or advertise any 69 | Modified Version, except to acknowledge the contribution(s) of the 70 | Copyright Holder(s) and the Author(s) or with their explicit written 71 | permission. 72 | 73 | 5) The Font Software, modified or unmodified, in part or in whole, 74 | must be distributed entirely under this license, and must not be 75 | distributed under any other license. The requirement for fonts to 76 | remain under this license does not apply to any document created 77 | using the Font Software. 78 | 79 | TERMINATION 80 | This license becomes null and void if any of the above conditions are 81 | not met. 82 | 83 | DISCLAIMER 84 | THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 85 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF 86 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT 87 | OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE 88 | COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 89 | INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL 90 | DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 91 | FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM 92 | OTHER DEALINGS IN THE FONT SOFTWARE. 93 | -------------------------------------------------------------------------------- /fonts/Lato/font.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "name" : "Lato", 4 | "regular" : "Lato-Regular.ttf", 5 | "italic" : "Lato-Italic.ttf", 6 | "bold" : "Lato-Bold.ttf", 7 | "boldItalic" : "Lato-BoldItalic.ttf" 8 | } 9 | ] 10 | -------------------------------------------------------------------------------- /fonts/Liberation/LICENSE: -------------------------------------------------------------------------------- 1 | Digitized data copyright (c) 2010 Google Corporation 2 | with Reserved Font Arimo, Tinos and Cousine. 3 | Copyright (c) 2012 Red Hat, Inc. 4 | with Reserved Font Name Liberation. 5 | 6 | This Font Software is licensed under the SIL Open Font License, 7 | Version 1.1. 8 | 9 | This license is copied below, and is also available with a FAQ at: 10 | http://scripts.sil.org/OFL 11 | 12 | SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 13 | 14 | PREAMBLE The goals of the Open Font License (OFL) are to stimulate 15 | worldwide development of collaborative font projects, to support the font 16 | creation efforts of academic and linguistic communities, and to provide 17 | a free and open framework in which fonts may be shared and improved in 18 | partnership with others. 19 | 20 | The OFL allows the licensed fonts to be used, studied, modified and 21 | redistributed freely as long as they are not sold by themselves. 22 | The fonts, including any derivative works, can be bundled, embedded, 23 | redistributed and/or sold with any software provided that any reserved 24 | names are not used by derivative works. The fonts and derivatives, 25 | however, cannot be released under any other type of license. The 26 | requirement for fonts to remain under this license does not apply to 27 | any document created using the fonts or their derivatives. 28 | 29 | 30 | 31 | DEFINITIONS 32 | "Font Software" refers to the set of files released by the Copyright 33 | Holder(s) under this license and clearly marked as such. 34 | This may include source files, build scripts and documentation. 35 | 36 | "Reserved Font Name" refers to any names specified as such after the 37 | copyright statement(s). 38 | 39 | "Original Version" refers to the collection of Font Software components 40 | as distributed by the Copyright Holder(s). 41 | 42 | "Modified Version" refers to any derivative made by adding to, deleting, 43 | or substituting ? in part or in whole ? 44 | any of the components of the Original Version, by changing formats or 45 | by porting the Font Software to a new environment. 46 | 47 | "Author" refers to any designer, engineer, programmer, technical writer 48 | or other person who contributed to the Font Software. 49 | 50 | 51 | PERMISSION & CONDITIONS 52 | 53 | Permission is hereby granted, free of charge, to any person obtaining a 54 | copy of the Font Software, to use, study, copy, merge, embed, modify, 55 | redistribute, and sell modified and unmodified copies of the Font 56 | Software, subject to the following conditions: 57 | 58 | 1) Neither the Font Software nor any of its individual components,in 59 | Original or Modified Versions, may be sold by itself. 60 | 61 | 2) Original or Modified Versions of the Font Software may be bundled, 62 | redistributed and/or sold with any software, provided that each copy 63 | contains the above copyright notice and this license. These can be 64 | included either as stand-alone text files, human-readable headers or 65 | in the appropriate machine-readable metadata fields within text or 66 | binary files as long as those fields can be easily viewed by the user. 67 | 68 | 3) No Modified Version of the Font Software may use the Reserved Font 69 | Name(s) unless explicit written permission is granted by the 70 | corresponding Copyright Holder. This restriction only applies to the 71 | primary font name as presented to the users. 72 | 73 | 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font 74 | Software shall not be used to promote, endorse or advertise any 75 | Modified Version, except to acknowledge the contribution(s) of the 76 | Copyright Holder(s) and the Author(s) or with their explicit written 77 | permission. 78 | 79 | 5) The Font Software, modified or unmodified, in part or in whole, must 80 | be distributed entirely under this license, and must not be distributed 81 | under any other license. The requirement for fonts to remain under 82 | this license does not apply to any document created using the Font 83 | Software. 84 | 85 | 86 | 87 | TERMINATION 88 | This license becomes null and void if any of the above conditions are not met. 89 | 90 | 91 | 92 | DISCLAIMER 93 | THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 94 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF 95 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT 96 | OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE 97 | COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 98 | INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL 99 | DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 100 | FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER 101 | DEALINGS IN THE FONT SOFTWARE. 102 | 103 | -------------------------------------------------------------------------------- /fonts/Liberation/LiberationMono-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/staruml/mdgen/c9f93f75c636cdcb8c5c4392a5a11bde4c2f72c1/fonts/Liberation/LiberationMono-Bold.ttf -------------------------------------------------------------------------------- /fonts/Liberation/LiberationMono-BoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/staruml/mdgen/c9f93f75c636cdcb8c5c4392a5a11bde4c2f72c1/fonts/Liberation/LiberationMono-BoldItalic.ttf -------------------------------------------------------------------------------- /fonts/Liberation/LiberationMono-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/staruml/mdgen/c9f93f75c636cdcb8c5c4392a5a11bde4c2f72c1/fonts/Liberation/LiberationMono-Italic.ttf -------------------------------------------------------------------------------- /fonts/Liberation/LiberationMono-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/staruml/mdgen/c9f93f75c636cdcb8c5c4392a5a11bde4c2f72c1/fonts/Liberation/LiberationMono-Regular.ttf -------------------------------------------------------------------------------- /fonts/Liberation/LiberationSans-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/staruml/mdgen/c9f93f75c636cdcb8c5c4392a5a11bde4c2f72c1/fonts/Liberation/LiberationSans-Bold.ttf -------------------------------------------------------------------------------- /fonts/Liberation/LiberationSans-BoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/staruml/mdgen/c9f93f75c636cdcb8c5c4392a5a11bde4c2f72c1/fonts/Liberation/LiberationSans-BoldItalic.ttf -------------------------------------------------------------------------------- /fonts/Liberation/LiberationSans-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/staruml/mdgen/c9f93f75c636cdcb8c5c4392a5a11bde4c2f72c1/fonts/Liberation/LiberationSans-Italic.ttf -------------------------------------------------------------------------------- /fonts/Liberation/LiberationSans-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/staruml/mdgen/c9f93f75c636cdcb8c5c4392a5a11bde4c2f72c1/fonts/Liberation/LiberationSans-Regular.ttf -------------------------------------------------------------------------------- /fonts/Liberation/LiberationSerif-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/staruml/mdgen/c9f93f75c636cdcb8c5c4392a5a11bde4c2f72c1/fonts/Liberation/LiberationSerif-Bold.ttf -------------------------------------------------------------------------------- /fonts/Liberation/LiberationSerif-BoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/staruml/mdgen/c9f93f75c636cdcb8c5c4392a5a11bde4c2f72c1/fonts/Liberation/LiberationSerif-BoldItalic.ttf -------------------------------------------------------------------------------- /fonts/Liberation/LiberationSerif-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/staruml/mdgen/c9f93f75c636cdcb8c5c4392a5a11bde4c2f72c1/fonts/Liberation/LiberationSerif-Italic.ttf -------------------------------------------------------------------------------- /fonts/Liberation/LiberationSerif-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/staruml/mdgen/c9f93f75c636cdcb8c5c4392a5a11bde4c2f72c1/fonts/Liberation/LiberationSerif-Regular.ttf -------------------------------------------------------------------------------- /fonts/Liberation/font.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "name" : "default", 4 | "regular" : "LiberationSans-Regular.ttf", 5 | "italic" : "LiberationSans-Italic.ttf", 6 | "bold" : "LiberationSans-Bold.ttf", 7 | "boldItalic" : "LiberationSans-BoldItalic.ttf" 8 | }, 9 | { 10 | "name" : "Arial", 11 | "regular" : "LiberationSans-Regular.ttf", 12 | "italic" : "LiberationSans-Italic.ttf", 13 | "bold" : "LiberationSans-Bold.ttf", 14 | "boldItalic" : "LiberationSans-BoldItalic.ttf" 15 | }, 16 | { 17 | "name" : "Times New Roman", 18 | "regular" : "LiberationSerif-Regular.ttf", 19 | "italic" : "LiberationSerif-Italic.ttf", 20 | "bold" : "LiberationSerif-Bold.ttf", 21 | "boldItalic" : "LiberationSerif-BoldItalic.ttf" 22 | }, 23 | { 24 | "name" : "Courier New", 25 | "regular" : "LiberationMono-Regular.ttf", 26 | "italic" : "LiberationMono-Italic.ttf", 27 | "bold" : "LiberationMono-Bold.ttf", 28 | "boldItalic" : "LiberationMono-BoldItalic.ttf" 29 | } 30 | ] 31 | -------------------------------------------------------------------------------- /fonts/NotoSans/LICENSE.txt: -------------------------------------------------------------------------------- 1 | 2 | Apache License 3 | Version 2.0, January 2004 4 | http://www.apache.org/licenses/ 5 | 6 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 7 | 8 | 1. Definitions. 9 | 10 | "License" shall mean the terms and conditions for use, reproduction, 11 | and distribution as defined by Sections 1 through 9 of this document. 12 | 13 | "Licensor" shall mean the copyright owner or entity authorized by 14 | the copyright owner that is granting the License. 15 | 16 | "Legal Entity" shall mean the union of the acting entity and all 17 | other entities that control, are controlled by, or are under common 18 | control with that entity. For the purposes of this definition, 19 | "control" means (i) the power, direct or indirect, to cause the 20 | direction or management of such entity, whether by contract or 21 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 22 | outstanding shares, or (iii) beneficial ownership of such entity. 23 | 24 | "You" (or "Your") shall mean an individual or Legal Entity 25 | exercising permissions granted by this License. 26 | 27 | "Source" form shall mean the preferred form for making modifications, 28 | including but not limited to software source code, documentation 29 | source, and configuration files. 30 | 31 | "Object" form shall mean any form resulting from mechanical 32 | transformation or translation of a Source form, including but 33 | not limited to compiled object code, generated documentation, 34 | and conversions to other media types. 35 | 36 | "Work" shall mean the work of authorship, whether in Source or 37 | Object form, made available under the License, as indicated by a 38 | copyright notice that is included in or attached to the work 39 | (an example is provided in the Appendix below). 40 | 41 | "Derivative Works" shall mean any work, whether in Source or Object 42 | form, that is based on (or derived from) the Work and for which the 43 | editorial revisions, annotations, elaborations, or other modifications 44 | represent, as a whole, an original work of authorship. For the purposes 45 | of this License, Derivative Works shall not include works that remain 46 | separable from, or merely link (or bind by name) to the interfaces of, 47 | the Work and Derivative Works thereof. 48 | 49 | "Contribution" shall mean any work of authorship, including 50 | the original version of the Work and any modifications or additions 51 | to that Work or Derivative Works thereof, that is intentionally 52 | submitted to Licensor for inclusion in the Work by the copyright owner 53 | or by an individual or Legal Entity authorized to submit on behalf of 54 | the copyright owner. For the purposes of this definition, "submitted" 55 | means any form of electronic, verbal, or written communication sent 56 | to the Licensor or its representatives, including but not limited to 57 | communication on electronic mailing lists, source code control systems, 58 | and issue tracking systems that are managed by, or on behalf of, the 59 | Licensor for the purpose of discussing and improving the Work, but 60 | excluding communication that is conspicuously marked or otherwise 61 | designated in writing by the copyright owner as "Not a Contribution." 62 | 63 | "Contributor" shall mean Licensor and any individual or Legal Entity 64 | on behalf of whom a Contribution has been received by Licensor and 65 | subsequently incorporated within the Work. 66 | 67 | 2. Grant of Copyright License. Subject to the terms and conditions of 68 | this License, each Contributor hereby grants to You a perpetual, 69 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 70 | copyright license to reproduce, prepare Derivative Works of, 71 | publicly display, publicly perform, sublicense, and distribute the 72 | Work and such Derivative Works in Source or Object form. 73 | 74 | 3. Grant of Patent License. Subject to the terms and conditions of 75 | this License, each Contributor hereby grants to You a perpetual, 76 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 77 | (except as stated in this section) patent license to make, have made, 78 | use, offer to sell, sell, import, and otherwise transfer the Work, 79 | where such license applies only to those patent claims licensable 80 | by such Contributor that are necessarily infringed by their 81 | Contribution(s) alone or by combination of their Contribution(s) 82 | with the Work to which such Contribution(s) was submitted. If You 83 | institute patent litigation against any entity (including a 84 | cross-claim or counterclaim in a lawsuit) alleging that the Work 85 | or a Contribution incorporated within the Work constitutes direct 86 | or contributory patent infringement, then any patent licenses 87 | granted to You under this License for that Work shall terminate 88 | as of the date such litigation is filed. 89 | 90 | 4. Redistribution. You may reproduce and distribute copies of the 91 | Work or Derivative Works thereof in any medium, with or without 92 | modifications, and in Source or Object form, provided that You 93 | meet the following conditions: 94 | 95 | (a) You must give any other recipients of the Work or 96 | Derivative Works a copy of this License; and 97 | 98 | (b) You must cause any modified files to carry prominent notices 99 | stating that You changed the files; and 100 | 101 | (c) You must retain, in the Source form of any Derivative Works 102 | that You distribute, all copyright, patent, trademark, and 103 | attribution notices from the Source form of the Work, 104 | excluding those notices that do not pertain to any part of 105 | the Derivative Works; and 106 | 107 | (d) If the Work includes a "NOTICE" text file as part of its 108 | distribution, then any Derivative Works that You distribute must 109 | include a readable copy of the attribution notices contained 110 | within such NOTICE file, excluding those notices that do not 111 | pertain to any part of the Derivative Works, in at least one 112 | of the following places: within a NOTICE text file distributed 113 | as part of the Derivative Works; within the Source form or 114 | documentation, if provided along with the Derivative Works; or, 115 | within a display generated by the Derivative Works, if and 116 | wherever such third-party notices normally appear. The contents 117 | of the NOTICE file are for informational purposes only and 118 | do not modify the License. You may add Your own attribution 119 | notices within Derivative Works that You distribute, alongside 120 | or as an addendum to the NOTICE text from the Work, provided 121 | that such additional attribution notices cannot be construed 122 | as modifying the License. 123 | 124 | You may add Your own copyright statement to Your modifications and 125 | may provide additional or different license terms and conditions 126 | for use, reproduction, or distribution of Your modifications, or 127 | for any such Derivative Works as a whole, provided Your use, 128 | reproduction, and distribution of the Work otherwise complies with 129 | the conditions stated in this License. 130 | 131 | 5. Submission of Contributions. Unless You explicitly state otherwise, 132 | any Contribution intentionally submitted for inclusion in the Work 133 | by You to the Licensor shall be under the terms and conditions of 134 | this License, without any additional terms or conditions. 135 | Notwithstanding the above, nothing herein shall supersede or modify 136 | the terms of any separate license agreement you may have executed 137 | with Licensor regarding such Contributions. 138 | 139 | 6. Trademarks. This License does not grant permission to use the trade 140 | names, trademarks, service marks, or product names of the Licensor, 141 | except as required for reasonable and customary use in describing the 142 | origin of the Work and reproducing the content of the NOTICE file. 143 | 144 | 7. Disclaimer of Warranty. Unless required by applicable law or 145 | agreed to in writing, Licensor provides the Work (and each 146 | Contributor provides its Contributions) on an "AS IS" BASIS, 147 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 148 | implied, including, without limitation, any warranties or conditions 149 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 150 | PARTICULAR PURPOSE. You are solely responsible for determining the 151 | appropriateness of using or redistributing the Work and assume any 152 | risks associated with Your exercise of permissions under this License. 153 | 154 | 8. Limitation of Liability. In no event and under no legal theory, 155 | whether in tort (including negligence), contract, or otherwise, 156 | unless required by applicable law (such as deliberate and grossly 157 | negligent acts) or agreed to in writing, shall any Contributor be 158 | liable to You for damages, including any direct, indirect, special, 159 | incidental, or consequential damages of any character arising as a 160 | result of this License or out of the use or inability to use the 161 | Work (including but not limited to damages for loss of goodwill, 162 | work stoppage, computer failure or malfunction, or any and all 163 | other commercial damages or losses), even if such Contributor 164 | has been advised of the possibility of such damages. 165 | 166 | 9. Accepting Warranty or Additional Liability. While redistributing 167 | the Work or Derivative Works thereof, You may choose to offer, 168 | and charge a fee for, acceptance of support, warranty, indemnity, 169 | or other liability obligations and/or rights consistent with this 170 | License. However, in accepting such obligations, You may act only 171 | on Your own behalf and on Your sole responsibility, not on behalf 172 | of any other Contributor, and only if You agree to indemnify, 173 | defend, and hold each Contributor harmless for any liability 174 | incurred by, or claims asserted against, such Contributor by reason 175 | of your accepting any such warranty or additional liability. 176 | 177 | END OF TERMS AND CONDITIONS 178 | 179 | APPENDIX: How to apply the Apache License to your work. 180 | 181 | To apply the Apache License to your work, attach the following 182 | boilerplate notice, with the fields enclosed by brackets "[]" 183 | replaced with your own identifying information. (Don't include 184 | the brackets!) The text should be enclosed in the appropriate 185 | comment syntax for the file format. We also recommend that a 186 | file or class name and description of purpose be included on the 187 | same "printed page" as the copyright notice for easier 188 | identification within third-party archives. 189 | 190 | Copyright [yyyy] [name of copyright owner] 191 | 192 | Licensed under the Apache License, Version 2.0 (the "License"); 193 | you may not use this file except in compliance with the License. 194 | You may obtain a copy of the License at 195 | 196 | http://www.apache.org/licenses/LICENSE-2.0 197 | 198 | Unless required by applicable law or agreed to in writing, software 199 | distributed under the License is distributed on an "AS IS" BASIS, 200 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 201 | See the License for the specific language governing permissions and 202 | limitations under the License. 203 | -------------------------------------------------------------------------------- /fonts/NotoSans/NotoSansJP-Subset-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/staruml/mdgen/c9f93f75c636cdcb8c5c4392a5a11bde4c2f72c1/fonts/NotoSans/NotoSansJP-Subset-Bold.ttf -------------------------------------------------------------------------------- /fonts/NotoSans/NotoSansJP-Subset-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/staruml/mdgen/c9f93f75c636cdcb8c5c4392a5a11bde4c2f72c1/fonts/NotoSans/NotoSansJP-Subset-Regular.ttf -------------------------------------------------------------------------------- /fonts/NotoSans/NotoSansKR-Subset-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/staruml/mdgen/c9f93f75c636cdcb8c5c4392a5a11bde4c2f72c1/fonts/NotoSans/NotoSansKR-Subset-Bold.ttf -------------------------------------------------------------------------------- /fonts/NotoSans/NotoSansKR-Subset-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/staruml/mdgen/c9f93f75c636cdcb8c5c4392a5a11bde4c2f72c1/fonts/NotoSans/NotoSansKR-Subset-Regular.ttf -------------------------------------------------------------------------------- /fonts/NotoSans/NotoSansSC-Subset-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/staruml/mdgen/c9f93f75c636cdcb8c5c4392a5a11bde4c2f72c1/fonts/NotoSans/NotoSansSC-Subset-Bold.ttf -------------------------------------------------------------------------------- /fonts/NotoSans/NotoSansSC-Subset-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/staruml/mdgen/c9f93f75c636cdcb8c5c4392a5a11bde4c2f72c1/fonts/NotoSans/NotoSansSC-Subset-Regular.ttf -------------------------------------------------------------------------------- /fonts/NotoSans/font.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "name" : "default", 4 | "regular" : "NotoSansKR-Subset-Regular.ttf", 5 | "italic" : "NotoSansKR-Subset-Regular.ttf", 6 | "bold" : "NotoSansKR-Subset-Bold.ttf", 7 | "boldItalic" : "NotoSansKR-Subset-Bold.ttf", 8 | "unicodeRanges" : [90] 9 | }, 10 | { 11 | "name" : "default", 12 | "regular" : "NotoSansJP-Subset-Regular.ttf", 13 | "italic" : "NotoSansJP-Subset-Regular.ttf", 14 | "bold" : "NotoSansJP-Subset-Bold.ttf", 15 | "boldItalic" : "NotoSansJP-Subset-Bold.ttf", 16 | "unicodeRanges" : [75,76,77,82] 17 | }, 18 | { 19 | "name" : "default", 20 | "regular" : "NotoSansSC-Subset-Regular.ttf", 21 | "italic" : "NotoSansSC-Subset-Regular.ttf", 22 | "bold" : "NotoSansSC-Subset-Bold.ttf", 23 | "boldItalic" : "NotoSansSC-Subset-Bold.ttf", 24 | "unicodeRanges" : [72,73,74,83,85,87,103] 25 | } 26 | ] 27 | -------------------------------------------------------------------------------- /fonts/Roboto/LICENSE.txt: -------------------------------------------------------------------------------- 1 | 2 | Apache License 3 | Version 2.0, January 2004 4 | http://www.apache.org/licenses/ 5 | 6 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 7 | 8 | 1. Definitions. 9 | 10 | "License" shall mean the terms and conditions for use, reproduction, 11 | and distribution as defined by Sections 1 through 9 of this document. 12 | 13 | "Licensor" shall mean the copyright owner or entity authorized by 14 | the copyright owner that is granting the License. 15 | 16 | "Legal Entity" shall mean the union of the acting entity and all 17 | other entities that control, are controlled by, or are under common 18 | control with that entity. For the purposes of this definition, 19 | "control" means (i) the power, direct or indirect, to cause the 20 | direction or management of such entity, whether by contract or 21 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 22 | outstanding shares, or (iii) beneficial ownership of such entity. 23 | 24 | "You" (or "Your") shall mean an individual or Legal Entity 25 | exercising permissions granted by this License. 26 | 27 | "Source" form shall mean the preferred form for making modifications, 28 | including but not limited to software source code, documentation 29 | source, and configuration files. 30 | 31 | "Object" form shall mean any form resulting from mechanical 32 | transformation or translation of a Source form, including but 33 | not limited to compiled object code, generated documentation, 34 | and conversions to other media types. 35 | 36 | "Work" shall mean the work of authorship, whether in Source or 37 | Object form, made available under the License, as indicated by a 38 | copyright notice that is included in or attached to the work 39 | (an example is provided in the Appendix below). 40 | 41 | "Derivative Works" shall mean any work, whether in Source or Object 42 | form, that is based on (or derived from) the Work and for which the 43 | editorial revisions, annotations, elaborations, or other modifications 44 | represent, as a whole, an original work of authorship. For the purposes 45 | of this License, Derivative Works shall not include works that remain 46 | separable from, or merely link (or bind by name) to the interfaces of, 47 | the Work and Derivative Works thereof. 48 | 49 | "Contribution" shall mean any work of authorship, including 50 | the original version of the Work and any modifications or additions 51 | to that Work or Derivative Works thereof, that is intentionally 52 | submitted to Licensor for inclusion in the Work by the copyright owner 53 | or by an individual or Legal Entity authorized to submit on behalf of 54 | the copyright owner. For the purposes of this definition, "submitted" 55 | means any form of electronic, verbal, or written communication sent 56 | to the Licensor or its representatives, including but not limited to 57 | communication on electronic mailing lists, source code control systems, 58 | and issue tracking systems that are managed by, or on behalf of, the 59 | Licensor for the purpose of discussing and improving the Work, but 60 | excluding communication that is conspicuously marked or otherwise 61 | designated in writing by the copyright owner as "Not a Contribution." 62 | 63 | "Contributor" shall mean Licensor and any individual or Legal Entity 64 | on behalf of whom a Contribution has been received by Licensor and 65 | subsequently incorporated within the Work. 66 | 67 | 2. Grant of Copyright License. Subject to the terms and conditions of 68 | this License, each Contributor hereby grants to You a perpetual, 69 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 70 | copyright license to reproduce, prepare Derivative Works of, 71 | publicly display, publicly perform, sublicense, and distribute the 72 | Work and such Derivative Works in Source or Object form. 73 | 74 | 3. Grant of Patent License. Subject to the terms and conditions of 75 | this License, each Contributor hereby grants to You a perpetual, 76 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 77 | (except as stated in this section) patent license to make, have made, 78 | use, offer to sell, sell, import, and otherwise transfer the Work, 79 | where such license applies only to those patent claims licensable 80 | by such Contributor that are necessarily infringed by their 81 | Contribution(s) alone or by combination of their Contribution(s) 82 | with the Work to which such Contribution(s) was submitted. If You 83 | institute patent litigation against any entity (including a 84 | cross-claim or counterclaim in a lawsuit) alleging that the Work 85 | or a Contribution incorporated within the Work constitutes direct 86 | or contributory patent infringement, then any patent licenses 87 | granted to You under this License for that Work shall terminate 88 | as of the date such litigation is filed. 89 | 90 | 4. Redistribution. You may reproduce and distribute copies of the 91 | Work or Derivative Works thereof in any medium, with or without 92 | modifications, and in Source or Object form, provided that You 93 | meet the following conditions: 94 | 95 | (a) You must give any other recipients of the Work or 96 | Derivative Works a copy of this License; and 97 | 98 | (b) You must cause any modified files to carry prominent notices 99 | stating that You changed the files; and 100 | 101 | (c) You must retain, in the Source form of any Derivative Works 102 | that You distribute, all copyright, patent, trademark, and 103 | attribution notices from the Source form of the Work, 104 | excluding those notices that do not pertain to any part of 105 | the Derivative Works; and 106 | 107 | (d) If the Work includes a "NOTICE" text file as part of its 108 | distribution, then any Derivative Works that You distribute must 109 | include a readable copy of the attribution notices contained 110 | within such NOTICE file, excluding those notices that do not 111 | pertain to any part of the Derivative Works, in at least one 112 | of the following places: within a NOTICE text file distributed 113 | as part of the Derivative Works; within the Source form or 114 | documentation, if provided along with the Derivative Works; or, 115 | within a display generated by the Derivative Works, if and 116 | wherever such third-party notices normally appear. The contents 117 | of the NOTICE file are for informational purposes only and 118 | do not modify the License. You may add Your own attribution 119 | notices within Derivative Works that You distribute, alongside 120 | or as an addendum to the NOTICE text from the Work, provided 121 | that such additional attribution notices cannot be construed 122 | as modifying the License. 123 | 124 | You may add Your own copyright statement to Your modifications and 125 | may provide additional or different license terms and conditions 126 | for use, reproduction, or distribution of Your modifications, or 127 | for any such Derivative Works as a whole, provided Your use, 128 | reproduction, and distribution of the Work otherwise complies with 129 | the conditions stated in this License. 130 | 131 | 5. Submission of Contributions. Unless You explicitly state otherwise, 132 | any Contribution intentionally submitted for inclusion in the Work 133 | by You to the Licensor shall be under the terms and conditions of 134 | this License, without any additional terms or conditions. 135 | Notwithstanding the above, nothing herein shall supersede or modify 136 | the terms of any separate license agreement you may have executed 137 | with Licensor regarding such Contributions. 138 | 139 | 6. Trademarks. This License does not grant permission to use the trade 140 | names, trademarks, service marks, or product names of the Licensor, 141 | except as required for reasonable and customary use in describing the 142 | origin of the Work and reproducing the content of the NOTICE file. 143 | 144 | 7. Disclaimer of Warranty. Unless required by applicable law or 145 | agreed to in writing, Licensor provides the Work (and each 146 | Contributor provides its Contributions) on an "AS IS" BASIS, 147 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 148 | implied, including, without limitation, any warranties or conditions 149 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 150 | PARTICULAR PURPOSE. You are solely responsible for determining the 151 | appropriateness of using or redistributing the Work and assume any 152 | risks associated with Your exercise of permissions under this License. 153 | 154 | 8. Limitation of Liability. In no event and under no legal theory, 155 | whether in tort (including negligence), contract, or otherwise, 156 | unless required by applicable law (such as deliberate and grossly 157 | negligent acts) or agreed to in writing, shall any Contributor be 158 | liable to You for damages, including any direct, indirect, special, 159 | incidental, or consequential damages of any character arising as a 160 | result of this License or out of the use or inability to use the 161 | Work (including but not limited to damages for loss of goodwill, 162 | work stoppage, computer failure or malfunction, or any and all 163 | other commercial damages or losses), even if such Contributor 164 | has been advised of the possibility of such damages. 165 | 166 | 9. Accepting Warranty or Additional Liability. While redistributing 167 | the Work or Derivative Works thereof, You may choose to offer, 168 | and charge a fee for, acceptance of support, warranty, indemnity, 169 | or other liability obligations and/or rights consistent with this 170 | License. However, in accepting such obligations, You may act only 171 | on Your own behalf and on Your sole responsibility, not on behalf 172 | of any other Contributor, and only if You agree to indemnify, 173 | defend, and hold each Contributor harmless for any liability 174 | incurred by, or claims asserted against, such Contributor by reason 175 | of your accepting any such warranty or additional liability. 176 | 177 | END OF TERMS AND CONDITIONS 178 | 179 | APPENDIX: How to apply the Apache License to your work. 180 | 181 | To apply the Apache License to your work, attach the following 182 | boilerplate notice, with the fields enclosed by brackets "[]" 183 | replaced with your own identifying information. (Don't include 184 | the brackets!) The text should be enclosed in the appropriate 185 | comment syntax for the file format. We also recommend that a 186 | file or class name and description of purpose be included on the 187 | same "printed page" as the copyright notice for easier 188 | identification within third-party archives. 189 | 190 | Copyright [yyyy] [name of copyright owner] 191 | 192 | Licensed under the Apache License, Version 2.0 (the "License"); 193 | you may not use this file except in compliance with the License. 194 | You may obtain a copy of the License at 195 | 196 | http://www.apache.org/licenses/LICENSE-2.0 197 | 198 | Unless required by applicable law or agreed to in writing, software 199 | distributed under the License is distributed on an "AS IS" BASIS, 200 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 201 | See the License for the specific language governing permissions and 202 | limitations under the License. 203 | -------------------------------------------------------------------------------- /fonts/Roboto/Roboto-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/staruml/mdgen/c9f93f75c636cdcb8c5c4392a5a11bde4c2f72c1/fonts/Roboto/Roboto-Bold.ttf -------------------------------------------------------------------------------- /fonts/Roboto/Roboto-BoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/staruml/mdgen/c9f93f75c636cdcb8c5c4392a5a11bde4c2f72c1/fonts/Roboto/Roboto-BoldItalic.ttf -------------------------------------------------------------------------------- /fonts/Roboto/Roboto-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/staruml/mdgen/c9f93f75c636cdcb8c5c4392a5a11bde4c2f72c1/fonts/Roboto/Roboto-Italic.ttf -------------------------------------------------------------------------------- /fonts/Roboto/Roboto-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/staruml/mdgen/c9f93f75c636cdcb8c5c4392a5a11bde4c2f72c1/fonts/Roboto/Roboto-Regular.ttf -------------------------------------------------------------------------------- /fonts/Roboto/font.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "name" : "Roboto", 4 | "regular" : "Roboto-Regular.ttf", 5 | "italic" : "Roboto-Italic.ttf", 6 | "bold" : "Roboto-Bold.ttf", 7 | "boldItalic" : "Roboto-BoldItalic.ttf" 8 | } 9 | ] -------------------------------------------------------------------------------- /fonts/SourceCodePro/SourceCodePro-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/staruml/mdgen/c9f93f75c636cdcb8c5c4392a5a11bde4c2f72c1/fonts/SourceCodePro/SourceCodePro-Medium.ttf -------------------------------------------------------------------------------- /fonts/SourceCodePro/SourceCodePro-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/staruml/mdgen/c9f93f75c636cdcb8c5c4392a5a11bde4c2f72c1/fonts/SourceCodePro/SourceCodePro-Regular.ttf -------------------------------------------------------------------------------- /fonts/SourceCodePro/SourceCodePro-Semibold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/staruml/mdgen/c9f93f75c636cdcb8c5c4392a5a11bde4c2f72c1/fonts/SourceCodePro/SourceCodePro-Semibold.ttf -------------------------------------------------------------------------------- /fonts/SourceCodePro/font.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "name" : "Source Code Pro", 4 | "regular" : "SourceCodePro-Regular.ttf", 5 | "italic" : "SourceCodePro-Regular.ttf", 6 | "bold" : "SourceCodePro-Semibold.ttf", 7 | "boldItalic" : "SourceCodePro-Semibold.ttf" 8 | } 9 | ] -------------------------------------------------------------------------------- /fonts/SourceSansPro/SourceSansPro-It.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/staruml/mdgen/c9f93f75c636cdcb8c5c4392a5a11bde4c2f72c1/fonts/SourceSansPro/SourceSansPro-It.ttf -------------------------------------------------------------------------------- /fonts/SourceSansPro/SourceSansPro-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/staruml/mdgen/c9f93f75c636cdcb8c5c4392a5a11bde4c2f72c1/fonts/SourceSansPro/SourceSansPro-Light.ttf -------------------------------------------------------------------------------- /fonts/SourceSansPro/SourceSansPro-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/staruml/mdgen/c9f93f75c636cdcb8c5c4392a5a11bde4c2f72c1/fonts/SourceSansPro/SourceSansPro-Regular.ttf -------------------------------------------------------------------------------- /fonts/SourceSansPro/SourceSansPro-Semibold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/staruml/mdgen/c9f93f75c636cdcb8c5c4392a5a11bde4c2f72c1/fonts/SourceSansPro/SourceSansPro-Semibold.ttf -------------------------------------------------------------------------------- /fonts/SourceSansPro/SourceSansPro-SemiboldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/staruml/mdgen/c9f93f75c636cdcb8c5c4392a5a11bde4c2f72c1/fonts/SourceSansPro/SourceSansPro-SemiboldItalic.ttf -------------------------------------------------------------------------------- /fonts/SourceSansPro/font.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "name" : "Source Sans Pro", 4 | "regular" : "SourceSansPro-Regular.ttf", 5 | "italic" : "SourceSansPro-It.ttf", 6 | "bold" : "SourceSansPro-Semibold.ttf", 7 | "boldItalic" : "SourceSansPro-SemiboldItalic.ttf" 8 | } 9 | ] -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "mdgen", 3 | "version": "0.9.3", 4 | "description": "Template-based code generator for model-driven development", 5 | "main": "mdgen.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "https://staruml@github.com/staruml/mdgen.git" 12 | }, 13 | "author": "Minkyu Lee ", 14 | "license": "MIT", 15 | "dependencies": { 16 | "commander": "2.5.0", 17 | "fs-extra": "0.12.0", 18 | "metadata-json": "0.9.11", 19 | "ejs": "1.0.0", 20 | "markdown": "0.5.0" 21 | }, 22 | "bugs": { 23 | "url": "https://github.com/staruml/mdgen/issues" 24 | }, 25 | "homepage": "https://github.com/staruml/mdgen", 26 | "preferGlobal": true, 27 | "bin": { 28 | "mdgen": "bin/mdgen.js", 29 | "mdgen-render": "bin/mdgen-render.js", 30 | "mdgen-image": "bin/mdgen-image.js", 31 | "mdgen-pdf": "bin/mdgen-pdf.js", 32 | "mdgen-html": "bin/mdgen-html.js" 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /test/mdgen-out.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/staruml/mdgen/c9f93f75c636cdcb8c5c4392a5a11bde4c2f72c1/test/mdgen-out.pdf -------------------------------------------------------------------------------- /test/test.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |

<%= element.name %>

5 |
<%-: element.documentation | markdown %>
6 | 7 | 8 | --------------------------------------------------------------------------------