removing gh-pages branch and putting everything in master

This commit is contained in:
Tom Johnson
2015-04-20 12:10:04 -07:00
parent 8c1ccbcc57
commit f0b925337f
360 changed files with 119491 additions and 2 deletions

15
_includes/archive.html Normal file
View File

@ -0,0 +1,15 @@
---
layout: default
type: archive
---
<div class="post-header">
<h1 class="post-title-main">{{ page.title }}</h1>
</div>
<div class="post-content">
{{ content }}
</div>

15
_includes/conditions.html Normal file
View File

@ -0,0 +1,15 @@
{% if site.audience == "writer" %}
{% assign buildAudience = "writer" %}
{% assign sidebar = site.data.sidebar.entries %}
{% assign topnav = site.data.topnav.topnav %}
{% assign topnav_dropdowns = site.data.topnav.topnav_dropdowns %}
{% assign fileName = "writer_guide" %}
{% elsif site.audience == "designer" %}
{% assign buildAudience = "designer" %}
{% assign sidebar = site.data.sidebar.entries %}
{% assign topnav = site.data.topnav.topnav %}
{% assign topnav_dropdowns = site.data.topnav.topnav_dropdowns %}
{% assign fileName = "designer_guide %}
{% endif %}

16
_includes/disqus.html Normal file
View File

@ -0,0 +1,16 @@
{% if site.disqus_shortname %}
<div id="disqus_thread"></div>
<script type="text/javascript">
/* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
var disqus_shortname = '{{site.disqus_shortname}}'; // required: replace example with your forum shortname
/* * * DON'T EDIT BELOW THIS LINE * * */
(function() {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
</script>
<noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
{% endif %}

12
_includes/footer.html Executable file
View File

@ -0,0 +1,12 @@
{% include linkrefs.html %}
<footer>
<div class="row">
<div class="col-lg-12 footer">
{{hr_shaded}}
&copy;2015 Company Name. All rights reserved. <br />
<p>Site last generated: {{ site.time | date: "%b %-d, %Y" }} <br />
<p><a href="{{ "/about_your_company/index.html" | prepend: site.baseurl }}"><img src="{{ "/images/jekyll.png" | prepend: site.baseurl }}"/></a></p>
</div>
</div>
</footer>

View File

@ -0,0 +1,6 @@
<!-- the google_analytics_id gets auto inserted from the config file -->
{% if site.google_analytics %}
<script>(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,'script','//www.google-analytics.com/analytics.js','ga');ga('create','{{site.google_analytics}}','auto');ga('require','displayfeatures');ga('send','pageview');</script>
{% endif %}

33
_includes/head.html Normal file
View File

@ -0,0 +1,33 @@
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href='//fonts.googleapis.com/css?family=Montserrat:700,400' rel='stylesheet' type='text/css'>
<link href='//fonts.googleapis.com/css?family=Merriweather:400,400italic,700,700italic' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="{{ "/css/syntax.css" | prepend:site.baseurl }}" type='text/css'>
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
<link rel="stylesheet" href="{{ "/css/modern-business.css" | prepend:site.baseurl }}">
<link rel="stylesheet" href="{{ "/css/lavish-bootstrap.css" | prepend:site.baseurl }}" type='text/css'>
<link rel="canonical" href="{{ page.url | replace:'index.html','' | prepend: site.baseurl | prepend: site.url }}">
<link rel="stylesheet" href="{{ "/css/customstyles.css" | prepend:site.baseurl }}" type='text/css'>
<link rel="canonical" href="{{ page.url | replace:'index.html','' | prepend: site.baseurl | prepend: site.url }}">
<link rel="alternate" type="application/rss+xml" title="{{ site.title }}" href="{{ "/feed.xml" | prepend: site.baseurl | prepend: site.url }}" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script>
<script src="{{ "/js/jquery.navgoco.min.js" | prepend:site.baseurl }}"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
<script src="{{ "/js/toc.js" | prepend:site.baseurl }}"></script>
<script src="{{ "/js/customscripts.js" | prepend:site.baseurl }}"></script>
<link rel="shortcut icon" href="{{ "/images/favicon.ico" | prepend:site.baseurl }}" type="image/x-icon">
<link rel="icon" href="{{ "/images/favicon.ico" | prepend:site.baseurl }}" type="image/x-icon">
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
<title>{% if page.title %}{{ page.title }} | {% endif %}{{ site.title }}</title>
<meta name="description" content="{% if page.excerpt %}{{ page.excerpt | strip_html | strip_newlines | truncate: 160 }}{% else %}{{ site.description }}{% endif %}">

View File

@ -0,0 +1,37 @@
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- same as head but designed to work offline in case you want to send someone the site via sitesucker -->
<!-- <link href='//fonts.googleapis.com/css?family=Montserrat:700,400' rel='stylesheet' type='text/css'>
<link href='//fonts.googleapis.com/css?family=Merriweather:400,400italic,700,700italic' rel='stylesheet' type='text/css'> -->
<link rel="stylesheet" href="{{ "/css/syntax.css" | prepend:site.baseurl }}" type='text/css'>
<link rel="stylesheet" href="{{ "/css/font-awesome.min.css" | prepend:site.baseurl }}">
<link rel="stylesheet" href="{{ "/css/bootstrap.min.css" | prepend:site.baseurl }}">
<link rel="stylesheet" href="{{ "/css/modern-business.css" | prepend:site.baseurl }}">
<link rel="stylesheet" href="{{ "/css/lavish-bootstrap.css" | prepend:site.baseurl }}" type='text/css'>
<link rel="canonical" href="{{ page.url | replace:'index.html','' | prepend: site.baseurl | prepend: site.url }}">
<link rel="stylesheet" href="{{ "/css/customstyles.css" | prepend:site.baseurl }}" type='text/css'>
<link rel="stylesheet" href="{{ "/css/" | prepend:site.baseurl | append: site.project_css }}" type='text/css'>
<link rel="canonical" href="{{ page.url | replace:'index.html','' | prepend: site.baseurl | prepend: site.url }}">
<link rel="alternate" type="application/rss+xml" title="{{ site.title }}" href="{{ "/feed.xml" | prepend: site.baseurl | prepend: site.url }}" />
<script src="{{ "/js/jquery.min.js" | prepend:site.baseurl }}"></script>
<script src="{{ "/js/jquery.cookie.min.js" | prepend:site.baseurl }}"></script>
<script src="{{ "/js/jquery.navgoco.min.js" | prepend:site.baseurl }}"></script>
<script src="{{ "/js/bootstrap.min.js" | prepend:site.baseurl }}"></script>
<script src="{{ "/js/toc.js" | prepend:site.baseurl }}"></script>
<script src="{{ "/js/customscripts.js" | prepend:site.baseurl }}"></script>
<script src="{{ "/js/" | prepend:site.baseurl | append: site.project_js }}"></script>
<link rel="shortcut icon" href="{{ "/images/favicon.ico" | prepend:site.baseurl }}" type="image/x-icon">
<link rel="icon" href="{{ "/images/favicon.ico" | prepend:site.baseurl }}" type="image/x-icon">
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
<title>{% if page.title %}{{ page.title }} | {% endif %}{{ site.title }}</title>
<meta name="description" content="{% if page.excerpt %}{{ page.excerpt | strip_html | strip_newlines | truncate: 160 }}{% else %}{{ site.description }}{% endif %}">

View File

@ -0,0 +1,130 @@
<script type="text/javascript">
$(document).ready(function() {
$('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3,h4' });
});
</script>
<!-- shuffle -->
<script>
var shuffleme = (function( $ ) {
'use strict';
var $grid = $('#grid'),
$filterOptions = $('.filter-options'),
$sizer = $grid.find('.shuffle_sizer'),
init = function() {
// None of these need to be executed synchronously
setTimeout(function() {
listen();
setupFilters();
}, 100);
// instantiate the plugin
$grid.shuffle({
itemSelector: '[class*="col-"]',
sizer: $sizer
});
},
// Set up button clicks
setupFilters = function() {
var $btns = $filterOptions.children();
$btns.on('click', function() {
var $this = $(this),
isActive = $this.hasClass( 'active' ),
group = isActive ? 'all' : $this.data('group');
// Hide current label, show current label in title
if ( !isActive ) {
$('.filter-options .active').removeClass('active');
}
$this.toggleClass('active');
// Filter elements
$grid.shuffle( 'shuffle', group );
});
$btns = null;
},
// Re layout shuffle when images load. This is only needed
// below 768 pixels because the .picture-item height is auto and therefore
// the height of the picture-item is dependent on the image
// I recommend using imagesloaded to determine when an image is loaded
// but that doesn't support IE7
listen = function() {
var debouncedLayout = $.throttle( 300, function() {
$grid.shuffle('update');
});
// Get all images inside shuffle
$grid.find('img').each(function() {
var proxyImage;
// Image already loaded
if ( this.complete && this.naturalWidth !== undefined ) {
return;
}
// If none of the checks above matched, simulate loading on detached element.
proxyImage = new Image();
$( proxyImage ).on('load', function() {
$(this).off('load');
debouncedLayout();
});
proxyImage.src = this.src;
});
// Because this method doesn't seem to be perfect.
setTimeout(function() {
debouncedLayout();
}, 500);
};
return {
init: init
};
}( jQuery ));
$(document).ready(function() {
shuffleme.init();
});
</script>
<!-- new attempt-->
<script>
$(document).ready(function() {
/* initialize shuffle plugin */
var $grid = $('#grid');
$grid.shuffle({
itemSelector: '.item' // the selector for the items in the grid
});
});</script>
<script>
$('#filter a').click(function (e) {
e.preventDefault();
// set active class
$('#filter a').removeClass('active');
$(this).addClass('active');
// get group name from clicked item
var groupName = $(this).attr('data-group');
// reshuffle grid
$grid.shuffle('shuffle', groupName );
});</script>

63
_includes/linkrefs.html Normal file
View File

@ -0,0 +1,63 @@
{% comment %}<!-- OVERVIEW -->{% endcomment %}
{% capture name %}<a href="{{"/name" | prepend: site.baseurl}}">Name</a>{% endcapture %}
{% comment %}<!-- OVERVIEW --> {% endcomment %}
{% capture getting_started %}<a href="{{"/getting_started" | prepend: site.baseurl}}">Getting Started</a>{% endcapture %}
{% capture supported_features %}<a href="{{"/supported_features" | prepend: site.baseurl}}">Supported Features</a>{% endcapture %}
{% comment %}<!-- FORMATTING --> {% endcomment %}
{% capture pages %}<a href="{{"/pages" | prepend: site.baseurl}}">Pages</a>{% endcapture %}
{% capture alerts %}<a href="{{"/alerts" | prepend: site.baseurl}}">Alerts</a>{% endcapture %}
{% capture images %}<a href="{{"/images" | prepend: site.baseurl}}">Images</a>{% endcapture %}
{% capture links %}<a href="{{"/links" | prepend: site.baseurl}}">Links</a>{% endcapture %}
{% capture syntax_highlighting %}<a href="{{"/syntax_highlighting" | prepend: site.baseurl}}">Syntax Highlighting</a>{% endcapture %}
{% capture videos %}<a href="{{"/videos" | prepend: site.baseurl}}">Videos</a>{% endcapture %}
{% capture labels %}<a href="{{"/labels" | prepend: site.baseurl}}">Labels</a>{% endcapture %}
{% capture icons %}<a href="{{"/icons" | prepend: site.baseurl}}">Icons</a>{% endcapture %}
{% capture tables %}<a href="{{"/tables" | prepend: site.baseurl}}">Tables</a>{% endcapture %}
{% comment %}<!-- TAG ARCHIVES --> {% endcomment %}
{% capture tag-overview %}<a href="{{"/tag-overview" | prepend: site.baseurl}}">Overview pages</a>{% endcapture %}
{% capture tag-getting-started %}<a href="{{"/tag-getting-started" | prepend: site.baseurl}}">Getting started pages</a>{% endcapture %}
{% capture tag-single-sourcing %}<a href="{{"/tag-single-sourcing" | prepend: site.baseurl}}">Single-sourcing pages</a>{% endcapture %}
{% capture tag-publishing %}<a href="{{"/tag-publishing" | prepend: site.baseurl}}">Publishing pages</a>{% endcapture %}
{% capture tag-formatting %}<a href="{{"/tag-formatting" | prepend: site.baseurl}}">Formatting pages</a>{% endcapture %}
{% comment %}<!-- SINGLE SOURCING --> {% endcomment %}
{% capture conditional_logic %}<a href="{{"/conditional_logic" | prepend: site.baseurl}}">Conditional logic</a>{% endcapture %}
{% capture content_reuse %}<a href="{{"/content_reuse" | prepend: site.baseurl}}">Content re-use</a>{% endcapture %}
{% capture excluding_files %}<a href="{{"/ excluding_files" | prepend: site.baseurl}}">Excluding files</a>{% endcapture %}
{% comment %}<!-- PUBLISHING --> {% endcomment %}
{% capture build_arguments %}<a href="{{"/build_arguments" | prepend: site.baseurl}}">Build arguments</a>{% endcapture %}
{% capture create_pdf %}<a href="{{"/create_pdf" | prepend: site.baseurl}}">Creating PDFs</a>{% endcapture %}
{% capture help_api %}<a href="{{"/help_api" | prepend: site.baseurl}}">Creating a Help API</a>{% endcapture %}
{% comment %}<!-- NAVIGATION --> {% endcomment %}
{% capture navigation %}<a href="{{"/navigation" | prepend: site.baseurl}}">Creating navigation</a>{% endcapture %}
{% capture tags %}<a href="{{"/tags" | prepend: site.baseurl}}">Creating tags</a>{% endcapture %}
{% comment %}<!-- ALERTS --> {% endcomment %}
{% capture tip %}<div class="alert alert-success" role="alert"><i class="fa fa-check-square-o"></i> <b>Tip: </b>{% endcapture %}
{% capture note %}<div class="alert alert-info" role="alert"><i class="fa fa-info-circle"></i> <b>Note: </b>{% endcapture %}
{% capture important %}<div class="alert alert-warning" role="alert"><i class="fa fa-warning"></i> <b>Important: </b>{% endcapture %}
{% capture warning %}<div class="alert alert-danger" role="alert"><i class="fa fa-exclamation-circle"></i> <b>Warning: </b>{% endcapture %}
{% capture end %}</div>{% endcapture %}
{% comment %}<!-- CALLOUTS --> {% endcomment %}
{% capture callout_danger %}<div class="bs-callout bs-callout-danger">{% endcapture %}
{% capture callout_default %}<div class="bs-callout bs-callout-default">{% endcapture %}
{% capture callout_primary %}<div class="bs-callout bs-callout-primary">{% endcapture %}
{% capture callout_success %}<div class="bs-callout bs-callout-success">{% endcapture %}
{% capture callout_info %}<div class="bs-callout bs-callout-info">{% endcapture %}
{% capture callout_warning %}<div class="bs-callout bs-callout-warning">{% endcapture %}
{% capture hr_faded %}<hr class="faded"/> {%endcapture %}
{% capture hr_shaded %}<hr class="shaded"/> {%endcapture %}

View File

@ -0,0 +1,28 @@
<hr />
<!-- code doesn't work -- tags work much better, but leaving this here in case i figure out the issue. -->
<h3>Related Pages</h3>
<ul id="related_pages">
{% assign currentTitle = page.title %}
{% for tag in page.tags %}
{% assign counter = '0' %}
{% for page in site.pages %}
{% if page.tags contains tag and page.title != currentTitle and counter < '10' %}
{% capture counter %}{{ counter | plus:'1' }}{% endcapture %}
{% assign pageList = "" | split: "|" %}
{{ pageList | push: page.title }}
{% endif %}
{% endfor %}
{% assign unique_pageList = pageList | uniq %}
{% for item in unique_pageList %}
<li><a href="{{ item.permalink | prepend: site.baseurl }}">{{item.title}}</a></li>
{% endfor %}
{% if counter == '0' %}<span class="noOtherPages"><p>No other pages.</p></span>
{% endif %}
{% endfor %}
</ul>

View File

@ -0,0 +1,19 @@
{% unless post.related_posts == none %}
<hr />
<h3>Related posts</h3>
<ul>
{% assign counter = '0' %}
{% for post in site.related_posts %}
{% if post.title != currentTitle and counter < '3' %}
{% capture counter %}{{ counter | plus:'1' }}{% endcapture %}
<li><a href="{{ post.permalink | prepend: site.baseurl }}">{{post.title}}</a></li>
{% endif %}
{% endfor %}
{% if counter == '0' %}<span class="noOtherPages"><p>No other pages.</p></span>
{% endif %}
</ul>
{% endunless %}

View File

@ -0,0 +1,5 @@
| Endpoint | Description | Sample Java Code |
|-------|-------------|---------|
| {{matchdevice}} | Takes the incoming identifiers in the web request and looks to match those identifier values with any identifier values in existing profiles. The matching process is defined by the identifiers and rules configured in the ID service. If there is no match, a new profile is created. | {{matchdevice_sample_code_java}} |
| {{multiscreening}} | Returns a list of all device profiles that contain a specific first-party identifier, such as a login ID. | {{multiscreening_sample_code_java}} |
| {{household}} | Returns a list of all profiles containing a specific IP address identifier value. | {{household_sample_code_java}} |

View File

@ -0,0 +1,24 @@
## Configuring Security
To authorize your submission to each REST endpoint, AdTruth Resolve uses a keyed **H**ashing **M**essage **A**uthentication **C**ode (HMAC) algorithm. The role of HMAC is to do the following:
* Ensure the integrity of the message
* Verify authentication of the sender and receiver to the client
* Prevent replay attacks
The cryptographic strength of the HMAC depends upon the size of the secret key that is used. As such, the SHA-256 function is used to generate a 256-bit signature for the submitted text.
To use HMAC, you must produce an authentication header that includes a key that identifies who you are (API Account Key) and a hash that proves the message came from you and has not been modified (Signature).
In the sample implementation code, the Utility.java class (inside the `util` package) contains the necessary code for the HMAC security. See the following lines inside Utility.java:
```java
public static final String CLIENT_CODE = "12345";
public static final String SECRET_CODE = "zander";
```
You must change the values for the `CLIENT_CODE` and `SECRET_CODE` to the values supplied to you by your account representative. This is all that is required to configure HMAC to authorize your submission in the sample implementation. (The rest of the code in the class generates the SHA-256 value required for the authorization.)
Each of the REST endpoints uses the Utility class for HMAC authorization.
When you submit your request, an authorization element will be included in the header. This authorization header contains the client code along with a signature. The signature is generated using a unique value such as time, an IP address value, or other string that you hashed using HMAC-SHA256 along with the secret.

View File

@ -0,0 +1,5 @@
| Abbreviation | Description
|--------------|-----------|--------|
| id | The profile ID. |
| ld | A list of identifiers — one entry per identifier type being tracked. As matches are made against the profile, the last ID value for each type is retained in this list. Each entry in the last ID list follows a <key: value> pair format. The key is the Code value for the identifier. The value is the identifier value, that is, the actual ID that was last seen for this identifier.|
| pr | Privacy preferences for the user. The first item in the privacy object is the privacy type. There are three options: `IOS` (apple privacy), `PC` (android privacy), and `DNT` (do not track). <br><br>Each of those options can have two sub-items: `au` (audit) and `cv` (content value.) Audit is the timestamp when the privacy preference was received, and the content value is the value of that privacy preference. The system can be configured to store multiple privacy preferences.|

87
_includes/sidebar.html Normal file
View File

@ -0,0 +1,87 @@
<!-- Content Row -->
<div class="row">
<!-- Sidebar Column -->
<div class="col-md-3">
<script>
$(document).ready(function() {
// Initialize navgoco with default options
$("#mysidebar").navgoco({
caretHtml: '',
accordion: {{site.sidebar_accordion}},
openClass: 'active', // open
save: false, // leave false or nav higlighting doesn't work right
cookie: {
name: 'navgoco',
expires: false,
path: '/'
},
slide: {
duration: 400,
easing: 'swing'
}
});
$("#collapseAll").click(function(e) {
e.preventDefault();
$("#mysidebar").navgoco('toggle', false);
});
$("#expandAll").click(function(e) {
e.preventDefault();
$("#mysidebar").navgoco('toggle', true);
});
});
</script>
{% include conditions.html %}
<ul id="mysidebar" class="nav">
<div class="siteTagline">{{site.tagline}}</div>
{% for entry in sidebar %}
{% for subcategory in entry.subcategories %}
{% if subcategory.audience contains buildAudience %}
<li><a href="#">{{ subcategory.title }}</a>
<ul>
{% for item in subcategory.items %}
{% if item.audience contains buildAudience and item.web != false %}
<li><a href="{{item.url | prepend: site.baseurl}}index.html">{{item.title}}</a>
{% for thirdlevel in item.thirdlevel %}
{% if thirdlevel.audience contains buildAudience and web != false %}
<li class="thirdlevel"><a href="#">{{ thirdlevel.title }}</a>
<ul>
{% for deeplevel in thirdlevel.thirdlevelitems%}
{% if deeplevel.audience contains buildAudience and item.web != false %}
<li><a href="{{deeplevel.url | prepend: site.baseurl}}index.html">{{deeplevel.title}}</a></li>
{% endif %}
{% endfor %}
</ul>
</li>
{% endif %}
{% endfor %}
</li>
{% endif %}
{% endfor %}
</ul>
</li>
{% endif %}
{% endfor %}
{% endfor %}
</ul>
{% if site.sidebar_accordion == false %}
<p class="external">
<a href="#" id="collapseAll">Collapse All</a> | <a href="#" id="expandAll">Expand All</a>
</p>
{% endif %}
</div>

16
_includes/taglogic.html Normal file
View File

@ -0,0 +1,16 @@
<p>The following pages are tagged with <button type="button" class="btn btn-default navbar-btn cursorNorm">{{page.tagName}}</button></p>
<table><thead><tr><th>Page</th><th>Excerpt</th></tr></thead>
<tbody>
{% assign thisTag = page.tagName %}
{% for page in site.pages %}
{% for tag in page.tags %}
{% if tag == thisTag %}
<tr><td><a href="{{ page.permalink | prepend: site.baseurl | append: "index.html" }}">{{page.title}}</a></td>
<td>{{ page.content | truncatewords: 50 | strip_html }}</td>
</tr>
{% endif %}
{% endfor %}
{% endfor %}
</tbody>
</table>

21
_includes/toc.html Normal file
View File

@ -0,0 +1,21 @@
<!-- this handles the automatic toc. use ## for subheads to auto-generate the on-page minitoc. if you use html tags, you must supply an ID for the heading element in order for it to appear in the minitoc. -->
<script>
$( document ).ready(function() {
// Handler for .ready() called.
$('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3,h4' });
/* this offset helps account for the space taken up by the floating toolbar. */
$('#toc').on('click', 'a', function() {
var target = $(this.getAttribute('href'))
, scroll_target = target.offset().top
$(window).scrollTop(scroll_target - 10);
return false
})
});
</script>
<div id="toc"></div>

80
_includes/topnav.html Normal file
View File

@ -0,0 +1,80 @@
<!-- Navigation -->
<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<div class="container topnavlinks">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="fa fa-home fa-lg navbar-brand" href="{{ "/index.html" | prepend: site.baseurl }}">&nbsp;<span class="projectTitle"> {{site.title}}</span></a>
</div>
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav navbar-right">
<!-- entries without drop-downs appear here -->
<!-- conditional logic to control which topnav appears for the audience defined in the configuration file.-->
{% include conditions.html %}
{% for entry in topnav %}
{% for subcategory in entry.subcategories %}
{% if subcategory.audience contains buildAudience %}
{% if subcategory.external_url %}
<li><a href="{{subcategory.external_url}}" target="_blank">{{subcategory.title}}</a></li>
{% elsif page.url contains subcategory.url %}
<li class="active"><a href="{{subcategory.url | prepend: site.baseurl}}" class="active">{{subcategory.title}}</a></li>
{% else %}
<li><a href="{{subcategory.url | prepend: site.baseurl}}">{{subcategory.title}}</a></li>
{% endif %}
{% endif %}
{% endfor %}
{% endfor %}
<!-- entries with drop-downs appear here -->
<!-- conditional logic to control which topnav appears for the audience defined in the configuration file.-->
{% for entry in topnav_dropdowns %}
{% for subcategory in entry.subcategories %}
{% if subcategory.audience contains buildAudience %}
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">{{ subcategory.title }}<b class="caret"></b></a>
<ul class="dropdown-menu">
{% for subitem in subcategory.items %}
{% if subitem.audience contains buildAudience %}
{% if subitem.external_url %}
<li><a href="{{subitem.external_url}}" target="_blank">{{subitem.title}}</a></li>
{% elsif page.url contains subitem.url %}
<li class="dropdownActive"><a href="{{subitem.url | prepend: site.baseurl}}">{{subitem.title}}</a></li>
{% else %}
<li><a href="{{subitem.url | prepend: site.baseurl}}">{{subitem.title}}</a></li>
{% endif %}
{% endif %}
{% endfor %}
{% endif %}
</ul>
</li>
{% endfor %}
{% endfor %}
<li>
<!-- start search -->
<div id="search-demo-container">
<input type="text" id="search-input" placeholder="{{site.data.strings.search_placeholder_text}}">
<ul id="results-container"></ul>
</div>
<script src="{{ site.baseurl }}/js/jekyll-search.js" type="text/javascript"></script>
<script type="text/javascript">
SimpleJekyllSearch.init({
searchInput: document.getElementById('search-input'),
resultsContainer: document.getElementById('results-container'),
dataSource: '{{ site.baseurl }}/search.json',
searchResultTemplate: '<li><a href="{url}index.html" title="{{page.title}}">{title}</a></li>',
noResultsText: '{{site.data.strings.search_no_results_text}}',
limit: 10,
fuzzy: true,
})
</script>
<!-- end search -->
</li>
</div>
<!-- /.container -->
</nav>