diff --git a/public/js/public.js b/public/js/public.js
new file mode 100644
index 00000000..9a46a437
--- /dev/null
+++ b/public/js/public.js
@@ -0,0 +1,60 @@
+/* include jquery ui */
+require('jquery-ui/ui/widgets/resizable');
+require('jquery-ui/ui/widgets/tooltip');
+require('jquery-ui/ui/widgets/controlgroup');
+require('jquery-ui/ui/widgets/autocomplete');
+
+/* jquery and jquery plugins */
+require('jquery');
+require('jquery-textcomplete');
+require('jquery-mousewheel');
+require('../vendor/jquery-scrollspy');
+require('../vendor/showup/showup');
+
+/* bootstrap */
+require('bootstrap');
+require('bootstrap/dist/css/bootstrap.css');
+
+require('prismjs/themes/prism.css');
+require('highlight.js/styles/github-gist.css');
+
+require('markdown-it');
+require('markdown-it-abbr');
+require('markdown-it-footnote');
+require('markdown-it-deflist');
+require('markdown-it-mark');
+require('markdown-it-ins');
+require('markdown-it-sub');
+require('markdown-it-sup');
+require('markdown-it-container');
+require('markdown-it-mathjax');
+require('markdown-it-regexp');
+require('markdown-it-imsize');
+
+/* other vendors plugin */
+require('gist-embed');
+require('string');
+require('highlight.js');
+require('prismjs');
+require('prismjs/components/prism-wiki');
+require('js-cookie');
+require('to-markdown');
+
+require('raphael');
+require('js-sequence-diagrams');
+
+require('flowchart.js');
+require('viz.js');
+require('file-saver');
+require('store');
+require('js-url');
+require('visibilityjs');
+require('list.js');
+require('../vendor/md-toc');
+require('randomcolor');
+
+require('./syncscroll');
+require('./extra');
+require('./history');
+require('./pretty');
+require('./render');
diff --git a/public/views/pretty.ejs b/public/views/pretty.ejs
index 2546b1ac..d6533a1f 100644
--- a/public/views/pretty.ejs
+++ b/public/views/pretty.ejs
@@ -23,21 +23,19 @@
<% } else { %>
-
<% } %>
-
-
+