mirror of
https://github.com/octoleo/plantuml.git
synced 2024-10-31 19:22:31 +00:00
Integration of themes from Brett Schwarz
This commit is contained in:
parent
fcf10ee0a9
commit
f1d83b484c
@ -76,6 +76,11 @@
|
|||||||
<include name="**/*.skin" />
|
<include name="**/*.skin" />
|
||||||
</fileset>
|
</fileset>
|
||||||
</copy>
|
</copy>
|
||||||
|
<copy todir="build/themes">
|
||||||
|
<fileset dir="themes">
|
||||||
|
<include name="**/*.puml" />
|
||||||
|
</fileset>
|
||||||
|
</copy>
|
||||||
<copy todir="build/svg">
|
<copy todir="build/svg">
|
||||||
<fileset dir="svg">
|
<fileset dir="svg">
|
||||||
<include name="**/*.js" />
|
<include name="**/*.js" />
|
||||||
|
3
pom.xml
3
pom.xml
@ -35,7 +35,7 @@
|
|||||||
|
|
||||||
<groupId>net.sourceforge.plantuml</groupId>
|
<groupId>net.sourceforge.plantuml</groupId>
|
||||||
<artifactId>plantuml</artifactId>
|
<artifactId>plantuml</artifactId>
|
||||||
<version>1.2021.6-SNAPSHOT</version>
|
<version>1.2021.5-SNAPSHOT</version>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
<name>PlantUML</name>
|
<name>PlantUML</name>
|
||||||
@ -145,6 +145,7 @@
|
|||||||
<includes>
|
<includes>
|
||||||
<include>stdlib/**/*.repx</include>
|
<include>stdlib/**/*.repx</include>
|
||||||
<include>skin/**/*.skin</include>
|
<include>skin/**/*.skin</include>
|
||||||
|
<include>themes/**/*.puml</include>
|
||||||
<include>svg/**/*.css</include>
|
<include>svg/**/*.css</include>
|
||||||
<include>svg/**/*.js</include>
|
<include>svg/**/*.js</include>
|
||||||
</includes>
|
</includes>
|
||||||
|
@ -46,6 +46,6 @@ public interface Dedication {
|
|||||||
static public final BigInteger N = new BigInteger(
|
static public final BigInteger N = new BigInteger(
|
||||||
"64194259632025692228025828504368542164501926620236990850309916606915924860847417702229807236946186163298479808527077315212362810246237044147835839820235668271044023359607622658694578433933680627840319408427732468918341837133798296090069295727323673222224923200718714534955390633175683720810506099934813509605263799234445827953809462431871169282281822048299576307847441008670575692934434087522877910989584374673170522742162366773143807761599862833698229067475807108264396251702152180676841544743258182370105404479387062985271422237607462447989728490398294623785717593446941673706569352249533885603771123718557406286501161336667835919957553680522213067630956498293529840163155604109185561515875171125161872265975088797712442352939352686113608345330266855433849127812528823634773975825170679786399199082599910532761710473383280738663105826045325480095451410448217715495894688594898541182351588505292424154550388343455540760277051977859647543838445735549451966254020972172982014944475678385523833120793348365125754234511467512831686599126674298367512469557219326026525667529348508876650236597163509336304607610284488623800062157659286940214435134423619711736992281071131245654755167288438258292694799131521268600284444731890784171372171309");
|
"64194259632025692228025828504368542164501926620236990850309916606915924860847417702229807236946186163298479808527077315212362810246237044147835839820235668271044023359607622658694578433933680627840319408427732468918341837133798296090069295727323673222224923200718714534955390633175683720810506099934813509605263799234445827953809462431871169282281822048299576307847441008670575692934434087522877910989584374673170522742162366773143807761599862833698229067475807108264396251702152180676841544743258182370105404479387062985271422237607462447989728490398294623785717593446941673706569352249533885603771123718557406286501161336667835919957553680522213067630956498293529840163155604109185561515875171125161872265975088797712442352939352686113608345330266855433849127812528823634773975825170679786399199082599910532761710473383280738663105826045325480095451410448217715495894688594898541182351588505292424154550388343455540760277051977859647543838445735549451966254020972172982014944475678385523833120793348365125754234511467512831686599126674298367512469557219326026525667529348508876650236597163509336304607610284488623800062157659286940214435134423619711736992281071131245654755167288438258292694799131521268600284444731890784171372171309");
|
||||||
|
|
||||||
public BufferedImage getImage(String sentence);
|
public BufferedImage getImage(TinyHashableString sentence);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -58,27 +58,28 @@ public class DedicationCrypted implements Dedication {
|
|||||||
this.tinyHash = tinyHash;
|
this.tinyHash = tinyHash;
|
||||||
}
|
}
|
||||||
|
|
||||||
public synchronized BufferedImage getImage(final String sentence) {
|
public synchronized BufferedImage getImage(final TinyHashableString sentence) {
|
||||||
if (sentence.length() < 40) {
|
final String line = sentence.getSentence();
|
||||||
|
|
||||||
|
if (line.length() < 40) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if (solution == null || sentence.equals(this.solution) == false) {
|
if (solution == null || line.equals(this.solution) == false) {
|
||||||
if (System.currentTimeMillis() < next) {
|
if (System.currentTimeMillis() < next) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
final int tinyHash = Noise.shortHash(sentence.getBytes("UTF-8"), N.toByteArray());
|
if (this.tinyHash != sentence.tinyHash()) {
|
||||||
if (this.tinyHash != tinyHash) {
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
this.next = System.currentTimeMillis() + 5000L;
|
this.next = System.currentTimeMillis() + 5000L;
|
||||||
}
|
}
|
||||||
|
|
||||||
final byte[] hash1 = Noise.computeArgon2bytes(sentence.getBytes("UTF-8"),
|
final byte[] hash1 = Noise.computeArgon2bytes(line.getBytes("UTF-8"),
|
||||||
(pq.toString(35) + sentence).getBytes("UTF-8"));
|
(pq.toString(35) + line).getBytes("UTF-8"));
|
||||||
final byte[] hash2 = Noise.computeArgon2bytes(sentence.getBytes("UTF-8"),
|
final byte[] hash2 = Noise.computeArgon2bytes(line.getBytes("UTF-8"),
|
||||||
(pq.toString(36) + sentence).getBytes("UTF-8"));
|
(pq.toString(36) + line).getBytes("UTF-8"));
|
||||||
|
|
||||||
final BlumBlumShub rndBBS = new BlumBlumShub(pq, hash1);
|
final BlumBlumShub rndBBS = new BlumBlumShub(pq, hash1);
|
||||||
final MTRandom rndMT = new MTRandom(hash2);
|
final MTRandom rndMT = new MTRandom(hash2);
|
||||||
@ -86,7 +87,7 @@ public class DedicationCrypted implements Dedication {
|
|||||||
byte[] current = crypted.clone();
|
byte[] current = crypted.clone();
|
||||||
Noise.shuffle(current, rndMT);
|
Noise.shuffle(current, rndMT);
|
||||||
Noise.xor(current, rndBBS);
|
Noise.xor(current, rndBBS);
|
||||||
Noise.xor(current, sentence.getBytes("UTF-8"));
|
Noise.xor(current, line.getBytes("UTF-8"));
|
||||||
|
|
||||||
Noise.shuffle(current, rndMT);
|
Noise.shuffle(current, rndMT);
|
||||||
|
|
||||||
@ -98,7 +99,7 @@ public class DedicationCrypted implements Dedication {
|
|||||||
Noise.shuffle(current, rndMT);
|
Noise.shuffle(current, rndMT);
|
||||||
Noise.xor(current, rndBBS);
|
Noise.xor(current, rndBBS);
|
||||||
|
|
||||||
final String argon = Noise.computeArgon2String(current, (pq.toString(34) + sentence).getBytes("UTF-8"));
|
final String argon = Noise.computeArgon2String(current, (pq.toString(34) + line).getBytes("UTF-8"));
|
||||||
|
|
||||||
if (this.argon2.equals(argon) == false) {
|
if (this.argon2.equals(argon) == false) {
|
||||||
return null;
|
return null;
|
||||||
@ -107,7 +108,7 @@ public class DedicationCrypted implements Dedication {
|
|||||||
current = Noise.reverse(current, rndMT.nextInt());
|
current = Noise.reverse(current, rndMT.nextInt());
|
||||||
|
|
||||||
final BufferedImage img = PSystemDedication.getBufferedImage(new ByteArrayInputStream(current));
|
final BufferedImage img = PSystemDedication.getBufferedImage(new ByteArrayInputStream(current));
|
||||||
this.solution = sentence;
|
this.solution = line;
|
||||||
return img;
|
return img;
|
||||||
} catch (Throwable t) {
|
} catch (Throwable t) {
|
||||||
t.printStackTrace();
|
t.printStackTrace();
|
||||||
|
@ -48,8 +48,8 @@ public class DedicationSimple implements Dedication {
|
|||||||
this.sentence = sentence;
|
this.sentence = sentence;
|
||||||
}
|
}
|
||||||
|
|
||||||
public synchronized BufferedImage getImage(String sentence) {
|
public synchronized BufferedImage getImage(TinyHashableString sentence) {
|
||||||
if (same(this.sentence, sentence) == false) {
|
if (same(this.sentence, sentence.getSentence()) == false) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -50,7 +50,6 @@ public class Dedications {
|
|||||||
private static final List<Dedication> all = new ArrayList<Dedication>();
|
private static final List<Dedication> all = new ArrayList<Dedication>();
|
||||||
|
|
||||||
static {
|
static {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
all.add(new DedicationSimple(load("dedication"), "Write your own dedication!"));
|
all.add(new DedicationSimple(load("dedication"), "Write your own dedication!"));
|
||||||
all.add(new DedicationSimple(load("linux_china"), "linux_china"));
|
all.add(new DedicationSimple(load("linux_china"), "linux_china"));
|
||||||
@ -62,8 +61,8 @@ public class Dedications {
|
|||||||
"1182423723677118831606503500858825217076578422970565964857326298418401529955036896808663335300684244453386039908536275400945824932191521017102701344437753036730900076162922741167523337650578479960119614237031234925702200473053235777")));
|
"1182423723677118831606503500858825217076578422970565964857326298418401529955036896808663335300684244453386039908536275400945824932191521017102701344437753036730900076162922741167523337650578479960119614237031234925702200473053235777")));
|
||||||
all.add(secret(3, "514816d583044efbd336882227deb822194ff63e3bdc3cf707a01f17770d5a6a", new BigInteger(
|
all.add(secret(3, "514816d583044efbd336882227deb822194ff63e3bdc3cf707a01f17770d5a6a", new BigInteger(
|
||||||
"538955952645999836068094511687012232127213955837942782605199622268460518023083462090291844640318324475656060087513198129259364840841077651829017347845508167869708224054456044836844382437974410757740941102771969965334031780041648873")));
|
"538955952645999836068094511687012232127213955837942782605199622268460518023083462090291844640318324475656060087513198129259364840841077651829017347845508167869708224054456044836844382437974410757740941102771969965334031780041648873")));
|
||||||
} catch (IOException e) {
|
} catch (Throwable t) {
|
||||||
e.printStackTrace();
|
t.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -82,8 +81,9 @@ public class Dedications {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public synchronized static BufferedImage get(String line) {
|
public synchronized static BufferedImage get(String line) {
|
||||||
|
final TinyHashableString sentence = new TinyHashableString(line);
|
||||||
for (Dedication dedication : all) {
|
for (Dedication dedication : all) {
|
||||||
final BufferedImage image = dedication.getImage(line);
|
final BufferedImage image = dedication.getImage(sentence);
|
||||||
if (image != null) {
|
if (image != null) {
|
||||||
return image;
|
return image;
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,61 @@
|
|||||||
|
/* ========================================================================
|
||||||
|
* PlantUML : a free UML diagram generator
|
||||||
|
* ========================================================================
|
||||||
|
*
|
||||||
|
* (C) Copyright 2009-2020, Arnaud Roques
|
||||||
|
*
|
||||||
|
* Project Info: http://plantuml.com
|
||||||
|
*
|
||||||
|
* If you like this project or if you find it useful, you can support us at:
|
||||||
|
*
|
||||||
|
* http://plantuml.com/patreon (only 1$ per month!)
|
||||||
|
* http://plantuml.com/paypal
|
||||||
|
*
|
||||||
|
* This file is part of PlantUML.
|
||||||
|
*
|
||||||
|
* PlantUML is free software; you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* PlantUML distributed in the hope that it will be useful, but
|
||||||
|
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||||
|
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
|
||||||
|
* License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||||
|
* USA.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* Original Author: Arnaud Roques
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
package net.sourceforge.plantuml.dedication;
|
||||||
|
|
||||||
|
import java.io.UnsupportedEncodingException;
|
||||||
|
|
||||||
|
public final class TinyHashableString {
|
||||||
|
|
||||||
|
private final String sentence;
|
||||||
|
private int cachedTinyHash = -1;
|
||||||
|
|
||||||
|
public TinyHashableString(String sentence) {
|
||||||
|
this.sentence = sentence;
|
||||||
|
}
|
||||||
|
|
||||||
|
public final String getSentence() {
|
||||||
|
return sentence;
|
||||||
|
}
|
||||||
|
|
||||||
|
public final synchronized int tinyHash() throws UnsupportedEncodingException {
|
||||||
|
if (cachedTinyHash == -1) {
|
||||||
|
cachedTinyHash = Noise.shortHash(sentence.getBytes("UTF-8"), Dedication.N.toByteArray());
|
||||||
|
}
|
||||||
|
return cachedTinyHash;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -69,28 +69,28 @@ public class PSystemDonors extends PlainDiagram {
|
|||||||
private static final int COLS = 6;
|
private static final int COLS = 6;
|
||||||
private static final int FREE_LINES = 6;
|
private static final int FREE_LINES = 6;
|
||||||
|
|
||||||
public static final String DONORS = "6sWD0AmFkBap0wp4H6CjU-RENbb-8cPf4i7oFA4uiOZJNK3y0UwT7lSRwI-YAxltJJEYrckJSaPHV13q"
|
public static final String DONORS = "6vOD0AmFkBap0wp4H6CjU-RENbb-8cPf4i7oFA4uiOZJNK3y0UwT7lSRwI-YAxltJJEYrckJSaPHV13q"
|
||||||
+ "W7UtXVQXzBy-27EYV0Z-tGWU80D4ITH6jIptfDXjcof3Il3lEr_v9UWTth51eZbAgyMHwq-_8GFlEsFp"
|
+ "W7UtXVQXzBy-27EYV0Z-tGWU80D4ITH6jIptfDXjcof3Il3lEr_v9UWTth51eZbAgyMHwq-_8GFlEsFp"
|
||||||
+ "x3GsNZsQe2y2FmRsrVzTJelBGo7Cqcm5Hc3KQOHRtMF_7mLLrwXs9rN3JZ-cKxagXgkYAh7PzgQ8LjBS"
|
+ "x3GsNZsQe2y2FmRsrR-VEbkNgqAOfRiL685HqGYNCPbxlHVLei9NiFDHmqu_fbCfgiEXMfNOR7jJH2jf"
|
||||||
+ "CIlKjVDHeyb5CMafKjoja8RRw4neoCdi4sI31eqVweVmPdE5fOmpWJZQ4A7hwxqT-quilr3YWyWHOe7X"
|
+ "xfWLwjlvgDNaeXWfHKgW5T8869q9ZJcPVP9iqA3nI_qGtcoki9Hn9X176o9qVRstSz-9vHT9V33oXbXW"
|
||||||
+ "WJcGSbWMKUBSKD1m262ecqKrjgHopnCZAFpGGjxyeP5KF5BEd0uN3QS7GE3s32gGz44Dcd1sw6v0nP5i"
|
+ "hC0SI3ao5b7qt53Gy0fWg9z5DRQqSi-JL53aG0jvyuz6Kl58ENCwN3Hy7W11m3EeGD87DMh2sSBTW4eY"
|
||||||
+ "qM69gwwC6qlpTLYUoXv9myt4mic2La0DGVu7NU3fiSP7KsVR38wadYPvdROIzMVYxRJD1NsZQvE4zRMr"
|
+ "sQBJ4bUT7JUMbkkmFAMFfE7fnCB7WbP03K6IWoxmz5ZZewcpRGP7Ka-Jl4vRXVepunsqpGLzOskJXFMr"
|
||||||
+ "QQQFAqLP8jMrZS_HNlC8mDrIAw_uCkQ8vm3DVlEg8giVBP0VWUwh2LloPzdlB2GXh6tO1-ewLnyULOHZ"
|
+ "lMdcZ2j1MIBLjOtFqLxp2C3TKYkl-3BcYEO0pNxpgYAh7osG7u4UgWbRycVPxonaGrZRi0_KTQuvFAe8"
|
||||||
+ "CcIQMCVlPjjhsIzq1IORaB02BEdlXgyhJN2mXQvS7W6Uq2gcMUS3XRIqUh_eyMNjFk6QOebxuwBtCS9I"
|
+ "9sJ8DB5Etissr_GNkhZ91YMi08lydl9rjWaEjj3LaaU09xHAQDRvH24jhTulUdnPkq-ufaJYtgZeVOom"
|
||||||
+ "-kzNVPWPYWDqeCmiw9e5Yt8rhTgBBOXWZz2f0JU5P2ESLzVbkFguI1_v2O2ta16GmuRG2F7yaahNKGZL"
|
+ "bFxxLHzcXk807Imp2xhfWcLmDQqwYYs8O8_GYG4tXMGZd5VNvRZwk4WV-Gc0DvKHaCE6eGdY-MKhNKSX"
|
||||||
+ "aQbhqbm0p9zMsgBXieH1kNP1DwDAB5HMgprELsVwiZ5td_J1yrQ3COfZEgcniDozAjB3i5WrchDtQqTf"
|
+ "L4Ucharp0R3rjD8M3Ryb32gq2xeLLIAXibhjSRewqvUDBVT97pnlDnYZEAQpDHQMkrT5UXYMg4Qplbix"
|
||||||
+ "Ji4p-JZEgzvpC5S1hYsyHtnmppyo46TwPI1ISiXZtuT_PEbMOJ6BDjVDgdHNzOE3Xsu-S3UBPZ6ZJ1wo"
|
+ "H7CAhl9nabUzPpvN0Qujl4TzSCy_Cg1dUcKWKdp8Oz-7VsJfLc4nItYkcrNfhke71m_TSk1k5irXHfay"
|
||||||
+ "B1WSJqHB_KhafoN3tq78PlbhTR5Fi3bTfuO8CxBWzjBacfeSqt2OpdAix2A4HorUSIeeN4ImbwKbsSAc"
|
+ "P1eCZYQYfNubyjEIuMyUifg_rXJx15lJTMQ8C2C9RYzDRgZ9CGslwIp7nIv2PAh5AqxnmWK5UrdX95lO"
|
||||||
+ "K7d6wb58oE-OJo9IMHPA0zQMkmBFf7iKvE6y1rOjgrjJIIwWYcmcY4aBLhLKSQIl1J9mhQ9dfdLY-zC2"
|
+ "52hFM3qE2VcTy4b4geo5qeYrvQx2Cx97GHxEUsJLiherbUG2gincWeYqO5LB5KVwMY03rofwPbidjZyj"
|
||||||
+ "2-hI7cFY38VYAoRQgjoGWIamCqJuXK4afW-afVIIaqG4_kVFNUgbrphuyPqnV38EaZqa4L15ndJgYMgc"
|
+ "i60kxJ4cLXoAhvXektA3WYamCuJoXK4aAWEDKdhPaqG4_kVFNUh9jGxh-CuOFXa7oHwI2AX2cSuyKStK"
|
||||||
+ "xdOC6yPwYRzVB-Nc8_ZphptQvDHez_mCGRGE4W8mmWkubFk54JmD_7Ksz08EiKA8DXAkNBNqB92mO3FU"
|
+ "quvXmrYlyVVhfTny17_-jKURd9hidfyXYDP1L016U06NSdymWgU1lyw6MO13hA2YZOGhromz2IGis89t"
|
||||||
+ "kObwS9jHlOd9ScDoqIloGnN_DfMeS38swBY8fJXQBAdIoyrgK0Ljt_okmqqEYh-BAaCYkUpDpcGaR1Ig"
|
+ "RgBERpEQDp5PRbmkUaL-g9BVvdQuc0wnGST59CNHOacLNcvMWugtVSkx3ZSv3FnTL1aMoMMldib8o2XK"
|
||||||
+ "E3V7RcqOch4P0tXG7RK9jDtrsscMLuqvNv5K6Pu6vDiDEPNg4LfOKzFoiH1OBSRjlQNzbDFZFnde5zGw"
|
+ "SMwFtTemD6EL0LPG7RK9mhlhjzCihnfplWAfCbm1yjs6d4hr22sigMd5M0Yi4UFsthRzbDFZFndenskj"
|
||||||
+ "-zYhXuQ3N5tVRgBXMnUadp6I62vITaJGMsfEBF3mJGHvKIsKZgLjC-pimGhv3RoC5n8EsS47abfUfQno"
|
+ "7tlrq7YGg-lVJJHyEuBfvumaXelO7H76BJKd4dZu9eYyg1PAnzAE6NQUO8Ny1b_62mb7xE03crfUfQno"
|
||||||
+ "GmxTGlQEQfIVAAA6i40kB5ReAcAXbEE154d1dDKoaI7be2_OrnE0KnGSx-yj29UTQ7v6i_RsZ48obsxk"
|
+ "GuwnXUoTrIW_8KGD8O5SMApKLSH2ASS3APA2EQjbD4FAGLzmTay0Jb5mlB-t8PoUQ7v1i_RsZ48obsFk"
|
||||||
+ "9XL4DfoVHMAJagqUER2VbhbiyuhSZbgamuvzExxZVFiZwkQB2382CIq9NgiBVNTZbraQDjEUwpGuZilS"
|
+ "9HL4CfoVHMAJagq1ER0lPIxRkYAtinRfi1FVZkyut_c8klKY0YKGfIHuRIxqtOtzPcdOb9xhDJYEoxmy"
|
||||||
+ "F9Zy0dP5EqyPs1ecMv2bR0OgdWGWTiYWmenNyglvY6lE1VBl_KOf33JXUU8qkl5S2rQHhJOY9GrekSaI"
|
+ "cFn2TaKxNndO6YTRaELi1YgU121sKAXGUML-jHznpJb5_htVA8M19ZnFdKOtdkl0Ah8rHgIa0IqtMOHh"
|
||||||
+ "klRzZfkS72YSM6nmOOcvqSC4YawlKsq_QRCiWqeKBXLVsCEiPbEgV6JOGNFPQkVLzWG0";
|
+ "t--voSc1med41XUMcXizJABez3hLZfCswycW4eLBnMJtCAlPb2eV6NRGN3PDdVO4YoM1LTrvjQ8J";
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Special thanks to our sponsors and donors:
|
* Special thanks to our sponsors and donors:
|
||||||
|
@ -79,6 +79,7 @@ import net.sourceforge.plantuml.cucadiagram.entity.EntityFactory;
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
import org.eclipse.elk.core.RecursiveGraphLayoutEngine;
|
import org.eclipse.elk.core.RecursiveGraphLayoutEngine;
|
||||||
|
import org.eclipse.elk.core.math.ElkPadding;
|
||||||
import org.eclipse.elk.core.options.CoreOptions;
|
import org.eclipse.elk.core.options.CoreOptions;
|
||||||
import org.eclipse.elk.core.options.Direction;
|
import org.eclipse.elk.core.options.Direction;
|
||||||
import org.eclipse.elk.core.options.EdgeLabelPlacement;
|
import org.eclipse.elk.core.options.EdgeLabelPlacement;
|
||||||
@ -92,6 +93,7 @@ import org.eclipse.elk.graph.util.ElkGraphUtil;
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
import net.sourceforge.plantuml.elk.proxy.core.RecursiveGraphLayoutEngine;
|
import net.sourceforge.plantuml.elk.proxy.core.RecursiveGraphLayoutEngine;
|
||||||
|
import net.sourceforge.plantuml.elk.proxy.core.math.ElkPadding;
|
||||||
import net.sourceforge.plantuml.elk.proxy.core.options.CoreOptions;
|
import net.sourceforge.plantuml.elk.proxy.core.options.CoreOptions;
|
||||||
import net.sourceforge.plantuml.elk.proxy.core.options.Direction;
|
import net.sourceforge.plantuml.elk.proxy.core.options.Direction;
|
||||||
import net.sourceforge.plantuml.elk.proxy.core.options.EdgeLabelPlacement;
|
import net.sourceforge.plantuml.elk.proxy.core.options.EdgeLabelPlacement;
|
||||||
@ -406,6 +408,7 @@ public class CucaDiagramFileMakerElk implements CucaDiagramFileMaker {
|
|||||||
// We create the "cluster" in ELK for this group
|
// We create the "cluster" in ELK for this group
|
||||||
final ElkNode elkCluster = ElkGraphUtil.createNode(cluster);
|
final ElkNode elkCluster = ElkGraphUtil.createNode(cluster);
|
||||||
elkCluster.setProperty(CoreOptions.DIRECTION, Direction.DOWN);
|
elkCluster.setProperty(CoreOptions.DIRECTION, Direction.DOWN);
|
||||||
|
elkCluster.setProperty(CoreOptions.PADDING, new ElkPadding(40, 15, 15, 15));
|
||||||
|
|
||||||
// Not sure this is usefull to put a label on a "cluster"
|
// Not sure this is usefull to put a label on a "cluster"
|
||||||
final ElkLabel label = ElkGraphUtil.createLabel(elkCluster);
|
final ElkLabel label = ElkGraphUtil.createLabel(elkCluster);
|
||||||
|
@ -0,0 +1,7 @@
|
|||||||
|
package net.sourceforge.plantuml.elk.proxy;
|
||||||
|
|
||||||
|
public interface ElkObjectProxy {
|
||||||
|
|
||||||
|
public Object getTrueObject();
|
||||||
|
|
||||||
|
}
|
@ -1,7 +0,0 @@
|
|||||||
package net.sourceforge.plantuml.elk.proxy;
|
|
||||||
|
|
||||||
public interface EnumProxy {
|
|
||||||
|
|
||||||
public Enum getTrueObject();
|
|
||||||
|
|
||||||
}
|
|
@ -100,6 +100,17 @@ public class Reflect {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static Object newInstance(String className, double arg1, double arg2, double arg3, double arg4) {
|
||||||
|
try {
|
||||||
|
final Class<?> cl = Class.forName(className);
|
||||||
|
final Constructor<?> m = cl.getConstructor(Double.TYPE, Double.TYPE, Double.TYPE, Double.TYPE);
|
||||||
|
return m.newInstance(arg1, arg2, arg3, arg4);
|
||||||
|
} catch (Throwable t) {
|
||||||
|
t.printStackTrace();
|
||||||
|
throw new IllegalArgumentException(t);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static Object field(String className, String fieldName) {
|
public static Object field(String className, String fieldName) {
|
||||||
try {
|
try {
|
||||||
final Class<?> cl = Class.forName(className);
|
final Class<?> cl = Class.forName(className);
|
||||||
|
@ -0,0 +1,19 @@
|
|||||||
|
package net.sourceforge.plantuml.elk.proxy.core.math;
|
||||||
|
|
||||||
|
import net.sourceforge.plantuml.elk.proxy.ElkObjectProxy;
|
||||||
|
import net.sourceforge.plantuml.elk.proxy.Reflect;
|
||||||
|
|
||||||
|
public class ElkPadding implements ElkObjectProxy {
|
||||||
|
|
||||||
|
public final Object obj;
|
||||||
|
|
||||||
|
public ElkPadding(double top, double right, double bottom, double left) {
|
||||||
|
this.obj = Reflect.newInstance("org.eclipse.elk.core.math.ElkPadding", top, right, bottom, left);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object getTrueObject() {
|
||||||
|
return obj;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -12,5 +12,6 @@ public class CoreOptions {
|
|||||||
public static final Object EDGE_TYPE = Reflect.field("org.eclipse.elk.core.options.CoreOptions", "EDGE_TYPE");
|
public static final Object EDGE_TYPE = Reflect.field("org.eclipse.elk.core.options.CoreOptions", "EDGE_TYPE");
|
||||||
public static final Object NODE_LABELS_PLACEMENT = Reflect.field("org.eclipse.elk.core.options.CoreOptions", "NODE_LABELS_PLACEMENT");
|
public static final Object NODE_LABELS_PLACEMENT = Reflect.field("org.eclipse.elk.core.options.CoreOptions", "NODE_LABELS_PLACEMENT");
|
||||||
public static final Object NODE_SIZE_OPTIONS = Reflect.field("org.eclipse.elk.core.options.CoreOptions", "NODE_SIZE_OPTIONS");
|
public static final Object NODE_SIZE_OPTIONS = Reflect.field("org.eclipse.elk.core.options.CoreOptions", "NODE_SIZE_OPTIONS");
|
||||||
|
public static final Object PADDING = Reflect.field("org.eclipse.elk.core.options.CoreOptions", "PADDING");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
package net.sourceforge.plantuml.elk.proxy.core.options;
|
package net.sourceforge.plantuml.elk.proxy.core.options;
|
||||||
|
|
||||||
import net.sourceforge.plantuml.elk.proxy.EnumProxy;
|
import net.sourceforge.plantuml.elk.proxy.ElkObjectProxy;
|
||||||
import net.sourceforge.plantuml.elk.proxy.Reflect;
|
import net.sourceforge.plantuml.elk.proxy.Reflect;
|
||||||
|
|
||||||
public enum EdgeLabelPlacement implements EnumProxy {
|
public enum EdgeLabelPlacement implements ElkObjectProxy {
|
||||||
|
|
||||||
TAIL, HEAD;
|
TAIL, HEAD;
|
||||||
|
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
package net.sourceforge.plantuml.elk.proxy.core.options;
|
package net.sourceforge.plantuml.elk.proxy.core.options;
|
||||||
|
|
||||||
import net.sourceforge.plantuml.elk.proxy.EnumProxy;
|
import net.sourceforge.plantuml.elk.proxy.ElkObjectProxy;
|
||||||
import net.sourceforge.plantuml.elk.proxy.Reflect;
|
import net.sourceforge.plantuml.elk.proxy.Reflect;
|
||||||
|
|
||||||
public enum NodeLabelPlacement implements EnumProxy {
|
public enum NodeLabelPlacement implements ElkObjectProxy {
|
||||||
|
|
||||||
INSIDE, V_CENTER, H_CENTER;
|
INSIDE, V_CENTER, H_CENTER;
|
||||||
|
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
package net.sourceforge.plantuml.elk.proxy.core.options;
|
package net.sourceforge.plantuml.elk.proxy.core.options;
|
||||||
|
|
||||||
import net.sourceforge.plantuml.elk.proxy.EnumProxy;
|
import net.sourceforge.plantuml.elk.proxy.ElkObjectProxy;
|
||||||
import net.sourceforge.plantuml.elk.proxy.Reflect;
|
import net.sourceforge.plantuml.elk.proxy.Reflect;
|
||||||
|
|
||||||
public enum SizeConstraint implements EnumProxy {
|
public enum SizeConstraint implements ElkObjectProxy {
|
||||||
NODE_LABELS;
|
NODE_LABELS;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -3,7 +3,7 @@ package net.sourceforge.plantuml.elk.proxy.graph;
|
|||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.EnumSet;
|
import java.util.EnumSet;
|
||||||
|
|
||||||
import net.sourceforge.plantuml.elk.proxy.EnumProxy;
|
import net.sourceforge.plantuml.elk.proxy.ElkObjectProxy;
|
||||||
import net.sourceforge.plantuml.elk.proxy.Reflect;
|
import net.sourceforge.plantuml.elk.proxy.Reflect;
|
||||||
|
|
||||||
public class ElkWithProperty {
|
public class ElkWithProperty {
|
||||||
@ -32,15 +32,15 @@ public class ElkWithProperty {
|
|||||||
if (value instanceof EnumSet) {
|
if (value instanceof EnumSet) {
|
||||||
EnumSet result = null;
|
EnumSet result = null;
|
||||||
for (Object foo : (Collection) value) {
|
for (Object foo : (Collection) value) {
|
||||||
final EnumProxy elk = (EnumProxy) foo;
|
final ElkObjectProxy elk = (ElkObjectProxy) foo;
|
||||||
if (result == null) {
|
if (result == null) {
|
||||||
result = EnumSet.noneOf((Class) elk.getClass());
|
result = EnumSet.noneOf((Class) elk.getClass());
|
||||||
}
|
}
|
||||||
result.add(elk);
|
result.add(elk);
|
||||||
}
|
}
|
||||||
Reflect.call2(obj, "setProperty", key, result);
|
Reflect.call2(obj, "setProperty", key, result);
|
||||||
} else if (value instanceof EnumProxy) {
|
} else if (value instanceof ElkObjectProxy) {
|
||||||
final Enum elk = ((EnumProxy) value).getTrueObject();
|
final Object elk = ((ElkObjectProxy) value).getTrueObject();
|
||||||
Reflect.call2(obj, "setProperty", key, elk);
|
Reflect.call2(obj, "setProperty", key, elk);
|
||||||
} else {
|
} else {
|
||||||
Reflect.call2(obj, "setProperty", key, value);
|
Reflect.call2(obj, "setProperty", key, value);
|
||||||
|
@ -90,6 +90,17 @@ public class PreprocessorUtils {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static ReadLine getReaderTheme(StringLocated s, String filename) {
|
||||||
|
Log.info("Loading theme " + filename);
|
||||||
|
final String res = "/themes/puml-theme-" + filename + ".puml";
|
||||||
|
final String description = "<" + res + ">";
|
||||||
|
final InputStream is = Stdlib.class.getResourceAsStream(res);
|
||||||
|
if (is == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return ReadLineReader.create(new InputStreamReader(is), description);
|
||||||
|
}
|
||||||
|
|
||||||
public static ReadLine getReaderStdlibInclude(StringLocated s, String filename) {
|
public static ReadLine getReaderStdlibInclude(StringLocated s, String filename) {
|
||||||
Log.info("Loading sdlib " + filename);
|
Log.info("Loading sdlib " + filename);
|
||||||
InputStream is = getStdlibInputStream(filename);
|
InputStream is = getStdlibInputStream(filename);
|
||||||
|
@ -43,7 +43,6 @@ import net.sourceforge.plantuml.project.core.TaskAttribute;
|
|||||||
import net.sourceforge.plantuml.project.core.TaskInstant;
|
import net.sourceforge.plantuml.project.core.TaskInstant;
|
||||||
import net.sourceforge.plantuml.project.draw.TaskDraw;
|
import net.sourceforge.plantuml.project.draw.TaskDraw;
|
||||||
import net.sourceforge.plantuml.project.timescale.TimeScale;
|
import net.sourceforge.plantuml.project.timescale.TimeScale;
|
||||||
import net.sourceforge.plantuml.style.ClockwiseTopRightBottomLeft;
|
|
||||||
import net.sourceforge.plantuml.style.PName;
|
import net.sourceforge.plantuml.style.PName;
|
||||||
import net.sourceforge.plantuml.style.SName;
|
import net.sourceforge.plantuml.style.SName;
|
||||||
import net.sourceforge.plantuml.style.Style;
|
import net.sourceforge.plantuml.style.Style;
|
||||||
|
@ -118,6 +118,7 @@ public class GanttDiagram extends TitledDiagram implements ToTaskDraw, WithSprit
|
|||||||
private final Map<Day, HColor> colorDays = new HashMap<Day, HColor>();
|
private final Map<Day, HColor> colorDays = new HashMap<Day, HColor>();
|
||||||
private final Map<DayOfWeek, HColor> colorDaysOfWeek = new HashMap<DayOfWeek, HColor>();
|
private final Map<DayOfWeek, HColor> colorDaysOfWeek = new HashMap<DayOfWeek, HColor>();
|
||||||
private final Map<Day, String> nameDays = new HashMap<Day, String>();
|
private final Map<Day, String> nameDays = new HashMap<Day, String>();
|
||||||
|
private LabelStrategy labelStrategy = LabelStrategy.LEGACY;
|
||||||
|
|
||||||
// Let's follow ISO-8601 rules
|
// Let's follow ISO-8601 rules
|
||||||
private WeekNumberStrategy weekNumberStrategy = new WeekNumberStrategy(DayOfWeek.MONDAY, 4);
|
private WeekNumberStrategy weekNumberStrategy = new WeekNumberStrategy(DayOfWeek.MONDAY, 4);
|
||||||
@ -218,6 +219,8 @@ public class GanttDiagram extends TitledDiagram implements ToTaskDraw, WithSprit
|
|||||||
|
|
||||||
public void drawU(UGraphic ug) {
|
public void drawU(UGraphic ug) {
|
||||||
try {
|
try {
|
||||||
|
final UGraphic ugOrig = ug;
|
||||||
|
ug = ug.apply(UTranslate.dx(getLeftColumnWidth(ug.getStringBounder())));
|
||||||
final Style timelineStyle = StyleSignature
|
final Style timelineStyle = StyleSignature
|
||||||
.of(SName.root, SName.element, SName.ganttDiagram, SName.timeline)
|
.of(SName.root, SName.element, SName.ganttDiagram, SName.timeline)
|
||||||
.getMergedStyle(getCurrentStyleBuilder());
|
.getMergedStyle(getCurrentStyleBuilder());
|
||||||
@ -236,7 +239,7 @@ public class GanttDiagram extends TitledDiagram implements ToTaskDraw, WithSprit
|
|||||||
|
|
||||||
drawConstraints(ug, timeHeader.getTimeScale());
|
drawConstraints(ug, timeHeader.getTimeScale());
|
||||||
drawTasksRect(ug);
|
drawTasksRect(ug);
|
||||||
drawTasksTitle(ug);
|
drawTasksTitle(ugOrig, getLeftColumnWidth(ug.getStringBounder()));
|
||||||
drawResources(ug);
|
drawResources(ug);
|
||||||
if (showFootbox) {
|
if (showFootbox) {
|
||||||
timeHeader.drawTimeFooter(ug.apply(UTranslate.dy(totalHeightWithoutFooter)));
|
timeHeader.drawTimeFooter(ug.apply(UTranslate.dy(totalHeightWithoutFooter)));
|
||||||
@ -249,6 +252,13 @@ public class GanttDiagram extends TitledDiagram implements ToTaskDraw, WithSprit
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private double getLeftColumnWidth(StringBounder stringBounder) {
|
||||||
|
if (labelStrategy == LabelStrategy.LEGACY) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
return getLeftColumnWidthInternal(stringBounder);
|
||||||
|
}
|
||||||
|
|
||||||
public Rectangle2D getInnerPosition(String member, StringBounder stringBounder, InnerStrategy strategy) {
|
public Rectangle2D getInnerPosition(String member, StringBounder stringBounder, InnerStrategy strategy) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@ -256,7 +266,8 @@ public class GanttDiagram extends TitledDiagram implements ToTaskDraw, WithSprit
|
|||||||
public Dimension2D calculateDimension(StringBounder stringBounder) {
|
public Dimension2D calculateDimension(StringBounder stringBounder) {
|
||||||
final double xmin = timeHeader.getTimeScale().getStartingPosition(min);
|
final double xmin = timeHeader.getTimeScale().getStartingPosition(min);
|
||||||
final double xmax = timeHeader.getTimeScale().getEndingPosition(max);
|
final double xmax = timeHeader.getTimeScale().getEndingPosition(max);
|
||||||
return new Dimension2DDouble(xmax - xmin, getTotalHeight(timeHeader));
|
return new Dimension2DDouble(getLeftColumnWidth(stringBounder) + xmax - xmin,
|
||||||
|
getTotalHeight(timeHeader));
|
||||||
}
|
}
|
||||||
|
|
||||||
public MinMax getMinMax(StringBounder stringBounder) {
|
public MinMax getMinMax(StringBounder stringBounder) {
|
||||||
@ -327,14 +338,26 @@ public class GanttDiagram extends TitledDiagram implements ToTaskDraw, WithSprit
|
|||||||
return StyleSignature.of(SName.root, SName.element, SName.ganttDiagram, SName.arrow);
|
return StyleSignature.of(SName.root, SName.element, SName.ganttDiagram, SName.arrow);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void drawTasksTitle(final UGraphic ug1) {
|
private double getLeftColumnWidthInternal(StringBounder stringBounder) {
|
||||||
|
double width = 0;
|
||||||
for (Task task : tasks.values()) {
|
for (Task task : tasks.values()) {
|
||||||
if (isHidden(task)) {
|
if (isHidden(task)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
final TaskDraw draw = draws.get(task);
|
final TaskDraw draw = draws.get(task);
|
||||||
final UTranslate move = UTranslate.dy(draw.getY(ug1.getStringBounder()));
|
width = Math.max(width, draw.getTitleWidth(stringBounder));
|
||||||
draw.drawTitle(ug1.apply(move));
|
}
|
||||||
|
return width;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void drawTasksTitle(UGraphic ug, double leftColumnWidth) {
|
||||||
|
for (Task task : tasks.values()) {
|
||||||
|
if (isHidden(task)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
final TaskDraw draw = draws.get(task);
|
||||||
|
final UTranslate move = UTranslate.dy(draw.getY(ug.getStringBounder()));
|
||||||
|
draw.drawTitle(ug.apply(move), labelStrategy, leftColumnWidth);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -596,14 +619,10 @@ public class GanttDiagram extends TitledDiagram implements ToTaskDraw, WithSprit
|
|||||||
}
|
}
|
||||||
|
|
||||||
public Day getStartingDate() {
|
public Day getStartingDate() {
|
||||||
return openClose.getCalendar();
|
|
||||||
}
|
|
||||||
|
|
||||||
public Day getStartingDate(int nday) {
|
|
||||||
if (openClose.getCalendar() == null) {
|
if (openClose.getCalendar() == null) {
|
||||||
return null;
|
return min;
|
||||||
}
|
}
|
||||||
return openClose.getCalendar().addDays(nday);
|
return openClose.getCalendar();
|
||||||
}
|
}
|
||||||
|
|
||||||
public int daysInWeek() {
|
public int daysInWeek() {
|
||||||
@ -757,4 +776,8 @@ public class GanttDiagram extends TitledDiagram implements ToTaskDraw, WithSprit
|
|||||||
return ClockwiseTopRightBottomLeft.none();
|
return ClockwiseTopRightBottomLeft.none();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void labelOnFirstColumn() {
|
||||||
|
this.labelStrategy = LabelStrategy.LEFT_COLUMN;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -48,6 +48,7 @@ import net.sourceforge.plantuml.project.command.CommandColorTask;
|
|||||||
import net.sourceforge.plantuml.project.command.CommandFootbox;
|
import net.sourceforge.plantuml.project.command.CommandFootbox;
|
||||||
import net.sourceforge.plantuml.project.command.CommandGanttArrow;
|
import net.sourceforge.plantuml.project.command.CommandGanttArrow;
|
||||||
import net.sourceforge.plantuml.project.command.CommandGanttArrow2;
|
import net.sourceforge.plantuml.project.command.CommandGanttArrow2;
|
||||||
|
import net.sourceforge.plantuml.project.command.CommandLabelOnFirstColumn;
|
||||||
import net.sourceforge.plantuml.project.command.CommandNoteBottom;
|
import net.sourceforge.plantuml.project.command.CommandNoteBottom;
|
||||||
import net.sourceforge.plantuml.project.command.CommandPage;
|
import net.sourceforge.plantuml.project.command.CommandPage;
|
||||||
import net.sourceforge.plantuml.project.command.CommandPrintBetween;
|
import net.sourceforge.plantuml.project.command.CommandPrintBetween;
|
||||||
@ -105,6 +106,7 @@ public class GanttDiagramFactory extends PSystemCommandFactory {
|
|||||||
cmds.add(new CommandPage());
|
cmds.add(new CommandPage());
|
||||||
cmds.add(new CommandNoteBottom());
|
cmds.add(new CommandNoteBottom());
|
||||||
cmds.add(new CommandFootbox());
|
cmds.add(new CommandFootbox());
|
||||||
|
cmds.add(new CommandLabelOnFirstColumn());
|
||||||
|
|
||||||
// cmds.add(new CommandScaleWidthAndHeight());
|
// cmds.add(new CommandScaleWidthAndHeight());
|
||||||
// cmds.add(new CommandScaleWidthOrHeight());
|
// cmds.add(new CommandScaleWidthOrHeight());
|
||||||
|
42
src/net/sourceforge/plantuml/project/LabelStrategy.java
Normal file
42
src/net/sourceforge/plantuml/project/LabelStrategy.java
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
/* ========================================================================
|
||||||
|
* PlantUML : a free UML diagram generator
|
||||||
|
* ========================================================================
|
||||||
|
*
|
||||||
|
* (C) Copyright 2009-2020, Arnaud Roques
|
||||||
|
*
|
||||||
|
* Project Info: http://plantuml.com
|
||||||
|
*
|
||||||
|
* If you like this project or if you find it useful, you can support us at:
|
||||||
|
*
|
||||||
|
* http://plantuml.com/patreon (only 1$ per month!)
|
||||||
|
* http://plantuml.com/paypal
|
||||||
|
*
|
||||||
|
* This file is part of PlantUML.
|
||||||
|
*
|
||||||
|
* PlantUML is free software; you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* PlantUML distributed in the hope that it will be useful, but
|
||||||
|
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||||
|
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
|
||||||
|
* License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||||
|
* USA.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* Original Author: Arnaud Roques
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
package net.sourceforge.plantuml.project;
|
||||||
|
|
||||||
|
public enum LabelStrategy {
|
||||||
|
|
||||||
|
LEGACY, LEFT_COLUMN
|
||||||
|
|
||||||
|
}
|
@ -33,47 +33,38 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
package net.sourceforge.plantuml.wbs;
|
package net.sourceforge.plantuml.project.command;
|
||||||
|
|
||||||
import net.sourceforge.plantuml.Direction;
|
|
||||||
import net.sourceforge.plantuml.LineLocation;
|
import net.sourceforge.plantuml.LineLocation;
|
||||||
import net.sourceforge.plantuml.command.CommandExecutionResult;
|
import net.sourceforge.plantuml.command.CommandExecutionResult;
|
||||||
import net.sourceforge.plantuml.command.SingleLineCommand2;
|
import net.sourceforge.plantuml.command.SingleLineCommand2;
|
||||||
import net.sourceforge.plantuml.command.regex.IRegex;
|
import net.sourceforge.plantuml.command.regex.IRegex;
|
||||||
import net.sourceforge.plantuml.command.regex.RegexConcat;
|
import net.sourceforge.plantuml.command.regex.RegexConcat;
|
||||||
import net.sourceforge.plantuml.command.regex.RegexLeaf;
|
import net.sourceforge.plantuml.command.regex.RegexLeaf;
|
||||||
import net.sourceforge.plantuml.command.regex.RegexOptional;
|
|
||||||
import net.sourceforge.plantuml.command.regex.RegexResult;
|
import net.sourceforge.plantuml.command.regex.RegexResult;
|
||||||
import net.sourceforge.plantuml.mindmap.IdeaShape;
|
import net.sourceforge.plantuml.project.GanttDiagram;
|
||||||
import net.sourceforge.plantuml.ugraphic.color.HColor;
|
|
||||||
import net.sourceforge.plantuml.ugraphic.color.NoSuchColorException;
|
|
||||||
|
|
||||||
public class CommandWBSPlus extends SingleLineCommand2<WBSDiagram> {
|
public class CommandLabelOnFirstColumn extends SingleLineCommand2<GanttDiagram> {
|
||||||
|
|
||||||
public CommandWBSPlus() {
|
public CommandLabelOnFirstColumn() {
|
||||||
super(false, getRegexConcat());
|
super(getRegexConcat());
|
||||||
}
|
}
|
||||||
|
|
||||||
static IRegex getRegexConcat() {
|
static IRegex getRegexConcat() {
|
||||||
return RegexConcat.build(CommandWBSPlus.class.getName(), RegexLeaf.start(), //
|
return RegexConcat.build(CommandLabelOnFirstColumn.class.getName(), RegexLeaf.start(), //
|
||||||
new RegexLeaf("TYPE", "([+-]+)"), //
|
new RegexLeaf("labels?"), //
|
||||||
new RegexOptional(new RegexLeaf("BACKCOLOR", "\\[(#\\w+)\\]")), //
|
|
||||||
new RegexLeaf("SHAPE", "(_)?"), //
|
|
||||||
RegexLeaf.spaceOneOrMore(), //
|
RegexLeaf.spaceOneOrMore(), //
|
||||||
new RegexLeaf("LABEL", "([^%s].*)"), RegexLeaf.end());
|
new RegexLeaf("on"), //
|
||||||
|
RegexLeaf.spaceZeroOrMore(), //
|
||||||
|
new RegexLeaf("first"), //
|
||||||
|
RegexLeaf.spaceZeroOrMore(), //
|
||||||
|
new RegexLeaf("column"), RegexLeaf.end()); //
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected CommandExecutionResult executeArg(WBSDiagram diagram, LineLocation location, RegexResult arg) throws NoSuchColorException {
|
protected CommandExecutionResult executeArg(GanttDiagram diagram, LineLocation location, RegexResult arg) {
|
||||||
final String type = arg.get("TYPE", 0);
|
diagram.labelOnFirstColumn();
|
||||||
final String label = arg.get("LABEL", 0);
|
return CommandExecutionResult.ok();
|
||||||
final Direction dir = type.contains("-") ? Direction.LEFT : Direction.RIGHT;
|
|
||||||
final String stringColor = arg.get("BACKCOLOR", 0);
|
|
||||||
HColor backColor = null;
|
|
||||||
if (stringColor != null) {
|
|
||||||
backColor = diagram.getSkinParam().getIHtmlColorSet().getColor(stringColor);
|
|
||||||
}
|
|
||||||
return diagram.addIdea(backColor, type.length() - 1, label, dir, IdeaShape.fromDesc(arg.get("SHAPE", 0)));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -41,6 +41,7 @@ import net.sourceforge.plantuml.Url;
|
|||||||
import net.sourceforge.plantuml.cucadiagram.Display;
|
import net.sourceforge.plantuml.cucadiagram.Display;
|
||||||
import net.sourceforge.plantuml.graphic.FontConfiguration;
|
import net.sourceforge.plantuml.graphic.FontConfiguration;
|
||||||
import net.sourceforge.plantuml.graphic.StringBounder;
|
import net.sourceforge.plantuml.graphic.StringBounder;
|
||||||
|
import net.sourceforge.plantuml.graphic.TextBlock;
|
||||||
import net.sourceforge.plantuml.project.ToTaskDraw;
|
import net.sourceforge.plantuml.project.ToTaskDraw;
|
||||||
import net.sourceforge.plantuml.project.core.Task;
|
import net.sourceforge.plantuml.project.core.Task;
|
||||||
import net.sourceforge.plantuml.project.lang.CenterBorderColor;
|
import net.sourceforge.plantuml.project.lang.CenterBorderColor;
|
||||||
@ -111,6 +112,15 @@ public abstract class AbstractTaskDraw implements TaskDraw {
|
|||||||
return getStyleSignature().getMergedStyle(styleBuilder);
|
return getStyleSignature().getMergedStyle(styleBuilder);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final public double getTitleWidth(StringBounder stringBounder) {
|
||||||
|
final Style style = getStyleSignature().getMergedStyle(getStyleBuilder());
|
||||||
|
final ClockwiseTopRightBottomLeft margin = style.getMargin();
|
||||||
|
return margin.getLeft() + getTitle().calculateDimension(stringBounder).getWidth() + margin.getRight();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
protected abstract TextBlock getTitle();
|
||||||
|
|
||||||
abstract protected double getShapeHeight(StringBounder stringBounder);
|
abstract protected double getShapeHeight(StringBounder stringBounder);
|
||||||
|
|
||||||
final public double getFullHeightTask(StringBounder stringBounder) {
|
final public double getFullHeightTask(StringBounder stringBounder) {
|
||||||
|
@ -40,6 +40,7 @@ import net.sourceforge.plantuml.Url;
|
|||||||
import net.sourceforge.plantuml.cucadiagram.Display;
|
import net.sourceforge.plantuml.cucadiagram.Display;
|
||||||
import net.sourceforge.plantuml.graphic.StringBounder;
|
import net.sourceforge.plantuml.graphic.StringBounder;
|
||||||
import net.sourceforge.plantuml.graphic.UDrawable;
|
import net.sourceforge.plantuml.graphic.UDrawable;
|
||||||
|
import net.sourceforge.plantuml.project.LabelStrategy;
|
||||||
import net.sourceforge.plantuml.project.core.Task;
|
import net.sourceforge.plantuml.project.core.Task;
|
||||||
import net.sourceforge.plantuml.project.core.TaskAttribute;
|
import net.sourceforge.plantuml.project.core.TaskAttribute;
|
||||||
import net.sourceforge.plantuml.project.lang.CenterBorderColor;
|
import net.sourceforge.plantuml.project.lang.CenterBorderColor;
|
||||||
@ -57,7 +58,9 @@ public interface TaskDraw extends UDrawable {
|
|||||||
|
|
||||||
public void pushMe(double deltaY);
|
public void pushMe(double deltaY);
|
||||||
|
|
||||||
public void drawTitle(UGraphic ug);
|
public void drawTitle(UGraphic ug, LabelStrategy labelStrategy, double leftColumnWidth);
|
||||||
|
|
||||||
|
public double getTitleWidth(StringBounder stringBounder);
|
||||||
|
|
||||||
public double getFullHeightTask(StringBounder stringBounder);
|
public double getFullHeightTask(StringBounder stringBounder);
|
||||||
|
|
||||||
@ -73,5 +76,4 @@ public interface TaskDraw extends UDrawable {
|
|||||||
|
|
||||||
public double getX2(TaskAttribute taskAttribute);
|
public double getX2(TaskAttribute taskAttribute);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -41,6 +41,7 @@ import net.sourceforge.plantuml.cucadiagram.Display;
|
|||||||
import net.sourceforge.plantuml.graphic.HorizontalAlignment;
|
import net.sourceforge.plantuml.graphic.HorizontalAlignment;
|
||||||
import net.sourceforge.plantuml.graphic.StringBounder;
|
import net.sourceforge.plantuml.graphic.StringBounder;
|
||||||
import net.sourceforge.plantuml.graphic.TextBlock;
|
import net.sourceforge.plantuml.graphic.TextBlock;
|
||||||
|
import net.sourceforge.plantuml.project.LabelStrategy;
|
||||||
import net.sourceforge.plantuml.project.ToTaskDraw;
|
import net.sourceforge.plantuml.project.ToTaskDraw;
|
||||||
import net.sourceforge.plantuml.project.core.Task;
|
import net.sourceforge.plantuml.project.core.Task;
|
||||||
import net.sourceforge.plantuml.project.core.TaskAttribute;
|
import net.sourceforge.plantuml.project.core.TaskAttribute;
|
||||||
@ -84,28 +85,40 @@ public class TaskDrawDiamond extends AbstractTaskDraw {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
final public void drawTitle(UGraphic ug) {
|
@Override
|
||||||
|
final public void drawTitle(UGraphic ug, LabelStrategy labelStrategy, double leftColumnWidth) {
|
||||||
|
|
||||||
final Style style = getStyle();
|
final Style style = getStyle();
|
||||||
final ClockwiseTopRightBottomLeft margin = style.getMargin();
|
final ClockwiseTopRightBottomLeft margin = style.getMargin();
|
||||||
final ClockwiseTopRightBottomLeft padding = style.getPadding();
|
final ClockwiseTopRightBottomLeft padding = style.getPadding();
|
||||||
|
|
||||||
|
final TextBlock title = getTitle();
|
||||||
|
|
||||||
ug = ug.apply(UTranslate.dy(margin.getTop()));
|
ug = ug.apply(UTranslate.dy(margin.getTop()));
|
||||||
|
|
||||||
final TextBlock title = Display.getWithNewlines(prettyDisplay).create(getFontConfiguration(),
|
|
||||||
HorizontalAlignment.LEFT, new SpriteContainerEmpty());
|
|
||||||
final StringBounder stringBounder = ug.getStringBounder();
|
final StringBounder stringBounder = ug.getStringBounder();
|
||||||
final double titleHeight = title.calculateDimension(stringBounder).getHeight();
|
final double titleHeight = title.calculateDimension(stringBounder).getHeight();
|
||||||
final double h = (getShapeHeight(stringBounder) - titleHeight) / 2;
|
final double h = (getShapeHeight(stringBounder) - titleHeight) / 2;
|
||||||
|
|
||||||
|
final double x;
|
||||||
|
if (labelStrategy == LabelStrategy.LEFT_COLUMN) {
|
||||||
|
x = margin.getLeft();
|
||||||
|
} else {
|
||||||
final double x1 = timeScale.getStartingPosition(start);
|
final double x1 = timeScale.getStartingPosition(start);
|
||||||
final double x2 = timeScale.getEndingPosition(start);
|
final double x2 = timeScale.getEndingPosition(start);
|
||||||
final double width = getShapeHeight(ug.getStringBounder());
|
final double width = getShapeHeight(ug.getStringBounder());
|
||||||
final double delta = x2 - x1 - width;
|
final double delta = x2 - x1 - width;
|
||||||
|
x = x2 - delta / 2 + padding.getLeft();
|
||||||
final double x = x2 - delta / 2 + padding.getLeft();
|
}
|
||||||
title.drawU(ug.apply(new UTranslate(x, h)));
|
title.drawU(ug.apply(new UTranslate(x, h)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected TextBlock getTitle() {
|
||||||
|
return Display.getWithNewlines(prettyDisplay).create(getFontConfiguration(), HorizontalAlignment.LEFT,
|
||||||
|
new SpriteContainerEmpty());
|
||||||
|
}
|
||||||
|
|
||||||
public void drawU(UGraphic ug) {
|
public void drawU(UGraphic ug) {
|
||||||
|
|
||||||
final Style style = getStyle();
|
final Style style = getStyle();
|
||||||
|
@ -53,6 +53,7 @@ import net.sourceforge.plantuml.graphic.HorizontalAlignment;
|
|||||||
import net.sourceforge.plantuml.graphic.StringBounder;
|
import net.sourceforge.plantuml.graphic.StringBounder;
|
||||||
import net.sourceforge.plantuml.graphic.TextBlock;
|
import net.sourceforge.plantuml.graphic.TextBlock;
|
||||||
import net.sourceforge.plantuml.project.GanttConstraint;
|
import net.sourceforge.plantuml.project.GanttConstraint;
|
||||||
|
import net.sourceforge.plantuml.project.LabelStrategy;
|
||||||
import net.sourceforge.plantuml.project.ToTaskDraw;
|
import net.sourceforge.plantuml.project.ToTaskDraw;
|
||||||
import net.sourceforge.plantuml.project.core.Task;
|
import net.sourceforge.plantuml.project.core.Task;
|
||||||
import net.sourceforge.plantuml.project.core.TaskAttribute;
|
import net.sourceforge.plantuml.project.core.TaskAttribute;
|
||||||
@ -111,19 +112,26 @@ public class TaskDrawRegular extends AbstractTaskDraw {
|
|||||||
protected double getShapeHeight(StringBounder stringBounder) {
|
protected double getShapeHeight(StringBounder stringBounder) {
|
||||||
final Style style = getStyle();
|
final Style style = getStyle();
|
||||||
final ClockwiseTopRightBottomLeft padding = style.getPadding();
|
final ClockwiseTopRightBottomLeft padding = style.getPadding();
|
||||||
return padding.getTop() + getTextBlock().calculateDimension(stringBounder).getHeight() + padding.getBottom();
|
return padding.getTop() + getTitle().calculateDimension(stringBounder).getHeight() + padding.getBottom();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void drawTitle(UGraphic ug) {
|
@Override
|
||||||
final TextBlock title = getTextBlock();
|
public void drawTitle(UGraphic ug, LabelStrategy labelStrategy, double leftColumnWidth) {
|
||||||
|
final TextBlock title = getTitle();
|
||||||
final StringBounder stringBounder = ug.getStringBounder();
|
final StringBounder stringBounder = ug.getStringBounder();
|
||||||
final Dimension2D dim = title.calculateDimension(stringBounder);
|
final Dimension2D dim = title.calculateDimension(stringBounder);
|
||||||
|
|
||||||
final Style style = getStyleSignature().getMergedStyle(getStyleBuilder());
|
final Style style = getStyleSignature().getMergedStyle(getStyleBuilder());
|
||||||
final ClockwiseTopRightBottomLeft margin = style.getMargin();
|
final ClockwiseTopRightBottomLeft margin = style.getMargin();
|
||||||
final ClockwiseTopRightBottomLeft padding = style.getPadding();
|
final ClockwiseTopRightBottomLeft padding = style.getPadding();
|
||||||
|
|
||||||
ug = ug.apply(UTranslate.dy(margin.getTop() + padding.getTop()));
|
ug = ug.apply(UTranslate.dy(margin.getTop() + padding.getTop()));
|
||||||
|
|
||||||
|
if (labelStrategy == LabelStrategy.LEFT_COLUMN) {
|
||||||
|
title.drawU(ug.apply(UTranslate.dx(margin.getLeft())));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
final double pos1 = timeScale.getStartingPosition(start) + 6;
|
final double pos1 = timeScale.getStartingPosition(start) + 6;
|
||||||
final double pos2 = timeScale.getEndingPosition(end) - 6;
|
final double pos2 = timeScale.getEndingPosition(end) - 6;
|
||||||
final double pos;
|
final double pos;
|
||||||
@ -134,7 +142,8 @@ public class TaskDrawRegular extends AbstractTaskDraw {
|
|||||||
title.drawU(ug.apply(UTranslate.dx(pos)));
|
title.drawU(ug.apply(UTranslate.dx(pos)));
|
||||||
}
|
}
|
||||||
|
|
||||||
private TextBlock getTextBlock() {
|
@Override
|
||||||
|
protected TextBlock getTitle() {
|
||||||
return Display.getWithNewlines(prettyDisplay).create(getFontConfiguration(), HorizontalAlignment.LEFT,
|
return Display.getWithNewlines(prettyDisplay).create(getFontConfiguration(), HorizontalAlignment.LEFT,
|
||||||
new SpriteContainerEmpty());
|
new SpriteContainerEmpty());
|
||||||
}
|
}
|
||||||
|
@ -44,6 +44,7 @@ import net.sourceforge.plantuml.graphic.HorizontalAlignment;
|
|||||||
import net.sourceforge.plantuml.graphic.StringBounder;
|
import net.sourceforge.plantuml.graphic.StringBounder;
|
||||||
import net.sourceforge.plantuml.graphic.TextBlock;
|
import net.sourceforge.plantuml.graphic.TextBlock;
|
||||||
import net.sourceforge.plantuml.graphic.TextBlockUtils;
|
import net.sourceforge.plantuml.graphic.TextBlockUtils;
|
||||||
|
import net.sourceforge.plantuml.project.LabelStrategy;
|
||||||
import net.sourceforge.plantuml.project.core.Task;
|
import net.sourceforge.plantuml.project.core.Task;
|
||||||
import net.sourceforge.plantuml.project.core.TaskAttribute;
|
import net.sourceforge.plantuml.project.core.TaskAttribute;
|
||||||
import net.sourceforge.plantuml.project.lang.CenterBorderColor;
|
import net.sourceforge.plantuml.project.lang.CenterBorderColor;
|
||||||
@ -84,12 +85,19 @@ public class TaskDrawSeparator implements TaskDraw {
|
|||||||
this.max = max;
|
this.max = max;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void drawTitle(UGraphic ug) {
|
@Override
|
||||||
|
public void drawTitle(UGraphic ug, LabelStrategy labelStrategy, double leftColumnWidth) {
|
||||||
final ClockwiseTopRightBottomLeft padding = getStyle().getPadding();
|
final ClockwiseTopRightBottomLeft padding = getStyle().getPadding();
|
||||||
final ClockwiseTopRightBottomLeft margin = getStyle().getMargin();
|
final ClockwiseTopRightBottomLeft margin = getStyle().getMargin();
|
||||||
final double dx = margin.getLeft() + padding.getLeft();
|
final double dx = margin.getLeft() + padding.getLeft();
|
||||||
final double dy = margin.getTop() + padding.getTop();
|
final double dy = margin.getTop() + padding.getTop();
|
||||||
getTitle().drawU(ug.apply(new UTranslate(dx, dy)));
|
getTitle().drawU(ug.apply(new UTranslate(leftColumnWidth + dx, dy)));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public double getTitleWidth(StringBounder stringBounder) {
|
||||||
|
// Never used in first column
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
private StyleSignature getStyleSignature() {
|
private StyleSignature getStyleSignature() {
|
||||||
|
@ -108,7 +108,7 @@ public class ComplementDate implements Something {
|
|||||||
|
|
||||||
private Day resultD(GanttDiagram system, RegexResult arg, String suffix) {
|
private Day resultD(GanttDiagram system, RegexResult arg, String suffix) {
|
||||||
final int day = Integer.parseInt(arg.get("DCOUNT" + suffix, 0));
|
final int day = Integer.parseInt(arg.get("DCOUNT" + suffix, 0));
|
||||||
return system.getStartingDate(day);
|
return system.getStartingDate().addDays(day);
|
||||||
}
|
}
|
||||||
|
|
||||||
private Day resultA(RegexResult arg, String suffix) {
|
private Day resultA(RegexResult arg, String suffix) {
|
||||||
|
@ -52,10 +52,10 @@ public class SentenceHappensDate extends SentenceSimple {
|
|||||||
final Task task = (Task) subject;
|
final Task task = (Task) subject;
|
||||||
task.setLoad(Load.inWinks(1));
|
task.setLoad(Load.inWinks(1));
|
||||||
final Day start = (Day) complement;
|
final Day start = (Day) complement;
|
||||||
final Day startingDate = project.getStartingDate();
|
// final Day startingDate = project.getStartingDate2();
|
||||||
if (startingDate == null) {
|
// if (startingDate == null) {
|
||||||
return CommandExecutionResult.error("No starting date for the project");
|
// return CommandExecutionResult.error("No starting date for the project");
|
||||||
}
|
// }
|
||||||
task.setStart(start);
|
task.setStart(start);
|
||||||
task.setDiamond(true);
|
task.setDiamond(true);
|
||||||
return CommandExecutionResult.ok();
|
return CommandExecutionResult.ok();
|
||||||
|
@ -50,10 +50,10 @@ public class SentencePausesDate extends SentenceSimple {
|
|||||||
public CommandExecutionResult execute(GanttDiagram project, Object subject, Object complement) {
|
public CommandExecutionResult execute(GanttDiagram project, Object subject, Object complement) {
|
||||||
final Task task = (Task) subject;
|
final Task task = (Task) subject;
|
||||||
final Day pause = (Day) complement;
|
final Day pause = (Day) complement;
|
||||||
final Day startingDate = project.getStartingDate();
|
// final Day startingDate = project.getStartingDate();
|
||||||
if (startingDate == null) {
|
// if (startingDate == null) {
|
||||||
return CommandExecutionResult.error("No starting date for the project");
|
// return CommandExecutionResult.error("No starting date for the project");
|
||||||
}
|
// }
|
||||||
task.addPause(pause);
|
task.addPause(pause);
|
||||||
return CommandExecutionResult.ok();
|
return CommandExecutionResult.ok();
|
||||||
}
|
}
|
||||||
|
@ -51,10 +51,10 @@ public class SentencePausesDates extends SentenceSimple {
|
|||||||
public CommandExecutionResult execute(GanttDiagram project, Object subject, Object complement) {
|
public CommandExecutionResult execute(GanttDiagram project, Object subject, Object complement) {
|
||||||
final Task task = (Task) subject;
|
final Task task = (Task) subject;
|
||||||
final DaysAsDates pauses = (DaysAsDates) complement;
|
final DaysAsDates pauses = (DaysAsDates) complement;
|
||||||
final Day startingDate = project.getStartingDate();
|
// final Day startingDate = project.getStartingDate();
|
||||||
if (startingDate == null) {
|
// if (startingDate == null) {
|
||||||
return CommandExecutionResult.error("No starting date for the project");
|
// return CommandExecutionResult.error("No starting date for the project");
|
||||||
}
|
// }
|
||||||
for (Day day : pauses) {
|
for (Day day : pauses) {
|
||||||
task.addPause(day);
|
task.addPause(day);
|
||||||
}
|
}
|
||||||
|
@ -50,10 +50,10 @@ public class SentenceTaskEndsAbsolute extends SentenceSimple {
|
|||||||
public CommandExecutionResult execute(GanttDiagram project, Object subject, Object complement) {
|
public CommandExecutionResult execute(GanttDiagram project, Object subject, Object complement) {
|
||||||
final Task task = (Task) subject;
|
final Task task = (Task) subject;
|
||||||
final Day end = (Day) complement;
|
final Day end = (Day) complement;
|
||||||
final Day startingDate = project.getStartingDate();
|
// final Day startingDate = project.getStartingDate();
|
||||||
if (startingDate == null) {
|
// if (startingDate == null) {
|
||||||
return CommandExecutionResult.error("No starting date for the project");
|
// return CommandExecutionResult.error("No starting date for the project");
|
||||||
}
|
// }
|
||||||
task.setEnd(end);
|
task.setEnd(end);
|
||||||
return CommandExecutionResult.ok();
|
return CommandExecutionResult.ok();
|
||||||
}
|
}
|
||||||
|
@ -50,10 +50,10 @@ public class SentenceTaskStartsAbsolute extends SentenceSimple {
|
|||||||
public CommandExecutionResult execute(GanttDiagram project, Object subject, Object complement) {
|
public CommandExecutionResult execute(GanttDiagram project, Object subject, Object complement) {
|
||||||
final Task task = (Task) subject;
|
final Task task = (Task) subject;
|
||||||
final Day start = (Day) complement;
|
final Day start = (Day) complement;
|
||||||
final Day startingDate = project.getStartingDate();
|
// final Day startingDate = project.getStartingDate();
|
||||||
if (startingDate == null) {
|
// if (startingDate == null) {
|
||||||
return CommandExecutionResult.error("No starting date for the project");
|
// return CommandExecutionResult.error("No starting date for the project");
|
||||||
}
|
// }
|
||||||
task.setStart(start);
|
task.setStart(start);
|
||||||
return CommandExecutionResult.ok();
|
return CommandExecutionResult.ok();
|
||||||
}
|
}
|
||||||
|
60
src/net/sourceforge/plantuml/tim/EaterTheme.java
Normal file
60
src/net/sourceforge/plantuml/tim/EaterTheme.java
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
/* ========================================================================
|
||||||
|
* PlantUML : a free UML diagram generator
|
||||||
|
* ========================================================================
|
||||||
|
*
|
||||||
|
* (C) Copyright 2009-2020, Arnaud Roques
|
||||||
|
*
|
||||||
|
* Project Info: http://plantuml.com
|
||||||
|
*
|
||||||
|
* If you like this project or if you find it useful, you can support us at:
|
||||||
|
*
|
||||||
|
* http://plantuml.com/patreon (only 1$ per month!)
|
||||||
|
* http://plantuml.com/paypal
|
||||||
|
*
|
||||||
|
* This file is part of PlantUML.
|
||||||
|
*
|
||||||
|
* PlantUML is free software; you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* PlantUML distributed in the hope that it will be useful, but
|
||||||
|
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||||
|
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
|
||||||
|
* License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||||
|
* USA.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* Original Author: Arnaud Roques
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
package net.sourceforge.plantuml.tim;
|
||||||
|
|
||||||
|
import net.sourceforge.plantuml.StringLocated;
|
||||||
|
|
||||||
|
public class EaterTheme extends Eater {
|
||||||
|
|
||||||
|
private String location;
|
||||||
|
|
||||||
|
public EaterTheme(StringLocated s) {
|
||||||
|
super(s);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void analyze(TContext context, TMemory memory) throws EaterException, EaterExceptionLocated {
|
||||||
|
skipSpaces();
|
||||||
|
checkAndEatChar("!theme");
|
||||||
|
skipSpaces();
|
||||||
|
this.location = context.applyFunctionsAndVariables(memory, getLineLocation(), this.eatAllToEnd());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public final String getLocation() {
|
||||||
|
return location;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -268,6 +268,9 @@ public class TContext {
|
|||||||
if (type == TLineType.INCLUDESUB) {
|
if (type == TLineType.INCLUDESUB) {
|
||||||
this.executeIncludesub(memory, s);
|
this.executeIncludesub(memory, s);
|
||||||
return null;
|
return null;
|
||||||
|
} else if (type == TLineType.THEME) {
|
||||||
|
this.executeTheme(memory, s);
|
||||||
|
return null;
|
||||||
} else if (type == TLineType.INCLUDE) {
|
} else if (type == TLineType.INCLUDE) {
|
||||||
this.executeInclude(memory, s);
|
this.executeInclude(memory, s);
|
||||||
return null;
|
return null;
|
||||||
@ -542,6 +545,36 @@ public class TContext {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void executeTheme(TMemory memory, StringLocated s) throws EaterException, EaterExceptionLocated {
|
||||||
|
final EaterTheme include = new EaterTheme(s.getTrimmed());
|
||||||
|
include.analyze(this, memory);
|
||||||
|
final String location = include.getLocation();
|
||||||
|
final ReadLine reader = PreprocessorUtils.getReaderTheme(s, location);
|
||||||
|
if (reader == null) {
|
||||||
|
throw EaterException.located("No such theme " + location);
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
final List<StringLocated> body = new ArrayList<StringLocated>();
|
||||||
|
do {
|
||||||
|
final StringLocated sl = reader.readLine();
|
||||||
|
if (sl == null) {
|
||||||
|
executeLines(memory, body, null, false);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
body.add(sl);
|
||||||
|
} while (true);
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
throw EaterException.located("Error reading theme " + e);
|
||||||
|
} finally {
|
||||||
|
try {
|
||||||
|
reader.close();
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void executeInclude(TMemory memory, StringLocated s) throws EaterException, EaterExceptionLocated {
|
private void executeInclude(TMemory memory, StringLocated s) throws EaterException, EaterExceptionLocated {
|
||||||
final EaterInclude include = new EaterInclude(s.getTrimmed());
|
final EaterInclude include = new EaterInclude(s.getTrimmed());
|
||||||
include.analyze(this, memory);
|
include.analyze(this, memory);
|
||||||
@ -554,7 +587,7 @@ public class TContext {
|
|||||||
location = location.substring(0, idx);
|
location = location.substring(0, idx);
|
||||||
}
|
}
|
||||||
|
|
||||||
ReadLine reader2 = null;
|
ReadLine reader = null;
|
||||||
ImportedFiles saveImportedFiles = null;
|
ImportedFiles saveImportedFiles = null;
|
||||||
try {
|
try {
|
||||||
if (location.startsWith("http://") || location.startsWith("https://")) {
|
if (location.startsWith("http://") || location.startsWith("https://")) {
|
||||||
@ -562,9 +595,9 @@ public class TContext {
|
|||||||
if (url == null) {
|
if (url == null) {
|
||||||
throw EaterException.located("Cannot open URL");
|
throw EaterException.located("Cannot open URL");
|
||||||
}
|
}
|
||||||
reader2 = PreprocessorUtils.getReaderIncludeUrl2(url, s, suf, charset);
|
reader = PreprocessorUtils.getReaderIncludeUrl2(url, s, suf, charset);
|
||||||
} else if (location.startsWith("<") && location.endsWith(">")) {
|
} else if (location.startsWith("<") && location.endsWith(">")) {
|
||||||
reader2 = PreprocessorUtils.getReaderStdlibInclude(s, location.substring(1, location.length() - 1));
|
reader = PreprocessorUtils.getReaderStdlibInclude(s, location.substring(1, location.length() - 1));
|
||||||
} else {
|
} else {
|
||||||
final FileWithSuffix f2 = importedFiles.getFile(location, suf);
|
final FileWithSuffix f2 = importedFiles.getFile(location, suf);
|
||||||
if (f2.fileOk()) {
|
if (f2.fileOk()) {
|
||||||
@ -576,25 +609,25 @@ public class TContext {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (StartDiagramExtractReader.containsStartDiagram(f2, s, charset)) {
|
if (StartDiagramExtractReader.containsStartDiagram(f2, s, charset)) {
|
||||||
reader2 = StartDiagramExtractReader.build(f2, s, charset);
|
reader = StartDiagramExtractReader.build(f2, s, charset);
|
||||||
} else {
|
} else {
|
||||||
final Reader reader = f2.getReader(charset);
|
final Reader tmp = f2.getReader(charset);
|
||||||
if (reader == null) {
|
if (tmp == null) {
|
||||||
throw EaterException.located("Cannot include file");
|
throw EaterException.located("Cannot include file");
|
||||||
}
|
}
|
||||||
reader2 = ReadLineReader.create(reader, location, s.getLocation());
|
reader = ReadLineReader.create(tmp, location, s.getLocation());
|
||||||
}
|
}
|
||||||
saveImportedFiles = this.importedFiles;
|
saveImportedFiles = this.importedFiles;
|
||||||
this.importedFiles = this.importedFiles.withCurrentDir(f2.getParentFile());
|
this.importedFiles = this.importedFiles.withCurrentDir(f2.getParentFile());
|
||||||
assert reader2 != null;
|
assert reader != null;
|
||||||
filesUsedCurrent.add(f2);
|
filesUsedCurrent.add(f2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (reader2 != null) {
|
if (reader != null) {
|
||||||
try {
|
try {
|
||||||
final List<StringLocated> body = new ArrayList<StringLocated>();
|
final List<StringLocated> body = new ArrayList<StringLocated>();
|
||||||
do {
|
do {
|
||||||
final StringLocated sl = reader2.readLine();
|
final StringLocated sl = reader.readLine();
|
||||||
if (sl == null) {
|
if (sl == null) {
|
||||||
executeLines(memory, body, null, false);
|
executeLines(memory, body, null, false);
|
||||||
return;
|
return;
|
||||||
@ -611,9 +644,9 @@ public class TContext {
|
|||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
throw EaterException.located("cannot include " + e);
|
throw EaterException.located("cannot include " + e);
|
||||||
} finally {
|
} finally {
|
||||||
if (reader2 != null) {
|
if (reader != null) {
|
||||||
try {
|
try {
|
||||||
reader2.close();
|
reader.close();
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
@ -37,7 +37,8 @@ package net.sourceforge.plantuml.tim;
|
|||||||
public enum TLineType {
|
public enum TLineType {
|
||||||
|
|
||||||
PLAIN, AFFECTATION_DEFINE, AFFECTATION, ASSERT, IF, IFDEF, UNDEF, IFNDEF, ELSE, ELSEIF, ENDIF, WHILE, ENDWHILE,
|
PLAIN, AFFECTATION_DEFINE, AFFECTATION, ASSERT, IF, IFDEF, UNDEF, IFNDEF, ELSE, ELSEIF, ENDIF, WHILE, ENDWHILE,
|
||||||
FOREACH, ENDFOREACH, DECLARE_RETURN_FUNCTION, DECLARE_PROCEDURE, END_FUNCTION, RETURN, LEGACY_DEFINE, LEGACY_DEFINELONG, INCLUDE, INCLUDE_DEF,
|
FOREACH, ENDFOREACH, DECLARE_RETURN_FUNCTION, DECLARE_PROCEDURE, END_FUNCTION, RETURN, LEGACY_DEFINE, LEGACY_DEFINELONG,
|
||||||
|
THEME, INCLUDE, INCLUDE_DEF,
|
||||||
IMPORT, STARTSUB, ENDSUB, INCLUDESUB, LOG, DUMP_MEMORY, COMMENT_SIMPLE, COMMENT_LONG_START;
|
IMPORT, STARTSUB, ENDSUB, INCLUDESUB, LOG, DUMP_MEMORY, COMMENT_SIMPLE, COMMENT_LONG_START;
|
||||||
|
|
||||||
// private boolean elseLike() {
|
// private boolean elseLike() {
|
||||||
@ -122,6 +123,9 @@ public enum TLineType {
|
|||||||
if (s.matches("^\\s*!return\\b.*")) {
|
if (s.matches("^\\s*!return\\b.*")) {
|
||||||
return RETURN;
|
return RETURN;
|
||||||
}
|
}
|
||||||
|
if (s.matches("^\\s*!theme\\b.*")) {
|
||||||
|
return THEME;
|
||||||
|
}
|
||||||
if (s.matches("^\\s*!(include|includeurl|include_many|include_once)\\b.*")) {
|
if (s.matches("^\\s*!(include|includeurl|include_many|include_once)\\b.*")) {
|
||||||
return INCLUDE;
|
return INCLUDE;
|
||||||
}
|
}
|
||||||
|
@ -539,6 +539,7 @@ public enum License {
|
|||||||
text.add("ASCIIMathML (c) David Lippman http://www.pierce.ctc.edu/dlippman");
|
text.add("ASCIIMathML (c) David Lippman http://www.pierce.ctc.edu/dlippman");
|
||||||
text.add("CafeUndZopfli ported by Eugene Klyuchnikov https://github.com/eustas/CafeUndZopfli");
|
text.add("CafeUndZopfli ported by Eugene Klyuchnikov https://github.com/eustas/CafeUndZopfli");
|
||||||
text.add("Brotli (c) by the Brotli Authors https://github.com/google/brotli");
|
text.add("Brotli (c) by the Brotli Authors https://github.com/google/brotli");
|
||||||
|
text.add("Themes (c) by Brett Schwarz https://github.com/bschwarz/puml-themes");
|
||||||
text.add(" ");
|
text.add(" ");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -80,7 +80,7 @@ public class Version {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static int beta() {
|
public static int beta() {
|
||||||
final int beta = 0;
|
final int beta = 2;
|
||||||
return beta;
|
return beta;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -48,15 +48,15 @@ import net.sourceforge.plantuml.mindmap.IdeaShape;
|
|||||||
import net.sourceforge.plantuml.ugraphic.color.HColor;
|
import net.sourceforge.plantuml.ugraphic.color.HColor;
|
||||||
import net.sourceforge.plantuml.ugraphic.color.NoSuchColorException;
|
import net.sourceforge.plantuml.ugraphic.color.NoSuchColorException;
|
||||||
|
|
||||||
public class CommandWBSOrgmode extends SingleLineCommand2<WBSDiagram> {
|
public class CommandWBSItem extends SingleLineCommand2<WBSDiagram> {
|
||||||
|
|
||||||
public CommandWBSOrgmode() {
|
public CommandWBSItem() {
|
||||||
super(false, getRegexConcat());
|
super(false, getRegexConcat());
|
||||||
}
|
}
|
||||||
|
|
||||||
static IRegex getRegexConcat() {
|
static IRegex getRegexConcat() {
|
||||||
return RegexConcat.build(CommandWBSOrgmode.class.getName(), RegexLeaf.start(), //
|
return RegexConcat.build(CommandWBSItem.class.getName(), RegexLeaf.start(), //
|
||||||
new RegexLeaf("TYPE", "([*]+)"), //
|
new RegexLeaf("TYPE", "([ \t]*[*+-]+)"), //
|
||||||
new RegexOptional(new RegexLeaf("BACKCOLOR", "\\[(#\\w+)\\]")), //
|
new RegexOptional(new RegexLeaf("BACKCOLOR", "\\[(#\\w+)\\]")), //
|
||||||
new RegexLeaf("SHAPE", "(_)?"), //
|
new RegexLeaf("SHAPE", "(_)?"), //
|
||||||
new RegexLeaf("DIRECTION", "([<>])?"), //
|
new RegexLeaf("DIRECTION", "([<>])?"), //
|
||||||
@ -74,9 +74,17 @@ public class CommandWBSOrgmode extends SingleLineCommand2<WBSDiagram> {
|
|||||||
if (stringColor != null) {
|
if (stringColor != null) {
|
||||||
backColor = diagram.getSkinParam().getIHtmlColorSet().getColor(stringColor);
|
backColor = diagram.getSkinParam().getIHtmlColorSet().getColor(stringColor);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Direction dir = type.contains("-") ? Direction.LEFT : Direction.RIGHT;
|
||||||
final String direction = arg.get("DIRECTION", 0);
|
final String direction = arg.get("DIRECTION", 0);
|
||||||
final Direction dir = "<".equals(direction) ? Direction.LEFT : Direction.RIGHT;
|
if ("<".equals(direction)) {
|
||||||
return diagram.addIdea(backColor, type.length() - 1, label, dir, IdeaShape.fromDesc(arg.get("SHAPE", 0)));
|
dir = Direction.LEFT;
|
||||||
|
} else if (">".equals(direction)) {
|
||||||
|
dir = Direction.RIGHT;
|
||||||
|
}
|
||||||
|
|
||||||
|
return diagram.addIdea(backColor, diagram.getSmartLevel(type), label, dir,
|
||||||
|
IdeaShape.fromDesc(arg.get("SHAPE", 0)));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -1,79 +0,0 @@
|
|||||||
/* ========================================================================
|
|
||||||
* PlantUML : a free UML diagram generator
|
|
||||||
* ========================================================================
|
|
||||||
*
|
|
||||||
* (C) Copyright 2009-2020, Arnaud Roques
|
|
||||||
*
|
|
||||||
* Project Info: http://plantuml.com
|
|
||||||
*
|
|
||||||
* If you like this project or if you find it useful, you can support us at:
|
|
||||||
*
|
|
||||||
* http://plantuml.com/patreon (only 1$ per month!)
|
|
||||||
* http://plantuml.com/paypal
|
|
||||||
*
|
|
||||||
* This file is part of PlantUML.
|
|
||||||
*
|
|
||||||
* PlantUML is free software; you can redistribute it and/or modify it
|
|
||||||
* under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation, either version 3 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* PlantUML distributed in the hope that it will be useful, but
|
|
||||||
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
|
||||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
|
|
||||||
* License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public
|
|
||||||
* License along with this library; if not, write to the Free Software
|
|
||||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
|
||||||
* USA.
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* Original Author: Arnaud Roques
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
package net.sourceforge.plantuml.wbs;
|
|
||||||
|
|
||||||
import net.sourceforge.plantuml.Direction;
|
|
||||||
import net.sourceforge.plantuml.LineLocation;
|
|
||||||
import net.sourceforge.plantuml.command.CommandExecutionResult;
|
|
||||||
import net.sourceforge.plantuml.command.SingleLineCommand2;
|
|
||||||
import net.sourceforge.plantuml.command.regex.IRegex;
|
|
||||||
import net.sourceforge.plantuml.command.regex.RegexConcat;
|
|
||||||
import net.sourceforge.plantuml.command.regex.RegexLeaf;
|
|
||||||
import net.sourceforge.plantuml.command.regex.RegexOptional;
|
|
||||||
import net.sourceforge.plantuml.command.regex.RegexResult;
|
|
||||||
import net.sourceforge.plantuml.mindmap.IdeaShape;
|
|
||||||
import net.sourceforge.plantuml.ugraphic.color.HColor;
|
|
||||||
import net.sourceforge.plantuml.ugraphic.color.NoSuchColorException;
|
|
||||||
|
|
||||||
public class CommandWBSTabulation extends SingleLineCommand2<WBSDiagram> {
|
|
||||||
|
|
||||||
public CommandWBSTabulation() {
|
|
||||||
super(false, getRegexConcat());
|
|
||||||
}
|
|
||||||
|
|
||||||
static IRegex getRegexConcat() {
|
|
||||||
return RegexConcat.build(CommandWBSTabulation.class.getName(), RegexLeaf.start(), //
|
|
||||||
new RegexLeaf("TYPE", "([ \t]*[*+-])"), //
|
|
||||||
new RegexOptional(new RegexLeaf("BACKCOLOR", "\\[(#\\w+)\\]")), //
|
|
||||||
new RegexLeaf("SHAPE", "(_)?"), //
|
|
||||||
RegexLeaf.spaceOneOrMore(), //
|
|
||||||
new RegexLeaf("LABEL", "([^%s].*)"), RegexLeaf.end());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected CommandExecutionResult executeArg(WBSDiagram diagram, LineLocation location, RegexResult arg) throws NoSuchColorException {
|
|
||||||
final String type = arg.get("TYPE", 0);
|
|
||||||
final String label = arg.get("LABEL", 0);
|
|
||||||
final Direction dir = type.contains("-") ? Direction.LEFT : Direction.RIGHT;
|
|
||||||
final String stringColor = arg.get("BACKCOLOR", 0);
|
|
||||||
HColor backColor = null;
|
|
||||||
if (stringColor != null) {
|
|
||||||
backColor = diagram.getSkinParam().getIHtmlColorSet().getColor(stringColor);
|
|
||||||
}
|
|
||||||
return diagram.addIdea(backColor, type.length() - 1, label, dir, IdeaShape.fromDesc(arg.get("SHAPE", 0)));
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -75,9 +75,7 @@ public class WBSDiagram extends UmlDiagram {
|
|||||||
protected ImageData exportDiagramInternal(OutputStream os, int index, FileFormatOption fileFormatOption)
|
protected ImageData exportDiagramInternal(OutputStream os, int index, FileFormatOption fileFormatOption)
|
||||||
throws IOException {
|
throws IOException {
|
||||||
|
|
||||||
return createImageBuilder(fileFormatOption)
|
return createImageBuilder(fileFormatOption).drawable(getTextBlock()).write(os);
|
||||||
.drawable(getTextBlock())
|
|
||||||
.write(os);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private TextBlockBackcolored getTextBlock() {
|
private TextBlockBackcolored getTextBlock() {
|
||||||
@ -143,6 +141,7 @@ public class WBSDiagram extends UmlDiagram {
|
|||||||
|
|
||||||
private WElement root;
|
private WElement root;
|
||||||
private WElement last;
|
private WElement last;
|
||||||
|
private String first;
|
||||||
|
|
||||||
private void initRoot(HColor backColor, String label, String stereotype, IdeaShape shape) {
|
private void initRoot(HColor backColor, String label, String stereotype, IdeaShape shape) {
|
||||||
root = new WElement(backColor, Display.getWithNewlines(label), stereotype,
|
root = new WElement(backColor, Display.getWithNewlines(label), stereotype,
|
||||||
@ -158,6 +157,25 @@ public class WBSDiagram extends UmlDiagram {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getSmartLevel(String type) {
|
||||||
|
if (root == null) {
|
||||||
|
assert first == null;
|
||||||
|
first = type;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
type = type.replace('\t', ' ');
|
||||||
|
if (type.contains(" ") == false) {
|
||||||
|
return type.length() - 1;
|
||||||
|
}
|
||||||
|
if (type.trim().length() == 1) {
|
||||||
|
return type.length() - 1;
|
||||||
|
}
|
||||||
|
if (type.startsWith(first)) {
|
||||||
|
return type.length() - first.length();
|
||||||
|
}
|
||||||
|
throw new UnsupportedOperationException("type=<" + type + ">[" + first + "]");
|
||||||
|
}
|
||||||
|
|
||||||
private CommandExecutionResult add(HColor backColor, int level, String label, String stereotype,
|
private CommandExecutionResult add(HColor backColor, int level, String label, String stereotype,
|
||||||
Direction direction, IdeaShape shape) {
|
Direction direction, IdeaShape shape) {
|
||||||
try {
|
try {
|
||||||
@ -175,7 +193,7 @@ public class WBSDiagram extends UmlDiagram {
|
|||||||
last = newIdea;
|
last = newIdea;
|
||||||
return CommandExecutionResult.ok();
|
return CommandExecutionResult.ok();
|
||||||
}
|
}
|
||||||
return CommandExecutionResult.error("error42L");
|
return CommandExecutionResult.error("Bad tree structure");
|
||||||
} catch (NoStyleAvailableException e) {
|
} catch (NoStyleAvailableException e) {
|
||||||
// e.printStackTrace();
|
// e.printStackTrace();
|
||||||
return CommandExecutionResult.error("General failure: no style available.");
|
return CommandExecutionResult.error("General failure: no style available.");
|
||||||
|
@ -53,9 +53,7 @@ public class WBSDiagramFactory extends PSystemCommandFactory {
|
|||||||
|
|
||||||
final List<Command> cmds = new ArrayList<Command>();
|
final List<Command> cmds = new ArrayList<Command>();
|
||||||
addCommonCommands1(cmds);
|
addCommonCommands1(cmds);
|
||||||
cmds.add(new CommandWBSOrgmode());
|
cmds.add(new CommandWBSItem());
|
||||||
cmds.add(new CommandWBSPlus());
|
|
||||||
cmds.add(new CommandWBSTabulation());
|
|
||||||
|
|
||||||
return cmds;
|
return cmds;
|
||||||
}
|
}
|
||||||
|
453
themes/puml-theme-black-knight.puml
Normal file
453
themes/puml-theme-black-knight.puml
Normal file
@ -0,0 +1,453 @@
|
|||||||
|
''
|
||||||
|
'' Colors representing the black knight
|
||||||
|
''
|
||||||
|
'' Author: Brett Schwarz
|
||||||
|
|
||||||
|
!$THEME = "black-knight"
|
||||||
|
|
||||||
|
!if %not(%variable_exists("$BGCOLOR"))
|
||||||
|
!$BGCOLOR = "transparent"
|
||||||
|
!endif
|
||||||
|
|
||||||
|
skinparam backgroundColor $BGCOLOR
|
||||||
|
skinparam useBetaStyle false
|
||||||
|
|
||||||
|
''
|
||||||
|
'' Colors taken from the _default_colors.scss file
|
||||||
|
''
|
||||||
|
!$PRIMARY = "#303030"
|
||||||
|
!$PRIMARY_DARK = "#262626"
|
||||||
|
!$PRIMARY_LIGHT = "#595959"
|
||||||
|
' !$PRIMARY_TEXT = "#0060a8"
|
||||||
|
!$PRIMARY_TEXT = "#fff200"
|
||||||
|
!$SECONDARY = "#484848"
|
||||||
|
!$SECONDARY_DARK = "#3a3a3a"
|
||||||
|
!$SECONDARY_LIGHT = "#6d6d6d"
|
||||||
|
!$SECONDARY_TEXT = "#fefefe"
|
||||||
|
!$SUCCESS = "#00FF00"
|
||||||
|
!$SUCCESS_DARK = "#00cc00"
|
||||||
|
!$SUCCESS_LIGHT = "#33ff33"
|
||||||
|
!$INFO = "#0060a8"
|
||||||
|
!$INFO_DARK = "#004d86"
|
||||||
|
!$INFO_LIGHT = "#3380b9"
|
||||||
|
!$WARNING = "#ff8000"
|
||||||
|
!$WARNING_DARK = "#cc6600"
|
||||||
|
!$WARNING_LIGHT = "#ff9933"
|
||||||
|
!$WARNING_TEXT = "#222222"
|
||||||
|
!$DANGER = "#ff0000"
|
||||||
|
!$DANGER_DARK = "#cc0000"
|
||||||
|
!$DANGER_LIGHT = "#ff3333"
|
||||||
|
!$LIGHT = "#fff200"
|
||||||
|
!$DARK = "#484848"
|
||||||
|
|
||||||
|
!procedure $success($msg)
|
||||||
|
<font color=$SUCCESS><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $failure($msg)
|
||||||
|
<font color=$DANGER><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $warning($msg)
|
||||||
|
<font color=$WARNING><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $primary_scheme()
|
||||||
|
FontColor $PRIMARY_TEXT
|
||||||
|
BorderColor $PRIMARY_DARK
|
||||||
|
BackgroundColor $PRIMARY_LIGHT-$PRIMARY_DARK
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
skinparam {
|
||||||
|
defaultFontName "Verdana"
|
||||||
|
defaultFontSize 12
|
||||||
|
defaultTextAlignment center
|
||||||
|
shadowing false
|
||||||
|
RoundCorner 10
|
||||||
|
TitleFontSize 18
|
||||||
|
' TitleFontColor $PRIMARY_TEXT
|
||||||
|
}
|
||||||
|
|
||||||
|
''
|
||||||
|
'' Global Default Values
|
||||||
|
''
|
||||||
|
skinparam defaultFontName "Verdana"
|
||||||
|
skinparam defaultFontSize 12
|
||||||
|
skinparam dpi 100
|
||||||
|
skinparam shadowing false
|
||||||
|
skinparam roundcorner 8
|
||||||
|
skinparam ParticipantPadding 40
|
||||||
|
skinparam BoxPadding 40
|
||||||
|
skinparam Padding 5
|
||||||
|
skinparam ArrowColor $DARK
|
||||||
|
skinparam stereotype {
|
||||||
|
CBackgroundColor $SECONDARY_DARK
|
||||||
|
CBorderColor $SECONDARY_LIGHT
|
||||||
|
ABackgroundColor $SUCCESS_LIGHT
|
||||||
|
ABorderColor $SUCCESS_DARK
|
||||||
|
IBackgroundColor $DANGER_LIGHT
|
||||||
|
IBorderColor $DANGER_DARK
|
||||||
|
EBackgroundColor $WARNING_LIGHT
|
||||||
|
EBorderColor $WARNING_DARK
|
||||||
|
NBackgroundColor $INFO_LIGHT
|
||||||
|
NBorderColor $INFO_DARK
|
||||||
|
}
|
||||||
|
skinparam title {
|
||||||
|
FontColor $SECONDARY_TEXT
|
||||||
|
BorderColor $SECONDARY_DARK
|
||||||
|
FontSize 20
|
||||||
|
BorderRoundCorner 8
|
||||||
|
BorderThickness 1
|
||||||
|
BackgroundColor $SECONDARY_LIGHT-$SECONDARY
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
skinparam legend {
|
||||||
|
BackgroundColor $PRIMARY
|
||||||
|
BorderColor $PRIMARY_DARK
|
||||||
|
FontColor $PRIMARY_TEXT
|
||||||
|
}
|
||||||
|
|
||||||
|
!startsub swimlane
|
||||||
|
skinparam swimlane {
|
||||||
|
BorderColor $INFO
|
||||||
|
BorderThickness 2
|
||||||
|
TitleBackgroundColor $SECONDARY_LIGHT-$SECONDARY
|
||||||
|
TitleFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub activity
|
||||||
|
skinparam activity {
|
||||||
|
$primary_scheme()
|
||||||
|
BarColor $SUCCESS
|
||||||
|
StartColor $INFO
|
||||||
|
EndColor $INFO
|
||||||
|
''
|
||||||
|
DiamondBackgroundColor $SECONDARY_LIGHT-$SECONDARY_DARK
|
||||||
|
DiamondBorderColor $SECONDARY_DARK
|
||||||
|
DiamondFontColor $SECONDARY_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub participant
|
||||||
|
|
||||||
|
skinparam participant {
|
||||||
|
$primary_scheme()
|
||||||
|
ParticipantBorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub actor
|
||||||
|
|
||||||
|
skinparam actor {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub arrow
|
||||||
|
|
||||||
|
skinparam arrow {
|
||||||
|
Thickness 3
|
||||||
|
Color $PRIMARY
|
||||||
|
FontColor $FGCOLOR
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
|
||||||
|
!startsub sequence
|
||||||
|
|
||||||
|
skinparam sequence {
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
' For some reason sequence title font color does not pick up from global
|
||||||
|
TitleFontColor $PRIMARY
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
StartColor $PRIMARY
|
||||||
|
EndColor $PRIMARY
|
||||||
|
''
|
||||||
|
BoxBackgroundColor $BGCOLOR
|
||||||
|
BoxBorderColor $DARK
|
||||||
|
BoxFontColor $DARK
|
||||||
|
''
|
||||||
|
LifeLineBorderColor $SECONDARY
|
||||||
|
LifeLineBorderThickness 2
|
||||||
|
LifeLineBackgroundColor $SECONDARY_DARK
|
||||||
|
''
|
||||||
|
GroupBorderColor $DARK
|
||||||
|
GroupFontColor $DARK
|
||||||
|
GroupHeaderFontColor $INFO
|
||||||
|
GroupBackgroundColor $SECONDARY
|
||||||
|
GroupHeaderBackgroundColor $BGCOLOR
|
||||||
|
''
|
||||||
|
DividerBackgroundColor $DARK
|
||||||
|
DividerBorderColor $DARK
|
||||||
|
DividerBorderThickness 2
|
||||||
|
DividerFontColor $LIGHT
|
||||||
|
''
|
||||||
|
ReferenceBackgroundColor $BGCOLOR
|
||||||
|
ReferenceBorderColor $DARK
|
||||||
|
ReferenceFontColor $SECONDARY_TEXT
|
||||||
|
ReferenceHeaderBackgroundColor $SECONDARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub partition
|
||||||
|
|
||||||
|
skinparam partition {
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
FontColor $PRIMARY_LIGHT
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub collections
|
||||||
|
|
||||||
|
skinparam collections {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub control
|
||||||
|
|
||||||
|
skinparam control {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub entity
|
||||||
|
|
||||||
|
skinparam entity {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub boundary
|
||||||
|
|
||||||
|
skinparam boundary {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub agent
|
||||||
|
|
||||||
|
skinparam agent {
|
||||||
|
BackgroundColor $WARNING
|
||||||
|
BorderColor $WARNING_LIGHT
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub note
|
||||||
|
|
||||||
|
skinparam note {
|
||||||
|
BorderThickness 1
|
||||||
|
BackgroundColor $INFO
|
||||||
|
BorderColor $INFO_DARK
|
||||||
|
FontColor $WHITE
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub artifact
|
||||||
|
|
||||||
|
skinparam artifact {
|
||||||
|
BackgroundColor $DARK
|
||||||
|
BorderColor $DARK_DARK
|
||||||
|
FontColor $LIGHT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub component
|
||||||
|
|
||||||
|
skinparam component {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub interface
|
||||||
|
|
||||||
|
skinparam interface {
|
||||||
|
BackgroundColor $DANGER_DARK
|
||||||
|
BorderColor $DANGER
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub storage
|
||||||
|
|
||||||
|
skinparam storage {
|
||||||
|
BackgroundColor $WARNING
|
||||||
|
BorderColor $WARNING_DARK
|
||||||
|
FontColor $WARNING_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub node
|
||||||
|
|
||||||
|
skinparam node {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $PRIMARY_LIGHT
|
||||||
|
FontColor $PRIMARY_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub cloud
|
||||||
|
|
||||||
|
skinparam cloud {
|
||||||
|
BackgroundColor $DARK-black
|
||||||
|
BorderColor $DARK
|
||||||
|
FontColor $LIGHT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub database
|
||||||
|
|
||||||
|
skinparam database {
|
||||||
|
$primary_scheme()
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub class
|
||||||
|
|
||||||
|
skinparam class {
|
||||||
|
$primary_scheme()
|
||||||
|
HeaderBackgroundColor $PRIMARY_LIGHT
|
||||||
|
StereotypeFontColor $DARK
|
||||||
|
BorderThickness 1
|
||||||
|
AttributeFontColor $LIGHT
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub object
|
||||||
|
|
||||||
|
skinparam object {
|
||||||
|
$primary_scheme()
|
||||||
|
StereotypeFontColor $DARK
|
||||||
|
BorderThickness 1
|
||||||
|
AttributeFontColor $SECONDARY_TEXT
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub usecase
|
||||||
|
|
||||||
|
skinparam usecase {
|
||||||
|
$primary_scheme()
|
||||||
|
BorderThickness 2
|
||||||
|
StereotypeFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub rectangle
|
||||||
|
|
||||||
|
skinparam rectangle {
|
||||||
|
$primary_scheme()
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderThickness 2
|
||||||
|
StereotypeFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub package
|
||||||
|
|
||||||
|
skinparam package {
|
||||||
|
$primary_scheme()
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub folder
|
||||||
|
|
||||||
|
skinparam folder {
|
||||||
|
BackgroundColor $SECONDARY_LIGHT
|
||||||
|
BorderColor $WARNING
|
||||||
|
FontColor $WARNING
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub frame
|
||||||
|
|
||||||
|
skinparam frame {
|
||||||
|
BackgroundColor $SECONDARY_LIGHT
|
||||||
|
BorderColor $INFO
|
||||||
|
FontColor $INFO
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub state
|
||||||
|
|
||||||
|
skinparam state {
|
||||||
|
$primary_scheme()
|
||||||
|
StartColor $INFO
|
||||||
|
EndColor $INFO
|
||||||
|
AttributeFontColor $SECONDARY_TEXT
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub queue
|
||||||
|
|
||||||
|
skinparam queue {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub card
|
||||||
|
|
||||||
|
skinparam card {
|
||||||
|
BackgroundColor $INFO
|
||||||
|
BorderColor $INFO_DARK
|
||||||
|
FontColor $INFO_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub file
|
||||||
|
|
||||||
|
skinparam file {
|
||||||
|
BackgroundColor $SECONDARY_LIGHT-$SECONDARY
|
||||||
|
BorderColor $INFO
|
||||||
|
FontColor $SECONDARY_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub stack
|
||||||
|
|
||||||
|
skinparam stack {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!if %variable_exists("NEWSTYLE")
|
||||||
|
<style>
|
||||||
|
wbsDiagram {
|
||||||
|
LineColor $PRIMARY
|
||||||
|
BorderThickness 3
|
||||||
|
BackgroundColor $LIGHT
|
||||||
|
FontColor $PRIMARY_TEXT
|
||||||
|
:depth(0) {
|
||||||
|
fontSize 16
|
||||||
|
fontStyle bold
|
||||||
|
fontColor $SECONDARY
|
||||||
|
}
|
||||||
|
:depth(1) {
|
||||||
|
fontSize 14
|
||||||
|
padding 5
|
||||||
|
fontStyle bold
|
||||||
|
}
|
||||||
|
:depth(2) {
|
||||||
|
fontSize 12
|
||||||
|
padding 4
|
||||||
|
}
|
||||||
|
:depth(3) {
|
||||||
|
fontSize 11
|
||||||
|
padding 3
|
||||||
|
fontColor $INFO
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
!endif
|
434
themes/puml-theme-bluegray.puml
Normal file
434
themes/puml-theme-bluegray.puml
Normal file
@ -0,0 +1,434 @@
|
|||||||
|
''
|
||||||
|
'' A blue gray theme
|
||||||
|
''
|
||||||
|
'' Author: Brett Schwarz
|
||||||
|
'' Copyright (c) 2019 by Brett Schwarz
|
||||||
|
|
||||||
|
!$THEME = "bluegray"
|
||||||
|
|
||||||
|
!if %not(%variable_exists("$BGCOLOR"))
|
||||||
|
!$BGCOLOR = "transparent"
|
||||||
|
!endif
|
||||||
|
|
||||||
|
skinparam backgroundColor $BGCOLOR
|
||||||
|
skinparam useBetaStyle false
|
||||||
|
|
||||||
|
|
||||||
|
!$WHITE = "#fff"
|
||||||
|
!$GRAY_DARK = "#5a5a5a"
|
||||||
|
!$GRAY = "#959595"
|
||||||
|
!$PRIMARY = "#009fdb"
|
||||||
|
!$SECONDARY = "#f2f2f2"
|
||||||
|
!$SUCCESS = "#b5bd00"
|
||||||
|
!$INFO = "#0568ae"
|
||||||
|
!$WARNING = "#ea7400"
|
||||||
|
!$DANGER = "#cf2a2a"
|
||||||
|
!$LIGHT = "#d2d2d2"
|
||||||
|
!$DARK = "#5a5a5a"
|
||||||
|
|
||||||
|
!$FGCOLOR = $DARK
|
||||||
|
!$PRIMARY_LIGHT = "#33b2e2"
|
||||||
|
!$PRIMARY_DARK = "#007faf"
|
||||||
|
!$PRIMARY_TEXT = $WHITE
|
||||||
|
!$SECONDARY_LIGHT = "#f5f5f5"
|
||||||
|
!$SECONDARY_DARK = "#c2c2c2"
|
||||||
|
!$SECONDARY_TEXT = $DARK
|
||||||
|
!$INFO_LIGHT = "#3786be"
|
||||||
|
!$INFO_DARK = "#04538b"
|
||||||
|
!$INFO_TEXT = $WHITE
|
||||||
|
!$SUCCESS_LIGHT = "#c4ca33"
|
||||||
|
!$SUCCESS_DARK = "#919700"
|
||||||
|
!$SUCCESS_TEXT = $WHITE
|
||||||
|
!$WARNING_LIGHT = "#ee9033"
|
||||||
|
!$WARNING_DARK = "#bb5d00"
|
||||||
|
!$WARNING_TEXT = $WHITE
|
||||||
|
!$DANGER_LIGHT = "#d95555"
|
||||||
|
!$DANGER_DARK = "#a62222"
|
||||||
|
!$DANGER_TEXT = $WHITE
|
||||||
|
|
||||||
|
!procedure $success($msg)
|
||||||
|
<font color=$SUCCESS><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $failure($msg)
|
||||||
|
<font color=$DANGER><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $warning($msg)
|
||||||
|
<font color=$WARNING><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $primary_scheme()
|
||||||
|
|
||||||
|
FontColor $PRIMARY_TEXT
|
||||||
|
BorderColor $PRIMARY_LIGHT
|
||||||
|
BackgroundColor $PRIMARY_LIGHT-$PRIMARY
|
||||||
|
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $secondary_scheme()
|
||||||
|
FontColor $SECONDARY_TEXT
|
||||||
|
BorderColor $SECONDARY_DARK
|
||||||
|
BackgroundColor $WHITE-#fefefe
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
''
|
||||||
|
'' Global Default Values
|
||||||
|
''
|
||||||
|
skinparam defaultFontName "Verdana"
|
||||||
|
skinparam defaultFontSize 12
|
||||||
|
skinparam dpi 100
|
||||||
|
skinparam shadowing false
|
||||||
|
skinparam roundcorner 20
|
||||||
|
skinparam ParticipantPadding 30
|
||||||
|
skinparam BoxPadding 40
|
||||||
|
skinparam Padding 8
|
||||||
|
skinparam ArrowColor $GRAY
|
||||||
|
skinparam stereotype {
|
||||||
|
CBackgroundColor $SECONDARY_LIGHT
|
||||||
|
CBorderColor $SECONDARY_DARK
|
||||||
|
ABackgroundColor $SUCCESS_LIGHT
|
||||||
|
ABorderColor $SUCCESS_DARK
|
||||||
|
IBackgroundColor $DANGER_LIGHT
|
||||||
|
IBorderColor $DANGER_DARK
|
||||||
|
EBackgroundColor $WARNING_LIGHT
|
||||||
|
EBorderColor $WARNING_DARK
|
||||||
|
NBackgroundColor $INFO_LIGHT
|
||||||
|
NBorderColor $INFO_DARK
|
||||||
|
}
|
||||||
|
skinparam title {
|
||||||
|
FontColor $PRIMARY
|
||||||
|
BorderColor $SECONDARY_DARK
|
||||||
|
FontSize 20
|
||||||
|
BorderRoundCorner 8
|
||||||
|
BorderThickness 1
|
||||||
|
BackgroundColor $SECONDARY_LIGHT-$SECONDARY
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
skinparam legend {
|
||||||
|
BackgroundColor $SECONDARY
|
||||||
|
BorderColor $SECONDARY_DARK
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
|
||||||
|
!startsub swimlane
|
||||||
|
skinparam swimlane {
|
||||||
|
BorderColor $INFO
|
||||||
|
BorderThickness 2
|
||||||
|
TitleBackgroundColor $SECONDARY_LIGHT-$SECONDARY
|
||||||
|
TitleFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub activity
|
||||||
|
|
||||||
|
skinparam activity {
|
||||||
|
FontColor $PRIMARY_TEXT
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
BackgroundColor $PRIMARY_LIGHT-$PRIMARY
|
||||||
|
BarColor $SUCCESS
|
||||||
|
StartColor $INFO
|
||||||
|
EndColor $INFO
|
||||||
|
''
|
||||||
|
DiamondBackgroundColor $SECONDARY_LIGHT-$SECONDARY_DARK
|
||||||
|
DiamondBorderColor $SECONDARY_DARK
|
||||||
|
DiamondFontColor $SECONDARY_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub participant
|
||||||
|
|
||||||
|
skinparam participant {
|
||||||
|
$primary_scheme()
|
||||||
|
ParticipantBorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub actor
|
||||||
|
|
||||||
|
skinparam actor {
|
||||||
|
$primary_scheme()
|
||||||
|
FontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub arrow
|
||||||
|
|
||||||
|
skinparam arrow {
|
||||||
|
Thickness 3
|
||||||
|
Color $PRIMARY
|
||||||
|
FontColor $FGCOLOR
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub sequence
|
||||||
|
|
||||||
|
skinparam sequence {
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
' For some reason sequence title font color does not pick up from global
|
||||||
|
TitleFontColor $PRIMARY
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
StartColor $PRIMARY
|
||||||
|
EndColor $PRIMARY
|
||||||
|
''
|
||||||
|
BoxBackgroundColor $LIGHT
|
||||||
|
BoxBorderColor $GRAY
|
||||||
|
BoxFontColor $DARK
|
||||||
|
''
|
||||||
|
LifeLineBorderColor $SECONDARY_DARK
|
||||||
|
LifeLineBorderThickness 2
|
||||||
|
LifeLineBackgroundColor $SECONDARY_LIGHT
|
||||||
|
''
|
||||||
|
GroupBorderColor $GRAY
|
||||||
|
GroupFontColor $DARK
|
||||||
|
GroupHeaderFontColor $INFO
|
||||||
|
''
|
||||||
|
DividerBackgroundColor $WHITE-$LIGHT
|
||||||
|
DividerBorderColor $GRAY
|
||||||
|
DividerBorderThickness 2
|
||||||
|
DividerFontColor $DARK
|
||||||
|
''
|
||||||
|
ReferenceBackgroundColor $BGCOLOR
|
||||||
|
ReferenceBorderColor $GRAY
|
||||||
|
ReferenceFontColor $DARK
|
||||||
|
ReferenceHeaderFontColor $INFO
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub partition
|
||||||
|
|
||||||
|
skinparam partition {
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
FontColor $PRIMARY
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub collections
|
||||||
|
|
||||||
|
skinparam collections {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub control
|
||||||
|
|
||||||
|
skinparam control {
|
||||||
|
$primary_scheme()
|
||||||
|
FontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub entity
|
||||||
|
|
||||||
|
skinparam entity {
|
||||||
|
$primary_scheme()
|
||||||
|
FontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub boundary
|
||||||
|
|
||||||
|
skinparam boundary {
|
||||||
|
$primary_scheme()
|
||||||
|
FontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub agent
|
||||||
|
|
||||||
|
skinparam agent {
|
||||||
|
BackgroundColor #orange
|
||||||
|
BorderColor #999999
|
||||||
|
FontColor #333333
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub note
|
||||||
|
|
||||||
|
skinparam note {
|
||||||
|
BorderThickness 1
|
||||||
|
BackgroundColor $INFO_LIGHT-$INFO
|
||||||
|
BorderColor $INFO
|
||||||
|
FontColor $WHITE
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub artifact
|
||||||
|
|
||||||
|
skinparam artifact {
|
||||||
|
BackgroundColor $WHITE-$LIGHT
|
||||||
|
BorderColor $SECONDARY_DARK
|
||||||
|
FontColor $SECONDARY_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub component
|
||||||
|
|
||||||
|
skinparam component {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub interface
|
||||||
|
|
||||||
|
skinparam interface {
|
||||||
|
BackgroundColor $DANGER_LIGHT
|
||||||
|
BorderColor $DANGER
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub storage
|
||||||
|
|
||||||
|
skinparam storage {
|
||||||
|
BackgroundColor $WARNING_LIGHT-$WARNING
|
||||||
|
BorderColor $WARNING
|
||||||
|
FontColor $WARNING_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub node
|
||||||
|
|
||||||
|
skinparam node {
|
||||||
|
BackgroundColor $SECONDARY_LIGHT-$SECONDARY
|
||||||
|
BorderColor $SECONDARY_DARK
|
||||||
|
FontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub cloud
|
||||||
|
|
||||||
|
skinparam cloud {
|
||||||
|
BackgroundColor #F2FCFE-#eeeeee
|
||||||
|
BorderColor #F2FCFE
|
||||||
|
FontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub database
|
||||||
|
|
||||||
|
skinparam database {
|
||||||
|
$primary_scheme()
|
||||||
|
' FontColor $PRIMARY
|
||||||
|
BorderColor $PRIMARY_DARK
|
||||||
|
' BackgroundColor $BGCOLOR
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub class
|
||||||
|
|
||||||
|
skinparam class {
|
||||||
|
$primary_scheme()
|
||||||
|
HeaderBackgroundColor $PRIMARY_LIGHT-$PRIMARY
|
||||||
|
StereotypeFontColor $DARK
|
||||||
|
BorderThickness 1
|
||||||
|
AttributeFontColor $LIGHT
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub object
|
||||||
|
|
||||||
|
skinparam object {
|
||||||
|
$primary_scheme()
|
||||||
|
StereotypeFontColor $DARK
|
||||||
|
BorderThickness 1
|
||||||
|
AttributeFontColor $LIGHT
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub usecase
|
||||||
|
|
||||||
|
skinparam usecase {
|
||||||
|
$primary_scheme()
|
||||||
|
BorderThickness 2
|
||||||
|
StereotypeFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub rectangle
|
||||||
|
|
||||||
|
skinparam rectangle {
|
||||||
|
$secondary_scheme()
|
||||||
|
BorderThickness 2
|
||||||
|
StereotypeFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub package
|
||||||
|
|
||||||
|
skinparam package {
|
||||||
|
FontColor $PRIMARY
|
||||||
|
BorderColor $PRIMARY_LIGHT
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub folder
|
||||||
|
|
||||||
|
skinparam folder {
|
||||||
|
BackgroundColor $WHITE-$SECONDARY_LIGHT
|
||||||
|
BorderColor $WARNING
|
||||||
|
FontColor $WARNING
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub frame
|
||||||
|
|
||||||
|
skinparam frame {
|
||||||
|
BackgroundColor $WHITE-$SECONDARY_LIGHT
|
||||||
|
BorderColor $INFO
|
||||||
|
FontColor $INFO
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub state
|
||||||
|
|
||||||
|
skinparam state {
|
||||||
|
$primary_scheme()
|
||||||
|
BorderColor $PRIMARY_DARK
|
||||||
|
StartColor $INFO
|
||||||
|
EndColor $INFO
|
||||||
|
AttributeFontColor $LIGHT
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub queue
|
||||||
|
|
||||||
|
skinparam queue {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub card
|
||||||
|
|
||||||
|
skinparam card {
|
||||||
|
BackgroundColor $INFO_LIGHT-$INFO
|
||||||
|
BorderColor $INFO
|
||||||
|
FontColor $INFO_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub file
|
||||||
|
|
||||||
|
skinparam file {
|
||||||
|
BackgroundColor $SECONDARY_LIGHT-$SECONDARY
|
||||||
|
BorderColor $INFO
|
||||||
|
FontColor $SECONDARY_TEXT
|
||||||
|
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub stack
|
||||||
|
|
||||||
|
skinparam stack {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
467
themes/puml-theme-cerulean-outline.puml
Normal file
467
themes/puml-theme-cerulean-outline.puml
Normal file
@ -0,0 +1,467 @@
|
|||||||
|
''
|
||||||
|
'' Cerulean theme based off of the bootstrap theme of the same name
|
||||||
|
'' https://bootswatch.com/cerulean/
|
||||||
|
''
|
||||||
|
'' Author: Brett Schwarz
|
||||||
|
'' Copyright (c) 2019 by Brett Schwarz
|
||||||
|
|
||||||
|
!$THEME = "cerulean-outline"
|
||||||
|
|
||||||
|
!if %not(%variable_exists("$BGCOLOR"))
|
||||||
|
!$BGCOLOR = "transparent"
|
||||||
|
!endif
|
||||||
|
|
||||||
|
skinparam backgroundColor $BGCOLOR
|
||||||
|
skinparam useBetaStyle false
|
||||||
|
|
||||||
|
''
|
||||||
|
'' Colors taken from the css file of the BS theme
|
||||||
|
''
|
||||||
|
!$BLUE = "#033C73"
|
||||||
|
!$INDIGO = "#6610F2"
|
||||||
|
!$PURPLE = "#6F42C1"
|
||||||
|
!$PINK = "#E83E8C"
|
||||||
|
!$RED = "#C71C22"
|
||||||
|
!$ORANGE = "#FD7E14"
|
||||||
|
!$YELLOW = "#DD5600"
|
||||||
|
!$GREEN = "#73A839"
|
||||||
|
!$TEAL = "#20C997"
|
||||||
|
!$CYAN = "#2FA4E7"
|
||||||
|
!$WHITE = "#FFF"
|
||||||
|
!$GRAY_DARK = "#343A40"
|
||||||
|
!$GRAY = "#868E96"
|
||||||
|
!$PRIMARY = "#2FA4E7"
|
||||||
|
!$SECONDARY = "#E9ECEF"
|
||||||
|
!$SUCCESS = "#73A839"
|
||||||
|
!$INFO = "#033C73"
|
||||||
|
!$WARNING = "#DD5600"
|
||||||
|
!$DANGER = "#C71C22"
|
||||||
|
!$LIGHT = "#F8F9FA"
|
||||||
|
!$DARK = "#343A40"
|
||||||
|
|
||||||
|
'' *_LIGHT = tint (lighter) of the main color of 80%
|
||||||
|
'' where TINT is calculated by clr + (255-clr) * tint_factor
|
||||||
|
'' *_DARK = shade (darker) of the main color of 80%
|
||||||
|
'' and SHADE is calculated by clr * (1 - shade_factor)
|
||||||
|
''
|
||||||
|
!$FGCOLOR = $DARK
|
||||||
|
!$PRIMARY_LIGHT = "#59B6EC"
|
||||||
|
!$PRIMARY_DARK = "#2683B9"
|
||||||
|
!$PRIMARY_TEXT = $PRIMARY
|
||||||
|
!$SECONDARY_LIGHT = "#EDF0F2"
|
||||||
|
!$SECONDARY_DARK = "#BABDBF"
|
||||||
|
!$SECONDARY_TEXT = $SECONDARY_DARK
|
||||||
|
!$INFO_LIGHT = "#35638F"
|
||||||
|
!$INFO_TEXT = $INFO
|
||||||
|
!$SUCCESS_LIGHT = "#8FB961"
|
||||||
|
!$SUCCESS_TEXT = $SUCCESS
|
||||||
|
!$WARNING_LIGHT = "#E47833"
|
||||||
|
!$WARNING_TEXT = $WARNING
|
||||||
|
!$DANGER_LIGHT = "#D2494E"
|
||||||
|
!$DANGER_TEXT = $WHITE
|
||||||
|
|
||||||
|
!procedure $success($msg)
|
||||||
|
<font color=$SUCCESS><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $failure($msg)
|
||||||
|
<font color=$DANGER><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $warning($msg)
|
||||||
|
<font color=$WARNING><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $primary_scheme()
|
||||||
|
FontColor $PRIMARY_TEXT
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
''
|
||||||
|
'' Global Default Values
|
||||||
|
''
|
||||||
|
skinparam defaultFontName "Verdana"
|
||||||
|
skinparam defaultFontSize 12
|
||||||
|
skinparam dpi 100
|
||||||
|
skinparam shadowing false
|
||||||
|
skinparam roundcorner 8
|
||||||
|
skinparam ParticipantPadding 40
|
||||||
|
skinparam BoxPadding 40
|
||||||
|
skinparam Padding 5
|
||||||
|
skinparam ArrowColor $GRAY
|
||||||
|
skinparam stereotype {
|
||||||
|
CBackgroundColor $SECONDARY_LIGHT
|
||||||
|
CBorderColor $SECONDARY_DARK
|
||||||
|
ABackgroundColor $SUCCESS_LIGHT
|
||||||
|
ABorderColor $SUCCESS_DARK
|
||||||
|
IBackgroundColor $DANGER_LIGHT
|
||||||
|
IBorderColor $DANGER_DARK
|
||||||
|
EBackgroundColor $WARNING_LIGHT
|
||||||
|
EBorderColor $WARNING_DARK
|
||||||
|
NBackgroundColor $INFO_LIGHT
|
||||||
|
NBorderColor $INFO_DARK
|
||||||
|
}
|
||||||
|
skinparam title {
|
||||||
|
FontColor $PRIMARY
|
||||||
|
BorderColor $SECONDARY_DARK
|
||||||
|
FontSize 20
|
||||||
|
BorderRoundCorner 8
|
||||||
|
BorderThickness 1
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
}
|
||||||
|
|
||||||
|
skinparam legend {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $SECONDARY_DARK
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
|
||||||
|
!startsub swimlane
|
||||||
|
skinparam swimlane {
|
||||||
|
BorderColor $INFO
|
||||||
|
BorderThickness 2
|
||||||
|
TitleBackgroundColor $SECONDARY_LIGHT-$SECONDARY
|
||||||
|
TitleFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub activity
|
||||||
|
|
||||||
|
skinparam activity {
|
||||||
|
$primary_scheme()
|
||||||
|
BarColor $SUCCESS
|
||||||
|
StartColor $INFO
|
||||||
|
EndColor $INFO
|
||||||
|
''
|
||||||
|
DiamondBackgroundColor $BGCOLOR
|
||||||
|
DiamondBorderColor $SECONDARY_DARK
|
||||||
|
DiamondFontColor $SECONDARY_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub participant
|
||||||
|
|
||||||
|
skinparam participant {
|
||||||
|
$primary_scheme()
|
||||||
|
ParticipantBorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub actor
|
||||||
|
|
||||||
|
skinparam actor {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub arrow
|
||||||
|
|
||||||
|
skinparam arrow {
|
||||||
|
Thickness 3
|
||||||
|
Color $PRIMARY
|
||||||
|
FontColor $FGCOLOR
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub sequence
|
||||||
|
|
||||||
|
skinparam sequence {
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
' For some reason sequence title font color does not pick up from global
|
||||||
|
TitleFontColor $PRIMARY
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
StartColor $PRIMARY
|
||||||
|
EndColor $PRIMARY
|
||||||
|
''
|
||||||
|
BoxBackgroundColor $BGCOLOR
|
||||||
|
BoxBorderColor $GRAY
|
||||||
|
BoxFontColor $DARK
|
||||||
|
''
|
||||||
|
LifeLineBorderColor $SECONDARY_DARK
|
||||||
|
LifeLineBorderThickness 2
|
||||||
|
LifeLineBackgroundColor $BGCOLOR
|
||||||
|
''
|
||||||
|
GroupBorderColor $GRAY
|
||||||
|
GroupFontColor $DARK
|
||||||
|
GroupHeaderFontColor $INFO_TEXT
|
||||||
|
''
|
||||||
|
DividerBackgroundColor $BGCOLOR
|
||||||
|
DividerBorderColor $GRAY
|
||||||
|
DividerBorderThickness 2
|
||||||
|
DividerFontColor $DARK
|
||||||
|
''
|
||||||
|
ReferenceBackgroundColor $BGCOLOR
|
||||||
|
ReferenceBorderColor $GRAY
|
||||||
|
ReferenceFontColor $DARK
|
||||||
|
ReferenceHeaderFontColor $INFO_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub partition
|
||||||
|
|
||||||
|
skinparam partition {
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
FontColor $PRIMARY
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub collections
|
||||||
|
|
||||||
|
skinparam collections {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub control
|
||||||
|
|
||||||
|
skinparam control {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub entity
|
||||||
|
|
||||||
|
skinparam entity {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub boundary
|
||||||
|
|
||||||
|
skinparam boundary {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub agent
|
||||||
|
|
||||||
|
skinparam agent {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor #999999
|
||||||
|
FontColor #333333
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub note
|
||||||
|
|
||||||
|
skinparam note {
|
||||||
|
BorderThickness 1
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $INFO
|
||||||
|
FontColor $INFO_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub artifact
|
||||||
|
|
||||||
|
skinparam artifact {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $GRAY
|
||||||
|
FontColor $GRAY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub component
|
||||||
|
|
||||||
|
skinparam component {
|
||||||
|
$primary_scheme()
|
||||||
|
' BackgroundColor $BGCOLOR
|
||||||
|
' BorderColor $SUCCESS
|
||||||
|
' FontColor $SUCCESS_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub interface
|
||||||
|
|
||||||
|
skinparam interface {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $DANGER
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub storage
|
||||||
|
|
||||||
|
skinparam storage {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $WARNING
|
||||||
|
FontColor $WARNING_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub node
|
||||||
|
|
||||||
|
skinparam node {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $DARK
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub cloud
|
||||||
|
|
||||||
|
skinparam cloud {
|
||||||
|
BackgroundColor #F2FCFE-#eeeeee
|
||||||
|
BorderColor #F2FCFE
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub database
|
||||||
|
|
||||||
|
skinparam database {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub class
|
||||||
|
|
||||||
|
skinparam class {
|
||||||
|
$primary_scheme()
|
||||||
|
FontColor $LIGHT
|
||||||
|
HeaderBackgroundColor $PRIMARY-$PRIMARY_DARK
|
||||||
|
StereotypeFontColor $DARK
|
||||||
|
BorderThickness 1
|
||||||
|
AttributeFontColor $DARK
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub object
|
||||||
|
|
||||||
|
skinparam object {
|
||||||
|
$primary_scheme()
|
||||||
|
StereotypeFontColor $DARK
|
||||||
|
BorderThickness 1
|
||||||
|
AttributeFontColor $SECONDARY_DARK
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub usecase
|
||||||
|
|
||||||
|
skinparam usecase {
|
||||||
|
$primary_scheme()
|
||||||
|
BorderThickness 2
|
||||||
|
StereotypeFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub rectangle
|
||||||
|
|
||||||
|
skinparam rectangle {
|
||||||
|
$primary_scheme()
|
||||||
|
BorderThickness 2
|
||||||
|
StereotypeFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub package
|
||||||
|
|
||||||
|
skinparam package {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
FontColor $PRIMARY
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub folder
|
||||||
|
|
||||||
|
skinparam folder {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $WARNING
|
||||||
|
FontColor $WARNING
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub frame
|
||||||
|
|
||||||
|
skinparam frame {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $INFO
|
||||||
|
FontColor $INFO_TEXT
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub state
|
||||||
|
|
||||||
|
skinparam state {
|
||||||
|
$primary_scheme()
|
||||||
|
StartColor $INFO
|
||||||
|
EndColor $INFO
|
||||||
|
AttributeFontColor $SECONDARY_TEXT
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub queue
|
||||||
|
|
||||||
|
skinparam queue {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub card
|
||||||
|
|
||||||
|
skinparam card {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $INFO
|
||||||
|
FontColor $INFO_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub file
|
||||||
|
|
||||||
|
skinparam file {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $GRAY
|
||||||
|
FontColor $GRAY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub stack
|
||||||
|
|
||||||
|
skinparam stack {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!if (%variable_exists("LEGACY"))
|
||||||
|
!$LEGACY = "true"
|
||||||
|
!endif
|
||||||
|
|
||||||
|
!if (%getenv("LEGACY") == "true")
|
||||||
|
!$LEGACY = "true"
|
||||||
|
!endif
|
||||||
|
|
||||||
|
!if (%variable_exists("$LEGACY"))
|
||||||
|
|
||||||
|
skinparam useBetaStyle true
|
||||||
|
|
||||||
|
!startsub mindmap
|
||||||
|
|
||||||
|
<style>
|
||||||
|
style mindmapDiagram {
|
||||||
|
'Padding 8
|
||||||
|
Margin 8
|
||||||
|
LineThickness 2.0
|
||||||
|
FontColor $PRIMARY_TEXT
|
||||||
|
LineColor $SECONDARY
|
||||||
|
BackGroundColor $PRIMARY_LIGHT-$PRIMARY
|
||||||
|
}
|
||||||
|
wbsDiagram {
|
||||||
|
'Padding 8
|
||||||
|
Margin 8
|
||||||
|
LineThickness 2.0
|
||||||
|
FontColor $PRIMARY_TEXT
|
||||||
|
LineColor $PRIMARY
|
||||||
|
BackGroundColor $PRIMARY_LIGHT-$PRIMARY
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
!endsub
|
||||||
|
!endif
|
442
themes/puml-theme-cerulean.puml
Normal file
442
themes/puml-theme-cerulean.puml
Normal file
@ -0,0 +1,442 @@
|
|||||||
|
''
|
||||||
|
'' Cerulean theme based off of the bootstrap theme of the same name
|
||||||
|
'' https://bootswatch.com/cerulean/
|
||||||
|
''
|
||||||
|
'' Author: Brett Schwarz
|
||||||
|
'' Copyright (c) 2019 by Brett Schwarz
|
||||||
|
|
||||||
|
!$THEME = "cerulean"
|
||||||
|
|
||||||
|
!if %not(%variable_exists("$BGCOLOR"))
|
||||||
|
!$BGCOLOR = "transparent"
|
||||||
|
!endif
|
||||||
|
|
||||||
|
skinparam backgroundColor $BGCOLOR
|
||||||
|
skinparam useBetaStyle false
|
||||||
|
|
||||||
|
''
|
||||||
|
'' Colors taken from the css file of the BS theme
|
||||||
|
''
|
||||||
|
!$BLUE = "#033C73"
|
||||||
|
!$INDIGO = "#6610F2"
|
||||||
|
!$PURPLE = "#6F42C1"
|
||||||
|
!$PINK = "#E83E8C"
|
||||||
|
!$RED = "#C71C22"
|
||||||
|
!$ORANGE = "#FD7E14"
|
||||||
|
!$YELLOW = "#DD5600"
|
||||||
|
!$GREEN = "#73A839"
|
||||||
|
!$TEAL = "#20C997"
|
||||||
|
!$CYAN = "#2FA4E7"
|
||||||
|
!$WHITE = "#FFF"
|
||||||
|
!$GRAY_DARK = "#343A40"
|
||||||
|
!$GRAY = "#868E96"
|
||||||
|
!$PRIMARY = "#2FA4E7"
|
||||||
|
!$SECONDARY = "#E9ECEF"
|
||||||
|
!$SUCCESS = "#73A839"
|
||||||
|
!$INFO = "#033C73"
|
||||||
|
!$WARNING = "#DD5600"
|
||||||
|
!$DANGER = "#C71C22"
|
||||||
|
!$LIGHT = "#F8F9FA"
|
||||||
|
!$DARK = "#343A40"
|
||||||
|
|
||||||
|
'' *_LIGHT = tint (lighter) of the main color of 80%
|
||||||
|
'' where TINT is calculated by clr + (255-clr) * tint_factor
|
||||||
|
'' *_DARK = shade (darker) of the main color of 80%
|
||||||
|
'' and SHADE is calculated by clr * (1 - shade_factor)
|
||||||
|
''
|
||||||
|
!$FGCOLOR = $DARK
|
||||||
|
!$PRIMARY_LIGHT = "#59B6EC"
|
||||||
|
!$PRIMARY_DARK = "#2683B9"
|
||||||
|
!$PRIMARY_TEXT = $WHITE
|
||||||
|
!$SECONDARY_LIGHT = "#EDF0F2"
|
||||||
|
!$SECONDARY_DARK = "#BABDBF"
|
||||||
|
!$SECONDARY_TEXT = $DARK
|
||||||
|
!$INFO_LIGHT = "#35638F"
|
||||||
|
!$INFO_DARK = "#02305C"
|
||||||
|
!$INFO_TEXT = $WHITE
|
||||||
|
!$SUCCESS_LIGHT = "#8FB961"
|
||||||
|
!$SUCCESS_DARK = "#5C862E"
|
||||||
|
!$SUCCESS_TEXT = $WHITE
|
||||||
|
!$WARNING_LIGHT = "#E47833"
|
||||||
|
!$WARNING_DARK = "#B14500"
|
||||||
|
!$WARNING_TEXT = $WHITE
|
||||||
|
!$DANGER_LIGHT = "#D2494E"
|
||||||
|
!$DANGER_DARK = "#9F161B"
|
||||||
|
!$DANGER_TEXT = $WHITE
|
||||||
|
|
||||||
|
!procedure $success($msg)
|
||||||
|
<font color=$SUCCESS><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $failure($msg)
|
||||||
|
<font color=$DANGER><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $warning($msg)
|
||||||
|
<font color=$WARNING><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $primary_scheme()
|
||||||
|
FontColor $PRIMARY_TEXT
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
BackgroundColor $PRIMARY_LIGHT-$PRIMARY
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
''
|
||||||
|
'' Global Default Values
|
||||||
|
''
|
||||||
|
skinparam defaultFontName "Verdana"
|
||||||
|
skinparam defaultFontSize 12
|
||||||
|
skinparam dpi 100
|
||||||
|
skinparam shadowing false
|
||||||
|
skinparam roundcorner 8
|
||||||
|
skinparam ParticipantPadding 40
|
||||||
|
skinparam BoxPadding 40
|
||||||
|
skinparam Padding 5
|
||||||
|
skinparam ArrowColor $GRAY
|
||||||
|
skinparam stereotype {
|
||||||
|
CBackgroundColor $SECONDARY_LIGHT
|
||||||
|
CBorderColor $SECONDARY_DARK
|
||||||
|
ABackgroundColor $SUCCESS_LIGHT
|
||||||
|
ABorderColor $SUCCESS_DARK
|
||||||
|
IBackgroundColor $DANGER_LIGHT
|
||||||
|
IBorderColor $DANGER_DARK
|
||||||
|
EBackgroundColor $WARNING_LIGHT
|
||||||
|
EBorderColor $WARNING_DARK
|
||||||
|
NBackgroundColor $INFO_LIGHT
|
||||||
|
NBorderColor $INFO_DARK
|
||||||
|
}
|
||||||
|
skinparam title {
|
||||||
|
FontColor $PRIMARY
|
||||||
|
BorderColor $SECONDARY_DARK
|
||||||
|
FontSize 20
|
||||||
|
BorderRoundCorner 8
|
||||||
|
BorderThickness 1
|
||||||
|
BackgroundColor $SECONDARY_LIGHT-$SECONDARY
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
skinparam legend {
|
||||||
|
BackgroundColor $SECONDARY
|
||||||
|
BorderColor $SECONDARY_DARK
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
|
||||||
|
!startsub swimlane
|
||||||
|
skinparam swimlane {
|
||||||
|
BorderColor $INFO
|
||||||
|
BorderThickness 2
|
||||||
|
TitleBackgroundColor $SECONDARY_LIGHT-$SECONDARY
|
||||||
|
TitleFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub activity
|
||||||
|
|
||||||
|
skinparam activity {
|
||||||
|
$primary_scheme()
|
||||||
|
BarColor $SUCCESS
|
||||||
|
StartColor $INFO
|
||||||
|
EndColor $INFO
|
||||||
|
''
|
||||||
|
DiamondBackgroundColor $WHITE-$SECONDARY_LIGHT
|
||||||
|
DiamondBorderColor $SECONDARY_DARK
|
||||||
|
DiamondFontColor $SECONDARY_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub participant
|
||||||
|
|
||||||
|
skinparam participant {
|
||||||
|
$primary_scheme()
|
||||||
|
ParticipantBorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub actor
|
||||||
|
|
||||||
|
skinparam actor {
|
||||||
|
$primary_scheme()
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub arrow
|
||||||
|
|
||||||
|
skinparam arrow {
|
||||||
|
Thickness 3
|
||||||
|
Color $PRIMARY
|
||||||
|
FontColor $FGCOLOR
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub sequence
|
||||||
|
|
||||||
|
skinparam sequence {
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
' For some reason sequence title font color does not pick up from global
|
||||||
|
TitleFontColor $PRIMARY
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
StartColor $PRIMARY
|
||||||
|
EndColor $PRIMARY
|
||||||
|
''
|
||||||
|
BoxBackgroundColor $LIGHT
|
||||||
|
BoxBorderColor $GRAY
|
||||||
|
BoxFontColor $DARK
|
||||||
|
''
|
||||||
|
LifeLineBorderColor $SECONDARY_DARK
|
||||||
|
LifeLineBorderThickness 2
|
||||||
|
LifeLineBackgroundColor $SECONDARY_LIGHT
|
||||||
|
''
|
||||||
|
GroupBorderColor $GRAY
|
||||||
|
GroupFontColor $DARK
|
||||||
|
GroupHeaderFontColor $INFO
|
||||||
|
''
|
||||||
|
DividerBackgroundColor $WHITE-$LIGHT
|
||||||
|
DividerBorderColor $GRAY
|
||||||
|
DividerBorderThickness 2
|
||||||
|
DividerFontColor $DARK
|
||||||
|
''
|
||||||
|
ReferenceBackgroundColor $BGCOLOR
|
||||||
|
ReferenceBorderColor $GRAY
|
||||||
|
ReferenceFontColor $DARK
|
||||||
|
ReferenceHeaderFontColor $INFO
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub partition
|
||||||
|
|
||||||
|
skinparam partition {
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
FontColor $PRIMARY
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub collections
|
||||||
|
|
||||||
|
skinparam collections {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub control
|
||||||
|
|
||||||
|
skinparam control {
|
||||||
|
$primary_scheme()
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub entity
|
||||||
|
|
||||||
|
skinparam entity {
|
||||||
|
$primary_scheme()
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub boundary
|
||||||
|
|
||||||
|
skinparam boundary {
|
||||||
|
$primary_scheme()
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub agent
|
||||||
|
|
||||||
|
skinparam agent {
|
||||||
|
BackgroundColor #orange
|
||||||
|
BorderColor #999999
|
||||||
|
FontColor #333333
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub note
|
||||||
|
|
||||||
|
skinparam note {
|
||||||
|
BorderThickness 1
|
||||||
|
BackgroundColor $INFO_LIGHT-$INFO
|
||||||
|
BorderColor $INFO
|
||||||
|
FontColor $WHITE
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub artifact
|
||||||
|
|
||||||
|
skinparam artifact {
|
||||||
|
BackgroundColor $WHITE-$LIGHT
|
||||||
|
BorderColor $SECONDARY_DARK
|
||||||
|
FontColor $SECONDARY_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub component
|
||||||
|
|
||||||
|
skinparam component {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub interface
|
||||||
|
|
||||||
|
skinparam interface {
|
||||||
|
BackgroundColor $DANGER_LIGHT
|
||||||
|
BorderColor $DANGER
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub storage
|
||||||
|
|
||||||
|
skinparam storage {
|
||||||
|
BackgroundColor $WARNING_LIGHT-$WARNING
|
||||||
|
BorderColor $WARNING
|
||||||
|
FontColor $WARNING_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub node
|
||||||
|
|
||||||
|
skinparam node {
|
||||||
|
BackgroundColor $SECONDARY_LIGHT-$SECONDARY
|
||||||
|
BorderColor $SECONDARY
|
||||||
|
FontColor $SECONDARY_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub cloud
|
||||||
|
|
||||||
|
skinparam cloud {
|
||||||
|
BackgroundColor #F2FCFE-#eeeeee
|
||||||
|
BorderColor #F2FCFE
|
||||||
|
FontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub database
|
||||||
|
|
||||||
|
skinparam database {
|
||||||
|
$primary_scheme()
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub class
|
||||||
|
|
||||||
|
skinparam class {
|
||||||
|
$primary_scheme()
|
||||||
|
HeaderBackgroundColor $PRIMARY-$PRIMARY_DARK
|
||||||
|
StereotypeFontColor $DARK
|
||||||
|
BorderThickness 1
|
||||||
|
AttributeFontColor $LIGHT
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub object
|
||||||
|
|
||||||
|
skinparam object {
|
||||||
|
$primary_scheme()
|
||||||
|
StereotypeFontColor $DARK
|
||||||
|
BorderThickness 1
|
||||||
|
AttributeFontColor $SECONDARY_TEXT
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub usecase
|
||||||
|
|
||||||
|
skinparam usecase {
|
||||||
|
$primary_scheme()
|
||||||
|
BorderThickness 2
|
||||||
|
StereotypeFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub rectangle
|
||||||
|
|
||||||
|
skinparam rectangle {
|
||||||
|
FontColor $PRIMARY
|
||||||
|
BorderColor $PRIMARY_LIGHT
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderThickness 2
|
||||||
|
StereotypeFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub package
|
||||||
|
|
||||||
|
skinparam package {
|
||||||
|
FontColor $PRIMARY
|
||||||
|
BorderColor $PRIMARY_LIGHT
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub folder
|
||||||
|
|
||||||
|
skinparam folder {
|
||||||
|
BackgroundColor $WHITE-$SECONDARY_LIGHT
|
||||||
|
BorderColor $WARNING
|
||||||
|
FontColor $WARNING
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub frame
|
||||||
|
|
||||||
|
skinparam frame {
|
||||||
|
BackgroundColor $WHITE-$SECONDARY_LIGHT
|
||||||
|
BorderColor $INFO
|
||||||
|
FontColor $INFO
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub state
|
||||||
|
|
||||||
|
skinparam state {
|
||||||
|
$primary_scheme()
|
||||||
|
BorderColor $PRIMARY_DARK
|
||||||
|
StartColor $INFO
|
||||||
|
EndColor $INFO
|
||||||
|
AttributeFontColor $SECONDARY_TEXT
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub queue
|
||||||
|
|
||||||
|
skinparam queue {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub card
|
||||||
|
|
||||||
|
skinparam card {
|
||||||
|
BackgroundColor $INFO_LIGHT-$INFO
|
||||||
|
BorderColor $INFO
|
||||||
|
FontColor $INFO_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub file
|
||||||
|
|
||||||
|
skinparam file {
|
||||||
|
BackgroundColor $SECONDARY_LIGHT-$SECONDARY
|
||||||
|
BorderColor $INFO
|
||||||
|
FontColor $GRAY
|
||||||
|
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub stack
|
||||||
|
|
||||||
|
skinparam stack {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
446
themes/puml-theme-cyborg-outline.puml
Normal file
446
themes/puml-theme-cyborg-outline.puml
Normal file
@ -0,0 +1,446 @@
|
|||||||
|
''
|
||||||
|
'' Cyborg theme based off of the bootstrap theme of the same name, with outline colors
|
||||||
|
'' https://bootswatch.com/cyborg/
|
||||||
|
''
|
||||||
|
'' Author: Brett Schwarz
|
||||||
|
'' Copyright (c) 2019 by Brett Schwarz
|
||||||
|
|
||||||
|
!$THEME = "cyborg-outline"
|
||||||
|
|
||||||
|
!if %not(%variable_exists("$BGCOLOR"))
|
||||||
|
!$BGCOLOR = "transparent"
|
||||||
|
!endif
|
||||||
|
|
||||||
|
skinparam backgroundColor $BGCOLOR
|
||||||
|
skinparam useBetaStyle false
|
||||||
|
|
||||||
|
''
|
||||||
|
'' Colors taken from the css file of the BS theme
|
||||||
|
''
|
||||||
|
!$BLUE = "#2A9FD6"
|
||||||
|
!$INDIGO = "#6610f2"
|
||||||
|
!$PURPLE = "#6f42c1"
|
||||||
|
!$PINK = "#e83e8c"
|
||||||
|
!$RED = "#CC0000"
|
||||||
|
!$ORANGE = "#fd7e14"
|
||||||
|
!$YELLOW = "#FF8800"
|
||||||
|
!$GREEN = "#77B300"
|
||||||
|
!$TEAL = "#20c997"
|
||||||
|
!$CYAN = "#9933CC"
|
||||||
|
!$WHITE = "#FFF"
|
||||||
|
!$GRAY_LIGHT = "#222"
|
||||||
|
!$GRAY = "#555"
|
||||||
|
!$PRIMARY = "#2A9FD6"
|
||||||
|
!$SECONDARY = "#555"
|
||||||
|
!$SUCCESS = "#77B300"
|
||||||
|
!$INFO = "#9933CC"
|
||||||
|
!$WARNING = "#FF8800"
|
||||||
|
!$DANGER = "#CC0000"
|
||||||
|
!$LIGHT = "#222"
|
||||||
|
!$DARK = "#ADAFAE"
|
||||||
|
|
||||||
|
'' *_DARK = tint (lighter) of the main color of 80%
|
||||||
|
'' where TINT is calculated by clr + (255-clr) * tint_factor
|
||||||
|
'' *_LIGHT = shade (darker) of the main color of 80%
|
||||||
|
'' and SHADE is calculated by clr * (1 - shade_factor)
|
||||||
|
''
|
||||||
|
!$FGCOLOR = $WHITE
|
||||||
|
!$PRIMARY_DARK = "#55B2DE"
|
||||||
|
!$PRIMARY_LIGHT = "#227FAB"
|
||||||
|
!$PRIMARY_TEXT = $PRIMARY
|
||||||
|
!$SECONDARY_DARK = "#777777"
|
||||||
|
!$SECONDARY_LIGHT = "#444444"
|
||||||
|
!$SECONDARY_TEXT = $SECONDARY_DARK
|
||||||
|
!$INFO_DARK = "#AD5CD6"
|
||||||
|
!$INFO_LIGHT = "#7a29a3"
|
||||||
|
!$INFO_TEXT = $INFO
|
||||||
|
!$SUCCESS_DARK = "#92C233"
|
||||||
|
!$SUCCESS_LIGHT = "#5F8F00"
|
||||||
|
!$SUCCESS_TEXT = $SUCCESS
|
||||||
|
!$WARNING_DARK = "#FFA033"
|
||||||
|
!$WARNING_LIGHT = "#cc6d00"
|
||||||
|
!$WARNING_TEXT = $WARNING
|
||||||
|
!$DANGER_DARK = "#D63333"
|
||||||
|
!$DANGER_LIGHT = "#a30000"
|
||||||
|
!$DANGER_TEXT = $WHITE
|
||||||
|
!$DARK_DARK = "#BDBFBE"
|
||||||
|
!$DARK_LIGHT = "#8A8C8B"
|
||||||
|
!$LIGHT_DARK = "#4E4E4E"
|
||||||
|
!$LIGHT_LIGHT = "#1B1B1B"
|
||||||
|
|
||||||
|
!procedure $success($msg)
|
||||||
|
<font color=$SUCCESS><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $failure($msg)
|
||||||
|
<font color=$DANGER><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $warning($msg)
|
||||||
|
<font color=$WARNING><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $primary_scheme()
|
||||||
|
FontColor $PRIMARY_TEXT
|
||||||
|
BorderColor $PRIMARY_DARK
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
''
|
||||||
|
'' Global Default Values
|
||||||
|
''
|
||||||
|
skinparam defaultFontName "Verdana"
|
||||||
|
skinparam defaultFontSize 12
|
||||||
|
skinparam dpi 100
|
||||||
|
skinparam shadowing false
|
||||||
|
skinparam roundcorner 8
|
||||||
|
skinparam ParticipantPadding 40
|
||||||
|
skinparam BoxPadding 40
|
||||||
|
skinparam Padding 5
|
||||||
|
skinparam ArrowColor $DARK
|
||||||
|
skinparam stereotype {
|
||||||
|
CBackgroundColor $SECONDARY_DARK
|
||||||
|
CBorderColor $SECONDARY_LIGHT
|
||||||
|
ABackgroundColor $SUCCESS_LIGHT
|
||||||
|
ABorderColor $SUCCESS_DARK
|
||||||
|
IBackgroundColor $DANGER_LIGHT
|
||||||
|
IBorderColor $DANGER_DARK
|
||||||
|
EBackgroundColor $WARNING_LIGHT
|
||||||
|
EBorderColor $WARNING_DARK
|
||||||
|
NBackgroundColor $INFO_LIGHT
|
||||||
|
NBorderColor $INFO_DARK
|
||||||
|
}
|
||||||
|
skinparam title {
|
||||||
|
FontColor $PRIMARY
|
||||||
|
BorderColor $SECONDARY_DARK
|
||||||
|
FontSize 20
|
||||||
|
BorderRoundCorner 8
|
||||||
|
BorderThickness 1
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
}
|
||||||
|
|
||||||
|
skinparam legend {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $SECONDARY_DARK
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
|
||||||
|
!startsub swimlane
|
||||||
|
skinparam swimlane {
|
||||||
|
BorderColor $INFO
|
||||||
|
BorderThickness 2
|
||||||
|
TitleBackgroundColor $SECONDARY_LIGHT-$SECONDARY
|
||||||
|
TitleFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub activity
|
||||||
|
|
||||||
|
skinparam activity {
|
||||||
|
$primary_scheme()
|
||||||
|
BarColor $SUCCESS
|
||||||
|
StartColor $INFO
|
||||||
|
EndColor $INFO
|
||||||
|
''
|
||||||
|
DiamondBackgroundColor $BGCOLOR
|
||||||
|
DiamondBorderColor $SECONDARY_DARK
|
||||||
|
DiamondFontColor $SECONDARY_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub participant
|
||||||
|
|
||||||
|
skinparam participant {
|
||||||
|
$primary_scheme()
|
||||||
|
ParticipantBorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub actor
|
||||||
|
|
||||||
|
skinparam actor {
|
||||||
|
$primary_scheme()
|
||||||
|
FontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub arrow
|
||||||
|
|
||||||
|
skinparam arrow {
|
||||||
|
Thickness 3
|
||||||
|
Color $PRIMARY
|
||||||
|
FontColor $FGCOLOR
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub sequence
|
||||||
|
|
||||||
|
skinparam sequence {
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
' For some reason sequence title font color does not pick up from global
|
||||||
|
TitleFontColor $PRIMARY
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
StartColor $PRIMARY
|
||||||
|
EndColor $PRIMARY
|
||||||
|
''
|
||||||
|
BoxBackgroundColor $BGCOLOR
|
||||||
|
BoxBorderColor $DARK
|
||||||
|
BoxFontColor $DARk
|
||||||
|
''
|
||||||
|
LifeLineBorderColor $SECONDARY
|
||||||
|
LifeLineBorderThickness 2
|
||||||
|
LifeLineBackgroundColor $BGCOLOR
|
||||||
|
''
|
||||||
|
GroupBorderColor $DARK
|
||||||
|
GroupFontColor $DARK
|
||||||
|
GroupHeaderFontColor $INFO_TEXT
|
||||||
|
GroupBackgroundColor $BGCOLOR
|
||||||
|
GroupHeaderBackgroundColor $BGCOLOR
|
||||||
|
''
|
||||||
|
DividerBackgroundColor $BGCOLOR
|
||||||
|
DividerBorderColor $DARK
|
||||||
|
DividerBorderThickness 2
|
||||||
|
DividerFontColor $DARK
|
||||||
|
''
|
||||||
|
ReferenceBackgroundColor $BGCOLOR
|
||||||
|
ReferenceBorderColor $DARK
|
||||||
|
ReferenceFontColor $DARK
|
||||||
|
ReferenceHeaderFontColor $INFO_TEXT
|
||||||
|
ReferenceHeaderBackgroundColor $BGCOLOR
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub partition
|
||||||
|
|
||||||
|
skinparam partition {
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
FontColor $PRIMARY
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub collections
|
||||||
|
|
||||||
|
skinparam collections {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub control
|
||||||
|
|
||||||
|
skinparam control {
|
||||||
|
$primary_scheme()
|
||||||
|
FontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub entity
|
||||||
|
|
||||||
|
skinparam entity {
|
||||||
|
$primary_scheme()
|
||||||
|
FontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub boundary
|
||||||
|
|
||||||
|
skinparam boundary {
|
||||||
|
$primary_scheme()
|
||||||
|
FontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub agent
|
||||||
|
|
||||||
|
skinparam agent {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $WARNING_LIGHT
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub note
|
||||||
|
|
||||||
|
skinparam note {
|
||||||
|
BorderThickness 1
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $INFO_DARK
|
||||||
|
FontColor $INFO_DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub artifact
|
||||||
|
|
||||||
|
skinparam artifact {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $DARK_DARK
|
||||||
|
FontColor $DARK_DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub component
|
||||||
|
|
||||||
|
skinparam component {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub interface
|
||||||
|
|
||||||
|
skinparam interface {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $DANGER
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub storage
|
||||||
|
|
||||||
|
skinparam storage {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $WARNING_DARK
|
||||||
|
FontColor $WARNING_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub node
|
||||||
|
|
||||||
|
skinparam node {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $DARK
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub cloud
|
||||||
|
|
||||||
|
skinparam cloud {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor #F2FCFE
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub database
|
||||||
|
|
||||||
|
skinparam database {
|
||||||
|
$primary_scheme()
|
||||||
|
FontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
|
||||||
|
!startsub class
|
||||||
|
|
||||||
|
skinparam class {
|
||||||
|
$primary_scheme()
|
||||||
|
FontColor $LIGHT
|
||||||
|
HeaderBackgroundColor $PRIMARY_LIGHT
|
||||||
|
StereotypeFontColor $DARK
|
||||||
|
BorderThickness 1
|
||||||
|
AttributeFontColor $DARK
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub object
|
||||||
|
|
||||||
|
skinparam object {
|
||||||
|
$primary_scheme()
|
||||||
|
StereotypeFontColor $DARK
|
||||||
|
BorderThickness 1
|
||||||
|
AttributeFontColor $SECONDARY_DARK
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub usecase
|
||||||
|
|
||||||
|
skinparam usecase {
|
||||||
|
$primary_scheme()
|
||||||
|
BorderThickness 2
|
||||||
|
StereotypeFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub rectangle
|
||||||
|
|
||||||
|
skinparam rectangle {
|
||||||
|
$primary_scheme()
|
||||||
|
BorderThickness 2
|
||||||
|
StereotypeFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub package
|
||||||
|
|
||||||
|
skinparam package {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
FontColor $PRIMARY
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub folder
|
||||||
|
|
||||||
|
skinparam folder {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $WARNING
|
||||||
|
FontColor $WARNING
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub frame
|
||||||
|
|
||||||
|
skinparam frame {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $INFO
|
||||||
|
FontColor $INFO_TEXT
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub state
|
||||||
|
|
||||||
|
skinparam state {
|
||||||
|
$primary_scheme()
|
||||||
|
StartColor $INFO
|
||||||
|
EndColor $INFO
|
||||||
|
AttributeFontColor $SECONDARY_TEXT
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub queue
|
||||||
|
|
||||||
|
skinparam queue {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub card
|
||||||
|
|
||||||
|
skinparam card {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $INFO
|
||||||
|
FontColor $INFO_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub file
|
||||||
|
|
||||||
|
skinparam file {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $GRAY
|
||||||
|
FontColor $GRAY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub stack
|
||||||
|
|
||||||
|
skinparam stack {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
452
themes/puml-theme-cyborg.puml
Normal file
452
themes/puml-theme-cyborg.puml
Normal file
@ -0,0 +1,452 @@
|
|||||||
|
''
|
||||||
|
'' Cyborg theme based off of the bootstrap theme of the same name
|
||||||
|
'' https://bootswatch.com/cyborg/
|
||||||
|
''
|
||||||
|
'' Author: Brett Schwarz
|
||||||
|
'' Copyright (c) 2019 by Brett Schwarz
|
||||||
|
|
||||||
|
!$THEME = "cyborg"
|
||||||
|
|
||||||
|
!if %not(%variable_exists("$BGCOLOR"))
|
||||||
|
!$BGCOLOR = "transparent"
|
||||||
|
!endif
|
||||||
|
|
||||||
|
skinparam backgroundColor $BGCOLOR
|
||||||
|
skinparam useBetaStyle false
|
||||||
|
|
||||||
|
''
|
||||||
|
'' Colors taken from the css file of the BS theme
|
||||||
|
''
|
||||||
|
!$BLUE = "#2A9FD6"
|
||||||
|
!$INDIGO = "#6610f2"
|
||||||
|
!$PURPLE = "#6f42c1"
|
||||||
|
!$PINK = "#e83e8c"
|
||||||
|
!$RED = "#CC0000"
|
||||||
|
!$ORANGE = "#fd7e14"
|
||||||
|
!$YELLOW = "#FF8800"
|
||||||
|
!$GREEN = "#77B300"
|
||||||
|
!$TEAL = "#20c997"
|
||||||
|
!$CYAN = "#9933CC"
|
||||||
|
!$WHITE = "#FFF"
|
||||||
|
!$GRAY_LIGHT = "#222"
|
||||||
|
!$GRAY = "#555"
|
||||||
|
!$PRIMARY = "#2A9FD6"
|
||||||
|
!$SECONDARY = "#555"
|
||||||
|
!$SUCCESS = "#77B300"
|
||||||
|
!$INFO = "#9933CC"
|
||||||
|
!$WARNING = "#FF8800"
|
||||||
|
!$DANGER = "#CC0000"
|
||||||
|
!$LIGHT = "#222"
|
||||||
|
!$DARK = "#ADAFAE"
|
||||||
|
|
||||||
|
'' *_DARK = tint (lighter) of the main color of 80%
|
||||||
|
'' where TINT is calculated by clr + (255-clr) * tint_factor
|
||||||
|
'' *_LIGHT = shade (darker) of the main color of 80%
|
||||||
|
'' and SHADE is calculated by clr * (1 - shade_factor)
|
||||||
|
''
|
||||||
|
!$FGCOLOR = $WHITE
|
||||||
|
!$PRIMARY_DARK = "#55B2DE"
|
||||||
|
!$PRIMARY_LIGHT = "#227FAB"
|
||||||
|
!$PRIMARY_TEXT = $WHITE
|
||||||
|
!$SECONDARY_DARK = "#777777"
|
||||||
|
!$SECONDARY_LIGHT = "#444444"
|
||||||
|
!$SECONDARY_TEXT = $WHITE
|
||||||
|
!$INFO_DARK = "#AD5CD6"
|
||||||
|
!$INFO_LIGHT = "#9F161B"
|
||||||
|
!$INFO_TEXT = $WHITE
|
||||||
|
!$SUCCESS_DARK = "#92C233"
|
||||||
|
!$SUCCESS_LIGHT = "#5F8F00"
|
||||||
|
!$SUCCESS_TEXT = $WHITE
|
||||||
|
!$WARNING_DARK = "#FFA033"
|
||||||
|
!$WARNING_LIGHT = "#CC6D00"
|
||||||
|
!$WARNING_TEXT = $WHITE
|
||||||
|
!$DANGER_DARK = "#D63333"
|
||||||
|
!$DANGER_LIGHT = "#A30000"
|
||||||
|
!$DANGER_TEXT = $WHITE
|
||||||
|
!$DARK_DARK = "#BDBFBE"
|
||||||
|
!$DARK_LIGHT = "#8A8C8B"
|
||||||
|
!$LIGHT_DARK = "#4E4E4E"
|
||||||
|
!$LIGHT_LIGHT = "#1B1B1B"
|
||||||
|
|
||||||
|
!procedure $success($msg)
|
||||||
|
<font color=$SUCCESS><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $failure($msg)
|
||||||
|
<font color=$DANGER><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $warning($msg)
|
||||||
|
<font color=$WARNING><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $primary_scheme()
|
||||||
|
FontColor $PRIMARY_TEXT
|
||||||
|
BorderColor $PRIMARY_DARK
|
||||||
|
BackgroundColor $PRIMARY
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
''
|
||||||
|
'' Global Default Values
|
||||||
|
''
|
||||||
|
skinparam defaultFontName "Verdana"
|
||||||
|
skinparam defaultFontSize 12
|
||||||
|
skinparam dpi 100
|
||||||
|
skinparam shadowing false
|
||||||
|
skinparam roundcorner 8
|
||||||
|
skinparam ParticipantPadding 40
|
||||||
|
skinparam BoxPadding 40
|
||||||
|
skinparam Padding 5
|
||||||
|
skinparam ArrowColor $DARK
|
||||||
|
skinparam stereotype {
|
||||||
|
CBackgroundColor $SECONDARY_DARK
|
||||||
|
CBorderColor $SECONDARY_LIGHT
|
||||||
|
ABackgroundColor $SUCCESS_LIGHT
|
||||||
|
ABorderColor $SUCCESS_DARK
|
||||||
|
IBackgroundColor $DANGER_LIGHT
|
||||||
|
IBorderColor $DANGER_DARK
|
||||||
|
EBackgroundColor $WARNING_LIGHT
|
||||||
|
EBorderColor $WARNING_DARK
|
||||||
|
NBackgroundColor $INFO_LIGHT
|
||||||
|
NBorderColor $INFO_DARK
|
||||||
|
}
|
||||||
|
skinparam title {
|
||||||
|
FontColor $PRIMARY
|
||||||
|
BorderColor $SECONDARY_DARK
|
||||||
|
FontSize 20
|
||||||
|
BorderRoundCorner 8
|
||||||
|
BorderThickness 1
|
||||||
|
BackgroundColor $SECONDARY_LIGHT-$SECONDARY
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
skinparam legend {
|
||||||
|
BackgroundColor $SECONDARY
|
||||||
|
BorderColor $SECONDARY_DARK
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
|
||||||
|
!startsub swimlane
|
||||||
|
skinparam swimlane {
|
||||||
|
BorderColor $INFO
|
||||||
|
BorderThickness 2
|
||||||
|
TitleBackgroundColor $SECONDARY_LIGHT-$SECONDARY
|
||||||
|
TitleFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub activity
|
||||||
|
|
||||||
|
skinparam activity {
|
||||||
|
$primary_scheme()
|
||||||
|
BarColor $SUCCESS
|
||||||
|
StartColor $INFO
|
||||||
|
EndColor $INFO
|
||||||
|
''
|
||||||
|
DiamondBackgroundColor $SECONDARY_LIGHT
|
||||||
|
DiamondBorderColor $SECONDARY_DARK
|
||||||
|
DiamondFontColor $SECONDARY_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub participant
|
||||||
|
|
||||||
|
skinparam participant {
|
||||||
|
$primary_scheme()
|
||||||
|
ParticipantBorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub actor
|
||||||
|
|
||||||
|
skinparam actor {
|
||||||
|
$primary_scheme()
|
||||||
|
FontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub arrow
|
||||||
|
|
||||||
|
skinparam arrow {
|
||||||
|
Thickness 3
|
||||||
|
Color $PRIMARY
|
||||||
|
FontColor $FGCOLOR
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub sequence
|
||||||
|
|
||||||
|
skinparam sequence {
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
' For some reason sequence title font color does not pick up from global
|
||||||
|
TitleFontColor $PRIMARY
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
StartColor $PRIMARY
|
||||||
|
EndColor $PRIMARY
|
||||||
|
''
|
||||||
|
BoxBackgroundColor $BGCOLOR
|
||||||
|
BoxBorderColor $DARK
|
||||||
|
BoxFontColor $DARk
|
||||||
|
''
|
||||||
|
LifeLineBorderColor $SECONDARY
|
||||||
|
LifeLineBorderThickness 2
|
||||||
|
LifeLineBackgroundColor $SECONDARY_DARK
|
||||||
|
''
|
||||||
|
GroupBorderColor $SECONDARY
|
||||||
|
GroupFontColor $DARK
|
||||||
|
GroupHeaderFontColor $INFO
|
||||||
|
GroupBackgroundColor $SECONDARY
|
||||||
|
GroupHeaderBackgroundColor $BGCOLOR
|
||||||
|
''
|
||||||
|
DividerBackgroundColor $DARK
|
||||||
|
DividerBorderColor $DARK
|
||||||
|
DividerBorderThickness 2
|
||||||
|
DividerFontColor $LIGHT
|
||||||
|
''
|
||||||
|
ReferenceBackgroundColor $BGCOLOR
|
||||||
|
ReferenceBorderColor $SECONDARY
|
||||||
|
ReferenceFontColor $SECONDARY_TEXT
|
||||||
|
ReferenceHeaderBackgroundColor $SECONDARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub partition
|
||||||
|
|
||||||
|
skinparam partition {
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
FontColor $PRIMARY
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub collections
|
||||||
|
|
||||||
|
skinparam collections {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub control
|
||||||
|
|
||||||
|
skinparam control {
|
||||||
|
$primary_scheme()
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub entity
|
||||||
|
|
||||||
|
skinparam entity {
|
||||||
|
$primary_scheme()
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub boundary
|
||||||
|
|
||||||
|
skinparam boundary {
|
||||||
|
$primary_scheme()
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub agent
|
||||||
|
|
||||||
|
skinparam agent {
|
||||||
|
BackgroundColor $WARNING
|
||||||
|
BorderColor $WARNING_LIGHT
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub note
|
||||||
|
|
||||||
|
skinparam note {
|
||||||
|
BorderThickness 1
|
||||||
|
BackgroundColor $INFO
|
||||||
|
BorderColor $INFO_DARK
|
||||||
|
FontColor $WHITE
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub artifact
|
||||||
|
|
||||||
|
skinparam artifact {
|
||||||
|
BackgroundColor $DARK
|
||||||
|
BorderColor $DARK_DARK
|
||||||
|
FontColor $LIGHT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub component
|
||||||
|
|
||||||
|
skinparam component {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub interface
|
||||||
|
|
||||||
|
skinparam interface {
|
||||||
|
BackgroundColor $DANGER_DARK
|
||||||
|
BorderColor $DANGER
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub storage
|
||||||
|
|
||||||
|
skinparam storage {
|
||||||
|
BackgroundColor $WARNING
|
||||||
|
BorderColor $WARNING_DARK
|
||||||
|
FontColor $WARNING_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub node
|
||||||
|
|
||||||
|
skinparam node {
|
||||||
|
BackgroundColor $SECONDARY
|
||||||
|
BorderColor $DARK
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub cloud
|
||||||
|
|
||||||
|
skinparam cloud {
|
||||||
|
BackgroundColor $LIGHT-black
|
||||||
|
BorderColor $LIGHT
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub database
|
||||||
|
|
||||||
|
skinparam database {
|
||||||
|
$primary_scheme()
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub actor
|
||||||
|
|
||||||
|
skinparam actor {
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub class
|
||||||
|
|
||||||
|
skinparam class {
|
||||||
|
$primary_scheme()
|
||||||
|
HeaderBackgroundColor $PRIMARY_LIGHT
|
||||||
|
StereotypeFontColor $DARK
|
||||||
|
BorderThickness 1
|
||||||
|
AttributeFontColor $LIGHT
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub object
|
||||||
|
|
||||||
|
skinparam object {
|
||||||
|
$primary_scheme()
|
||||||
|
StereotypeFontColor $DARK
|
||||||
|
BorderThickness 1
|
||||||
|
AttributeFontColor $SECONDARY_TEXT
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub usecase
|
||||||
|
|
||||||
|
skinparam usecase {
|
||||||
|
$primary_scheme()
|
||||||
|
BorderThickness 2
|
||||||
|
StereotypeFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub rectangle
|
||||||
|
|
||||||
|
skinparam rectangle {
|
||||||
|
$primary_scheme()
|
||||||
|
BackgroundColor $SECONDARY_LIGHT
|
||||||
|
BorderThickness 2
|
||||||
|
StereotypeFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub package
|
||||||
|
|
||||||
|
skinparam package {
|
||||||
|
BackgroundColor $SECONDARY
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
FontColor $PRIMARY
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub folder
|
||||||
|
|
||||||
|
skinparam folder {
|
||||||
|
BackgroundColor $SECONDARY_LIGHT
|
||||||
|
BorderColor $WARNING
|
||||||
|
FontColor $WARNING
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub frame
|
||||||
|
|
||||||
|
skinparam frame {
|
||||||
|
BackgroundColor $SECONDARY_LIGHT
|
||||||
|
BorderColor $INFO
|
||||||
|
FontColor $INFO
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub state
|
||||||
|
|
||||||
|
skinparam state {
|
||||||
|
$primary_scheme()
|
||||||
|
StartColor $INFO
|
||||||
|
EndColor $INFO
|
||||||
|
AttributeFontColor $SECONDARY_TEXT
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub queue
|
||||||
|
|
||||||
|
skinparam queue {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub card
|
||||||
|
|
||||||
|
skinparam card {
|
||||||
|
BackgroundColor $INFO
|
||||||
|
BorderColor $INFO_DARK
|
||||||
|
FontColor $INFO_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub file
|
||||||
|
|
||||||
|
skinparam file {
|
||||||
|
BackgroundColor $SECONDARY_DARK
|
||||||
|
BorderColor $DARK
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub stack
|
||||||
|
|
||||||
|
skinparam stack {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
479
themes/puml-theme-hacker.puml
Normal file
479
themes/puml-theme-hacker.puml
Normal file
@ -0,0 +1,479 @@
|
|||||||
|
''
|
||||||
|
'' hacker theme based off of the Jekyll theme of the same name
|
||||||
|
'' https://github.com/pages-themes/hacker
|
||||||
|
''
|
||||||
|
'' Author: Brett Schwarz
|
||||||
|
'' Copyright (c) 2019 by Brett Schwarz
|
||||||
|
|
||||||
|
!$THEME = "hacker"
|
||||||
|
|
||||||
|
!if %not(%variable_exists("$BGCOLOR"))
|
||||||
|
!$BGCOLOR = "transparent"
|
||||||
|
!endif
|
||||||
|
|
||||||
|
skinparam BackgroundColor $BGCOLOR
|
||||||
|
skinparam useBetaStyle false
|
||||||
|
|
||||||
|
''
|
||||||
|
'' Colors taken from the _default_colors.scss file for jekyll hacker theme
|
||||||
|
''
|
||||||
|
!$PRIMARY = "#b5e853"
|
||||||
|
!$PRIMARY_LIGHT = "#d3f198"
|
||||||
|
!$PRIMARY_DARK = "#6d8b32"
|
||||||
|
!$PRIMARY_TEXT = "#151515"
|
||||||
|
!$SECONDARY = "#6a9fb5"
|
||||||
|
!$SECONDARY_LIGHT = "#88b2c4"
|
||||||
|
!$SECONDARY_DARK = "#557f91"
|
||||||
|
!$SECONDARY_TEXT = "#fefefe"
|
||||||
|
!$SUCCESS = "#90a959"
|
||||||
|
!$SUCCESS_LIGHT = "#a6ba7a"
|
||||||
|
!$INFO = "#aa759f"
|
||||||
|
!$INFO_LIGHT = "#bb91b2"
|
||||||
|
!$INFO_DARK = "#885E7F"
|
||||||
|
!$WARNING = "#f4bf75"
|
||||||
|
!$WARNING_LIGHT = "#f6cc91"
|
||||||
|
!$WARNING_TEXT = "#151515"
|
||||||
|
!$DANGER = "#ac4142"
|
||||||
|
!$DANGER_LIGHT = "#bd6768"
|
||||||
|
!$LIGHT = "#151515"
|
||||||
|
!$DARK = "#eaeaea"
|
||||||
|
|
||||||
|
!procedure $success($msg)
|
||||||
|
<font color=$SUCCESS><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $failure($msg)
|
||||||
|
<font color=$DANGER><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $warning($msg)
|
||||||
|
<font color=$WARNING><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $primary_scheme()
|
||||||
|
FontColor $PRIMARY_TEXT
|
||||||
|
BorderColor $PRIMARY_LIGHT
|
||||||
|
BackgroundColor $PRIMARY_LIGHT-$PRIMARY
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
|
||||||
|
''
|
||||||
|
'' Global Default Values
|
||||||
|
''
|
||||||
|
skinparam defaultFontName "Verdana"
|
||||||
|
skinparam defaultFontSize 12
|
||||||
|
skinparam dpi 100
|
||||||
|
skinparam shadowing false
|
||||||
|
skinparam roundcorner 40
|
||||||
|
skinparam ParticipantPadding 40
|
||||||
|
skinparam BoxPadding 40
|
||||||
|
skinparam Padding 5
|
||||||
|
skinparam ArrowColor $DARK
|
||||||
|
skinparam stereotype {
|
||||||
|
CBackgroundColor $SECONDARY_DARK
|
||||||
|
CBorderColor $SECONDARY_LIGHT
|
||||||
|
ABackgroundColor $SUCCESS_LIGHT
|
||||||
|
ABorderColor $SUCCESS_DARK
|
||||||
|
IBackgroundColor $DANGER_LIGHT
|
||||||
|
IBorderColor $DANGER_DARK
|
||||||
|
EBackgroundColor $WARNING_LIGHT
|
||||||
|
EBorderColor $WARNING_DARK
|
||||||
|
NBackgroundColor $INFO_LIGHT
|
||||||
|
NBorderColor $INFO_DARK
|
||||||
|
}
|
||||||
|
skinparam title {
|
||||||
|
FontColor $PRIMARY
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
FontSize 20
|
||||||
|
BorderRoundCorner 8
|
||||||
|
BorderThickness 1
|
||||||
|
BackgroundColor $LIGHT-black
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
skinparam legend {
|
||||||
|
BackgroundColor $SECONDARY
|
||||||
|
BorderColor $SECONDARY_DARK
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
|
||||||
|
!startsub swimlane
|
||||||
|
skinparam swimlane {
|
||||||
|
BorderColor $INFO
|
||||||
|
BorderThickness 2
|
||||||
|
TitleBackgroundColor $SECONDARY_LIGHT-$SECONDARY
|
||||||
|
TitleFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub activity
|
||||||
|
|
||||||
|
skinparam activity {
|
||||||
|
$primary_scheme()
|
||||||
|
BarColor $SUCCESS
|
||||||
|
StartColor $INFO
|
||||||
|
EndColor $INFO
|
||||||
|
''
|
||||||
|
DiamondBackgroundColor $SECONDARY_LIGHT-$SECONDARY
|
||||||
|
DiamondBorderColor $SECONDARY_LIGHT
|
||||||
|
DiamondFontColor $SECONDARY_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub participant
|
||||||
|
|
||||||
|
skinparam participant {
|
||||||
|
$primary_scheme()
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub actor
|
||||||
|
|
||||||
|
skinparam actor {
|
||||||
|
$primary_scheme()
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub arrow
|
||||||
|
|
||||||
|
skinparam arrow {
|
||||||
|
Thickness 3
|
||||||
|
Color $PRIMARY
|
||||||
|
FontColor $FGCOLOR
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub sequence
|
||||||
|
|
||||||
|
skinparam sequence {
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
' For some reason sequence title font color does not pick up from global
|
||||||
|
TitleFontColor $PRIMARY
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
StartColor $PRIMARY
|
||||||
|
EndColor $PRIMARY
|
||||||
|
''
|
||||||
|
BoxBackgroundColor $BGCOLOR
|
||||||
|
BoxBorderColor $DARK
|
||||||
|
BoxFontColor $DARk
|
||||||
|
''
|
||||||
|
LifeLineBorderColor $SECONDARY
|
||||||
|
LifeLineBorderThickness 2
|
||||||
|
LifeLineBackgroundColor $SECONDARY_DARK
|
||||||
|
''
|
||||||
|
GroupBackgroundColor $LIGHT
|
||||||
|
GroupBorderColor $DARK
|
||||||
|
GroupFontColor $DARK
|
||||||
|
GroupHeaderFontColor $INFO
|
||||||
|
GroupHeaderBackgroundColor $BGCOLOR
|
||||||
|
''
|
||||||
|
DividerBackgroundColor $DARK
|
||||||
|
DividerBorderColor $DARK
|
||||||
|
DividerBorderThickness 2
|
||||||
|
DividerFontColor $LIGHT
|
||||||
|
''
|
||||||
|
ReferenceBackgroundColor $BGCOLOR
|
||||||
|
ReferenceBorderColor $DARK
|
||||||
|
ReferenceFontColor $DARK
|
||||||
|
ReferenceHeaderBackgroundColor $LIGHT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub partition
|
||||||
|
|
||||||
|
skinparam partition {
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
FontColor $PRIMARY
|
||||||
|
BackgroundColor $LIGHT-black
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub collections
|
||||||
|
|
||||||
|
skinparam collections {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub control
|
||||||
|
|
||||||
|
skinparam control {
|
||||||
|
$primary_scheme()
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub entity
|
||||||
|
|
||||||
|
skinparam entity {
|
||||||
|
$primary_scheme()
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub boundary
|
||||||
|
|
||||||
|
skinparam boundary {
|
||||||
|
$primary_scheme()
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub agent
|
||||||
|
|
||||||
|
skinparam agent {
|
||||||
|
BackgroundColor $WARNING_LIGHT-$WARNING
|
||||||
|
BorderColor $WARNING_LIGHT
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub note
|
||||||
|
|
||||||
|
skinparam note {
|
||||||
|
BorderThickness 1
|
||||||
|
BackgroundColor $INFO_LIGHT-$INFO_DARK
|
||||||
|
BorderColor $INFO_DARK
|
||||||
|
FontColor $WHITE
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub artifact
|
||||||
|
|
||||||
|
skinparam artifact {
|
||||||
|
BackgroundColor $DARK
|
||||||
|
BorderColor white
|
||||||
|
FontColor $LIGHT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub component
|
||||||
|
|
||||||
|
skinparam component {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub interface
|
||||||
|
|
||||||
|
skinparam interface {
|
||||||
|
BackgroundColor $DANGER_LIGHT-$DANGER
|
||||||
|
BorderColor $DANGER_LIGHT
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub storage
|
||||||
|
|
||||||
|
skinparam storage {
|
||||||
|
BackgroundColor $WARNING_LIGHT-$WARNING
|
||||||
|
BorderColor $WARNING_LIGHT
|
||||||
|
FontColor $WARNING_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub node
|
||||||
|
|
||||||
|
skinparam node {
|
||||||
|
BackgroundColor $LIGHT-black
|
||||||
|
BorderColor $PRIMARY_LIGHT
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub cloud
|
||||||
|
|
||||||
|
skinparam cloud {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $DARK
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub database
|
||||||
|
|
||||||
|
skinparam database {
|
||||||
|
BackgroundColor $LIGHT-black
|
||||||
|
BorderColor $PRIMARY_LIGHT
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub class
|
||||||
|
|
||||||
|
skinparam class {
|
||||||
|
$primary_scheme()
|
||||||
|
HeaderBackgroundColor $PRIMARY_LIGHT-$PRIMARY
|
||||||
|
StereotypeFontColor $DARK
|
||||||
|
BorderThickness 1
|
||||||
|
AttributeFontColor $LIGHT
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub object
|
||||||
|
|
||||||
|
skinparam object {
|
||||||
|
$primary_scheme()
|
||||||
|
StereotypeFontColor $DARK
|
||||||
|
BorderThickness 1
|
||||||
|
AttributeFontColor $LIGHT
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub usecase
|
||||||
|
|
||||||
|
skinparam usecase {
|
||||||
|
$primary_scheme()
|
||||||
|
BorderThickness 2
|
||||||
|
StereotypeFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub rectangle
|
||||||
|
|
||||||
|
skinparam rectangle {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
BorderThickness 2
|
||||||
|
FontColor $PRIMARY_DARK
|
||||||
|
StereotypeFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub package
|
||||||
|
|
||||||
|
skinparam package {
|
||||||
|
BackgroundColor $LIGHT
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
FontColor $PRIMARY
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub folder
|
||||||
|
|
||||||
|
skinparam folder {
|
||||||
|
BackgroundColor $LIGHT-black
|
||||||
|
BorderColor $WARNING
|
||||||
|
FontColor $WARNING
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub frame
|
||||||
|
|
||||||
|
skinparam frame {
|
||||||
|
BackgroundColor $LIGHT-black
|
||||||
|
BorderColor $INFO
|
||||||
|
FontColor $INFO
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub state
|
||||||
|
|
||||||
|
skinparam state {
|
||||||
|
$primary_scheme()
|
||||||
|
StartColor $INFO
|
||||||
|
EndColor $INFO
|
||||||
|
AttributeFontColor $SECONDARY_TEXT
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub queue
|
||||||
|
|
||||||
|
skinparam queue {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub card
|
||||||
|
|
||||||
|
skinparam card {
|
||||||
|
BackgroundColor $INFO_LIGHT-$INFO
|
||||||
|
BorderColor $INFO_LIGHT
|
||||||
|
FontColor $INFO_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub file
|
||||||
|
|
||||||
|
skinparam file {
|
||||||
|
BackgroundColor $SECONDARY_LIGHT-$SECONDARY
|
||||||
|
BorderColor $SECONDARY_LIGHT
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub stack
|
||||||
|
|
||||||
|
skinparam stack {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!if %variable_exists("NEWSTYLE")
|
||||||
|
<style>
|
||||||
|
wbsDiagram {
|
||||||
|
LineColor $PRIMARY
|
||||||
|
BorderThickness 3
|
||||||
|
BackgroundColor $LIGHT-black
|
||||||
|
FontColor $PRIMARY
|
||||||
|
:depth(0) {
|
||||||
|
fontSize 16
|
||||||
|
fontStyle bold
|
||||||
|
fontColor $SECONDARY
|
||||||
|
}
|
||||||
|
:depth(1) {
|
||||||
|
fontSize 14
|
||||||
|
padding 5
|
||||||
|
fontStyle bold
|
||||||
|
}
|
||||||
|
:depth(2) {
|
||||||
|
fontSize 12
|
||||||
|
padding 4
|
||||||
|
}
|
||||||
|
:depth(3) {
|
||||||
|
fontSize 11
|
||||||
|
padding 3
|
||||||
|
fontColor $INFO
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
mindmapDiagram {
|
||||||
|
LineColor $PRIMARY
|
||||||
|
BorderThickness 3
|
||||||
|
BackgroundColor $LIGHT-black
|
||||||
|
FontColor $PRIMARY
|
||||||
|
:depth(0) {
|
||||||
|
fontSize 16
|
||||||
|
fontStyle bold
|
||||||
|
fontColor $SECONDARY
|
||||||
|
}
|
||||||
|
:depth(1) {
|
||||||
|
fontSize 14
|
||||||
|
padding 5
|
||||||
|
fontStyle bold
|
||||||
|
}
|
||||||
|
:depth(2) {
|
||||||
|
fontSize 12
|
||||||
|
padding 4
|
||||||
|
}
|
||||||
|
:depth(3) {
|
||||||
|
fontSize 11
|
||||||
|
padding 3
|
||||||
|
fontColor $INFO
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
!endif
|
||||||
|
|
36
themes/puml-theme-hacker.puml-hold
Normal file
36
themes/puml-theme-hacker.puml-hold
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
|
||||||
|
skinparam {
|
||||||
|
defaultTextAlignment center
|
||||||
|
shadowing false
|
||||||
|
RoundCorner 10
|
||||||
|
TitleFontSize 18
|
||||||
|
TitleFontColor #eaeaea
|
||||||
|
BackgroundColor transparent
|
||||||
|
}
|
||||||
|
<style>
|
||||||
|
wbsDiagram {
|
||||||
|
LineColor #b5e853
|
||||||
|
BorderThickness 3
|
||||||
|
BackgroundColor #151515
|
||||||
|
FontColor #eaeaea
|
||||||
|
:depth(0) {
|
||||||
|
fontSize 16
|
||||||
|
fontStyle bold
|
||||||
|
fontColor #6a9fb5
|
||||||
|
}
|
||||||
|
:depth(1) {
|
||||||
|
fontSize 14
|
||||||
|
padding 5
|
||||||
|
fontStyle bold
|
||||||
|
}
|
||||||
|
:depth(2) {
|
||||||
|
fontSize 12
|
||||||
|
padding 3
|
||||||
|
}
|
||||||
|
:depth(3) {
|
||||||
|
fontSize 10
|
||||||
|
padding 2
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
</style>
|
423
themes/puml-theme-lightgray.puml
Normal file
423
themes/puml-theme-lightgray.puml
Normal file
@ -0,0 +1,423 @@
|
|||||||
|
''
|
||||||
|
'' lightgray theme - mostly grays
|
||||||
|
''
|
||||||
|
'' Author: Brett Schwarz
|
||||||
|
'' Copyright (c) 2019 by Brett Schwarz
|
||||||
|
|
||||||
|
!$THEME = "lightgray"
|
||||||
|
|
||||||
|
!if %not(%variable_exists("$BGCOLOR"))
|
||||||
|
!$BGCOLOR = "transparent"
|
||||||
|
!endif
|
||||||
|
|
||||||
|
skinparam backgroundColor $BGCOLOR
|
||||||
|
skinparam useBetaStyle false
|
||||||
|
|
||||||
|
!$WHITE = "#FFF"
|
||||||
|
!$GRAY_DARK = "#4d4d4d"
|
||||||
|
!$GRAY = "#737373"
|
||||||
|
!$LIGHT = "#fcfcfc"
|
||||||
|
!$DARK = "#303030"
|
||||||
|
|
||||||
|
'' *_LIGHT = tint (lighter) of the main color of 80%
|
||||||
|
'' where TINT is calculated by clr + (255-clr) * tint_factor
|
||||||
|
'' *_DARK = shade (darker) of the main color of 80%
|
||||||
|
'' and SHADE is calculated by clr * (1 - shade_factor)
|
||||||
|
''
|
||||||
|
!$FGCOLOR = $DARK
|
||||||
|
!$PRIMARY = "#e2e2e2"
|
||||||
|
!$PRIMARY_LIGHT = "#f3f3f3"
|
||||||
|
!$PRIMARY_DARK = "#888888"
|
||||||
|
!$PRIMARY_TEXT = "#336699"
|
||||||
|
!$SECONDARY = "#d2d2d2"
|
||||||
|
!$SECONDARY_LIGHT = "#dbdbdb"
|
||||||
|
!$SECONDARY_DARK = "#a8a8a8"
|
||||||
|
!$SECONDARY_TEXT = "white"
|
||||||
|
!$INFO = "#336699"
|
||||||
|
!$INFO_LIGHT = "#5c85ad"
|
||||||
|
!$INFO_DARK = "#29527a"
|
||||||
|
!$INFO_TEXT = $WHITE
|
||||||
|
!$SUCCESS = "#339933"
|
||||||
|
!$SUCCESS_LIGHT = "#5cad5c"
|
||||||
|
!$SUCCESS_DARK = "#297a29"
|
||||||
|
!$SUCCESS_TEXT = $WHITE
|
||||||
|
!$WARNING = "#ffae42"
|
||||||
|
!$WARNING_LIGHT = "#ffbe68"
|
||||||
|
!$WARNING_DARK = "#cc8b35"
|
||||||
|
!$WARNING_TEXT = $WHITE
|
||||||
|
!$DANGER = "#ff3333"
|
||||||
|
!$DANGER_LIGHT = "#ff5c5c"
|
||||||
|
!$DANGER_DARK = "#cc2929"
|
||||||
|
!$DANGER_TEXT = $WHITE
|
||||||
|
|
||||||
|
!procedure $success($msg)
|
||||||
|
<font color=$SUCCESS><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $failure($msg)
|
||||||
|
<font color=$DANGER><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $warning($msg)
|
||||||
|
<font color=$WARNING><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $primary_scheme()
|
||||||
|
FontColor $PRIMARY_TEXT
|
||||||
|
BorderColor $PRIMARY_LIGHT
|
||||||
|
BackgroundColor $PRIMARY_LIGHT-$PRIMARY
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
''
|
||||||
|
'' Global Default Values
|
||||||
|
''
|
||||||
|
skinparam defaultFontName "Verdana"
|
||||||
|
skinparam defaultFontSize 12
|
||||||
|
skinparam dpi 100
|
||||||
|
skinparam shadowing false
|
||||||
|
skinparam roundcorner 15
|
||||||
|
skinparam ParticipantPadding 30
|
||||||
|
skinparam BoxPadding 30
|
||||||
|
skinparam Padding 10
|
||||||
|
skinparam ArrowColor $GRAY
|
||||||
|
skinparam stereotype {
|
||||||
|
CBackgroundColor $SECONDARY_LIGHT
|
||||||
|
CBorderColor $SECONDARY_DARK
|
||||||
|
ABackgroundColor $SUCCESS_LIGHT
|
||||||
|
ABorderColor $SUCCESS_DARK
|
||||||
|
IBackgroundColor $DANGER_LIGHT
|
||||||
|
IBorderColor $DANGER_DARK
|
||||||
|
EBackgroundColor $WARNING_LIGHT
|
||||||
|
EBorderColor $WARNING_DARK
|
||||||
|
NBackgroundColor $INFO_LIGHT
|
||||||
|
NBorderColor $INFO_DARK
|
||||||
|
}
|
||||||
|
skinparam title {
|
||||||
|
FontColor $SECONDARY_TEXT
|
||||||
|
BorderColor $SECONDARY
|
||||||
|
FontSize 20
|
||||||
|
BorderRoundCorner 8
|
||||||
|
BorderThickness 1
|
||||||
|
BackgroundColor $SECONDARY_LIGHT-$SECONDARY
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
skinparam legend {
|
||||||
|
BackgroundColor $PRIMARY
|
||||||
|
BorderColor $PRIMARY_DARK
|
||||||
|
FontColor $PRIMARY_TEXT
|
||||||
|
}
|
||||||
|
|
||||||
|
!startsub swimlane
|
||||||
|
skinparam swimlane {
|
||||||
|
BorderColor $INFO
|
||||||
|
BorderThickness 2
|
||||||
|
TitleBackgroundColor $SECONDARY_LIGHT-$SECONDARY
|
||||||
|
TitleFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub activity
|
||||||
|
|
||||||
|
skinparam activity {
|
||||||
|
$primary_scheme()
|
||||||
|
BarColor $SUCCESS
|
||||||
|
StartColor $INFO
|
||||||
|
EndColor $INFO
|
||||||
|
''
|
||||||
|
DiamondBackgroundColor $SECONDARY-$SECONDARY_DARK
|
||||||
|
DiamondBorderColor $SECONDARY_DARK
|
||||||
|
DiamondFontColor $SECONDARY_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub participant
|
||||||
|
|
||||||
|
skinparam participant {
|
||||||
|
$primary_scheme()
|
||||||
|
ParticipantBorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub actor
|
||||||
|
|
||||||
|
skinparam actor {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub arrow
|
||||||
|
|
||||||
|
skinparam arrow {
|
||||||
|
Thickness 3
|
||||||
|
Color $PRIMARY
|
||||||
|
FontColor $FGCOLOR
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub sequence
|
||||||
|
|
||||||
|
skinparam sequence {
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
' For some reason sequence title font color does not pick up from global
|
||||||
|
TitleFontColor $SECONDARY_TEXT
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
StartColor $PRIMARY
|
||||||
|
EndColor $PRIMARY
|
||||||
|
''
|
||||||
|
BoxBackgroundColor $LIGHT
|
||||||
|
BoxBorderColor $GRAY
|
||||||
|
BoxFontColor $DARK
|
||||||
|
''
|
||||||
|
LifeLineBorderColor $SECONDARY_DARK
|
||||||
|
LifeLineBorderThickness 2
|
||||||
|
LifeLineBackgroundColor $SECONDARY_LIGHT
|
||||||
|
''
|
||||||
|
GroupBorderColor $GRAY
|
||||||
|
GroupFontColor $DARK
|
||||||
|
GroupHeaderFontColor $INFO
|
||||||
|
''
|
||||||
|
DividerBackgroundColor $WHITE-$LIGHT
|
||||||
|
DividerBorderColor $GRAY
|
||||||
|
DividerBorderThickness 2
|
||||||
|
DividerFontColor $DARK
|
||||||
|
''
|
||||||
|
ReferenceBackgroundColor $BGCOLOR
|
||||||
|
ReferenceBorderColor $GRAY
|
||||||
|
ReferenceFontColor $DARK
|
||||||
|
ReferenceHeaderFontColor $INFO
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub partition
|
||||||
|
|
||||||
|
skinparam partition {
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
FontColor $PRIMARY_DARK
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub collections
|
||||||
|
|
||||||
|
skinparam collections {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub control
|
||||||
|
|
||||||
|
skinparam control {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub entity
|
||||||
|
|
||||||
|
skinparam entity {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub boundary
|
||||||
|
|
||||||
|
skinparam boundary {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub agent
|
||||||
|
|
||||||
|
skinparam agent {
|
||||||
|
BackgroundColor #orange
|
||||||
|
BorderColor #999999
|
||||||
|
FontColor #333333
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub note
|
||||||
|
|
||||||
|
skinparam note {
|
||||||
|
BorderThickness 1
|
||||||
|
BackgroundColor $INFO_LIGHT-$INFO
|
||||||
|
BorderColor $INFO
|
||||||
|
FontColor $WHITE
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub artifact
|
||||||
|
|
||||||
|
skinparam artifact {
|
||||||
|
BackgroundColor white-$LIGHT
|
||||||
|
BorderColor $SECONDARY_DARK
|
||||||
|
FontColor $SECONDARY_DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub component
|
||||||
|
|
||||||
|
skinparam component {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub interface
|
||||||
|
|
||||||
|
skinparam interface {
|
||||||
|
BackgroundColor $DANGER_LIGHT
|
||||||
|
BorderColor $DANGER
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub storage
|
||||||
|
|
||||||
|
skinparam storage {
|
||||||
|
BackgroundColor $WARNING_LIGHT-$WARNING
|
||||||
|
BorderColor $WARNING
|
||||||
|
FontColor $WARNING_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub node
|
||||||
|
|
||||||
|
skinparam node {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $PRIMARY_LIGHT
|
||||||
|
FontColor $PRIMARY_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub cloud
|
||||||
|
|
||||||
|
skinparam cloud {
|
||||||
|
BackgroundColor #F2FCFE-#eeeeee
|
||||||
|
BorderColor $F2FCFE
|
||||||
|
FontColor $PRIMARY_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub database
|
||||||
|
|
||||||
|
skinparam database {
|
||||||
|
$primary_scheme()
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub class
|
||||||
|
|
||||||
|
skinparam class {
|
||||||
|
$primary_scheme()
|
||||||
|
HeaderBackgroundColor $PRIMARY_LIGHT-$PRIMARY_DARK
|
||||||
|
StereotypeFontColor $DARK
|
||||||
|
StereotypeFontSize 9
|
||||||
|
BorderThickness 1
|
||||||
|
AttributeFontColor $DARK
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub object
|
||||||
|
|
||||||
|
skinparam object {
|
||||||
|
$primary_scheme()
|
||||||
|
StereotypeFontColor $LIGHT
|
||||||
|
BorderThickness 1
|
||||||
|
AttributeFontColor $DARK
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub usecase
|
||||||
|
|
||||||
|
skinparam usecase {
|
||||||
|
$primary_scheme()
|
||||||
|
BorderThickness 2
|
||||||
|
StereotypeFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub rectangle
|
||||||
|
|
||||||
|
skinparam rectangle {
|
||||||
|
$primary_scheme()
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderThickness 2
|
||||||
|
StereotypeFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub package
|
||||||
|
|
||||||
|
skinparam package {
|
||||||
|
$primary_scheme()
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub folder
|
||||||
|
|
||||||
|
skinparam folder {
|
||||||
|
BackgroundColor $PRIMARY_LIGHT
|
||||||
|
BorderColor $WARNING
|
||||||
|
FontColor $WARNING
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub frame
|
||||||
|
|
||||||
|
skinparam frame {
|
||||||
|
BackgroundColor $PRIMARY_LIGHT
|
||||||
|
BorderColor $INFO
|
||||||
|
FontColor $INFO
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub state
|
||||||
|
|
||||||
|
skinparam state {
|
||||||
|
$primary_scheme()
|
||||||
|
BorderColor $PRIMARY_DARK
|
||||||
|
StartColor $INFO
|
||||||
|
EndColor $INFO
|
||||||
|
AttributeFontColor $SECONDARY_TEXT
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub queue
|
||||||
|
|
||||||
|
skinparam queue {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub card
|
||||||
|
|
||||||
|
skinparam card {
|
||||||
|
BackgroundColor $INFO_LIGHT-$INFO
|
||||||
|
BorderColor $INFO
|
||||||
|
FontColor $INFO_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub file
|
||||||
|
|
||||||
|
skinparam file {
|
||||||
|
BackgroundColor $SECONDARY_LIGHT-$SECONDARY
|
||||||
|
BorderColor $SECONDARY_DARK
|
||||||
|
FontColor $SECONDARY_TEXT
|
||||||
|
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub stack
|
||||||
|
|
||||||
|
skinparam stack {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
478
themes/puml-theme-materia-outline.puml
Normal file
478
themes/puml-theme-materia-outline.puml
Normal file
@ -0,0 +1,478 @@
|
|||||||
|
''
|
||||||
|
'' materia theme based off of the bootstrap theme of the same name
|
||||||
|
'' https://bootswatch.com/materia/
|
||||||
|
''
|
||||||
|
'' Author: Brett Schwarz
|
||||||
|
'' Copyright (c) 2019 by Brett Schwarz
|
||||||
|
|
||||||
|
!$THEME = "materia-outline"
|
||||||
|
|
||||||
|
!if %not(%variable_exists("$BGCOLOR"))
|
||||||
|
!$BGCOLOR = "transparent"
|
||||||
|
!endif
|
||||||
|
|
||||||
|
skinparam backgroundColor $BGCOLOR
|
||||||
|
skinparam useBetaStyle false
|
||||||
|
|
||||||
|
''
|
||||||
|
'' Colors taken from the css file of the BS theme
|
||||||
|
''
|
||||||
|
!$BLUE = "#2196F3"
|
||||||
|
!$INDIGO = "#6610f2"
|
||||||
|
!$PURPLE = "#6f42c1"
|
||||||
|
!$PINK = "#e83e8c"
|
||||||
|
!$RED = "#e51c23"
|
||||||
|
!$ORANGE = "#fd7e14"
|
||||||
|
!$YELLOW = "#ff9800"
|
||||||
|
!$GREEN = "#4CAF50"
|
||||||
|
!$TEAL = "#20c997"
|
||||||
|
!$CYAN = "#9C27B0"
|
||||||
|
!$WHITE = "#FFF"
|
||||||
|
!$GRAY_DARK = "#222"
|
||||||
|
!$GRAY = "#666"
|
||||||
|
!$PRIMARY = "#2196F3"
|
||||||
|
!$SECONDARY = "#fff"
|
||||||
|
!$SUCCESS = "#4CAF50"
|
||||||
|
!$INFO = "#9C27B0"
|
||||||
|
!$WARNING = "#ff9800"
|
||||||
|
!$DANGER = "#e51c23"
|
||||||
|
!$LIGHT = "#fff"
|
||||||
|
!$DARK = "#222"
|
||||||
|
|
||||||
|
'' *_LIGHT = tint (lighter) of the main color of 80%
|
||||||
|
'' where TINT is calculated by clr + (255-clr) * tint_factor
|
||||||
|
'' *_DARK = shade (darker) of the main color of 80%
|
||||||
|
'' and SHADE is calculated by clr * (1 - shade_factor)
|
||||||
|
''
|
||||||
|
!$FGCOLOR = $DARK
|
||||||
|
!$PRIMARY_LIGHT = "#4dabf5"
|
||||||
|
!$PRIMARY_DARK = "#1a78c2"
|
||||||
|
!$PRIMARY_TEXT = $PRIMARY
|
||||||
|
!$SECONDARY_LIGHT = "#fff"
|
||||||
|
!$SECONDARY_DARK = "#cccccc"
|
||||||
|
!$SECONDARY_TEXT = $SECONDARY_DARK
|
||||||
|
!$INFO_LIGHT = "#b052c0"
|
||||||
|
!$INFO_DARK = "#7D1F8D"
|
||||||
|
!$INFO_TEXT = $INFO
|
||||||
|
!$SUCCESS_LIGHT = "#70bf73"
|
||||||
|
!$SUCCESS_DARK = "#3D8C40"
|
||||||
|
!$SUCCESS_TEXT = $SUCCESS
|
||||||
|
!$WARNING_LIGHT = "#ffad33"
|
||||||
|
!$WARNING_DARK = "#CC7A00"
|
||||||
|
!$WARNING_TEXT = $WARNING
|
||||||
|
!$DANGER_LIGHT = "#B7161C"
|
||||||
|
!$DANGER_TEXT = $DANGER
|
||||||
|
|
||||||
|
!procedure $success($msg)
|
||||||
|
<font color=$SUCCESS><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $failure($msg)
|
||||||
|
<font color=$DANGER><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $warning($msg)
|
||||||
|
<font color=$WARNING><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $primary_scheme()
|
||||||
|
FontColor $PRIMARY_TEXT
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
''
|
||||||
|
'' Global Default Values
|
||||||
|
''
|
||||||
|
skinparam defaultFontName "Verdana"
|
||||||
|
skinparam defaultFontSize 12
|
||||||
|
skinparam dpi 100
|
||||||
|
skinparam shadowing true
|
||||||
|
skinparam roundcorner 8
|
||||||
|
skinparam ParticipantPadding 40
|
||||||
|
skinparam BoxPadding 40
|
||||||
|
skinparam Padding 10
|
||||||
|
skinparam TitleFontColor $DARK
|
||||||
|
skinparam TitleFontSize 20
|
||||||
|
skinparam TitleBorderThickness 0
|
||||||
|
skinparam ArrowColor $GRAY
|
||||||
|
skinparam stereotype {
|
||||||
|
CBackgroundColor $SECONDARY_LIGHT
|
||||||
|
CBorderColor $SECONDARY_DARK
|
||||||
|
ABackgroundColor $SUCCESS_LIGHT
|
||||||
|
ABorderColor $SUCCESS_DARK
|
||||||
|
IBackgroundColor $DANGER_LIGHT
|
||||||
|
IBorderColor $DANGER_DARK
|
||||||
|
EBackgroundColor $WARNING_LIGHT
|
||||||
|
EBorderColor $WARNING_DARK
|
||||||
|
NBackgroundColor $INFO_LIGHT
|
||||||
|
NBorderColor $INFO_DARK
|
||||||
|
}
|
||||||
|
skinparam title {
|
||||||
|
FontColor $PRIMARY
|
||||||
|
BorderColor $SECONDARY_DARK
|
||||||
|
FontSize 20
|
||||||
|
BorderRoundCorner 8
|
||||||
|
BorderThickness 1
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
}
|
||||||
|
|
||||||
|
skinparam legend {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $SECONDARY_DARK
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
|
||||||
|
!startsub swimlane
|
||||||
|
skinparam swimlane {
|
||||||
|
BorderColor $INFO
|
||||||
|
BorderThickness 2
|
||||||
|
TitleBackgroundColor $SECONDARY_LIGHT-$SECONDARY
|
||||||
|
TitleFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub activity
|
||||||
|
|
||||||
|
skinparam activity {
|
||||||
|
$primary_scheme()
|
||||||
|
' FontColor $PRIMARY_TEXT
|
||||||
|
' BorderColor $PRIMARY
|
||||||
|
' BackgroundColor $BGCOLOR
|
||||||
|
BarColor $SUCCESS
|
||||||
|
StartColor $INFO
|
||||||
|
EndColor $INFO
|
||||||
|
''
|
||||||
|
DiamondBackgroundColor $BGCOLOR
|
||||||
|
DiamondBorderColor $SECONDARY_DARK
|
||||||
|
DiamondFontColor $SECONDARY_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub participant
|
||||||
|
|
||||||
|
skinparam participant {
|
||||||
|
$primary_scheme()
|
||||||
|
ParticipantBorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub actor
|
||||||
|
|
||||||
|
skinparam actor {
|
||||||
|
$primary_scheme()
|
||||||
|
' FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub arrow
|
||||||
|
|
||||||
|
skinparam arrow {
|
||||||
|
Thickness 3
|
||||||
|
Color $PRIMARY
|
||||||
|
FontColor $FGCOLOR
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub sequence
|
||||||
|
|
||||||
|
skinparam sequence {
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
' For some reason sequence title font color does not pick up from global
|
||||||
|
TitleFontColor $PRIMARY
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
StartColor $PRIMARY
|
||||||
|
EndColor $PRIMARY
|
||||||
|
''
|
||||||
|
BoxBackgroundColor $BGCOLOR
|
||||||
|
BoxBorderColor $GRAY
|
||||||
|
BoxFontColor $DARK
|
||||||
|
''
|
||||||
|
LifeLineBorderColor $SECONDARY_DARK
|
||||||
|
LifeLineBorderThickness 2
|
||||||
|
LifeLineBackgroundColor $BGCOLOR
|
||||||
|
''
|
||||||
|
GroupBorderColor $GRAY
|
||||||
|
GroupFontColor $DARK
|
||||||
|
GroupHeaderFontColor $INFO
|
||||||
|
''
|
||||||
|
DividerBackgroundColor $BGCOLOR
|
||||||
|
DividerBorderColor $GRAY
|
||||||
|
DividerBorderThickness 2
|
||||||
|
DividerFontColor $DARK
|
||||||
|
''
|
||||||
|
ReferenceBackgroundColor $BGCOLOR
|
||||||
|
ReferenceBorderColor $GRAY
|
||||||
|
ReferenceFontColor $DARK
|
||||||
|
ReferenceHeaderFontColor $INFO
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub partition
|
||||||
|
|
||||||
|
skinparam partition {
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
FontColor $PRIMARY
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub collections
|
||||||
|
|
||||||
|
skinparam collections {
|
||||||
|
$primary_scheme()
|
||||||
|
' BackgroundColor $BGCOLOR
|
||||||
|
' BorderColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub control
|
||||||
|
|
||||||
|
skinparam control {
|
||||||
|
$primary_scheme()
|
||||||
|
' BackgroundColor $BGCOLOR
|
||||||
|
' BorderColor $PRIMARY_DARK
|
||||||
|
' FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub entity
|
||||||
|
|
||||||
|
skinparam entity {
|
||||||
|
$primary_scheme()
|
||||||
|
' BackgroundColor $BGCOLOR
|
||||||
|
' BorderColor $PRIMARY_DARK
|
||||||
|
' FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub boundary
|
||||||
|
|
||||||
|
skinparam boundary {
|
||||||
|
$primary_scheme()
|
||||||
|
' BackgroundColor $BGCOLOR
|
||||||
|
' BorderColor $PRIMARY_DARK
|
||||||
|
' FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub agent
|
||||||
|
|
||||||
|
skinparam agent {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor #999999
|
||||||
|
FontColor #333333
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub note
|
||||||
|
|
||||||
|
skinparam note {
|
||||||
|
BorderThickness 1
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $INFO
|
||||||
|
FontColor $INFO
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub artifact
|
||||||
|
|
||||||
|
skinparam artifact {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $GRAY
|
||||||
|
FontColor $GRAY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub component
|
||||||
|
|
||||||
|
skinparam component {
|
||||||
|
$primary_scheme()
|
||||||
|
' BackgroundColor $BGCOLOR
|
||||||
|
' BorderColor $SUCCESS
|
||||||
|
' FontColor $SUCCESS_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub interface
|
||||||
|
|
||||||
|
skinparam interface {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $DANGER
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub storage
|
||||||
|
|
||||||
|
skinparam storage {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $WARNING
|
||||||
|
FontColor $WARNING_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub node
|
||||||
|
|
||||||
|
skinparam node {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $DARK
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub cloud
|
||||||
|
|
||||||
|
skinparam cloud {
|
||||||
|
BackgroundColor #F2FCFE-#eeeeee
|
||||||
|
BorderColor #F2FCFE
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub database
|
||||||
|
|
||||||
|
skinparam database {
|
||||||
|
$primary_scheme()
|
||||||
|
' BackgroundColor $BGCOLOR
|
||||||
|
' BorderColor $PRIMARY_DARK
|
||||||
|
' FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub class
|
||||||
|
|
||||||
|
skinparam class {
|
||||||
|
$primary_scheme()
|
||||||
|
FontColor $LIGHT
|
||||||
|
HeaderBackgroundColor $PRIMARY-$PRIMARY_DARK
|
||||||
|
' FontColor $PRIMARY_TEXT
|
||||||
|
' BackgroundColor $BGCOLOR
|
||||||
|
' BorderColor $PRIMARY_DARK
|
||||||
|
StereotypeFontColor $DARK
|
||||||
|
BorderThickness 1
|
||||||
|
AttributeFontColor $DARK
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub object
|
||||||
|
|
||||||
|
skinparam object {
|
||||||
|
$primary_scheme()
|
||||||
|
' FontColor $SUCCESS
|
||||||
|
' BackgroundColor $BGCOLOR
|
||||||
|
' BorderColor $SECONDARY_DARK
|
||||||
|
StereotypeFontColor $DARK
|
||||||
|
BorderThickness 1
|
||||||
|
AttributeFontColor $SECONDARY_DARK
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub usecase
|
||||||
|
|
||||||
|
skinparam usecase {
|
||||||
|
$primary_scheme()
|
||||||
|
' BackgroundColor $BGCOLOR
|
||||||
|
' BorderColor $SECONDARY_DARK
|
||||||
|
BorderThickness 2
|
||||||
|
' FontColor $SECONDARY_TEXT
|
||||||
|
StereotypeFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub rectangle
|
||||||
|
|
||||||
|
skinparam rectangle {
|
||||||
|
$primary_scheme()
|
||||||
|
' BackgroundColor $BGCOLOR
|
||||||
|
' BorderColor $PRIMARY_DARK
|
||||||
|
BorderThickness 2
|
||||||
|
' FontColor $PRIMARY
|
||||||
|
StereotypeFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub package
|
||||||
|
|
||||||
|
skinparam package {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
FontColor $PRIMARY
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub folder
|
||||||
|
|
||||||
|
skinparam folder {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $WARNING
|
||||||
|
FontColor $WARNING
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub frame
|
||||||
|
|
||||||
|
skinparam frame {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $INFO
|
||||||
|
FontColor $INFO
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub state
|
||||||
|
|
||||||
|
skinparam state {
|
||||||
|
$primary_scheme()
|
||||||
|
StartColor $INFO
|
||||||
|
EndColor $INFO
|
||||||
|
' BackgroundColor $BGCOLOR
|
||||||
|
' BorderColor $SECONDARY_DARK
|
||||||
|
' FontColor $INFO
|
||||||
|
AttributeFontColor $SECONDARY_TEXT
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub queue
|
||||||
|
|
||||||
|
skinparam queue {
|
||||||
|
$primary_scheme()
|
||||||
|
' BackgroundColor $BGCOLOR
|
||||||
|
' BorderColor $WARNING_DARK
|
||||||
|
' FontColor $WARNING_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub card
|
||||||
|
|
||||||
|
skinparam card {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $INFO
|
||||||
|
FontColor $INFO_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub file
|
||||||
|
|
||||||
|
skinparam file {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $GRAY
|
||||||
|
FontColor $GRAY
|
||||||
|
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub stack
|
||||||
|
|
||||||
|
skinparam stack {
|
||||||
|
$primary_scheme()
|
||||||
|
' BackgroundColor $BGCOLOR
|
||||||
|
' BorderColor $PRIMARY
|
||||||
|
' FontColor $PRIMARY_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
437
themes/puml-theme-materia.puml
Normal file
437
themes/puml-theme-materia.puml
Normal file
@ -0,0 +1,437 @@
|
|||||||
|
''
|
||||||
|
'' materia theme based off of the bootstrap theme of the same name
|
||||||
|
'' https://bootswatch.com/materia/
|
||||||
|
''
|
||||||
|
'' Author: Brett Schwarz
|
||||||
|
'' Copyright (c) 2019 by Brett Schwarz
|
||||||
|
|
||||||
|
!$THEME = "materia"
|
||||||
|
|
||||||
|
!if %not(%variable_exists("$BGCOLOR"))
|
||||||
|
!$BGCOLOR = "transparent"
|
||||||
|
!endif
|
||||||
|
|
||||||
|
skinparam backgroundColor $BGCOLOR
|
||||||
|
skinparam useBetaStyle false
|
||||||
|
|
||||||
|
''
|
||||||
|
'' Colors taken from the css file of the BS theme
|
||||||
|
''
|
||||||
|
!$BLUE = "#2196F3"
|
||||||
|
!$INDIGO = "#6610f2"
|
||||||
|
!$PURPLE = "#6f42c1"
|
||||||
|
!$PINK = "#e83e8c"
|
||||||
|
!$RED = "#e51c23"
|
||||||
|
!$ORANGE = "#fd7e14"
|
||||||
|
!$YELLOW = "#ff9800"
|
||||||
|
!$GREEN = "#4CAF50"
|
||||||
|
!$TEAL = "#20c997"
|
||||||
|
!$CYAN = "#9C27B0"
|
||||||
|
!$WHITE = "#FFF"
|
||||||
|
!$GRAY_DARK = "#222"
|
||||||
|
!$GRAY = "#666"
|
||||||
|
!$PRIMARY = "#2196F3"
|
||||||
|
!$SECONDARY = "#fff"
|
||||||
|
!$SUCCESS = "#4CAF50"
|
||||||
|
!$INFO = "#9C27B0"
|
||||||
|
!$WARNING = "#ff9800"
|
||||||
|
!$DANGER = "#e51c23"
|
||||||
|
!$LIGHT = "#fff"
|
||||||
|
!$DARK = "#222"
|
||||||
|
|
||||||
|
'' *_LIGHT = tint (lighter) of the main color of 80%
|
||||||
|
'' *_DARK = shade (darker) of the main color of 80%
|
||||||
|
''
|
||||||
|
!$FGCOLOR = $DARK
|
||||||
|
!$PRIMARY_LIGHT = "#4dabf5"
|
||||||
|
!$PRIMARY_DARK = "#1a78c2"
|
||||||
|
!$PRIMARY_TEXT = $WHITE
|
||||||
|
!$SECONDARY_LIGHT = "#fff"
|
||||||
|
!$SECONDARY_DARK = "#cccccc"
|
||||||
|
!$SECONDARY_TEXT = $DARK
|
||||||
|
!$INFO_LIGHT = "#b052c0"
|
||||||
|
!$INFO_DARK = "#7D1F8D"
|
||||||
|
!$INFO_TEXT = $WHITE
|
||||||
|
!$SUCCESS_LIGHT = "#70bf73"
|
||||||
|
!$SUCCESS_DARK = "#3D8C40"
|
||||||
|
!$SUCCESS_TEXT = $WHITE
|
||||||
|
!$WARNING_LIGHT = "#ffad33"
|
||||||
|
!$WARNING_DARK = "#CC7A00"
|
||||||
|
!$WARNING_TEXT = $WHITE
|
||||||
|
!$DANGER_DARK = "#b7161c"
|
||||||
|
!$DANGER_LIGHT = "#B7161C"
|
||||||
|
!$DANGER_TEXT = $WHITE
|
||||||
|
|
||||||
|
!procedure $success($msg)
|
||||||
|
<font color=$SUCCESS><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $failure($msg)
|
||||||
|
<font color=$DANGER><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $warning($msg)
|
||||||
|
<font color=$WARNING><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $primary_scheme()
|
||||||
|
FontColor $PRIMARY_TEXT
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
BackgroundColor $PRIMARY_LIGHT-$PRIMARY
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
''
|
||||||
|
'' Global Default Values
|
||||||
|
''
|
||||||
|
skinparam defaultFontName "Verdana"
|
||||||
|
skinparam defaultFontSize 12
|
||||||
|
skinparam dpi 100
|
||||||
|
skinparam shadowing true
|
||||||
|
skinparam roundcorner 8
|
||||||
|
skinparam ParticipantPadding 40
|
||||||
|
skinparam BoxPadding 40
|
||||||
|
skinparam Padding 10
|
||||||
|
skinparam ArrowColor $GRAY
|
||||||
|
skinparam stereotype {
|
||||||
|
CBackgroundColor $SECONDARY_LIGHT
|
||||||
|
CBorderColor $SECONDARY_DARK
|
||||||
|
ABackgroundColor $SUCCESS_LIGHT
|
||||||
|
ABorderColor $SUCCESS_DARK
|
||||||
|
IBackgroundColor $DANGER_LIGHT
|
||||||
|
IBorderColor $DANGER_DARK
|
||||||
|
EBackgroundColor $WARNING_LIGHT
|
||||||
|
EBorderColor $WARNING_DARK
|
||||||
|
NBackgroundColor $INFO_LIGHT
|
||||||
|
NBorderColor $INFO_DARK
|
||||||
|
}
|
||||||
|
skinparam title {
|
||||||
|
FontColor $PRIMARY
|
||||||
|
BorderColor $SECONDARY_DARK
|
||||||
|
FontSize 20
|
||||||
|
BorderRoundCorner 8
|
||||||
|
BorderThickness 1
|
||||||
|
BackgroundColor $SECONDARY_LIGHT-$SECONDARY
|
||||||
|
}
|
||||||
|
|
||||||
|
skinparam legend {
|
||||||
|
BackgroundColor $SECONDARY
|
||||||
|
BorderColor $SECONDARY_DARK
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
|
||||||
|
!startsub swimlane
|
||||||
|
skinparam swimlane {
|
||||||
|
BorderColor $INFO
|
||||||
|
BorderThickness 2
|
||||||
|
TitleBackgroundColor $SECONDARY_LIGHT-$SECONDARY
|
||||||
|
TitleFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub activity
|
||||||
|
|
||||||
|
skinparam activity {
|
||||||
|
$primary_scheme()
|
||||||
|
BarColor $SUCCESS
|
||||||
|
StartColor $INFO
|
||||||
|
EndColor $INFO
|
||||||
|
''
|
||||||
|
DiamondBackgroundColor $WHITE-$SECONDARY_LIGHT
|
||||||
|
DiamondBorderColor $SECONDARY_DARK
|
||||||
|
DiamondFontColor $SECONDARY_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub participant
|
||||||
|
|
||||||
|
skinparam participant {
|
||||||
|
$primary_scheme()
|
||||||
|
ParticipantBorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub actor
|
||||||
|
|
||||||
|
skinparam actor {
|
||||||
|
$primary_scheme()
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub arrow
|
||||||
|
|
||||||
|
skinparam arrow {
|
||||||
|
Thickness 3
|
||||||
|
Color $PRIMARY
|
||||||
|
FontColor $FGCOLOR
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub sequence
|
||||||
|
|
||||||
|
skinparam sequence {
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
' For some reason sequence title font color does not pick up from global
|
||||||
|
TitleFontColor $PRIMARY
|
||||||
|
BackgroundColor transparent
|
||||||
|
StartColor $PRIMARY
|
||||||
|
EndColor $PRIMARY
|
||||||
|
''
|
||||||
|
BoxBackgroundColor $LIGHT
|
||||||
|
BoxBorderColor $GRAY
|
||||||
|
BoxFontColor $DARK
|
||||||
|
''
|
||||||
|
LifeLineBorderColor $SECONDARY_DARK
|
||||||
|
LifeLineBorderThickness 2
|
||||||
|
LifeLineBackgroundColor $SECONDARY_LIGHT
|
||||||
|
''
|
||||||
|
GroupBorderColor $GRAY
|
||||||
|
GroupFontColor $DARK
|
||||||
|
GroupHeaderFontColor $INFO
|
||||||
|
''
|
||||||
|
DividerBackgroundColor $WHITE-$LIGHT
|
||||||
|
DividerBorderColor $GRAY
|
||||||
|
DividerBorderThickness 2
|
||||||
|
DividerFontColor $DARK
|
||||||
|
''
|
||||||
|
ReferenceBackgroundColor $BGCOLOR
|
||||||
|
ReferenceBorderColor $GRAY
|
||||||
|
ReferenceFontColor $DARK
|
||||||
|
ReferenceHeaderFontColor $INFO
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub partition
|
||||||
|
|
||||||
|
skinparam partition {
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
FontColor $PRIMARY
|
||||||
|
BackgroundColor transparent
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub collections
|
||||||
|
|
||||||
|
skinparam collections {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub control
|
||||||
|
|
||||||
|
skinparam control {
|
||||||
|
$primary_scheme()
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub entity
|
||||||
|
|
||||||
|
skinparam entity {
|
||||||
|
$primary_scheme()
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub boundary
|
||||||
|
|
||||||
|
skinparam boundary {
|
||||||
|
$primary_scheme()
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub agent
|
||||||
|
|
||||||
|
skinparam agent {
|
||||||
|
BackgroundColor #orange
|
||||||
|
BorderColor #999999
|
||||||
|
FontColor #333333
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub note
|
||||||
|
|
||||||
|
skinparam note {
|
||||||
|
BorderThickness 1
|
||||||
|
BackgroundColor $INFO_LIGHT-$INFO
|
||||||
|
BorderColor $INFO
|
||||||
|
FontColor $WHITE
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub artifact
|
||||||
|
|
||||||
|
skinparam artifact {
|
||||||
|
BackgroundColor $WHITE-$LIGHT
|
||||||
|
BorderColor $GRAY
|
||||||
|
FontColor $GRAY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub component
|
||||||
|
|
||||||
|
skinparam component {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub interface
|
||||||
|
|
||||||
|
skinparam interface {
|
||||||
|
BackgroundColor $DANGER_LIGHT
|
||||||
|
BorderColor $DANGER
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub storage
|
||||||
|
|
||||||
|
skinparam storage {
|
||||||
|
BackgroundColor $WARNING_LIGHT-$WARNING
|
||||||
|
BorderColor $WARNING
|
||||||
|
FontColor $WARNING_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub node
|
||||||
|
|
||||||
|
skinparam node {
|
||||||
|
BackgroundColor $SECONDARY_LIGHT-$SECONDARY
|
||||||
|
BorderColor $DARK
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub cloud
|
||||||
|
|
||||||
|
skinparam cloud {
|
||||||
|
BackgroundColor #F2FCFE-#eeeeee
|
||||||
|
BorderColor #F2FCFE
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub database
|
||||||
|
|
||||||
|
skinparam database {
|
||||||
|
$primary_scheme()
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub class
|
||||||
|
|
||||||
|
skinparam class {
|
||||||
|
$primary_scheme()
|
||||||
|
HeaderBackgroundColor $PRIMARY-$PRIMARY_DARK
|
||||||
|
StereotypeFontColor $DARK
|
||||||
|
BorderThickness 1
|
||||||
|
AttributeFontColor $LIGHT
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub object
|
||||||
|
|
||||||
|
skinparam object {
|
||||||
|
$primary_scheme()
|
||||||
|
StereotypeFontColor $DARK
|
||||||
|
BorderThickness 1
|
||||||
|
AttributeFontColor $SECONDARY_TEXT
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub usecase
|
||||||
|
|
||||||
|
skinparam usecase {
|
||||||
|
$primary_scheme()
|
||||||
|
BorderThickness 2
|
||||||
|
StereotypeFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub rectangle
|
||||||
|
|
||||||
|
skinparam rectangle {
|
||||||
|
FontColor $PRIMARY
|
||||||
|
BackgroundColor $SECONDARY_LIGHT-$SECONDARY
|
||||||
|
BorderThickness 2
|
||||||
|
StereotypeFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub package
|
||||||
|
|
||||||
|
skinparam package {
|
||||||
|
$primary_scheme()
|
||||||
|
BackgroundColor $SECONDARY_LIGHT-$SECONDARY
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub folder
|
||||||
|
|
||||||
|
skinparam folder {
|
||||||
|
BackgroundColor $WHITE-$SECONDARY_LIGHT
|
||||||
|
BorderColor $WARNING
|
||||||
|
FontColor $WARNING
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub frame
|
||||||
|
|
||||||
|
skinparam frame {
|
||||||
|
BackgroundColor $WHITE-$SECONDARY_LIGHT
|
||||||
|
BorderColor $INFO
|
||||||
|
FontColor $INFO
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub state
|
||||||
|
|
||||||
|
skinparam state {
|
||||||
|
$primary_scheme()
|
||||||
|
BorderColor $PRIMARY_DARK
|
||||||
|
StartColor $INFO
|
||||||
|
EndColor $INFO
|
||||||
|
AttributeFontColor $SECONDARY_TEXT
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub queue
|
||||||
|
|
||||||
|
skinparam queue {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub card
|
||||||
|
|
||||||
|
skinparam card {
|
||||||
|
BackgroundColor $INFO_LIGHT-$INFO
|
||||||
|
BorderColor $INFO
|
||||||
|
FontColor $INFO_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub file
|
||||||
|
|
||||||
|
skinparam file {
|
||||||
|
BackgroundColor $SECONDARY_LIGHT-$SECONDARY
|
||||||
|
BorderColor $GRAY
|
||||||
|
FontColor $GRAY
|
||||||
|
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub stack
|
||||||
|
|
||||||
|
skinparam stack {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
443
themes/puml-theme-metal.puml
Normal file
443
themes/puml-theme-metal.puml
Normal file
@ -0,0 +1,443 @@
|
|||||||
|
''
|
||||||
|
'' Silver theme - mostly grays
|
||||||
|
''
|
||||||
|
'' Author: Brett Schwarz
|
||||||
|
'' Copyright (c) 2019 by Brett Schwarz
|
||||||
|
|
||||||
|
!$THEME = "metal"
|
||||||
|
|
||||||
|
!if %not(%variable_exists("$BGCOLOR"))
|
||||||
|
!$BGCOLOR = "transparent"
|
||||||
|
!endif
|
||||||
|
|
||||||
|
skinparam backgroundColor $BGCOLOR
|
||||||
|
skinparam useBetaStyle false
|
||||||
|
|
||||||
|
!$WHITE = "#fdfdfd"
|
||||||
|
!$GRAY_DARK = "#4d4d4d"
|
||||||
|
!$GRAY = "#737373"
|
||||||
|
!$LIGHT = "#f2f2f2"
|
||||||
|
!$DARK = "#4d4d4d"
|
||||||
|
|
||||||
|
!$SILVER = "#c0c0c0"
|
||||||
|
!$COPPER = "#B87333c"
|
||||||
|
!$STEELBLUE = "#4682b4"
|
||||||
|
!$LIGHTSTEELBLUE = "#B0C4DE"
|
||||||
|
!$LIGHTSTEELBLUE_DARK = "#8d9db2"
|
||||||
|
!$LIGHTSTEELBLUE_LIGHT = "#c0d0e5"
|
||||||
|
!$ALUMINUM = "#c9ced0"
|
||||||
|
!$ALUMINUM_DARK = "#a1a5a6"
|
||||||
|
!$ALUMINUM_LIGHT = "#d4d8d9"
|
||||||
|
!$BRONZE = "#CD7F32"
|
||||||
|
!$BRONZE_DARK = "#a46628"
|
||||||
|
!$BRONZE_LIGHT = "#d7995b"
|
||||||
|
!$GOLD = "#FFD700"
|
||||||
|
!$PLATINUM = "#E5E4E2"
|
||||||
|
!$RUST = "#B7410E"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
'' *_LIGHT = tint (lighter) of the main color of 80%
|
||||||
|
'' where TINT is calculated by clr + (255-clr) * tint_factor
|
||||||
|
'' *_DARK = shade (darker) of the main color of 80%
|
||||||
|
'' and SHADE is calculated by clr * (1 - shade_factor)
|
||||||
|
''
|
||||||
|
!$FGCOLOR = $DARK
|
||||||
|
!$PRIMARY = $PLATINUM
|
||||||
|
!$PRIMARY_LIGHT = "#eae9e8"
|
||||||
|
!$PRIMARY_DARK = "#b7b6b5"
|
||||||
|
!$PRIMARY_TEXT = $STEELBLUE
|
||||||
|
!$SECONDARY = $SILVER
|
||||||
|
!$SECONDARY_LIGHT = "#cdcdcd"
|
||||||
|
!$SECONDARY_DARK = "#9a9a9a"
|
||||||
|
!$SECONDARY_TEXT = $WHITE
|
||||||
|
!$INFO = $STEELBLUE
|
||||||
|
!$INFO_LIGHT = "#5c85ad"
|
||||||
|
!$INFO_DARK = "#29527a"
|
||||||
|
!$INFO_TEXT = $WHITE
|
||||||
|
!$SUCCESS = "#339933"
|
||||||
|
!$SUCCESS_LIGHT = "#5cad5c"
|
||||||
|
!$SUCCESS_DARK = "#297a29"
|
||||||
|
!$SUCCESS_TEXT = $WHITE
|
||||||
|
!$WARNING = $GOLD
|
||||||
|
!$WARNING_LIGHT = "#ffdf33"
|
||||||
|
!$WARNING_DARK = "#ccac00"
|
||||||
|
!$WARNING_TEXT = $WHITE
|
||||||
|
!$DANGER = $RUST
|
||||||
|
!$DANGER_LIGHT = "#c5673e"
|
||||||
|
!$DANGER_DARK = "#92340b"
|
||||||
|
!$DANGER_TEXT = $WHITE
|
||||||
|
|
||||||
|
!procedure $success($msg)
|
||||||
|
<font color=$SUCCESS><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $failure($msg)
|
||||||
|
<font color=$DANGER><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $warning($msg)
|
||||||
|
<font color=$WARNING><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $primary_scheme()
|
||||||
|
FontColor $PRIMARY_TEXT
|
||||||
|
BorderColor $PRIMARY_DARK
|
||||||
|
BackgroundColor $PRIMARY-$PRIMARY_DARK
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
''
|
||||||
|
'' Global Default Values
|
||||||
|
''
|
||||||
|
skinparam defaultFontName "Verdana"
|
||||||
|
skinparam defaultFontSize 12
|
||||||
|
skinparam dpi 100
|
||||||
|
skinparam shadowing false
|
||||||
|
skinparam roundcorner 15
|
||||||
|
skinparam ParticipantPadding 30
|
||||||
|
skinparam BoxPadding 30
|
||||||
|
skinparam Padding 8
|
||||||
|
skinparam ArrowColor $GRAY
|
||||||
|
skinparam stereotype {
|
||||||
|
CBackgroundColor $SECONDARY_LIGHT
|
||||||
|
CBorderColor $SECONDARY_DARK
|
||||||
|
ABackgroundColor $SUCCESS_LIGHT
|
||||||
|
ABorderColor $SUCCESS_DARK
|
||||||
|
IBackgroundColor $DANGER_LIGHT
|
||||||
|
IBorderColor $DANGER_DARK
|
||||||
|
EBackgroundColor $WARNING_LIGHT
|
||||||
|
EBorderColor $WARNING_DARK
|
||||||
|
NBackgroundColor $INFO_LIGHT
|
||||||
|
NBorderColor $INFO_DARK
|
||||||
|
}
|
||||||
|
skinparam title {
|
||||||
|
FontColor $WHITE
|
||||||
|
BorderColor $SECONDARY_DARK
|
||||||
|
FontSize 20
|
||||||
|
BorderRoundCorner 8
|
||||||
|
BorderThickness 1
|
||||||
|
BackgroundColor $SECONDARY_LIGHT-$SECONDARY_DARK
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
skinparam legend {
|
||||||
|
BackgroundColor $PRIMARY_LIGHT-$PRIMARY
|
||||||
|
BorderColor $SECONDARY_DARK
|
||||||
|
FontColor $PRIMARY_TEXT
|
||||||
|
}
|
||||||
|
|
||||||
|
!startsub swimlane
|
||||||
|
skinparam swimlane {
|
||||||
|
BorderColor $INFO
|
||||||
|
BorderThickness 2
|
||||||
|
TitleBackgroundColor $SECONDARY_LIGHT-$SECONDARY
|
||||||
|
TitleFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub activity
|
||||||
|
|
||||||
|
skinparam activity {
|
||||||
|
$primary_scheme()
|
||||||
|
BarColor $BRONZE
|
||||||
|
StartColor $INFO
|
||||||
|
EndColor $INFO
|
||||||
|
''
|
||||||
|
DiamondBackgroundColor $SECONDARY-$SECONDARY_DARK
|
||||||
|
DiamondBorderColor $SECONDARY_DARK
|
||||||
|
DiamondFontColor $SECONDARY_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub participant
|
||||||
|
|
||||||
|
skinparam participant {
|
||||||
|
$primary_scheme()
|
||||||
|
ParticipantBorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub actor
|
||||||
|
|
||||||
|
skinparam actor {
|
||||||
|
$primary_scheme()
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub arrow
|
||||||
|
|
||||||
|
skinparam arrow {
|
||||||
|
Thickness 3
|
||||||
|
Color $PRIMARY
|
||||||
|
FontColor $FGCOLOR
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub sequence
|
||||||
|
|
||||||
|
skinparam sequence {
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
' For some reason sequence title font color does not pick up from global
|
||||||
|
TitleFontColor $WHITE
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
StartColor $PRIMARY
|
||||||
|
EndColor $PRIMARY
|
||||||
|
''
|
||||||
|
BoxBackgroundColor $LIGHT
|
||||||
|
BoxBorderColor $GRAY
|
||||||
|
BoxFontColor $DARK
|
||||||
|
''
|
||||||
|
LifeLineBorderColor $SECONDARY_DARK
|
||||||
|
LifeLineBorderThickness 3
|
||||||
|
LifeLineBackgroundColor $SECONDARY_LIGHT-$SECONDARY_DARK
|
||||||
|
''
|
||||||
|
GroupBorderColor $GRAY
|
||||||
|
GroupFontColor $DARK
|
||||||
|
GroupHeaderFontColor $INFO
|
||||||
|
''
|
||||||
|
DividerBackgroundColor $WHITE-$LIGHT
|
||||||
|
DividerBorderColor $GRAY
|
||||||
|
DividerBorderThickness 2
|
||||||
|
DividerFontColor $DARK
|
||||||
|
''
|
||||||
|
ReferenceBackgroundColor $BGCOLOR
|
||||||
|
ReferenceBorderColor $GRAY
|
||||||
|
ReferenceFontColor $DARK
|
||||||
|
ReferenceHeaderFontColor $INFO
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub partition
|
||||||
|
|
||||||
|
skinparam partition {
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
FontColor $PRIMARY_DARK
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub collections
|
||||||
|
|
||||||
|
skinparam collections {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub control
|
||||||
|
|
||||||
|
skinparam control {
|
||||||
|
$primary_scheme()
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub entity
|
||||||
|
|
||||||
|
skinparam entity {
|
||||||
|
$primary_scheme()
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub boundary
|
||||||
|
|
||||||
|
skinparam boundary {
|
||||||
|
$primary_scheme()
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub agent
|
||||||
|
|
||||||
|
skinparam agent {
|
||||||
|
BackgroundColor #orange
|
||||||
|
BorderColor #999999
|
||||||
|
FontColor #333333
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub note
|
||||||
|
|
||||||
|
skinparam note {
|
||||||
|
BorderThickness 1
|
||||||
|
BackgroundColor $LIGHTSTEELBLUE_LIGHT-$LIGHTSTEELBLUE_DARK
|
||||||
|
BorderColor $LIGHTSTEELBLUE_DARK
|
||||||
|
FontColor $WHITE
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub artifact
|
||||||
|
|
||||||
|
skinparam artifact {
|
||||||
|
BackgroundColor $SECONDARY_LIGHT-$SECONDARY_DARK
|
||||||
|
BorderColor $SECONDARY_DARK
|
||||||
|
FontColor $SECONDARY_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub component
|
||||||
|
|
||||||
|
skinparam component {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub interface
|
||||||
|
|
||||||
|
skinparam interface {
|
||||||
|
BackgroundColor $DANGER_LIGHT
|
||||||
|
BorderColor $DANGER
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub storage
|
||||||
|
|
||||||
|
skinparam storage {
|
||||||
|
BackgroundColor $WARNING_LIGHT-$WARNING_DARK
|
||||||
|
BorderColor $WARNING_DARK
|
||||||
|
FontColor $WARNING_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub node
|
||||||
|
|
||||||
|
skinparam node {
|
||||||
|
BackgroundColor $PRIMARY_LIGHT-$PRIMARY
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub cloud
|
||||||
|
|
||||||
|
skinparam cloud {
|
||||||
|
BackgroundColor #F2FCFE-#eeeeee
|
||||||
|
BorderColor #F2FCFE
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub database
|
||||||
|
|
||||||
|
skinparam database {
|
||||||
|
$primary_scheme()
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub class
|
||||||
|
|
||||||
|
skinparam class {
|
||||||
|
$primary_scheme()
|
||||||
|
HeaderBackgroundColor $PRIMARY_LIGHT-$PRIMARY_DARK
|
||||||
|
StereotypeFontColor $DARK
|
||||||
|
BorderThickness 1
|
||||||
|
AttributeFontColor $DARK
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub object
|
||||||
|
|
||||||
|
skinparam object {
|
||||||
|
$primary_scheme()
|
||||||
|
StereotypeFontColor $LIGHT
|
||||||
|
BorderThickness 1
|
||||||
|
AttributeFontColor $WHITE
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub usecase
|
||||||
|
|
||||||
|
skinparam usecase {
|
||||||
|
$primary_scheme()
|
||||||
|
BorderThickness 2
|
||||||
|
StereotypeFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub rectangle
|
||||||
|
|
||||||
|
skinparam rectangle {
|
||||||
|
$primary_scheme()
|
||||||
|
BackgroundColor $WHITE-$LIGHT
|
||||||
|
BorderThickness 2
|
||||||
|
StereotypeFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub package
|
||||||
|
|
||||||
|
skinparam package {
|
||||||
|
$primary_scheme()
|
||||||
|
BackgroundColor $PRIMARY_LIGHT-$PRIMARY
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub folder
|
||||||
|
|
||||||
|
skinparam folder {
|
||||||
|
BackgroundColor $PRIMARY_LIGHT-$PRIMARY
|
||||||
|
BorderColor $RUST
|
||||||
|
FontColor $RUST
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub frame
|
||||||
|
|
||||||
|
skinparam frame {
|
||||||
|
BackgroundColor $PRIMARY_LIGHT-$PRIMARY
|
||||||
|
BorderColor $INFO
|
||||||
|
FontColor $INFO
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub state
|
||||||
|
|
||||||
|
skinparam state {
|
||||||
|
$primary_scheme()
|
||||||
|
StartColor $INFO
|
||||||
|
EndColor $INFO
|
||||||
|
AttributeFontColor $SECONDARY
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub queue
|
||||||
|
|
||||||
|
skinparam queue {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub card
|
||||||
|
|
||||||
|
skinparam card {
|
||||||
|
BackgroundColor $INFO_LIGHT-$INFO_DARK
|
||||||
|
BorderColor $INFO
|
||||||
|
FontColor $INFO_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub file
|
||||||
|
|
||||||
|
skinparam file {
|
||||||
|
BackgroundColor $SECONDARY_LIGHT-$SECONDARY_DARK
|
||||||
|
BorderColor $GRAY
|
||||||
|
FontColor $LIGHT
|
||||||
|
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub stack
|
||||||
|
|
||||||
|
skinparam stack {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
440
themes/puml-theme-minty.puml
Normal file
440
themes/puml-theme-minty.puml
Normal file
@ -0,0 +1,440 @@
|
|||||||
|
''
|
||||||
|
'' superhero theme based off of the bootstrap theme of the same name
|
||||||
|
'' https://bootswatch.com/minty/
|
||||||
|
''
|
||||||
|
'' Author = "Brett Schwarz
|
||||||
|
'' Copyright (c) 2020 by Brett Schwarz
|
||||||
|
|
||||||
|
!$THEME = "minty"
|
||||||
|
|
||||||
|
!if %not(%variable_exists("$BGCOLOR"))
|
||||||
|
!$BGCOLOR = "transparent"
|
||||||
|
!endif
|
||||||
|
|
||||||
|
skinparam backgroundColor $BGCOLOR
|
||||||
|
skinparam useBetaStyle false
|
||||||
|
|
||||||
|
''
|
||||||
|
'' Colors taken from the css file of the BS theme
|
||||||
|
''
|
||||||
|
!$BLUE = "#007bff"
|
||||||
|
!$INDIGO = "#6610f2"
|
||||||
|
!$PURPLE = "#6f42c1"
|
||||||
|
!$PINK = "#e83e8c"
|
||||||
|
!$RED = "#ff7851"
|
||||||
|
!$ORANGE = "#fd7e14"
|
||||||
|
!$YELLOW = "#ffce67"
|
||||||
|
!$GREEN = "#56cc9d"
|
||||||
|
!$TEAL = "#20c997"
|
||||||
|
!$CYAN = "#6cc3d5"
|
||||||
|
!$WHITE = "#fff"
|
||||||
|
!$GRAY = "#888"
|
||||||
|
!$GRAYDARK = "#343a40"
|
||||||
|
!$PRIMARY = "#78c2ad"
|
||||||
|
!$SECONDARY = "#f3969a"
|
||||||
|
!$SUCCESS = "#56cc9d"
|
||||||
|
!$INFO = "#6cc3d5"
|
||||||
|
!$WARNING = "#ffce67"
|
||||||
|
!$DANGER = "#ff7851"
|
||||||
|
!$LIGHT = "#f8f9fa"
|
||||||
|
!$DARK = "#343a40"
|
||||||
|
|
||||||
|
'' *_DARK = tint (lighter) of the main color of 80%
|
||||||
|
'' where TINT is calculated by clr + (255-clr) * tint_factor
|
||||||
|
'' *_LIGHT = shade (darker) of the main color of 80%
|
||||||
|
'' and SHADE is calculated by clr * (1 - shade_factor)
|
||||||
|
''
|
||||||
|
!$FGCOLOR = $WHITE
|
||||||
|
!$PRIMARY_DARK = "#6caf9c"
|
||||||
|
!$PRIMARY_LIGHT = "#86c8b5"
|
||||||
|
!$PRIMARY_TEXT = $WHITE
|
||||||
|
!$SECONDARY_DARK = "#db878b"
|
||||||
|
!$SECONDARY_LIGHT = "#f4a1a4"
|
||||||
|
!$SECONDARY_TEXT = $WHITE
|
||||||
|
!$INFO_DARK = "#61b0c0"
|
||||||
|
!$INFO_LIGHT = "#7bc9d9"
|
||||||
|
!$INFO_TEXT = $WHITE
|
||||||
|
!$SUCCESS_DARK = "#4db88d"
|
||||||
|
!$SUCCESS_LIGHT = "#67d1a7"
|
||||||
|
!$SUCCESS_TEXT = $WHITE
|
||||||
|
!$WARNING_DARK = "#e6b95d"
|
||||||
|
!$WARNING_LIGHT = "#ffd376"
|
||||||
|
!$WARNING_TEXT = $WHITE
|
||||||
|
!$DANGER_DARK = "#e66c49"
|
||||||
|
!$DANGER_LIGHT = "#ff8662"
|
||||||
|
!$DANGER_TEXT = $WHITE
|
||||||
|
!$DARK_DARK = "#2f343a"
|
||||||
|
!$DARK_LIGHT = "#484e53"
|
||||||
|
!$LIGHT_DARK = "#dfe0e1"
|
||||||
|
!$LIGHT_LIGHT = "#f9fafb"
|
||||||
|
|
||||||
|
!procedure $success($msg)
|
||||||
|
<font color=$SUCCESS><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $failure($msg)
|
||||||
|
<font color=$DANGER><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $warning($msg)
|
||||||
|
<font color=$WARNING><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $primary_scheme()
|
||||||
|
FontColor $PRIMARY_TEXT
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
BackgroundColor $PRIMARY_LIGHT
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
''
|
||||||
|
'' Global Default Values
|
||||||
|
''
|
||||||
|
skinparam defaultFontName "Verdana"
|
||||||
|
skinparam defaultFontSize 12
|
||||||
|
skinparam dpi 100
|
||||||
|
skinparam shadowing false
|
||||||
|
skinparam roundcorner 8
|
||||||
|
skinparam ParticipantPadding 40
|
||||||
|
skinparam BoxPadding 40
|
||||||
|
skinparam Padding 5
|
||||||
|
skinparam ArrowColor $DARK
|
||||||
|
skinparam stereotype {
|
||||||
|
CBackgroundColor $SECONDARY_LIGHT
|
||||||
|
CBorderColor $SECONDARY_DARK
|
||||||
|
ABackgroundColor $SUCCESS_LIGHT
|
||||||
|
ABorderColor $SUCCESS_DARK
|
||||||
|
IBackgroundColor $DANGER_LIGHT
|
||||||
|
IBorderColor $DANGER_DARK
|
||||||
|
EBackgroundColor $WARNING_LIGHT
|
||||||
|
EBorderColor $WARNING_DARK
|
||||||
|
NBackgroundColor $INFO_LIGHT
|
||||||
|
NBorderColor $INFO_DARK
|
||||||
|
}
|
||||||
|
skinparam title {
|
||||||
|
FontColor $PRIMARY_DARK
|
||||||
|
BorderColor $SECONDARY_DARK
|
||||||
|
FontSize 20
|
||||||
|
BorderRoundCorner 8
|
||||||
|
BorderThickness 1
|
||||||
|
BackgroundColor $SECONDARY_LIGHT-$SECONDARY
|
||||||
|
}
|
||||||
|
|
||||||
|
skinparam legend {
|
||||||
|
BackgroundColor $SECONDARY
|
||||||
|
BorderColor $SECONDARY_DARK
|
||||||
|
FontColor $LIGHT
|
||||||
|
}
|
||||||
|
|
||||||
|
!startsub swimlane
|
||||||
|
skinparam swimlane {
|
||||||
|
BorderColor $INFO
|
||||||
|
BorderThickness 2
|
||||||
|
TitleBackgroundColor $SECONDARY_LIGHT-$SECONDARY
|
||||||
|
TitleFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub activity
|
||||||
|
|
||||||
|
skinparam activity {
|
||||||
|
$primary_scheme()
|
||||||
|
BarColor $SUCCESS
|
||||||
|
StartColor $INFO
|
||||||
|
EndColor $INFO
|
||||||
|
''
|
||||||
|
DiamondBackgroundColor $SECONDARY_LIGHT
|
||||||
|
DiamondBorderColor $SECONDARY_DARK
|
||||||
|
DiamondFontColor $SECONDARY_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub participant
|
||||||
|
|
||||||
|
skinparam participant {
|
||||||
|
$primary_scheme()
|
||||||
|
ParticipantBorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub actor
|
||||||
|
|
||||||
|
skinparam actor {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub arrow
|
||||||
|
|
||||||
|
skinparam arrow {
|
||||||
|
Thickness 3
|
||||||
|
Color $PRIMARY
|
||||||
|
FontColor $FGCOLOR
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub sequence
|
||||||
|
|
||||||
|
skinparam sequence {
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
' For some reason sequence title font color does not pick up from global
|
||||||
|
TitleFontColor $PRIMARY
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
StartColor $PRIMARY
|
||||||
|
EndColor $PRIMARY
|
||||||
|
''
|
||||||
|
BoxBackgroundColor $BGCOLOR
|
||||||
|
BoxBorderColor $DARK
|
||||||
|
BoxFontColor $DARk
|
||||||
|
''
|
||||||
|
LifeLineBorderColor $SECONDARY
|
||||||
|
LifeLineBorderThickness 2
|
||||||
|
LifeLineBackgroundColor $SECONDARY_DARK
|
||||||
|
''
|
||||||
|
GroupBorderColor $DARK
|
||||||
|
GroupFontColor $DARK
|
||||||
|
GroupHeaderFontColor $INFO
|
||||||
|
GroupBackgroundColor $SECONDARY
|
||||||
|
GroupHeaderBackgroundColor $BGCOLOR
|
||||||
|
''
|
||||||
|
DividerBackgroundColor $DARK
|
||||||
|
DividerBorderColor $DARK
|
||||||
|
DividerBorderThickness 2
|
||||||
|
DividerFontColor $LIGHT
|
||||||
|
''
|
||||||
|
ReferenceBackgroundColor $BGCOLOR
|
||||||
|
ReferenceBorderColor $DARK
|
||||||
|
ReferenceFontColor $DARK
|
||||||
|
ReferenceHeaderFontColor $INFO
|
||||||
|
ReferenceHeaderBackgroundColor $SECONDARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub partition
|
||||||
|
|
||||||
|
skinparam partition {
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
FontColor $PRIMARY
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub collections
|
||||||
|
|
||||||
|
skinparam collections {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub control
|
||||||
|
|
||||||
|
skinparam control {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub entity
|
||||||
|
|
||||||
|
skinparam entity {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub boundary
|
||||||
|
|
||||||
|
skinparam boundary {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub agent
|
||||||
|
|
||||||
|
skinparam agent {
|
||||||
|
BackgroundColor $WARNING
|
||||||
|
BorderColor $WARNING_LIGHT
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub note
|
||||||
|
|
||||||
|
skinparam note {
|
||||||
|
BorderThickness 1
|
||||||
|
BackgroundColor $INFO
|
||||||
|
BorderColor $INFO_DARK
|
||||||
|
FontColor $WHITE
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub artifact
|
||||||
|
|
||||||
|
skinparam artifact {
|
||||||
|
BackgroundColor $DARK
|
||||||
|
BorderColor $DARK_DARK
|
||||||
|
FontColor $LIGHT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub component
|
||||||
|
|
||||||
|
skinparam component {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub interface
|
||||||
|
|
||||||
|
skinparam interface {
|
||||||
|
BackgroundColor $DANGER_DARK
|
||||||
|
BorderColor $DANGER
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub storage
|
||||||
|
|
||||||
|
skinparam storage {
|
||||||
|
BackgroundColor $WARNING
|
||||||
|
BorderColor $WARNING_DARK
|
||||||
|
FontColor $WARNING_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub node
|
||||||
|
|
||||||
|
skinparam node {
|
||||||
|
BackgroundColor $SECONDARY
|
||||||
|
BorderColor $LIGHT
|
||||||
|
FontColor $LIGHT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub cloud
|
||||||
|
|
||||||
|
skinparam cloud {
|
||||||
|
BackgroundColor #F2FCFE-#eeeeee
|
||||||
|
BorderColor #F2FCFE
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub database
|
||||||
|
|
||||||
|
skinparam database {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub class
|
||||||
|
|
||||||
|
skinparam class {
|
||||||
|
$primary_scheme()
|
||||||
|
HeaderBackgroundColor $PRIMARY_LIGHT
|
||||||
|
StereotypeFontColor $DARK
|
||||||
|
BorderThickness 1
|
||||||
|
AttributeFontColor $DARK
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub object
|
||||||
|
|
||||||
|
skinparam object {
|
||||||
|
$primary_scheme()
|
||||||
|
StereotypeFontColor $DARK
|
||||||
|
BorderThickness 1
|
||||||
|
AttributeFontColor $SECONDARY_TEXT
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub usecase
|
||||||
|
|
||||||
|
skinparam usecase {
|
||||||
|
$primary_scheme()
|
||||||
|
BorderThickness 2
|
||||||
|
StereotypeFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub rectangle
|
||||||
|
|
||||||
|
skinparam rectangle {
|
||||||
|
$primary_scheme()
|
||||||
|
BackgroundColor $SECONDARY_LIGHT
|
||||||
|
BorderThickness 2
|
||||||
|
StereotypeFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub package
|
||||||
|
|
||||||
|
skinparam package {
|
||||||
|
BackgroundColor $SECONDARY
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
FontColor $PRIMARY
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub folder
|
||||||
|
|
||||||
|
skinparam folder {
|
||||||
|
BackgroundColor $SECONDARY_LIGHT
|
||||||
|
BorderColor $WARNING
|
||||||
|
FontColor $WARNING
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub frame
|
||||||
|
|
||||||
|
skinparam frame {
|
||||||
|
BackgroundColor $SECONDARY_LIGHT
|
||||||
|
BorderColor $INFO
|
||||||
|
FontColor $INFO
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub state
|
||||||
|
|
||||||
|
skinparam state {
|
||||||
|
$primary_scheme()
|
||||||
|
StartColor $INFO
|
||||||
|
EndColor $INFO
|
||||||
|
AttributeFontColor $SECONDARY_TEXT
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub queue
|
||||||
|
|
||||||
|
skinparam queue {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub card
|
||||||
|
|
||||||
|
skinparam card {
|
||||||
|
BackgroundColor $INFO
|
||||||
|
BorderColor $INFO_DARK
|
||||||
|
FontColor $INFO_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub file
|
||||||
|
|
||||||
|
skinparam file {
|
||||||
|
BackgroundColor $SECONDARY_DARK
|
||||||
|
BorderColor $LIGHT
|
||||||
|
FontColor $LIGHT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub stack
|
||||||
|
|
||||||
|
skinparam stack {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
48
themes/puml-theme-resume-light.puml
Normal file
48
themes/puml-theme-resume-light.puml
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
''
|
||||||
|
'' Author: Brett Schwarz
|
||||||
|
''
|
||||||
|
|
||||||
|
!$THEME = "resume-light"
|
||||||
|
|
||||||
|
!if %not(%variable_exists("$BGCOLOR"))
|
||||||
|
!$BGCOLOR = "transparent"
|
||||||
|
!endif
|
||||||
|
|
||||||
|
skinparam backgroundColor $BGCOLOR
|
||||||
|
skinparam useBetaStyle false
|
||||||
|
|
||||||
|
|
||||||
|
skinparam {
|
||||||
|
skinparam defaultFontName "Verdana"
|
||||||
|
skinparam defaultFontSize 12
|
||||||
|
defaultTextAlignment center
|
||||||
|
shadowing false
|
||||||
|
RoundCorner 10
|
||||||
|
TitleFontSize 18
|
||||||
|
}
|
||||||
|
<style>
|
||||||
|
wbsDiagram {
|
||||||
|
LineColor #f0f0f0
|
||||||
|
BorderThickness 3
|
||||||
|
BackgroundColor #f9f9f9
|
||||||
|
FontColor #6a9fb5
|
||||||
|
:depth(0) {
|
||||||
|
fontSize 16
|
||||||
|
fontStyle bold
|
||||||
|
}
|
||||||
|
:depth(1) {
|
||||||
|
fontSize 14
|
||||||
|
padding 5
|
||||||
|
fontStyle bold
|
||||||
|
}
|
||||||
|
:depth(2) {
|
||||||
|
fontSize 12
|
||||||
|
padding 3
|
||||||
|
}
|
||||||
|
:depth(3) {
|
||||||
|
fontSize 10
|
||||||
|
padding 2
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
</style>
|
441
themes/puml-theme-sandstone.puml
Normal file
441
themes/puml-theme-sandstone.puml
Normal file
@ -0,0 +1,441 @@
|
|||||||
|
''
|
||||||
|
'' superhero theme based off of the bootstrap theme of the same name
|
||||||
|
'' https://bootswatch.com/sandstone/
|
||||||
|
''
|
||||||
|
'' Author: Brett Schwarz
|
||||||
|
'' Copyright (c) 2020 by Brett Schwarz
|
||||||
|
|
||||||
|
!$THEME = "sandstone"
|
||||||
|
|
||||||
|
!if %not(%variable_exists("$BGCOLOR"))
|
||||||
|
!$BGCOLOR = "transparent"
|
||||||
|
!endif
|
||||||
|
|
||||||
|
skinparam backgroundColor $BGCOLOR
|
||||||
|
skinparam useBetaStyle false
|
||||||
|
|
||||||
|
''
|
||||||
|
'' Colors taken from the css file of the BS theme
|
||||||
|
''
|
||||||
|
!$BLUE = "#325d88"
|
||||||
|
!$INDIGO = "#6610f2"
|
||||||
|
!$PURPLE = "#6f42c1"
|
||||||
|
!$PINK = "#e83e8c"
|
||||||
|
!$RED = "#d9534f"
|
||||||
|
!$ORANGE = "#f47c3c"
|
||||||
|
!$YELLOW = "#ffc107"
|
||||||
|
!$GREEN = "#93c54b"
|
||||||
|
!$TEAL = "#20c997"
|
||||||
|
!$CYAN = "#29abe0"
|
||||||
|
!$WHITE = "#fff"
|
||||||
|
!$GRAY = "#8e8c84"
|
||||||
|
!$GRAYDARK = "#3e3f3a"
|
||||||
|
!$PRIMARY = "#325d88"
|
||||||
|
!$SECONDARY = "#8e8c84"
|
||||||
|
!$SUCCESS = "#93c54b"
|
||||||
|
!$INFO = "#29abe0"
|
||||||
|
!$WARNING = "#f47c3c"
|
||||||
|
!$DANGER = "#d9534f"
|
||||||
|
!$LIGHT = "#f8f5f0"
|
||||||
|
!$DARK = "#3e3f3a"
|
||||||
|
|
||||||
|
'' *_DARK = tint (lighter) of the main color of 80%
|
||||||
|
'' where TINT is calculated by clr + (255-clr) * tint_factor
|
||||||
|
'' *_LIGHT = shade (darker) of the main color of 80%
|
||||||
|
'' and SHADE is calculated by clr * (1 - shade_factor)
|
||||||
|
''
|
||||||
|
!$FGCOLOR = $WHITE
|
||||||
|
!$PRIMARY_DARK = "#2d547a"
|
||||||
|
!$PRIMARY_LIGHT = "#476d94"
|
||||||
|
!$PRIMARY_TEXT = $WHITE
|
||||||
|
!$SECONDARY_DARK = "#807e77"
|
||||||
|
!$SECONDARY_LIGHT = "#999890"
|
||||||
|
!$SECONDARY_TEXT = $WHITE
|
||||||
|
!$INFO_DARK = "#259aca"
|
||||||
|
!$INFO_LIGHT = "#3eb3e3"
|
||||||
|
!$INFO_TEXT = $WHITE
|
||||||
|
!$SUCCESS_DARK = "#84b144"
|
||||||
|
!$SUCCESS_LIGHT = "#9ecb5d"
|
||||||
|
!$SUCCESS_TEXT = $WHITE
|
||||||
|
!$WARNING_DARK = "#dc7036"
|
||||||
|
!$WARNING_LIGHT = "#f58950"
|
||||||
|
!$WARNING_TEXT = $WHITE
|
||||||
|
!$DANGER_DARK = "#c34b47"
|
||||||
|
!$DANGER_LIGHT = "#AE423F"
|
||||||
|
!$DANGER_TEXT = $WHITE
|
||||||
|
!$DARK_DARK = "#383934"
|
||||||
|
!$DARK_LIGHT = "#51524e"
|
||||||
|
!$LIGHT_DARK = "#dfddd8"
|
||||||
|
!$LIGHT_LIGHT = "#f9f6f2"
|
||||||
|
|
||||||
|
!procedure $success($msg)
|
||||||
|
<font color=$SUCCESS><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $failure($msg)
|
||||||
|
<font color=$DANGER><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $warning($msg)
|
||||||
|
<font color=$WARNING><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $primary_scheme()
|
||||||
|
FontColor $PRIMARY_TEXT
|
||||||
|
BorderColor $PRIMARY_DARK
|
||||||
|
BackgroundColor $PRIMARY
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
''
|
||||||
|
'' Global Default Values
|
||||||
|
''
|
||||||
|
skinparam defaultFontName "Verdana"
|
||||||
|
skinparam defaultFontSize 12
|
||||||
|
skinparam dpi 100
|
||||||
|
skinparam shadowing false
|
||||||
|
skinparam roundcorner 8
|
||||||
|
skinparam ParticipantPadding 40
|
||||||
|
skinparam BoxPadding 40
|
||||||
|
skinparam Padding 5
|
||||||
|
skinparam ArrowColor $DARK
|
||||||
|
skinparam stereotype {
|
||||||
|
CBackgroundColor $SECONDARY_LIGHT
|
||||||
|
CBorderColor $SECONDARY_DARK
|
||||||
|
ABackgroundColor $SUCCESS_LIGHT
|
||||||
|
ABorderColor $SUCCESS_DARK
|
||||||
|
IBackgroundColor $DANGER_LIGHT
|
||||||
|
IBorderColor $DANGER_DARK
|
||||||
|
EBackgroundColor $WARNING_LIGHT
|
||||||
|
EBorderColor $WARNING_DARK
|
||||||
|
NBackgroundColor $INFO_LIGHT
|
||||||
|
NBorderColor $INFO_DARK
|
||||||
|
}
|
||||||
|
skinparam title {
|
||||||
|
FontColor $PRIMARY
|
||||||
|
BorderColor $SECONDARY_DARK
|
||||||
|
FontSize 20
|
||||||
|
BorderRoundCorner 8
|
||||||
|
BorderThickness 1
|
||||||
|
BackgroundColor $SECONDARY_LIGHT-$SECONDARY
|
||||||
|
}
|
||||||
|
|
||||||
|
skinparam legend {
|
||||||
|
BackgroundColor $SECONDARY
|
||||||
|
BorderColor $SECONDARY_DARK
|
||||||
|
FontColor $LIGHT
|
||||||
|
}
|
||||||
|
|
||||||
|
!startsub swimlane
|
||||||
|
skinparam swimlane {
|
||||||
|
BorderColor $INFO
|
||||||
|
BorderThickness 2
|
||||||
|
TitleBackgroundColor $SECONDARY_LIGHT-$SECONDARY
|
||||||
|
TitleFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub activity
|
||||||
|
|
||||||
|
skinparam activity {
|
||||||
|
$primary_scheme()
|
||||||
|
BarColor $SUCCESS
|
||||||
|
StartColor $INFO
|
||||||
|
EndColor $INFO
|
||||||
|
''
|
||||||
|
DiamondBackgroundColor $SECONDARY_LIGHT
|
||||||
|
DiamondBorderColor $SECONDARY_DARK
|
||||||
|
DiamondFontColor $SECONDARY_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub participant
|
||||||
|
|
||||||
|
skinparam participant {
|
||||||
|
$primary_scheme()
|
||||||
|
ParticipantBorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub actor
|
||||||
|
|
||||||
|
skinparam actor {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub arrow
|
||||||
|
|
||||||
|
skinparam arrow {
|
||||||
|
Thickness 3
|
||||||
|
Color $PRIMARY
|
||||||
|
FontColor $FGCOLOR
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub sequence
|
||||||
|
|
||||||
|
skinparam sequence {
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
' For some reason sequence title font color does not pick up from global
|
||||||
|
TitleFontColor $PRIMARY
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
StartColor $PRIMARY
|
||||||
|
EndColor $PRIMARY
|
||||||
|
''
|
||||||
|
BoxBackgroundColor $BGCOLOR
|
||||||
|
BoxBorderColor $DARK
|
||||||
|
BoxFontColor $DARk
|
||||||
|
''
|
||||||
|
LifeLineBorderColor $SECONDARY
|
||||||
|
LifeLineBorderThickness 2
|
||||||
|
LifeLineBackgroundColor $SECONDARY_DARK
|
||||||
|
''
|
||||||
|
GroupBorderColor $DARK
|
||||||
|
GroupFontColor $DARK
|
||||||
|
GroupHeaderFontColor $INFO
|
||||||
|
GroupBackgroundColor $SECONDARY
|
||||||
|
GroupHeaderBackgroundColor $BGCOLOR
|
||||||
|
''
|
||||||
|
DividerBackgroundColor $DARK
|
||||||
|
DividerBorderColor $DARK
|
||||||
|
DividerBorderThickness 2
|
||||||
|
DividerFontColor $LIGHT
|
||||||
|
''
|
||||||
|
ReferenceBackgroundColor $BGCOLOR
|
||||||
|
ReferenceBorderColor $DARK
|
||||||
|
ReferenceFontColor $DARK
|
||||||
|
ReferenceHeaderFontColor $INFO
|
||||||
|
ReferenceHeaderBackgroundColor $SECONDARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub partition
|
||||||
|
|
||||||
|
skinparam partition {
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
FontColor $PRIMARY
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub collections
|
||||||
|
|
||||||
|
skinparam collections {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub control
|
||||||
|
|
||||||
|
skinparam control {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub entity
|
||||||
|
|
||||||
|
skinparam entity {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub boundary
|
||||||
|
|
||||||
|
skinparam boundary {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub agent
|
||||||
|
|
||||||
|
skinparam agent {
|
||||||
|
BackgroundColor $WARNING
|
||||||
|
BorderColor $WARNING_LIGHT
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub note
|
||||||
|
|
||||||
|
skinparam note {
|
||||||
|
BorderThickness 1
|
||||||
|
BackgroundColor $INFO
|
||||||
|
BorderColor $INFO_DARK
|
||||||
|
FontColor $WHITE
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub artifact
|
||||||
|
|
||||||
|
skinparam artifact {
|
||||||
|
BackgroundColor $DARK
|
||||||
|
BorderColor $DARK_DARK
|
||||||
|
FontColor $LIGHT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub component
|
||||||
|
|
||||||
|
skinparam component {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub interface
|
||||||
|
|
||||||
|
skinparam interface {
|
||||||
|
BackgroundColor $DANGER_DARK
|
||||||
|
BorderColor $DANGER
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub storage
|
||||||
|
|
||||||
|
skinparam storage {
|
||||||
|
BackgroundColor $WARNING
|
||||||
|
BorderColor $WARNING_DARK
|
||||||
|
FontColor $WARNING_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub node
|
||||||
|
|
||||||
|
skinparam node {
|
||||||
|
BackgroundColor $SECONDARY
|
||||||
|
BorderColor $LIGHT
|
||||||
|
FontColor $LIGHT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub cloud
|
||||||
|
|
||||||
|
skinparam cloud {
|
||||||
|
BackgroundColor #F2FCFE-#eeeeee
|
||||||
|
BorderColor #F2FCFE
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub database
|
||||||
|
|
||||||
|
skinparam database {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub class
|
||||||
|
|
||||||
|
skinparam class {
|
||||||
|
$primary_scheme()
|
||||||
|
HeaderBackgroundColor $PRIMARY_LIGHT
|
||||||
|
StereotypeFontColor $DARK
|
||||||
|
BorderThickness 1
|
||||||
|
AttributeFontColor $PRIMARY_TEXT
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub object
|
||||||
|
|
||||||
|
skinparam object {
|
||||||
|
$primary_scheme()
|
||||||
|
StereotypeFontColor $DARK
|
||||||
|
BorderThickness 1
|
||||||
|
AttributeFontColor $SECONDARY_TEXT
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub usecase
|
||||||
|
|
||||||
|
skinparam usecase {
|
||||||
|
$primary_scheme()
|
||||||
|
BorderThickness 2
|
||||||
|
StereotypeFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub rectangle
|
||||||
|
|
||||||
|
skinparam rectangle {
|
||||||
|
$primary_scheme()
|
||||||
|
BackgroundColor $SECONDARY_LIGHT
|
||||||
|
BorderThickness 2
|
||||||
|
StereotypeFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub package
|
||||||
|
|
||||||
|
skinparam package {
|
||||||
|
BackgroundColor $SECONDARY
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
FontColor $PRIMARY
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub folder
|
||||||
|
|
||||||
|
skinparam folder {
|
||||||
|
BackgroundColor $SECONDARY_LIGHT
|
||||||
|
BorderColor $WARNING
|
||||||
|
FontColor $WARNING
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub frame
|
||||||
|
|
||||||
|
skinparam frame {
|
||||||
|
BackgroundColor $SECONDARY_LIGHT
|
||||||
|
BorderColor $INFO
|
||||||
|
FontColor $INFO
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub state
|
||||||
|
|
||||||
|
skinparam state {
|
||||||
|
$primary_scheme()
|
||||||
|
BackgroundColor $PRIMARY_LIGHT
|
||||||
|
StartColor $INFO
|
||||||
|
EndColor $INFO
|
||||||
|
AttributeFontColor $SECONDARY_TEXT
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub queue
|
||||||
|
|
||||||
|
skinparam queue {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub card
|
||||||
|
|
||||||
|
skinparam card {
|
||||||
|
BackgroundColor $INFO
|
||||||
|
BorderColor $INFO_DARK
|
||||||
|
FontColor $INFO_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub file
|
||||||
|
|
||||||
|
skinparam file {
|
||||||
|
BackgroundColor $SECONDARY_DARK
|
||||||
|
BorderColor $LIGHT
|
||||||
|
FontColor $LIGHT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub stack
|
||||||
|
|
||||||
|
skinparam stack {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
452
themes/puml-theme-silver.puml
Normal file
452
themes/puml-theme-silver.puml
Normal file
@ -0,0 +1,452 @@
|
|||||||
|
''
|
||||||
|
'' Silver theme - mostly grays
|
||||||
|
''
|
||||||
|
'' Author: Brett Schwarz
|
||||||
|
'' Copyright (c) 2019 by Brett Schwarz
|
||||||
|
|
||||||
|
!$THEME = "silver"
|
||||||
|
|
||||||
|
!if %not(%variable_exists("$BGCOLOR"))
|
||||||
|
!$BGCOLOR = "transparent"
|
||||||
|
!endif
|
||||||
|
|
||||||
|
skinparam backgroundColor $BGCOLOR
|
||||||
|
skinparam useBetaStyle false
|
||||||
|
|
||||||
|
!$WHITE = "#FFF"
|
||||||
|
!$GRAY_DARK = "#4d4d4d"
|
||||||
|
!$GRAY = "#737373"
|
||||||
|
!$LIGHT = "#ffffff"
|
||||||
|
!$DARK = "#303030"
|
||||||
|
|
||||||
|
'' *_LIGHT = tint (lighter) of the main color of 80%
|
||||||
|
'' where TINT is calculated by clr + (255-clr) * tint_factor
|
||||||
|
'' *_DARK = shade (darker) of the main color of 80%
|
||||||
|
'' and SHADE is calculated by clr * (1 - shade_factor)
|
||||||
|
''
|
||||||
|
!$FGCOLOR = $DARK
|
||||||
|
!$PRIMARY = "#eeeeee"
|
||||||
|
!$PRIMARY_LIGHT = "#f1f1f1"
|
||||||
|
!$PRIMARY_DARK = "#bebebe"
|
||||||
|
!$PRIMARY_TEXT = "#336699"
|
||||||
|
!$SECONDARY = "#d6d6d6"
|
||||||
|
!$SECONDARY_LIGHT = "#dedede"
|
||||||
|
!$SECONDARY_DARK = "#ababab"
|
||||||
|
!$SECONDARY_TEXT = $LIGHT
|
||||||
|
!$INFO = "#336699"
|
||||||
|
!$INFO_LIGHT = "#5c85ad"
|
||||||
|
!$INFO_DARK = "#29527a"
|
||||||
|
!$INFO_TEXT = $WHITE
|
||||||
|
!$SUCCESS = "#339933"
|
||||||
|
!$SUCCESS_LIGHT = "#5cad5c"
|
||||||
|
!$SUCCESS_DARK = "#297a29"
|
||||||
|
!$SUCCESS_TEXT = $WHITE
|
||||||
|
!$WARNING = "#ffae42"
|
||||||
|
!$WARNING_LIGHT = "#ffbe68"
|
||||||
|
!$WARNING_DARK = "#cc8b35"
|
||||||
|
!$WARNING_TEXT = $WHITE
|
||||||
|
!$DANGER = "#ff3333"
|
||||||
|
!$DANGER_LIGHT = "#ff5c5c"
|
||||||
|
!$DANGER_DARK = "#cc2929"
|
||||||
|
!$DANGER_TEXT = $WHITE
|
||||||
|
|
||||||
|
!procedure $success($msg)
|
||||||
|
<font color=$SUCCESS><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $failure($msg)
|
||||||
|
<font color=$DANGER><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $warning($msg)
|
||||||
|
<font color=$WARNING><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $primary_scheme()
|
||||||
|
FontColor $PRIMARY_TEXT
|
||||||
|
BorderColor $PRIMARY_LIGHT
|
||||||
|
BackgroundColor $PRIMARY-$PRIMARY_DARK
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
''
|
||||||
|
'' Global Default Values
|
||||||
|
''
|
||||||
|
skinparam defaultFontName "Verdana"
|
||||||
|
skinparam defaultFontSize 12
|
||||||
|
skinparam dpi 100
|
||||||
|
skinparam shadowing false
|
||||||
|
skinparam roundcorner 15
|
||||||
|
skinparam ParticipantPadding 30
|
||||||
|
skinparam BoxPadding 30
|
||||||
|
skinparam Padding 8
|
||||||
|
skinparam ArrowColor $GRAY
|
||||||
|
skinparam stereotype {
|
||||||
|
CBackgroundColor $SECONDARY_LIGHT
|
||||||
|
CBorderColor $SECONDARY_DARK
|
||||||
|
ABackgroundColor $SUCCESS_LIGHT
|
||||||
|
ABorderColor $SUCCESS_DARK
|
||||||
|
IBackgroundColor $DANGER_LIGHT
|
||||||
|
IBorderColor $DANGER_DARK
|
||||||
|
EBackgroundColor $WARNING_LIGHT
|
||||||
|
EBorderColor $WARNING_DARK
|
||||||
|
NBackgroundColor $INFO_LIGHT
|
||||||
|
NBorderColor $INFO_DARK
|
||||||
|
}
|
||||||
|
skinparam title {
|
||||||
|
FontColor $PRIMARY
|
||||||
|
BorderColor $SECONDARY_DARK
|
||||||
|
FontSize 20
|
||||||
|
BorderRoundCorner 8
|
||||||
|
BorderThickness 1
|
||||||
|
BackgroundColor $SECONDARY_LIGHT-$SECONDARY
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
skinparam legend {
|
||||||
|
BackgroundColor $SECONDARY
|
||||||
|
BorderColor $SECONDARY_DARK
|
||||||
|
FontColor $SECONDARY_TEXT
|
||||||
|
}
|
||||||
|
|
||||||
|
!startsub swimlane
|
||||||
|
skinparam swimlane {
|
||||||
|
BorderColor $INFO
|
||||||
|
BorderThickness 2
|
||||||
|
TitleBackgroundColor $SECONDARY_LIGHT-$SECONDARY
|
||||||
|
TitleFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub activity
|
||||||
|
|
||||||
|
skinparam activity {
|
||||||
|
$primary_scheme()
|
||||||
|
BarColor $SUCCESS
|
||||||
|
StartColor $INFO
|
||||||
|
EndColor $INFO
|
||||||
|
''
|
||||||
|
DiamondBackgroundColor $SECONDARY-$SECONDARY_DARK
|
||||||
|
DiamondBorderColor $SECONDARY_DARK
|
||||||
|
DiamondFontColor $SECONDARY_TEXT
|
||||||
|
}
|
||||||
|
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub participant
|
||||||
|
|
||||||
|
skinparam participant {
|
||||||
|
$primary_scheme()
|
||||||
|
ParticipantBorderThickness 2
|
||||||
|
}
|
||||||
|
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub actor
|
||||||
|
|
||||||
|
skinparam actor {
|
||||||
|
$primary_scheme()
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub arrow
|
||||||
|
|
||||||
|
skinparam arrow {
|
||||||
|
Thickness 3
|
||||||
|
Color $PRIMARY
|
||||||
|
FontColor $FGCOLOR
|
||||||
|
}
|
||||||
|
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub sequence
|
||||||
|
|
||||||
|
skinparam sequence {
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
' For some reason sequence title font color does not pick up from global
|
||||||
|
TitleFontColor $PRIMARY
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
StartColor $PRIMARY
|
||||||
|
EndColor $PRIMARY
|
||||||
|
''
|
||||||
|
BoxBackgroundColor $LIGHT
|
||||||
|
BoxBorderColor $GRAY
|
||||||
|
BoxFontColor $DARK
|
||||||
|
''
|
||||||
|
LifeLineBorderColor $SECONDARY_DARK
|
||||||
|
LifeLineBorderThickness 2
|
||||||
|
LifeLineBackgroundColor $SECONDARY_LIGHT
|
||||||
|
''
|
||||||
|
GroupBorderColor $GRAY
|
||||||
|
GroupFontColor $DARK
|
||||||
|
GroupHeaderFontColor $INFO
|
||||||
|
''
|
||||||
|
DividerBackgroundColor $WHITE-$LIGHT
|
||||||
|
DividerBorderColor $GRAY
|
||||||
|
DividerBorderThickness 2
|
||||||
|
DividerFontColor $DARK
|
||||||
|
''
|
||||||
|
ReferenceBackgroundColor $BGCOLOR
|
||||||
|
ReferenceBorderColor $GRAY
|
||||||
|
ReferenceFontColor $DARK
|
||||||
|
ReferenceHeaderFontColor $INFO
|
||||||
|
}
|
||||||
|
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub partition
|
||||||
|
|
||||||
|
skinparam partition {
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
FontColor $PRIMARY_DARK
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
}
|
||||||
|
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub collections
|
||||||
|
|
||||||
|
skinparam collections {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub control
|
||||||
|
|
||||||
|
skinparam control {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub entity
|
||||||
|
|
||||||
|
skinparam entity {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub boundary
|
||||||
|
|
||||||
|
skinparam boundary {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub agent
|
||||||
|
|
||||||
|
skinparam agent {
|
||||||
|
BackgroundColor #orange
|
||||||
|
BorderColor #999999
|
||||||
|
FontColor #333333
|
||||||
|
}
|
||||||
|
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub note
|
||||||
|
|
||||||
|
skinparam note {
|
||||||
|
BorderThickness 1
|
||||||
|
BackgroundColor $INFO_LIGHT-$INFO
|
||||||
|
BorderColor $INFO
|
||||||
|
FontColor $WHITE
|
||||||
|
}
|
||||||
|
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub artifact
|
||||||
|
|
||||||
|
skinparam artifact {
|
||||||
|
BackgroundColor $SECONDARY_LIGHT-$SECONDARY_DARK
|
||||||
|
BorderColor $SECONDARY_DARK
|
||||||
|
FontColor $SECONDARY_TEXT
|
||||||
|
}
|
||||||
|
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub component
|
||||||
|
|
||||||
|
skinparam component {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub interface
|
||||||
|
|
||||||
|
skinparam interface {
|
||||||
|
BackgroundColor $DANGER_LIGHT
|
||||||
|
BorderColor $DANGER
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub storage
|
||||||
|
|
||||||
|
skinparam storage {
|
||||||
|
BackgroundColor $WARNING_LIGHT-$WARNING
|
||||||
|
BorderColor $WARNING
|
||||||
|
FontColor $WARNING_TEXT
|
||||||
|
}
|
||||||
|
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub node
|
||||||
|
|
||||||
|
skinparam node {
|
||||||
|
BackgroundColor $PRIMARY_LIGHT-$PRIMARY_DARK
|
||||||
|
BorderColor $PRIMARY_LIGHT
|
||||||
|
FontColor $PRIMARY_TEXT
|
||||||
|
}
|
||||||
|
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub cloud
|
||||||
|
|
||||||
|
skinparam cloud {
|
||||||
|
BackgroundColor #F2FCFE-#eeeeee
|
||||||
|
BorderColor #F2FCFE
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub database
|
||||||
|
|
||||||
|
skinparam database {
|
||||||
|
$primary_scheme()
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub class
|
||||||
|
|
||||||
|
skinparam class {
|
||||||
|
$primary_scheme()
|
||||||
|
HeaderBackgroundColor $PRIMARY_LIGHT-$PRIMARY_DARK
|
||||||
|
StereotypeFontColor $DARK
|
||||||
|
BorderThickness 1
|
||||||
|
AttributeFontColor $DARK
|
||||||
|
AttributeFontSize 9
|
||||||
|
}
|
||||||
|
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub object
|
||||||
|
|
||||||
|
skinparam object {
|
||||||
|
$primary_scheme()
|
||||||
|
StereotypeFontColor $LIGHT
|
||||||
|
BorderThickness 1
|
||||||
|
AttributeFontColor $SECONDARY_TEXT
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub usecase
|
||||||
|
|
||||||
|
skinparam usecase {
|
||||||
|
$primary_scheme()
|
||||||
|
BorderThickness 2
|
||||||
|
StereotypeFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub rectangle
|
||||||
|
|
||||||
|
skinparam rectangle {
|
||||||
|
$primary_scheme()
|
||||||
|
BackgroundColor $PRIMARY_LIGHT
|
||||||
|
BorderThickness 2
|
||||||
|
StereotypeFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub package
|
||||||
|
|
||||||
|
skinparam package {
|
||||||
|
$primary_scheme()
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub folder
|
||||||
|
|
||||||
|
skinparam folder {
|
||||||
|
BackgroundColor $PRIMARY-$PRIMARY_DARK
|
||||||
|
BorderColor $WARNING
|
||||||
|
FontColor $WARNING
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub frame
|
||||||
|
|
||||||
|
skinparam frame {
|
||||||
|
BackgroundColor $PRIMARY-$PRIMARY_DARK
|
||||||
|
BorderColor $INFO
|
||||||
|
FontColor $INFO
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub state
|
||||||
|
|
||||||
|
skinparam state {
|
||||||
|
$primary_scheme()
|
||||||
|
StartColor $INFO
|
||||||
|
EndColor $INFO
|
||||||
|
AttributeFontColor $SECONDARY_TEXT
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub queue
|
||||||
|
|
||||||
|
skinparam queue {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub card
|
||||||
|
|
||||||
|
skinparam card {
|
||||||
|
BackgroundColor $INFO_LIGHT-$INFO
|
||||||
|
BorderColor $INFO
|
||||||
|
FontColor $INFO_TEXT
|
||||||
|
}
|
||||||
|
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub file
|
||||||
|
|
||||||
|
skinparam file {
|
||||||
|
BackgroundColor $SECONDARY_LIGHT-$SECONDARY
|
||||||
|
BorderColor $LIGHT
|
||||||
|
FontColor $LIGHT
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub stack
|
||||||
|
|
||||||
|
skinparam stack {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
|
||||||
|
!endsub
|
441
themes/puml-theme-sketchy-outline.puml
Normal file
441
themes/puml-theme-sketchy-outline.puml
Normal file
@ -0,0 +1,441 @@
|
|||||||
|
''
|
||||||
|
'' sketchy-outline theme based off of the bootstrap theme of the same name
|
||||||
|
'' https://bootswatch.com/sketchy/
|
||||||
|
''
|
||||||
|
'' Author = "Brett Schwarz
|
||||||
|
'' Copyright (c) 2020 by Brett Schwarz
|
||||||
|
|
||||||
|
!$THEME = "sketchy-outline"
|
||||||
|
|
||||||
|
!if %not(%variable_exists("$BGCOLOR"))
|
||||||
|
!$BGCOLOR = "transparent"
|
||||||
|
!endif
|
||||||
|
|
||||||
|
skinparam backgroundColor $BGCOLOR
|
||||||
|
skinparam useBetaStyle false
|
||||||
|
skinparam handwritten true
|
||||||
|
skinparam shadowing false
|
||||||
|
|
||||||
|
''
|
||||||
|
'' Colors taken from the css file of the BS theme
|
||||||
|
''
|
||||||
|
!$BLUE = "#007bff"
|
||||||
|
!$INDIGO = "#6610f2"
|
||||||
|
!$PURPLE = "#6f42c1"
|
||||||
|
!$PINK = "#e83e8c"
|
||||||
|
!$RED = "#dc3545"
|
||||||
|
!$ORANGE = "#fd7e14"
|
||||||
|
!$YELLOW = "#ffc107"
|
||||||
|
!$GREEN = "#28a745"
|
||||||
|
!$TEAL = "#20c997"
|
||||||
|
!$CYAN = "#17a2b8"
|
||||||
|
!$WHITE = "#ffffff"
|
||||||
|
!$GRAY = "#868e96"
|
||||||
|
!$GRAYDARK = "#333333"
|
||||||
|
!$PRIMARY = "#333333"
|
||||||
|
!$SECONDARY = "#555555"
|
||||||
|
!$SUCCESS = "#28a745"
|
||||||
|
!$INFO = "#17a2b8"
|
||||||
|
!$WARNING = "#ffc107"
|
||||||
|
!$DANGER = "#dc3545"
|
||||||
|
!$LIGHT = "#ffffff"
|
||||||
|
!$DARK = "#555555"
|
||||||
|
|
||||||
|
'' *_DARK = tint (lighter) of the main color of 80%
|
||||||
|
'' where TINT is calculated by clr + (255-clr) * tint_factor
|
||||||
|
'' *_LIGHT = shade (darker) of the main color of 80%
|
||||||
|
'' and SHADE is calculated by clr * (1 - shade_factor)
|
||||||
|
''
|
||||||
|
!$FGCOLOR = $WHITE
|
||||||
|
!$PRIMARY_DARK = "#2e2e2e"
|
||||||
|
!$PRIMARY_LIGHT = "#474747"
|
||||||
|
!$PRIMARY_TEXT = "#2e2e2e"
|
||||||
|
!$SECONDARY_DARK = "#4d4d4d"
|
||||||
|
!$SECONDARY_LIGHT = "#666666"
|
||||||
|
!$SECONDARY_TEXT = $WHITE
|
||||||
|
!$INFO_DARK = "#1592a6"
|
||||||
|
!$INFO_LIGHT = "#2eabbf"
|
||||||
|
!$INFO_TEXT = $WHITE
|
||||||
|
!$SUCCESS_DARK = "#24963e"
|
||||||
|
!$SUCCESS_LIGHT = "#3eb058"
|
||||||
|
!$SUCCESS_TEXT = $WHITE
|
||||||
|
!$WARNING_DARK = "#e6ae06"
|
||||||
|
!$WARNING_LIGHT = "#ffc720"
|
||||||
|
!$WARNING_TEXT = $WHITE
|
||||||
|
!$DANGER_DARK = "#c6303e"
|
||||||
|
!$DANGER_LIGHT = "#e04958"
|
||||||
|
!$DANGER_TEXT = $WHITE
|
||||||
|
!$DARK_DARK = "#4d4d4d"
|
||||||
|
!$DARK_LIGHT = "#666666"
|
||||||
|
!$LIGHT_DARK = "#e6e6e6"
|
||||||
|
!$LIGHT_LIGHT = "#ffffff"
|
||||||
|
|
||||||
|
!procedure $success($msg)
|
||||||
|
<font color=$SUCCESS><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $failure($msg)
|
||||||
|
<font color=$DANGER><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $warning($msg)
|
||||||
|
<font color=$WARNING><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $primary_scheme()
|
||||||
|
FontColor $PRIMARY_TEXT
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
''
|
||||||
|
'' Global Default Values
|
||||||
|
''
|
||||||
|
skinparam defaultFontName "Segoe Print"
|
||||||
|
skinparam defaultFontSize 12
|
||||||
|
skinparam dpi 100
|
||||||
|
skinparam shadowing false
|
||||||
|
skinparam roundcorner 8
|
||||||
|
skinparam ParticipantPadding 40
|
||||||
|
skinparam BoxPadding 40
|
||||||
|
skinparam Padding 5
|
||||||
|
skinparam ArrowColor $DARK
|
||||||
|
skinparam stereotype {
|
||||||
|
CBackgroundColor $BGCOLOR
|
||||||
|
CBorderColor $SECONDARY_DARK
|
||||||
|
ABackgroundColor $BGCOLOR
|
||||||
|
ABorderColor $SUCCESS_DARK
|
||||||
|
IBackgroundColor $BGCOLOR
|
||||||
|
IBorderColor $DANGER_DARK
|
||||||
|
EBackgroundColor $BGCOLOR
|
||||||
|
EBorderColor $WARNING_DARK
|
||||||
|
NBackgroundColor $BGCOLOR
|
||||||
|
NBorderColor $INFO_DARK
|
||||||
|
}
|
||||||
|
skinparam title {
|
||||||
|
FontColor $PRIMARY_TEXT
|
||||||
|
BorderColor $SECONDARY_DARK
|
||||||
|
FontSize 20
|
||||||
|
BorderRoundCorner 8
|
||||||
|
BorderThickness 1
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
}
|
||||||
|
|
||||||
|
skinparam legend {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $SECONDARY_DARK
|
||||||
|
FontColor $PRIMARY_TEXT
|
||||||
|
}
|
||||||
|
|
||||||
|
!startsub swimlane
|
||||||
|
skinparam swimlane {
|
||||||
|
BorderColor $INFO
|
||||||
|
BorderThickness 2
|
||||||
|
TitleBackgroundColor $BGCOLOR
|
||||||
|
TitleFontColor $PRIMARY_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub activity
|
||||||
|
|
||||||
|
skinparam activity {
|
||||||
|
$primary_scheme()
|
||||||
|
BarColor $SUCCESS
|
||||||
|
StartColor $INFO
|
||||||
|
EndColor $INFO
|
||||||
|
''
|
||||||
|
DiamondBackgroundColor $BGCOLOR
|
||||||
|
DiamondBorderColor $SECONDARY_DARK
|
||||||
|
DiamondFontColor $PRIMARY_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub participant
|
||||||
|
|
||||||
|
skinparam participant {
|
||||||
|
$primary_scheme()
|
||||||
|
ParticipantBorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub actor
|
||||||
|
|
||||||
|
skinparam actor {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub arrow
|
||||||
|
|
||||||
|
skinparam arrow {
|
||||||
|
Thickness 3
|
||||||
|
Color $PRIMARY
|
||||||
|
FontColor $PRIMARY_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub sequence
|
||||||
|
|
||||||
|
skinparam sequence {
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
' For some reason sequence title font color does not pick up from global
|
||||||
|
TitleFontColor $PRIMARY_TEXT
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
StartColor $PRIMARY
|
||||||
|
EndColor $PRIMARY
|
||||||
|
''
|
||||||
|
BoxBackgroundColor $BGCOLOR
|
||||||
|
BoxBorderColor $DARK
|
||||||
|
BoxFontColor $DARK
|
||||||
|
''
|
||||||
|
LifeLineBorderColor $SECONDARY
|
||||||
|
LifeLineBorderThickness 2
|
||||||
|
LifeLineBackgroundColor $SECONDARY_DARK
|
||||||
|
''
|
||||||
|
GroupBorderColor $DARK
|
||||||
|
GroupFontColor $DARK
|
||||||
|
GroupHeaderFontColor $INFO
|
||||||
|
GroupBackgroundColor $SECONDARY
|
||||||
|
GroupHeaderBackgroundColor $BGCOLOR
|
||||||
|
''
|
||||||
|
DividerBackgroundColor $DARK
|
||||||
|
DividerBorderColor $DARK
|
||||||
|
DividerBorderThickness 2
|
||||||
|
DividerFontColor $LIGHT
|
||||||
|
''
|
||||||
|
ReferenceBackgroundColor $BGCOLOR
|
||||||
|
ReferenceBorderColor $DARK
|
||||||
|
ReferenceFontColor $DARK
|
||||||
|
ReferenceHeaderFontColor $INFO
|
||||||
|
ReferenceHeaderBackgroundColor $SECONDARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub partition
|
||||||
|
|
||||||
|
skinparam partition {
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
FontColor $PRIMARY
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub collections
|
||||||
|
|
||||||
|
skinparam collections {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub control
|
||||||
|
|
||||||
|
skinparam control {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub entity
|
||||||
|
|
||||||
|
skinparam entity {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub boundary
|
||||||
|
|
||||||
|
skinparam boundary {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub agent
|
||||||
|
|
||||||
|
skinparam agent {
|
||||||
|
BackgroundColor $WARNING
|
||||||
|
BorderColor $WARNING_LIGHT
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub note
|
||||||
|
|
||||||
|
skinparam note {
|
||||||
|
BorderThickness 1
|
||||||
|
BackgroundColor $INFO
|
||||||
|
BorderColor $INFO_DARK
|
||||||
|
FontColor $WHITE
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub artifact
|
||||||
|
|
||||||
|
skinparam artifact {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $DARK_DARK
|
||||||
|
FontColor $DARK_DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub component
|
||||||
|
|
||||||
|
skinparam component {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub interface
|
||||||
|
|
||||||
|
skinparam interface {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $DANGER
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub storage
|
||||||
|
|
||||||
|
skinparam storage {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $WARNING_DARK
|
||||||
|
FontColor $WARNING_DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub node
|
||||||
|
|
||||||
|
skinparam node {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $LIGHT
|
||||||
|
FontColor $LIGHT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub cloud
|
||||||
|
|
||||||
|
skinparam cloud {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor #F2FCFE
|
||||||
|
FontColor $PRIMARY_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub database
|
||||||
|
|
||||||
|
skinparam database {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub class
|
||||||
|
|
||||||
|
skinparam class {
|
||||||
|
$primary_scheme()
|
||||||
|
HeaderBackgroundColor $BGCOLOR
|
||||||
|
StereotypeFontColor $DARK
|
||||||
|
BorderThickness 1
|
||||||
|
AttributeFontColor $DARK
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub object
|
||||||
|
|
||||||
|
skinparam object {
|
||||||
|
$primary_scheme()
|
||||||
|
StereotypeFontColor $PRIMARY_TEXT
|
||||||
|
BorderThickness 1
|
||||||
|
AttributeFontColor $PRIMARY_TEXT
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub usecase
|
||||||
|
|
||||||
|
skinparam usecase {
|
||||||
|
$primary_scheme()
|
||||||
|
BorderThickness 2
|
||||||
|
StereotypeFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub rectangle
|
||||||
|
|
||||||
|
skinparam rectangle {
|
||||||
|
$primary_scheme()
|
||||||
|
BorderThickness 2
|
||||||
|
StereotypeFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub package
|
||||||
|
|
||||||
|
skinparam package {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
FontColor $PRIMARY
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub folder
|
||||||
|
|
||||||
|
skinparam folder {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $WARNING
|
||||||
|
FontColor $WARNING
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub frame
|
||||||
|
|
||||||
|
skinparam frame {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $INFO
|
||||||
|
FontColor $INFO
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub state
|
||||||
|
|
||||||
|
skinparam state {
|
||||||
|
$primary_scheme()
|
||||||
|
StartColor $INFO
|
||||||
|
EndColor $INFO
|
||||||
|
AttributeFontColor $SECONDARY_TEXT
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub queue
|
||||||
|
|
||||||
|
skinparam queue {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub card
|
||||||
|
|
||||||
|
skinparam card {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $INFO_DARK
|
||||||
|
FontColor $INFO_DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub file
|
||||||
|
|
||||||
|
skinparam file {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $LIGHT
|
||||||
|
FontColor $LIGHT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub stack
|
||||||
|
|
||||||
|
skinparam stack {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
443
themes/puml-theme-sketchy.puml
Normal file
443
themes/puml-theme-sketchy.puml
Normal file
@ -0,0 +1,443 @@
|
|||||||
|
''
|
||||||
|
'' superhero theme based off of the bootstrap theme of the same name
|
||||||
|
'' https://bootswatch.com/sketchy/
|
||||||
|
''
|
||||||
|
'' Author = "Brett Schwarz
|
||||||
|
'' Copyright (c) 2020 by Brett Schwarz
|
||||||
|
|
||||||
|
!$THEME = "sketchy"
|
||||||
|
|
||||||
|
!if %not(%variable_exists("$BGCOLOR"))
|
||||||
|
!$BGCOLOR = "transparent"
|
||||||
|
!endif
|
||||||
|
|
||||||
|
skinparam backgroundColor $BGCOLOR
|
||||||
|
skinparam useBetaStyle false
|
||||||
|
skinparam handwritten true
|
||||||
|
skinparam shadowing false
|
||||||
|
|
||||||
|
''
|
||||||
|
'' Colors taken from the css file of the BS theme
|
||||||
|
''
|
||||||
|
!$BLUE = "#007bff"
|
||||||
|
!$INDIGO = "#6610f2"
|
||||||
|
!$PURPLE = "#6f42c1"
|
||||||
|
!$PINK = "#e83e8c"
|
||||||
|
!$RED = "#dc3545"
|
||||||
|
!$ORANGE = "#fd7e14"
|
||||||
|
!$YELLOW = "#ffc107"
|
||||||
|
!$GREEN = "#28a745"
|
||||||
|
!$TEAL = "#20c997"
|
||||||
|
!$CYAN = "#17a2b8"
|
||||||
|
!$WHITE = "#ffffff"
|
||||||
|
!$GRAY = "#868e96"
|
||||||
|
!$GRAYDARK = "#333333"
|
||||||
|
!$PRIMARY = "#333333"
|
||||||
|
!$SECONDARY = "#555555"
|
||||||
|
!$SUCCESS = "#28a745"
|
||||||
|
!$INFO = "#17a2b8"
|
||||||
|
!$WARNING = "#ffc107"
|
||||||
|
!$DANGER = "#dc3545"
|
||||||
|
!$LIGHT = "#ffffff"
|
||||||
|
!$DARK = "#555555"
|
||||||
|
|
||||||
|
'' *_DARK = tint (lighter) of the main color of 80%
|
||||||
|
'' where TINT is calculated by clr + (255-clr) * tint_factor
|
||||||
|
'' *_LIGHT = shade (darker) of the main color of 80%
|
||||||
|
'' and SHADE is calculated by clr * (1 - shade_factor)
|
||||||
|
''
|
||||||
|
!$FGCOLOR = $WHITE
|
||||||
|
!$PRIMARY_DARK = "#2e2e2e"
|
||||||
|
!$PRIMARY_LIGHT = "#474747"
|
||||||
|
!$PRIMARY_TEXT = $WHITE
|
||||||
|
!$SECONDARY_DARK = "#4d4d4d"
|
||||||
|
!$SECONDARY_LIGHT = "#666666"
|
||||||
|
!$SECONDARY_TEXT = $WHITE
|
||||||
|
!$INFO_DARK = "#1592a6"
|
||||||
|
!$INFO_LIGHT = "#2eabbf"
|
||||||
|
!$INFO_TEXT = $WHITE
|
||||||
|
!$SUCCESS_DARK = "#24963e"
|
||||||
|
!$SUCCESS_LIGHT = "#3eb058"
|
||||||
|
!$SUCCESS_TEXT = $WHITE
|
||||||
|
!$WARNING_DARK = "#e6ae06"
|
||||||
|
!$WARNING_LIGHT = "#ffc720"
|
||||||
|
!$WARNING_TEXT = $WHITE
|
||||||
|
!$DANGER_DARK = "#c6303e"
|
||||||
|
!$DANGER_LIGHT = "#e04958"
|
||||||
|
!$DANGER_TEXT = $WHITE
|
||||||
|
!$DARK_DARK = "#4d4d4d"
|
||||||
|
!$DARK_LIGHT = "#666666"
|
||||||
|
!$LIGHT_DARK = "#e6e6e6"
|
||||||
|
!$LIGHT_LIGHT = "#ffffff"
|
||||||
|
|
||||||
|
!procedure $success($msg)
|
||||||
|
<font color=$SUCCESS><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $failure($msg)
|
||||||
|
<font color=$DANGER><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $warning($msg)
|
||||||
|
<font color=$WARNING><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $primary_scheme()
|
||||||
|
FontColor $PRIMARY_TEXT
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
BackgroundColor $PRIMARY_LIGHT
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
''
|
||||||
|
'' Global Default Values
|
||||||
|
''
|
||||||
|
skinparam defaultFontName "Segoe Print"
|
||||||
|
skinparam defaultFontSize 12
|
||||||
|
skinparam dpi 100
|
||||||
|
skinparam shadowing false
|
||||||
|
skinparam roundcorner 8
|
||||||
|
skinparam ParticipantPadding 40
|
||||||
|
skinparam BoxPadding 40
|
||||||
|
skinparam Padding 5
|
||||||
|
skinparam ArrowColor $DARK
|
||||||
|
skinparam stereotype {
|
||||||
|
CBackgroundColor $SECONDARY_LIGHT
|
||||||
|
CBorderColor $SECONDARY_DARK
|
||||||
|
ABackgroundColor $SUCCESS_LIGHT
|
||||||
|
ABorderColor $SUCCESS_DARK
|
||||||
|
IBackgroundColor $DANGER_LIGHT
|
||||||
|
IBorderColor $DANGER_DARK
|
||||||
|
EBackgroundColor $WARNING_LIGHT
|
||||||
|
EBorderColor $WARNING_DARK
|
||||||
|
NBackgroundColor $INFO_LIGHT
|
||||||
|
NBorderColor $INFO_DARK
|
||||||
|
}
|
||||||
|
skinparam title {
|
||||||
|
FontColor $FGCOLOR
|
||||||
|
BorderColor $SECONDARY_DARK
|
||||||
|
FontSize 20
|
||||||
|
BorderRoundCorner 8
|
||||||
|
BorderThickness 1
|
||||||
|
BackgroundColor $SECONDARY_LIGHT-$SECONDARY
|
||||||
|
}
|
||||||
|
|
||||||
|
skinparam legend {
|
||||||
|
BackgroundColor $SECONDARY
|
||||||
|
BorderColor $SECONDARY_DARK
|
||||||
|
FontColor $LIGHT
|
||||||
|
}
|
||||||
|
|
||||||
|
!startsub swimlane
|
||||||
|
skinparam swimlane {
|
||||||
|
BorderColor $INFO
|
||||||
|
BorderThickness 2
|
||||||
|
TitleBackgroundColor $SECONDARY_LIGHT-$SECONDARY
|
||||||
|
TitleFontColor $FGCOLOR
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub activity
|
||||||
|
|
||||||
|
skinparam activity {
|
||||||
|
$primary_scheme()
|
||||||
|
BarColor $SUCCESS
|
||||||
|
StartColor $INFO
|
||||||
|
EndColor $INFO
|
||||||
|
''
|
||||||
|
DiamondBackgroundColor $SECONDARY_LIGHT
|
||||||
|
DiamondBorderColor $SECONDARY_DARK
|
||||||
|
DiamondFontColor $SECONDARY_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub participant
|
||||||
|
|
||||||
|
skinparam participant {
|
||||||
|
$primary_scheme()
|
||||||
|
ParticipantBorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub actor
|
||||||
|
|
||||||
|
skinparam actor {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub arrow
|
||||||
|
|
||||||
|
skinparam arrow {
|
||||||
|
Thickness 3
|
||||||
|
Color $PRIMARY
|
||||||
|
FontColor $FGCOLOR
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub sequence
|
||||||
|
|
||||||
|
skinparam sequence {
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
' For some reason sequence title font color does not pick up from global
|
||||||
|
TitleFontColor $PRIMARY
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
StartColor $PRIMARY
|
||||||
|
EndColor $PRIMARY
|
||||||
|
''
|
||||||
|
BoxBackgroundColor $BGCOLOR
|
||||||
|
BoxBorderColor $DARK
|
||||||
|
BoxFontColor $DARk
|
||||||
|
''
|
||||||
|
LifeLineBorderColor $SECONDARY
|
||||||
|
LifeLineBorderThickness 2
|
||||||
|
LifeLineBackgroundColor $SECONDARY_DARK
|
||||||
|
''
|
||||||
|
GroupBorderColor $DARK
|
||||||
|
GroupFontColor $DARK
|
||||||
|
GroupHeaderFontColor $INFO
|
||||||
|
GroupBackgroundColor $SECONDARY
|
||||||
|
GroupHeaderBackgroundColor $BGCOLOR
|
||||||
|
''
|
||||||
|
DividerBackgroundColor $DARK
|
||||||
|
DividerBorderColor $DARK
|
||||||
|
DividerBorderThickness 2
|
||||||
|
DividerFontColor $LIGHT
|
||||||
|
''
|
||||||
|
ReferenceBackgroundColor $BGCOLOR
|
||||||
|
ReferenceBorderColor $DARK
|
||||||
|
ReferenceFontColor $DARK
|
||||||
|
ReferenceHeaderFontColor $INFO
|
||||||
|
ReferenceHeaderBackgroundColor $SECONDARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub partition
|
||||||
|
|
||||||
|
skinparam partition {
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
FontColor $PRIMARY
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub collections
|
||||||
|
|
||||||
|
skinparam collections {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub control
|
||||||
|
|
||||||
|
skinparam control {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub entity
|
||||||
|
|
||||||
|
skinparam entity {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub boundary
|
||||||
|
|
||||||
|
skinparam boundary {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub agent
|
||||||
|
|
||||||
|
skinparam agent {
|
||||||
|
BackgroundColor $WARNING
|
||||||
|
BorderColor $WARNING_LIGHT
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub note
|
||||||
|
|
||||||
|
skinparam note {
|
||||||
|
BorderThickness 1
|
||||||
|
BackgroundColor $INFO
|
||||||
|
BorderColor $INFO_DARK
|
||||||
|
FontColor $WHITE
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub artifact
|
||||||
|
|
||||||
|
skinparam artifact {
|
||||||
|
BackgroundColor $DARK
|
||||||
|
BorderColor $DARK_DARK
|
||||||
|
FontColor $LIGHT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub component
|
||||||
|
|
||||||
|
skinparam component {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub interface
|
||||||
|
|
||||||
|
skinparam interface {
|
||||||
|
BackgroundColor $DANGER_DARK
|
||||||
|
BorderColor $DANGER
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub storage
|
||||||
|
|
||||||
|
skinparam storage {
|
||||||
|
BackgroundColor $WARNING
|
||||||
|
BorderColor $WARNING_DARK
|
||||||
|
FontColor $WARNING_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub node
|
||||||
|
|
||||||
|
skinparam node {
|
||||||
|
BackgroundColor $SECONDARY
|
||||||
|
BorderColor $LIGHT
|
||||||
|
FontColor $LIGHT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub cloud
|
||||||
|
|
||||||
|
skinparam cloud {
|
||||||
|
BackgroundColor #F2FCFE-#eeeeee
|
||||||
|
BorderColor #F2FCFE
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub database
|
||||||
|
|
||||||
|
skinparam database {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub class
|
||||||
|
|
||||||
|
skinparam class {
|
||||||
|
$primary_scheme()
|
||||||
|
FontColor $FGCOLOR
|
||||||
|
HeaderBackgroundColor $PRIMARY_LIGHT
|
||||||
|
StereotypeFontColor $DARK
|
||||||
|
BorderThickness 1
|
||||||
|
AttributeFontColor $LIGHT
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub object
|
||||||
|
|
||||||
|
skinparam object {
|
||||||
|
$primary_scheme()
|
||||||
|
StereotypeFontColor $DARK
|
||||||
|
BorderThickness 1
|
||||||
|
AttributeFontColor $SECONDARY_TEXT
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub usecase
|
||||||
|
|
||||||
|
skinparam usecase {
|
||||||
|
$primary_scheme()
|
||||||
|
BorderThickness 2
|
||||||
|
StereotypeFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub rectangle
|
||||||
|
|
||||||
|
skinparam rectangle {
|
||||||
|
$primary_scheme()
|
||||||
|
BackgroundColor $SECONDARY_LIGHT
|
||||||
|
BorderThickness 2
|
||||||
|
StereotypeFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub package
|
||||||
|
|
||||||
|
skinparam package {
|
||||||
|
BackgroundColor $SECONDARY
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
FontColor $PRIMARY
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub folder
|
||||||
|
|
||||||
|
skinparam folder {
|
||||||
|
BackgroundColor $SECONDARY_LIGHT
|
||||||
|
BorderColor $WARNING
|
||||||
|
FontColor $WARNING
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub frame
|
||||||
|
|
||||||
|
skinparam frame {
|
||||||
|
BackgroundColor $SECONDARY_LIGHT
|
||||||
|
BorderColor $INFO
|
||||||
|
FontColor $INFO
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub state
|
||||||
|
|
||||||
|
skinparam state {
|
||||||
|
$primary_scheme()
|
||||||
|
StartColor $INFO
|
||||||
|
EndColor $INFO
|
||||||
|
AttributeFontColor $SECONDARY_TEXT
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub queue
|
||||||
|
|
||||||
|
skinparam queue {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub card
|
||||||
|
|
||||||
|
skinparam card {
|
||||||
|
BackgroundColor $INFO
|
||||||
|
BorderColor $INFO_DARK
|
||||||
|
FontColor $INFO_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub file
|
||||||
|
|
||||||
|
skinparam file {
|
||||||
|
BackgroundColor $SECONDARY_DARK
|
||||||
|
BorderColor $LIGHT
|
||||||
|
FontColor $LIGHT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub stack
|
||||||
|
|
||||||
|
skinparam stack {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
441
themes/puml-theme-spacelab.puml
Normal file
441
themes/puml-theme-spacelab.puml
Normal file
@ -0,0 +1,441 @@
|
|||||||
|
''
|
||||||
|
'' superhero theme based off of the bootstrap theme of the same name
|
||||||
|
'' https://bootswatch.com/spacelab/
|
||||||
|
''
|
||||||
|
'' Author = "Brett Schwarz
|
||||||
|
'' Copyright (c) 2020 by Brett Schwarz
|
||||||
|
|
||||||
|
!$THEME = "spacelab"
|
||||||
|
|
||||||
|
!if %not(%variable_exists("$BGCOLOR"))
|
||||||
|
!$BGCOLOR = "transparent"
|
||||||
|
!endif
|
||||||
|
|
||||||
|
skinparam backgroundColor $BGCOLOR
|
||||||
|
skinparam useBetaStyle false
|
||||||
|
|
||||||
|
''
|
||||||
|
'' Colors taken from the css file of the BS theme
|
||||||
|
''
|
||||||
|
!$BLUE = "#446e9b"
|
||||||
|
!$INDIGO = "#6610f2"
|
||||||
|
!$PURPLE = "#6f42c1"
|
||||||
|
!$PINK = "#e83e8c"
|
||||||
|
!$RED = "#cd0200"
|
||||||
|
!$ORANGE = "#fd7e14"
|
||||||
|
!$YELLOW = "#d47500"
|
||||||
|
!$GREEN = "#3cb521"
|
||||||
|
!$TEAL = "#20c997"
|
||||||
|
!$CYAN = "#3399f3"
|
||||||
|
!$WHITE = "#ffffff"
|
||||||
|
!$GRAY = "#777777"
|
||||||
|
!$GRAYDARK = "#333333"
|
||||||
|
!$PRIMARY = "#446e9b"
|
||||||
|
!$SECONDARY = "#999999"
|
||||||
|
!$SUCCESS = "#3cb521"
|
||||||
|
!$INFO = "#3399f3"
|
||||||
|
!$WARNING = "#d47500"
|
||||||
|
!$DANGER = "#cd0200"
|
||||||
|
!$LIGHT = "#eeeeee"
|
||||||
|
!$DARK = "#333333"
|
||||||
|
|
||||||
|
'' *_DARK = tint (lighter) of the main color of 80%
|
||||||
|
'' where TINT is calculated by clr + (255-clr) * tint_factor
|
||||||
|
'' *_LIGHT = shade (darker) of the main color of 80%
|
||||||
|
'' and SHADE is calculated by clr * (1 - shade_factor)
|
||||||
|
''
|
||||||
|
!$FGCOLOR = $WHITE
|
||||||
|
!$PRIMARY_DARK = "#304d6d"
|
||||||
|
!$PRIMARY_LIGHT = "#7c9ab9"
|
||||||
|
!$PRIMARY_TEXT = $WHITE
|
||||||
|
!$SECONDARY_DARK = "#6b6b6b"
|
||||||
|
!$SECONDARY_LIGHT = "#b8b8b8"
|
||||||
|
!$SECONDARY_TEXT = $WHITE
|
||||||
|
!$INFO_DARK = "#246baa"
|
||||||
|
!$INFO_LIGHT = "#70b8f7"
|
||||||
|
!$INFO_TEXT = $WHITE
|
||||||
|
!$SUCCESS_DARK = "#32a243"
|
||||||
|
!$SUCCESS_LIGHT = "#4cbc5c"
|
||||||
|
!$SUCCESS_TEXT = $WHITE
|
||||||
|
!$WARNING_DARK = "#945200"
|
||||||
|
!$WARNING_LIGHT = "#e19e4d"
|
||||||
|
!$WARNING_TEXT = $WHITE
|
||||||
|
!$DANGER_DARK = "#900100"
|
||||||
|
!$DANGER_LIGHT = "#dc4e4d"
|
||||||
|
!$DANGER_TEXT = $WHITE
|
||||||
|
!$DARK_DARK = "#242424"
|
||||||
|
!$DARK_LIGHT = "#707070"
|
||||||
|
!$LIGHT_DARK = "#a7a7a7"
|
||||||
|
!$LIGHT_LIGHT = "#f3f3f3"
|
||||||
|
|
||||||
|
!procedure $success($msg)
|
||||||
|
<font color=$SUCCESS><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $failure($msg)
|
||||||
|
<font color=$DANGER><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $warning($msg)
|
||||||
|
<font color=$WARNING><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $primary_scheme()
|
||||||
|
FontColor $PRIMARY_TEXT
|
||||||
|
BorderColor $PRIMARY_DARK
|
||||||
|
BackgroundColor $PRIMARY_LIGHT-$PRIMARY_DARK
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
''
|
||||||
|
'' Global Default Values
|
||||||
|
''
|
||||||
|
skinparam defaultFontName "Verdana"
|
||||||
|
skinparam defaultFontSize 12
|
||||||
|
skinparam dpi 100
|
||||||
|
skinparam shadowing false
|
||||||
|
skinparam roundcorner 8
|
||||||
|
skinparam ParticipantPadding 40
|
||||||
|
skinparam BoxPadding 40
|
||||||
|
skinparam Padding 5
|
||||||
|
skinparam ArrowColor $DARK
|
||||||
|
skinparam stereotype {
|
||||||
|
CBackgroundColor $SECONDARY_LIGHT
|
||||||
|
CBorderColor $SECONDARY_DARK
|
||||||
|
ABackgroundColor $SUCCESS_LIGHT
|
||||||
|
ABorderColor $SUCCESS_DARK
|
||||||
|
IBackgroundColor $DANGER_LIGHT
|
||||||
|
IBorderColor $DANGER_DARK
|
||||||
|
EBackgroundColor $WARNING_LIGHT
|
||||||
|
EBorderColor $WARNING_DARK
|
||||||
|
NBackgroundColor $INFO_LIGHT
|
||||||
|
NBorderColor $INFO_DARK
|
||||||
|
}
|
||||||
|
skinparam title {
|
||||||
|
FontColor $PRIMARY_DARK
|
||||||
|
BorderColor $SECONDARY_DARK
|
||||||
|
FontSize 20
|
||||||
|
BorderRoundCorner 8
|
||||||
|
BorderThickness 1
|
||||||
|
BackgroundColor $SECONDARY_LIGHT-$SECONDARY
|
||||||
|
}
|
||||||
|
|
||||||
|
skinparam legend {
|
||||||
|
BackgroundColor $SECONDARY
|
||||||
|
BorderColor $SECONDARY_DARK
|
||||||
|
FontColor $LIGHT
|
||||||
|
}
|
||||||
|
|
||||||
|
!startsub swimlane
|
||||||
|
skinparam swimlane {
|
||||||
|
BorderColor $INFO
|
||||||
|
BorderThickness 2
|
||||||
|
TitleBackgroundColor $SECONDARY_LIGHT-$SECONDARY
|
||||||
|
TitleFontColor $PRIMARY_DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub activity
|
||||||
|
|
||||||
|
skinparam activity {
|
||||||
|
$primary_scheme()
|
||||||
|
BarColor $SUCCESS
|
||||||
|
StartColor $INFO
|
||||||
|
EndColor $INFO
|
||||||
|
''
|
||||||
|
DiamondBackgroundColor $SECONDARY_LIGHT-$SECONDARY_DARK
|
||||||
|
DiamondBorderColor $SECONDARY_DARK
|
||||||
|
DiamondFontColor $SECONDARY_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub participant
|
||||||
|
|
||||||
|
skinparam participant {
|
||||||
|
$primary_scheme()
|
||||||
|
ParticipantBorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub actor
|
||||||
|
|
||||||
|
skinparam actor {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub arrow
|
||||||
|
|
||||||
|
skinparam arrow {
|
||||||
|
Thickness 3
|
||||||
|
Color $PRIMARY
|
||||||
|
FontColor $FGCOLOR
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub sequence
|
||||||
|
|
||||||
|
skinparam sequence {
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
' For some reason sequence title font color does not pick up from global
|
||||||
|
TitleFontColor $PRIMARY
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
StartColor $PRIMARY
|
||||||
|
EndColor $PRIMARY
|
||||||
|
''
|
||||||
|
BoxBackgroundColor $BGCOLOR
|
||||||
|
BoxBorderColor $DARK
|
||||||
|
BoxFontColor $DARk
|
||||||
|
''
|
||||||
|
LifeLineBorderColor $SECONDARY
|
||||||
|
LifeLineBorderThickness 2
|
||||||
|
LifeLineBackgroundColor $SECONDARY_DARK-$SECONDARY_DARK
|
||||||
|
''
|
||||||
|
GroupBorderColor $DARK
|
||||||
|
GroupFontColor $DARK
|
||||||
|
GroupHeaderFontColor $INFO
|
||||||
|
GroupBackgroundColor $SECONDARY_DARK-$SECONDARY_DARK
|
||||||
|
GroupHeaderBackgroundColor $BGCOLOR
|
||||||
|
''
|
||||||
|
DividerBackgroundColor $DARK_LIGHT-$DARK_DARK
|
||||||
|
DividerBorderColor $DARK
|
||||||
|
DividerBorderThickness 2
|
||||||
|
DividerFontColor $LIGHT
|
||||||
|
''
|
||||||
|
ReferenceBackgroundColor $BGCOLOR
|
||||||
|
ReferenceBorderColor $DARK
|
||||||
|
ReferenceFontColor $DARK
|
||||||
|
ReferenceHeaderFontColor $INFO
|
||||||
|
ReferenceHeaderBackgroundColor $SECONDARY_DARK-$SECONDARY_DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub partition
|
||||||
|
|
||||||
|
skinparam partition {
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
FontColor $PRIMARY
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub collections
|
||||||
|
|
||||||
|
skinparam collections {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub control
|
||||||
|
|
||||||
|
skinparam control {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub entity
|
||||||
|
|
||||||
|
skinparam entity {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub boundary
|
||||||
|
|
||||||
|
skinparam boundary {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub agent
|
||||||
|
|
||||||
|
skinparam agent {
|
||||||
|
BackgroundColor $WARNING
|
||||||
|
BorderColor $WARNING_LIGHT
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub note
|
||||||
|
|
||||||
|
skinparam note {
|
||||||
|
BorderThickness 1
|
||||||
|
BackgroundColor $INFO_LIGHT-$INFO_DARK
|
||||||
|
BorderColor $INFO_DARK
|
||||||
|
FontColor $WHITE
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub artifact
|
||||||
|
|
||||||
|
skinparam artifact {
|
||||||
|
BackgroundColor $DARK
|
||||||
|
BorderColor $DARK_DARK
|
||||||
|
FontColor $LIGHT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub component
|
||||||
|
|
||||||
|
skinparam component {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub interface
|
||||||
|
|
||||||
|
skinparam interface {
|
||||||
|
BackgroundColor $DANGER_DARK
|
||||||
|
BorderColor $DANGER
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub storage
|
||||||
|
|
||||||
|
skinparam storage {
|
||||||
|
BackgroundColor $WARNING
|
||||||
|
BorderColor $WARNING_DARK
|
||||||
|
FontColor $WARNING_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub node
|
||||||
|
|
||||||
|
skinparam node {
|
||||||
|
BackgroundColor $SECONDARY
|
||||||
|
BorderColor $LIGHT
|
||||||
|
FontColor $LIGHT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub cloud
|
||||||
|
|
||||||
|
skinparam cloud {
|
||||||
|
BackgroundColor #F2FCFE-#eeeeee
|
||||||
|
BorderColor #F2FCFE
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub database
|
||||||
|
|
||||||
|
skinparam database {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub class
|
||||||
|
|
||||||
|
skinparam class {
|
||||||
|
$primary_scheme()
|
||||||
|
FontColor $WHITE
|
||||||
|
HeaderBackgroundColor $PRIMARY_LIGHT-$PRIMARY
|
||||||
|
StereotypeFontColor $LIGHT
|
||||||
|
BorderThickness 1
|
||||||
|
AttributeFontColor $LIGHT
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub object
|
||||||
|
|
||||||
|
skinparam object {
|
||||||
|
$primary_scheme()
|
||||||
|
StereotypeFontColor $DARK
|
||||||
|
BorderThickness 1
|
||||||
|
AttributeFontColor $SECONDARY_TEXT
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub usecase
|
||||||
|
|
||||||
|
skinparam usecase {
|
||||||
|
$primary_scheme()
|
||||||
|
BorderThickness 2
|
||||||
|
StereotypeFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub rectangle
|
||||||
|
|
||||||
|
skinparam rectangle {
|
||||||
|
$primary_scheme()
|
||||||
|
BackgroundColor $SECONDARY_LIGHT-$SECONDARY_DARK
|
||||||
|
BorderThickness 2
|
||||||
|
StereotypeFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub package
|
||||||
|
|
||||||
|
skinparam package {
|
||||||
|
BackgroundColor $SECONDARY_LIGHT-$SECONDARY_DARK
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
FontColor $PRIMARY
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub folder
|
||||||
|
|
||||||
|
skinparam folder {
|
||||||
|
BackgroundColor $SECONDARY_LIGHT-$SECONDARY_DARK
|
||||||
|
BorderColor $WARNING
|
||||||
|
FontColor $WARNING
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub frame
|
||||||
|
|
||||||
|
skinparam frame {
|
||||||
|
BackgroundColor $SECONDARY_LIGHT-$SECONDARY_DARK
|
||||||
|
BorderColor $INFO
|
||||||
|
FontColor $INFO
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub state
|
||||||
|
|
||||||
|
skinparam state {
|
||||||
|
$primary_scheme()
|
||||||
|
StartColor $INFO
|
||||||
|
EndColor $INFO
|
||||||
|
AttributeFontColor $SECONDARY_TEXT
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub queue
|
||||||
|
|
||||||
|
skinparam queue {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub card
|
||||||
|
|
||||||
|
skinparam card {
|
||||||
|
BackgroundColor $INFO_LIGHT-$INFO_DARK
|
||||||
|
BorderColor $INFO_DARK
|
||||||
|
FontColor $INFO_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub file
|
||||||
|
|
||||||
|
skinparam file {
|
||||||
|
BackgroundColor $SECONDARY_DARK-$SECONDARY_DARK
|
||||||
|
BorderColor $LIGHT
|
||||||
|
FontColor $LIGHT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub stack
|
||||||
|
|
||||||
|
skinparam stack {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
446
themes/puml-theme-superhero-outline.puml
Normal file
446
themes/puml-theme-superhero-outline.puml
Normal file
@ -0,0 +1,446 @@
|
|||||||
|
''
|
||||||
|
'' superhero theme based off of the bootstrap theme of the same name
|
||||||
|
'' https://bootswatch.com/superhero/
|
||||||
|
''
|
||||||
|
'' Author: Brett Schwarz
|
||||||
|
'' Copyright (c) 2019 by Brett Schwarz
|
||||||
|
|
||||||
|
!$THEME = "superhero-outline"
|
||||||
|
|
||||||
|
!if %not(%variable_exists("$BGCOLOR"))
|
||||||
|
!$BGCOLOR = "transparent"
|
||||||
|
!endif
|
||||||
|
|
||||||
|
skinparam backgroundColor $BGCOLOR
|
||||||
|
skinparam useBetaStyle false
|
||||||
|
|
||||||
|
''
|
||||||
|
'' Colors taken from the css file of the BS theme
|
||||||
|
''
|
||||||
|
!$BLUE = "#DF691A"
|
||||||
|
!$INDIGO = "#6610f2"
|
||||||
|
!$PURPLE = "#6f42c1"
|
||||||
|
!$PINK = "#e83e8c"
|
||||||
|
!$RED = "#d9534f"
|
||||||
|
!$ORANGE = "#f0ad4e"
|
||||||
|
!$YELLOW = "#f0ad4e"
|
||||||
|
!$GREEN = "#5cb85c"
|
||||||
|
!$TEAL = "#20c997"
|
||||||
|
!$CYAN = "#5bc0de"
|
||||||
|
!$WHITE = "#FFF"
|
||||||
|
!$GRAY_LIGHT = "#222"
|
||||||
|
!$GRAY = "#868e96"
|
||||||
|
!$PRIMARY = "#DF691A"
|
||||||
|
!$SECONDARY = "#4E5D6C"
|
||||||
|
!$SUCCESS = "#5cb85c"
|
||||||
|
!$INFO = "#5bc0de"
|
||||||
|
!$WARNING = "#f0ad4e"
|
||||||
|
!$DANGER = "#d9534f"
|
||||||
|
!$LIGHT = "#abb6c2"
|
||||||
|
!$DARK = "#4E5D6C"
|
||||||
|
|
||||||
|
'' *_DARK = tint (lighter) of the main color of 80%
|
||||||
|
'' where TINT is calculated by clr + (255-clr) * tint_factor
|
||||||
|
'' *_LIGHT = shade (darker) of the main color of 80%
|
||||||
|
'' and SHADE is calculated by clr * (1 - shade_factor)
|
||||||
|
''
|
||||||
|
!$FGCOLOR = $WHITE
|
||||||
|
!$PRIMARY_DARK = "#e58748"
|
||||||
|
!$PRIMARY_LIGHT = "#b25415"
|
||||||
|
!$PRIMARY_TEXT = $PRIMARY
|
||||||
|
!$SECONDARY_DARK = "#717d89"
|
||||||
|
!$SECONDARY_LIGHT = "#3e4a56"
|
||||||
|
!$SECONDARY_TEXT = $SECONDARY_DARK
|
||||||
|
!$INFO_DARK = "#7ccde5"
|
||||||
|
!$INFO_LIGHT = "#499AB2"
|
||||||
|
!$INFO_TEXT = $INFO
|
||||||
|
!$SUCCESS_DARK = "#4a934a"
|
||||||
|
!$SUCCESS_LIGHT = "#5F8F00"
|
||||||
|
!$SUCCESS_TEXT = $SUCCESS
|
||||||
|
!$WARNING_DARK = "#f3bd71"
|
||||||
|
!$WARNING_LIGHT = "#C08A3E"
|
||||||
|
!$WARNING_TEXT = $WARNING
|
||||||
|
!$DANGER_DARK = "#e17572"
|
||||||
|
!$DANGER_LIGHT = "#AE423F"
|
||||||
|
!$DANGER_TEXT = $WHITE
|
||||||
|
!$DARK_DARK = "#717d89"
|
||||||
|
!$DARK_LIGHT = "#3e4a56"
|
||||||
|
!$LIGHT_DARK = "#bcc5ce"
|
||||||
|
!$LIGHT_LIGHT = "#89929b"
|
||||||
|
|
||||||
|
!procedure $success($msg)
|
||||||
|
<font color=$SUCCESS><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $failure($msg)
|
||||||
|
<font color=$DANGER><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $warning($msg)
|
||||||
|
<font color=$WARNING><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $primary_scheme()
|
||||||
|
FontColor $PRIMARY_TEXT
|
||||||
|
BorderColor $PRIMARY_DARK
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
''
|
||||||
|
'' Global Default Values
|
||||||
|
''
|
||||||
|
skinparam defaultFontName "Verdana"
|
||||||
|
skinparam defaultFontSize 12
|
||||||
|
skinparam dpi 100
|
||||||
|
skinparam shadowing false
|
||||||
|
skinparam roundcorner 8
|
||||||
|
skinparam ParticipantPadding 40
|
||||||
|
skinparam BoxPadding 40
|
||||||
|
skinparam Padding 5
|
||||||
|
skinparam TitleFontColor $DARK
|
||||||
|
skinparam TitleFontSize 20
|
||||||
|
skinparam TitleBorderThickness 0
|
||||||
|
skinparam ArrowColor $DARK
|
||||||
|
skinparam stereotype {
|
||||||
|
CBackgroundColor $SECONDARY_DARK
|
||||||
|
CBorderColor $SECONDARY_LIGHT
|
||||||
|
ABackgroundColor $SUCCESS_LIGHT
|
||||||
|
ABorderColor $SUCCESS_DARK
|
||||||
|
IBackgroundColor $DANGER_LIGHT
|
||||||
|
IBorderColor $DANGER_DARK
|
||||||
|
EBackgroundColor $WARNING_LIGHT
|
||||||
|
EBorderColor $WARNING_DARK
|
||||||
|
NBackgroundColor $INFO_LIGHT
|
||||||
|
NBorderColor $INFO_DARK
|
||||||
|
}
|
||||||
|
skinparam title {
|
||||||
|
FontColor $PRIMARY
|
||||||
|
BorderColor $SECONDARY_DARK
|
||||||
|
FontSize 20
|
||||||
|
BorderRoundCorner 8
|
||||||
|
BorderThickness 1
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
skinparam legend {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $SECONDARY_DARK
|
||||||
|
FontColor $LIGHT
|
||||||
|
}
|
||||||
|
|
||||||
|
!startsub swimlane
|
||||||
|
skinparam swimlane {
|
||||||
|
BorderColor $INFO
|
||||||
|
BorderThickness 2
|
||||||
|
TitleBackgroundColor $SECONDARY_LIGHT-$SECONDARY
|
||||||
|
TitleFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub activity
|
||||||
|
|
||||||
|
skinparam activity {
|
||||||
|
$primary_scheme()
|
||||||
|
BarColor $SUCCESS
|
||||||
|
StartColor $INFO
|
||||||
|
EndColor $INFO
|
||||||
|
''
|
||||||
|
DiamondBackgroundColor $BGCOLOR
|
||||||
|
DiamondBorderColor $SECONDARY_DARK
|
||||||
|
DiamondFontColor $SECONDARY_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub participant
|
||||||
|
|
||||||
|
skinparam participant {
|
||||||
|
$primary_scheme()
|
||||||
|
ParticipantBorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub actor
|
||||||
|
|
||||||
|
skinparam actor {
|
||||||
|
$primary_scheme()
|
||||||
|
FontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub arrow
|
||||||
|
|
||||||
|
skinparam arrow {
|
||||||
|
Thickness 3
|
||||||
|
Color $PRIMARY
|
||||||
|
FontColor $FGCOLOR
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub sequence
|
||||||
|
|
||||||
|
skinparam sequence {
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
' For some reason sequence title font color does not pick up from global
|
||||||
|
TitleFontColor $PRIMARY
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
StartColor $PRIMARY
|
||||||
|
EndColor $PRIMARY
|
||||||
|
''
|
||||||
|
BoxBackgroundColor $BGCOLOR
|
||||||
|
BoxBorderColor $DARK
|
||||||
|
BoxFontColor $DARk
|
||||||
|
''
|
||||||
|
LifeLineBorderColor $SECONDARY
|
||||||
|
LifeLineBorderThickness 2
|
||||||
|
LifeLineBackgroundColor $BGCOLOR
|
||||||
|
''
|
||||||
|
GroupBorderColor $DARK
|
||||||
|
GroupFontColor $DARK
|
||||||
|
GroupHeaderFontColor $INFO
|
||||||
|
GroupBackgroundColor $BGCOLOR
|
||||||
|
GroupHeaderBackgroundColor $BGCOLOR
|
||||||
|
''
|
||||||
|
DividerBackgroundColor $BGCOLOR
|
||||||
|
DividerBorderColor $DARK
|
||||||
|
DividerBorderThickness 2
|
||||||
|
DividerFontColor $LIGHT
|
||||||
|
''
|
||||||
|
ReferenceBackgroundColor $BGCOLOR
|
||||||
|
ReferenceBorderColor $LIGHT
|
||||||
|
ReferenceFontColor $LIGHT
|
||||||
|
ReferenceHeaderFontColor $INFO
|
||||||
|
ReferenceHeaderBackgroundColor $BGCOLOR
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub partition
|
||||||
|
|
||||||
|
skinparam partition {
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
FontColor $PRIMARY
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub collections
|
||||||
|
|
||||||
|
skinparam collections {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub control
|
||||||
|
|
||||||
|
skinparam control {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub entity
|
||||||
|
|
||||||
|
skinparam entity {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub boundary
|
||||||
|
|
||||||
|
skinparam boundary {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub agent
|
||||||
|
|
||||||
|
skinparam agent {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $WARNING_LIGHT
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub note
|
||||||
|
|
||||||
|
skinparam note {
|
||||||
|
BorderThickness 1
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $INFO_DARK
|
||||||
|
FontColor $INFO_DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub artifact
|
||||||
|
|
||||||
|
skinparam artifact {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $DARK_DARK
|
||||||
|
FontColor $LIGHT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub component
|
||||||
|
|
||||||
|
skinparam component {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub interface
|
||||||
|
|
||||||
|
skinparam interface {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $DANGER
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub storage
|
||||||
|
|
||||||
|
skinparam storage {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $WARNING_DARK
|
||||||
|
FontColor $WARNING_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub node
|
||||||
|
|
||||||
|
skinparam node {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $LIGHT
|
||||||
|
FontColor $LIGHT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub cloud
|
||||||
|
|
||||||
|
skinparam cloud {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor #F2FCFE
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub database
|
||||||
|
|
||||||
|
skinparam database {
|
||||||
|
$primary_scheme()
|
||||||
|
FontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub class
|
||||||
|
|
||||||
|
skinparam class {
|
||||||
|
$primary_scheme()
|
||||||
|
FontColor $LIGHT
|
||||||
|
HeaderBackgroundColor $PRIMARY_LIGHT
|
||||||
|
StereotypeFontColor $DARK
|
||||||
|
BorderThickness 1
|
||||||
|
AttributeFontColor $DARK
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub object
|
||||||
|
|
||||||
|
skinparam object {
|
||||||
|
$primary_scheme()
|
||||||
|
StereotypeFontColor $DARK
|
||||||
|
BorderThickness 1
|
||||||
|
AttributeFontColor $SECONDARY_DARK
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub usecase
|
||||||
|
|
||||||
|
skinparam usecase {
|
||||||
|
$primary_scheme()
|
||||||
|
BorderThickness 2
|
||||||
|
StereotypeFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub rectangle
|
||||||
|
|
||||||
|
skinparam rectangle {
|
||||||
|
$primary_scheme()
|
||||||
|
BorderThickness 2
|
||||||
|
StereotypeFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub package
|
||||||
|
|
||||||
|
skinparam package {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
FontColor $PRIMARY
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub folder
|
||||||
|
|
||||||
|
skinparam folder {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $WARNING
|
||||||
|
FontColor $WARNING
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub frame
|
||||||
|
|
||||||
|
skinparam frame {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $INFO
|
||||||
|
FontColor $INFO
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub state
|
||||||
|
|
||||||
|
skinparam state {
|
||||||
|
$primary_scheme()
|
||||||
|
StartColor $INFO
|
||||||
|
EndColor $INFO
|
||||||
|
AttributeFontColor $SECONDARY_TEXT
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub queue
|
||||||
|
|
||||||
|
skinparam queue {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub card
|
||||||
|
|
||||||
|
skinparam card {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $INFO
|
||||||
|
FontColor $INFO_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub file
|
||||||
|
|
||||||
|
skinparam file {
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
BorderColor $LIGHT
|
||||||
|
FontColor $LIGHT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub stack
|
||||||
|
|
||||||
|
skinparam stack {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
440
themes/puml-theme-superhero.puml
Normal file
440
themes/puml-theme-superhero.puml
Normal file
@ -0,0 +1,440 @@
|
|||||||
|
''
|
||||||
|
'' superhero theme based off of the bootstrap theme of the same name
|
||||||
|
'' https://bootswatch.com/superhero/
|
||||||
|
''
|
||||||
|
'' Author: Brett Schwarz
|
||||||
|
'' Copyright (c) 2019 by Brett Schwarz
|
||||||
|
|
||||||
|
!$THEME = "superhero"
|
||||||
|
|
||||||
|
!if %not(%variable_exists("$BGCOLOR"))
|
||||||
|
!$BGCOLOR = "transparent"
|
||||||
|
!endif
|
||||||
|
|
||||||
|
skinparam backgroundColor $BGCOLOR
|
||||||
|
skinparam useBetaStyle false
|
||||||
|
|
||||||
|
''
|
||||||
|
'' Colors taken from the css file of the BS theme
|
||||||
|
''
|
||||||
|
!$BLUE = "#DF691A"
|
||||||
|
!$INDIGO = "#6610f2"
|
||||||
|
!$PURPLE = "#6f42c1"
|
||||||
|
!$PINK = "#e83e8c"
|
||||||
|
!$RED = "#d9534f"
|
||||||
|
!$ORANGE = "#f0ad4e"
|
||||||
|
!$YELLOW = "#f0ad4e"
|
||||||
|
!$GREEN = "#5cb85c"
|
||||||
|
!$TEAL = "#20c997"
|
||||||
|
!$CYAN = "#5bc0de"
|
||||||
|
!$WHITE = "#FFF"
|
||||||
|
!$GRAY_LIGHT = "#222"
|
||||||
|
!$GRAY = "#868e96"
|
||||||
|
!$PRIMARY = "#DF691A"
|
||||||
|
!$SECONDARY = "#4E5D6C"
|
||||||
|
!$SUCCESS = "#5cb85c"
|
||||||
|
!$INFO = "#5bc0de"
|
||||||
|
!$WARNING = "#f0ad4e"
|
||||||
|
!$DANGER = "#d9534f"
|
||||||
|
!$LIGHT = "#abb6c2"
|
||||||
|
!$DARK = "#4E5D6C"
|
||||||
|
|
||||||
|
'' *_DARK = tint (lighter) of the main color of 80%
|
||||||
|
'' where TINT is calculated by clr + (255-clr) * tint_factor
|
||||||
|
'' *_LIGHT = shade (darker) of the main color of 80%
|
||||||
|
'' and SHADE is calculated by clr * (1 - shade_factor)
|
||||||
|
''
|
||||||
|
!$FGCOLOR = $WHITE
|
||||||
|
!$PRIMARY_DARK = "#e58748"
|
||||||
|
!$PRIMARY_LIGHT = "#b25415"
|
||||||
|
!$PRIMARY_TEXT = $WHITE
|
||||||
|
!$SECONDARY_DARK = "#717d89"
|
||||||
|
!$SECONDARY_LIGHT = "#3e4a56"
|
||||||
|
!$SECONDARY_TEXT = $WHITE
|
||||||
|
!$INFO_DARK = "#7ccde5"
|
||||||
|
!$INFO_LIGHT = "#499AB2"
|
||||||
|
!$INFO_TEXT = $WHITE
|
||||||
|
!$SUCCESS_DARK = "#4a934a"
|
||||||
|
!$SUCCESS_LIGHT = "#5F8F00"
|
||||||
|
!$SUCCESS_TEXT = $WHITE
|
||||||
|
!$WARNING_DARK = "#f3bd71"
|
||||||
|
!$WARNING_LIGHT = "#C08A3E"
|
||||||
|
!$WARNING_TEXT = $WHITE
|
||||||
|
!$DANGER_DARK = "#e17572"
|
||||||
|
!$DANGER_LIGHT = "#AE423F"
|
||||||
|
!$DANGER_TEXT = $WHITE
|
||||||
|
!$DARK_DARK = "#717d89"
|
||||||
|
!$DARK_LIGHT = "#3e4a56"
|
||||||
|
!$LIGHT_DARK = "#bcc5ce"
|
||||||
|
!$LIGHT_LIGHT = "#89929b"
|
||||||
|
|
||||||
|
!procedure $success($msg)
|
||||||
|
<font color=$SUCCESS><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $failure($msg)
|
||||||
|
<font color=$DANGER><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $warning($msg)
|
||||||
|
<font color=$WARNING><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $primary_scheme()
|
||||||
|
FontColor $PRIMARY_TEXT
|
||||||
|
BorderColor $PRIMARY_DARK
|
||||||
|
BackgroundColor $PRIMARY
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
''
|
||||||
|
'' Global Default Values
|
||||||
|
''
|
||||||
|
skinparam defaultFontName "Verdana"
|
||||||
|
skinparam defaultFontSize 12
|
||||||
|
skinparam dpi 100
|
||||||
|
skinparam shadowing false
|
||||||
|
skinparam roundcorner 8
|
||||||
|
skinparam ParticipantPadding 40
|
||||||
|
skinparam BoxPadding 40
|
||||||
|
skinparam Padding 5
|
||||||
|
skinparam ArrowColor $DARK
|
||||||
|
skinparam stereotype {
|
||||||
|
CBackgroundColor $SECONDARY_LIGHT
|
||||||
|
CBorderColor $SECONDARY_DARK
|
||||||
|
ABackgroundColor $SUCCESS_LIGHT
|
||||||
|
ABorderColor $SUCCESS_DARK
|
||||||
|
IBackgroundColor $DANGER_LIGHT
|
||||||
|
IBorderColor $DANGER_DARK
|
||||||
|
EBackgroundColor $WARNING_LIGHT
|
||||||
|
EBorderColor $WARNING_DARK
|
||||||
|
NBackgroundColor $INFO_LIGHT
|
||||||
|
NBorderColor $INFO_DARK
|
||||||
|
}
|
||||||
|
skinparam title {
|
||||||
|
FontColor $PRIMARY
|
||||||
|
BorderColor $SECONDARY_DARK
|
||||||
|
FontSize 20
|
||||||
|
BorderRoundCorner 8
|
||||||
|
BorderThickness 1
|
||||||
|
BackgroundColor $SECONDARY_LIGHT-$SECONDARY
|
||||||
|
}
|
||||||
|
|
||||||
|
skinparam legend {
|
||||||
|
BackgroundColor $SECONDARY
|
||||||
|
BorderColor $SECONDARY_DARK
|
||||||
|
FontColor $LIGHT
|
||||||
|
}
|
||||||
|
|
||||||
|
!startsub swimlane
|
||||||
|
skinparam swimlane {
|
||||||
|
BorderColor $INFO
|
||||||
|
BorderThickness 2
|
||||||
|
TitleBackgroundColor $SECONDARY_LIGHT-$SECONDARY
|
||||||
|
TitleFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub activity
|
||||||
|
|
||||||
|
skinparam activity {
|
||||||
|
$primary_scheme()
|
||||||
|
BarColor $SUCCESS
|
||||||
|
StartColor $INFO
|
||||||
|
EndColor $INFO
|
||||||
|
''
|
||||||
|
DiamondBackgroundColor $SECONDARY_LIGHT
|
||||||
|
DiamondBorderColor $SECONDARY_DARK
|
||||||
|
DiamondFontColor $SECONDARY_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub participant
|
||||||
|
|
||||||
|
skinparam participant {
|
||||||
|
$primary_scheme()
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub actor
|
||||||
|
|
||||||
|
skinparam actor {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub arrow
|
||||||
|
|
||||||
|
skinparam arrow {
|
||||||
|
Thickness 3
|
||||||
|
Color $PRIMARY
|
||||||
|
FontColor $FGCOLOR
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub sequence
|
||||||
|
|
||||||
|
skinparam sequence {
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
' For some reason sequence title font color does not pick up from global
|
||||||
|
TitleFontColor $PRIMARY
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
StartColor $PRIMARY
|
||||||
|
EndColor $PRIMARY
|
||||||
|
''
|
||||||
|
BoxBackgroundColor $BGCOLOR
|
||||||
|
BoxBorderColor $DARK
|
||||||
|
BoxFontColor $DARk
|
||||||
|
''
|
||||||
|
LifeLineBorderColor $SECONDARY
|
||||||
|
LifeLineBorderThickness 2
|
||||||
|
LifeLineBackgroundColor $SECONDARY_DARK
|
||||||
|
''
|
||||||
|
GroupBackgroundColor $SECONDARY
|
||||||
|
GroupBorderColor $DARK
|
||||||
|
GroupFontColor $DARK
|
||||||
|
GroupHeaderFontColor $INFO
|
||||||
|
GroupHeaderBackgroundColor $BGCOLOR
|
||||||
|
''
|
||||||
|
DividerBackgroundColor $DARK
|
||||||
|
DividerBorderColor $DARK
|
||||||
|
DividerBorderThickness 2
|
||||||
|
DividerFontColor $LIGHT
|
||||||
|
''
|
||||||
|
ReferenceBackgroundColor $BGCOLOR
|
||||||
|
ReferenceBorderColor $DARK
|
||||||
|
ReferenceFontColor $DARK
|
||||||
|
ReferenceHeaderFontColor $INFO
|
||||||
|
ReferenceHeaderBackgroundColor $SECONDARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub partition
|
||||||
|
|
||||||
|
skinparam partition {
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
FontColor $PRIMARY
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub collections
|
||||||
|
|
||||||
|
skinparam collections {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub control
|
||||||
|
|
||||||
|
skinparam control {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub entity
|
||||||
|
|
||||||
|
skinparam entity {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub boundary
|
||||||
|
|
||||||
|
skinparam boundary {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub agent
|
||||||
|
|
||||||
|
skinparam agent {
|
||||||
|
BackgroundColor $WARNING
|
||||||
|
BorderColor $WARNING_LIGHT
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub note
|
||||||
|
|
||||||
|
skinparam note {
|
||||||
|
BorderThickness 1
|
||||||
|
BackgroundColor $INFO
|
||||||
|
BorderColor $INFO_DARK
|
||||||
|
FontColor $WHITE
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub artifact
|
||||||
|
|
||||||
|
skinparam artifact {
|
||||||
|
BackgroundColor $DARK
|
||||||
|
BorderColor $DARK_DARK
|
||||||
|
FontColor $LIGHT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub component
|
||||||
|
|
||||||
|
skinparam component {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub interface
|
||||||
|
|
||||||
|
skinparam interface {
|
||||||
|
BackgroundColor $DANGER_DARK
|
||||||
|
BorderColor $DANGER
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub storage
|
||||||
|
|
||||||
|
skinparam storage {
|
||||||
|
BackgroundColor $WARNING
|
||||||
|
BorderColor $WARNING_DARK
|
||||||
|
FontColor $WARNING_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub node
|
||||||
|
|
||||||
|
skinparam node {
|
||||||
|
BackgroundColor $SECONDARY
|
||||||
|
BorderColor $LIGHT
|
||||||
|
FontColor $LIGHT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub cloud
|
||||||
|
|
||||||
|
skinparam cloud {
|
||||||
|
BackgroundColor $LIGHT-black
|
||||||
|
BorderColor $LIGHT
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub database
|
||||||
|
|
||||||
|
skinparam database {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub class
|
||||||
|
|
||||||
|
skinparam class {
|
||||||
|
$primary_scheme()
|
||||||
|
HeaderBackgroundColor $PRIMARY_LIGHT
|
||||||
|
StereotypeFontColor $DARK
|
||||||
|
BorderThickness 1
|
||||||
|
AttributeFontColor $DARK
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub object
|
||||||
|
|
||||||
|
skinparam object {
|
||||||
|
$primary_scheme()
|
||||||
|
StereotypeFontColor $DARK
|
||||||
|
BorderThickness 1
|
||||||
|
AttributeFontColor $SECONDARY_TEXT
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub usecase
|
||||||
|
|
||||||
|
skinparam usecase {
|
||||||
|
$primary_scheme()
|
||||||
|
BorderThickness 2
|
||||||
|
StereotypeFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub rectangle
|
||||||
|
|
||||||
|
skinparam rectangle {
|
||||||
|
$primary_scheme()
|
||||||
|
BackgroundColor $SECONDARY_LIGHT
|
||||||
|
BorderThickness 2
|
||||||
|
StereotypeFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub package
|
||||||
|
|
||||||
|
skinparam package {
|
||||||
|
BackgroundColor $SECONDARY
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
FontColor $PRIMARY
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub folder
|
||||||
|
|
||||||
|
skinparam folder {
|
||||||
|
BackgroundColor $SECONDARY_LIGHT
|
||||||
|
BorderColor $WARNING
|
||||||
|
FontColor $WARNING
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub frame
|
||||||
|
|
||||||
|
skinparam frame {
|
||||||
|
BackgroundColor $SECONDARY_LIGHT
|
||||||
|
BorderColor $INFO
|
||||||
|
FontColor $INFO
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub state
|
||||||
|
|
||||||
|
skinparam state {
|
||||||
|
$primary_scheme()
|
||||||
|
StartColor $INFO
|
||||||
|
EndColor $INFO
|
||||||
|
AttributeFontColor $SECONDARY_TEXT
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub queue
|
||||||
|
|
||||||
|
skinparam queue {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub card
|
||||||
|
|
||||||
|
skinparam card {
|
||||||
|
BackgroundColor $INFO
|
||||||
|
BorderColor $INFO_DARK
|
||||||
|
FontColor $INFO_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub file
|
||||||
|
|
||||||
|
skinparam file {
|
||||||
|
BackgroundColor $SECONDARY_DARK
|
||||||
|
BorderColor $LIGHT
|
||||||
|
FontColor $LIGHT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub stack
|
||||||
|
|
||||||
|
skinparam stack {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
441
themes/puml-theme-united.puml
Normal file
441
themes/puml-theme-united.puml
Normal file
@ -0,0 +1,441 @@
|
|||||||
|
''
|
||||||
|
'' superhero theme based off of the bootstrap theme of the same name
|
||||||
|
'' https://bootswatch.com/united/
|
||||||
|
''
|
||||||
|
'' Author = "Brett Schwarz
|
||||||
|
'' Copyright (c) 2020 by Brett Schwarz
|
||||||
|
|
||||||
|
!$THEME = "united"
|
||||||
|
|
||||||
|
!if %not(%variable_exists("$BGCOLOR"))
|
||||||
|
!$BGCOLOR = "transparent"
|
||||||
|
!endif
|
||||||
|
|
||||||
|
skinparam backgroundColor $BGCOLOR
|
||||||
|
skinparam useBetaStyle false
|
||||||
|
|
||||||
|
''
|
||||||
|
'' Colors taken from the css file of the BS theme
|
||||||
|
''
|
||||||
|
!$BLUE = "#007bff"
|
||||||
|
!$INDIGO = "#6610f2"
|
||||||
|
!$PURPLE = "#772953"
|
||||||
|
!$PINK = "#e83e8c"
|
||||||
|
!$RED = "#df382c"
|
||||||
|
!$ORANGE = "#e95420"
|
||||||
|
!$YELLOW = "#efb73e"
|
||||||
|
!$GREEN = "#38b44a"
|
||||||
|
!$TEAL = "#20c997"
|
||||||
|
!$CYAN = "#17a2b8"
|
||||||
|
!$WHITE = "#fff"
|
||||||
|
!$GRAY = "#868e96"
|
||||||
|
!$GRAYDARK = "#333"
|
||||||
|
!$PRIMARY = "#e95420"
|
||||||
|
!$SECONDARY = "#aea79f"
|
||||||
|
!$SUCCESS = "#38b44a"
|
||||||
|
!$INFO = "#17a2b8"
|
||||||
|
!$WARNING = "#efb73e"
|
||||||
|
!$DANGER = "#df382c"
|
||||||
|
!$LIGHT = "#e9ecef"
|
||||||
|
!$DARK = "#772953"
|
||||||
|
|
||||||
|
'' *_DARK = tint (lighter) of the main color of 80%
|
||||||
|
'' where TINT is calculated by clr + (255-clr) * tint_factor
|
||||||
|
'' *_LIGHT = shade (darker) of the main color of 80%
|
||||||
|
'' and SHADE is calculated by clr * (1 - shade_factor)
|
||||||
|
''
|
||||||
|
!$FGCOLOR = $WHITE
|
||||||
|
!$PRIMARY_DARK = "#d24c1d"
|
||||||
|
!$PRIMARY_LIGHT = "#eb6536"
|
||||||
|
!$PRIMARY_TEXT = $WHITE
|
||||||
|
!$SECONDARY_DARK = "#9d968f"
|
||||||
|
!$SECONDARY_LIGHT = "#b6b0a9"
|
||||||
|
!$SECONDARY_TEXT = $WHITE
|
||||||
|
!$INFO_DARK = "#1592a6"
|
||||||
|
!$INFO_LIGHT = "#2eabbf"
|
||||||
|
!$INFO_TEXT = $WHITE
|
||||||
|
!$SUCCESS_DARK = "#32a243"
|
||||||
|
!$SUCCESS_LIGHT = "#4cbc5c"
|
||||||
|
!$SUCCESS_TEXT = $WHITE
|
||||||
|
!$WARNING_DARK = "#d7a538"
|
||||||
|
!$WARNING_LIGHT = "#f1be51"
|
||||||
|
!$WARNING_TEXT = $WHITE
|
||||||
|
!$DANGER_DARK = "#c93228"
|
||||||
|
!$DANGER_LIGHT = "#e24c41"
|
||||||
|
!$DANGER_TEXT = $WHITE
|
||||||
|
!$DARK_DARK = "#6b254b"
|
||||||
|
!$DARK_LIGHT = "#853e64"
|
||||||
|
!$LIGHT_DARK = "#d2d4d7"
|
||||||
|
!$LIGHT_LIGHT = "#ebeef1"
|
||||||
|
|
||||||
|
!procedure $success($msg)
|
||||||
|
<font color=$SUCCESS><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $failure($msg)
|
||||||
|
<font color=$DANGER><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $warning($msg)
|
||||||
|
<font color=$WARNING><b>$msg
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
!procedure $primary_scheme()
|
||||||
|
FontColor $PRIMARY_TEXT
|
||||||
|
BorderColor $PRIMARY_DARK
|
||||||
|
BackgroundColor $PRIMARY
|
||||||
|
!endprocedure
|
||||||
|
|
||||||
|
''
|
||||||
|
'' Global Default Values
|
||||||
|
''
|
||||||
|
skinparam defaultFontName "Verdana"
|
||||||
|
skinparam defaultFontSize 12
|
||||||
|
skinparam dpi 100
|
||||||
|
skinparam shadowing false
|
||||||
|
skinparam roundcorner 8
|
||||||
|
skinparam ParticipantPadding 40
|
||||||
|
skinparam BoxPadding 40
|
||||||
|
skinparam Padding 5
|
||||||
|
skinparam ArrowColor $DARK
|
||||||
|
skinparam stereotype {
|
||||||
|
CBackgroundColor $SECONDARY_LIGHT
|
||||||
|
CBorderColor $SECONDARY_DARK
|
||||||
|
ABackgroundColor $SUCCESS_LIGHT
|
||||||
|
ABorderColor $SUCCESS_DARK
|
||||||
|
IBackgroundColor $DANGER_LIGHT
|
||||||
|
IBorderColor $DANGER_DARK
|
||||||
|
EBackgroundColor $WARNING_LIGHT
|
||||||
|
EBorderColor $WARNING_DARK
|
||||||
|
NBackgroundColor $INFO_LIGHT
|
||||||
|
NBorderColor $INFO_DARK
|
||||||
|
}
|
||||||
|
skinparam title {
|
||||||
|
FontColor $PRIMARY
|
||||||
|
BorderColor $SECONDARY_DARK
|
||||||
|
FontSize 20
|
||||||
|
BorderRoundCorner 8
|
||||||
|
BorderThickness 1
|
||||||
|
BackgroundColor $SECONDARY_LIGHT-$SECONDARY
|
||||||
|
}
|
||||||
|
|
||||||
|
skinparam legend {
|
||||||
|
BackgroundColor $SECONDARY
|
||||||
|
BorderColor $SECONDARY_DARK
|
||||||
|
FontColor $LIGHT
|
||||||
|
}
|
||||||
|
|
||||||
|
!startsub swimlane
|
||||||
|
skinparam swimlane {
|
||||||
|
BorderColor $INFO
|
||||||
|
BorderThickness 2
|
||||||
|
TitleBackgroundColor $SECONDARY_LIGHT-$SECONDARY
|
||||||
|
TitleFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub activity
|
||||||
|
|
||||||
|
skinparam activity {
|
||||||
|
$primary_scheme()
|
||||||
|
BarColor $SUCCESS
|
||||||
|
StartColor $INFO
|
||||||
|
EndColor $INFO
|
||||||
|
''
|
||||||
|
DiamondBackgroundColor $SECONDARY_LIGHT
|
||||||
|
DiamondBorderColor $SECONDARY_DARK
|
||||||
|
DiamondFontColor $SECONDARY_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub participant
|
||||||
|
|
||||||
|
skinparam participant {
|
||||||
|
$primary_scheme()
|
||||||
|
ParticipantBorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub actor
|
||||||
|
|
||||||
|
skinparam actor {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub arrow
|
||||||
|
|
||||||
|
skinparam arrow {
|
||||||
|
Thickness 3
|
||||||
|
Color $PRIMARY
|
||||||
|
FontColor $FGCOLOR
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub sequence
|
||||||
|
|
||||||
|
skinparam sequence {
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
' For some reason sequence title font color does not pick up from global
|
||||||
|
TitleFontColor $PRIMARY
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
StartColor $PRIMARY
|
||||||
|
EndColor $PRIMARY
|
||||||
|
''
|
||||||
|
BoxBackgroundColor $BGCOLOR
|
||||||
|
BoxBorderColor $DARK
|
||||||
|
BoxFontColor $DARk
|
||||||
|
''
|
||||||
|
LifeLineBorderColor $SECONDARY
|
||||||
|
LifeLineBorderThickness 2
|
||||||
|
LifeLineBackgroundColor $SECONDARY_DARK
|
||||||
|
''
|
||||||
|
GroupBorderColor $DARK
|
||||||
|
GroupFontColor $DARK
|
||||||
|
GroupHeaderFontColor $INFO
|
||||||
|
GroupBackgroundColor $SECONDARY
|
||||||
|
GroupHeaderBackgroundColor $BGCOLOR
|
||||||
|
''
|
||||||
|
DividerBackgroundColor $DARK
|
||||||
|
DividerBorderColor $DARK
|
||||||
|
DividerBorderThickness 2
|
||||||
|
DividerFontColor $LIGHT
|
||||||
|
''
|
||||||
|
ReferenceBackgroundColor $BGCOLOR
|
||||||
|
ReferenceBorderColor $DARK
|
||||||
|
ReferenceFontColor $DARK
|
||||||
|
ReferenceHeaderFontColor $INFO
|
||||||
|
ReferenceHeaderBackgroundColor $SECONDARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub partition
|
||||||
|
|
||||||
|
skinparam partition {
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
FontColor $PRIMARY
|
||||||
|
BackgroundColor $BGCOLOR
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub collections
|
||||||
|
|
||||||
|
skinparam collections {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub control
|
||||||
|
|
||||||
|
skinparam control {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub entity
|
||||||
|
|
||||||
|
skinparam entity {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub boundary
|
||||||
|
|
||||||
|
skinparam boundary {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub agent
|
||||||
|
|
||||||
|
skinparam agent {
|
||||||
|
BackgroundColor $WARNING
|
||||||
|
BorderColor $WARNING_LIGHT
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub note
|
||||||
|
|
||||||
|
skinparam note {
|
||||||
|
BorderThickness 1
|
||||||
|
BackgroundColor $INFO
|
||||||
|
BorderColor $INFO_DARK
|
||||||
|
FontColor $WHITE
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub artifact
|
||||||
|
|
||||||
|
skinparam artifact {
|
||||||
|
BackgroundColor $DARK
|
||||||
|
BorderColor $DARK_DARK
|
||||||
|
FontColor $LIGHT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub component
|
||||||
|
|
||||||
|
skinparam component {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub interface
|
||||||
|
|
||||||
|
skinparam interface {
|
||||||
|
BackgroundColor $DANGER_DARK
|
||||||
|
BorderColor $DANGER
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub storage
|
||||||
|
|
||||||
|
skinparam storage {
|
||||||
|
BackgroundColor $WARNING
|
||||||
|
BorderColor $WARNING_DARK
|
||||||
|
FontColor $WARNING_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub node
|
||||||
|
|
||||||
|
skinparam node {
|
||||||
|
BackgroundColor $SECONDARY
|
||||||
|
BorderColor $LIGHT
|
||||||
|
FontColor $LIGHT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub cloud
|
||||||
|
|
||||||
|
skinparam cloud {
|
||||||
|
BackgroundColor #F2FCFE-#eeeeee
|
||||||
|
BorderColor #F2FCFE
|
||||||
|
FontColor $DARK
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub database
|
||||||
|
|
||||||
|
skinparam database {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub class
|
||||||
|
|
||||||
|
skinparam class {
|
||||||
|
$primary_scheme()
|
||||||
|
HeaderBackgroundColor $PRIMARY_LIGHT
|
||||||
|
StereotypeFontColor $DARK
|
||||||
|
BorderThickness 1
|
||||||
|
AttributeFontColor $DARK
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub object
|
||||||
|
|
||||||
|
skinparam object {
|
||||||
|
$primary_scheme()
|
||||||
|
StereotypeFontColor $DARK
|
||||||
|
BorderThickness 1
|
||||||
|
AttributeFontColor $SECONDARY_TEXT
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub usecase
|
||||||
|
|
||||||
|
skinparam usecase {
|
||||||
|
$primary_scheme()
|
||||||
|
BorderThickness 2
|
||||||
|
StereotypeFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub rectangle
|
||||||
|
|
||||||
|
skinparam rectangle {
|
||||||
|
$primary_scheme()
|
||||||
|
BackgroundColor $SECONDARY_LIGHT
|
||||||
|
BorderThickness 2
|
||||||
|
StereotypeFontColor $PRIMARY
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub package
|
||||||
|
|
||||||
|
skinparam package {
|
||||||
|
BackgroundColor $SECONDARY
|
||||||
|
BorderColor $PRIMARY
|
||||||
|
FontColor $PRIMARY
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub folder
|
||||||
|
|
||||||
|
skinparam folder {
|
||||||
|
BackgroundColor $SECONDARY_LIGHT
|
||||||
|
BorderColor $WARNING
|
||||||
|
FontColor $WARNING
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub frame
|
||||||
|
|
||||||
|
skinparam frame {
|
||||||
|
BackgroundColor $SECONDARY_LIGHT
|
||||||
|
BorderColor $INFO
|
||||||
|
FontColor $INFO
|
||||||
|
BorderThickness 2
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub state
|
||||||
|
|
||||||
|
skinparam state {
|
||||||
|
$primary_scheme()
|
||||||
|
BackgroundColor $PRIMARY_LIGHT
|
||||||
|
StartColor $INFO
|
||||||
|
EndColor $INFO
|
||||||
|
AttributeFontColor $SECONDARY_TEXT
|
||||||
|
AttributeFontSize 11
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub queue
|
||||||
|
|
||||||
|
skinparam queue {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub card
|
||||||
|
|
||||||
|
skinparam card {
|
||||||
|
BackgroundColor $INFO
|
||||||
|
BorderColor $INFO_DARK
|
||||||
|
FontColor $INFO_TEXT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub file
|
||||||
|
|
||||||
|
skinparam file {
|
||||||
|
BackgroundColor $SECONDARY_DARK
|
||||||
|
BorderColor $LIGHT
|
||||||
|
FontColor $LIGHT
|
||||||
|
}
|
||||||
|
!endsub
|
||||||
|
|
||||||
|
!startsub stack
|
||||||
|
|
||||||
|
skinparam stack {
|
||||||
|
$primary_scheme()
|
||||||
|
}
|
||||||
|
!endsub
|
Loading…
Reference in New Issue
Block a user