diff --git a/404.html b/404.html new file mode 100644 index 00000000..81f2ff0f --- /dev/null +++ b/404.html @@ -0,0 +1,178 @@ + + + + + + + + 404 Page not found + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Whoops, this page doesn't exist. Move along. (404 error)

+
+ +
+
+ + + + + + + + + + + + + + + + + + + diff --git a/categories/index.html b/categories/index.html new file mode 100644 index 00000000..bb6f6e00 --- /dev/null +++ b/categories/index.html @@ -0,0 +1,207 @@ + + + + + + + + Categories + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+
+
+

Categories

+ + +
+
+
+
+
+
+ + + + +
+
+
+ +
+
+
+ + + + + + + + + + + + + + + + + + + diff --git a/categories/index.xml b/categories/index.xml new file mode 100644 index 00000000..9527a577 --- /dev/null +++ b/categories/index.xml @@ -0,0 +1,15 @@ + + + + Categories on Quantum Package + https://quantumpackage.github.io/qp2/categories/ + Recent content in Categories on Quantum Package + Hugo -- gohugo.io + quantum.package@gmail.com + quantum.package@gmail.com + + + + + + \ No newline at end of file diff --git a/themes/beautifulhugo/static/css/highlight.min.css b/css/highlight.min.css similarity index 100% rename from themes/beautifulhugo/static/css/highlight.min.css rename to css/highlight.min.css diff --git a/themes/beautifulhugo/static/css/hugo-easy-gallery.css b/css/hugo-easy-gallery.css similarity index 100% rename from themes/beautifulhugo/static/css/hugo-easy-gallery.css rename to css/hugo-easy-gallery.css diff --git a/themes/beautifulhugo/static/css/main-minimal.css b/css/main-minimal.css similarity index 100% rename from themes/beautifulhugo/static/css/main-minimal.css rename to css/main-minimal.css diff --git a/themes/beautifulhugo/static/css/main.css b/css/main.css similarity index 100% rename from themes/beautifulhugo/static/css/main.css rename to css/main.css diff --git a/themes/beautifulhugo/static/css/pygment_highlights.css b/css/pygment_highlights.css similarity index 100% rename from themes/beautifulhugo/static/css/pygment_highlights.css rename to css/pygment_highlights.css diff --git a/static/favicon.ico b/favicon.ico similarity index 100% rename from static/favicon.ico rename to favicon.ico diff --git a/static/favicon/android-icon-144x144.png b/favicon/android-icon-144x144.png similarity index 100% rename from static/favicon/android-icon-144x144.png rename to favicon/android-icon-144x144.png diff --git a/static/favicon/android-icon-192x192.png b/favicon/android-icon-192x192.png similarity index 100% rename from static/favicon/android-icon-192x192.png rename to favicon/android-icon-192x192.png diff --git a/static/favicon/android-icon-36x36.png b/favicon/android-icon-36x36.png similarity index 100% rename from static/favicon/android-icon-36x36.png rename to favicon/android-icon-36x36.png diff --git a/static/favicon/android-icon-48x48.png b/favicon/android-icon-48x48.png similarity index 100% rename from static/favicon/android-icon-48x48.png rename to favicon/android-icon-48x48.png diff --git a/static/favicon/android-icon-72x72.png b/favicon/android-icon-72x72.png similarity index 100% rename from static/favicon/android-icon-72x72.png rename to favicon/android-icon-72x72.png diff --git a/static/favicon/android-icon-96x96.png b/favicon/android-icon-96x96.png similarity index 100% rename from static/favicon/android-icon-96x96.png rename to favicon/android-icon-96x96.png diff --git a/static/favicon/apple-icon-114x114.png b/favicon/apple-icon-114x114.png similarity index 100% rename from static/favicon/apple-icon-114x114.png rename to favicon/apple-icon-114x114.png diff --git a/static/favicon/apple-icon-120x120.png b/favicon/apple-icon-120x120.png similarity index 100% rename from static/favicon/apple-icon-120x120.png rename to favicon/apple-icon-120x120.png diff --git a/static/favicon/apple-icon-144x144.png b/favicon/apple-icon-144x144.png similarity index 100% rename from static/favicon/apple-icon-144x144.png rename to favicon/apple-icon-144x144.png diff --git a/static/favicon/apple-icon-152x152.png b/favicon/apple-icon-152x152.png similarity index 100% rename from static/favicon/apple-icon-152x152.png rename to favicon/apple-icon-152x152.png diff --git a/static/favicon/apple-icon-180x180.png b/favicon/apple-icon-180x180.png similarity index 100% rename from static/favicon/apple-icon-180x180.png rename to favicon/apple-icon-180x180.png diff --git a/static/favicon/apple-icon-57x57.png b/favicon/apple-icon-57x57.png similarity index 100% rename from static/favicon/apple-icon-57x57.png rename to favicon/apple-icon-57x57.png diff --git a/static/favicon/apple-icon-60x60.png b/favicon/apple-icon-60x60.png similarity index 100% rename from static/favicon/apple-icon-60x60.png rename to favicon/apple-icon-60x60.png diff --git a/static/favicon/apple-icon-72x72.png b/favicon/apple-icon-72x72.png similarity index 100% rename from static/favicon/apple-icon-72x72.png rename to favicon/apple-icon-72x72.png diff --git a/static/favicon/apple-icon-76x76.png b/favicon/apple-icon-76x76.png similarity index 100% rename from static/favicon/apple-icon-76x76.png rename to favicon/apple-icon-76x76.png diff --git a/static/favicon/apple-icon-precomposed.png b/favicon/apple-icon-precomposed.png similarity index 100% rename from static/favicon/apple-icon-precomposed.png rename to favicon/apple-icon-precomposed.png diff --git a/static/favicon/apple-icon.png b/favicon/apple-icon.png similarity index 100% rename from static/favicon/apple-icon.png rename to favicon/apple-icon.png diff --git a/static/favicon/browserconfig.xml b/favicon/browserconfig.xml similarity index 100% rename from static/favicon/browserconfig.xml rename to favicon/browserconfig.xml diff --git a/static/favicon/favicon-16x16.png b/favicon/favicon-16x16.png similarity index 100% rename from static/favicon/favicon-16x16.png rename to favicon/favicon-16x16.png diff --git a/static/favicon/favicon-32x32.png b/favicon/favicon-32x32.png similarity index 100% rename from static/favicon/favicon-32x32.png rename to favicon/favicon-32x32.png diff --git a/static/favicon/favicon-96x96.png b/favicon/favicon-96x96.png similarity index 100% rename from static/favicon/favicon-96x96.png rename to favicon/favicon-96x96.png diff --git a/static/favicon/manifest.json b/favicon/manifest.json similarity index 100% rename from static/favicon/manifest.json rename to favicon/manifest.json diff --git a/static/favicon/ms-icon-144x144.png b/favicon/ms-icon-144x144.png similarity index 100% rename from static/favicon/ms-icon-144x144.png rename to favicon/ms-icon-144x144.png diff --git a/static/favicon/ms-icon-150x150.png b/favicon/ms-icon-150x150.png similarity index 100% rename from static/favicon/ms-icon-150x150.png rename to favicon/ms-icon-150x150.png diff --git a/static/favicon/ms-icon-310x310.png b/favicon/ms-icon-310x310.png similarity index 100% rename from static/favicon/ms-icon-310x310.png rename to favicon/ms-icon-310x310.png diff --git a/static/favicon/ms-icon-70x70.png b/favicon/ms-icon-70x70.png similarity index 100% rename from static/favicon/ms-icon-70x70.png rename to favicon/ms-icon-70x70.png diff --git a/themes/beautifulhugo/static/img/404-southpark.jpg b/img/404-southpark.jpg similarity index 100% rename from themes/beautifulhugo/static/img/404-southpark.jpg rename to img/404-southpark.jpg diff --git a/static/img/QP2.png b/img/QP2.png similarity index 100% rename from static/img/QP2.png rename to img/QP2.png diff --git a/static/img/QP2_circle.png b/img/QP2_circle.png similarity index 100% rename from static/img/QP2_circle.png rename to img/QP2_circle.png diff --git a/static/img/Screen1.png b/img/Screen1.png similarity index 100% rename from static/img/Screen1.png rename to img/Screen1.png diff --git a/static/img/Screen2.png b/img/Screen2.png similarity index 100% rename from static/img/Screen2.png rename to img/Screen2.png diff --git a/themes/beautifulhugo/static/img/avatar-favicon.png b/img/avatar-favicon.png similarity index 100% rename from themes/beautifulhugo/static/img/avatar-favicon.png rename to img/avatar-favicon.png diff --git a/themes/beautifulhugo/static/img/avatar-icon.png b/img/avatar-icon.png similarity index 100% rename from themes/beautifulhugo/static/img/avatar-icon.png rename to img/avatar-icon.png diff --git a/themes/beautifulhugo/static/img/favicon.ico b/img/favicon.ico similarity index 100% rename from themes/beautifulhugo/static/img/favicon.ico rename to img/favicon.ico diff --git a/themes/beautifulhugo/static/img/hexagon-thumb.jpg b/img/hexagon-thumb.jpg similarity index 100% rename from themes/beautifulhugo/static/img/hexagon-thumb.jpg rename to img/hexagon-thumb.jpg diff --git a/themes/beautifulhugo/static/img/hexagon.jpg b/img/hexagon.jpg similarity index 100% rename from themes/beautifulhugo/static/img/hexagon.jpg rename to img/hexagon.jpg diff --git a/themes/beautifulhugo/static/img/path.jpg b/img/path.jpg similarity index 100% rename from themes/beautifulhugo/static/img/path.jpg rename to img/path.jpg diff --git a/themes/beautifulhugo/static/img/sphere-thumb.jpg b/img/sphere-thumb.jpg similarity index 100% rename from themes/beautifulhugo/static/img/sphere-thumb.jpg rename to img/sphere-thumb.jpg diff --git a/themes/beautifulhugo/static/img/sphere.jpg b/img/sphere.jpg similarity index 100% rename from themes/beautifulhugo/static/img/sphere.jpg rename to img/sphere.jpg diff --git a/themes/beautifulhugo/static/img/triangle-thumb.jpg b/img/triangle-thumb.jpg similarity index 100% rename from themes/beautifulhugo/static/img/triangle-thumb.jpg rename to img/triangle-thumb.jpg diff --git a/themes/beautifulhugo/static/img/triangle.jpg b/img/triangle.jpg similarity index 100% rename from themes/beautifulhugo/static/img/triangle.jpg rename to img/triangle.jpg diff --git a/index.html b/index.html new file mode 100644 index 00000000..7e7af426 --- /dev/null +++ b/index.html @@ -0,0 +1,266 @@ + + + + + + + + Quantum Package + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+ +
+
+
+
+

Quantum Package

+ + +
+ a programming environment for wave function methods + + + +
+
+
+
+ +
+ +
+ +
+
+
+
+

Quantum Package

