Updated documentation theme.
authorSvjatoslav Agejenko <svjatoslav@svjatoslav.eu>
Sat, 21 Jan 2017 19:57:32 +0000 (21:57 +0200)
committerSvjatoslav Agejenko <svjatoslav@svjatoslav.eu>
Sat, 21 Jan 2017 19:57:32 +0000 (21:57 +0200)
doc/index.html
doc/index.org

index 5836449..5ee48a2 100644 (file)
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+<!doctype html>
+<html lang="en">
 <head>
-<!-- 2016-11-09 Wed 12:09 -->
-<meta  http-equiv="Content-Type" content="text/html;charset=utf-8" />
-<meta  name="viewport" content="width=device-width, initial-scale=1" />
 <title>JavaInspect - Utility to visualize java software</title>
-<meta  name="generator" content="Org-mode" />
-<meta  name="author" content="Svjatoslav Agejenko" />
+<!-- 2017-01-21 Sat 21:56 -->
+<meta charset="utf-8">
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta name="generator" content="Org-mode">
+<meta name="author" content="Svjatoslav Agejenko">
+<link href="https://bootswatch.com/darkly/bootstrap.min.css" rel="stylesheet">
+<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
+<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.1/js/bootstrap.min.js"></script>"
 <style type="text/css">
