diff --git a/.buildtools/generateStagingSiteInWebpageRepo b/.buildtools/generateStagingSiteInWebpageRepo
new file mode 100755
index 0000000..68f97c9
--- /dev/null
+++ b/.buildtools/generateStagingSiteInWebpageRepo
@@ -0,0 +1,18 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+./mvnw clean site:site site:stage
+cp -rvf target/staging/* ../creadur-site/tentacles/
+cp -rvf src/site/javadocFont/* ../creadur-site/tentacles/apidocs/
diff --git a/src/site/javadocFont/resources/fonts/DejaVuLGCSans-Bold.woff2 b/src/site/javadocFont/resources/fonts/DejaVuLGCSans-Bold.woff2
new file mode 100644
index 0000000..0665554
--- /dev/null
+++ b/src/site/javadocFont/resources/fonts/DejaVuLGCSans-Bold.woff2
Binary files differ
diff --git a/src/site/javadocFont/resources/fonts/DejaVuLGCSans-BoldOblique.woff2 b/src/site/javadocFont/resources/fonts/DejaVuLGCSans-BoldOblique.woff2
new file mode 100644
index 0000000..89328f3
--- /dev/null
+++ b/src/site/javadocFont/resources/fonts/DejaVuLGCSans-BoldOblique.woff2
Binary files differ
diff --git a/src/site/javadocFont/resources/fonts/DejaVuLGCSans-Oblique.woff2 b/src/site/javadocFont/resources/fonts/DejaVuLGCSans-Oblique.woff2
new file mode 100644
index 0000000..8a50fa1
--- /dev/null
+++ b/src/site/javadocFont/resources/fonts/DejaVuLGCSans-Oblique.woff2
Binary files differ
diff --git a/src/site/javadocFont/resources/fonts/DejaVuLGCSans.woff2 b/src/site/javadocFont/resources/fonts/DejaVuLGCSans.woff2
new file mode 100644
index 0000000..fecdbd8
--- /dev/null
+++ b/src/site/javadocFont/resources/fonts/DejaVuLGCSans.woff2
Binary files differ
diff --git a/src/site/javadocFont/resources/fonts/DejaVuLGCSansMono-Bold.woff2 b/src/site/javadocFont/resources/fonts/DejaVuLGCSansMono-Bold.woff2
new file mode 100644
index 0000000..346de2d
--- /dev/null
+++ b/src/site/javadocFont/resources/fonts/DejaVuLGCSansMono-Bold.woff2
Binary files differ
diff --git a/src/site/javadocFont/resources/fonts/DejaVuLGCSansMono-BoldOblique.woff2 b/src/site/javadocFont/resources/fonts/DejaVuLGCSansMono-BoldOblique.woff2
new file mode 100644
index 0000000..ede24ef
--- /dev/null
+++ b/src/site/javadocFont/resources/fonts/DejaVuLGCSansMono-BoldOblique.woff2
Binary files differ
diff --git a/src/site/javadocFont/resources/fonts/DejaVuLGCSansMono-Oblique.woff2 b/src/site/javadocFont/resources/fonts/DejaVuLGCSansMono-Oblique.woff2
new file mode 100644
index 0000000..9e90514
--- /dev/null
+++ b/src/site/javadocFont/resources/fonts/DejaVuLGCSansMono-Oblique.woff2
Binary files differ
diff --git a/src/site/javadocFont/resources/fonts/DejaVuLGCSansMono.woff2 b/src/site/javadocFont/resources/fonts/DejaVuLGCSansMono.woff2
new file mode 100644
index 0000000..9460c05
--- /dev/null
+++ b/src/site/javadocFont/resources/fonts/DejaVuLGCSansMono.woff2
Binary files differ
diff --git a/src/site/javadocFont/resources/fonts/DejaVuLGCSerif-Bold.woff2 b/src/site/javadocFont/resources/fonts/DejaVuLGCSerif-Bold.woff2
new file mode 100644
index 0000000..d65a5e9
--- /dev/null
+++ b/src/site/javadocFont/resources/fonts/DejaVuLGCSerif-Bold.woff2
Binary files differ
diff --git a/src/site/javadocFont/resources/fonts/DejaVuLGCSerif-BoldItalic.woff2 b/src/site/javadocFont/resources/fonts/DejaVuLGCSerif-BoldItalic.woff2
new file mode 100644
index 0000000..e29307e
--- /dev/null
+++ b/src/site/javadocFont/resources/fonts/DejaVuLGCSerif-BoldItalic.woff2
Binary files differ
diff --git a/src/site/javadocFont/resources/fonts/DejaVuLGCSerif-Italic.woff2 b/src/site/javadocFont/resources/fonts/DejaVuLGCSerif-Italic.woff2
new file mode 100644
index 0000000..61ff146
--- /dev/null
+++ b/src/site/javadocFont/resources/fonts/DejaVuLGCSerif-Italic.woff2
Binary files differ
diff --git a/src/site/javadocFont/resources/fonts/DejaVuLGCSerif.woff2 b/src/site/javadocFont/resources/fonts/DejaVuLGCSerif.woff2
new file mode 100644
index 0000000..bbd32cd
--- /dev/null
+++ b/src/site/javadocFont/resources/fonts/DejaVuLGCSerif.woff2
Binary files differ
diff --git a/src/site/javadocFont/resources/fonts/LICENSE b/src/site/javadocFont/resources/fonts/LICENSE
new file mode 100644
index 0000000..df52c17
--- /dev/null
+++ b/src/site/javadocFont/resources/fonts/LICENSE
@@ -0,0 +1,187 @@
+Fonts are (c) Bitstream (see below). DejaVu changes are in public domain.
+Glyphs imported from Arev fonts are (c) Tavmjong Bah (see below)
+
+
+Bitstream Vera Fonts Copyright
+------------------------------
+
+Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera is
+a trademark of Bitstream, Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of the fonts accompanying this license ("Fonts") and associated
+documentation files (the "Font Software"), to reproduce and distribute the
+Font Software, including without limitation the rights to use, copy, merge,
+publish, distribute, and/or sell copies of the Font Software, and to permit
+persons to whom the Font Software is furnished to do so, subject to the
+following conditions:
+
+The above copyright and trademark notices and this permission notice shall
+be included in all copies of one or more of the Font Software typefaces.
+
+The Font Software may be modified, altered, or added to, and in particular
+the designs of glyphs or characters in the Fonts may be modified and
+additional glyphs or characters may be added to the Fonts, only if the fonts
+are renamed to names not containing either the words "Bitstream" or the word
+"Vera".
+
+This License becomes null and void to the extent applicable to Fonts or Font
+Software that has been modified and is distributed under the "Bitstream
+Vera" names.
+
+The Font Software may be sold as part of a larger software package but no
+copy of one or more of the Font Software typefaces may be sold by itself.
+
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT,
+TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BITSTREAM OR THE GNOME
+FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING
+ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
+THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE
+FONT SOFTWARE.
+
+Except as contained in this notice, the names of Gnome, the Gnome
+Foundation, and Bitstream Inc., shall not be used in advertising or
+otherwise to promote the sale, use or other dealings in this Font Software
+without prior written authorization from the Gnome Foundation or Bitstream
+Inc., respectively. For further information, contact: fonts at gnome dot
+org.
+
+Arev Fonts Copyright
+------------------------------
+
+Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the fonts accompanying this license ("Fonts") and
+associated documentation files (the "Font Software"), to reproduce
+and distribute the modifications to the Bitstream Vera Font Software,
+including without limitation the rights to use, copy, merge, publish,
+distribute, and/or sell copies of the Font Software, and to permit
+persons to whom the Font Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright and trademark notices and this permission notice
+shall be included in all copies of one or more of the Font Software
+typefaces.
+
+The Font Software may be modified, altered, or added to, and in
+particular the designs of glyphs or characters in the Fonts may be
+modified and additional glyphs or characters may be added to the
+Fonts, only if the fonts are renamed to names not containing either
+the words "Tavmjong Bah" or the word "Arev".
+
+This License becomes null and void to the extent applicable to Fonts
+or Font Software that has been modified and is distributed under the 
+"Tavmjong Bah Arev" names.
+
+The Font Software may be sold as part of a larger software package but
+no copy of one or more of the Font Software typefaces may be sold by
+itself.
+
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL
+TAVMJONG BAH BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
+
+Except as contained in this notice, the name of Tavmjong Bah shall not
+be used in advertising or otherwise to promote the sale, use or other
+dealings in this Font Software without prior written authorization
+from Tavmjong Bah. For further information, contact: tavmjong @ free
+. fr.
+
+TeX Gyre DJV Math
+-----------------
+Fonts are (c) Bitstream (see below). DejaVu changes are in public domain.
+
+Math extensions done by B. Jackowski, P. Strzelczyk and P. Pianowski
+(on behalf of TeX users groups) are in public domain.
+
+Letters imported from Euler Fraktur from AMSfonts are (c) American
+Mathematical Society (see below).
+Bitstream Vera Fonts Copyright
+Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera
+is a trademark of Bitstream, Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of the fonts accompanying this license (“Fonts”) and associated
+documentation
+files (the “Font Software”), to reproduce and distribute the Font Software,
+including without limitation the rights to use, copy, merge, publish,
+distribute,
+and/or sell copies of the Font Software, and to permit persons  to whom
+the Font Software is furnished to do so, subject to the following
+conditions:
+
+The above copyright and trademark notices and this permission notice
+shall be
+included in all copies of one or more of the Font Software typefaces.
+
+The Font Software may be modified, altered, or added to, and in particular
+the designs of glyphs or characters in the Fonts may be modified and
+additional
+glyphs or characters may be added to the Fonts, only if the fonts are
+renamed
+to names not containing either the words “Bitstream” or the word “Vera”.
+
+This License becomes null and void to the extent applicable to Fonts or
+Font Software
+that has been modified and is distributed under the “Bitstream Vera”
+names.
+
+The Font Software may be sold as part of a larger software package but
+no copy
+of one or more of the Font Software typefaces may be sold by itself.
+
+THE FONT SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT,
+TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BITSTREAM OR THE GNOME
+FOUNDATION
+BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL,
+SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN
+ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR
+INABILITY TO USE
+THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
+Except as contained in this notice, the names of GNOME, the GNOME
+Foundation,
+and Bitstream Inc., shall not be used in advertising or otherwise to promote
+the sale, use or other dealings in this Font Software without prior written
+authorization from the GNOME Foundation or Bitstream Inc., respectively.
+For further information, contact: fonts at gnome dot org.
+
+AMSFonts (v. 2.2) copyright
+
+The PostScript Type 1 implementation of the AMSFonts produced by and
+previously distributed by Blue Sky Research and Y&Y, Inc. are now freely
+available for general use. This has been accomplished through the
+cooperation
+of a consortium of scientific publishers with Blue Sky Research and Y&Y.
+Members of this consortium include:
+
+Elsevier Science IBM Corporation Society for Industrial and Applied
+Mathematics (SIAM) Springer-Verlag American Mathematical Society (AMS)
+
+In order to assure the authenticity of these fonts, copyright will be
+held by
+the American Mathematical Society. This is not meant to restrict in any way
+the legitimate use of the fonts, such as (but not limited to) electronic
+distribution of documents containing these fonts, inclusion of these fonts
+into other public domain or commercial font collections or computer
+applications, use of the outline data to create derivative fonts and/or
+faces, etc. However, the AMS does require that the AMS copyright notice be
+removed from any derivative versions of the fonts which have been altered in
+any way. In addition, to ensure the fidelity of TeX documents using Computer
+Modern fonts, Professor Donald Knuth, creator of the Computer Modern faces,
+has requested that any alterations which yield different font metrics be
+given a different name.
+
+$Id$
diff --git a/src/site/javadocFont/resources/fonts/dejavu.css b/src/site/javadocFont/resources/fonts/dejavu.css
new file mode 100644
index 0000000..64cd25a
--- /dev/null
+++ b/src/site/javadocFont/resources/fonts/dejavu.css
@@ -0,0 +1,74 @@
+@font-face {
+  font-family: 'DejaVu Sans Mono';
+  src: url('DejaVuLGCSansMono.woff2') format('woff2');
+  font-weight: normal;
+  font-style: normal;
+}
+@font-face {
+  font-family: 'DejaVu Sans Mono';
+  src: url('DejaVuLGCSansMono-Oblique.woff2') format('woff2');
+  font-weight: normal;
+  font-style: italic;
+}
+@font-face {
+  font-family: 'DejaVu Sans Mono';
+  src: url('DejaVuLGCSansMono-Bold.woff2') format('woff2');
+  font-weight: bold;
+  font-style: normal;
+}
+@font-face {
+  font-family: 'DejaVu Sans Mono';
+  src: url('DejaVuLGCSansMono-BoldOblique.woff2') format('woff2');
+  font-weight: bold;
+  font-style: italic;
+}
+
+@font-face {
+  font-family: 'DejaVu Sans';
+  src: url('DejaVuLGCSans.woff2') format('woff2');
+  font-weight: normal;
+  font-style: normal;
+}
+@font-face {
+  font-family: 'DejaVu Sans';
+  src: url('DejaVuLGCSans-Oblique.woff2') format('woff2');
+  font-weight: normal;
+  font-style: italic;
+}
+@font-face {
+  font-family: 'DejaVu Sans';
+  src: url('DejaVuLGCSans-Bold.woff2') format('woff2');
+  font-weight: bold;
+  font-style: normal;
+}
+@font-face {
+  font-family: 'DejaVu Sans';
+  src: url('DejaVuLGCSans-BoldOblique.woff2') format('woff2');
+  font-weight: bold;
+  font-style: italic;
+}
+
+@font-face {
+  font-family: 'DejaVu Serif';
+  src: url('DejaVuLGCSerif.woff2') format('woff2');
+  font-weight: normal;
+  font-style: normal;
+}
+@font-face {
+  font-family: 'DejaVu Serif';
+  src: url('DejaVuLGCSerif-Italic.woff2') format('woff2');
+  font-weight: normal;
+  font-style: italic;
+}
+@font-face {
+  font-family: 'DejaVu Serif';
+  src: url('DejaVuLGCSerif-Bold.woff2') format('woff2');
+  font-weight: bold;
+  font-style: normal;
+}
+@font-face {
+  font-family: 'DejaVu Serif';
+  src: url('DejaVuLGCSerif-BoldItalic.woff2') format('woff2');
+  font-weight: bold;
+  font-style: italic;
+}