+ + +
+ a programming environment for wave function methods + + + +
+
+
+
+
+
+ + + +
+
+
+ +
+

Quantum Package is an open-source programming environment for quantum +chemistry, which was built for developpers in order to help the design of new +computational methods, especially in the field of wave function theory.

+ +

From the user point of view, Quantum Package proposes a stand-alone path to +use optimized selected configuration interaction methods based on the CIPSI +algorithm that can efficiently approcah full CI quality for relatively large +systems.

+ + + +
+ + +
+ + +
+ + +
+
+
+ + + + + + + + + + + + + + + + + + + diff --git a/index.xml b/index.xml new file mode 100644 index 00000000..e066a0bd --- /dev/null +++ b/index.xml @@ -0,0 +1,37 @@ + + + + Quantum Package + https://quantumpackage.github.io/qp2/ + Recent content on Quantum Package + Hugo -- gohugo.io + quantum.package@gmail.com + quantum.package@gmail.com + Wed, 23 Jan 2019 22:35:00 +0100 + + + + + + QP terminal + https://quantumpackage.github.io/qp2/page/try/ + Wed, 23 Jan 2019 22:35:00 +0100 + quantum.package@gmail.com + https://quantumpackage.github.io/qp2/page/try/ + You can try Quantum Package in the terminal below. To configure the terminal for your favorite text editor, set the EDITOR environment variable: +export EDITOR=vim Here is an example of a few commands you can run to get the Full-CI energy of the HCN molecule. +First create a file named hcn.xyz containing the xyz coordinates. +$ cat << EOF > hcn.xyz 3 HCN molecule C 0.0 0.0 0.0 H 0. + + + + Video Tutorials + https://quantumpackage.github.io/qp2/page/tutorials/ + Wed, 23 Jan 2019 22:33:52 +0100 + quantum.package@gmail.com + https://quantumpackage.github.io/qp2/page/tutorials/ + Installation + + + + \ No newline at end of file diff --git a/themes/beautifulhugo/static/js/bootstrap.js b/js/bootstrap.js similarity index 100% rename from themes/beautifulhugo/static/js/bootstrap.js rename to js/bootstrap.js diff --git a/themes/beautifulhugo/static/js/bootstrap.min.js b/js/bootstrap.min.js similarity index 100% rename from themes/beautifulhugo/static/js/bootstrap.min.js rename to js/bootstrap.min.js diff --git a/themes/beautifulhugo/static/js/highlight.min.js b/js/highlight.min.js similarity index 100% rename from themes/beautifulhugo/static/js/highlight.min.js rename to js/highlight.min.js diff --git a/themes/beautifulhugo/static/js/jquery-1.11.2.min.js b/js/jquery-1.11.2.min.js similarity index 100% rename from themes/beautifulhugo/static/js/jquery-1.11.2.min.js rename to js/jquery-1.11.2.min.js diff --git a/themes/beautifulhugo/static/js/load-photoswipe.js b/js/load-photoswipe.js similarity index 100% rename from themes/beautifulhugo/static/js/load-photoswipe.js rename to js/load-photoswipe.js diff --git a/themes/beautifulhugo/static/js/main.js b/js/main.js similarity index 100% rename from themes/beautifulhugo/static/js/main.js rename to js/main.js diff --git a/page/1/index.html b/page/1/index.html new file mode 100644 index 00000000..b9811a53 --- /dev/null +++ b/page/1/index.html @@ -0,0 +1 @@ +https://quantumpackage.github.io/qp2/ \ No newline at end of file diff --git a/page/index.html b/page/index.html new file mode 100644 index 00000000..b4ced776 --- /dev/null +++ b/page/index.html @@ -0,0 +1,252 @@ + + + + + + + + Pages + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+

Pages

+
+
+
+
+
+
+
+ + +
+
+
+ +
+ +
+ +

QP terminal

+ + +
+ + +
+ + You can try Quantum Package in the terminal below. To configure the terminal for your favorite text editor, set the EDITOR environment variable: +export EDITOR=vim Here is an example of a few commands you can run to get the Full-CI energy of the HCN molecule. +First create a file named hcn.xyz containing the xyz coordinates. +$ cat << EOF > hcn.xyz 3 HCN molecule C 0.0 0.0 0.0 H 0. + [Read More] + +
+ + + +
+ + + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + diff --git a/page/index.xml b/page/index.xml new file mode 100644 index 00000000..18de70e1 --- /dev/null +++ b/page/index.xml @@ -0,0 +1,37 @@ + + + + Pages on Quantum Package + https://quantumpackage.github.io/qp2/page/ + Recent content in Pages on Quantum Package + Hugo -- gohugo.io + quantum.package@gmail.com + quantum.package@gmail.com + Wed, 23 Jan 2019 22:35:00 +0100 + + + + + + QP terminal + https://quantumpackage.github.io/qp2/page/try/ + Wed, 23 Jan 2019 22:35:00 +0100 + quantum.package@gmail.com + https://quantumpackage.github.io/qp2/page/try/ + You can try Quantum Package in the terminal below. To configure the terminal for your favorite text editor, set the EDITOR environment variable: +export EDITOR=vim Here is an example of a few commands you can run to get the Full-CI energy of the HCN molecule. +First create a file named hcn.xyz containing the xyz coordinates. +$ cat &lt;&lt; EOF &gt; hcn.xyz 3 HCN molecule C 0.0 0.0 0.0 H 0. + + + + Video Tutorials + https://quantumpackage.github.io/qp2/page/tutorials/ + Wed, 23 Jan 2019 22:33:52 +0100 + quantum.package@gmail.com + https://quantumpackage.github.io/qp2/page/tutorials/ + Installation + + + + \ No newline at end of file diff --git a/page/page/1/index.html b/page/page/1/index.html new file mode 100644 index 00000000..b1019473 --- /dev/null +++ b/page/page/1/index.html @@ -0,0 +1 @@ +https://quantumpackage.github.io/qp2/page/ \ No newline at end of file diff --git a/page/try/index.html b/page/try/index.html new file mode 100644 index 00000000..24073c23 --- /dev/null +++ b/page/try/index.html @@ -0,0 +1,277 @@ + + + + + + + + QP terminal + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+
+
+

QP terminal

+ + +
+
+
+
+
+
+ + + +
+
+
+
+
+ +

You can try Quantum Package in the terminal below. +To configure the terminal for your favorite text editor, +set the EDITOR environment variable:

+ +
export EDITOR=vim
+
+ +

Here is an example of a few commands you can run to +get the Full-CI energy of the HCN molecule.

+ +

First create a file named hcn.xyz containing the xyz coordinates.

+ +
$ cat << EOF > hcn.xyz
+3
+HCN molecule
+C    0.0    0.0    0.0
+H    0.0    0.0    1.064
+N    0.0    0.0    -1.156
+EOF
+
+ +

Create the EZFIO database as follows:

+ +
qp create_ezfio -b 6-31g hcn.xyz -o hcn
+
+ +

Run a Hartree-Fock calculation:

+ +
qp run SCF | tee scf.out
+
+ +

The MOs are saved in the EZFIO database. Now freeze the core electrons:

+ +
qp set_frozen_core
+
+ +

And run the CIPSI calculation in the valence full CI space:

+ +
qp run fci | tee fci.out
+
+ +

That’s it!

+ +

+

+ +
+ + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + diff --git a/page/tutorials/index.html b/page/tutorials/index.html new file mode 100644 index 00000000..c53cf548 --- /dev/null +++ b/page/tutorials/index.html @@ -0,0 +1,234 @@ + + + + + + + + Video Tutorials + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+
+
+

Video Tutorials

+ + +
+
+
+
+
+
+ + + +
+
+
+
+ + +
+ +

Installation

