diff --git a/README.md b/README.md
index 90ef4cd..82aefaa 100644
--- a/README.md
+++ b/README.md
@@ -234,7 +234,9 @@ Did you find a bug or have an ideas for new features? Feel free to use the issue
This theme makes use of the following 3rd Party Libraries.
-- [lightGallery v1.2.14](http://sachinchoolur.github.io/lightGallery/) - Used in page footer to provide a gallery to view photos in the photo stream.
+- Image Gallery in Footer
+ - [jQuery 3.7.1](https://jquery.com)
+ - [lightbox2 2.11.4](https://lokeshdhakar.com/projects/lightbox2/)
## License
diff --git a/layouts/partials/site_footer.html b/layouts/partials/site_footer.html
index d108068..7719352 100644
--- a/layouts/partials/site_footer.html
+++ b/layouts/partials/site_footer.html
@@ -1,6 +1,6 @@
-
-
-
+
+
+
{{ partial "custom_javascript.html" . }}
{{ partial "custom_image_handler.html" . }}
{{ template "_internal/google_analytics.html" . }}
diff --git a/layouts/partials/site_header.html b/layouts/partials/site_header.html
index ef8792a..42de01e 100644
--- a/layouts/partials/site_header.html
+++ b/layouts/partials/site_header.html
@@ -27,7 +27,7 @@
{{ end }}
-
+
{{ partial "custom_stylesheets.html" . }}
diff --git a/static/js/weblog.js b/static/js/weblog.js
index f5e2c5b..f115f8a 100644
--- a/static/js/weblog.js
+++ b/static/js/weblog.js
@@ -8,20 +8,26 @@ iweblog.application = function() {
$.each(data.items, function(i,item){
if (cnt == count) return;
+ var title = item.title;
var image = item.media.m;
var smallImage = image.replace("_m.jpg", "_s.jpg");
var largeImage = image.replace("_m.jpg", "_b.jpg");
- htmlString += "";
+ htmlString += "";
htmlString += "
";
htmlString += "";
cnt++;
});
$('#photos').html(htmlString);
- $('#photos').lightGallery();
}
return {
displayImages: function(data, count) { _display_images(data, count); }
}
}();
+
+/// configure lightbox
+lightbox.option({
+ 'resizeDuration': 400,
+ 'wrapAround': true
+})
diff --git a/static/lightbox2-2.11.4/.editorconfig b/static/lightbox2-2.11.4/.editorconfig
new file mode 100644
index 0000000..c2cdfb8
--- /dev/null
+++ b/static/lightbox2-2.11.4/.editorconfig
@@ -0,0 +1,21 @@
+# EditorConfig helps developers define and maintain consistent
+# coding styles between different editors and IDEs
+# editorconfig.org
+
+root = true
+
+
+[*]
+
+# Change these settings to your own preference
+indent_style = space
+indent_size = 2
+
+# We recommend you to keep these unchanged
+end_of_line = lf
+charset = utf-8
+trim_trailing_whitespace = true
+insert_final_newline = true
+
+[*.md]
+trim_trailing_whitespace = false
diff --git a/static/lightbox2-2.11.4/.github/ISSUE_TEMPLATE.md b/static/lightbox2-2.11.4/.github/ISSUE_TEMPLATE.md
new file mode 100644
index 0000000..823a414
--- /dev/null
+++ b/static/lightbox2-2.11.4/.github/ISSUE_TEMPLATE.md
@@ -0,0 +1,27 @@
+🐛 **Github issues is for bugs only.** No feature requests or support tickets please.
+
+## Trouble using Lightbox?
+
+1. Search [Stackoverflow](https://stackoverflow.com/questions/tagged/lightbox2) to see if other people have run into similar issues.
+3. If you don't find anything similar, then post a new question on [Stackoverflow](https://stackoverflow.com/questions/ask). Use the `lightbox2` tag.
+
+## Have a Feature Request?
+
+1. [Search through existing Github Issues and PRs](https://github.com/lokesh/lightbox2/issues) to see if the feature has been discussed or already created.
+2. If not, search [Stackoverflow](https://stackoverflow.com/questions/tagged/lightbox2) to see if other people have made similar requests.
+3. If your feature request is unique, then post a new question on [Stackoverflow](https://stackoverflow.com/questions/ask). Use the `lightbox2` tag.
+
+View the project [Roadmap](https://github.com/lokesh/lightbox2/blob/master/ROADMAP.md).
+
+
+## Found a Bug?
+
+[Search through existing Github Issues](https://github.com/lokesh/lightbox2/issues) that have been reported to avoid creating a duplicate issue. If your bug has not been reported, create a new issue with the following details:
+
+**What version of Lightbox2 you are using?**
+
+**Which browsers and operating systems have you seen the issue on?**
+
+**What are the steps to reproduce the bug?**
+
+**Do you have link to a live site where the bug is visible? or can you post relevant HTML, CSS, and Javascript?**
diff --git a/static/lightbox2-2.11.4/.github/PULL_REQUEST_TEMPLATE.md b/static/lightbox2-2.11.4/.github/PULL_REQUEST_TEMPLATE.md
new file mode 100644
index 0000000..02569bf
--- /dev/null
+++ b/static/lightbox2-2.11.4/.github/PULL_REQUEST_TEMPLATE.md
@@ -0,0 +1,4 @@
+> Pull Requests are welcome. But v2 of Lightbox is in Maintenance Mode.
+> No new features are planned. See the [Roadmap](https://github.com/lokesh/lightbox2/blob/master/ROADMAP.md).
+>
+> PRs submitted will still be reviewed and kept open for others to utilize.
diff --git a/static/lightbox2-2.11.4/.gitignore b/static/lightbox2-2.11.4/.gitignore
new file mode 100644
index 0000000..7bf6eb1
--- /dev/null
+++ b/static/lightbox2-2.11.4/.gitignore
@@ -0,0 +1,2 @@
+bower_components
+node_modules
diff --git a/static/lightbox2-2.11.4/.jscsrc b/static/lightbox2-2.11.4/.jscsrc
new file mode 100644
index 0000000..b1ee028
--- /dev/null
+++ b/static/lightbox2-2.11.4/.jscsrc
@@ -0,0 +1,75 @@
+{
+ "requireSpaceAfterLineComment": true,
+ "requireSpaceAfterKeywords": [
+ "do",
+ "for",
+ "if",
+ "else",
+ "switch",
+ "case",
+ "try",
+ "catch",
+ "void",
+ "while",
+ "with",
+ "return",
+ "typeof"
+ ],
+ "requireSpaceBeforeBlockStatements": true,
+ "requireParenthesesAroundIIFE": true,
+ "requireSpacesInConditionalExpression": true,
+ "disallowMultipleVarDecl": true,
+ "requireBlocksOnNewline": true,
+ "disallowEmptyBlocks": true,
+ "disallowSpacesInsideParentheses": true,
+ "disallowSpaceAfterObjectKeys": true,
+ "requireSpaceBeforeObjectValues": true,
+ "requireCommaBeforeLineBreak": true,
+ "requireOperatorBeforeLineBreak": [
+ "?",
+ "=",
+ "+",
+ "-",
+ "/",
+ "*",
+ "==",
+ "===",
+ "!=",
+ "!==",
+ ">",
+ ">=",
+ "<",
+ "<="
+ ],
+ "disallowSpaceAfterPrefixUnaryOperators": ["++", "--", "+", "-", "~", "!"],
+ "disallowSpaceBeforePostfixUnaryOperators": ["++", "--"],
+ "requireSpaceBeforeBinaryOperators": [
+ "=",
+ "+",
+ "-",
+ "/",
+ "*",
+ "==",
+ "===",
+ "!=",
+ "!=="
+ ],
+ "requireSpaceAfterBinaryOperators": [
+ "=",
+ ",",
+ "+",
+ "-",
+ "/",
+ "*",
+ "==",
+ "===",
+ "!=",
+ "!=="
+ ],
+ "disallowMixedSpacesAndTabs" : true,
+ "disallowTrailingWhitespace": true,
+ "disallowTrailingComma": true,
+ "requireLineFeedAtFileEnd": true,
+ "requireCapitalizedConstructors": true
+}
+
diff --git a/static/lightbox2-2.11.4/.jshintrc b/static/lightbox2-2.11.4/.jshintrc
new file mode 100644
index 0000000..1bc8f85
--- /dev/null
+++ b/static/lightbox2-2.11.4/.jshintrc
@@ -0,0 +1,35 @@
+{
+ "bitwise":true,
+ "browser":true,
+ "camelcase":true,
+ "curly":true,
+ "eqeqeq":true,
+ "forin":true,
+ "freeze":true,
+ "indent":2,
+ "latedef":true,
+ "maxdepth": 6,
+ "maxparams": 6,
+ "maxstatements": 50,
+ "newcap": true,
+ "noarg":true,
+ "noempty":true,
+ "nonbsp":true,
+ "nonew":true,
+ "quotmark":"single",
+ "trailing":true,
+ "undef":true,
+ "unused":"vars",
+ "immed":true,
+ "browser": true,
+ "jquery":true,
+ "predef": [
+ "alert",
+ "confirm",
+ "console",
+ "escape",
+ "define",
+ "module",
+ "require"
+ ]
+}
diff --git a/static/lightbox2-2.11.4/LICENSE b/static/lightbox2-2.11.4/LICENSE
new file mode 100644
index 0000000..0b34e12
--- /dev/null
+++ b/static/lightbox2-2.11.4/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2015 Lokesh Dhakar
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/static/lightbox2-2.11.4/css/lightbox.css b/static/lightbox2-2.11.4/css/lightbox.css
new file mode 100644
index 0000000..b3b0beb
--- /dev/null
+++ b/static/lightbox2-2.11.4/css/lightbox.css
@@ -0,0 +1,204 @@
+body.lb-disable-scrolling {
+ overflow: hidden;
+}
+
+.lightboxOverlay {
+ position: absolute;
+ top: 0;
+ left: 0;
+ z-index: 9999;
+ background-color: black;
+ filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
+ opacity: 0.8;
+ display: none;
+}
+
+.lightbox {
+ position: absolute;
+ left: 0;
+ width: 100%;
+ z-index: 10000;
+ text-align: center;
+ line-height: 0;
+ font-weight: normal;
+ outline: none;
+}
+
+.lightbox .lb-image {
+ display: block;
+ height: auto;
+ max-width: inherit;
+ max-height: none;
+ border-radius: 3px;
+
+ /* Image border */
+ border: 4px solid white;
+}
+
+.lightbox a img {
+ border: none;
+}
+
+.lb-outerContainer {
+ position: relative;
+ *zoom: 1;
+ width: 250px;
+ height: 250px;
+ margin: 0 auto;
+ border-radius: 4px;
+
+ /* Background color behind image.
+ This is visible during transitions. */
+ background-color: white;
+}
+
+.lb-outerContainer:after {
+ content: "";
+ display: table;
+ clear: both;
+}
+
+.lb-loader {
+ position: absolute;
+ top: 43%;
+ left: 0;
+ height: 25%;
+ width: 100%;
+ text-align: center;
+ line-height: 0;
+}
+
+.lb-cancel {
+ display: block;
+ width: 32px;
+ height: 32px;
+ margin: 0 auto;
+ background: url(../images/loading.gif) no-repeat;
+}
+
+.lb-nav {
+ position: absolute;
+ top: 0;
+ left: 0;
+ height: 100%;
+ width: 100%;
+ z-index: 10;
+}
+
+.lb-container > .nav {
+ left: 0;
+}
+
+.lb-nav a {
+ outline: none;
+ background-image: url('data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==');
+}
+
+.lb-prev, .lb-next {
+ height: 100%;
+ cursor: pointer;
+ display: block;
+}
+
+.lb-nav a.lb-prev {
+ width: 34%;
+ left: 0;
+ float: left;
+ background: url(../images/prev.png) left 48% no-repeat;
+ filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
+ opacity: 0;
+ -webkit-transition: opacity 0.6s;
+ -moz-transition: opacity 0.6s;
+ -o-transition: opacity 0.6s;
+ transition: opacity 0.6s;
+}
+
+.lb-nav a.lb-prev:hover {
+ filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
+ opacity: 1;
+}
+
+.lb-nav a.lb-next {
+ width: 64%;
+ right: 0;
+ float: right;
+ background: url(../images/next.png) right 48% no-repeat;
+ filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
+ opacity: 0;
+ -webkit-transition: opacity 0.6s;
+ -moz-transition: opacity 0.6s;
+ -o-transition: opacity 0.6s;
+ transition: opacity 0.6s;
+}
+
+.lb-nav a.lb-next:hover {
+ filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
+ opacity: 1;
+}
+
+.lb-dataContainer {
+ margin: 0 auto;
+ padding-top: 5px;
+ *zoom: 1;
+ width: 100%;
+ border-bottom-left-radius: 4px;
+ border-bottom-right-radius: 4px;
+}
+
+.lb-dataContainer:after {
+ content: "";
+ display: table;
+ clear: both;
+}
+
+.lb-data {
+ padding: 0 4px;
+ color: #ccc;
+}
+
+.lb-data .lb-details {
+ width: 85%;
+ float: left;
+ text-align: left;
+ line-height: 1.1em;
+}
+
+.lb-data .lb-caption {
+ font-size: 13px;
+ font-weight: bold;
+ line-height: 1em;
+}
+
+.lb-data .lb-caption a {
+ color: #4ae;
+}
+
+.lb-data .lb-number {
+ display: block;
+ clear: left;
+ padding-bottom: 1em;
+ font-size: 12px;
+ color: #999999;
+}
+
+.lb-data .lb-close {
+ display: block;
+ float: right;
+ width: 30px;
+ height: 30px;
+ background: url(../images/close.png) top right no-repeat;
+ text-align: right;
+ outline: none;
+ filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
+ opacity: 0.7;
+ -webkit-transition: opacity 0.2s;
+ -moz-transition: opacity 0.2s;
+ -o-transition: opacity 0.2s;
+ transition: opacity 0.2s;
+}
+
+.lb-data .lb-close:hover {
+ cursor: pointer;
+ filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
+ opacity: 1;
+}
diff --git a/static/lightbox2-2.11.4/css/lightbox.min.css b/static/lightbox2-2.11.4/css/lightbox.min.css
new file mode 100644
index 0000000..adbaa83
--- /dev/null
+++ b/static/lightbox2-2.11.4/css/lightbox.min.css
@@ -0,0 +1 @@
+.lb-loader,.lightbox{text-align:center;line-height:0;position:absolute;left:0}body.lb-disable-scrolling{overflow:hidden}.lightboxOverlay{position:absolute;top:0;left:0;z-index:9999;background-color:#000;filter:alpha(Opacity=80);opacity:.8;display:none}.lightbox{width:100%;z-index:10000;font-weight:400;outline:0}.lightbox .lb-image{display:block;height:auto;max-width:inherit;max-height:none;border-radius:3px;border:4px solid #fff}.lightbox a img{border:none}.lb-outerContainer{position:relative;width:250px;height:250px;margin:0 auto;border-radius:4px;background-color:#fff}.lb-outerContainer:after{content:"";display:table;clear:both}.lb-loader{top:43%;height:25%;width:100%}.lb-cancel{display:block;width:32px;height:32px;margin:0 auto;background:url(../images/loading.gif) no-repeat}.lb-nav{position:absolute;top:0;left:0;height:100%;width:100%;z-index:10}.lb-container>.nav{left:0}.lb-nav a{outline:0;background-image:url(data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==)}.lb-next,.lb-prev{height:100%;cursor:pointer;display:block}.lb-nav a.lb-prev{width:34%;left:0;float:left;background:url(../images/prev.png) left 48% no-repeat;filter:alpha(Opacity=0);opacity:0;-webkit-transition:opacity .6s;-moz-transition:opacity .6s;-o-transition:opacity .6s;transition:opacity .6s}.lb-nav a.lb-prev:hover{filter:alpha(Opacity=100);opacity:1}.lb-nav a.lb-next{width:64%;right:0;float:right;background:url(../images/next.png) right 48% no-repeat;filter:alpha(Opacity=0);opacity:0;-webkit-transition:opacity .6s;-moz-transition:opacity .6s;-o-transition:opacity .6s;transition:opacity .6s}.lb-nav a.lb-next:hover{filter:alpha(Opacity=100);opacity:1}.lb-dataContainer{margin:0 auto;padding-top:5px;width:100%;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.lb-dataContainer:after{content:"";display:table;clear:both}.lb-data{padding:0 4px;color:#ccc}.lb-data .lb-details{width:85%;float:left;text-align:left;line-height:1.1em}.lb-data .lb-caption{font-size:13px;font-weight:700;line-height:1em}.lb-data .lb-caption a{color:#4ae}.lb-data .lb-number{display:block;clear:left;padding-bottom:1em;font-size:12px;color:#999}.lb-data .lb-close{display:block;float:right;width:30px;height:30px;background:url(../images/close.png) top right no-repeat;text-align:right;outline:0;filter:alpha(Opacity=70);opacity:.7;-webkit-transition:opacity .2s;-moz-transition:opacity .2s;-o-transition:opacity .2s;transition:opacity .2s}.lb-data .lb-close:hover{cursor:pointer;filter:alpha(Opacity=100);opacity:1}
\ No newline at end of file
diff --git a/static/lightbox2-2.11.4/images/close.png b/static/lightbox2-2.11.4/images/close.png
new file mode 100644
index 0000000..20baa1d
Binary files /dev/null and b/static/lightbox2-2.11.4/images/close.png differ
diff --git a/static/lightbox2-2.11.4/images/loading.gif b/static/lightbox2-2.11.4/images/loading.gif
new file mode 100644
index 0000000..5087c2a
Binary files /dev/null and b/static/lightbox2-2.11.4/images/loading.gif differ
diff --git a/static/lightbox2-2.11.4/images/next.png b/static/lightbox2-2.11.4/images/next.png
new file mode 100644
index 0000000..08365ac
Binary files /dev/null and b/static/lightbox2-2.11.4/images/next.png differ
diff --git a/static/lightbox2-2.11.4/images/prev.png b/static/lightbox2-2.11.4/images/prev.png
new file mode 100644
index 0000000..329fa98
Binary files /dev/null and b/static/lightbox2-2.11.4/images/prev.png differ
diff --git a/static/lightbox2-2.11.4/js/lightbox-plus-jquery.js b/static/lightbox2-2.11.4/js/lightbox-plus-jquery.js
new file mode 100644
index 0000000..077520b
--- /dev/null
+++ b/static/lightbox2-2.11.4/js/lightbox-plus-jquery.js
@@ -0,0 +1,11565 @@
+/*!
+ * jQuery JavaScript Library v3.6.3
+ * https://jquery.com/
+ *
+ * Includes Sizzle.js
+ * https://sizzlejs.com/
+ *
+ * Copyright OpenJS Foundation and other contributors
+ * Released under the MIT license
+ * https://jquery.org/license
+ *
+ * Date: 2022-12-20T21:28Z
+ */
+( function( global, factory ) {
+
+ "use strict";
+
+ if ( typeof module === "object" && typeof module.exports === "object" ) {
+
+ // For CommonJS and CommonJS-like environments where a proper `window`
+ // is present, execute the factory and get jQuery.
+ // For environments that do not have a `window` with a `document`
+ // (such as Node.js), expose a factory as module.exports.
+ // This accentuates the need for the creation of a real `window`.
+ // e.g. var jQuery = require("jquery")(window);
+ // See ticket trac-14549 for more info.
+ module.exports = global.document ?
+ factory( global, true ) :
+ function( w ) {
+ if ( !w.document ) {
+ throw new Error( "jQuery requires a window with a document" );
+ }
+ return factory( w );
+ };
+ } else {
+ factory( global );
+ }
+
+// Pass this if window is not defined yet
+} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) {
+
+// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1
+// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode
+// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common
+// enough that all such attempts are guarded in a try block.
+"use strict";
+
+var arr = [];
+
+var getProto = Object.getPrototypeOf;
+
+var slice = arr.slice;
+
+var flat = arr.flat ? function( array ) {
+ return arr.flat.call( array );
+} : function( array ) {
+ return arr.concat.apply( [], array );
+};
+
+
+var push = arr.push;
+
+var indexOf = arr.indexOf;
+
+var class2type = {};
+
+var toString = class2type.toString;
+
+var hasOwn = class2type.hasOwnProperty;
+
+var fnToString = hasOwn.toString;
+
+var ObjectFunctionString = fnToString.call( Object );
+
+var support = {};
+
+var isFunction = function isFunction( obj ) {
+
+ // Support: Chrome <=57, Firefox <=52
+ // In some browsers, typeof returns "function" for HTML