1st public build
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
.DS_Store
|
3
.gitmodules
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
[submodule "themes/hugrid"]
|
||||
path = themes/hugrid
|
||||
url = https://github.com/captainark/hugrid
|
6
archetypes/default.md
Normal file
@ -0,0 +1,6 @@
|
||||
---
|
||||
title: "{{ replace .Name "-" " " | title }}"
|
||||
date: {{ .Date }}
|
||||
draft: true
|
||||
---
|
||||
|
37
config.toml
Normal file
@ -0,0 +1,37 @@
|
||||
# Site settings
|
||||
baseurl = "https://pics.captainark.net"
|
||||
languageCode = "en-us"
|
||||
title = "CaptainArk's Pics"
|
||||
theme = "hugrid"
|
||||
enableRobotsTXT = true
|
||||
canonifyURLs = true
|
||||
# Enter your tracking code to enable Google Analytics
|
||||
#googleAnalytics = "UA-XXXXXXXX-Y"
|
||||
copyright = "© 2018 - 2019"
|
||||
|
||||
contentdir = "content"
|
||||
datadir = "data"
|
||||
layoutdir = "layouts"
|
||||
publishdir = "public"
|
||||
|
||||
[params]
|
||||
# Meta
|
||||
title = "CaptainArk's Pics"
|
||||
subtitle = "*Pics of my Funko Pop!s*"
|
||||
author = "Antoine Joubert"
|
||||
description = "I have a small Funko Pop! collection. I take pictures of them. I post them here."
|
||||
keywords = "Funko, Funko Pop!, Pop!, Pictures"
|
||||
bodybgcolor = "#f9f9f9"
|
||||
buttontext = "Full size picture"
|
||||
customHeaderPartial = "partialheader.html"
|
||||
|
||||
# Footer text
|
||||
footertext = "CaptainArk © 2018 - 2019"
|
||||
|
||||
# add extra-css
|
||||
# custom_css = ['css/extra1.css', 'css/extra2.css']
|
||||
|
||||
[sitemap]
|
||||
ChangeFreq = ""
|
||||
Filename = "sitemap.xml"
|
||||
Priority = "-1"
|
175
data/items.toml
Normal file
@ -0,0 +1,175 @@
|
||||
[[items]]
|
||||
title = "Overwatch Exclusives!"
|
||||
image = "images/full/IMG_20181222_122311_1091.jpg"
|
||||
thumb = "images/thumbs/th_IMG_20181222_122311_1091.jpg"
|
||||
alt = "Overwatch Exclusives!"
|
||||
description = "2018-12-22"
|
||||
url = "images/full/IMG_20181222_122311_1091.jpg"
|
||||
[[items]]
|
||||
title = "Agent Carter!"
|
||||
image = "images/full/IMG_20181128_191405_1084.jpg"
|
||||
thumb = "images/thumbs/th_IMG_20181128_191405_1084.jpg"
|
||||
alt = "Agent Carter!"
|
||||
description = "2018-11-28"
|
||||
url = "images/full/IMG_20181128_191405_1084.jpg"
|
||||
[[items]]
|
||||
title = "Ashe Blizzcon Edition!"
|
||||
image = "images/full/IMG_20181108_133445_1067.jpg"
|
||||
thumb = "images/thumbs/th_IMG_20181108_133445_1067.jpg"
|
||||
alt = "Ashe Blizzcon Edition!"
|
||||
description = "2018-11-08"
|
||||
url = "images/full/IMG_20181108_133445_1067.jpg"
|
||||
[[items]]
|
||||
title = "My Overwatch Collection So Far! #4"
|
||||
image = "images/full/IMG_20181027_111938_1065.jpg"
|
||||
thumb = "images/thumbs/th_IMG_20181027_111938_1065.jpg"
|
||||
alt = "My Overwatch Collection So Far! #4"
|
||||
description = "2018-10-27"
|
||||
url = "images/full/IMG_20181027_111938_1065.jpg"
|
||||
[[items]]
|
||||
title = "Overwatch Wave #4!"
|
||||
image = "images/full/IMG_20181027_111253_1063.jpg"
|
||||
thumb = "images/thumbs/th_IMG_20181027_111253_1063.jpg"
|
||||
alt = "Overwatch Wave #4!"
|
||||
description = "2018-10-27"
|
||||
url = "images/full/IMG_20181027_111253_1063.jpg"
|
||||
[[items]]
|
||||
title = "My Overwatch Collection So Far! #3"
|
||||
image = "images/full/IMG_20180630_103548_1024.jpg"
|
||||
thumb = "images/thumbs/th_IMG_20180630_103548_1024.jpg"
|
||||
alt = "My Overwatch Collection So Far!"
|
||||
description = "2018-06-30"
|
||||
url = "images/full/IMG_20180630_103548_1024.jpg"
|
||||
[[items]]
|
||||
title = "Atomic Blonde & Overwatch!"
|
||||
image = "images/full/IMG_20180630_103300_1022.jpg"
|
||||
thumb = "images/thumbs/th_IMG_20180630_103300_1022.jpg"
|
||||
alt = "Atomic Blonde & Overwatch!"
|
||||
description = "2018-06-30"
|
||||
url = "images/full/IMG_20180630_103300_1022.jpg"
|
||||
[[items]]
|
||||
title = "Overwatch Wave #3!"
|
||||
image = "images/full/IMG_20180609_124246_1012.jpg"
|
||||
thumb = "images/thumbs/th_IMG_20180609_124246_1012.jpg"
|
||||
alt = "Overwatch Wave #3!"
|
||||
description = "2018-06-09"
|
||||
url = "images/full/IMG_20180609_124246_1012.jpg"
|
||||
[[items]]
|
||||
title = "My Overwatch Collection So Far! #2"
|
||||
image = "images/full/IMG_20180326_132447_0954.jpg"
|
||||
thumb = "images/thumbs/th_IMG_20180326_132447_0954.jpg"
|
||||
alt = "My Overwatch Collection So Far!"
|
||||
description = "2018-03-26"
|
||||
url = "images/full/IMG_20180326_132447_0954.jpg"
|
||||
[[items]]
|
||||
title = "Soldier: 76!"
|
||||
image = "images/full/IMG_20180326_132239_0951.jpg"
|
||||
thumb = "images/thumbs/th_IMG_20180326_132239_0951.jpg"
|
||||
alt = "Soldier: 76!"
|
||||
description = "2018-03-26"
|
||||
url = "images/full/IMG_20180326_132239_0951.jpg"
|
||||
[[items]]
|
||||
title = "My Overwatch Collection So Far!"
|
||||
image = "images/full/IMG_20180324_111808_0950.jpg"
|
||||
thumb = "images/thumbs/th_IMG_20180324_111808_0950.jpg"
|
||||
alt = "My Overwatch Collection So Far!"
|
||||
description = "2018-03-24"
|
||||
url = "images/full/IMG_20180324_111808_0950.jpg"
|
||||
[[items]]
|
||||
title = "Overwatch!"
|
||||
image = "images/full/IMG_20180324_111517_0949.jpg"
|
||||
thumb = "images/thumbs/th_IMG_20180324_111517_0949.jpg"
|
||||
alt = "Overwatch!"
|
||||
description = "2018-03-24"
|
||||
url = "images/full/IMG_20180324_111517_0949.jpg"
|
||||
[[items]]
|
||||
title = "Wonder Woman & iZombie!"
|
||||
image = "images/full/IMG_20180315_213701_0941.jpg"
|
||||
thumb = "images/thumbs/th_IMG_20180315_213701_0941.jpg"
|
||||
alt = "Wonder Woman & iZombie!"
|
||||
description = "2018-03-15"
|
||||
url = "images/full/IMG_20180315_213701_0941.jpg"
|
||||
[[items]]
|
||||
title = "Pharah!"
|
||||
image = "images/full/IMG_20180308_190750_0937.jpg"
|
||||
thumb = "images/thumbs/th_IMG_20180308_190750_0937.jpg"
|
||||
alt = "Pharah!"
|
||||
description = "2018-03-08"
|
||||
url = "images/full/IMG_20180308_190750_0937.jpg"
|
||||
[[items]]
|
||||
title = "Jessica Jones & Beerus!"
|
||||
image = "images/full/IMG_20180307_190858_0933.jpg"
|
||||
thumb = "images/thumbs/th_IMG_20180307_190858_0933.jpg"
|
||||
alt = "Jessica Jones & Beerus!"
|
||||
description = "2018-03-07"
|
||||
url = "images/full/IMG_20180307_190858_0933.jpg"
|
||||
[[items]]
|
||||
title = "Overwatch!"
|
||||
image = "images/full/IMG_20180305_175147_0930.jpg"
|
||||
thumb = "images/thumbs/th_IMG_20180305_175147_0930.jpg"
|
||||
alt = "Overwatch!"
|
||||
description = "2018-03-05"
|
||||
url = "images/full/IMG_20180305_175147_0930.jpg"
|
||||
[[items]]
|
||||
title = "D.Va!"
|
||||
image = "images/full/IMG_20180303_123601_0925.jpg"
|
||||
thumb = "images/thumbs/th_IMG_20180303_123601_0925.jpg"
|
||||
alt = "D.Va!"
|
||||
description = "2018-03-03"
|
||||
url = "images/full/IMG_20180303_123601_0925.jpg"
|
||||
[[items]]
|
||||
title = "Buffy the Vampire Slayer!"
|
||||
image = "images/full/IMG_20180227_162734_0923.jpg"
|
||||
thumb = "images/thumbs/th_IMG_20180227_162734_0923.jpg"
|
||||
alt = "Buffy the Vampire Slayer!"
|
||||
description = "2018-02-27"
|
||||
url = "images/full/IMG_20180227_162734_0923.jpg"
|
||||
[[items]]
|
||||
title = "Wonder Woman, John Wick & The 100!"
|
||||
image = "images/full/IMG_20180226_153531_0921.jpg"
|
||||
thumb = "images/thumbs/th_IMG_20180226_153531_0921.jpg"
|
||||
alt = "Wonder Woman, John Wick & The 100!"
|
||||
description = "2018-02-26"
|
||||
url = "images/full/IMG_20180226_153531_0921.jpg"
|
||||
[[items]]
|
||||
title = "The 100!"
|
||||
image = "images/full/IMG_20180224_122552_0919.jpg"
|
||||
thumb = "images/thumbs/th_IMG_20180224_122552_0919.jpg"
|
||||
alt = "The 100!"
|
||||
description = "2018-02-24"
|
||||
url = "images/full/IMG_20180224_122552_0919.jpg"
|
||||
[[items]]
|
||||
title = "Buffy the Vampire Slayer!"
|
||||
image = "images/full/IMG_20180223_141732_0913.jpg"
|
||||
thumb = "images/thumbs/th_IMG_20180223_141732_0913.jpg"
|
||||
alt = "Buffy the Vampire Slayer!"
|
||||
description = "2018-02-23"
|
||||
url = "images/full/IMG_20180223_141732_0913.jpg"
|
||||
[[items]]
|
||||
title = "The Last Jedi!"
|
||||
image = "images/full/IMG_20180223_125606_0912.jpg"
|
||||
thumb = "images/thumbs/th_IMG_20180223_125606_0912.jpg"
|
||||
alt = "The Last Jedi!"
|
||||
description = "2018-02-23"
|
||||
url = "images/full/IMG_20180223_125606_0912.jpg"
|
||||
[[items]]
|
||||
title = "Alias!"
|
||||
image = "images/full/IMG_20180217_120644_0901.jpg"
|
||||
thumb = "images/thumbs/th_IMG_20180217_120644_0901.jpg"
|
||||
alt = "Alias!"
|
||||
description = "2018-02-17"
|
||||
url = "images/full/IMG_20180217_120644_0901.jpg"
|
||||
[[items]]
|
||||
title = "Daisy Johnson from Agents of S.H.I.E.L.D!"
|
||||
image = "images/full/IMG_20180211_130610_0896.jpg"
|
||||
thumb = "images/thumbs/th_IMG_20180211_130610_0896.jpg"
|
||||
alt = "Daisy Johnson from Agents of S.H.I.E.L.D!"
|
||||
description = "2018-02-11"
|
||||
url = "images/full/IMG_20180211_130610_0896.jpg"
|
||||
[[items]]
|
||||
title = "Mr. Robot!"
|
||||
image = "images/full/IMG_20180131_182721_0875.jpg"
|
||||
thumb = "images/thumbs/th_IMG_20180131_182721_0875.jpg"
|
||||
alt = "Mr. Robot!"
|
||||
description = "2018-01-31"
|
||||
url = "images/full/IMG_20180131_182721_0875.jpg"
|
7
layouts/partials/partialheader.html
Normal file
@ -0,0 +1,7 @@
|
||||
{{ if eq (printf "%v" $.Site.BaseURL) "http://localhost:1313/" }}
|
||||
{{"<!-- Not loading Fathom on localhost //-->" | safeHTML}}
|
||||
{{ else }}
|
||||
<!-- Fathom - simple website analytics - https://github.com/usefathom/fathom -->
|
||||
<script type="text/javascript" src="{{"js/stats.js" | relURL}}"></script>
|
||||
<!-- / Fathom -->
|
||||
{{ end }}
|
15
public/categories/index.xml
Normal file
@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||
<channel>
|
||||
<title>Categories on CaptainArk's Pics</title>
|
||||
<link>https://pics.captainark.net/categories/</link>
|
||||
<description>Recent content in Categories on CaptainArk's Pics</description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>en-us</language>
|
||||
<copyright>© 2018 - 2019</copyright>
|
||||
|
||||
<atom:link href="https://pics.captainark.net/categories/index.xml" rel="self" type="application/rss+xml" />
|
||||
|
||||
|
||||
</channel>
|
||||
</rss>
|
195
public/css/component.css
Normal file
@ -0,0 +1,195 @@
|
||||
.og-grid {
|
||||
list-style: none;
|
||||
padding: 20px 0;
|
||||
margin: 0 auto;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.og-grid li {
|
||||
display: inline-block;
|
||||
margin: 10px 5px 0 5px;
|
||||
vertical-align: top;
|
||||
height: 250px;
|
||||
}
|
||||
|
||||
.og-grid li > a,
|
||||
.og-grid li > a img {
|
||||
border: none;
|
||||
outline: none;
|
||||
display: block;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.og-grid li.og-expanded > a::after {
|
||||
top: auto;
|
||||
border: solid transparent;
|
||||
content: " ";
|
||||
height: 0;
|
||||
width: 0;
|
||||
position: absolute;
|
||||
pointer-events: none;
|
||||
border-bottom-color: #ddd;
|
||||
border-width: 15px;
|
||||
left: 50%;
|
||||
margin: -20px 0 0 -15px;
|
||||
}
|
||||
|
||||
.og-expander {
|
||||
position: absolute;
|
||||
background: #ddd;
|
||||
top: auto;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
margin-top: 10px;
|
||||
text-align: left;
|
||||
height: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.og-expander-inner {
|
||||
padding: 50px 30px;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.og-close {
|
||||
position: absolute;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
top: 20px;
|
||||
right: 20px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.og-close::before,
|
||||
.og-close::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
top: 50%;
|
||||
height: 1px;
|
||||
background: #888;
|
||||
-webkit-transform: rotate(45deg);
|
||||
-moz-transform: rotate(45deg);
|
||||
transform: rotate(45deg);
|
||||
}
|
||||
|
||||
.og-close::after {
|
||||
-webkit-transform: rotate(-45deg);
|
||||
-moz-transform: rotate(-45deg);
|
||||
transform: rotate(-45deg);
|
||||
}
|
||||
|
||||
.og-close:hover::before,
|
||||
.og-close:hover::after {
|
||||
background: #333;
|
||||
}
|
||||
|
||||
.og-fullimg,
|
||||
.og-details {
|
||||
width: 50%;
|
||||
float: left;
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.og-details {
|
||||
padding: 0 40px 0 20px;
|
||||
}
|
||||
|
||||
.og-fullimg {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.og-fullimg img {
|
||||
display: inline-block;
|
||||
max-height: 100%;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.og-details h3 {
|
||||
font-weight: 300;
|
||||
font-size: 52px;
|
||||
padding: 40px 0 10px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.og-details p {
|
||||
font-weight: 400;
|
||||
font-size: 16px;
|
||||
line-height: 22px;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.og-details a {
|
||||
font-weight: 700;
|
||||
font-size: 16px;
|
||||
color: #333;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 2px;
|
||||
padding: 10px 20px;
|
||||
border: 3px solid #333;
|
||||
display: inline-block;
|
||||
margin: 30px 0 0;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.og-details a::before {
|
||||
content: '\2192';
|
||||
display: inline-block;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.og-details a:hover {
|
||||
border-color: #999;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.og-loading {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
border-radius: 50%;
|
||||
background: #ddd;
|
||||
box-shadow: 0 0 1px #ccc, 15px 30px 1px #ccc, -15px 30px 1px #ccc;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
margin: -25px 0 0 -25px;
|
||||
-webkit-animation: loader 0.5s infinite ease-in-out both;
|
||||
-moz-animation: loader 0.5s infinite ease-in-out both;
|
||||
animation: loader 0.5s infinite ease-in-out both;
|
||||
}
|
||||
|
||||
@-webkit-keyframes loader {
|
||||
0% { background: #ddd; }
|
||||
33% { background: #ccc; box-shadow: 0 0 1px #ccc, 15px 30px 1px #ccc, -15px 30px 1px #ddd; }
|
||||
66% { background: #ccc; box-shadow: 0 0 1px #ccc, 15px 30px 1px #ddd, -15px 30px 1px #ccc; }
|
||||
}
|
||||
|
||||
@-moz-keyframes loader {
|
||||
0% { background: #ddd; }
|
||||
33% { background: #ccc; box-shadow: 0 0 1px #ccc, 15px 30px 1px #ccc, -15px 30px 1px #ddd; }
|
||||
66% { background: #ccc; box-shadow: 0 0 1px #ccc, 15px 30px 1px #ddd, -15px 30px 1px #ccc; }
|
||||
}
|
||||
|
||||
@keyframes loader {
|
||||
0% { background: #ddd; }
|
||||
33% { background: #ccc; box-shadow: 0 0 1px #ccc, 15px 30px 1px #ccc, -15px 30px 1px #ddd; }
|
||||
66% { background: #ccc; box-shadow: 0 0 1px #ccc, 15px 30px 1px #ddd, -15px 30px 1px #ccc; }
|
||||
}
|
||||
|
||||
@media screen and (max-width: 830px) {
|
||||
|
||||
.og-expander h3 { font-size: 32px; }
|
||||
.og-expander p { font-size: 13px; }
|
||||
.og-expander a { font-size: 12px; }
|
||||
|
||||
}
|
||||
|
||||
@media screen and (max-width: 650px) {
|
||||
|
||||
.og-fullimg { display: none; }
|
||||
.og-details { float: none; width: 100%; }
|
||||
|
||||
}
|
80
public/css/default.css
Normal file
@ -0,0 +1,80 @@
|
||||
/* General Demo Style */
|
||||
@import url(//fonts.googleapis.com/css?family=Lato:300,400,700);
|
||||
|
||||
html { height: 100%; }
|
||||
|
||||
*,
|
||||
*:after,
|
||||
*:before {
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/* Clearfix hack by Nicolas Gallagher: http://nicolasgallagher.com/micro-clearfix-hack/ */
|
||||
.clearfix:before,
|
||||
.clearfix:after {
|
||||
content: " ";
|
||||
display: table;
|
||||
}
|
||||
|
||||
.clearfix:after {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.clearfix {
|
||||
*zoom: 1;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Lato', Calibri, Arial, sans-serif;
|
||||
font-weight: 300;
|
||||
font-size: 15px;
|
||||
color: #333;
|
||||
overflow: scroll;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #555;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.container {
|
||||
width: 100%;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.container > header {
|
||||
width: 90%;
|
||||
max-width: 1240px;
|
||||
margin: 0 auto;
|
||||
position: relative;
|
||||
padding: 0 30px 50px 30px;
|
||||
}
|
||||
|
||||
.container > header {
|
||||
padding: 60px 30px 50px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.container > header h1 {
|
||||
font-size: 34px;
|
||||
line-height: 38px;
|
||||
margin: 0 auto;
|
||||
font-weight: 700;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.container > header h1 span {
|
||||
display: block;
|
||||
font-size: 20px;
|
||||
font-weight: 300;
|
||||
}
|
||||
|
||||
.main > p {
|
||||
text-align: center;
|
||||
padding: 50px 20px;
|
||||
}
|
BIN
public/favicon.ico
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
public/images/full/1.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
public/images/full/2.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
public/images/full/3.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
public/images/full/4.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
public/images/full/5.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
public/images/full/IMG_20180131_182721_0875.jpg
Normal file
After Width: | Height: | Size: 1.9 MiB |
BIN
public/images/full/IMG_20180211_130610_0896.jpg
Normal file
After Width: | Height: | Size: 992 KiB |
BIN
public/images/full/IMG_20180217_120644_0901.jpg
Normal file
After Width: | Height: | Size: 1.1 MiB |
BIN
public/images/full/IMG_20180223_125606_0912.jpg
Normal file
After Width: | Height: | Size: 1.7 MiB |
BIN
public/images/full/IMG_20180223_141732_0913.jpg
Normal file
After Width: | Height: | Size: 1.3 MiB |
BIN
public/images/full/IMG_20180224_122552_0919.jpg
Normal file
After Width: | Height: | Size: 1.9 MiB |
BIN
public/images/full/IMG_20180226_153531_0921.jpg
Normal file
After Width: | Height: | Size: 765 KiB |
BIN
public/images/full/IMG_20180227_162734_0923.jpg
Normal file
After Width: | Height: | Size: 2.1 MiB |
BIN
public/images/full/IMG_20180303_123601_0925.jpg
Normal file
After Width: | Height: | Size: 1.4 MiB |
BIN
public/images/full/IMG_20180305_175147_0930.jpg
Normal file
After Width: | Height: | Size: 1.1 MiB |
BIN
public/images/full/IMG_20180307_190858_0933.jpg
Normal file
After Width: | Height: | Size: 1.3 MiB |
BIN
public/images/full/IMG_20180308_190750_0937.jpg
Normal file
After Width: | Height: | Size: 992 KiB |
BIN
public/images/full/IMG_20180315_213701_0941.jpg
Normal file
After Width: | Height: | Size: 1.6 MiB |
BIN
public/images/full/IMG_20180324_111517_0949.jpg
Normal file
After Width: | Height: | Size: 1.3 MiB |
BIN
public/images/full/IMG_20180324_111808_0950.jpg
Normal file
After Width: | Height: | Size: 1.5 MiB |
BIN
public/images/full/IMG_20180326_132239_0951.jpg
Normal file
After Width: | Height: | Size: 924 KiB |
BIN
public/images/full/IMG_20180326_132447_0954.jpg
Normal file
After Width: | Height: | Size: 1.7 MiB |
BIN
public/images/full/IMG_20180609_124246_1012.jpg
Normal file
After Width: | Height: | Size: 1.2 MiB |
BIN
public/images/full/IMG_20180630_103300_1022.jpg
Normal file
After Width: | Height: | Size: 1.6 MiB |
BIN
public/images/full/IMG_20180630_103548_1024.jpg
Normal file
After Width: | Height: | Size: 1.5 MiB |
BIN
public/images/full/IMG_20181027_111253_1063.jpg
Normal file
After Width: | Height: | Size: 1.5 MiB |
BIN
public/images/full/IMG_20181027_111938_1065.jpg
Normal file
After Width: | Height: | Size: 2.1 MiB |
BIN
public/images/full/IMG_20181108_133445_1067.jpg
Normal file
After Width: | Height: | Size: 1.2 MiB |
BIN
public/images/full/IMG_20181128_191405_1084.jpg
Normal file
After Width: | Height: | Size: 1.2 MiB |
BIN
public/images/full/IMG_20181222_122311_1091.jpg
Normal file
After Width: | Height: | Size: 1.6 MiB |
BIN
public/images/thumbs/1.png
Normal file
After Width: | Height: | Size: 6.0 KiB |
BIN
public/images/thumbs/2.png
Normal file
After Width: | Height: | Size: 5.8 KiB |
BIN
public/images/thumbs/3.png
Normal file
After Width: | Height: | Size: 5.9 KiB |
BIN
public/images/thumbs/4.png
Normal file
After Width: | Height: | Size: 5.9 KiB |
BIN
public/images/thumbs/5.png
Normal file
After Width: | Height: | Size: 6.0 KiB |
BIN
public/images/thumbs/th_IMG_20180131_182721_0875.jpg
Normal file
After Width: | Height: | Size: 28 KiB |
BIN
public/images/thumbs/th_IMG_20180211_130610_0896.jpg
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
public/images/thumbs/th_IMG_20180217_120644_0901.jpg
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
public/images/thumbs/th_IMG_20180223_125606_0912.jpg
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
public/images/thumbs/th_IMG_20180223_141732_0913.jpg
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
public/images/thumbs/th_IMG_20180224_122552_0919.jpg
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
public/images/thumbs/th_IMG_20180226_153531_0921.jpg
Normal file
After Width: | Height: | Size: 25 KiB |
BIN
public/images/thumbs/th_IMG_20180227_162734_0923.jpg
Normal file
After Width: | Height: | Size: 25 KiB |
BIN
public/images/thumbs/th_IMG_20180303_123601_0925.jpg
Normal file
After Width: | Height: | Size: 23 KiB |
BIN
public/images/thumbs/th_IMG_20180305_175147_0930.jpg
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
public/images/thumbs/th_IMG_20180307_190858_0933.jpg
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
public/images/thumbs/th_IMG_20180308_190750_0937.jpg
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
public/images/thumbs/th_IMG_20180315_213701_0941.jpg
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
public/images/thumbs/th_IMG_20180324_111517_0949.jpg
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
public/images/thumbs/th_IMG_20180324_111808_0950.jpg
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
public/images/thumbs/th_IMG_20180326_132239_0951.jpg
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
public/images/thumbs/th_IMG_20180326_132447_0954.jpg
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
public/images/thumbs/th_IMG_20180609_124246_1012.jpg
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
public/images/thumbs/th_IMG_20180630_103300_1022.jpg
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
public/images/thumbs/th_IMG_20180630_103548_1024.jpg
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
public/images/thumbs/th_IMG_20181027_111253_1063.jpg
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
public/images/thumbs/th_IMG_20181027_111938_1065.jpg
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
public/images/thumbs/th_IMG_20181108_133445_1067.jpg
Normal file
After Width: | Height: | Size: 23 KiB |
BIN
public/images/thumbs/th_IMG_20181128_191405_1084.jpg
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
public/images/thumbs/th_IMG_20181222_122311_1091.jpg
Normal file
After Width: | Height: | Size: 26 KiB |
202
public/index.html
Normal file
@ -0,0 +1,202 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en-us">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>CaptainArk's Pics</title>
|
||||
<meta name="description" content="I have a small Funko Pop! collection. I take pictures of them. I post them here." />
|
||||
<meta name="keywords" content="Funko, Funko Pop!, Pop!, Pictures" />
|
||||
<meta name="author" content="Antoine Joubert" />
|
||||
<link rel="icon" href="favicon.ico" />
|
||||
<meta name="generator" content="Hugo 0.53" />
|
||||
<style>
|
||||
body {
|
||||
background: #f9f9f9;
|
||||
color: ;
|
||||
}
|
||||
</style>
|
||||
<link rel="stylesheet" type="text/css" href="https://pics.captainark.netcss/default.css" />
|
||||
<link rel="stylesheet" type="text/css" href="https://pics.captainark.netcss/component.css" />
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="text/javascript" src="https://pics.captainark.net/js/stats.js"></script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<header class="clearfix">
|
||||
<h1>CaptainArk’s Pics<span><em>Pics of my Funko Pop!s</em></span></h1>
|
||||
</header>
|
||||
<div class="main">
|
||||
<ul id="og-grid" class="og-grid">
|
||||
|
||||
<li>
|
||||
<a href="images/full/IMG_20181222_122311_1091.jpg" data-largesrc="images/full/IMG_20181222_122311_1091.jpg" data-title="Overwatch Exclusives!" data-description="2018-12-22" data-buttontext="">
|
||||
<img src="images/thumbs/th_IMG_20181222_122311_1091.jpg" alt="Overwatch Exclusives!"/>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="images/full/IMG_20181128_191405_1084.jpg" data-largesrc="images/full/IMG_20181128_191405_1084.jpg" data-title="Agent Carter!" data-description="2018-11-28" data-buttontext="">
|
||||
<img src="images/thumbs/th_IMG_20181128_191405_1084.jpg" alt="Agent Carter!"/>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="images/full/IMG_20181108_133445_1067.jpg" data-largesrc="images/full/IMG_20181108_133445_1067.jpg" data-title="Ashe Blizzcon Edition!" data-description="2018-11-08" data-buttontext="">
|
||||
<img src="images/thumbs/th_IMG_20181108_133445_1067.jpg" alt="Ashe Blizzcon Edition!"/>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="images/full/IMG_20181027_111938_1065.jpg" data-largesrc="images/full/IMG_20181027_111938_1065.jpg" data-title="My Overwatch Collection So Far! #4" data-description="2018-10-27" data-buttontext="">
|
||||
<img src="images/thumbs/th_IMG_20181027_111938_1065.jpg" alt="My Overwatch Collection So Far! #4"/>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="images/full/IMG_20181027_111253_1063.jpg" data-largesrc="images/full/IMG_20181027_111253_1063.jpg" data-title="Overwatch Wave #4!" data-description="2018-10-27" data-buttontext="">
|
||||
<img src="images/thumbs/th_IMG_20181027_111253_1063.jpg" alt="Overwatch Wave #4!"/>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="images/full/IMG_20180630_103548_1024.jpg" data-largesrc="images/full/IMG_20180630_103548_1024.jpg" data-title="My Overwatch Collection So Far! #3" data-description="2018-06-30" data-buttontext="">
|
||||
<img src="images/thumbs/th_IMG_20180630_103548_1024.jpg" alt="My Overwatch Collection So Far!"/>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="images/full/IMG_20180630_103300_1022.jpg" data-largesrc="images/full/IMG_20180630_103300_1022.jpg" data-title="Atomic Blonde & Overwatch!" data-description="2018-06-30" data-buttontext="">
|
||||
<img src="images/thumbs/th_IMG_20180630_103300_1022.jpg" alt="Atomic Blonde & Overwatch!"/>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="images/full/IMG_20180609_124246_1012.jpg" data-largesrc="images/full/IMG_20180609_124246_1012.jpg" data-title="Overwatch Wave #3!" data-description="2018-06-09" data-buttontext="">
|
||||
<img src="images/thumbs/th_IMG_20180609_124246_1012.jpg" alt="Overwatch Wave #3!"/>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="images/full/IMG_20180326_132447_0954.jpg" data-largesrc="images/full/IMG_20180326_132447_0954.jpg" data-title="My Overwatch Collection So Far! #2" data-description="2018-03-26" data-buttontext="">
|
||||
<img src="images/thumbs/th_IMG_20180326_132447_0954.jpg" alt="My Overwatch Collection So Far!"/>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="images/full/IMG_20180326_132239_0951.jpg" data-largesrc="images/full/IMG_20180326_132239_0951.jpg" data-title="Soldier: 76!" data-description="2018-03-26" data-buttontext="">
|
||||
<img src="images/thumbs/th_IMG_20180326_132239_0951.jpg" alt="Soldier: 76!"/>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="images/full/IMG_20180324_111808_0950.jpg" data-largesrc="images/full/IMG_20180324_111808_0950.jpg" data-title="My Overwatch Collection So Far!" data-description="2018-03-24" data-buttontext="">
|
||||
<img src="images/thumbs/th_IMG_20180324_111808_0950.jpg" alt="My Overwatch Collection So Far!"/>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="images/full/IMG_20180324_111517_0949.jpg" data-largesrc="images/full/IMG_20180324_111517_0949.jpg" data-title="Overwatch!" data-description="2018-03-24" data-buttontext="">
|
||||
<img src="images/thumbs/th_IMG_20180324_111517_0949.jpg" alt="Overwatch!"/>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="images/full/IMG_20180315_213701_0941.jpg" data-largesrc="images/full/IMG_20180315_213701_0941.jpg" data-title="Wonder Woman & iZombie!" data-description="2018-03-15" data-buttontext="">
|
||||
<img src="images/thumbs/th_IMG_20180315_213701_0941.jpg" alt="Wonder Woman & iZombie!"/>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="images/full/IMG_20180308_190750_0937.jpg" data-largesrc="images/full/IMG_20180308_190750_0937.jpg" data-title="Pharah!" data-description="2018-03-08" data-buttontext="">
|
||||
<img src="images/thumbs/th_IMG_20180308_190750_0937.jpg" alt="Pharah!"/>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="images/full/IMG_20180307_190858_0933.jpg" data-largesrc="images/full/IMG_20180307_190858_0933.jpg" data-title="Jessica Jones & Beerus!" data-description="2018-03-07" data-buttontext="">
|
||||
<img src="images/thumbs/th_IMG_20180307_190858_0933.jpg" alt="Jessica Jones & Beerus!"/>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="images/full/IMG_20180305_175147_0930.jpg" data-largesrc="images/full/IMG_20180305_175147_0930.jpg" data-title="Overwatch!" data-description="2018-03-05" data-buttontext="">
|
||||
<img src="images/thumbs/th_IMG_20180305_175147_0930.jpg" alt="Overwatch!"/>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="images/full/IMG_20180303_123601_0925.jpg" data-largesrc="images/full/IMG_20180303_123601_0925.jpg" data-title="D.Va!" data-description="2018-03-03" data-buttontext="">
|
||||
<img src="images/thumbs/th_IMG_20180303_123601_0925.jpg" alt="D.Va!"/>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="images/full/IMG_20180227_162734_0923.jpg" data-largesrc="images/full/IMG_20180227_162734_0923.jpg" data-title="Buffy the Vampire Slayer!" data-description="2018-02-27" data-buttontext="">
|
||||
<img src="images/thumbs/th_IMG_20180227_162734_0923.jpg" alt="Buffy the Vampire Slayer!"/>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="images/full/IMG_20180226_153531_0921.jpg" data-largesrc="images/full/IMG_20180226_153531_0921.jpg" data-title="Wonder Woman, John Wick & The 100!" data-description="2018-02-26" data-buttontext="">
|
||||
<img src="images/thumbs/th_IMG_20180226_153531_0921.jpg" alt="Wonder Woman, John Wick & The 100!"/>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="images/full/IMG_20180224_122552_0919.jpg" data-largesrc="images/full/IMG_20180224_122552_0919.jpg" data-title="The 100!" data-description="2018-02-24" data-buttontext="">
|
||||
<img src="images/thumbs/th_IMG_20180224_122552_0919.jpg" alt="The 100!"/>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="images/full/IMG_20180223_141732_0913.jpg" data-largesrc="images/full/IMG_20180223_141732_0913.jpg" data-title="Buffy the Vampire Slayer!" data-description="2018-02-23" data-buttontext="">
|
||||
<img src="images/thumbs/th_IMG_20180223_141732_0913.jpg" alt="Buffy the Vampire Slayer!"/>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="images/full/IMG_20180223_125606_0912.jpg" data-largesrc="images/full/IMG_20180223_125606_0912.jpg" data-title="The Last Jedi!" data-description="2018-02-23" data-buttontext="">
|
||||
<img src="images/thumbs/th_IMG_20180223_125606_0912.jpg" alt="The Last Jedi!"/>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="images/full/IMG_20180217_120644_0901.jpg" data-largesrc="images/full/IMG_20180217_120644_0901.jpg" data-title="Alias!" data-description="2018-02-17" data-buttontext="">
|
||||
<img src="images/thumbs/th_IMG_20180217_120644_0901.jpg" alt="Alias!"/>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="images/full/IMG_20180211_130610_0896.jpg" data-largesrc="images/full/IMG_20180211_130610_0896.jpg" data-title="Daisy Johnson from Agents of S.H.I.E.L.D!" data-description="2018-02-11" data-buttontext="">
|
||||
<img src="images/thumbs/th_IMG_20180211_130610_0896.jpg" alt="Daisy Johnson from Agents of S.H.I.E.L.D!"/>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="images/full/IMG_20180131_182721_0875.jpg" data-largesrc="images/full/IMG_20180131_182721_0875.jpg" data-title="Mr. Robot!" data-description="2018-01-31" data-buttontext="">
|
||||
<img src="images/thumbs/th_IMG_20180131_182721_0875.jpg" alt="Mr. Robot!"/>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
<footer>
|
||||
CaptainArk © 2018 - 2019
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.9.1/jquery.min.js" integrity="sha384-EaUkI/FiMJtEXWAl0dCczvbFvjfzsIF1UNKGJvu9p5JIG71Kih7/kQJvYbBL7HOn" crossorigin="anonymous"></script>
|
||||
<script type="text/javascript" src="https://pics.captainark.net/js/modernizr.custom.js"></script>
|
||||
<script type="text/javascript" src="https://pics.captainark.net/js/hugrid.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
15
public/index.xml
Normal file
@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||
<channel>
|
||||
<title>CaptainArk's Pics</title>
|
||||
<link>https://pics.captainark.net/</link>
|
||||
<description>Recent content on CaptainArk's Pics</description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>en-us</language>
|
||||
<copyright>© 2018 - 2019</copyright>
|
||||
|
||||
<atom:link href="https://pics.captainark.net/index.xml" rel="self" type="application/rss+xml" />
|
||||
|
||||
|
||||
</channel>
|
||||
</rss>
|
436
public/js/hugrid.js
Normal file
@ -0,0 +1,436 @@
|
||||
var $event = $.event,
|
||||
$special,
|
||||
resizeTimeout;
|
||||
|
||||
$special = $event.special.debouncedresize = {
|
||||
setup: function() {
|
||||
$( this ).on( "resize", $special.handler );
|
||||
},
|
||||
teardown: function() {
|
||||
$( this ).off( "resize", $special.handler );
|
||||
},
|
||||
handler: function( event, execAsap ) {
|
||||
var context = this,
|
||||
args = arguments,
|
||||
dispatch = function() {
|
||||
event.type = "debouncedresize";
|
||||
$event.dispatch.apply( context, args );
|
||||
};
|
||||
|
||||
if ( resizeTimeout ) {
|
||||
clearTimeout( resizeTimeout );
|
||||
}
|
||||
|
||||
execAsap ?
|
||||
dispatch() :
|
||||
resizeTimeout = setTimeout( dispatch, $special.threshold );
|
||||
},
|
||||
threshold: 250
|
||||
};
|
||||
|
||||
var BLANK = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==';
|
||||
|
||||
$.fn.imagesLoaded = function( callback ) {
|
||||
var $this = this,
|
||||
deferred = $.isFunction($.Deferred) ? $.Deferred() : 0,
|
||||
hasNotify = $.isFunction(deferred.notify),
|
||||
$images = $this.find('img').add( $this.filter('img') ),
|
||||
loaded = [],
|
||||
proper = [],
|
||||
broken = [];
|
||||
|
||||
if ($.isPlainObject(callback)) {
|
||||
$.each(callback, function (key, value) {
|
||||
if (key === 'callback') {
|
||||
callback = value;
|
||||
} else if (deferred) {
|
||||
deferred[key](value);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function doneLoading() {
|
||||
var $proper = $(proper),
|
||||
$broken = $(broken);
|
||||
|
||||
if ( deferred ) {
|
||||
if ( broken.length ) {
|
||||
deferred.reject( $images, $proper, $broken );
|
||||
} else {
|
||||
deferred.resolve( $images );
|
||||
}
|
||||
}
|
||||
|
||||
if ( $.isFunction( callback ) ) {
|
||||
callback.call( $this, $images, $proper, $broken );
|
||||
}
|
||||
}
|
||||
|
||||
function imgLoaded( img, isBroken ) {
|
||||
if ( img.src === BLANK || $.inArray( img, loaded ) !== -1 ) {
|
||||
return;
|
||||
}
|
||||
|
||||
loaded.push( img );
|
||||
|
||||
if ( isBroken ) {
|
||||
broken.push( img );
|
||||
} else {
|
||||
proper.push( img );
|
||||
}
|
||||
|
||||
$.data( img, 'imagesLoaded', { isBroken: isBroken, src: img.src } );
|
||||
|
||||
if ( hasNotify ) {
|
||||
deferred.notifyWith( $(img), [ isBroken, $images, $(proper), $(broken) ] );
|
||||
}
|
||||
|
||||
if ( $images.length === loaded.length ){
|
||||
setTimeout( doneLoading );
|
||||
$images.unbind( '.imagesLoaded' );
|
||||
}
|
||||
}
|
||||
|
||||
if ( !$images.length ) {
|
||||
doneLoading();
|
||||
} else {
|
||||
$images.bind( 'load.imagesLoaded error.imagesLoaded', function( event ){
|
||||
imgLoaded( event.target, event.type === 'error' );
|
||||
}).each( function( i, el ) {
|
||||
var src = el.src;
|
||||
|
||||
var cached = $.data( el, 'imagesLoaded' );
|
||||
if ( cached && cached.src === src ) {
|
||||
imgLoaded( el, cached.isBroken );
|
||||
return;
|
||||
}
|
||||
|
||||
if ( el.complete && el.naturalWidth !== undefined ) {
|
||||
imgLoaded( el, el.naturalWidth === 0 || el.naturalHeight === 0 );
|
||||
return;
|
||||
}
|
||||
|
||||
if ( el.readyState || el.complete ) {
|
||||
el.src = BLANK;
|
||||
el.src = src;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
return deferred ? deferred.promise( $this ) : $this;
|
||||
};
|
||||
|
||||
var Grid = (function() {
|
||||
|
||||
var $grid = $( '*#og-grid' ),
|
||||
$items = $grid.children( 'li' ),
|
||||
current = -1,
|
||||
previewPos = -1,
|
||||
scrollExtra = 0,
|
||||
marginExpanded = 10,
|
||||
$window = $( window ), winsize,
|
||||
$body = $( 'html, body' ),
|
||||
transEndEventNames = {
|
||||
'WebkitTransition' : 'webkitTransitionEnd',
|
||||
'MozTransition' : 'transitionend',
|
||||
'OTransition' : 'oTransitionEnd',
|
||||
'msTransition' : 'MSTransitionEnd',
|
||||
'transition' : 'transitionend'
|
||||
},
|
||||
transEndEventName = transEndEventNames[ Modernizr.prefixed( 'transition' ) ],
|
||||
support = Modernizr.csstransitions,
|
||||
settings = {
|
||||
minHeight : 500,
|
||||
speed : 350,
|
||||
easing : 'ease'
|
||||
};
|
||||
|
||||
function init( config ) {
|
||||
|
||||
settings = $.extend( true, {}, settings, config );
|
||||
|
||||
$grid.imagesLoaded( function() {
|
||||
|
||||
saveItemInfo( true );
|
||||
getWinSize();
|
||||
initEvents();
|
||||
|
||||
} );
|
||||
|
||||
}
|
||||
|
||||
function addItems( $newitems ) {
|
||||
|
||||
$items = $items.add( $newitems );
|
||||
|
||||
$newitems.each( function() {
|
||||
var $item = $( this );
|
||||
$item.data( {
|
||||
offsetTop : $item.offset().top,
|
||||
height : $item.height()
|
||||
} );
|
||||
} );
|
||||
|
||||
initItemsEvents( $newitems );
|
||||
|
||||
}
|
||||
|
||||
function saveItemInfo( saveheight ) {
|
||||
$items.each( function() {
|
||||
var $item = $( this );
|
||||
$item.data( 'offsetTop', $item.offset().top );
|
||||
if( saveheight ) {
|
||||
$item.data( 'height', $item.height() );
|
||||
}
|
||||
} );
|
||||
}
|
||||
|
||||
function initEvents() {
|
||||
|
||||
initItemsEvents( $items );
|
||||
|
||||
$window.on( 'debouncedresize', function() {
|
||||
|
||||
scrollExtra = 0;
|
||||
previewPos = -1;
|
||||
saveItemInfo();
|
||||
getWinSize();
|
||||
var preview = $.data( this, 'preview' );
|
||||
if( typeof preview != 'undefined' ) {
|
||||
hidePreview();
|
||||
}
|
||||
|
||||
} );
|
||||
|
||||
}
|
||||
|
||||
function initItemsEvents( $items ) {
|
||||
$items.on( 'click', 'span.og-close', function() {
|
||||
hidePreview();
|
||||
return false;
|
||||
} ).children( 'a' ).on( 'click', function(e) {
|
||||
|
||||
var $item = $( this ).parent();
|
||||
current === Array.from($items).findIndex(d => d == $item[0]) ? hidePreview() : showPreview( $item );
|
||||
return false;
|
||||
|
||||
} );
|
||||
}
|
||||
|
||||
function getWinSize() {
|
||||
winsize = { width : $window.width(), height : $window.height() };
|
||||
}
|
||||
|
||||
function showPreview( $item ) {
|
||||
|
||||
var preview = $.data( this, 'preview' ),
|
||||
position = $item.data( 'offsetTop' );
|
||||
|
||||
scrollExtra = 0;
|
||||
|
||||
if( typeof preview != 'undefined' ) {
|
||||
|
||||
if( previewPos !== position ) {
|
||||
if( position > previewPos ) {
|
||||
scrollExtra = preview.height;
|
||||
}
|
||||
hidePreview();
|
||||
}
|
||||
else {
|
||||
preview.update( $item );
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
previewPos = position;
|
||||
preview = $.data( this, 'preview', new Preview( $item ) );
|
||||
preview.open();
|
||||
|
||||
}
|
||||
|
||||
function hidePreview() {
|
||||
current = -1;
|
||||
var preview = $.data( this, 'preview' );
|
||||
preview.close();
|
||||
$.removeData( this, 'preview' );
|
||||
}
|
||||
|
||||
function Preview( $item ) {
|
||||
this.$item = $item;
|
||||
this.expandedIdx = Array.from($items).findIndex(d => d == this.$item[0]);
|
||||
this.create();
|
||||
this.update();
|
||||
}
|
||||
|
||||
Preview.prototype = {
|
||||
create : function() {
|
||||
this.$title = $( '<h3></h3>' );
|
||||
this.$description = $( '<p></p>' );
|
||||
this.$href = $( '<a href="#" target="_blank">Full size picture</a>' );
|
||||
this.$details = $( '<div class="og-details"></div>' ).append( this.$title, this.$description, this.$href );
|
||||
this.$loading = $( '<div class="og-loading"></div>' );
|
||||
this.$fullimage = $( '<div class="og-fullimg"></div>' ).append( this.$loading );
|
||||
this.$closePreview = $( '<span class="og-close"></span>' );
|
||||
this.$previewInner = $( '<div class="og-expander-inner"></div>' ).append( this.$closePreview, this.$fullimage, this.$details );
|
||||
this.$previewEl = $( '<div class="og-expander"></div>' ).append( this.$previewInner );
|
||||
this.$item.append( this.getEl() );
|
||||
if( support ) {
|
||||
this.setTransition();
|
||||
}
|
||||
},
|
||||
update : function( $item ) {
|
||||
|
||||
if( $item ) {
|
||||
this.$item = $item;
|
||||
}
|
||||
|
||||
if( current !== -1 ) {
|
||||
var $currentItem = $items.eq( current );
|
||||
$currentItem.removeClass( 'og-expanded' );
|
||||
this.$item.addClass( 'og-expanded' );
|
||||
this.positionPreview();
|
||||
}
|
||||
|
||||
current = this.$item.index();
|
||||
|
||||
var $itemEl = this.$item.children( 'a' ),
|
||||
eldata = {
|
||||
href : $itemEl.attr( 'href' ),
|
||||
largesrc : $itemEl.data( 'largesrc' ),
|
||||
title : $itemEl.data( 'title' ),
|
||||
description : $itemEl.data( 'description' ),
|
||||
buttontext : $itemEl.data( 'buttontext' )
|
||||
};
|
||||
|
||||
this.$title.html( eldata.title );
|
||||
this.$description.html( eldata.description );
|
||||
if(eldata.buttontext) this.$href.text(eldata.buttontext);
|
||||
else this.$href.text("Full size picture")
|
||||
|
||||
if (eldata.href) {
|
||||
this.$href.attr( 'href', eldata.href );
|
||||
this.$href.show();
|
||||
}
|
||||
else {
|
||||
this.$href.hide();
|
||||
}
|
||||
|
||||
var self = this;
|
||||
|
||||
if( typeof self.$largeImg != 'undefined' ) {
|
||||
self.$largeImg.remove();
|
||||
}
|
||||
|
||||
if( self.$fullimage.is( ':visible' ) ) {
|
||||
this.$loading.show();
|
||||
$( '<img/>' ).load( function() {
|
||||
var $img = $( this );
|
||||
if( $img.attr( 'src' ) === self.$item.children('a').data( 'largesrc' ) ) {
|
||||
self.$loading.hide();
|
||||
self.$fullimage.find( 'img' ).remove();
|
||||
self.$largeImg = $img.fadeIn( 350 );
|
||||
self.$fullimage.append( self.$largeImg );
|
||||
}
|
||||
} ).attr( 'src', eldata.largesrc );
|
||||
}
|
||||
|
||||
},
|
||||
open : function() {
|
||||
|
||||
setTimeout( $.proxy( function() {
|
||||
this.setHeights();
|
||||
this.positionPreview();
|
||||
}, this ), 25 );
|
||||
|
||||
},
|
||||
close : function() {
|
||||
|
||||
var self = this,
|
||||
onEndFn = function() {
|
||||
if( support ) {
|
||||
$( this ).off( transEndEventName );
|
||||
}
|
||||
self.$item.removeClass( 'og-expanded' );
|
||||
self.$previewEl.remove();
|
||||
};
|
||||
|
||||
setTimeout( $.proxy( function() {
|
||||
|
||||
if( typeof this.$largeImg !== 'undefined' ) {
|
||||
this.$largeImg.fadeOut( 'fast' );
|
||||
}
|
||||
this.$previewEl.css( 'height', 0 );
|
||||
var $expandedItem = $items.eq( this.expandedIdx );
|
||||
$expandedItem.css( 'height', $expandedItem.data( 'height' ) ).on( transEndEventName, onEndFn );
|
||||
|
||||
if( !support ) {
|
||||
onEndFn.call();
|
||||
}
|
||||
|
||||
}, this ), 25 );
|
||||
|
||||
return false;
|
||||
|
||||
},
|
||||
calcHeight : function() {
|
||||
|
||||
var heightPreview = winsize.height - this.$item.data( 'height' ) - marginExpanded,
|
||||
itemHeight = winsize.height;
|
||||
|
||||
if( heightPreview < settings.minHeight ) {
|
||||
heightPreview = settings.minHeight;
|
||||
itemHeight = settings.minHeight + this.$item.data( 'height' ) + marginExpanded;
|
||||
}
|
||||
|
||||
this.height = heightPreview;
|
||||
this.itemHeight = itemHeight;
|
||||
|
||||
},
|
||||
setHeights : function() {
|
||||
|
||||
var self = this,
|
||||
onEndFn = function() {
|
||||
if( support ) {
|
||||
self.$item.off( transEndEventName );
|
||||
}
|
||||
self.$item.addClass( 'og-expanded' );
|
||||
};
|
||||
|
||||
this.calcHeight();
|
||||
this.$previewEl.css( 'height', this.height );
|
||||
this.$item.css( 'height', this.itemHeight ).on( transEndEventName, onEndFn );
|
||||
|
||||
if( !support ) {
|
||||
onEndFn.call();
|
||||
}
|
||||
|
||||
},
|
||||
positionPreview : function() {
|
||||
|
||||
var position = this.$item.data( 'offsetTop' ),
|
||||
previewOffsetT = this.$previewEl.offset().top - scrollExtra,
|
||||
scrollVal = this.height + this.$item.data( 'height' ) + marginExpanded <= winsize.height ? position : this.height < winsize.height ? previewOffsetT - ( winsize.height - this.height ) : previewOffsetT;
|
||||
|
||||
$body.animate( { scrollTop : scrollVal }, settings.speed );
|
||||
|
||||
},
|
||||
setTransition : function() {
|
||||
this.$previewEl.css( 'transition', 'height ' + settings.speed + 'ms ' + settings.easing );
|
||||
this.$item.css( 'transition', 'height ' + settings.speed + 'ms ' + settings.easing );
|
||||
},
|
||||
getEl : function() {
|
||||
return this.$previewEl;
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
init : init,
|
||||
addItems : addItems
|
||||
};
|
||||
|
||||
})();
|
||||
|
||||
$(function() {
|
||||
Grid.init();
|
||||
});
|
4
public/js/modernizr.custom.js
Normal file
15
public/js/stats.js
Normal file
@ -0,0 +1,15 @@
|
||||
<!-- Fathom - simple website analytics - https://github.com/usefathom/fathom -->
|
||||
<script>
|
||||
(function(f, a, t, h, o, m){
|
||||
a[h]=a[h]||function(){
|
||||
(a[h].q=a[h].q||[]).push(arguments)
|
||||
};
|
||||
o=f.createElement('script'),
|
||||
m=f.getElementsByTagName('script')[0];
|
||||
o.async=1; o.src=t; o.id='fathom-script';
|
||||
m.parentNode.insertBefore(o,m)
|
||||
})(document, window, '//stats.captainark.net/tracker.js', 'fathom');
|
||||
fathom('set', 'siteId', 'RHBQE');
|
||||
fathom('trackPageview');
|
||||
</script>
|
||||
<!-- / Fathom -->
|
1
public/robots.txt
Normal file
@ -0,0 +1 @@
|
||||
User-agent: *
|
20
public/sitemap.xml
Normal file
@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
|
||||
xmlns:xhtml="http://www.w3.org/1999/xhtml">
|
||||
|
||||
<url>
|
||||
<loc>https://pics.captainark.net/</loc>
|
||||
<priority>0</priority>
|
||||
</url>
|
||||
|
||||
<url>
|
||||
<loc>https://pics.captainark.net/categories/</loc>
|
||||
<priority>0</priority>
|
||||
</url>
|
||||
|
||||
<url>
|
||||
<loc>https://pics.captainark.net/tags/</loc>
|
||||
<priority>0</priority>
|
||||
</url>
|
||||
|
||||
</urlset>
|
15
public/tags/index.xml
Normal file
@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||
<channel>
|
||||
<title>Tags on CaptainArk's Pics</title>
|
||||
<link>https://pics.captainark.net/tags/</link>
|
||||
<description>Recent content in Tags on CaptainArk's Pics</description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>en-us</language>
|
||||
<copyright>© 2018 - 2019</copyright>
|
||||
|
||||
<atom:link href="https://pics.captainark.net/tags/index.xml" rel="self" type="application/rss+xml" />
|
||||
|
||||
|
||||
</channel>
|
||||
</rss>
|
BIN
static/favicon.ico
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
static/images/full/IMG_20180131_182721_0875.jpg
Normal file
After Width: | Height: | Size: 1.9 MiB |
BIN
static/images/full/IMG_20180211_130610_0896.jpg
Normal file
After Width: | Height: | Size: 992 KiB |
BIN
static/images/full/IMG_20180217_120644_0901.jpg
Normal file
After Width: | Height: | Size: 1.1 MiB |
BIN
static/images/full/IMG_20180223_125606_0912.jpg
Normal file
After Width: | Height: | Size: 1.7 MiB |
BIN
static/images/full/IMG_20180223_141732_0913.jpg
Normal file
After Width: | Height: | Size: 1.3 MiB |
BIN
static/images/full/IMG_20180224_122552_0919.jpg
Normal file
After Width: | Height: | Size: 1.9 MiB |
BIN
static/images/full/IMG_20180226_153531_0921.jpg
Normal file
After Width: | Height: | Size: 765 KiB |
BIN
static/images/full/IMG_20180227_162734_0923.jpg
Normal file
After Width: | Height: | Size: 2.1 MiB |
BIN
static/images/full/IMG_20180303_123601_0925.jpg
Normal file
After Width: | Height: | Size: 1.4 MiB |
BIN
static/images/full/IMG_20180305_175147_0930.jpg
Normal file
After Width: | Height: | Size: 1.1 MiB |
BIN
static/images/full/IMG_20180307_190858_0933.jpg
Normal file
After Width: | Height: | Size: 1.3 MiB |
BIN
static/images/full/IMG_20180308_190750_0937.jpg
Normal file
After Width: | Height: | Size: 992 KiB |
BIN
static/images/full/IMG_20180315_213701_0941.jpg
Normal file
After Width: | Height: | Size: 1.6 MiB |
BIN
static/images/full/IMG_20180324_111517_0949.jpg
Normal file
After Width: | Height: | Size: 1.3 MiB |
BIN
static/images/full/IMG_20180324_111808_0950.jpg
Normal file
After Width: | Height: | Size: 1.5 MiB |
BIN
static/images/full/IMG_20180326_132239_0951.jpg
Normal file
After Width: | Height: | Size: 924 KiB |
BIN
static/images/full/IMG_20180326_132447_0954.jpg
Normal file
After Width: | Height: | Size: 1.7 MiB |
BIN
static/images/full/IMG_20180609_124246_1012.jpg
Normal file
After Width: | Height: | Size: 1.2 MiB |
BIN
static/images/full/IMG_20180630_103300_1022.jpg
Normal file
After Width: | Height: | Size: 1.6 MiB |
BIN
static/images/full/IMG_20180630_103548_1024.jpg
Normal file
After Width: | Height: | Size: 1.5 MiB |
BIN
static/images/full/IMG_20181027_111253_1063.jpg
Normal file
After Width: | Height: | Size: 1.5 MiB |