+ + +
+ +
+ + +
+ + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + diff --git a/sitemap.xml b/sitemap.xml new file mode 100644 index 00000000..f364644a --- /dev/null +++ b/sitemap.xml @@ -0,0 +1,36 @@ + + + + + https://quantumpackage.github.io/qp2/page/try/ + 2019-01-23T22:35:00+01:00 + + + + https://quantumpackage.github.io/qp2/page/tutorials/ + 2019-01-23T22:33:52+01:00 + + + + https://quantumpackage.github.io/qp2/ + 2019-01-23T22:35:00+01:00 + + + + https://quantumpackage.github.io/qp2/categories/ + 0 + + + + https://quantumpackage.github.io/qp2/page/ + 2019-01-23T22:35:00+01:00 + 0 + + + + https://quantumpackage.github.io/qp2/tags/ + 0 + + + \ No newline at end of file diff --git a/Makefile b/src/Makefile similarity index 68% rename from Makefile rename to src/Makefile index d2af1bbc..9a96007e 100644 --- a/Makefile +++ b/src/Makefile @@ -1,5 +1,5 @@ default: - hugo + hugo --destination "../" serve: hugo -D server diff --git a/README.md b/src/README.md similarity index 100% rename from README.md rename to src/README.md diff --git a/src/TODO b/src/TODO new file mode 100644 index 00000000..eca16e4d --- /dev/null +++ b/src/TODO @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/config.toml b/src/config.toml similarity index 100% rename from config.toml rename to src/config.toml diff --git a/content/_index.md b/src/content/_index.md similarity index 100% rename from content/_index.md rename to src/content/_index.md diff --git a/content/page/Tutorials.md b/src/content/page/Tutorials.md similarity index 100% rename from content/page/Tutorials.md rename to src/content/page/Tutorials.md diff --git a/content/page/try.md b/src/content/page/try.md similarity index 100% rename from content/page/try.md rename to src/content/page/try.md diff --git a/src/resources/_gen/assets/.gitignore b/src/resources/_gen/assets/.gitignore new file mode 100644 index 00000000..e69de29b diff --git a/src/resources/_gen/images/.gitignore b/src/resources/_gen/images/.gitignore new file mode 100644 index 00000000..e69de29b diff --git a/src/static/favicon.ico b/src/static/favicon.ico new file mode 100644 index 00000000..4ad94b24 Binary files /dev/null and b/src/static/favicon.ico differ diff --git a/src/static/favicon/android-icon-144x144.png b/src/static/favicon/android-icon-144x144.png new file mode 100644 index 00000000..49106b5f Binary files /dev/null and b/src/static/favicon/android-icon-144x144.png differ diff --git a/src/static/favicon/android-icon-192x192.png b/src/static/favicon/android-icon-192x192.png new file mode 100644 index 00000000..cfd97dc1 Binary files /dev/null and b/src/static/favicon/android-icon-192x192.png differ diff --git a/src/static/favicon/android-icon-36x36.png b/src/static/favicon/android-icon-36x36.png new file mode 100644 index 00000000..37f1bd82 Binary files /dev/null and b/src/static/favicon/android-icon-36x36.png differ diff --git a/src/static/favicon/android-icon-48x48.png b/src/static/favicon/android-icon-48x48.png new file mode 100644 index 00000000..b3fde838 Binary files /dev/null and b/src/static/favicon/android-icon-48x48.png differ diff --git a/src/static/favicon/android-icon-72x72.png b/src/static/favicon/android-icon-72x72.png new file mode 100644 index 00000000..3b4b943f Binary files /dev/null and b/src/static/favicon/android-icon-72x72.png differ diff --git a/src/static/favicon/android-icon-96x96.png b/src/static/favicon/android-icon-96x96.png new file mode 100644 index 00000000..6dad7d10 Binary files /dev/null and b/src/static/favicon/android-icon-96x96.png differ diff --git a/src/static/favicon/apple-icon-114x114.png b/src/static/favicon/apple-icon-114x114.png new file mode 100644 index 00000000..374f89eb Binary files /dev/null and b/src/static/favicon/apple-icon-114x114.png differ diff --git a/src/static/favicon/apple-icon-120x120.png b/src/static/favicon/apple-icon-120x120.png new file mode 100644 index 00000000..a522ba14 Binary files /dev/null and b/src/static/favicon/apple-icon-120x120.png differ diff --git a/src/static/favicon/apple-icon-144x144.png b/src/static/favicon/apple-icon-144x144.png new file mode 100644 index 00000000..49106b5f Binary files /dev/null and b/src/static/favicon/apple-icon-144x144.png differ diff --git a/src/static/favicon/apple-icon-152x152.png b/src/static/favicon/apple-icon-152x152.png new file mode 100644 index 00000000..f994e3be Binary files /dev/null and b/src/static/favicon/apple-icon-152x152.png differ diff --git a/src/static/favicon/apple-icon-180x180.png b/src/static/favicon/apple-icon-180x180.png new file mode 100644 index 00000000..7dd7e248 Binary files /dev/null and b/src/static/favicon/apple-icon-180x180.png differ diff --git a/src/static/favicon/apple-icon-57x57.png b/src/static/favicon/apple-icon-57x57.png new file mode 100644 index 00000000..a54fb9e1 Binary files /dev/null and b/src/static/favicon/apple-icon-57x57.png differ diff --git a/src/static/favicon/apple-icon-60x60.png b/src/static/favicon/apple-icon-60x60.png new file mode 100644 index 00000000..0df6eadc Binary files /dev/null and b/src/static/favicon/apple-icon-60x60.png differ diff --git a/src/static/favicon/apple-icon-72x72.png b/src/static/favicon/apple-icon-72x72.png new file mode 100644 index 00000000..3b4b943f Binary files /dev/null and b/src/static/favicon/apple-icon-72x72.png differ diff --git a/src/static/favicon/apple-icon-76x76.png b/src/static/favicon/apple-icon-76x76.png new file mode 100644 index 00000000..a3bfa088 Binary files /dev/null and b/src/static/favicon/apple-icon-76x76.png differ diff --git a/src/static/favicon/apple-icon-precomposed.png b/src/static/favicon/apple-icon-precomposed.png new file mode 100644 index 00000000..d3e48e0f Binary files /dev/null and b/src/static/favicon/apple-icon-precomposed.png differ diff --git a/src/static/favicon/apple-icon.png b/src/static/favicon/apple-icon.png new file mode 100644 index 00000000..d3e48e0f Binary files /dev/null and b/src/static/favicon/apple-icon.png differ diff --git a/src/static/favicon/browserconfig.xml b/src/static/favicon/browserconfig.xml new file mode 100644 index 00000000..7d453d3b --- /dev/null +++ b/src/static/favicon/browserconfig.xml @@ -0,0 +1,2 @@ + +#ffffff diff --git a/src/static/favicon/favicon-16x16.png b/src/static/favicon/favicon-16x16.png new file mode 100644 index 00000000..1f2a3e9a Binary files /dev/null and b/src/static/favicon/favicon-16x16.png differ diff --git a/src/static/favicon/favicon-32x32.png b/src/static/favicon/favicon-32x32.png new file mode 100644 index 00000000..c7012acb Binary files /dev/null and b/src/static/favicon/favicon-32x32.png differ diff --git a/src/static/favicon/favicon-96x96.png b/src/static/favicon/favicon-96x96.png new file mode 100644 index 00000000..6dad7d10 Binary files /dev/null and b/src/static/favicon/favicon-96x96.png differ diff --git a/src/static/favicon/manifest.json b/src/static/favicon/manifest.json new file mode 100644 index 00000000..013d4a6a --- /dev/null +++ b/src/static/favicon/manifest.json @@ -0,0 +1,41 @@ +{ + "name": "App", + "icons": [ + { + "src": "\/android-icon-36x36.png", + "sizes": "36x36", + "type": "image\/png", + "density": "0.75" + }, + { + "src": "\/android-icon-48x48.png", + "sizes": "48x48", + "type": "image\/png", + "density": "1.0" + }, + { + "src": "\/android-icon-72x72.png", + "sizes": "72x72", + "type": "image\/png", + "density": "1.5" + }, + { + "src": "\/android-icon-96x96.png", + "sizes": "96x96", + "type": "image\/png", + "density": "2.0" + }, + { + "src": "\/android-icon-144x144.png", + "sizes": "144x144", + "type": "image\/png", + "density": "3.0" + }, + { + "src": "\/android-icon-192x192.png", + "sizes": "192x192", + "type": "image\/png", + "density": "4.0" + } + ] +} \ No newline at end of file diff --git a/src/static/favicon/ms-icon-144x144.png b/src/static/favicon/ms-icon-144x144.png new file mode 100644 index 00000000..49106b5f Binary files /dev/null and b/src/static/favicon/ms-icon-144x144.png differ diff --git a/src/static/favicon/ms-icon-150x150.png b/src/static/favicon/ms-icon-150x150.png new file mode 100644 index 00000000..f09f6258 Binary files /dev/null and b/src/static/favicon/ms-icon-150x150.png differ diff --git a/src/static/favicon/ms-icon-310x310.png b/src/static/favicon/ms-icon-310x310.png new file mode 100644 index 00000000..8fde9817 Binary files /dev/null and b/src/static/favicon/ms-icon-310x310.png differ diff --git a/src/static/favicon/ms-icon-70x70.png b/src/static/favicon/ms-icon-70x70.png new file mode 100644 index 00000000..15355ee6 Binary files /dev/null and b/src/static/favicon/ms-icon-70x70.png differ diff --git a/src/static/img/QP2.png b/src/static/img/QP2.png new file mode 100644 index 00000000..f15ded98 Binary files /dev/null and b/src/static/img/QP2.png differ diff --git a/src/static/img/QP2_circle.png b/src/static/img/QP2_circle.png new file mode 100644 index 00000000..b8965f94 Binary files /dev/null and b/src/static/img/QP2_circle.png differ diff --git a/src/static/img/Screen1.png b/src/static/img/Screen1.png new file mode 100644 index 00000000..318a3c64 Binary files /dev/null and b/src/static/img/Screen1.png differ diff --git a/src/static/img/Screen2.png b/src/static/img/Screen2.png new file mode 100644 index 00000000..b18757d0 Binary files /dev/null and b/src/static/img/Screen2.png differ diff --git a/themes/beautifulhugo/.gitattributes b/src/themes/beautifulhugo/.gitattributes similarity index 100% rename from themes/beautifulhugo/.gitattributes rename to src/themes/beautifulhugo/.gitattributes diff --git a/themes/beautifulhugo/.gitignore b/src/themes/beautifulhugo/.gitignore similarity index 100% rename from themes/beautifulhugo/.gitignore rename to src/themes/beautifulhugo/.gitignore diff --git a/themes/beautifulhugo/LICENSE b/src/themes/beautifulhugo/LICENSE similarity index 100% rename from themes/beautifulhugo/LICENSE rename to src/themes/beautifulhugo/LICENSE diff --git a/themes/beautifulhugo/README.md b/src/themes/beautifulhugo/README.md similarity index 100% rename from themes/beautifulhugo/README.md rename to src/themes/beautifulhugo/README.md diff --git a/themes/beautifulhugo/archetypes/default.md b/src/themes/beautifulhugo/archetypes/default.md similarity index 100% rename from themes/beautifulhugo/archetypes/default.md rename to src/themes/beautifulhugo/archetypes/default.md diff --git a/themes/beautifulhugo/data/beautifulhugo/social.toml b/src/themes/beautifulhugo/data/beautifulhugo/social.toml similarity index 100% rename from themes/beautifulhugo/data/beautifulhugo/social.toml rename to src/themes/beautifulhugo/data/beautifulhugo/social.toml diff --git a/themes/beautifulhugo/i18n/en.yaml b/src/themes/beautifulhugo/i18n/en.yaml similarity index 100% rename from themes/beautifulhugo/i18n/en.yaml rename to src/themes/beautifulhugo/i18n/en.yaml diff --git a/themes/beautifulhugo/i18n/ja.yaml b/src/themes/beautifulhugo/i18n/ja.yaml similarity index 100% rename from themes/beautifulhugo/i18n/ja.yaml rename to src/themes/beautifulhugo/i18n/ja.yaml diff --git a/themes/beautifulhugo/i18n/ru.yaml b/src/themes/beautifulhugo/i18n/ru.yaml similarity index 100% rename from themes/beautifulhugo/i18n/ru.yaml rename to src/themes/beautifulhugo/i18n/ru.yaml diff --git a/themes/beautifulhugo/images/screenshot.png b/src/themes/beautifulhugo/images/screenshot.png similarity index 100% rename from themes/beautifulhugo/images/screenshot.png rename to src/themes/beautifulhugo/images/screenshot.png diff --git a/themes/beautifulhugo/images/tn.png b/src/themes/beautifulhugo/images/tn.png similarity index 100% rename from themes/beautifulhugo/images/tn.png rename to src/themes/beautifulhugo/images/tn.png diff --git a/themes/beautifulhugo/layouts/404.html b/src/themes/beautifulhugo/layouts/404.html similarity index 100% rename from themes/beautifulhugo/layouts/404.html rename to src/themes/beautifulhugo/layouts/404.html diff --git a/themes/beautifulhugo/layouts/_default/baseof.html b/src/themes/beautifulhugo/layouts/_default/baseof.html similarity index 100% rename from themes/beautifulhugo/layouts/_default/baseof.html rename to src/themes/beautifulhugo/layouts/_default/baseof.html diff --git a/themes/beautifulhugo/layouts/_default/list.html b/src/themes/beautifulhugo/layouts/_default/list.html similarity index 100% rename from themes/beautifulhugo/layouts/_default/list.html rename to src/themes/beautifulhugo/layouts/_default/list.html diff --git a/themes/beautifulhugo/layouts/_default/single.html b/src/themes/beautifulhugo/layouts/_default/single.html similarity index 100% rename from themes/beautifulhugo/layouts/_default/single.html rename to src/themes/beautifulhugo/layouts/_default/single.html diff --git a/themes/beautifulhugo/layouts/_default/terms.html b/src/themes/beautifulhugo/layouts/_default/terms.html similarity index 100% rename from themes/beautifulhugo/layouts/_default/terms.html rename to src/themes/beautifulhugo/layouts/_default/terms.html diff --git a/themes/beautifulhugo/layouts/index.html b/src/themes/beautifulhugo/layouts/index.html similarity index 100% rename from themes/beautifulhugo/layouts/index.html rename to src/themes/beautifulhugo/layouts/index.html diff --git a/themes/beautifulhugo/layouts/partials/disqus.html b/src/themes/beautifulhugo/layouts/partials/disqus.html similarity index 100% rename from themes/beautifulhugo/layouts/partials/disqus.html rename to src/themes/beautifulhugo/layouts/partials/disqus.html diff --git a/themes/beautifulhugo/layouts/partials/footer.html b/src/themes/beautifulhugo/layouts/partials/footer.html similarity index 100% rename from themes/beautifulhugo/layouts/partials/footer.html rename to src/themes/beautifulhugo/layouts/partials/footer.html diff --git a/themes/beautifulhugo/layouts/partials/footer_custom.html b/src/themes/beautifulhugo/layouts/partials/footer_custom.html similarity index 100% rename from themes/beautifulhugo/layouts/partials/footer_custom.html rename to src/themes/beautifulhugo/layouts/partials/footer_custom.html diff --git a/themes/beautifulhugo/layouts/partials/head.html b/src/themes/beautifulhugo/layouts/partials/head.html similarity index 100% rename from themes/beautifulhugo/layouts/partials/head.html rename to src/themes/beautifulhugo/layouts/partials/head.html diff --git a/themes/beautifulhugo/layouts/partials/head_custom.html b/src/themes/beautifulhugo/layouts/partials/head_custom.html similarity index 100% rename from themes/beautifulhugo/layouts/partials/head_custom.html rename to src/themes/beautifulhugo/layouts/partials/head_custom.html diff --git a/themes/beautifulhugo/layouts/partials/header.html b/src/themes/beautifulhugo/layouts/partials/header.html similarity index 100% rename from themes/beautifulhugo/layouts/partials/header.html rename to src/themes/beautifulhugo/layouts/partials/header.html diff --git a/themes/beautifulhugo/layouts/partials/nav.html b/src/themes/beautifulhugo/layouts/partials/nav.html similarity index 100% rename from themes/beautifulhugo/layouts/partials/nav.html rename to src/themes/beautifulhugo/layouts/partials/nav.html diff --git a/themes/beautifulhugo/layouts/partials/post_meta.html b/src/themes/beautifulhugo/layouts/partials/post_meta.html similarity index 100% rename from themes/beautifulhugo/layouts/partials/post_meta.html rename to src/themes/beautifulhugo/layouts/partials/post_meta.html diff --git a/themes/beautifulhugo/layouts/partials/translation_link.html b/src/themes/beautifulhugo/layouts/partials/translation_link.html similarity index 100% rename from themes/beautifulhugo/layouts/partials/translation_link.html rename to src/themes/beautifulhugo/layouts/partials/translation_link.html diff --git a/themes/beautifulhugo/layouts/shortcodes/figure.html b/src/themes/beautifulhugo/layouts/shortcodes/figure.html similarity index 100% rename from themes/beautifulhugo/layouts/shortcodes/figure.html rename to src/themes/beautifulhugo/layouts/shortcodes/figure.html diff --git a/themes/beautifulhugo/layouts/shortcodes/gallery.html b/src/themes/beautifulhugo/layouts/shortcodes/gallery.html similarity index 100% rename from themes/beautifulhugo/layouts/shortcodes/gallery.html rename to src/themes/beautifulhugo/layouts/shortcodes/gallery.html diff --git a/themes/beautifulhugo/layouts/shortcodes/load-photoswipe-theme.html b/src/themes/beautifulhugo/layouts/shortcodes/load-photoswipe-theme.html similarity index 100% rename from themes/beautifulhugo/layouts/shortcodes/load-photoswipe-theme.html rename to src/themes/beautifulhugo/layouts/shortcodes/load-photoswipe-theme.html diff --git a/themes/beautifulhugo/layouts/shortcodes/load-photoswipe.html b/src/themes/beautifulhugo/layouts/shortcodes/load-photoswipe.html similarity index 100% rename from themes/beautifulhugo/layouts/shortcodes/load-photoswipe.html rename to src/themes/beautifulhugo/layouts/shortcodes/load-photoswipe.html diff --git a/src/themes/beautifulhugo/static/css/highlight.min.css b/src/themes/beautifulhugo/static/css/highlight.min.css new file mode 100644 index 00000000..77ff6fa3 --- /dev/null +++ b/src/themes/beautifulhugo/static/css/highlight.min.css @@ -0,0 +1 @@ +.hljs{display:block;overflow-x:auto;padding:0.5em;background:#f9f9f9;-webkit-text-size-adjust:none}.hljs,.hljs-subst,.hljs-tag .hljs-title,.nginx .hljs-title{color:black}.hljs-string,.hljs-title,.hljs-constant,.hljs-parent,.hljs-tag .hljs-value,.hljs-rule .hljs-value,.hljs-preprocessor,.hljs-pragma,.hljs-name,.haml .hljs-symbol,.ruby .hljs-symbol,.ruby .hljs-symbol .hljs-string,.hljs-template_tag,.django .hljs-variable,.smalltalk .hljs-class,.hljs-addition,.hljs-flow,.hljs-stream,.bash .hljs-variable,.pf .hljs-variable,.apache .hljs-tag,.apache .hljs-cbracket,.tex .hljs-command,.tex .hljs-special,.erlang_repl .hljs-function_or_atom,.asciidoc .hljs-header,.markdown .hljs-header,.coffeescript .hljs-attribute{color:#800}.smartquote,.hljs-comment,.hljs-annotation,.diff .hljs-header,.hljs-chunk,.asciidoc .hljs-blockquote,.markdown .hljs-blockquote{color:#888}.hljs-number,.hljs-date,.hljs-regexp,.hljs-literal,.hljs-hexcolor,.smalltalk .hljs-symbol,.smalltalk .hljs-char,.go .hljs-constant,.hljs-change,.lasso .hljs-variable,.makefile .hljs-variable,.asciidoc .hljs-bullet,.markdown .hljs-bullet,.asciidoc .hljs-link_url,.markdown .hljs-link_url{color:#080}.hljs-label,.hljs-javadoc,.ruby .hljs-string,.hljs-decorator,.hljs-filter .hljs-argument,.hljs-localvars,.hljs-array,.hljs-attr_selector,.hljs-important,.hljs-pseudo,.hljs-pi,.haml .hljs-bullet,.hljs-doctype,.hljs-deletion,.hljs-envvar,.hljs-shebang,.apache .hljs-sqbracket,.nginx .hljs-built_in,.tex .hljs-formula,.erlang_repl .hljs-reserved,.hljs-prompt,.asciidoc .hljs-link_label,.markdown .hljs-link_label,.vhdl .hljs-attribute,.clojure .hljs-attribute,.asciidoc .hljs-attribute,.lasso .hljs-attribute,.coffeescript .hljs-property,.hljs-phony{color:#88f}.hljs-keyword,.hljs-id,.hljs-title,.hljs-built_in,.css .hljs-tag,.hljs-javadoctag,.hljs-phpdoc,.hljs-dartdoc,.hljs-yardoctag,.smalltalk .hljs-class,.hljs-winutils,.bash .hljs-variable,.pf .hljs-variable,.apache .hljs-tag,.hljs-type,.hljs-typename,.tex .hljs-command,.asciidoc .hljs-strong,.markdown .hljs-strong,.hljs-request,.hljs-status{font-weight:bold}.asciidoc .hljs-emphasis,.markdown .hljs-emphasis{font-style:italic}.nginx .hljs-built_in{font-weight:normal}.coffeescript .javascript,.javascript .xml,.lasso .markup,.tex .hljs-formula,.xml .javascript,.xml .vbscript,.xml .css,.xml .hljs-cdata{opacity:0.5} diff --git a/src/themes/beautifulhugo/static/css/hugo-easy-gallery.css b/src/themes/beautifulhugo/static/css/hugo-easy-gallery.css new file mode 100644 index 00000000..a2c5b32d --- /dev/null +++ b/src/themes/beautifulhugo/static/css/hugo-easy-gallery.css @@ -0,0 +1,157 @@ +/* +Put this file in /static/css/hugo-easy-gallery.css +Documentation and licence at https://github.com/liwenyip/hugo-easy-gallery/ +*/ + + +/* +Grid Layout Styles +*/ +.gallery { + overflow: hidden; + margin: 10px; + max-width: 768px; +} +.gallery .box { + float: left; + position: relative; + /* Default: 1 tile wide */ + width: 100%; + padding-bottom: 100%; +} +@media only screen and (min-width : 365px) { + /* Tablet view: 2 tiles */ + .gallery .box { + width: 50%; + padding-bottom: 50%; + } +} +@media only screen and (min-width : 480px) { + /* Small desktop / ipad view: 3 tiles */ + .gallery .box { + width: 33.3%; + padding-bottom: 33.3%; /* */ + } +} +@media only screen and (min-width : 9999px) { + /* Medium desktop: 4 tiles */ + .box { + width: 25%; + padding-bottom: 25%; + } +} + +/* +Transition styles +*/ +.gallery.hover-transition figure, +.gallery.hover-effect-zoom .img, +.gallery:not(.caption-effect-appear) figcaption, +.fancy-figure:not(.caption-effect-appear) figcaption { + -webkit-transition: all 0.3s ease-in-out; + -moz-transition: all 0.3s ease-in-out; + -o-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; +} +/* +figure styles +*/ +figure { + position:relative; /* purely to allow absolution positioning of figcaption */ + overflow: hidden; +} +.gallery figure { + position: absolute; + left: 5px; + right: 5px; + top: 5px; + bottom: 5px; +} +.gallery.hover-effect-grow figure:hover { + transform: scale(1.05); +} +.gallery.hover-effect-shrink figure:hover { + transform: scale(0.95); +} +.gallery.hover-effect-slidedown figure:hover { + transform: translateY(5px); +} +.gallery.hover-effect-slideup figure:hover { + transform: translateY(-5px); +} + +/* +img / a styles +*/ + +.gallery .img { + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; + background-size: cover; + background-position: 50% 50%; + background-repeat: no-repeat; +} +.gallery.hover-effect-zoom figure:hover .img { + transform: scale(1.05); +} +.gallery img { + display: none; /* only show the img if not inside a gallery */ +} +figure a { + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; +} + +/* +figcaption styles +*/ +.gallery figcaption, +.fancy-figure figcaption { + position: absolute; + bottom: 0; + left: 0; + right: 0; + background: #000; + color: #FFF; + text-align: center; + font-size: 75%; /* change this if you want bigger text */ + background: rgba(0, 0, 0, 0.5); + opacity: 1; +} +.gallery.caption-position-none figcaption, +.fancy-figure.caption-position-none figcaption { + display: none; +} +.gallery.caption-position-center figcaption, +.fancy-figure.caption-position-center figcaption { + top: 0; + padding: 40% 5px; +} +.gallery.caption-position-bottom figcaption, +.fancy-figure.caption-position-bottom figcaption { + padding: 5px; +} +.gallery.caption-effect-fade figure:not(:hover) figcaption, +.gallery.caption-effect-appear figure:not(:hover) figcaption, +.fancy-figure.caption-effect-fade figure:not(:hover) figcaption, +.fancy-figure.caption-effect-appear figure:not(:hover) figcaption { + background: rgba(0, 0, 0, 0); + opacity: 0; +} +.gallery.caption-effect-slide.caption-position-bottom figure:not(:hover) figcaption, +.fancy-figure.caption-effect-slide.caption-position-bottom figure:not(:hover) figcaption { + margin-bottom: -100%; +} +.gallery.caption-effect-slide.caption-position-center figure:not(:hover) figcaption, +.fancy-figure.caption-effect-slide.caption-position-center figure:not(:hover) figcaption { + top: 100%; +} +figcaption p { + margin: auto; /* override style in theme */ +} diff --git a/src/themes/beautifulhugo/static/css/main-minimal.css b/src/themes/beautifulhugo/static/css/main-minimal.css new file mode 100644 index 00000000..6baca797 --- /dev/null +++ b/src/themes/beautifulhugo/static/css/main-minimal.css @@ -0,0 +1,13 @@ +.main-content { + padding-bottom: 50px; +} + +footer.footer-min { + position: fixed; + bottom: 0; + width: 100%; + padding: 3px; + background-color: #f5f5f5; + border-top: 1px solid #eeeeee; + text-align: center; +} \ No newline at end of file diff --git a/src/themes/beautifulhugo/static/css/main.css b/src/themes/beautifulhugo/static/css/main.css new file mode 100644 index 00000000..2ffd9993 --- /dev/null +++ b/src/themes/beautifulhugo/static/css/main.css @@ -0,0 +1,704 @@ +@import url("pygment_highlights.css"); + +/* --- General --- */ + +body { + font-family: 'Lora', 'Times New Roman', serif; + font-size: 18px; + color: #404040; + position: relative; + background: #FFF; +} +p { + line-height: 1.5; + margin: 30px 0; +} +p a { + /* text-decoration: underline */ + color: #008AFF; +} +h1,h2,h3,h4,h5,h6 { + font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; + font-weight: 800; +} +a { + color: #008AFF; +} +a:hover, +a:focus { + color: #0085a1; +} +blockquote { + color: #808080; + font-style: italic; +} +blockquote p:first-child { + margin-top: 0; +} +hr.small { + max-width: 100px; + margin: 15px auto; + border-width: 4px; + border-color: inherit; + border-radius: 3px; +} + +.main-content { + padding-top: 80px; +} +@media only screen and (min-width: 768px) { + .main-content { + padding-top: 130px; + } +} + +.main-explain-area { + font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; + padding: 15px inherit; +} + +.hideme { + display: none; +} + +::-moz-selection { + color: white; + text-shadow: none; + background: #0085a1; +} +::selection { + color: white; + text-shadow: none; + background: #0085a1; +} +img::selection { + color: white; + background: transparent; +} +img::-moz-selection { + color: white; + background: transparent; +} + +img { + display: block; + margin: auto; + max-width: 100%; +} + +.disqus-comments { + margin-top: 30px; +} + +@media only screen and (min-width: 768px) { + .disqus-comments { + margin-top: 40px; + } +} + +/* --- Navbar --- */ + +.navbar-custom { + background: #F5F5F5; + border-bottom: 1px solid #EAEAEA; + font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; +} + +.navbar-custom .nav li a { + text-transform: uppercase; + font-size: 12px; + letter-spacing: 1px; +} + +.navbar-custom .navbar-brand, +.navbar-custom .nav li a { + font-weight: 800; + color: #404040; +} + +.navbar-custom .navbar-brand:hover, +.navbar-custom .navbar-brand:focus , +.navbar-custom .nav li a:hover, +.navbar-custom .nav li a:focus { + color: #0085a1; +} + +.navbar-custom .navbar-brand-logo { + padding-top: 0; + -webkit-transition: padding .5s ease-in-out; + -moz-transition: padding .5s ease-in-out; + transition: padding .5s ease-in-out; +} +.navbar-custom .navbar-brand-logo img { + height: 50px; + -webkit-transition: height .5s ease-in-out; + -moz-transition: height .5s ease-in-out; + transition: height .5s ease-in-out; +} +.navbar-custom.top-nav-short .navbar-brand-logo { + padding-top: 5px; +} +.navbar-custom.top-nav-short .navbar-brand-logo img { + height: 40px; +} + +@media only screen and (min-width: 768px) { + .navbar-custom { + padding: 20px 0; + -webkit-transition: background .5s ease-in-out,padding .5s ease-in-out; + -moz-transition: background .5s ease-in-out,padding .5s ease-in-out; + transition: background .5s ease-in-out,padding .5s ease-in-out; + } + + .navbar-custom.top-nav-short { + padding: 0; + } +} + +.navbar-custom .avatar-container { + opacity: 1; + position: absolute; + -webkit-transition: opacity 0.5s ease-in-out; + -moz-transition: opacity 0.5s ease-in-out; + transition: opacity 0.5s ease-in-out; + left: 50%; + width: 50px; + margin-top: -25px; +} +.navbar-custom .avatar-container .avatar-img-border { + width: 100%; + border-radius: 50%; + margin-left: -50%; + display: inline-block; + box-shadow: 0 0 8px rgba(0, 0, 0, .8); + -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, .8); + -moz-box-shadow: 0 0 8px rgba(0, 0, 0, .8); +} +.navbar-custom .avatar-container .avatar-img { + width: 100%; + border-radius: 50%; + display: block; +} + +.navbar-custom.top-nav-short .avatar-container{ + opacity: 0; +} + +.navbar-custom.top-nav-expanded .avatar-container { + display: none; +} + +@media only screen and (min-width: 768px) { + .navbar-custom .avatar-container { + width: 100px; + margin-top: -50px; + } + + .navbar-custom .avatar-container .avatar-img-border { + width: 100%; + box-shadow: 1px 1px 2px rgba(0, 0, 0, .8); + -webkit-box-shadow: 1px 1px 2px rgba(0, 0, 0, .8); + -moz-box-shadow: 1px 1px 2px rgba(0, 0, 0, .8); + } + + .navbar-custom .avatar-container .avatar-img { + width: 100%; + } +} + +/* Multi-level navigation links */ +.navbar-custom .nav .navlinks-container { + position: relative; +} +.navbar-custom .nav .navlinks-parent:after { + content: " \25BC"; +} +.navbar-custom .nav .navlinks-children { + width: 100%; + display: none; + word-break: break-word; +} +.navbar-custom .nav .navlinks-container .navlinks-children a { + display: block; + padding: 10px; + padding-left: 30px; + background: #f5f5f5; + text-decoration: none !important; + border-width: 0 1px 1px 1px; + font-weight: normal; +} +@media only screen and (max-width: 767px) { + .navbar-custom .nav .navlinks-container.show-children { + background: #eee; + } + .navbar-custom .nav .navlinks-container.show-children .navlinks-children { + display: block; + } +} +@media only screen and (min-width: 768px) { + .navbar-custom .nav .navlinks-container { + text-align: center; + } + .navbar-custom .nav .navlinks-container:hover { + background: #eee; + } + .navbar-custom .nav .navlinks-container:hover .navlinks-children { + display: block; + } + .navbar-custom .nav .navlinks-children { + position: absolute; + } + .navbar-custom .nav .navlinks-container .navlinks-children a { + padding-left: 10px; + border: 1px solid #eaeaea; + border-width: 0 1px 1px; + } +} + +/* --- Footer --- */ + +footer { + padding: 30px 0; + background: #F5F5F5; + border-top: 1px #EAEAEA solid; + margin-top: 50px; + font-size: 14px; +} + +footer a { + color: #404040; +} + +footer .list-inline { + margin: 0; + padding: 0; +} +footer .copyright { + font-family: Open Sans; + text-align: center; + margin-bottom: 0; +} +footer .theme-by { + text-align: center; + margin: 10px 0 0; +} + +@media only screen and (min-width: 768px) { + footer { + padding: 50px 0; + } + footer .footer-links { + font-size: 18px; + } + footer .copyright { + font-size: 16px; + } +} + +/* --- Post preview --- */ + +.post-preview { + padding: 20px 0; + border-bottom: 1px solid #eee; +} + +@media only screen and (min-width: 768px) { + .post-preview { + padding: 35px 0; + } +} + +.post-preview:last-child { + border-bottom: 0; +} + +.post-preview a { + text-decoration: none; + color: #404040; +} + +.post-preview a:focus, +.post-preview a:hover { + text-decoration: none; + color: #0085a1; +} + +.post-preview .post-title { + font-size: 30px; + margin-top: 0; +} +.post-preview .post-subtitle { + margin: 0; + font-weight: 300; + margin-bottom: 10px; +} +.post-preview .post-meta, +.post-heading .post-meta { + color: #808080; + font-size: 18px; + font-style: italic; + margin: 0 0 10px; +} +.post-preview .post-meta a, +.post-heading .post-meta a { + color: #404040; + text-decoration: none; +} +.post-preview .post-entry { + font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; +} +.post-entry-container { + display: inline-block; + width: 100%; +} +.post-entry { + width: 100%; +} +.post-image { + float: right; + height: 192px; + width: 192px; + margin-top: -35px; + filter: grayscale(90%); +} +.post-image:hover { + filter: grayscale(0%); +} +.post-image img { + border-radius: 100px; + height: 192px; + width: 192px; +} +.post-preview .post-read-more { + font-weight: 800; + float: right; +} + +@media only screen and (min-width: 768px) { + .post-preview .post-title { + font-size: 36px; + } +} + +/* --- Tags --- */ + +.blog-tags { + font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; + color: #999; + font-size: 15px; + margin-bottom: 30px; +} + +.blog-tags a { + color: #008AFF; + text-decoration: none; + padding: 0px 5px; +} + +.blog-tags a:hover { + border-radius: 2px; + color: #008AFF; + background-color: #CCC; +} + +.post-preview .blog-tags { + margin-top: 5px; + margin-bottom: 0; +} + +@media only screen and (min-width: 768px) { + .post-preview .blog-tags { + margin-top: 10px; + } +} + +@media only screen and (max-width: 500px) { + .post-image, .post-image img { + height: 100px; + width: 100px; + } + + .post-image { + width: 100%; + text-align: center; + margin-top: 0; + float: left; + } +} +/* --- Post and page headers --- */ + +.intro-header { + margin: 80px 0 20px; + position: relative; +} +.intro-header.big-img { + background: no-repeat center center; + -webkit-background-size: cover; + -moz-background-size: cover; + background-size: cover; + -o-background-size: cover; + margin-top: 51px; /* The small navbar is 50px tall + 1px border */ + margin-bottom: 35px; +} +.intro-header.big-img .big-img-transition { + position: absolute; + width: 100%; + height: 100%; + opacity: 0; + background: no-repeat center center; + -webkit-background-size: cover; + -moz-background-size: cover; + background-size: cover; + -o-background-size: cover; + -webkit-transition: opacity 1s linear; + -moz-transition: opacity 1s linear; + transition: opacity 1s linear; +} +.intro-header .page-heading { + text-align: center; +} +.intro-header.big-img .page-heading, +.intro-header.big-img .post-heading { + padding: 100px 0; + color: #FFF; + text-shadow: 1px 1px 3px #000; +} +.intro-header .page-heading h1 { + margin-top: 0; + font-size: 50px; +} +.intro-header .post-heading h1 { + margin-top: 0; + font-size: 35px; +} +.intro-header .page-heading .page-subheading, +.intro-header .post-heading .post-subheading { + font-size: 27px; + line-height: 1.1; + display: block; + font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; + font-weight: 300; + margin: 10px 0 0; +} +.intro-header .post-heading .post-subheading { + margin-bottom: 20px; +} +.intro-header.big-img .page-heading .page-subheading, +.intro-header.big-img .post-heading .post-subheading { + font-weight: 400; +} +.intro-header.big-img .page-heading hr { + box-shadow: 1px 1px 3px #000; + -webkit-box-shadow: 1px 1px 3px #000; + -moz-box-shadow: 1px 1px 3px #000; +} +.intro-header.big-img .post-heading .post-meta { + color: #EEE; +} +.intro-header.big-img .img-desc { + background: rgba(30, 30, 30, 0.6); + position: absolute; + padding: 5px 10px; + font-size: 11px; + color: #EEE; + font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; + right: 0; + bottom: 0; + display: none; +} +@media only screen and (min-width: 768px) { + .intro-header { + margin-top: 130px; + } + .intro-header.big-img { + margin-top: 91px; /* Full navbar is small navbar + 20px padding on each side when expanded */ + } + .intro-header.big-img .page-heading, + .intro-header.big-img .post-heading { + padding: 150px 0; + } + .intro-header .page-heading h1 { + font-size: 80px; + } + .intro-header .post-heading h1 { + font-size: 50px; + } + .intro-header.big-img .img-desc { + font-size: 14px; + } +} + +.header-section.has-img .no-img { + margin-top: 0; + background: #FCFCFC; + margin: 0 0 40px; + padding: 20px 0; + box-shadow: 0 0 5px #AAA; +} +/* Many phones are 320 or 360px, so make sure images are a proper aspect ratio in those cases */ +.header-section.has-img .intro-header.no-img { + display: none; +} +@media only screen and (max-width: 365px) { + .header-section.has-img .intro-header.no-img { + display: block; + } + .intro-header.big-img { + width: 100%; + height: 220px; + } + .intro-header.big-img .page-heading, + .intro-header.big-img .post-heading { + display: none; + } + .header-section.has-img .big-img { + margin-bottom: 0; + } +} +@media only screen and (max-width: 325px) { + .intro-header.big-img { + height: 200px; + } +} + +.caption { + text-align: center; + font-size: 14px; + padding: 10px; + font-style: italic; + margin: 0; + display: block; + border-bottom-right-radius: 5px; + border-bottom-left-radius: 5px; +} + +/* --- Pager --- */ + +.pager li a { + font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; + text-transform: uppercase; + font-size: 14px; + font-weight: 800; + letter-spacing: 1px; + padding: 10px 5px; + background: #FFF; + border-radius: 0; + color: #404040; +} +@media only screen and (min-width: 768px) { + .pager li a { + padding: 15px 25px; + } +} +.pager li a:hover, +.pager li a:focus { + color: #FFF; + background: #0085a1; + border: 1px solid #0085a1; +} + +.pager { + margin: 10px 0 0; +} + +.pager.blog-pager { + margin-top: 0; +} + +@media only screen and (min-width: 768px) { + .pager.blog-pager { + margin-top: 10px; + } +} + +/* --- Tables --- */ + +table { + padding: 0; +} +table tr { + border-top: 1px solid #cccccc; + background-color: #ffffff; + margin: 0; + padding: 0; +} +table tr:nth-child(2n) { + background-color: #f8f8f8; +} +table tr th { + font-weight: bold; + border: 1px solid #cccccc; + text-align: left; + margin: 0; + padding: 6px 13px; +} +table tr td { + border: 1px solid #cccccc; + text-align: left; + margin: 0; + padding: 6px 13px; +} +table tr th :first-child, +table tr td :first-child { + margin-top: 0; +} +table tr th :last-child, +table tr td :last-child { + margin-bottom: 0; +} + +/* --- Code blocks --- */ + +pre { + font-size: 16px; + line-height: 1.5em; +} +pre code { + white-space: pre; +} +pre.highlight, .highlight > pre, td.code pre { + background: #FAFAFA; + background-image: linear-gradient(#F9F9F9 50%, #FDFDFD 50%); + background-repeat: repeat; + background-size: 3em 3em; + background-position: 0px 10px; + border-left: 7px solid #444; +} +code table, code table td, code table th, code table tbody, code table tr, +td.gutter pre { + padding: 0; + border: none; + background-color: #fff; +} +.highlight > pre { + padding: 0; +} +td.code pre { + border-width: 0 0 0 2px; + border-style: solid; + border-color: #444; + border-radius: 0; +} +td.gutter { + padding-top: 3px; +} + +/* --- Social media sharing section --- */ + +#social-share-section { + margin-bottom: 30px; +} + +/* --- Google Custom Search Engine Popup --- */ +#modalSearch table tr, #modalSearch table tr td, #modalSearch table tr th { + border:none; +} +.reset-box-sizing, .reset-box-sizing *, .reset-box-sizing *:before, .reset-box-sizing *:after, .gsc-inline-block { + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; +} +input.gsc-input, .gsc-input-box, .gsc-input-box-hover, .gsc-input-box-focus, .gsc-search-button { + box-sizing: content-box; + line-height: normal; +} diff --git a/src/themes/beautifulhugo/static/css/pygment_highlights.css b/src/themes/beautifulhugo/static/css/pygment_highlights.css new file mode 100644 index 00000000..015cf7cf --- /dev/null +++ b/src/themes/beautifulhugo/static/css/pygment_highlights.css @@ -0,0 +1,66 @@ +/* .highlight { background: #ffffff; } */ +/* .highlight pre { background-color: #fff; font-size: 16px } */ +.highlight .c { color: #999988; font-style: italic } /* Comment */ +.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ +.highlight .k { font-weight: bold } /* Keyword */ +.highlight .o { font-weight: bold } /* Operator */ +.highlight .cm { color: #999988; font-style: italic } /* Comment.Multiline */ +.highlight .cp { color: #999999; font-weight: bold } /* Comment.Preproc */ +.highlight .c1 { color: #999988; font-style: italic } /* Comment.Single */ +.highlight .cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */ +.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ +.highlight .gd .x { color: #000000; background-color: #ffaaaa } /* Generic.Deleted.Specific */ +.highlight .ge { font-style: italic } /* Generic.Emph */ +.highlight .gr { color: #aa0000 } /* Generic.Error */ +.highlight .gh { color: #999999 } /* Generic.Heading */ +.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ +.highlight .gi .x { color: #000000; background-color: #aaffaa } /* Generic.Inserted.Specific */ +.highlight .go { color: #888888 } /* Generic.Output */ +.highlight .gp { color: #555555 } /* Generic.Prompt */ +.highlight .gs { font-weight: bold } /* Generic.Strong */ +.highlight .gu { color: #aaaaaa } /* Generic.Subheading */ +.highlight .gt { color: #aa0000 } /* Generic.Traceback */ +.highlight .kc { font-weight: bold } /* Keyword.Constant */ +.highlight .kd { font-weight: bold } /* Keyword.Declaration */ +.highlight .kp { font-weight: bold } /* Keyword.Pseudo */ +.highlight .kr { font-weight: bold } /* Keyword.Reserved */ +.highlight .kt { color: #445588; font-weight: bold } /* Keyword.Type */ +.highlight .m { color: #009999 } /* Literal.Number */ +.highlight .s { color: #d14 } /* Literal.String */ +.highlight .na { color: #008080 } /* Name.Attribute */ +.highlight .nb { color: #0086B3 } /* Name.Builtin */ +.highlight .nc { color: #445588; font-weight: bold } /* Name.Class */ +.highlight .no { color: #008080 } /* Name.Constant */ +.highlight .ni { color: #800080 } /* Name.Entity */ +.highlight .ne { color: #990000; font-weight: bold } /* Name.Exception */ +.highlight .nf { color: #990000; font-weight: bold } /* Name.Function */ +.highlight .nn { color: #555555 } /* Name.Namespace */ +.highlight .nt { color: #000080 } /* Name.Tag */ +.highlight .nv { color: #008080 } /* Name.Variable */ +.highlight .ow { font-weight: bold } /* Operator.Word */ +.highlight .w { color: #bbbbbb } /* Text.Whitespace */ +.highlight .mf { color: #009999 } /* Literal.Number.Float */ +.highlight .mh { color: #009999 } /* Literal.Number.Hex */ +.highlight .mi { color: #009999 } /* Literal.Number.Integer */ +.highlight .mo { color: #009999 } /* Literal.Number.Oct */ +.highlight .sb { color: #d14 } /* Literal.String.Backtick */ +.highlight .sc { color: #d14 } /* Literal.String.Char */ +.highlight .sd { color: #d14 } /* Literal.String.Doc */ +.highlight .s2 { color: #d14 } /* Literal.String.Double */ +.highlight .se { color: #d14 } /* Literal.String.Escape */ +.highlight .sh { color: #d14 } /* Literal.String.Heredoc */ +.highlight .si { color: #d14 } /* Literal.String.Interpol */ +.highlight .sx { color: #d14 } /* Literal.String.Other */ +.highlight .sr { color: #009926 } /* Literal.String.Regex */ +.highlight .s1 { color: #d14 } /* Literal.String.Single */ +.highlight .ss { color: #990073 } /* Literal.String.Symbol */ +.highlight .bp { color: #999999 } /* Name.Builtin.Pseudo */ +.highlight .vc { color: #008080 } /* Name.Variable.Class */ +.highlight .vg { color: #008080 } /* Name.Variable.Global */ +.highlight .vi { color: #008080 } /* Name.Variable.Instance */ +.highlight .il { color: #009999 } /* Literal.Number.Integer.Long */ + +/* Make line numbers unselectable: excludes line numbers from copy-paste user ops */ +.highlight .lineno {color:rgba(0,0,0,0.3);padding: 0 10px;-webkit-user-select: none;-moz-user-select: none; -o-user-select: none;} +.lineno::-moz-selection {background-color: transparent;} /* Mozilla specific */ +.lineno::selection {background-color: transparent;} /* Other major browsers */ diff --git a/src/themes/beautifulhugo/static/img/404-southpark.jpg b/src/themes/beautifulhugo/static/img/404-southpark.jpg new file mode 100644 index 00000000..354eb125 Binary files /dev/null and b/src/themes/beautifulhugo/static/img/404-southpark.jpg differ diff --git a/src/themes/beautifulhugo/static/img/avatar-favicon.png b/src/themes/beautifulhugo/static/img/avatar-favicon.png new file mode 100644 index 00000000..94aed04e Binary files /dev/null and b/src/themes/beautifulhugo/static/img/avatar-favicon.png differ diff --git a/src/themes/beautifulhugo/static/img/avatar-icon.png b/src/themes/beautifulhugo/static/img/avatar-icon.png new file mode 100644 index 00000000..cc831790 Binary files /dev/null and b/src/themes/beautifulhugo/static/img/avatar-icon.png differ diff --git a/src/themes/beautifulhugo/static/img/favicon.ico b/src/themes/beautifulhugo/static/img/favicon.ico new file mode 100644 index 00000000..3479cbbb Binary files /dev/null and b/src/themes/beautifulhugo/static/img/favicon.ico differ diff --git a/src/themes/beautifulhugo/static/img/hexagon-thumb.jpg b/src/themes/beautifulhugo/static/img/hexagon-thumb.jpg new file mode 100644 index 00000000..2572be9d Binary files /dev/null and b/src/themes/beautifulhugo/static/img/hexagon-thumb.jpg differ diff --git a/src/themes/beautifulhugo/static/img/hexagon.jpg b/src/themes/beautifulhugo/static/img/hexagon.jpg new file mode 100644 index 00000000..cf244bba Binary files /dev/null and b/src/themes/beautifulhugo/static/img/hexagon.jpg differ diff --git a/src/themes/beautifulhugo/static/img/path.jpg b/src/themes/beautifulhugo/static/img/path.jpg new file mode 100644 index 00000000..5855c091 Binary files /dev/null and b/src/themes/beautifulhugo/static/img/path.jpg differ diff --git a/src/themes/beautifulhugo/static/img/sphere-thumb.jpg b/src/themes/beautifulhugo/static/img/sphere-thumb.jpg new file mode 100644 index 00000000..fa5e2ee4 Binary files /dev/null and b/src/themes/beautifulhugo/static/img/sphere-thumb.jpg differ diff --git a/src/themes/beautifulhugo/static/img/sphere.jpg b/src/themes/beautifulhugo/static/img/sphere.jpg new file mode 100644 index 00000000..820cf7eb Binary files /dev/null and b/src/themes/beautifulhugo/static/img/sphere.jpg differ diff --git a/src/themes/beautifulhugo/static/img/triangle-thumb.jpg b/src/themes/beautifulhugo/static/img/triangle-thumb.jpg new file mode 100644 index 00000000..8eb0761f Binary files /dev/null and b/src/themes/beautifulhugo/static/img/triangle-thumb.jpg differ diff --git a/src/themes/beautifulhugo/static/img/triangle.jpg b/src/themes/beautifulhugo/static/img/triangle.jpg new file mode 100644 index 00000000..2dfbcec7 Binary files /dev/null and b/src/themes/beautifulhugo/static/img/triangle.jpg differ diff --git a/src/themes/beautifulhugo/static/js/bootstrap.js b/src/themes/beautifulhugo/static/js/bootstrap.js new file mode 100644 index 00000000..4139b6fc --- /dev/null +++ b/src/themes/beautifulhugo/static/js/bootstrap.js @@ -0,0 +1,2306 @@ +/*! + * Bootstrap v3.3.2 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +if (typeof jQuery === 'undefined') { + throw new Error('Bootstrap\'s JavaScript requires jQuery') +} + ++function ($) { + 'use strict'; + var version = $.fn.jquery.split(' ')[0].split('.') + if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1)) { + throw new Error('Bootstrap\'s JavaScript requires jQuery version 1.9.1 or higher') + } +}(jQuery); + +/* ======================================================================== + * Bootstrap: transition.js v3.3.2 + * http://getbootstrap.com/javascript/#transitions + * ======================================================================== + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/) + // ============================================================ + + function transitionEnd() { + var el = document.createElement('bootstrap') + + var transEndEventNames = { + WebkitTransition : 'webkitTransitionEnd', + MozTransition : 'transitionend', + OTransition : 'oTransitionEnd otransitionend', + transition : 'transitionend' + } + + for (var name in transEndEventNames) { + if (el.style[name] !== undefined) { + return { end: transEndEventNames[name] } + } + } + + return false // explicit for ie8 ( ._.) + } + + // http://blog.alexmaccaw.com/css-transitions + $.fn.emulateTransitionEnd = function (duration) { + var called = false + var $el = this + $(this).one('bsTransitionEnd', function () { called = true }) + var callback = function () { if (!called) $($el).trigger($.support.transition.end) } + setTimeout(callback, duration) + return this + } + + $(function () { + $.support.transition = transitionEnd() + + if (!$.support.transition) return + + $.event.special.bsTransitionEnd = { + bindType: $.support.transition.end, + delegateType: $.support.transition.end, + handle: function (e) { + if ($(e.target).is(this)) return e.handleObj.handler.apply(this, arguments) + } + } + }) + +}(jQuery); + +/* ======================================================================== + * Bootstrap: alert.js v3.3.2 + * http://getbootstrap.com/javascript/#alerts + * ======================================================================== + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // ALERT CLASS DEFINITION + // ====================== + + var dismiss = '[data-dismiss="alert"]' + var Alert = function (el) { + $(el).on('click', dismiss, this.close) + } + + Alert.VERSION = '3.3.2' + + Alert.TRANSITION_DURATION = 150 + + Alert.prototype.close = function (e) { + var $this = $(this) + var selector = $this.attr('data-target') + + if (!selector) { + selector = $this.attr('href') + selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 + } + + var $parent = $(selector) + + if (e) e.preventDefault() + + if (!$parent.length) { + $parent = $this.closest('.alert') + } + + $parent.trigger(e = $.Event('close.bs.alert')) + + if (e.isDefaultPrevented()) return + + $parent.removeClass('in') + + function removeElement() { + // detach from parent, fire event then clean up data + $parent.detach().trigger('closed.bs.alert').remove() + } + + $.support.transition && $parent.hasClass('fade') ? + $parent + .one('bsTransitionEnd', removeElement) + .emulateTransitionEnd(Alert.TRANSITION_DURATION) : + removeElement() + } + + + // ALERT PLUGIN DEFINITION + // ======================= + + function Plugin(option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.alert') + + if (!data) $this.data('bs.alert', (data = new Alert(this))) + if (typeof option == 'string') data[option].call($this) + }) + } + + var old = $.fn.alert + + $.fn.alert = Plugin + $.fn.alert.Constructor = Alert + + + // ALERT NO CONFLICT + // ================= + + $.fn.alert.noConflict = function () { + $.fn.alert = old + return this + } + + + // ALERT DATA-API + // ============== + + $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close) + +}(jQuery); + +/* ======================================================================== + * Bootstrap: button.js v3.3.2 + * http://getbootstrap.com/javascript/#buttons + * ======================================================================== + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // BUTTON PUBLIC CLASS DEFINITION + // ============================== + + var Button = function (element, options) { + this.$element = $(element) + this.options = $.extend({}, Button.DEFAULTS, options) + this.isLoading = false + } + + Button.VERSION = '3.3.2' + + Button.DEFAULTS = { + loadingText: 'loading...' + } + + Button.prototype.setState = function (state) { + var d = 'disabled' + var $el = this.$element + var val = $el.is('input') ? 'val' : 'html' + var data = $el.data() + + state = state + 'Text' + + if (data.resetText == null) $el.data('resetText', $el[val]()) + + // push to event loop to allow forms to submit + setTimeout($.proxy(function () { + $el[val](data[state] == null ? this.options[state] : data[state]) + + if (state == 'loadingText') { + this.isLoading = true + $el.addClass(d).attr(d, d) + } else if (this.isLoading) { + this.isLoading = false + $el.removeClass(d).removeAttr(d) + } + }, this), 0) + } + + Button.prototype.toggle = function () { + var changed = true + var $parent = this.$element.closest('[data-toggle="buttons"]') + + if ($parent.length) { + var $input = this.$element.find('input') + if ($input.prop('type') == 'radio') { + if ($input.prop('checked') && this.$element.hasClass('active')) changed = false + else $parent.find('.active').removeClass('active') + } + if (changed) $input.prop('checked', !this.$element.hasClass('active')).trigger('change') + } else { + this.$element.attr('aria-pressed', !this.$element.hasClass('active')) + } + + if (changed) this.$element.toggleClass('active') + } + + + // BUTTON PLUGIN DEFINITION + // ======================== + + function Plugin(option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.button') + var options = typeof option == 'object' && option + + if (!data) $this.data('bs.button', (data = new Button(this, options))) + + if (option == 'toggle') data.toggle() + else if (option) data.setState(option) + }) + } + + var old = $.fn.button + + $.fn.button = Plugin + $.fn.button.Constructor = Button + + + // BUTTON NO CONFLICT + // ================== + + $.fn.button.noConflict = function () { + $.fn.button = old + return this + } + + + // BUTTON DATA-API + // =============== + + $(document) + .on('click.bs.button.data-api', '[data-toggle^="button"]', function (e) { + var $btn = $(e.target) + if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn') + Plugin.call($btn, 'toggle') + e.preventDefault() + }) + .on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) { + $(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type)) + }) + +}(jQuery); + +/* ======================================================================== + * Bootstrap: carousel.js v3.3.2 + * http://getbootstrap.com/javascript/#carousel + * ======================================================================== + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // CAROUSEL CLASS DEFINITION + // ========================= + + var Carousel = function (element, options) { + this.$element = $(element) + this.$indicators = this.$element.find('.carousel-indicators') + this.options = options + this.paused = + this.sliding = + this.interval = + this.$active = + this.$items = null + + this.options.keyboard && this.$element.on('keydown.bs.carousel', $.proxy(this.keydown, this)) + + this.options.pause == 'hover' && !('ontouchstart' in document.documentElement) && this.$element + .on('mouseenter.bs.carousel', $.proxy(this.pause, this)) + .on('mouseleave.bs.carousel', $.proxy(this.cycle, this)) + } + + Carousel.VERSION = '3.3.2' + + Carousel.TRANSITION_DURATION = 600 + + Carousel.DEFAULTS = { + interval: 5000, + pause: 'hover', + wrap: true, + keyboard: true + } + + Carousel.prototype.keydown = function (e) { + if (/input|textarea/i.test(e.target.tagName)) return + switch (e.which) { + case 37: this.prev(); break + case 39: this.next(); break + default: return + } + + e.preventDefault() + } + + Carousel.prototype.cycle = function (e) { + e || (this.paused = false) + + this.interval && clearInterval(this.interval) + + this.options.interval + && !this.paused + && (this.interval = setInterval($.proxy(this.next, this), this.options.interval)) + + return this + } + + Carousel.prototype.getItemIndex = function (item) { + this.$items = item.parent().children('.item') + return this.$items.index(item || this.$active) + } + + Carousel.prototype.getItemForDirection = function (direction, active) { + var activeIndex = this.getItemIndex(active) + var willWrap = (direction == 'prev' && activeIndex === 0) + || (direction == 'next' && activeIndex == (this.$items.length - 1)) + if (willWrap && !this.options.wrap) return active + var delta = direction == 'prev' ? -1 : 1 + var itemIndex = (activeIndex + delta) % this.$items.length + return this.$items.eq(itemIndex) + } + + Carousel.prototype.to = function (pos) { + var that = this + var activeIndex = this.getItemIndex(this.$active = this.$element.find('.item.active')) + + if (pos > (this.$items.length - 1) || pos < 0) return + + if (this.sliding) return this.$element.one('slid.bs.carousel', function () { that.to(pos) }) // yes, "slid" + if (activeIndex == pos) return this.pause().cycle() + + return this.slide(pos > activeIndex ? 'next' : 'prev', this.$items.eq(pos)) + } + + Carousel.prototype.pause = function (e) { + e || (this.paused = true) + + if (this.$element.find('.next, .prev').length && $.support.transition) { + this.$element.trigger($.support.transition.end) + this.cycle(true) + } + + this.interval = clearInterval(this.interval) + + return this + } + + Carousel.prototype.next = function () { + if (this.sliding) return + return this.slide('next') + } + + Carousel.prototype.prev = function () { + if (this.sliding) return + return this.slide('prev') + } + + Carousel.prototype.slide = function (type, next) { + var $active = this.$element.find('.item.active') + var $next = next || this.getItemForDirection(type, $active) + var isCycling = this.interval + var direction = type == 'next' ? 'left' : 'right' + var that = this + + if ($next.hasClass('active')) return (this.sliding = false) + + var relatedTarget = $next[0] + var slideEvent = $.Event('slide.bs.carousel', { + relatedTarget: relatedTarget, + direction: direction + }) + this.$element.trigger(slideEvent) + if (slideEvent.isDefaultPrevented()) return + + this.sliding = true + + isCycling && this.pause() + + if (this.$indicators.length) { + this.$indicators.find('.active').removeClass('active') + var $nextIndicator = $(this.$indicators.children()[this.getItemIndex($next)]) + $nextIndicator && $nextIndicator.addClass('active') + } + + var slidEvent = $.Event('slid.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) // yes, "slid" + if ($.support.transition && this.$element.hasClass('slide')) { + $next.addClass(type) + $next[0].offsetWidth // force reflow + $active.addClass(direction) + $next.addClass(direction) + $active + .one('bsTransitionEnd', function () { + $next.removeClass([type, direction].join(' ')).addClass('active') + $active.removeClass(['active', direction].join(' ')) + that.sliding = false + setTimeout(function () { + that.$element.trigger(slidEvent) + }, 0) + }) + .emulateTransitionEnd(Carousel.TRANSITION_DURATION) + } else { + $active.removeClass('active') + $next.addClass('active') + this.sliding = false + this.$element.trigger(slidEvent) + } + + isCycling && this.cycle() + + return this + } + + + // CAROUSEL PLUGIN DEFINITION + // ========================== + + function Plugin(option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.carousel') + var options = $.extend({}, Carousel.DEFAULTS, $this.data(), typeof option == 'object' && option) + var action = typeof option == 'string' ? option : options.slide + + if (!data) $this.data('bs.carousel', (data = new Carousel(this, options))) + if (typeof option == 'number') data.to(option) + else if (action) data[action]() + else if (options.interval) data.pause().cycle() + }) + } + + var old = $.fn.carousel + + $.fn.carousel = Plugin + $.fn.carousel.Constructor = Carousel + + + // CAROUSEL NO CONFLICT + // ==================== + + $.fn.carousel.noConflict = function () { + $.fn.carousel = old + return this + } + + + // CAROUSEL DATA-API + // ================= + + var clickHandler = function (e) { + var href + var $this = $(this) + var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) // strip for ie7 + if (!$target.hasClass('carousel')) return + var options = $.extend({}, $target.data(), $this.data()) + var slideIndex = $this.attr('data-slide-to') + if (slideIndex) options.interval = false + + Plugin.call($target, options) + + if (slideIndex) { + $target.data('bs.carousel').to(slideIndex) + } + + e.preventDefault() + } + + $(document) + .on('click.bs.carousel.data-api', '[data-slide]', clickHandler) + .on('click.bs.carousel.data-api', '[data-slide-to]', clickHandler) + + $(window).on('load', function () { + $('[data-ride="carousel"]').each(function () { + var $carousel = $(this) + Plugin.call($carousel, $carousel.data()) + }) + }) + +}(jQuery); + +/* ======================================================================== + * Bootstrap: collapse.js v3.3.2 + * http://getbootstrap.com/javascript/#collapse + * ======================================================================== + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // COLLAPSE PUBLIC CLASS DEFINITION + // ================================ + + var Collapse = function (element, options) { + this.$element = $(element) + this.options = $.extend({}, Collapse.DEFAULTS, options) + this.$trigger = $(this.options.trigger).filter('[href="#' + element.id + '"], [data-target="#' + element.id + '"]') + this.transitioning = null + + if (this.options.parent) { + this.$parent = this.getParent() + } else { + this.addAriaAndCollapsedClass(this.$element, this.$trigger) + } + + if (this.options.toggle) this.toggle() + } + + Collapse.VERSION = '3.3.2' + + Collapse.TRANSITION_DURATION = 350 + + Collapse.DEFAULTS = { + toggle: true, + trigger: '[data-toggle="collapse"]' + } + + Collapse.prototype.dimension = function () { + var hasWidth = this.$element.hasClass('width') + return hasWidth ? 'width' : 'height' + } + + Collapse.prototype.show = function () { + if (this.transitioning || this.$element.hasClass('in')) return + + var activesData + var actives = this.$parent && this.$parent.children('.panel').children('.in, .collapsing') + + if (actives && actives.length) { + activesData = actives.data('bs.collapse') + if (activesData && activesData.transitioning) return + } + + var startEvent = $.Event('show.bs.collapse') + this.$element.trigger(startEvent) + if (startEvent.isDefaultPrevented()) return + + if (actives && actives.length) { + Plugin.call(actives, 'hide') + activesData || actives.data('bs.collapse', null) + } + + var dimension = this.dimension() + + this.$element + .removeClass('collapse') + .addClass('collapsing')[dimension](0) + .attr('aria-expanded', true) + + this.$trigger + .removeClass('collapsed') + .attr('aria-expanded', true) + + this.transitioning = 1 + + var complete = function () { + this.$element + .removeClass('collapsing') + .addClass('collapse in')[dimension]('') + this.transitioning = 0 + this.$element + .trigger('shown.bs.collapse') + } + + if (!$.support.transition) return complete.call(this) + + var scrollSize = $.camelCase(['scroll', dimension].join('-')) + + this.$element + .one('bsTransitionEnd', $.proxy(complete, this)) + .emulateTransitionEnd(Collapse.TRANSITION_DURATION)[dimension](this.$element[0][scrollSize]) + } + + Collapse.prototype.hide = function () { + if (this.transitioning || !this.$element.hasClass('in')) return + + var startEvent = $.Event('hide.bs.collapse') + this.$element.trigger(startEvent) + if (startEvent.isDefaultPrevented()) return + + var dimension = this.dimension() + + this.$element[dimension](this.$element[dimension]())[0].offsetHeight + + this.$element + .addClass('collapsing') + .removeClass('collapse in') + .attr('aria-expanded', false) + + this.$trigger + .addClass('collapsed') + .attr('aria-expanded', false) + + this.transitioning = 1 + + var complete = function () { + this.transitioning = 0 + this.$element + .removeClass('collapsing') + .addClass('collapse') + .trigger('hidden.bs.collapse') + } + + if (!$.support.transition) return complete.call(this) + + this.$element + [dimension](0) + .one('bsTransitionEnd', $.proxy(complete, this)) + .emulateTransitionEnd(Collapse.TRANSITION_DURATION) + } + + Collapse.prototype.toggle = function () { + this[this.$element.hasClass('in') ? 'hide' : 'show']() + } + + Collapse.prototype.getParent = function () { + return $(this.options.parent) + .find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]') + .each($.proxy(function (i, element) { + var $element = $(element) + this.addAriaAndCollapsedClass(getTargetFromTrigger($element), $element) + }, this)) + .end() + } + + Collapse.prototype.addAriaAndCollapsedClass = function ($element, $trigger) { + var isOpen = $element.hasClass('in') + + $element.attr('aria-expanded', isOpen) + $trigger + .toggleClass('collapsed', !isOpen) + .attr('aria-expanded', isOpen) + } + + function getTargetFromTrigger($trigger) { + var href + var target = $trigger.attr('data-target') + || (href = $trigger.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7 + + return $(target) + } + + + // COLLAPSE PLUGIN DEFINITION + // ========================== + + function Plugin(option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.collapse') + var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option) + + if (!data && options.toggle && option == 'show') options.toggle = false + if (!data) $this.data('bs.collapse', (data = new Collapse(this, options))) + if (typeof option == 'string') data[option]() + }) + } + + var old = $.fn.collapse + + $.fn.collapse = Plugin + $.fn.collapse.Constructor = Collapse + + + // COLLAPSE NO CONFLICT + // ==================== + + $.fn.collapse.noConflict = function () { + $.fn.collapse = old + return this + } + + + // COLLAPSE DATA-API + // ================= + + $(document).on('click.bs.collapse.data-api', '[data-toggle="collapse"]', function (e) { + var $this = $(this) + + if (!$this.attr('data-target')) e.preventDefault() + + var $target = getTargetFromTrigger($this) + var data = $target.data('bs.collapse') + var option = data ? 'toggle' : $.extend({}, $this.data(), { trigger: this }) + + Plugin.call($target, option) + }) + +}(jQuery); + +/* ======================================================================== + * Bootstrap: dropdown.js v3.3.2 + * http://getbootstrap.com/javascript/#dropdowns + * ======================================================================== + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // DROPDOWN CLASS DEFINITION + // ========================= + + var backdrop = '.dropdown-backdrop' + var toggle = '[data-toggle="dropdown"]' + var Dropdown = function (element) { + $(element).on('click.bs.dropdown', this.toggle) + } + + Dropdown.VERSION = '3.3.2' + + Dropdown.prototype.toggle = function (e) { + var $this = $(this) + + if ($this.is('.disabled, :disabled')) return + + var $parent = getParent($this) + var isActive = $parent.hasClass('open') + + clearMenus() + + if (!isActive) { + if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) { + // if mobile we use a backdrop because click events don't delegate + $('