diff --git a/_config.yml b/_config.yml
index 63f699c..ce20a61 100644
--- a/_config.yml
+++ b/_config.yml
@@ -1,192 +1,195 @@
# --- General options --- #
# url is the full website URL
# baseurl is the website's URL without the hostname
url: "http://www.bitcoinabc.org"
baseurl: ""
# Name of website
title: Bitcoin ABC
# Short description of your site
description: Bitcoin ABC - Software for Bitcoin Cash nodes
# --- Navigation bar options --- #
# List of links in the navigation bar
navbar-links:
Latest Roadmap: "https://www.bitcoincash.org/roadmap.html"
Announcements: "announcements/"
Download:
- Binaries: "https://download.bitcoinabc.org/latest/"
- Source Code: "https://github.com/Bitcoin-ABC/bitcoin-abc"
- Ubuntu Packages: "https://launchpad.net/~bitcoin-abc/+archive/ubuntu/ppa"
- Archived Binaries: "https://download.bitcoinabc.org/"
Developers:
- Contributing: "https://github.com/Bitcoin-ABC/bitcoin-abc/blob/master/CONTRIBUTING.md"
- Code Coverage: "https://build.bitcoinabc.org/viewLog.html?buildId=lastSuccessful&buildTypeId=BitcoinABC_Master_BitcoinAbcMasterCoverage&tab=report__Root_Code_Coverage&guest=1"
- Code Documentation: "doc/dev/"
- RPC Documentation: "doc/"
Blog: "https://blog.bitcoinabc.org/"
supported-languages:
en: "English"
es: "Español"
fr: "Français"
jp: "日本語"
ko: "한국어"
nl: "Nederlands"
pt: "Português"
ru: "русский"
zh_simple: "简体中文"
zh_traditional: "繁体中文"
# Image to show in the navigation bar - image must be a square (width = height)
# Remove this parameter if you don't want an image in the navbar
#avatar: "/img/avatar-icon.png"
# If you want to have an image logo in the top-left corner instead of the title text,
# then specify the following parameter
title-img: "/img/avatar-icon-small.png"
# --- Background colour/image options --- #
# Personalize the colors in your website. Colour values can be any valid CSS colour
navbar-col: "#F5F5F5"
navbar-text-col: "#404040"
navbar-children-col: "#F5F5F5"
page-col: "#FFFFFF"
link-col: "#008AFF"
hover-col: "#0085A1"
footer-col: "#F5F5F5"
footer-text-col: "#777777"
footer-link-col: "#404040"
# Alternatively, the navbar, footer, and page background can be set to use background images
# instead of colour
# navbar-img: "/img/bgimage.png"
# footer-img: "/img/bgimage.png"
# page-img: "/img/bgimage.png"
# --- Footer options --- #
# Change all these values or delete the ones you don't want.
# Important: you must keep the "name" parameter, everything else you can remove
author:
name: Bitcoin ABC
# Select your active Social Network Links.
# Uncomment the links you want to show in the footer and add your information to each link.
# You can reorder the items to define the link order.
# If you want to add a new link that isn't here, you'll need to also edit the file _data/SocialNetworks.yml
social-network-links:
email: "info@bitcoinabc.org"
facebook: bitcoinabcorg
github: bitcoin-abc
twitter: bitcoin_abc
# reddit: yourname
# google-plus: +DeanAttali
# linkedin: daattali
# xing: yourname
# stackoverflow: "3943160/daattali"
# snapchat: deanat78
# instagram: deanat78
# youtube: user/deanat78
# spotify: yourname
# telephone: +14159998888
# steam: deanat78
# twitch: yourname
# yelp: yourname
# Select which share links to show in posts
share-links-active:
twitter: true
facebook: true
google: false
linkedin: true
# How to display the link to the website in the footer
# Remove this if you don't want a link in the footer
url-pretty: "bitcoinabc.org" # eg. "deanattali.com/beautiful-jekyll"
# --- Web Statistics Section --- #
# Fill in your Google Analytics ID to track your website using GA
#google_analytics: ""
# Google Tag Manager ID
#gtm: ""
# --- Misc --- #
# Facebook App ID
# fb_app_id: ""
# Excerpt Word Length
# Truncates the excerpt to the specified number of words on the index page
excerpt_length: 30
# Number of announcements to appear on the front page
front_page_posts: 2
# Character used to separate site title and description in HTML document title
# and RSS feed title
title-separator: "-"
# --- Don't need to touch anything below here (but you can if you want) --- #
# Output options (more information on Jekyll's site)
timezone: "America/Vancouver"
markdown: kramdown
highlighter: rouge
permalink: /:year-:month-:day-:title/
paginate: 5
kramdown:
input: GFM
# Default YAML values (more information on Jekyll's site)
defaults:
- -
- scope:
+ - scope:
path: ""
- type: "posts"
+ type: posts
values:
- layout: "post"
+ layout: post
comments: true # add comments to all blog posts
social-share: true # add social media sharing buttons to all blog posts
- -
- scope:
+ - scope:
+ path: ""
+ type: doc
+ values:
+ layout: doc
+ - scope:
path: "" # all files
values:
- layout: "page"
+ layout: page
show-avatar: true
# Use tags index page and make tags on each post clickable
link-tags: true
collections:
doc:
output: true
# Exclude these files from production site
exclude:
- CHANGELOG.md
- CNAME
- docker-compose.yml
- Dockerfile
- Gemfile
- Gemfile.lock
- LICENSE
- README.md
- Vagrantfile
- nginx.conf
- Makefile
- Rakefile
plugins:
- jekyll-paginate
# Beautiful Jekyll / Dean Attali
# 2fc73a3a967e97599c9763d05e564189
diff --git a/_layouts/doc.html b/_layouts/doc.html
new file mode 100644
index 0000000..0553ebd
--- /dev/null
+++ b/_layouts/doc.html
@@ -0,0 +1,36 @@
+---
+layout: base
+---
+
+{% assign groups = site.doc | where:"version", page.version | group_by:"group" | sort: "name" %}
+
+{% for group in groups %}
+{% assign maybeHideOnStart = '' %}
+{% if group.name != page.group %}
+ {% assign maybeHideOnStart = 'js-hide-on-start' %}
+{% endif %}
+
+{% endfor %}
+
+
+{% include header.html type="page" %}
+
+
+
+
+ {% highlight text %}{{ content }}{% endhighlight %}
+
+
+
diff --git a/css/main.css b/css/main.css
index a8f0e9f..cd3c7d3 100644
--- a/css/main.css
+++ b/css/main.css
@@ -1,782 +1,820 @@
---
layout: null
---
@import url("pygment_highlights.css");
/* --- General --- */
body {
font-family: 'Lora', 'Times New Roman', serif;
font-size: 18px;
color: #404040;
position: relative;
background-color: {{ site.page-col }};
{% if site.page-img %}
background-image: url({{ site.page-img }});
background-attachment: fixed;
{% endif %}
}
p {
line-height: 1.5;
margin: 30px 0;
}
h1,h2,h3,h4,h5,h6 {
font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
font-weight: 800;
}
a {
color: {{ site.link-col }};
}
a:hover,
a:focus {
color: {{ site.hover-col }};
}
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-color: {{ site.hover-col }};
}
::selection {
color: white;
text-shadow: none;
background-color: {{ site.hover-col }};
}
img::selection {
color: white;
background: transparent;
}
img::-moz-selection {
color: white;
background: transparent;
}
img {
max-width: 100%;
}
.linked-section {
padding-top: 60px;
margin-top: -25px;
}
/* --- Navbar --- */
.navbar-custom {
background-color: {{ site.navbar-col }};
border-bottom: 1px solid #EAEAEA;
font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
{% if site.navbar-img %}
background-image: url({{ site.navbar-img }});
background-attachment: fixed;
{% endif %}
}
.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: {{ site.navbar-text-col }};
}
.navbar-custom .navbar-brand:hover,
.navbar-custom .navbar-brand:focus ,
.navbar-custom .nav li a:hover,
.navbar-custom .nav li a:focus {
color: {{ site.hover-col }};
}
.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 {
-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 {
}
@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 {
position: absolute;
left: 50%;
width: 50px;
margin-top: -25px;
}
.navbar-custom .avatar-container .avatar-img-border {
width: 100%;
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%;
}
.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-color: {{ site.navbar-children-col }};
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: rgba(0, 0, 0, 0.2);
}
.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: rgba(0, 0, 0, 0.1);
}
.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;
border-top: 1px #EAEAEA solid;
margin-top: 50px;
font-size: 14px;
background-color: {{ site.footer-col }};
{% if site.footer-img %}
background-image: url({{ site.footer-img }});
background-attachment: fixed;
{% endif %}
}
footer p.text-muted {
color: {{ site.footer-text-col }};
}
footer a {
color: {{site.footer-link-col}};
}
footer .list-inline {
margin: 0;
padding: 0;
}
footer .copyright {
font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
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: {{ site.hover-col }};
}
.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-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;
}
@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: {{ site.link-col }};
text-decoration: none;
padding: 0px 5px;
}
.blog-tags a:hover {
border-radius: 2px;
color: {{ site.hover-col }};
background-color: #EEE;
}
.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;
+ pointer-events: none;
}
.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: 40px;
}
.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.big-img .img-desc {
font-size: 14px;
}
}
.header-section.has-img .no-img {
margin-top: 0;
background-color: #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;
}
#header-gh-btns {
margin-bottom: 15px;
}
@media only screen and (max-width: 500px) {
#header-gh-btns > iframe {
display: block;
margin-bottom: 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-color: #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;
border: 1px solid {{ site.hover-col }};
background-color: {{ site.hover-col }};
}
.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-wrap;
word-break: break-word;
}
pre.highlight, .highlight > pre, td.code pre {
background-color: #FAFAFA;
background-image: linear-gradient(#FDFDFD 50%, #F7F9FF 50%);
background-repeat: repeat;
background-size: 3em 3em;
background-position: 0px 5px;
border-left: 5px solid #9AC;
padding: 5px 7px;
}
code table, code table td, code table th, code table tbody, code table tr,
td.gutter pre {
padding: 0;
border: none;
background-color: #fff;
}
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;
}
/* --- Notification boxes --- */
.box-note, .box-warning, .box-error {
padding: 15px 15px 15px 10px;
margin: 20px 20px 20px 5px;
border: 1px solid #eee;
border-left-width: 5px;
border-radius: 5px 3px 3px 5px;
}
.box-note {
background-color: #eee;
border-left-color: #2980b9;
}
.box-warning {
background-color: #fdf5d4;
border-left-color: #f1c40f;
}
.box-error {
background-color: #f4dddb;
border-left-color: #c0392b;
}
/* Fix table border github gist snippets */
.gist, .gist-file table tr {
border: unset;
}
.gist, .gist-file table tr td {
border: unset;
}
/* Fix .navbar-toggle */
.navbar-default button.navbar-toggle:focus,
.navbar-default button.navbar-toggle:hover {
background-color: initial;
}
.navbar-default button.navbar-toggle[aria-expanded="true"] {
background-color: rgba(0, 0, 0, 0.2);
}
/* Tags page */
.tag-btn {
margin: 5px;
}
#full-tags-list {
font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}
#full-tags-list .tag-entry {
margin: 0 0 15px 25px;
}
#full-tags-list .tag-entry a {
font-size: 20px;
}
#full-tags-list .tag-entry .entry-date {
color: #808080;
font-style: italic;
font-size: 16px;
}
.email-obfuscation span:nth-child(2n){
display: none;
}
.footer-donation-addr a {
font-size: 0.8vw
}
@media only screen and (max-width: 1400px) {
.footer-donation-addr a {
font-size: 1.7vw
}
}
@media only screen and (max-width: 600px) {
.footer-donation-addr a {
font-size: 2.9vw
}
}
.sponsor-container {
display: flex;
align-items: baseline;
justify-content: center;
flex-wrap: wrap;
}
.sponsor {
margin: 10px 30px;
}
+.subnav {
+ font-size: 14px;
+ position: relative;
+}
+@media only screen and (max-width: 1000px) {
+ .subnav {
+ margin-top: 100px;
+ }
+}
+@media only screen and (min-width: 1000px) {
+ .subnav {
+ position: absolute;
+ left: 0;
+ }
+}
+.subnav h3 {
+ font-size: 18px;
+ margin: 5px;
+ text-transform: uppercase;
+}
+.subnav h3:hover {
+ cursor: pointer;
+}
+.subnav li {
+ list-style-type: none;
+}
+
+.subnav-header {
+}
+
+.subnav-drawer {
+}
+
+.js-hidden {
+ max-height: 0;
+ overflow: hidden;
+}
diff --git a/js/main.js b/js/main.js
index fbf46ae..d4dbaef 100644
--- a/js/main.js
+++ b/js/main.js
@@ -1,140 +1,155 @@
// Dean Attali / Beautiful Jekyll 2016
var main = {
bigImgEl : null,
numImgs : null,
init : function() {
// Shorten the navbar after scrolling a little bit down
$(window).scroll(function() {
if ($(".navbar").offset().top > 50) {
$(".navbar").addClass("top-nav-short");
$(".navbar-custom .avatar-container").fadeOut(500);
} else {
$(".navbar").removeClass("top-nav-short");
$(".navbar-custom .avatar-container").fadeIn(500);
}
});
// On mobile, hide the avatar when expanding the navbar menu
$('#main-navbar').on('show.bs.collapse', function () {
$(".navbar").addClass("top-nav-expanded");
});
$('#main-navbar').on('hidden.bs.collapse', function () {
$(".navbar").removeClass("top-nav-expanded");
});
// On mobile, when clicking on a multi-level navbar menu, show the child links
$('#main-navbar').on("click", ".navlinks-parent", function(e) {
var target = e.target;
$.each($(".navlinks-parent"), function(key, value) {
if (value == target) {
$(value).parent().toggleClass("show-children");
} else {
$(value).parent().removeClass("show-children");
}
});
});
// Ensure nested navbar menus are not longer than the menu header
var menus = $(".navlinks-container");
if (menus.length > 0) {
var navbar = $("#main-navbar ul");
var fakeMenuHtml = "";
navbar.append(fakeMenuHtml);
var fakeMenu = $(".fake-menu");
$.each(menus, function(i) {
var parent = $(menus[i]).find(".navlinks-parent");
var children = $(menus[i]).find(".navlinks-children a");
var words = [];
$.each(children, function(idx, el) { words = words.concat($(el).text().trim().split(/\s+/)); });
var maxwidth = 0;
$.each(words, function(id, word) {
fakeMenu.html("" + word + "");
var width = fakeMenu.width();
if (width > maxwidth) {
maxwidth = width;
}
});
$(menus[i]).css('min-width', maxwidth + 'px')
});
fakeMenu.remove();
}
// show the big header image
main.initImgs();
},
initImgs : function() {
// If the page was large images to randomly select from, choose an image
if ($("#header-big-imgs").length > 0) {
main.bigImgEl = $("#header-big-imgs");
main.numImgs = main.bigImgEl.attr("data-num-img");
// 2fc73a3a967e97599c9763d05e564189
// set an initial image
var imgInfo = main.getImgInfo();
var src = imgInfo.src;
var desc = imgInfo.desc;
main.setImg(src, desc);
// For better UX, prefetch the next image so that it will already be loaded when we want to show it
var getNextImg = function() {
var imgInfo = main.getImgInfo();
var src = imgInfo.src;
var desc = imgInfo.desc;
var prefetchImg = new Image();
prefetchImg.src = src;
// if I want to do something once the image is ready: `prefetchImg.onload = function(){}`
setTimeout(function(){
var img = $("").addClass("big-img-transition").css("background-image", 'url(' + src + ')');
$(".intro-header.big-img").prepend(img);
setTimeout(function(){ img.css("opacity", "1"); }, 50);
// after the animation of fading in the new image is done, prefetch the next one
//img.one("transitioned webkitTransitionEnd oTransitionEnd MSTransitionEnd", function(){
setTimeout(function() {
main.setImg(src, desc);
img.remove();
getNextImg();
}, 1000);
//});
}, 6000);
};
// If there are multiple images, cycle through them
if (main.numImgs > 1) {
getNextImg();
}
}
},
getImgInfo : function() {
var randNum = Math.floor((Math.random() * main.numImgs) + 1);
var src = main.bigImgEl.attr("data-img-src-" + randNum);
var desc = main.bigImgEl.attr("data-img-desc-" + randNum);
return {
src : src,
desc : desc
}
},
setImg : function(src, desc) {
$(".intro-header.big-img").css("background-image", 'url(' + src + ')');
if (typeof desc !== typeof undefined && desc !== false) {
$(".img-desc").text(desc).show();
} else {
$(".img-desc").hide();
}
}
};
// 2fc73a3a967e97599c9763d05e564189
document.addEventListener('DOMContentLoaded', main.init);
+
+// sub navigation toggle
+$(function() {
+ $(".subnav header").each(function(){
+ var header = $(this);
+ var drawer = header.find(".subnav-drawer");
+ header.find(".subnav-header").click(function(){
+ drawer.toggleClass("js-hidden");
+ });
+ });
+ $(".subnav-drawer.js-hide-on-start").each(function(){
+ var drawer = $(this);
+ drawer.toggleClass("js-hidden");
+ });
+});