- <!--/*--><![CDATA[/*><!--*/
-  .title  { text-align: center;
-             margin-bottom: .2em; }
-  .subtitle { text-align: center;
-              font-size: medium;
-              font-weight: bold;
-              margin-top:0; }
-  .todo   { font-family: monospace; color: red; }
-  .done   { font-family: monospace; color: green; }
-  .priority { font-family: monospace; color: orange; }
-  .tag    { background-color: #eee; font-family: monospace;
-            padding: 2px; font-size: 80%; font-weight: normal; }
-  .timestamp { color: #bebebe; }
-  .timestamp-kwd { color: #5f9ea0; }
-  .org-right  { margin-left: auto; margin-right: 0px;  text-align: right; }
-  .org-left   { margin-left: 0px;  margin-right: auto; text-align: left; }
-  .org-center { margin-left: auto; margin-right: auto; text-align: center; }
-  .underline { text-decoration: underline; }
-  #postamble p, #preamble p { font-size: 90%; margin: .2em; }
-  p.verse { margin-left: 3%; }
-  pre {
-    border: 1px solid #ccc;
-    box-shadow: 3px 3px 3px #eee;
-    padding: 8pt;
-    font-family: monospace;
-    overflow: auto;
-    margin: 1.2em;
-  }
-  pre.src {
+footer {background-color: #111 !important;}
+pre {background-color: #111; color: #ccc;}
+</style>
+<style type="text/css">
+/* org mode styles on top of twbs */
+
+html {
     position: relative;
-    overflow: visible;
-    padding-top: 1.2em;
-  }
-  pre.src:before {
-    display: none;
+    min-height: 100%;
+}
+
+body {
+    font-size: 18px;
+    margin-bottom: 105px;
+}
+
+footer {
     position: absolute;
-    background-color: white;
-    top: -10px;
-    right: 10px;
-    padding: 3px;
-    border: 1px solid black;
-  }
-  pre.src:hover:before { display: inline;}
-  pre.src-sh:before    { content: 'sh'; }
-  pre.src-bash:before  { content: 'sh'; }
-  pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
-  pre.src-R:before     { content: 'R'; }
-  pre.src-perl:before  { content: 'Perl'; }
-  pre.src-java:before  { content: 'Java'; }
-  pre.src-sql:before   { content: 'SQL'; }
-
-  table { border-collapse:collapse; }
-  caption.t-above { caption-side: top; }
-  caption.t-bottom { caption-side: bottom; }
-  td, th { vertical-align:top;  }
-  th.org-right  { text-align: center;  }
-  th.org-left   { text-align: center;   }
-  th.org-center { text-align: center; }
-  td.org-right  { text-align: right;  }
-  td.org-left   { text-align: left;   }
-  td.org-center { text-align: center; }
-  dt { font-weight: bold; }
-  .footpara { display: inline; }
-  .footdef  { margin-bottom: 1em; }
-  .figure { padding: 1em; }
-  .figure p { text-align: center; }
-  .inlinetask {
+    bottom: 0;
+    width: 100%;
+    height: 101px;
+    background-color: #f5f5f5;
+}
+
+footer > div {
     padding: 10px;
-    border: 2px solid gray;
-    margin: 10px;
-    background: #ffffcc;
-  }
-  #org-div-home-and-up
-   { text-align: right; font-size: 70%; white-space: nowrap; }
-  textarea { overflow-x: auto; }
-  .linenr { font-size: smaller }
-  .code-highlighted { background-color: #ffff00; }
-  .org-info-js_info-navigation { border-style: none; }
-  #org-info-js_console-label
-    { font-size: 10px; font-weight: bold; white-space: nowrap; }
-  .org-info-js_search-highlight
-    { background-color: #ffff00; color: #000000; font-weight: bold; }
-  /*]]>*/-->
+}
+
+footer p {
+    margin: 0 0 5px;
+    text-align: center;
+    font-size: 16px;
+}
+
+#table-of-contents {
+    margin-top: 20px;
+    margin-bottom: 20px;
+}
+
+blockquote p {
+    font-size: 18px;
+}
+
+pre {
+    font-size: 16px;
+}
+
+.footpara {
+    display: inline-block;
+}
+
+figcaption {
+  font-size: 16px;
+  color: #666;
+  font-style: italic;
+  padding-bottom: 15px;
+}
+
+/* from twbs docs */
+
+.bs-docs-sidebar.affix {
+    position: static;
+}
+@media (min-width: 768px) {
+    .bs-docs-sidebar {
+        padding-left: 20px;
+    }
+}
+
+/* All levels of nav */
+.bs-docs-sidebar .nav > li > a {
+    display: block;
+    padding: 4px 20px;
+    font-size: 14px;
+    font-weight: 500;
+    color: #999;
+}
+.bs-docs-sidebar .nav > li > a:hover,
+.bs-docs-sidebar .nav > li > a:focus {
+    padding-left: 19px;
+    color: #A1283B;
+    text-decoration: none;
+    background-color: transparent;
+    border-left: 1px solid #A1283B;
+}
+.bs-docs-sidebar .nav > .active > a,
+.bs-docs-sidebar .nav > .active:hover > a,
+.bs-docs-sidebar .nav > .active:focus > a {
+    padding-left: 18px;
+    font-weight: bold;
+    color: #A1283B;
+    background-color: transparent;
+    border-left: 2px solid #A1283B;
+}
+
+/* Nav: second level (shown on .active) */
+.bs-docs-sidebar .nav .nav {
+    display: none; /* Hide by default, but at >768px, show it */
+    padding-bottom: 10px;
+}
+.bs-docs-sidebar .nav .nav > li > a {
+    padding-top: 1px;
+    padding-bottom: 1px;
+    padding-left: 30px;
+    font-size: 12px;
+    font-weight: normal;
+}
+.bs-docs-sidebar .nav .nav > li > a:hover,
+.bs-docs-sidebar .nav .nav > li > a:focus {
+    padding-left: 29px;
+}
+.bs-docs-sidebar .nav .nav > .active > a,
+.bs-docs-sidebar .nav .nav > .active:hover > a,
+.bs-docs-sidebar .nav .nav > .active:focus > a {
+    padding-left: 28px;
+    font-weight: 500;
+}
+
+/* Nav: third level (shown on .active) */
+.bs-docs-sidebar .nav .nav .nav {
+    padding-bottom: 10px;
+}
+.bs-docs-sidebar .nav .nav .nav > li > a {
+    padding-top: 1px;
+    padding-bottom: 1px;
+    padding-left: 40px;
+    font-size: 12px;
+    font-weight: normal;
+}
+.bs-docs-sidebar .nav .nav .nav > li > a:hover,
+.bs-docs-sidebar .nav .nav .nav > li > a:focus {
+    padding-left: 39px;
+}
+.bs-docs-sidebar .nav .nav .nav > .active > a,
+.bs-docs-sidebar .nav .nav .nav > .active:hover > a,
+.bs-docs-sidebar .nav .nav .nav > .active:focus > a {
+    padding-left: 38px;
+    font-weight: 500;
+}
+
+/* Show and affix the side nav when space allows it */
+@media (min-width: 992px) {
+    .bs-docs-sidebar .nav > .active > ul {
+        display: block;
+    }
+    /* Widen the fixed sidebar */
+    .bs-docs-sidebar.affix,
+    .bs-docs-sidebar.affix-bottom {
+        width: 213px;
+    }
+    .bs-docs-sidebar.affix {
+        position: fixed; /* Undo the static from mobile first approach */
+        top: 20px;
+    }
+    .bs-docs-sidebar.affix-bottom {
+        position: absolute; /* Undo the static from mobile first approach */
+    }
+    .bs-docs-sidebar.affix .bs-docs-sidenav,.bs-docs-sidebar.affix-bottom .bs-docs-sidenav {
+        margin-top: 0;
+        margin-bottom: 0
+    }
+}
+@media (min-width: 1200px) {
+    /* Widen the fixed sidebar again */
+    .bs-docs-sidebar.affix-bottom,
+    .bs-docs-sidebar.affix {
+        width: 263px;
+    }
+}
 </style>
-<link rel="stylesheet" type="text/css" href="http://thomasf.github.io/solarized-css/solarized-dark.min.css" />
 <script type="text/javascript">
-/*
-@licstart  The following is the entire license notice for the
-JavaScript code in this tag.
-
-Copyright (C) 2012-2013 Free Software Foundation, Inc.
-
-The JavaScript code in this tag is free software: you can
-redistribute it and/or modify it under the terms of the GNU
-General Public License (GNU GPL) as published by the Free Software
-Foundation, either version 3 of the License, or (at your option)
-any later version.  The code is distributed WITHOUT ANY WARRANTY;
-without even the implied warranty of MERCHANTABILITY or FITNESS
-FOR A PARTICULAR PURPOSE.  See the GNU GPL for more details.
-
-As additional permission under GNU GPL version 3 section 7, you
-may distribute non-source (e.g., minimized or compacted) forms of
-that code without the copy of the GNU GPL normally required by
-section 4, provided you include this license notice and a URL
-through which recipients can access the Corresponding Source.
-
-
-@licend  The above is the entire license notice
-for the JavaScript code in this tag.
-*/
-<!--/*--><![CDATA[/*><!--*/
- function CodeHighlightOn(elem, id)
- {
-   var target = document.getElementById(id);
-   if(null != target) {
-     elem.cacheClassElem = elem.className;
-     elem.cacheClassTarget = target.className;
-     target.className = "code-highlighted";
-     elem.className   = "code-highlighted";
-   }
- }
- function CodeHighlightOff(elem, id)
- {
-   var target = document.getElementById(id);
-   if(elem.cacheClassElem)
-     elem.className = elem.cacheClassElem;
-   if(elem.cacheClassTarget)
-     target.className = elem.cacheClassTarget;
- }
-/*]]>*///-->
+$(function() {
+    'use strict';
+
+    $('.bs-docs-sidebar li').first().addClass('active');
+
+    $(document.body).scrollspy({target: '.bs-docs-sidebar'});
+
+    $('.bs-docs-sidebar').affix();
+});
 </script>
 </head>
 <body>
-<div id="content">
-<h1 class="title">JavaInspect - Utility to visualize java software</h1>
-<div id="table-of-contents">
-<h2>Table of Contents</h2>
-<div id="text-table-of-contents">
-<ul>
-<li><a href="#orgheadline1">1. General</a></li>
-<li><a href="#orgheadline2">2. Example graphs</a></li>
-<li><a href="#orgheadline6">3. Usage</a>
-<ul>
-<li><a href="#orgheadline3">3.1. example 1: individually picked objects</a></li>
-<li><a href="#orgheadline4">3.2. example 2: scan java code, apply filters</a></li>
-<li><a href="#orgheadline5">3.3. example 3: GraphViz embedded in another project</a></li>
-</ul>
-</li>
-<li><a href="#orgheadline7">4. Embedding JavaInspect in your Maven project</a></li>
-<li><a href="#orgheadline8">5. Requirements</a></li>
-<li><a href="#orgheadline9">6. TO DO</a></li>
-</ul>
-</div>
-</div>
-<hr  />
+<div id="content" class="container">
+<div class="row"><div class="col-md-9"><h1 class="title">JavaInspect - Utility to visualize java software</h1>
+<hr >
 <ul class="org-ul">
-<li><a href="http://www2.svjatoslav.eu/gitweb/?p=javainspect.git;a=snapshot;h=HEAD;sf=tgz">download latest snapshot</a></li>
+<li><a href="http://www2.svjatoslav.eu/gitweb/?p=javainspect.git;a=snapshot;h=HEAD;sf=tgz">download latest snapshot</a>
+</li>
 
 <li>This program is free software; you can redistribute it and/or modify
 it under the terms of version 3 of the <a href="https://www.gnu.org/licenses/lgpl.html">GNU Lesser General Public
-License</a> or later as published by the Free Software Foundation.</li>
+License</a> or later as published by the Free Software Foundation.
+</li>
 
 <li>Program author:
 <ul class="org-ul">
-<li>Svjatoslav Agejenko</li>
-<li>Homepage: <a href="http://svjatoslav.eu/">http://svjatoslav.eu/</a></li>
-<li>Email: <a href="mailto://svjatoslav@svjatoslav.eu/">mailto://svjatoslav@svjatoslav.eu/</a></li>
-</ul></li>
+<li>Svjatoslav Agejenko
+</li>
+<li>Homepage: <a href="http://svjatoslav.eu">http://svjatoslav.eu</a>
+</li>
+<li>Email: <a href="mailto://svjatoslav@svjatoslav.eu">mailto://svjatoslav@svjatoslav.eu</a>
+</li>
+</ul>
+</li>
 
-<li><a href="http://svjatoslav.eu/programs.jsp">other applications hosted at svjatoslav.eu</a></li>
+<li><a href="http://svjatoslav.eu/programs.jsp">other applications hosted at svjatoslav.eu</a>
+</li>
 </ul>
 
-<div id="outline-container-orgheadline1" class="outline-2">
-<h2 id="orgheadline1"><span class="section-number-2">1</span> General</h2>
+<div id="outline-container-sec-1" class="outline-2">
+<h2 id="sec-1"><span class="section-number-2">1</span> General</h2>
 <div class="outline-text-2" id="text-1">
 <p>
 Goal: simplify/speed up understanding the computer program code by
@@ -208,12 +247,14 @@ up with 2 solutions:
 </p>
 
 <ol class="org-ol">
-<li>Add JavaInspect library in your project as a dependency.</li>
+<li>Add JavaInspect library in your project as a dependency.
+</li>
 <li>Create new Java project for the purpose visualizing your other
 projects and include JavaInspect and your projecs binary artifacts
 (Jar's) into new project classpath. Built binary Jar's (with no
 source code) are sufficient because JavaInspect operates via
-reflection.</li>
+reflection.
+</li>
 </ol>
 
 <p>
@@ -224,42 +265,42 @@ bitmap graph in PNG format. By default on your Desktop directory.
 </p>
 
 <p>
-Note: GraphViz is developed and tested so far only on GNU Linux.
+Note: GraphViz is developed and tested so far only on GNU/Linux.
 </p>
 </div>
 </div>
 
-<div id="outline-container-orgheadline2" class="outline-2">
-<h2 id="orgheadline2"><span class="section-number-2">2</span> Example graphs</h2>
+<div id="outline-container-sec-2" class="outline-2">
+<h2 id="sec-2"><span class="section-number-2">2</span> Example graphs</h2>
 <div class="outline-text-2" id="text-2">
 <ul class="org-ul">
-<li><p>
-A very simple example:
-</p>
+<li>A very simple example:
 
 
-<div class="figure">
-<p><a href="example.png"><img src="example.resized.png" alt="example.resized.png" /></a>
+<figure>
+<p><a href="example.png"><img src="example.resized.png" class="img-responsive" alt="example.resized.png"></a>
 </p>
-</div>
+</figure>
 
 <p>
 Graph legend:
 </p>
 
 
-<div class="figure">
-<p><img src="legend.png" alt="legend.png" />
+<figure>
+<p><img src="legend.png" class="img-responsive" alt="legend.png">
 </p>
-</div></li>
+</figure>
+</li>
 
-<li>Example visualization of <a href="http://www2.svjatoslav.eu/gitbrowse/sixth/doc/">Sixth</a> project: <a href="http://www2.svjatoslav.eu/projects/sixth/codegraphs/">architecture graphs</a>.</li>
+<li>Example visualization of <a href="http://www2.svjatoslav.eu/gitbrowse/sixth/doc/">Sixth</a> project: <a href="http://www2.svjatoslav.eu/projects/sixth/codegraphs/">architecture graphs</a>.
+</li>
 </ul>
 </div>
 </div>
 
-<div id="outline-container-orgheadline6" class="outline-2">
-<h2 id="orgheadline6"><span class="section-number-2">3</span> Usage</h2>
+<div id="outline-container-sec-3" class="outline-2">
+<h2 id="sec-3"><span class="section-number-2">3</span> Usage</h2>
 <div class="outline-text-2" id="text-3">
 <p>
 Currently the only way to control JavaInspect is by using Java
@@ -273,35 +314,46 @@ product or project artifact I'm just willing to visualize.
 Control code in general does the following:
 </p>
 <ol class="org-ol">
-<li>Create graph object.</li>
+<li>Create graph object.
+</li>
 <li>Java reflection/classloaders does not provide mechanism for
 discovering all classes under given package. Therefore you need to
 declare at least some classes to be added to the graph by:
 <ul class="org-ul">
-<li>Manually adding individual classes to the graph.</li>
+<li>Manually adding individual classes to the graph.
+</li>
 <li>and/or: Let GraphViz recursively scan and parse specified
-directories with Java source code files to discover class names.</li>
+directories with Java source code files to discover class names.
+</li>
 <li>For every class added to the graph, GraphViz will recursively
-inspect it and add all referecned classes to the graph as well.</li>
-</ul></li>
+inspect it and add all referecned classes to the graph as well.
+</li>
+</ul>
+</li>
 <li>Graphs easilly get very big and complex so optionally we filter
 important code using classname wildcards patterns based blacklist
-and/or whitelist.</li>
+and/or whitelist.
+</li>
 <li>Optionally we can tune some rendering parameters like:
 <ul class="org-ul">
 <li>Possibility to remove orphaned classes (classes with no
-references) from the graph.</li>
+references) from the graph.
+</li>
 <li>Specify target directory for generated visualization
-files. (Default is user desktop directory)</li>
-<li>Keep intermediate GraphViz dot file for later inspection.</li>
-</ul></li>
-<li>Render graph.</li>
+files. (Default is user desktop directory)
+</li>
+<li>Keep intermediate GraphViz dot file for later inspection.
+</li>
+</ul>
+</li>
+<li>Render graph.
+</li>
 </ol>
 </div>
 
 
-<div id="outline-container-orgheadline3" class="outline-3">
-<h3 id="orgheadline3"><span class="section-number-3">3.1</span> example 1: individually picked objects</h3>
+<div id="outline-container-sec-3-1" class="outline-3">
+<h3 id="sec-3-1"><span class="section-number-3">3.1</span> example 1: individually picked objects</h3>
 <div class="outline-text-3" id="text-3-1">
 <p>
 This example demonstrates generating of class graph from hand picked
@@ -310,22 +362,22 @@ classes and visualizing GraphViz itself.
 
 <div class="org-src-container">
 
-<pre class="src src-java"><span style="color: #2aa1ae; background-color: #292e34;">// </span><span style="color: #2aa1ae; background-color: #292e34;">Create graph</span>
-<span style="color: #4f97d7; font-weight: bold;">final</span> <span style="color: #ce537a; font-weight: bold;">ClassGraph</span> <span style="color: #7590db;">graph</span> = <span style="color: #4f97d7; font-weight: bold;">new</span> <span style="color: #ce537a; font-weight: bold;">ClassGraph</span><span style="color: #4f97d7;">()</span>;
+<pre class="src src-java"><span style="color: #8C8C8C;">// </span><span style="color: #8C8C8C;">Create graph</span>
+<span style="color: #F92672;">final</span> <span style="color: #66D9EF;">ClassGraph</span> <span style="color: #FD971F;">graph</span> = <span style="color: #F92672;">new</span> <span style="color: #66D9EF;">ClassGraph</span>();
 
-<span style="color: #2aa1ae; background-color: #292e34;">// </span><span style="color: #2aa1ae; background-color: #292e34;">Add some random object to the graph. GraphViz will detect Class from</span>
-<span style="color: #2aa1ae; background-color: #292e34;">// </span><span style="color: #2aa1ae; background-color: #292e34;">the object.</span>
-graph.add<span style="color: #4f97d7;">(</span>graph<span style="color: #4f97d7;">)</span>;
+<span style="color: #8C8C8C;">// </span><span style="color: #8C8C8C;">Add some random object to the graph. GraphViz will detect Class from</span>
+<span style="color: #8C8C8C;">// </span><span style="color: #8C8C8C;">the object.</span>
+graph.add(graph);
 
-<span style="color: #2aa1ae; background-color: #292e34;">// </span><span style="color: #2aa1ae; background-color: #292e34;">Also add some random class to the graph.</span>
-graph.add<span style="color: #4f97d7;">(</span>Utils.<span style="color: #4f97d7; font-weight: bold;">class</span><span style="color: #4f97d7;">)</span>;
+<span style="color: #8C8C8C;">// </span><span style="color: #8C8C8C;">Also add some random class to the graph.</span>
+graph.add(Utils.<span style="color: #F92672;">class</span>);
 
-<span style="color: #2aa1ae; background-color: #292e34;">// </span><span style="color: #2aa1ae; background-color: #292e34;">Keep intermediary GraphViz DOT file for reference.</span>
-graph.setKeepDotFile<span style="color: #4f97d7;">(</span><span style="color: #a45bad;">true</span><span style="color: #4f97d7;">)</span>;
+<span style="color: #8C8C8C;">// </span><span style="color: #8C8C8C;">Keep intermediary GraphViz DOT file for reference.</span>
+graph.setKeepDotFile(<span style="color: #FF80F4;">true</span>);
 
-<span style="color: #2aa1ae; background-color: #292e34;">// </span><span style="color: #2aa1ae; background-color: #292e34;">Produce bitmap image titled "JavaInspect.png" to the user Desktop</span>
-<span style="color: #2aa1ae; background-color: #292e34;">// </span><span style="color: #2aa1ae; background-color: #292e34;">directory</span>
-graph.generateGraph<span style="color: #4f97d7;">(</span><span style="color: #2d9574;">"JavaInspect"</span><span style="color: #4f97d7;">)</span>;
+<span style="color: #8C8C8C;">// </span><span style="color: #8C8C8C;">Produce bitmap image titled "JavaInspect.png" to the user Desktop</span>
+<span style="color: #8C8C8C;">// </span><span style="color: #8C8C8C;">directory</span>
+graph.generateGraph(<span style="color: #EEDC82;">"JavaInspect"</span>);
 </pre>
 </div>
 
@@ -334,8 +386,8 @@ Note: if desired, more compact version of the above:
 </p>
 <div class="org-src-container">
 
-<pre class="src src-java"><span style="color: #4f97d7; font-weight: bold;">new</span> <span style="color: #ce537a; font-weight: bold;">ClassGraph</span><span style="color: #4f97d7;">()</span>.add<span style="color: #4f97d7;">(</span>randomObject, RandomClass.<span style="color: #4f97d7; font-weight: bold;">class</span><span style="color: #4f97d7;">)</span>
-                .setKeepDotFile<span style="color: #4f97d7;">(</span><span style="color: #a45bad;">true</span><span style="color: #4f97d7;">)</span>.generateGraph<span style="color: #4f97d7;">(</span><span style="color: #2d9574;">"JavaInspect"</span><span style="color: #4f97d7;">)</span>;
+<pre class="src src-java"><span style="color: #F92672;">new</span> <span style="color: #66D9EF;">ClassGraph</span>().add(randomObject, RandomClass.<span style="color: #F92672;">class</span>)
+                .setKeepDotFile(<span style="color: #FF80F4;">true</span>).generateGraph(<span style="color: #EEDC82;">"JavaInspect"</span>);
 </pre>
 </div>
 
@@ -344,72 +396,77 @@ Note: if desired, more compact version of the above:
 Result:
 </p>
 <ul class="org-ul">
-<li>Generated DOT file: <a href="JavaInspect.dot">JavaInspect.dot</a></li>
-<li>Generated PNG image: <a href="JavaInspect.png">JavaInspect.png</a></li>
+<li>Generated DOT file: <a href="JavaInspect.dot">JavaInspect.dot</a>
+</li>
+<li>Generated PNG image: <a href="JavaInspect.png">JavaInspect.png</a>
+</li>
 </ul>
 </div>
 </div>
 
-<div id="outline-container-orgheadline4" class="outline-3">
-<h3 id="orgheadline4"><span class="section-number-3">3.2</span> example 2: scan java code, apply filters</h3>
+<div id="outline-container-sec-3-2" class="outline-3">
+<h3 id="sec-3-2"><span class="section-number-3">3.2</span> example 2: scan java code, apply filters</h3>
 <div class="outline-text-3" id="text-3-2">
 <div class="org-src-container">
 
-<pre class="src src-java"><span style="color: #2aa1ae; background-color: #292e34;">// </span><span style="color: #2aa1ae; background-color: #292e34;">Create graph</span>
-<span style="color: #4f97d7; font-weight: bold;">final</span> <span style="color: #ce537a; font-weight: bold;">ClassGraph</span> <span style="color: #7590db;">graph</span> = <span style="color: #4f97d7; font-weight: bold;">new</span> <span style="color: #ce537a; font-weight: bold;">ClassGraph</span><span style="color: #4f97d7;">()</span>;
+<pre class="src src-java"><span style="color: #8C8C8C;">// </span><span style="color: #8C8C8C;">Create graph</span>
+<span style="color: #F92672;">final</span> <span style="color: #66D9EF;">ClassGraph</span> <span style="color: #FD971F;">graph</span> = <span style="color: #F92672;">new</span> <span style="color: #66D9EF;">ClassGraph</span>();
 
-<span style="color: #2aa1ae; background-color: #292e34;">// </span><span style="color: #2aa1ae; background-color: #292e34;">Recursively scan current directory for Java source code and attempt</span>
-<span style="color: #2aa1ae; background-color: #292e34;">// </span><span style="color: #2aa1ae; background-color: #292e34;">to detect class names from there to be added to the graph.</span>
-graph.addProject<span style="color: #4f97d7;">(</span><span style="color: #2d9574;">"."</span><span style="color: #4f97d7;">)</span>;
+<span style="color: #8C8C8C;">// </span><span style="color: #8C8C8C;">Recursively scan current directory for Java source code and attempt</span>
+<span style="color: #8C8C8C;">// </span><span style="color: #8C8C8C;">to detect class names from there to be added to the graph.</span>
+graph.addProject(<span style="color: #EEDC82;">"."</span>);
 
-<span style="color: #2aa1ae; background-color: #292e34;">// </span><span style="color: #2aa1ae; background-color: #292e34;">Blacklist example classes from being shown on the graph</span>
-graph.blacklistClassPattern<span style="color: #4f97d7;">(</span><span style="color: #2d9574;">"eu.svjatoslav.inspector.java.structure.example.*"</span><span style="color: #4f97d7;">)</span>;
+<span style="color: #8C8C8C;">// </span><span style="color: #8C8C8C;">Blacklist example classes from being shown on the graph</span>
+graph.blacklistClassPattern(<span style="color: #EEDC82;">"eu.svjatoslav.inspector.java.structure.example.*"</span>);
 
-<span style="color: #2aa1ae; background-color: #292e34;">// </span><span style="color: #2aa1ae; background-color: #292e34;">do not show single classes with no relationships on the graph</span>
-graph.hideOrphanedClasses<span style="color: #4f97d7;">()</span>;
+<span style="color: #8C8C8C;">// </span><span style="color: #8C8C8C;">do not show single classes with no relationships on the graph</span>
+graph.hideOrphanedClasses();
 
-<span style="color: #2aa1ae; background-color: #292e34;">// </span><span style="color: #2aa1ae; background-color: #292e34;">Produce bitmap image titled "JavaInspect full project.png" to the</span>
-<span style="color: #2aa1ae; background-color: #292e34;">// </span><span style="color: #2aa1ae; background-color: #292e34;">user Desktop directory.</span>
-graph.generateGraph<span style="color: #4f97d7;">(</span><span style="color: #2d9574;">"JavaInspect full project"</span><span style="color: #4f97d7;">)</span>;
+<span style="color: #8C8C8C;">// </span><span style="color: #8C8C8C;">Produce bitmap image titled "JavaInspect full project.png" to the</span>
+<span style="color: #8C8C8C;">// </span><span style="color: #8C8C8C;">user Desktop directory.</span>
+graph.generateGraph(<span style="color: #EEDC82;">"JavaInspect full project"</span>);
 </pre>
 </div>
 <p>
 Result:
 </p>
 <ul class="org-ul">
-<li>Generated PNG image: <a href="JavaInspect%20full%20project.png">JavaInspect full project.png</a></li>
+<li>Generated PNG image: <a href="JavaInspect%20full%20project.png">JavaInspect full project.png</a>
+</li>
 </ul>
 </div>
 </div>
 
-<div id="outline-container-orgheadline5" class="outline-3">
-<h3 id="orgheadline5"><span class="section-number-3">3.3</span> example 3: GraphViz embedded in another project</h3>
+<div id="outline-container-sec-3-3" class="outline-3">
+<h3 id="sec-3-3"><span class="section-number-3">3.3</span> example 3: GraphViz embedded in another project</h3>
 <div class="outline-text-3" id="text-3-3">
 <ol class="org-ol">
-<li>Download project Sixth <a href="http://www2.svjatoslav.eu/gitweb/?p=sixth.git;a=snapshot;h=HEAD;sf=tgz">code snapshot</a>.</li>
-<li>Inspect and run *DataGraph.java*.</li>
+<li>Download project Sixth <a href="http://www2.svjatoslav.eu/gitweb/?p=sixth.git;a=snapshot;h=HEAD;sf=tgz">code snapshot</a>.
+</li>
+<li>Inspect and run *DataGraph.java*.
+</li>
 </ol>
 </div>
 </div>
 </div>
 
-<div id="outline-container-orgheadline7" class="outline-2">
-<h2 id="orgheadline7"><span class="section-number-2">4</span> Embedding JavaInspect in your Maven project</h2>
+<div id="outline-container-sec-4" class="outline-2">
+<h2 id="sec-4"><span class="section-number-2">4</span> Embedding JavaInspect in your Maven project</h2>
 <div class="outline-text-2" id="text-4">
 <p>
 Declare JavaInspect as dependency:
 </p>
 <div class="org-src-container">
 
-<pre class="src src-xml">&lt;<span style="color: #bc6ec5; font-weight: bold;">dependencies</span>&gt;
+<pre class="src src-xml">&lt;<span style="color: #A6E22E;">dependencies</span>&gt;
     ...
-    &lt;<span style="color: #bc6ec5; font-weight: bold;">dependency</span>&gt;
-        &lt;<span style="color: #bc6ec5; font-weight: bold;">groupId</span>&gt;eu.svjatoslav&lt;/<span style="color: #bc6ec5; font-weight: bold;">groupId</span>&gt;
-        &lt;<span style="color: #bc6ec5; font-weight: bold;">artifactId</span>&gt;javainspect&lt;/<span style="color: #bc6ec5; font-weight: bold;">artifactId</span>&gt;
-        &lt;<span style="color: #bc6ec5; font-weight: bold;">version</span>&gt;1.5&lt;/<span style="color: #bc6ec5; font-weight: bold;">version</span>&gt;
-    &lt;/<span style="color: #bc6ec5; font-weight: bold;">dependency</span>&gt;
+    &lt;<span style="color: #A6E22E;">dependency</span>&gt;
+        &lt;<span style="color: #A6E22E;">groupId</span>&gt;eu.svjatoslav&lt;/<span style="color: #A6E22E;">groupId</span>&gt;
+        &lt;<span style="color: #A6E22E;">artifactId</span>&gt;javainspect&lt;/<span style="color: #A6E22E;">artifactId</span>&gt;
+        &lt;<span style="color: #A6E22E;">version</span>&gt;1.5&lt;/<span style="color: #A6E22E;">version</span>&gt;
+    &lt;/<span style="color: #A6E22E;">dependency</span>&gt;
     ...
-&lt;/<span style="color: #bc6ec5; font-weight: bold;">dependencies</span>&gt;
+&lt;/<span style="color: #A6E22E;">dependencies</span>&gt;
 </pre>
 </div>
 
@@ -419,22 +476,22 @@ Add Maven repository to retrieve artifact from:
 </p>
 <div class="org-src-container">
 
-<pre class="src src-xml">&lt;<span style="color: #bc6ec5; font-weight: bold;">repositories</span>&gt;
+<pre class="src src-xml">&lt;<span style="color: #A6E22E;">repositories</span>&gt;
     ...
-    &lt;<span style="color: #bc6ec5; font-weight: bold;">repository</span>&gt;
-        &lt;<span style="color: #bc6ec5; font-weight: bold;">id</span>&gt;svjatoslav.eu&lt;/<span style="color: #bc6ec5; font-weight: bold;">id</span>&gt;
-        &lt;<span style="color: #bc6ec5; font-weight: bold;">name</span>&gt;Svjatoslav repository&lt;/<span style="color: #bc6ec5; font-weight: bold;">name</span>&gt;
-        &lt;<span style="color: #bc6ec5; font-weight: bold;">url</span>&gt;http://www2.svjatoslav.eu/maven/&lt;/<span style="color: #bc6ec5; font-weight: bold;">url</span>&gt;
-    &lt;/<span style="color: #bc6ec5; font-weight: bold;">repository</span>&gt;
+    &lt;<span style="color: #A6E22E;">repository</span>&gt;
+        &lt;<span style="color: #A6E22E;">id</span>&gt;svjatoslav.eu&lt;/<span style="color: #A6E22E;">id</span>&gt;
+        &lt;<span style="color: #A6E22E;">name</span>&gt;Svjatoslav repository&lt;/<span style="color: #A6E22E;">name</span>&gt;
+        &lt;<span style="color: #A6E22E;">url</span>&gt;http://www2.svjatoslav.eu/maven/&lt;/<span style="color: #A6E22E;">url</span>&gt;
+    &lt;/<span style="color: #A6E22E;">repository</span>&gt;
     ...
-&lt;/<span style="color: #bc6ec5; font-weight: bold;">repositories</span>&gt;
+&lt;/<span style="color: #A6E22E;">repositories</span>&gt;
 </pre>
 </div>
 </div>
 </div>
 
-<div id="outline-container-orgheadline8" class="outline-2">
-<h2 id="orgheadline8"><span class="section-number-2">5</span> Requirements</h2>
+<div id="outline-container-sec-5" class="outline-2">
+<h2 id="sec-5"><span class="section-number-2">5</span> Requirements</h2>
 <div class="outline-text-2" id="text-5">
 <p>
 <a href="http://www.graphviz.org/">GraphViz</a> - shall be installed on the computer.
@@ -450,35 +507,64 @@ On Ubuntu/Debian use:
 </div>
 </div>
 </div>
-<div id="outline-container-orgheadline9" class="outline-2">
-<h2 id="orgheadline9"><span class="section-number-2">6</span> TO DO</h2>
+<div id="outline-container-sec-6" class="outline-2">
+<h2 id="sec-6"><span class="section-number-2">6</span> TO DO</h2>
 <div class="outline-text-2" id="text-6">
 <ul class="org-ul">
 <li>BUG: Should not hide references if there are too many of them to classes if
 referring classes are not visible anyway because of blacklist/whitelist rules.
-Basically reference counting should exclude not visible classes.</li>
-<li>FEATURE: add dark theme</li>
-<li>FEATURE: sort Class fields by alphabet</li>
+Basically reference counting should exclude not visible classes.
+</li>
+<li>FEATURE: add dark theme
+</li>
+<li>FEATURE: sort Class fields by alphabet
+</li>
 <li>FEATURE: visualize also concrete field values so it could be used as
-ultra cool runtime logging framework</li>
+ultra cool runtime logging framework
+</li>
 <li>FEATURE: possibility to visualize structure and data from JVM
-snapshot</li>
+snapshot
+</li>
 <li>FEATURE: possibility to attach to remote process to visualize
-data/structure using JVM debug port and mechanism.</li>
-<li>FEATURE: possibility to attach to JVM using JVM agent</li>
-<li>FEATURE: possibility to script javainspect behavior</li>
+data/structure using JVM debug port and mechanism.
+</li>
+<li>FEATURE: possibility to attach to JVM using JVM agent
+</li>
+<li>FEATURE: possibility to script javainspect behavior
+</li>
 <li>FEATURE: possibility to select classes/fields/values to be
-visualized in SQL like syntax</li>
+visualized in SQL like syntax
+</li>
 <li>FEATURE: configurable maven plugin to generate graphs as part of the
-project build/release process</li>
+project build/release process
+</li>
 </ul>
 </div>
 </div>
+</div><div class="col-md-3"><nav id="table-of-contents">
+<div id="text-table-of-contents" class="bs-docs-sidebar">
+<ul class="nav">
+<li><a href="#sec-1">1. General</a></li>
+<li><a href="#sec-2">2. Example graphs</a></li>
+<li><a href="#sec-3">3. Usage</a>
+<ul class="nav">
+<li><a href="#sec-3-1">3.1. example 1: individually picked objects</a></li>
+<li><a href="#sec-3-2">3.2. example 2: scan java code, apply filters</a></li>
+<li><a href="#sec-3-3">3.3. example 3: GraphViz embedded in another project</a></li>
+</ul>
+</li>
+<li><a href="#sec-4">4. Embedding JavaInspect in your Maven project</a></li>
+<li><a href="#sec-5">5. Requirements</a></li>
+<li><a href="#sec-6">6. TO DO</a></li>
+</ul>
 </div>
-<div id="postamble" class="status">
-<p class="author">Author: Svjatoslav Agejenko</p>
-<p class="date">Created: 2016-11-09 Wed 12:09</p>
-<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
+</nav>
+</div></div></div>
+<footer id="postamble" class="">
+<div><p class="author">Author: Svjatoslav Agejenko</p>
+<p class="date">Created: 2017-01-21 Sat 21:56</p>
+<p class="creator"><a href="http://www.gnu.org/software/emacs/">Emacs</a> 24.4.1 (<a href="http://orgmode.org">Org-mode</a> 8.2.10)</p>
 </div>
+</footer>
 </body>
 </html>
index 42916a3..120b9e8 100644 (file)
 
 - [[http://svjatoslav.eu/programs.jsp][other applications hosted at svjatoslav.eu]]
 
+* (document settings) :noexport:
+** use dark style for TWBS-HTML exporter
+#+HTML_HEAD: <link href="https://bootswatch.com/darkly/bootstrap.min.css" rel="stylesheet">
+#+HTML_HEAD: <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
+#+HTML_HEAD: <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.1/js/bootstrap.min.js"></script>"
+#+HTML_HEAD: <style type="text/css">
+#+HTML_HEAD:   footer {background-color: #111 !important;}
+#+HTML_HEAD:   pre {background-color: #111; color: #ccc;}
+#+HTML_HEAD: </style>
+
 * General
 Goal: simplify/speed up understanding the computer program code by
 automatically visualizing its structure.
@@ -41,7 +51,7 @@ unimportant parts, JavaInspect produces GraphViz dot file that
 describes data to be visualized. Then launches GraphViz to generate
 bitmap graph in PNG format. By default on your Desktop directory.
 
-Note: GraphViz is developed and tested so far only on GNU Linux.
+Note: GraphViz is developed and tested so far only on GNU/Linux.
 
 * Example graphs
 + A very simple example: