Replace Wordpress with a static copy

This commit is contained in:
Jon Buckley 2016-03-01 14:16:44 -05:00
Родитель 0fe4fec045
Коммит bb78158727
96 изменённых файлов: 435 добавлений и 4563 удалений

19
404.php
Просмотреть файл

@ -1,19 +0,0 @@
<?php
function add_body_classes ($classes) {
$classes[] = 'narrow';
return $classes;
}
add_filter('body_class','add_body_classes');
get_header();
?>
<article>
<h2>Oh noes!</h2>
<p>Looks like that page doesn't exist.</p>
</article>
<?php
get_footer();

Просмотреть файл

@ -1,4 +0,0 @@
community.openbadges.org
========================
Community site for Open Badges

Просмотреть файл

@ -1,9 +0,0 @@
<?php
$dir = dirname(__FILE__);
foreach (glob("$dir/*.php") as $filename) {
if ($filename !== __FILE__) {
include_once($filename);
}
}

Просмотреть файл

@ -1,89 +0,0 @@
<?php
/*
* Meta boxes
*/
function get_title_alignments () {
return array(
'left' => 'Left',
'center' => 'Center',
'right' => 'Right',
'hidden' => 'Hidden',
);
}
function openbadges_page_attributes_meta_box ($post) {
if ('page' == $post->post_type) {
$title_alignment = get_post_meta($post->ID, 'title_alignment', true);
$embellished = !!get_post_meta($post->ID, 'embellish_page', true);
$hide_meta = get_post_meta($post->ID, 'hide_meta', true);
?>
<p><strong><?php _e('Title Alignment') ?></strong></p>
<label class="screen-reader-text" for="title_alignment"><?php _e('Title Placement'); ?></label>
<select name="title_alignment" id="title_alignment">
<option value=""><?php _e('(default)'); ?></option>
<?php
foreach (get_title_alignments() as $alignment => $label) {
echo '<option value="'.$alignment.'"'.selected($title_alignment,$alignment,false).'>'._($label).'</option>';
}
?>
</select>
<p><strong><?php _e('Embellishment') ?></strong></p>
<input type="checkbox" name="embellish_page" id="embellish_page"<?php if ($embellished): ?> checked="checked"<?php endif; ?> value="1">
<label for="embellish_page">Show Open Badges logo at bottom</label>
<p><strong><?php _e('Meta Block') ?></strong></p>
<input type="checkbox" name="hide_meta" id="hide_meta"<?php if ($hide_meta): ?> checked="checked"<?php endif; ?> value="1">
<label for="hide_meta">Hide global meta block</label>
<?php
}
page_attributes_meta_box($post);
}
function openbadges_save_embellishment ($post_id) {
// Bail if we're doing an auto save
if(defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return;
if (isset($_POST['title_alignment'])) {
$alignments = array_keys(get_title_alignments());
$alignment = $_POST['title_alignment'];
if (in_array($alignment, $alignments)) {
update_post_meta($post_id, 'title_alignment', $alignment);
} else if (empty($alignment)) {
delete_post_meta($post_id, 'title_alignment');
}
}
if (isset($_POST['embellish_page']) && !!$_POST['embellish_page']) {
update_post_meta($post_id, 'embellish_page', true);
} else {
delete_post_meta($post_id, 'embellish_page');
}
if (isset($_POST['hide_meta']) && !!$_POST['hide_meta']) {
update_post_meta($post_id, 'hide_meta', true);
} else {
delete_post_meta($post_id, 'hide_meta');
}
}
function openbadges_add_page_attributes_box ($post_type) {
if (post_type_supports($post_type, 'page-attributes')) {
// Remove the system-defined 'Page Attributes' box
remove_meta_box('pageparentdiv', 'page', 'side');
// Replace it with our own 'Page Attributes' box
add_meta_box(
'ob-pageparentdiv',
'page' == $post_type ? __('Page Attributes') : __('Attributes'),
'openbadges_page_attributes_meta_box',
null,
'side',
'core'
);
}
}
add_action('add_meta_boxes', 'openbadges_add_page_attributes_box');
add_action('save_post', 'openbadges_save_embellishment');

Просмотреть файл

@ -1,15 +0,0 @@
<?php
if ($_POST)
{
$mailTo = 'badges@mozillafoundation.org';
$mailFrom = $_POST['email'];
$subject = 'Mozilla Open Badges Community Contact Form';
$message = 'Name:'." \n".$_POST['name']."\n\n";
$message .= 'Message:'."\n".$_POST['message'];
if (mail($mailTo, $subject, $message, "From: ".$mailFrom)) {
echo '<div class="thanks">Message Sent.</div>';
}
}
?>

Просмотреть файл

@ -1,33 +0,0 @@
<?php if (!!!get_post_meta($post->ID, 'hide_meta', true)):
if (is_active_sidebar('footer')): ?>
<aside id="meta">
<div class="constrained">
<?php dynamic_sidebar('footer'); ?>
</div> <!-- .constrained -->
</aside>
<?php endif;
endif; ?>
<footer id="footer">
<div class="constrained">
<section>
<p class="footnote"><a href="<?php echo home_url(); ?>">Mozilla <?php bloginfo('name'); ?></a></p>
<nav class="primary">
<?php wp_nav_menu(array('theme_location' => 'primary', 'container' => false, 'fallback_cb' => false)); ?>
</nav>
</section>
<section>
<p class="support">
With support and collaboration from
<a href="http://www.macfound.org"><img alt="the MacArthur Foundation" src="<?php echo get_stylesheet_directory_uri(); ?>/media/images/partners/MacArthur_logo.png"></a>
</p>
<nav class="secondary">
<?php wp_nav_menu(array('theme_location' => 'footer', 'container' => false, 'fallback_cb' => false)); ?>
</nav>
</section>
</div>
</footer>
<?php wp_footer(); ?>
</body>
</html>

Просмотреть файл

@ -1,12 +0,0 @@
<?php
/**
* Template Name: Full Width
*/
function get_additional_body_classes() {
return array();
}
include_once(dirname(__FILE__).'/index.php');

Просмотреть файл

@ -1,101 +0,0 @@
<?php
/*
* Remove default WordPress header hooks
*/
remove_action('wp_head', 'feed_links_extra', 3 );
remove_action('wp_head', 'rsd_link' );
remove_action('wp_head', 'wlwmanifest_link' );
remove_action('wp_head', 'noindex', 1 );
remove_action('wp_head', 'wp_generator' );
remove_action('wp_head', 'wp_shortlink_wp_head', 10, 0);
remove_action('wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0);
/*
* Remove other silly WordPress hooks
*/
remove_filter('the_content', 'wpautop');
/*
* Clean up WordPress generated tags, which have a propensity to use single quotes!
*/
function openbadges_clean_tag ($tag) {
$tag = preg_replace('|=\'([^\']*)\'( +)?|', '="$1" ', $tag);
$tag = preg_replace('|\s+/?(>\s*)$|', '$1', $tag);
return $tag;
}
add_action('style_loader_tag', 'openbadges_clean_tag', 1);
/*
* Set up widgets
*/
function openbadges_setup_widgets () {
register_sidebar(array(
'name' => __('Footer', 'openbadges'),
'id' => 'footer',
'description' => __('Appears at the bottom of every page', 'openbadges'),
'before_widget' => '<section id="%1$s" class="widget %2$s">',
'after_widget' => '</section>',
'before_title' => '<h2 class="widget-title">',
'after_title' => '</h2>',
));
}
add_action('widgets_init', 'openbadges_setup_widgets');
/*
* Set up menus
*/
function openbadges_setup_menus () {
register_nav_menus(array(
'primary' => __('Main Menu', 'openbadges'),
'footer' => __('Secondary Footer Menu', 'openbadges'),
));
}
add_action('after_setup_theme', 'openbadges_setup_menus');
/*
* Set up admin config
*/
function openbadges_admin_init () {
require_once(dirname(__FILE__).'/admin/init.php');
}
add_action('admin_init', 'openbadges_admin_init');
/*
* Load Scripts
*/
add_action( 'wp_enqueue_scripts', 'load_scripts' );
function load_scripts() {
wp_enqueue_script('tabzilla', '//www.mozilla.org/tabzilla/media/js/tabzilla.js', '','',true);
wp_deregister_script( 'jquery' );
wp_register_script( 'jquery', '//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js', false, '1.9.1');
wp_enqueue_script( 'jquery' );
wp_enqueue_script('global-logic', get_template_directory_uri() . '/media/js/global.js', 'jquery','',true);
wp_register_style( 'core-styles', get_template_directory_uri() . '/media/css/core.css', array(), '1.1', 'all' );
wp_register_style( 'tabzilla-styles', 'http://mozorg.cdn.mozilla.net/media/css/tabzilla-min.css', array(), '1.0', 'all' );
wp_enqueue_style( 'core-styles' );
wp_enqueue_style( 'tabzilla-styles' );
}
?>

Просмотреть файл

@ -1,24 +0,0 @@
<!DOCTYPE html>
<html <?php language_attributes(); ?>>
<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">
<title><?php wp_title('|', true, 'right'); bloginfo('name'); ?></title>
<!--[if lt IE 9]><script src="./media/js/html5shiv.js"></script><![endif]-->
<?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>
<header id="header">
<div class="constrained">
<h1><a href="http://www.mozilla.org/" id="tabzilla">Mozilla</a> <a href="<?php echo home_url(); ?>" id="home"><?php bloginfo('name'); ?></a></h1>
<nav id="navigation">
<?php wp_nav_menu(array('theme_location' => 'primary', 'container' => false, 'fallback_cb' => false)); ?>
</nav>
</div> <!-- .constrained -->
</header> <!-- #header -->

216
index.html Normal file
Просмотреть файл

@ -0,0 +1,216 @@
<!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">
<title>Open Badges Community</title>
<!--[if lt IE 9]><script src="./media/js/html5shiv.js"></script><![endif]-->
<link rel="stylesheet" id="core-styles-css" href="wp-content/themes/open_badges_community/media/css/core.css?ver=1.1" type="text/css" media="all">
<link rel="stylesheet" id="tabzilla-styles-css" href="http://mozorg.cdn.mozilla.net/media/css/tabzilla-min.css?ver=1.0" type="text/css" media="all">
<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js?ver=1.9.1'></script>
<link rel='canonical' href='index.html' />
<style type="text/css">.recentcomments a{display:inline !important;padding:0 !important;margin:0 !important;}</style>
</head>
<body class="home page page-id-8 page-template page-template-template-splash-php">
<header id="header">
<div class="constrained">
<h1><a href="http://www.mozilla.org/" id="tabzilla">Mozilla</a> <a href="index.html" id="home">Open Badges Community</a></h1>
<nav id="navigation">
<ul id="menu-splash-menu" class="menu"><li id="menu-item-10" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10"><a href="index.html#learn">Learn</a></li>
<li id="menu-item-11" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-11"><a href="index.html#design">Design</a></li>
<li id="menu-item-12" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-12"><a href="index.html#code">Code</a></li>
<li id="menu-item-13" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-13"><a href="index.html#news">News</a></li>
<li id="menu-item-14" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-14"><a href="index.html#meta">Contact</a></li>
</ul> </nav>
</div> <!-- .constrained -->
</header> <!-- #header -->
<div id="top" role="main"><section class="content" id="main">
<div class="constrained">
<h1>Recognize &amp; be recognized.</h1>
<p class="subheading">Help shape the future of Open Badges.</p>
<nav class="splashnav"><a class="learn scroll" href="index.html#learn">Learn</a>
<a class="design scroll" href="index.html#design">Design</a>
<a class="code scroll" href="index.html#code">Code</a></nav></div>
<!-- .constrained -->
</section><!-- #content -->
<section class="content" id="learn">
<div class="constrained">
<h2>Learn</h2>
<p class="subheading">Curious about recognition of skills &amp; interests?
You&#8217;re in the right place. Welcome.</p>
<ul class="links">
<li><a href="http://openbadges.org/">Learn more about Open Badges</a></li>
<li><a href="https://www.dropbox.com/s/8a8octnr6k4h22u/Open%20Badges%20one%20sheet.pdf">Share the badges one sheet</a></li>
<li><a href="http://bit.ly/OpenBadgesCommunityCalls">Join a weekly community call</a><i> </i></li>
<li><a href="https://twitter.com/OpenBadges">Join the #OpenBadges chat</a></li>
</ul>
<div class="events">
<div class="column50">At Mozilla, we believe that learning happens over the course of a lifetime and frequently beyond the classroom. With the support of the MacArthur Foundation, we&#8217;ve built the Open Badges Infrastructure, which makes it possible for badges issued by different companies and communities to be interoperable and shareable across the web.</div>
<div class="column50">People and organizations with content to share align their badges with the open standard, which makes it possible for someone who sees Open Badges to discover the criteria and evidence behind them. Learners around the world are using these portable badges to realize increased learning and professional opportunities.</div>
</div>
<div class="video" style="margin-top: 30px;"><iframe src="http://www.youtube.com/embed/Xc4xDgNbl6Y?rel=0" height="315" width="560" allowfullscreen="" frameborder="0"></iframe></div>
<!-- .video -->
<!-- .events -->
<!-- Embedded Google Groups - openbadges -->
<iframe style="max-width: 100%; margin-top: 30px;" src="http://groups.google.com/forum/embed/?place=forum/openbadges&amp;showtabs=false&amp;showsearch=false&amp;hidesubject=true&amp;hideforumtitle=true&amp;fragments=false&amp;theme=default&amp;parenturl=http%3A%2F%2Fcommunity.openbadges.org" height="600" width="950" frameborder="0" scrolling="0"></iframe>
</div>
<!-- .constrained -->
</section><!-- #content -->
<section class="content" id="design">
<div class="constrained">
<h2>Design</h2>
<p class="subheading">Discover &amp; share information about
badge system creation.</p>
<ul class="links">
<li><a href="http://bit.ly/ob-research">Research &amp; system design calls</a></li>
<li><a href="https://docs.google.com/spreadsheet/ccc?key=0AnUOR-0CBMsTdE1hWnJnYXlNdnktVUlhWWdjVzFVR0E&amp;usp=sharing">Plan badge system design</a></li>
<li><a href="http://dougbelshaw.com/blog/2013/05/08/answering-your-questions-about-open-badges/?utm_source=feedburner&amp;utm_medium=email&amp;utm_campaign=Feed%3A+dougbelshaw+%28dougbelshaw.com%2Fblog%29">Read frequently asked questions</a></li>
<li><a href="http://bitly.com/platform-chart">Discover badge issuing tools</a></li>
</ul>
<div class="column50">Hundreds of organizations and individuals have <a href="http://openbadges.org/participating-issuers/">designed and issued Open Badges</a>. They include educators, multinational companies, non-profits, industry alliances, and people interested in professional development.</div>
<div class="column50">The curriculum that their badges represent include a huge variety of skills, competencies, and interests. You too can create badges for your community members and try the visual design exercises in this video. And stay tuned for a design toolkit launching soon!</div>
<div class="column50"></div>
<div class="video"><iframe src="http://www.youtube.com/embed/AyM6srzmepQ" height="315" width="560" allowfullscreen="" frameborder="0"></iframe></div>
<!-- .video -->
</div>
<!-- .constrained -->
</section><!-- #content -->
<section class="content" id="code">
<div class="constrained">
<h2>Code</h2>
<p class="subheading">Access development documentation
&amp; contribute to Open Badges.</p>
<ul class="links">
<li><a href="http://bit.ly/OpenBadgesDevGroup">Join developer conversations</a></li>
<li><a href="https://github.com/mozilla/openbadges">Explore the Github repository</a></li>
<li><a href="https://github.com/mozilla/openbadges-specification/blob/master/Assertion/latest.md">See the metadata specification</a></li>
<li><a href="https://github.com/mozilla/openbadges#mozilla-open-badges">Browse README</a></li>
<li><a href="https://github.com/mozilla/openbadges/blob/development/docs/apis/issuer_api.md">Access the Issuer API</a></li>
<li><a href="https://github.com/mozilla/openbadges/wiki/Displayer-API">Use the Displayer API</a></li>
</ul>
<!-- .column50 -->
<!-- Embedded Google Groups - openbadges-dev -->
<iframe style="max-width: 100%;" src="http://groups.google.com/forum/embed/?place=forum/openbadges-dev&amp;showtabs=false&amp;showsearch=false&amp;hidesubject=true&amp;hideforumtitle=true&amp;fragments=false&amp;theme=default&amp;parenturl=http%3A%2F%2Fcommunity.openbadges.org" height="600" width="950" frameborder="0" scrolling="0"></iframe>
</div>
<!-- .constrained -->
</section><!-- #content -->
<section class="content" id="news">
<div class="constrained">
<h2>News</h2>
<p class="subheading">Get up to speed on the latest in the world of alternative accreditation.</p>
<div class="clear">
<div class="blog">
<h3>Blog</h3>
<ul><!--via MagpieRSS with RSSImport--><li><a href="http://openbadges.tumblr.com/post/138460193599" title="Badge Alliance">Badge Alliance</a> <small>February 1, 2016</small><br />Badge Alliance: The official publications of the Badge Alliance are switching platforms, over to this collection on Medium. The Tumblr you are reading will remain up for archival purposes. Thanks for &#8230; </li><li><a href="http://openbadges.tumblr.com/post/125814781474" title="Now the quick badger jumps over the lazy fox">Now the quick badger jumps over the lazy fox</a> <small>August 4, 2015</small><br />An issuer organization decides to start a badge program, so its staff members design a badge system to go with the program&rsquo;s content delivery and assessment practices. Then they run badge softwa &#8230; </li><li><a href="http://openbadges.tumblr.com/post/124109252519" title="Badge Alliance FAQ - July 2015">Badge Alliance FAQ &#8211; July 2015</a> <small>July 15, 2015</small><br />Theres so much we want to say &ndash; we cant put it all into an over-long announcement. Here is a growing list of some of the top questions:Whats happening to the Badge Alliance?The Badge Alliance &#8230; </li><li><a href="http://openbadges.tumblr.com/post/123556754619" title="The Badge Alliance in 2015">The Badge Alliance in 2015</a> <small>July 8, 2015</small><br />2014 was a great building year for the badges ecosystem and the Badge Alliance (BA) network, and 2015 has been an exciting year so far. Rooms are overflowing for badging-related presentations at confe &#8230; </li><li><a href="http://openbadges.tumblr.com/post/117850928609" title="Open Badges spec v1.1 Release">Open Badges spec v1.1 Release</a> <small>May 1, 2015</small><br />Open Badges spec v1.1 Release: bananigans: Im excited to share with you all the work weve been devoting ourselves to in the Badge Alliance Standard Working Group over the past several months. We are &#8230; </li><li><a href="http://openbadges.tumblr.com/post/116992694359" title="New IMS Digital Credentialing Initiative">New IMS Digital Credentialing Initiative</a> <small>April 21, 2015</small><br />Today is an exciting day for the open badges community! IMS Global, the leading education technology standards body, announced that they are kicking off a new IMS Digital Credentialing initiative.In c &#8230; </li><li><a href="http://openbadges.tumblr.com/post/116394699529" title="Open Badges Community Call, April 8, 2015">Open Badges Community Call, April 8, 2015</a> <small>April 14, 2015</small><br />Agenda: http://bit.ly/CC15_April8Audio: http://bit.ly/CC15_April8audioThis week we dived into a discussion on soft skills and workforce development, led by those who kickstarted a conversation last we &#8230; </li><li><a href="http://openbadges.tumblr.com/post/115135719509" title="An Open Can of Tin Badges - Tin Can API">An Open Can of Tin Badges &#8211; Tin Can API</a> <small>March 31, 2015</small><br />An Open Can of Tin Badges &#8211; Tin Can API: People have been talking about a crossover between Open Badges and Tin Can (xAPI) since 2012. Blogs have been written, ideas shared and theres even a Twitter &#8230; </li></ul>
</div>
<!-- .blog -->
<div class="tweets">
<h3>Tweets</h3>
<a class="twitter-timeline" href="https://twitter.com/OpenBadges" data-tweet-limit="10" data-widget-id="332634081026248706" data-border-color="#FFFFFF" data-link-color="#073a5a">Tweets by @OpenBadges</a>
<script type="text/javascript">// <![CDATA[
!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");
// ]]&gt;</script>
</div>
<!-- .tweets -->
</div>
</div>
<!-- .constrained -->
</section><!-- #content -->
</div>
<!-- end role main -->
<script type="text/javascript">
$(document).ready(function(){
// if url starts with a hash, animate scroll
$('a[href*=#]').click(function(){
$('html, body').animate({
scrollTop: $( $(this).attr('href') ).offset().top
}, 500);
return false;
})
});
</script>
<aside id="meta">
<div class="constrained">
<section id="text-2" class="widget widget_text"> <div class="textwidget"><h2>Questions?</h2>
<a href="mailto:badges@mozillafoundation.org">badges@mozillafoundation.org</a>
<h2>Learn More</h2>
<ul><li>
<a href="http://openbadges.org">Open Badges Website</a></li>
<li><a href="https://wiki.mozilla.org/Badges">Open Badges Wiki</a></li>
<li><a href="https://github.com/mozilla/openbadges">GitHub Repository</a></li>
</ul></div>
</section><section id="text-3" class="widget widget_text"><h2 class="widget-title">Contact &amp; Contribute</h2> <div class="textwidget"><form id="contact" action="javascript:void(0)">
<div class="error"></div>
<input id="name" type="text" placeholder="Name"/>
<input id="email" type="email" placeholder="Email"/>
<textarea id="message" placeholder="Message"></textarea>
<button type="submit">Submit</button>
</form></div>
</section><section id="text-4" class="widget widget_text"><h2 class="widget-title">Follow &amp; Tweet</h2> <div class="textwidget"><a href="https://twitter.com/openbadges" class="twitter-follow-button" data-show-count="false">Follow @openbadges</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script></div>
</section><section id="text-5" class="widget widget_text"><h2 class="widget-title">Connect with Us</h2> <div class="textwidget"><ul>
<li> Learn about <a href=https://www.mozilla.org/>Mozilla's Mission</a></li>
<li>Join <a href=https://www.mozilla.org/en-US/contribute/>Mozilla</a></li>
<li> Like us on <a href=https://www.facebook.com/MozillaOpenBadges>Facebook</a></li>
</ul></div>
</section> </div> <!-- .constrained -->
</aside>
<footer id="footer">
<div class="constrained">
<section>
<p class="footnote"><a href="index.html">Mozilla Open Badges Community</a></p>
<nav class="primary">
<ul id="menu-splash-menu-1" class="menu"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10"><a href="index.html#learn">Learn</a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-11"><a href="index.html#design">Design</a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-12"><a href="index.html#code">Code</a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-13"><a href="index.html#news">News</a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-14"><a href="index.html#meta">Contact</a></li>
</ul> </nav>
</section>
<section>
<p class="support">
With support and collaboration from
<a href="http://www.macfound.org"><img alt="the MacArthur Foundation" src="wp-content/themes/open_badges_community/media/images/partners/MacArthur_logo.png"></a>
</p>
<nav class="secondary">
</nav>
</section>
</div>
</footer>
<script type='text/javascript' src='http://www.mozilla.org/tabzilla/media/js/tabzilla.js?ver=3.5.1'></script>
<script type='text/javascript' src='wp-content/themes/open_badges_community/media/js/global.js?ver=3.5.1'></script>
</body>
</html>

Просмотреть файл

@ -1,31 +0,0 @@
<?php
function add_body_classes($classes) {
global $post;
$extra = array();
if (!!get_post_meta($post->ID, 'embellish_page', true)) {
$extra[] = 'embellished';
}
if (function_exists('get_additional_body_classes')) {
$extra = array_merge($extra, (array) get_additional_body_classes());
} else {
$extra[] = 'narrow';
}
return array_merge($classes, $extra);
}
add_filter('body_class','add_body_classes');
get_header();
if (have_posts()) {
while (have_posts()) {
the_post();
get_template_part('templates/content', get_post_format());
}
}
get_footer();

Просмотреть файл

@ -1,210 +0,0 @@
/* Badges 101 lesson & quiz slideshow */
#badges-101.inline {
visibility: hidden;
font: normal 16px Georgia,"Times New Roman",Times,serif;
color: #656565;
position: relative;
padding-bottom: 1.5em;
}
#badges-101 .intro {
font-style: italic;
width: 100%;
margin-top: 0;
}
#badges-101 .detail {
font-size: 16px;
margin: 40px;
}
#badges-101 .quiz {
font-size: 18px;
}
#badges-101 .options {
width: 75%;
margin: 1em auto;
overflow: hidden;
}
#badges-101 .discussion .answer {
font-style: italic;
}
#badges-101 .slide {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
padding: 30px;
position: relative;
}
#badges-101.inline h2 {
font: normal 60px/56px "MetaWebPro-Black", sans-serif;
text-transform: uppercase;
display: block;
margin: 0;
}
#badges-101 header img {
margin: 2em 0 -100px;
}
#badges-101.inline header img {
margin: -40px 0 0;
}
#badges-101.inline header img + h2 {
margin-top: -10px;
}
#badges-101 header p {
font-style: italic;
margin-top: -1.5em;
}
#badges-101.inline header p {
font-size: 14px;
margin-top: 4px;
}
#slides .pagination {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 1.5em;
line-height: 1.5em;
margin: 0;
padding: 0;
text-align: center;
}
#slides .pagination li {
display: inline;
margin:0 1px;
list-style:none;
}
#slides .pagination li a {
display: inline-block;
width: 12px;
height: 0;
padding-top: 12px;
background-image: url(../images/quiz/pagination.png);
background-position: 0 0;
overflow: hidden;
}
#slides .pagination li.current a {
background-position: 0 -12px;
}
.slides_container {
width:640px;
height:420px;
}
.slides_container div {
width:640px;
height:420px;
display:block;
}
#badges-101 .button {
width: 100px;
height: 30px;
line-height: 30px;
padding: 0;
float: none;
display: inline-block;
}
#badges-101 input.button {
width: auto;
padding: 0 10px;
}
#badges-101 .next {
position: absolute;
bottom: 10px;
right: 20px;
}
#badges-101 #quickstart-page-1 .next {
position: static;
}
#badges-101 .discussion {
font-size: 14px;
}
#badges-101 .true {
float: left;
background-color: #81BC2E;
/* IE10 */
background-image: -ms-linear-gradient(top, #81BC2E 0%, #659C28 100%);
/* Mozilla Firefox */
background-image: -moz-linear-gradient(top, #81BC2E 0%, #659C28 100%);
/* Opera */
background-image: -o-linear-gradient(top, #81BC2E 0%, #659C28 100%);
/* Webkit (Safari/Chrome 10) */
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #81BC2E), color-stop(1, #659C28));
/* Webkit (Chrome 11+) */
background-image: -webkit-linear-gradient(top, #81BC2E 0%, #659C28 100%);
/* Proposed W3C Markup */
background-image: linear-gradient(top, #81BC2E 0%, #659C28 100%);
}
#badges-101 .false {
float: right;
background-color: #D63A2B;
/* IE10 */
background-image: -ms-linear-gradient(top, #E55927 0%, #D63A2B 100%);
/* Mozilla Firefox */
background-image: -moz-linear-gradient(top, #E55927 0%, #D63A2B 100%);
/* Opera */
background-image: -o-linear-gradient(top, #E55927 0%, #D63A2B 100%);
/* Webkit (Safari/Chrome 10) */
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #E55927), color-stop(1, #D63A2B));
/* Webkit (Chrome 11+) */
background-image: -webkit-linear-gradient(top, #E55927 0%, #D63A2B 100%);
/* Proposed W3C Markup */
background-image: linear-gradient(top, #E55927 0%, #D63A2B 100%);
}
#badges-101 .true:after,
#badges-101 .false:after {
content: "";
}
#nav-panel,
#after-badge {
overflow: hidden;
text-align: center;
}
#nav-panel p,
#after-badge p {
margin-top: 0;
}
#nav-panel .backpack,
#after-badge .backpack {
display: block;
float: left;
width: 38%;
margin: 1em 0 0 8%;
padding-top: 100px;
background: url("../images/quiz/backpack.png") 50% 0 no-repeat;
}
#nav-panel .navigator,
#after-badge .navigator {
display: block;
float: right;
width: 38%;
margin: 1em 8% 0 0;
padding-top: 100px;
background: url("../images/quiz/navigatorbadge.png") 50% 0 no-repeat;
}

61
media/css/core.min.css поставляемый
Просмотреть файл

@ -1,61 +0,0 @@
@font-face{font-family:"Open Sans Light";font-style:normal;font-weight:normal;src:url("../fonts/OpenSans-Light-webfont.eot?#iefix") format("embedded-opentype"),url("../fonts/OpenSans-Light-webfont.woff") format("woff"),url("../fonts/OpenSans-Light-webfont.ttf") format("truetype"),url("../fonts/OpenSans-Light-webfont.svg#OpenSansLight") format("svg");}@font-face{font-family:"Open Sans";font-style:normal;font-weight:normal;src:url("../fonts/OpenSans-Regular-webfont.eot?#iefix") format("embedded-opentype"),url("../fonts/OpenSans-Regular-webfont.woff") format("woff"),url("../fonts/OpenSans-Regular-webfont.ttf") format("truetype"),url("../fonts/OpenSans-Regular-webfont.svg#OpenSansRegular") format("svg");}@font-face{font-family:"Open Sans";font-style:normal;font-weight:bold;src:url("../fonts/OpenSans-Semibold-webfont.eot?#iefix") format("embedded-opentype"),url("../fonts/OpenSans-Semibold-webfont.woff") format("woff"),url("../fonts/OpenSans-Semibold-webfont.ttf") format("truetype"),url("../fonts/OpenSans-Semibold-webfont.svg#OpenSansSemibold") format("svg");}@font-face{font-family:"MetaWebPro-Black";src:url(../fonts/MetaWebPro-Black.woff) format('woff');}html,body{margin:0;padding:0;}
a,label.link{color:#b1cf37;cursor:pointer;text-decoration:underline;}
h2,h3,h4{font-weight:normal;margin:2em 0 1em;clear:both;}
h2{font-size:2.75em;}
h3{font-size:1.95em;}
h4{font-size:1.2em;}
p{font-size:1em;margin:1.5em 0 0;line-height:1.5em;}
input{font:inherit;}
@media all and (max-width:740px){h2{margin-top:1em;}}@media all and (max-width:400px){h2{font-size:1.95em;} h3{font-size:1.55em;}}body{background:#000b19;font-family:"Open Sans Light",sans-serif;font-size:18px;color:#F0F0F0;}
h4{color:#5fc9e5;}
.constrained{max-width:950px;padding:0 25px;margin:0 auto;}
@media all and (max-width:400px){.constrained{padding:0 10px;}}.text-left{text-align:left;}
.text-center{text-align:center;}
.text-right{text-align:right;}
.text-hidden{position:absolute;left:-999em;}
.intro{font-size:1.5em;margin:-0.75em 0 0;}
.tagline{font-size:1.5em;margin:-2em 0 0;font-style:italic;}
.reduced{font-size:0.78em;}
#header{background:#e6e7e8;border-top:solid 2px #FFF;border-bottom:solid 6px #5fc9e5;position:relative;}#header a{color:#073A5A;}
#footer{position:relative;border-top:solid 6px #5fc9e5;padding:20px 0;}#footer a{color:inherit;}
#header .constrained,#footer .constrained{overflow:hidden;}
#header a,#footer a{text-decoration:none;}
#header::before,#header::after,#footer::before,#footer::after{content:"";height:6px;width:33.33%;position:absolute;left:33.33%;background:#b1cf37;}
#header::before,#header::after{bottom:-6px;}
#footer::before,#footer::after{top:-6px;}
#header::after,#footer::after{left:66.66%;background:#f48123;}
#tabzilla{margin-top:-28px;}
#header h1,#footer .footnote,#footer .support{margin:0;padding:28px 0;}
#home,#footer .footnote a{display:block;width:300px;height:80px;background:url("../images/logo.png");text-indent:-100%;overflow:hidden;margin-left:-14px;}
#footer .footnote a{background-position:0 -80px;}
#footer .support{height:80px;line-height:20px;padding-top:0;}#footer .support img{margin-top:-35px;height:80px;vertical-align:middle;display:inline-block;margin-left:1em;}
#header nav,#footer nav{float:right;margin-top:-45px;}#header nav.secondary,#footer nav.secondary{margin-top:-60px;}
#header nav ul,#footer nav ul{margin:-1em 0 0;padding:0;list-style:none;line-height:1em;}
#header nav li,#footer nav li{float:left;margin-left:1.5em;}
@media all and (max-width:1000px){#header nav,#footer nav{float:none;clear:both;margin:0;}#header nav.secondary,#footer nav.secondary{margin-top:-35px;} #header nav ul,#footer nav ul{overflow:hidden;text-align:center;line-height:1.5em;padding-bottom:1.5em;} #header nav li,#footer nav li{float:none;display:inline-block;margin:0 0.75em;}}#content{min-height:300px;padding:5px 0 100px;background:#182d39 50% 100% no-repeat;}
.embellished #content{background-image:url("../images/content-background.png");border-bottom:solid 40px transparent;padding-bottom:275px;}
.narrow #content .constrained{max-width:34em;}
.panel{display:block;padding:25px 0 40px;background:#213441;-webkit-border-radius:8px;-moz-border-radius:8px;border-radius:8px;text-decoration:none;overflow:hidden;text-align:center;color:inherit;}.panel img{max-width:100%;}
.panel h4,.panel p{margin:15px 60px 0;color:inherit;}
@media all and (max-width:1000px){.panel{padding:25px 0 25px 300px;}.panel img{float:left;margin-left:-300px;max-width:300px;} .panel h1,.panel h2,.panel h3,.panel h4{clear:none;} .panel p{margin:15px 20px 0;}}@media all and (max-width:500px){.panel{padding:25px 0;}.panel img{max-width:100%;float:none;margin:0;}}.two-column,.three-column{overflow:hidden;margin:25px 0 0 -25px;padding:0;list-style:none;}.two-column .column,.three-column .column{float:left;width:50%;margin:0;padding:0;border-left:solid 25px transparent;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}
.two-column .column:nth-child(odd){clear:both;}
.three-column .column{width:33.33%;}.three-column .column:nth-child(3n+1){clear:both;}
@media all and (max-width:1000px){.three-column .column{float:none;width:auto;margin-bottom:25px;}}@media all and (max-width:740px){.two-column,.three-column{margin-left:-10px;}.two-column .column,.three-column .column{float:none;width:auto;border-left-width:10px;}}ul.promo-list,ol.promo-list{list-style:none;padding:0;}ul.promo-list li,ol.promo-list li,ul.promo-list .column,ol.promo-list .column{margin-top:2.4em;padding:0 25px 0 80px;background:url("../images/badge-bullet.png") 25px 0 no-repeat;}
ul.promo-list h3,ol.promo-list h3,ul.promo-list h4,ol.promo-list h4,ul.promo-list p,ol.promo-list p{margin-top:0;}
@media all and (max-width:740px){ul.promo-list li,ol.promo-list li{padding-right:35px;}}.button{display:inline-block;text-decoration:none;text-shadow:0px 1px 0px rgba(0, 0, 0, 0.25);letter-spacing:-0.25px;background-color:#1D94E4;text-align:center;color:white;border:none;cursor:pointer;padding:0.25em 2em;font:inherit;-webkit-border-radius:0.25em;-moz-border-radius:0.25em;border-radius:0.25em;-webkit-box-shadow:0px 2px 0px 0px rgba(0, 0, 0, 0.1),inset 0px -2px 0px 0px rgba(0, 0, 0, 0.1);-moz-box-shadow:0px 2px 0px 0px rgba(0, 0, 0, 0.1),inset 0px -2px 0px 0px rgba(0, 0, 0, 0.1);box-shadow:0px 2px 0px 0px rgba(0, 0, 0, 0.1),inset 0px -2px 0px 0px rgba(0, 0, 0, 0.1);background-image:-ms-linear-gradient(top, #1d94e4 0%, #006dca 100%);background-image:-moz-linear-gradient(top, #1d94e4 0%, #006dca 100%);background-image:-o-linear-gradient(top, #1d94e4 0%, #006dca 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #1d94e4), color-stop(1, #006dca));background-image:-webkit-linear-gradient(top, #1d94e4 0%, #006dca 100%);background-image:linear-gradient(top, #1d94e4 0%, #006dca 100%);-webkit-transition-property:-moz-box-shadow,-webkit-box-shadow,box-shadow;-webkit-transition-duration:0.25s;-webkit-transition-delay:0s;-moz-transition-property:-moz-box-shadow,-webkit-box-shadow,box-shadow;-moz-transition-duration:0.25s;-moz-transition-delay:0s;transition-property:-moz-box-shadow,-webkit-box-shadow,box-shadow;transition-duration:0.25s;transition-delay:0s;}.button.large{padding:0 2em;font-size:24px;line-height:48px;font-style:italic;}
.button:hover,.button:focus{-webkit-box-shadow:0px 2px 0px 0px rgba(0, 0, 0, 0.1),inset 0px -2px 0px 0px rgba(0, 0, 0, 0.2),inset 0px 12 px 24px 2px rgba(255, 255, 255, 0.2);-moz-box-shadow:0px 2px 0px 0px rgba(0, 0, 0, 0.1),inset 0px -2px 0px 0px rgba(0, 0, 0, 0.2),inset 0px 12px 24px 2px rgba(255, 255, 255, 0.2);box-shadow:0px 2px 0px 0px rgba(0, 0, 0, 0.1),inset 0px -2px 0px 0px rgba(0, 0, 0, 0.2),inset 0px 12px 24px 2px rgba(255, 255, 255, 0.2);-webkit-transition-property:-moz-box-shadow,-webkit-box-shadow,box-shadow;-webkit-transition-duration:0.25s;-webkit-transition-delay:0s;-moz-transition-property:-moz-box-shadow,-webkit-box-shadow,box-shadow;-moz-transition-duration:0.25s;-moz-transition-delay:0s;transition-property:-moz-box-shadow,-webkit-box-shadow,box-shadow;transition-duration:0.25s;transition-delay:0s;}
.button:active{-webkit-box-shadow:inset 0px 2px 0px 0px rgba(0, 0, 0, 0.2),inset 0px 12px 24px 6px rgba(0, 0, 0, 0.2),inset 0px 0px 2px 2px rgba(0, 0, 0, 0.2);-moz-box-shadow:inset 0px 2px 0px 0px rgba(0, 0, 0, 0.2),inset 0px 12px 24px 6px rgba(0, 0, 0, 0.2),inset 0px 0px 2px 2px rgba(0, 0, 0, 0.2);box-shadow:inset 0px 2px 0px 0px rgba(0, 0, 0, 0.2),inset 0px 12px 24px 6px rgba(0, 0, 0, 0.2),inset 0px 0px 2px 2px rgba(0, 0, 0, 0.2);-webkit-transition-property:-moz-box-shadow,-webkit-box-shadow,box-shadow;-webkit-transition-duration:0.25s;-webkit-transition-delay:0s;-moz-transition-property:-moz-box-shadow,-webkit-box-shadow,box-shadow;-moz-transition-duration:0.25s;-moz-transition-delay:0s;transition-property:-moz-box-shadow,-webkit-box-shadow,box-shadow;transition-duration:0.25s;transition-delay:0s;}
.button:link,.button:visited,.button:focus,.button:hover,.button:active{color:#fff;text-decoration:none;}
.button:after{content:' ';}
#meta{background:#323538;background-image:-webkit-linear-gradient(left, rgba(255,255,255,0.015), rgba(255,255,255,0.015) 50%, rgba(255,255,255,0) 50%, rgba(255,255,255,0));background-image:-moz-linear-gradient(left, rgba(255,255,255,0.015), rgba(255,255,255,0.015) 50%, rgba(255,255,255,0) 50%, rgba(255,255,255,0));background-image:-ms-linear-gradient(left, rgba(255,255,255,0.015), rgba(255,255,255,0.015) 50%, rgba(255,255,255,0) 50%, rgba(255,255,255,0));background-image:linear-gradient(left, rgba(255,255,255,0.015), rgba(255,255,255,0.015) 50%, rgba(255,255,255,0) 50%, rgba(255,255,255,0));background-size:10px 10px;background-position:50% 50%;min-height:200px;position:relative;}#meta::before,#meta::after{content:"";position:absolute;left:0;width:100%;height:6px;}
#meta::before{top:0;background-image:-webkit-gradient(linear, top left, bottom left, from(rgba(0, 0, 0, 0.33)), to(rgba(0, 0, 0, 0)));background-image:-webkit-linear-gradient(top, rgba(0,0,0,0.33), rgba(0,0,0,0));background-image:-moz-linear-gradient(top, rgba(0,0,0,0.33), rgba(0,0,0,0));background-image:-ms-linear-gradient(top, rgba(0,0,0,0.33), rgba(0,0,0,0));background-image:linear-gradient(top, rgba(0,0,0,0.33), rgba(0,0,0,0));}
#meta::after{bottom:0;background-image:-webkit-gradient(linear, bottom left, top left, from(rgba(0, 0, 0, 0.33)), to(rgba(0, 0, 0, 0)));background-image:-webkit-linear-gradient(bottom, rgba(0,0,0,0.33), rgba(0,0,0,0));background-image:-moz-linear-gradient(bottom, rgba(0,0,0,0.33), rgba(0,0,0,0));background-image:-ms-linear-gradient(bottom, rgba(0,0,0,0.33), rgba(0,0,0,0));background-image:linear-gradient(bottom, rgba(0,0,0,0.33), rgba(0,0,0,0));}
#meta .constrained{max-width:920px;padding:0;overflow:hidden;}
#meta section{width:33.33%;float:left;padding:2em 10px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:relative;}
#meta h2{font-family:"Open Sans",sans-serif;color:#9C9C9C;text-transform:uppercase;font-size:18px;font-weight:bold;margin:0;padding:35px 0 0;}
#meta i{position:absolute;top:2em;left:0;height:35px;width:100%;background:url(../images/aside-icons.png) no-repeat 10px 100%;}#meta i.tweet{background-position:10px -145px;}
#meta i.learn{background-position:10px -445px;}
#meta i.mozilla{background-position:10px -295px;}
#meta p,#meta ul{margin:1em 0 0;padding:0;list-style:none;font-size:14px;}
#meta li{list-style-type:none;border-top:solid 1px #656565;padding:0.5em 0 0;margin:0.5em 0 0;}#meta li:first-child{border-top:none;padding:0;margin:0;}
@media all and (max-width:800px){#meta{padding-bottom:2em;}#meta section{float:none;width:auto;max-width:400px;margin:0 auto;padding-bottom:0;}}

222
media/css/jquery.fancybox.css поставляемый
Просмотреть файл

@ -1,222 +0,0 @@
/*! fancyBox v2.0.5 fancyapps.com | fancyapps.com/fancybox/#license */
.fancybox-tmp iframe, .fancybox-tmp object {
vertical-align: top;
padding: 0;
margin: 0;
}
.fancybox-wrap {
position: absolute;
top: 0;
left: 0;
z-index: 1002;
}
.fancybox-outer {
position: relative;
padding: 0;
margin: 0;
background: #f9f9f9;
color: #444;
text-shadow: none;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
}
.fancybox-opened {
z-index: 1003;
}
.fancybox-opened .fancybox-outer {
-webkit-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
-moz-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
}
.fancybox-inner {
width: 100%;
height: 100%;
padding: 0;
margin: 0;
position: relative;
outline: none;
overflow: hidden;
}
.fancybox-error {
color: #444;
font: 14px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
margin: 0;
padding: 10px;
}
.fancybox-image, .fancybox-iframe {
display: block;
width: 100%;
height: 100%;
border: 0;
padding: 0;
margin: 0;
vertical-align: top;
}
.fancybox-image {
max-width: 100%;
max-height: 100%;
}
#fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span {
background-image: url('../images/fancybox/sprite.png');
}
#fancybox-loading {
position: fixed;
top: 50%;
left: 50%;
margin-top: -22px;
margin-left: -22px;
background-position: 0 -108px;
opacity: 0.8;
cursor: pointer;
z-index: 1010;
}
#fancybox-loading div {
width: 44px;
height: 44px;
background: url(../images/fancybox/loading.gif) center center no-repeat;
}
.fancybox-close {
position: absolute;
top: -18px;
right: -18px;
width: 36px;
height: 36px;
cursor: pointer;
z-index: 1004;
}
.fancybox-nav {
position: absolute;
top: 0;
width: 40%;
height: 100%;
cursor: pointer;
background: transparent url('blank.gif'); /* helps IE */
z-index: 1003;
}
.fancybox-prev {
left: 0;
}
.fancybox-next {
right: 0;
}
.fancybox-nav span {
position: absolute;
top: 50%;
width: 36px;
height: 36px;
margin-top: -18px;
cursor: pointer;
z-index: 1003;
visibility: hidden;
}
.fancybox-prev span {
left: 20px;
background-position: 0 -36px;
}
.fancybox-next span {
right: 20px;
background-position: 0 -72px;
}
.fancybox-nav:hover span {
visibility: visible;
}
.fancybox-tmp {
position: absolute;
top: -9999px;
left: -9999px;
padding: 0;
overflow: visible;
visibility: hidden;
}
/* Overlay helper */
#fancybox-overlay {
position: absolute;
top: 0;
left: 0;
overflow: hidden;
display: none;
z-index: 1001;
background: #000;
}
/* Title helper */
.fancybox-title {
visibility: hidden;
font: normal 13px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
position: relative;
text-shadow: none;
z-index: 1005;
}
.fancybox-opened .fancybox-title {
visibility: visible;
}
.fancybox-title-float-wrap {
position: absolute;
bottom: 0;
right: 50%;
margin-bottom: -35px;
z-index: 1003;
text-align: center;
}
.fancybox-title-float-wrap .child {
display: inline-block;
margin-right: -100%;
padding: 2px 20px;
background: transparent; /* Fallback for web browsers that doesn't support RGBa */
background: rgba(0, 0, 0, 0.8);
-webkit-border-radius: 15px;
-moz-border-radius: 15px;
border-radius: 15px;
text-shadow: 0 1px 2px #222;
color: #FFF;
font-weight: bold;
line-height: 24px;
white-space: nowrap;
}
.fancybox-title-outside-wrap {
position: relative;
margin-top: 10px;
color: #fff;
}
.fancybox-title-inside-wrap {
margin-top: 10px;
}
.fancybox-title-over-wrap {
position: absolute;
bottom: 0;
left: 0;
color: #fff;
padding: 10px;
background: #000;
background: rgba(0, 0, 0, .8);
}

Двоичные данные
media/images/fabric_1@2X.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 171 KiB

Двоичные данные
media/images/fancybox/loading.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 3.8 KiB

Двоичные данные
media/images/fancybox/sprite.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 3.5 KiB

Двоичные данные
media/images/logo-header.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 7.1 KiB

Двоичные данные
media/images/quiz/101badge.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 10 KiB

Двоичные данные
media/images/quiz/backpack.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 7.2 KiB

Двоичные данные
media/images/quiz/displayer_mono.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 8.5 KiB

Двоичные данные
media/images/quiz/issuer_mono.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 6.5 KiB

Двоичные данные
media/images/quiz/navigatorbadge.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 12 KiB

Двоичные данные
media/images/quiz/pagination.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 691 B

Двоичные данные
media/images/quiz/user_mono.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 11 KiB

Просмотреть файл

@ -1,166 +0,0 @@
(function (window, document, $) {
var winPanel = (function() {
function init () {
/**
* Badges 101 badge acceptance panel
*
* 0. If user skips to end, sees #incomplete panel
* 1. User "wins", sees #win panel with badge and backpack/navigator badge links
* 2. Clicks backpack, sees #get-badge subpanel with email submission form
* 3. Submits email, sees #after-badge subpanel with external links
*/
$('#incomplete').show();
$('#win').hide();
$('#get-badge').hide();
$('#after-badge').hide();
$('#push-to-backpack').one('click', function(){
$('#nav-panel').hide();
$('#get-badge').fadeIn();
});
$("#get-badge form").submit(function() {
var email = $(this).find("input#email").val().trim();
if (QuickBadge.validateEmail(email)) {
var baseURI = $('<a href="./"></a>')[0].href;
var hashedEmail = 'sha256$' + sha256_digest(email);
var publish = QuickBadge.publish({
service: "http://hackpub.hackasaurus.org/publish",
assertion: {
"recipient": hashedEmail,
"badge": {
"version": "0.5.0",
"name": "Badges 101",
"image": $("#badges101")[0].src,
"description": "You really get badges!",
"criteria": "http://badges-101.openbadges.org/",
"issuer": {
"origin": "http://www.openbadges.org",
"name": "Open Badges",
"org": "Mozilla Foundation",
"contact": "hai2u@openbadges.org"
}
}
}
});
$("#get-badge form").fadeOut(function() {
$("#throbber").fadeIn(function() {
publish.fail(function() {
alert("Sorry, an error occurred. Please try again later.");
$("#get-badge form").show();
$("#throbber").hide();
});
publish.done(function(url) {
$("#throbber").fadeOut();
QuickBadge.issue(url).done(function(errors, successes) {
if (successes.length) {
$("#get-badge").hide();
$("#after-badge").show();
}
else {
$("#get-badge form").show();
$("#throbber").hide();
}
console.log("errors", errors, "successes", successes);
});
});
});
});
} else {
alert("Please provide a valid e-mail address.");
}
return false;
});
}
function show () {
$('#incomplete').hide();
$('#win').show();
}
return {
init: init,
show: show
}
})();
var quiz = (function() {
var questions, answered;
function init () {
var $quizzes = $('#badges-101 .quiz');
questions = $quizzes.length;
answered = 0;
$quizzes.find('.discussion').hide();
$quizzes.each(function() {
var discussion = $('.discussion', this);
/* Show the discussion when they click the right answer */
$('.options', this).one('click', function(evt) {
if ($(evt.target).hasClass('correct')) {
$('.answer', discussion).text("That's right!");
} else {
$('.answer', discussion).text("That's wrong!");
}
discussion.fadeIn();
answered++;
if (answered == questions) {
winPanel.show();
}
});
})
}
return {
init: init
}
})();
$(function() {
var cheat = false,
startSlide = 0;
$('a.quickstart').fancybox({
type: 'ajax',
afterShow: function() {
var base = this.element.href,
basePath = this.element.pathname;
// Old IE bug
if (basePath.charAt(0) != '/') basePath = '/' + basePath
winPanel.init();
quiz.init();
$('#badges-101')
.css('visibility','visible')
.find('a[href^="'+base+'"], a[href^="'+basePath+'"]').each(function() {
var $link = $(this),
target;
if (!$link.hasClass('next') && !$link.hasClass('prev')) {
if (target = /\/(\d+)\/?$/.exec(this.href)) {
this.href = '#' + target[1];
$link.addClass('link');
}
}
});
if (cheat) {
winPanel.show();
startSlide = $('#slides .slide').length;
}
$('#slides').slides({
start: startSlide
});
}
})
});
}(window, document, jQuery));

301
media/js/html5shiv.js поставляемый
Просмотреть файл

@ -1,301 +0,0 @@
/**
* @preserve HTML5 Shiv v3.6.2 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
*/
;(function(window, document) {
/*jshint evil:true */
/** version */
var version = '3.6.2';
/** Preset options */
var options = window.html5 || {};
/** Used to skip problem elements */
var reSkip = /^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i;
/** Not all elements can be cloned in IE **/
var saveClones = /^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i;
/** Detect whether the browser supports default html5 styles */
var supportsHtml5Styles;
/** Name of the expando, to work with multiple documents or to re-shiv one document */
var expando = '_html5shiv';
/** The id for the the documents expando */
var expanID = 0;
/** Cached data for each document */
var expandoData = {};
/** Detect whether the browser supports unknown elements */
var supportsUnknownElements;
(function() {
try {
var a = document.createElement('a');
a.innerHTML = '<xyz></xyz>';
//if the hidden property is implemented we can assume, that the browser supports basic HTML5 Styles
supportsHtml5Styles = ('hidden' in a);
supportsUnknownElements = a.childNodes.length == 1 || (function() {
// assign a false positive if unable to shiv
(document.createElement)('a');
var frag = document.createDocumentFragment();
return (
typeof frag.cloneNode == 'undefined' ||
typeof frag.createDocumentFragment == 'undefined' ||
typeof frag.createElement == 'undefined'
);
}());
} catch(e) {
// assign a false positive if detection fails => unable to shiv
supportsHtml5Styles = true;
supportsUnknownElements = true;
}
}());
/*--------------------------------------------------------------------------*/
/**
* Creates a style sheet with the given CSS text and adds it to the document.
* @private
* @param {Document} ownerDocument The document.
* @param {String} cssText The CSS text.
* @returns {StyleSheet} The style element.
*/
function addStyleSheet(ownerDocument, cssText) {
var p = ownerDocument.createElement('p'),
parent = ownerDocument.getElementsByTagName('head')[0] || ownerDocument.documentElement;
p.innerHTML = 'x<style>' + cssText + '</style>';
return parent.insertBefore(p.lastChild, parent.firstChild);
}
/**
* Returns the value of `html5.elements` as an array.
* @private
* @returns {Array} An array of shived element node names.
*/
function getElements() {
var elements = html5.elements;
return typeof elements == 'string' ? elements.split(' ') : elements;
}
/**
* Returns the data associated to the given document
* @private
* @param {Document} ownerDocument The document.
* @returns {Object} An object of data.
*/
function getExpandoData(ownerDocument) {
var data = expandoData[ownerDocument[expando]];
if (!data) {
data = {};
expanID++;
ownerDocument[expando] = expanID;
expandoData[expanID] = data;
}
return data;
}
/**
* returns a shived element for the given nodeName and document
* @memberOf html5
* @param {String} nodeName name of the element
* @param {Document} ownerDocument The context document.
* @returns {Object} The shived element.
*/
function createElement(nodeName, ownerDocument, data){
if (!ownerDocument) {
ownerDocument = document;
}
if(supportsUnknownElements){
return ownerDocument.createElement(nodeName);
}
if (!data) {
data = getExpandoData(ownerDocument);
}
var node;
if (data.cache[nodeName]) {
node = data.cache[nodeName].cloneNode();
} else if (saveClones.test(nodeName)) {
node = (data.cache[nodeName] = data.createElem(nodeName)).cloneNode();
} else {
node = data.createElem(nodeName);
}
// Avoid adding some elements to fragments in IE < 9 because
// * Attributes like `name` or `type` cannot be set/changed once an element
// is inserted into a document/fragment
// * Link elements with `src` attributes that are inaccessible, as with
// a 403 response, will cause the tab/window to crash
// * Script elements appended to fragments will execute when their `src`
// or `text` property is set
return node.canHaveChildren && !reSkip.test(nodeName) ? data.frag.appendChild(node) : node;
}
/**
* returns a shived DocumentFragment for the given document
* @memberOf html5
* @param {Document} ownerDocument The context document.
* @returns {Object} The shived DocumentFragment.
*/
function createDocumentFragment(ownerDocument, data){
if (!ownerDocument) {
ownerDocument = document;
}
if(supportsUnknownElements){
return ownerDocument.createDocumentFragment();
}
data = data || getExpandoData(ownerDocument);
var clone = data.frag.cloneNode(),
i = 0,
elems = getElements(),
l = elems.length;
for(;i<l;i++){
clone.createElement(elems[i]);
}
return clone;
}
/**
* Shivs the `createElement` and `createDocumentFragment` methods of the document.
* @private
* @param {Document|DocumentFragment} ownerDocument The document.
* @param {Object} data of the document.
*/
function shivMethods(ownerDocument, data) {
if (!data.cache) {
data.cache = {};
data.createElem = ownerDocument.createElement;
data.createFrag = ownerDocument.createDocumentFragment;
data.frag = data.createFrag();
}
ownerDocument.createElement = function(nodeName) {
//abort shiv
if (!html5.shivMethods) {
return data.createElem(nodeName);
}
return createElement(nodeName, ownerDocument, data);
};
ownerDocument.createDocumentFragment = Function('h,f', 'return function(){' +
'var n=f.cloneNode(),c=n.createElement;' +
'h.shivMethods&&(' +
// unroll the `createElement` calls
getElements().join().replace(/\w+/g, function(nodeName) {
data.createElem(nodeName);
data.frag.createElement(nodeName);
return 'c("' + nodeName + '")';
}) +
');return n}'
)(html5, data.frag);
}
/*--------------------------------------------------------------------------*/
/**
* Shivs the given document.
* @memberOf html5
* @param {Document} ownerDocument The document to shiv.
* @returns {Document} The shived document.
*/
function shivDocument(ownerDocument) {
if (!ownerDocument) {
ownerDocument = document;
}
var data = getExpandoData(ownerDocument);
if (html5.shivCSS && !supportsHtml5Styles && !data.hasCSS) {
data.hasCSS = !!addStyleSheet(ownerDocument,
// corrects block display not defined in IE6/7/8/9
'article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}' +
// adds styling not present in IE6/7/8/9
'mark{background:#FF0;color:#000}' +
// hides non-rendered elements
'template{display:none}'
);
}
if (!supportsUnknownElements) {
shivMethods(ownerDocument, data);
}
return ownerDocument;
}
/*--------------------------------------------------------------------------*/
/**
* The `html5` object is exposed so that more elements can be shived and
* existing shiving can be detected on iframes.
* @type Object
* @example
*
* // options can be changed before the script is included
* html5 = { 'elements': 'mark section', 'shivCSS': false, 'shivMethods': false };
*/
var html5 = {
/**
* An array or space separated string of node names of the elements to shiv.
* @memberOf html5
* @type Array|String
*/
'elements': options.elements || 'abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup main mark meter nav output progress section summary template time video',
/**
* current version of html5shiv
*/
'version': version,
/**
* A flag to indicate that the HTML5 style sheet should be inserted.
* @memberOf html5
* @type Boolean
*/
'shivCSS': (options.shivCSS !== false),
/**
* Is equal to true if a browser supports creating unknown/HTML5 elements
* @memberOf html5
* @type boolean
*/
'supportsUnknownElements': supportsUnknownElements,
/**
* A flag to indicate that the document's `createElement` and `createDocumentFragment`
* methods should be overwritten.
* @memberOf html5
* @type Boolean
*/
'shivMethods': (options.shivMethods !== false),
/**
* A string to describe the type of `html5` object ("default" or "default print").
* @memberOf html5
* @type String
*/
'type': 'default',
// shivs the document according to the specified `html5` object options
'shivDocument': shivDocument,
//creates a shived element
createElement: createElement,
//creates a shived documentFragment
createDocumentFragment: createDocumentFragment
};
/*--------------------------------------------------------------------------*/
// expose html5
window.html5 = html5;
// shiv the document
shivDocument(document);
}(this, document));

1414
media/js/jquery.fancybox.js поставляемый

Разница между файлами не показана из-за своего большого размера Загрузить разницу

20
media/js/jquery.slides.min.js поставляемый

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Просмотреть файл

@ -1,62 +0,0 @@
var QuickBadge = (function() {
var BADGE_REQUIRED_FIELDS = [
"version",
"name",
"image",
"description",
"criteria"
];
var ISSUER_REQUIRED_FIELDS = [
"origin",
"name"
];
// From http://stackoverflow.com/questions/46155/validate-email-address-in-javascript
function validateEmail(email) {
var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return re.test(email);
}
return {
validateEmail: validateEmail,
publish: function(options) {
var assertion = options.assertion;
var publish = jQuery.Deferred();
if (!assertion || !assertion.badge || !assertion.badge.issuer)
throw new Error("invalid assertion");
BADGE_REQUIRED_FIELDS.forEach(function(field) {
if (!assertion.badge[field])
throw new Error("Missing field: badge." + field);
});
ISSUER_REQUIRED_FIELDS.forEach(function(field) {
if (!assertion.badge.issuer[field])
throw new Error("Missing field: badge.issuer." + field);
});
jQuery.ajax({
type: 'POST',
url: options.service,
data: {
'json': JSON.stringify(assertion),
'original-url': window.location.href,
},
crossDomain: true,
dataType: 'json',
success: function(response) {
publish.resolve(response['published-url']);
},
error: function() {
publish.reject.apply(publish, arguments);
}
});
return publish;
},
issue: function(url) {
var issue = jQuery.Deferred();
OpenBadges.issue([url], function(errors, successes) {
issue.resolve(errors, successes);
});
return issue;
}
};
})();

Просмотреть файл

@ -1,255 +0,0 @@
/*
* A JavaScript implementation of the SHA256 hash function.
*
* FILE: sha256.js
* VERSION: 0.8
* AUTHOR: Christoph Bichlmeier <informatik@zombiearena.de>
*
* NOTE: This version is not tested thoroughly!
*
* Copyright (c) 2003, Christoph Bichlmeier
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. Neither the name of the copyright holder nor the names of contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* ======================================================================
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS
* OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/* SHA256 logical functions */
function rotateRight(n,x) {
return ((x >>> n) | (x << (32 - n)));
}
function choice(x,y,z) {
return ((x & y) ^ (~x & z));
}
function majority(x,y,z) {
return ((x & y) ^ (x & z) ^ (y & z));
}
function sha256_Sigma0(x) {
return (rotateRight(2, x) ^ rotateRight(13, x) ^ rotateRight(22, x));
}
function sha256_Sigma1(x) {
return (rotateRight(6, x) ^ rotateRight(11, x) ^ rotateRight(25, x));
}
function sha256_sigma0(x) {
return (rotateRight(7, x) ^ rotateRight(18, x) ^ (x >>> 3));
}
function sha256_sigma1(x) {
return (rotateRight(17, x) ^ rotateRight(19, x) ^ (x >>> 10));
}
function sha256_expand(W, j) {
return (W[j&0x0f] += sha256_sigma1(W[(j+14)&0x0f]) + W[(j+9)&0x0f] +
sha256_sigma0(W[(j+1)&0x0f]));
}
/* Hash constant words K: */
var K256 = [
0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5,
0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,
0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,
0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,
0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,
0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7,
0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,
0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,
0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,
0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3,
0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5,
0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,
0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,
0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2
];
/* global arrays */
var ihash, count, buffer;
var sha256_hex_digits = "0123456789abcdef";
/* Add 32-bit integers with 16-bit operations (bug in some JS-interpreters:
overflow) */
function safe_add(x, y) {
var lsw = (x & 0xffff) + (y & 0xffff);
var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
return (msw << 16) | (lsw & 0xffff);
}
/* Initialise the SHA256 computation */
function sha256_init() {
ihash = new Array(8);
count = new Array(2);
buffer = new Array(64);
count[0] = count[1] = 0;
ihash[0] = 0x6a09e667;
ihash[1] = 0xbb67ae85;
ihash[2] = 0x3c6ef372;
ihash[3] = 0xa54ff53a;
ihash[4] = 0x510e527f;
ihash[5] = 0x9b05688c;
ihash[6] = 0x1f83d9ab;
ihash[7] = 0x5be0cd19;
}
/* Transform a 512-bit message block */
function sha256_transform() {
var a, b, c, d, e, f, g, h, T1, T2;
var W = new Array(16);
/* Initialize registers with the previous intermediate value */
a = ihash[0];
b = ihash[1];
c = ihash[2];
d = ihash[3];
e = ihash[4];
f = ihash[5];
g = ihash[6];
h = ihash[7];
/* make 32-bit words */
for(var i=0; i<16; i++)
W[i] = ((buffer[(i<<2)+3]) | (buffer[(i<<2)+2] << 8) | (buffer[(i<<2)+1]
<< 16) | (buffer[i<<2] << 24));
for(var j=0; j<64; j++) {
T1 = h + sha256_Sigma1(e) + choice(e, f, g) + K256[j];
if(j < 16) T1 += W[j];
else T1 += sha256_expand(W, j);
T2 = sha256_Sigma0(a) + majority(a, b, c);
h = g;
g = f;
f = e;
e = safe_add(d, T1);
d = c;
c = b;
b = a;
a = safe_add(T1, T2);
}
/* Compute the current intermediate hash value */
ihash[0] += a;
ihash[1] += b;
ihash[2] += c;
ihash[3] += d;
ihash[4] += e;
ihash[5] += f;
ihash[6] += g;
ihash[7] += h;
}
/* Read the next chunk of data and update the SHA256 computation */
function sha256_update(data, inputLen) {
var i, index, curpos = 0;
/* Compute number of bytes mod 64 */
index = ((count[0] >> 3) & 0x3f);
var remainder = (inputLen & 0x3f);
/* Update number of bits */
if ((count[0] += (inputLen << 3)) < (inputLen << 3)) count[1]++;
count[1] += (inputLen >> 29);
/* Transform as many times as possible */
for(i=0; i+63<inputLen; i+=64) {
for(var j=index; j<64; j++)
buffer[j] = data.charCodeAt(curpos++);
sha256_transform();
index = 0;
}
/* Buffer remaining input */
for(var j=0; j<remainder; j++)
buffer[j] = data.charCodeAt(curpos++);
}
/* Finish the computation by operations such as padding */
function sha256_final() {
var index = ((count[0] >> 3) & 0x3f);
buffer[index++] = 0x80;
if(index <= 56) {
for(var i=index; i<56; i++)
buffer[i] = 0;
} else {
for(var i=index; i<64; i++)
buffer[i] = 0;
sha256_transform();
for(var i=0; i<56; i++)
buffer[i] = 0;
}
buffer[56] = (count[1] >>> 24) & 0xff;
buffer[57] = (count[1] >>> 16) & 0xff;
buffer[58] = (count[1] >>> 8) & 0xff;
buffer[59] = count[1] & 0xff;
buffer[60] = (count[0] >>> 24) & 0xff;
buffer[61] = (count[0] >>> 16) & 0xff;
buffer[62] = (count[0] >>> 8) & 0xff;
buffer[63] = count[0] & 0xff;
sha256_transform();
}
/* Split the internal hash values into an array of bytes */
function sha256_encode_bytes() {
var j=0;
var output = new Array(32);
for(var i=0; i<8; i++) {
output[j++] = ((ihash[i] >>> 24) & 0xff);
output[j++] = ((ihash[i] >>> 16) & 0xff);
output[j++] = ((ihash[i] >>> 8) & 0xff);
output[j++] = (ihash[i] & 0xff);
}
return output;
}
/* Get the internal hash as a hex string */
function sha256_encode_hex() {
var output = new String();
for(var i=0; i<8; i++) {
for(var j=28; j>=0; j-=4)
output += sha256_hex_digits.charAt((ihash[i] >>> j) & 0x0f);
}
return output;
}
/* Main function: returns a hex string representing the SHA256 value of the
given data */
function sha256_digest(data) {
sha256_init();
sha256_update(data, data.length);
sha256_final();
return sha256_encode_hex();
}
/* test if the JS-interpreter is working properly */
function sha256_self_test() {
return sha256_digest("message digest") ==
"f7846f55cf23e14eebeab5b4e1550cad5b509e3348fbc4efa3a1413d393cb650";
}

Просмотреть файл

@ -1,493 +0,0 @@
@import "_variables";
@import "_mixins";
/* ---[ Panels ]------------------------------------------------------------- */
.panel {
display: block;
padding: 25px 0 40px;
background: @panel-background;
.border-radius(8px);
text-decoration: none;
overflow: hidden;
text-align: center;
color: inherit;
img {
max-width: 100%;
}
h4, p {
margin: 15px 60px 0;
color: inherit;
}
}
@media all and (max-width: 1000px) {
.panel {
padding: 25px 0 25px 300px;
img {
float: left;
margin-left: -300px;
max-width: 300px;
}
h1, h2, h3, h4 {
clear: none;
}
p {
margin: 15px 20px 0;
}
}
}
@media all and (max-width: 500px) {
.panel {
padding: 25px 0;
img {
max-width: 100%;
float: none;
margin: 0;
}
}
}
/* ---[ Columns ]------------------------------------------------------------ */
.two-column,
.three-column {
overflow: hidden;
margin: 25px 0 0 -@content-gutter;
padding: 0;
list-style: none;
.column {
float: left;
width: 50%;
margin: 0;
padding: 0;
border-left: solid @content-gutter transparent;
.box-sizing(border-box);
}
}
.two-column {
.column {
&:nth-child(odd) {
clear: both;
}
}
}
.three-column {
.column {
width: 33.33%;
&:nth-child(3n+1) {
clear: both;
}
}
}
@media all and (max-width: 1000px) {
.three-column {
.column {
float: none;
width: auto;
margin-bottom: 25px;
}
}
}
@media all and (max-width: @small-screen-cutoff) {
.two-column,
.three-column {
margin-left: -@tiny-content-gutter;
.column {
float: none;
width: auto;
border-left-width: @tiny-content-gutter;
}
}
}
/* ---[ Promo Lists ]-------------------------------------------------------- */
ul, ol {
&.promo-list {
list-style: none;
padding: 0;
li, .column {
margin-top: 2.4em;
padding: 0 25px 0 80px;
background: url("../images/badge-bullet.png") 25px 0 no-repeat;
}
h3, h4, p {
margin-top: 0;
}
}
}
@media all and (max-width: @small-screen-cutoff) {
ul, ol {
&.promo-list {
li {
padding-right: 35px;
}
}
}
}
/* ---[ Buttons ]------------------------------------------------------------ */
.button {
display: inline-block;
text-decoration: none;
text-shadow: 0px 1px 0px rgba(0,0,0,0.25);
letter-spacing: -0.25px;
background-color: #1D94E4;
text-align: center;
color: white;
border: none;
cursor: pointer;
padding: 0.25em 2em;
font: inherit;
-webkit-border-radius: 0.25em;
-moz-border-radius: 0.25em;
border-radius: 0.25em;
-webkit-box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, 0.1), inset 0px -2px 0px 0px rgba(0, 0, 0, 0.1);
-moz-box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, 0.1), inset 0px -2px 0px 0px rgba(0, 0, 0, 0.1);
box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, 0.1), inset 0px -2px 0px 0px rgba(0, 0, 0, 0.1);
// IE10
background-image: -ms-linear-gradient(top, #1D94E4 0%, #006DCA 100%);
// Mozilla Firefox
background-image: -moz-linear-gradient(top, #1D94E4 0%, #006DCA 100%);
// Opera
background-image: -o-linear-gradient(top, #1D94E4 0%, #006DCA 100%);
// Webkit (Safari/Chrome 10)
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #1D94E4), color-stop(1, #006DCA));
// Webkit (Chrome 11+)
background-image: -webkit-linear-gradient(top, #1D94E4 0%, #006DCA 100%);
// Proposed W3C Markup
background-image: linear-gradient(top, #1D94E4 0%, #006DCA 100%);
-webkit-transition-property: -moz-box-shadow, -webkit-box-shadow, box-shadow;
-webkit-transition-duration: 0.25s;
-webkit-transition-delay: 0s;
-moz-transition-property: -moz-box-shadow, -webkit-box-shadow, box-shadow;
-moz-transition-duration: 0.25s;
-moz-transition-delay: 0s;
transition-property: -moz-box-shadow, -webkit-box-shadow, box-shadow;
transition-duration: 0.25s;
transition-delay: 0s;
&.large {
padding: 0 2em;
font-size: 24px;
line-height: 48px;
font-style: italic;
}
&:hover,
&:focus {
-webkit-box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, 0.1), inset 0px -2px 0px 0px rgba(0, 0, 0, 0.2), inset 0px 12 px 24px 2px rgba(255,255,255,0.2);
-moz-box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, 0.1), inset 0px -2px 0px 0px rgba(0, 0, 0, 0.2), inset 0px 12px 24px 2px rgba(255,255,255,0.2);
box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, 0.1), inset 0px -2px 0px 0px rgba(0, 0, 0, 0.2), inset 0px 12px 24px 2px rgba(255,255,255,0.2);
-webkit-transition-property: -moz-box-shadow, -webkit-box-shadow, box-shadow;
-webkit-transition-duration: 0.25s;
-webkit-transition-delay: 0s;
-moz-transition-property: -moz-box-shadow, -webkit-box-shadow, box-shadow;
-moz-transition-duration: 0.25s;
-moz-transition-delay: 0s;
transition-property: -moz-box-shadow, -webkit-box-shadow, box-shadow;
transition-duration: 0.25s;
transition-delay: 0s;
}
&:active {
-webkit-box-shadow: inset 0px 2px 0px 0px rgba(0, 0, 0, 0.2), inset 0px 12px 24px 6px rgba(0,0,0,0.2), inset 0px 0px 2px 2px rgba(0,0,0,0.2);
-moz-box-shadow: inset 0px 2px 0px 0px rgba(0, 0, 0, 0.2), inset 0px 12px 24px 6px rgba(0,0,0,0.2), inset 0px 0px 2px 2px rgba(0,0,0,0.2);
box-shadow: inset 0px 2px 0px 0px rgba(0, 0, 0, 0.2), inset 0px 12px 24px 6px rgba(0,0,0,0.2), inset 0px 0px 2px 2px rgba(0,0,0,0.2);
-webkit-transition-property: -moz-box-shadow, -webkit-box-shadow, box-shadow;
-webkit-transition-duration: 0.25s;
-webkit-transition-delay: 0s;
-moz-transition-property: -moz-box-shadow, -webkit-box-shadow, box-shadow;
-moz-transition-duration: 0.25s;
-moz-transition-delay: 0s;
transition-property: -moz-box-shadow, -webkit-box-shadow, box-shadow;
transition-duration: 0.25s;
transition-delay: 0s;
}
&:link,
&:visited,
&:focus,
&:hover,
&:active {
color: #fff;
text-decoration: none;
}
&:after {
content: ' ';
}
}
/* ---[ Meta ]--------------------------------------------------------------- */
#meta {
background: #323538;
//.linear-gradient(~"left, rgba(255,255,255,0.015), rgba(255,255,255,0.015) 50%, rgba(255,255,255,0) 50%, rgba(255,255,255,0)");
background-size: 10px 10px;
background-position: 50% 50%;
padding-bottom: 15px;
min-height: 200px;
position: relative;
.inner-shadow (0, 5px, 10px, 0, 0.4);
.constrained {
max-width: 950px;
padding: 0;
overflow: hidden;
}
section {
color: white;
width: 25%;
float: left;
padding: 2em 10px;
font-size: .8em;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
position: relative;
}
form {
margin-top: 10px;
}
input, textarea {
width: 100%;
display: block;
margin-bottom: 10px;
}
textarea {
min-height: 60px;
font: inherit;
}
.twitter-follow-button {
margin-top: 10px;
}
.widget:nth-child(2) {
width: 30%;
}
.widget:nth-child(3) {
width: 20%;
}
h2 {
font-family: @normal-font;
color: #9C9C9C;
text-transform: uppercase;
font-size: 18px;
font-weight: bold;
margin: 0;
padding: 20px 0 0;
}
i {
position: absolute;
top: 2em;
left: 0;
height: 35px;
width: 100%;
background: url(../images/aside-icons.png) no-repeat 10px 100%;
&.tweet {
background-position: 10px -145px;
}
&.learn {
background-position: 10px -445px;
}
&.mozilla {
background-position: 10px -295px;
}
}
p, ul {
margin: 1em 0 0;
padding: 0;
list-style: none;
font-size: 14px;
}
li {
list-style-type: none;
border-top: solid 1px #656565;
padding: 0.5em 0 0;
margin: 0.5em 0 0;
&:first-child {
border-top: none;
padding: 0;
margin: 0;
}
}
}
@media all and (max-width: 800px) {
#meta {
padding-bottom: 2em;
padding-left: .5em;
padding-right: .5em;
section {
float: none;
width: auto !important;
max-width: 400px;
margin: 0 auto;
padding-bottom: 0;
}
}
#home, #footer .footnote a {
margin: 0 auto;
background-repeat: no-repeat;
background-size: 100%;
width: 300px;
height: 50px;
}
#footer .footnote a {
background-position: 0 -50px;
}
div[role=main] {
h1 {
font-size: 1.8em;
}
.column50 {
width: 100%;
padding: 0 !important;
}
ul.links {
text-align: center;
}
#news {
.blog li {
padding-left: 0;
small {
position: relative;
display: block;
}
}
}
nav {
text-align: center;
a {
width: 120px;
margin-bottom: 20px;
background-size: 60%;
font-size: 1.1em;
padding-top: 140px;
}
}
.video iframe {
width: 100%;
}
#news {
.blog, .tweets {
width: 70%;
float: none;
}
.blog {
margin-bottom: 30px;
}
}
ul.links {
margin: 0;
padding: 0;
li {
display: block;
width: 80%;
padding-right: 0;
padding-left: 0;
margin-left: 0;
margin-right: 0;
a {
width: 100%;
}
}
}
}
}
// clearfix
.clear:before,
.clear:after {
content: " "; /* 1 */
display: table; /* 2 */
}
.clear:after {
clear: both;
}
.clear {
*zoom: 1;
}

Просмотреть файл

@ -1,35 +0,0 @@
@font-face {
font-family: "Open Sans Light";
font-style: normal;
font-weight: normal;
src: url("../fonts/OpenSans-Light-webfont.eot?#iefix") format("embedded-opentype"),
url("../fonts/OpenSans-Light-webfont.woff") format("woff"),
url("../fonts/OpenSans-Light-webfont.ttf") format("truetype"),
url("../fonts/OpenSans-Light-webfont.svg#OpenSansLight") format("svg");
}
@font-face {
font-family: "Open Sans";
font-style: normal;
font-weight: normal;
src: url("../fonts/OpenSans-Regular-webfont.eot?#iefix") format("embedded-opentype"),
url("../fonts/OpenSans-Regular-webfont.woff") format("woff"),
url("../fonts/OpenSans-Regular-webfont.ttf") format("truetype"),
url("../fonts/OpenSans-Regular-webfont.svg#OpenSansRegular") format("svg");
}
@font-face {
font-family: "Open Sans";
font-style: normal;
font-weight: bold;
src: url("../fonts/OpenSans-Semibold-webfont.eot?#iefix") format("embedded-opentype"),
url("../fonts/OpenSans-Semibold-webfont.woff") format("woff"),
url("../fonts/OpenSans-Semibold-webfont.ttf") format("truetype"),
url("../fonts/OpenSans-Semibold-webfont.svg#OpenSansSemibold") format("svg");
}
@font-face {
font-family: "MetaWebPro-Black";
src: url(../fonts/MetaWebPro-Black.woff) format('woff');
}

Просмотреть файл

@ -1,52 +0,0 @@
.border-radius (@radius) {
-webkit-border-radius: @radius;
-moz-border-radius: @radius;
border-radius: @radius;
}
.box-sizing (@sizing) {
-webkit-box-sizing: @sizing;
-moz-box-sizing: @sizing;
box-sizing: @sizing;
}
.linear-gradient (@defn) {
background-image: -webkit-linear-gradient(@defn);
background-image: -moz-linear-gradient(@defn);
background-image: -ms-linear-gradient(@defn);
background-image: linear-gradient(@defn);
}
.drop-shadow (@x: 0, @y: 1px, @blur: 2px, @spread: 0, @alpha: 0.25) {
-webkit-box-shadow: @x @y @blur @spread rgba(0, 0, 0, @alpha);
-moz-box-shadow: @x @y @blur @spread rgba(0, 0, 0, @alpha);
box-shadow: @x @y @blur @spread rgba(0, 0, 0, @alpha);
}
.inner-shadow (@x: 0, @y: 1px, @blur: 2px, @spread: 0, @alpha: 0.25) {
-webkit-box-shadow: inset @x @y @blur @spread rgba(0, 0, 0, @alpha);
-moz-box-shadow: inset @x @y @blur @spread rgba(0, 0, 0, @alpha);
box-shadow: inset @x @y @blur @spread rgba(0, 0, 0, @alpha);
}
// the retina mixin. An example goes: .at2x(img/header@2x.png, 650px, 150px, top, left, no-repeat, scroll)
// Put the effective size, it goes width then height
// A modification of the retina.js less mixin - https://github.com/imulus/retinajs
@highdpi: ~"(-webkit-min-device-pixel-ratio: 1.5), (min--moz-device-pixel-ratio: 1.5), (-o-min-device-pixel-ratio: 3/2), (min-resolution: 1.5dppx)";
.at2x(@path, @w: auto, @h: auto, @xpos: 0, @ypos: 0, @repeat: no-repeat; @attachment: scroll;) {
background-image: url(@path);
background-position: @xpos @ypos;
background-repeat: @repeat;
background-attachment: @attachment;
@at2x_path: ~`"@{path}".split('.').slice(0, "@{path}".split('.').length - 1).join(".") + "@2x" + "." + "@{path}".split('.')["@{path}".split('.').length - 1]`;
@media @highdpi {
background-image: url(@at2x_path);
background-size: @w @h;
background-position: @xpos @ypos;
background-repeat: @repeat;
background-attachment: @attachment;
}
}

Просмотреть файл

@ -1,60 +0,0 @@
@import "_variables";
html,
body {
margin: 0;
padding: 0;
}
a,
label.link {
color: @ob-blue;
cursor: pointer;
text-decoration: underline;
}
h2,
h3,
h4 {
font-weight: normal;
margin: 2em 0 1em;
clear: both;
}
h2 {
font-size: 2.75em;
}
h3 {
font-size: 1.95em;
}
h4 {
font-size: 1.2em;
}
p {
font-size: 1em;
margin: 1.5em 0 0;
line-height: 1.5em;
}
input {
font: inherit;
}
@media all and (max-width: @small-screen-cutoff) {
h2 {
margin-top: 1em;
}
}
@media all and (max-width: @tiny-screen-cutoff) {
h2 {
font-size: 1.95em;
}
h3 {
font-size: 1.55em;
}
}

Просмотреть файл

@ -1,28 +0,0 @@
@main-background: #FFFFFF;
@header-background: #E6E7E8;
@footer-background: #000B19;
@panel-background: #213441;
@main-text-color: #221f20;
@ob-blue: #5FC9E5;
@ob-green: #B1CF37;
@ob-orange: #F48123;
@ob-navy: #073a5a;
@pale-blue: #5FC9E5;
@striped-border-size: 6px;
@content-width: 950px;
@content-gutter: 25px;
@tiny-content-gutter: 10px;
@full-content-width: @content-width + 2 * @content-gutter;
@half-content-width: @full-content-width / 2;
@small-screen-cutoff: 740px;
@tiny-screen-cutoff: 400px;
@light-font: "Open Sans Light", sans-serif;
@normal-font: "Open Sans", sans-serif;
@base-font-size: 18px;

Просмотреть файл

@ -1,706 +0,0 @@
// Target: ../css/$.css
@import "_variables";
@import "_mixins";
/* ===[ Fonts ]============================================================== */
@import "_fonts";
/* ===[ Reset ]============================================================== */
@import "_reset";
/* ===[ Core ]=============================================================== */
body {
background: #FFFFFF;
font-family: @light-font;
font-size: @base-font-size;
color: #221f20;
}
h4 {
color: @pale-blue;
}
.constrained {
max-width: @content-width;
padding: 0 @content-gutter;
margin: 0 auto;
}
@media all and (max-width: @tiny-screen-cutoff) {
.constrained {
padding: 0 @tiny-content-gutter;
}
}
.text-left {
text-align: left;
}
.text-center {
text-align: center;
}
.text-right {
text-align: right;
}
.text-hidden {
position: absolute;
left: -999em;
}
.intro {
font-size: 1.5em;
margin: -0.75em 0 0;
}
.tagline {
font-size: 1.5em;
margin: -2em 0 0;
font-style: italic;
}
.reduced {
font-size: 0.78em;
}
/* ===[ Header/Footer ]====================================================== */
#header {
background: @header-background;
border-top: solid 2px #FFF;
border-bottom: solid @striped-border-size @ob-blue;
position: relative;
a {
color: #073A5A;
}
}
#footer {
position: relative;
border-top: solid @striped-border-size @ob-blue;
padding: 20px 0;
a {
color: inherit;
}
}
#header, #footer {
.constrained {
overflow: hidden;
}
a {
text-decoration: none;
}
}
#header::before,
#header::after,
#footer::before,
#footer::after {
content: "";
height: @striped-border-size;
width: 33.33%;
position: absolute;
left: 33.33%;
background: @ob-green;
}
#header::before,
#header::after {
bottom: -@striped-border-size;
}
#footer::before,
#footer::after {
top: -@striped-border-size;
}
#header::after,
#footer::after {
left: 66.66%;
background: @ob-orange;
}
/* ---[ Etc. ]--------------------------------------------------------------- */
#tabzilla {
margin-top: -28px;
// Remove this lot later
/* float: right;
display: block;
background: rgba(255,255,255,0.75);
height: 44px;
width: 150px;
position: relative;
text-indent: -2000px;
overflow: hidden;
z-index: 999;
*/}
#header h1,
#footer .footnote,
#footer .support {
margin: 0;
padding: 28px 0;
}
#footer .support {
font-size: .8em;
width: 150px;
position: relative;
img {
position: absolute;
right: -100px;
top: 15px;
}
}
#home,
#footer .footnote a {
display: block;
width: 474px;
height: 80px;
background: url("../images/logo.png");
text-indent: -100%;
overflow: hidden;
margin-left: -14px;
}
/* ---[ Navigation ]--------------------------------------------------------- */
#header, #footer {
nav {
float: right;
margin-top: -45px;
&.secondary {
margin-top: -60px;
}
ul {
margin: -1em 0 0;
padding: 0;
list-style: none;
line-height: 1em;
}
li {
float: left;
margin-left: 1.5em;
}
}
}
#contact {
.error {
color: red;
margin-bottom: 15px;
}
}
#navigation {
margin-right: 20px;
}
@media all and (max-width: @full-content-width) {
#header, #footer {
nav {
float: none;
clear: both;
margin: 0;
&.secondary {
margin-top: -35px;
}
ul {
overflow: hidden;
text-align: center;
line-height: 1.5em;
padding-bottom: 1.5em;
}
li {
float: none;
display: inline-block;
margin: 0 0.75em;
}
}
}
}
/* ===[ Main Content ]======================================================= */
div[role=main]{
h1 {
font-size: 2.5em;
text-align: center;
color: #757575;
font-weight: normal;
}
h2 {
font-size: 2em;
font-weight: normal;
text-align: center;
margin-top: 0;
margin-bottom: 5px;
font-weight: normal;
padding-top: 140px;
}
p.subheading {
max-width: 450px;
text-align: center;
margin: 0 auto;
margin-bottom: 40px;
font-size: 1.4em;
}
nav {
max-width:700px;
margin: 0 auto;
a {
background: #efefef;
font-weight: normal;
padding-top: 140px;
padding-bottom: 10px;
.border-radius(7px);
width: 29%;
margin-right: 1%;
margin-left: 1%;
display: inline-block;
text-decoration: none;
text-align: center;
color: @main-text-color;
font-size: 32px;
-webkit-transition-property: all,
-webkit-transform;
-webkit-transition-duration: 0.2s, 0.2s;
-moz-transition-property: all, -moz-transform;
-moz-transition-duration: 0.2s, 0.2s;
-ms-transition-property: all, -ms-transform;
-ms-transition-duration: 0.2s, 0.2s;
-o-transition-property: all, -o-transform;
-o-transition-duration: 0.2s, 0.2s;
transition-property: all, transform;
transition-duration: 0.2s, 0.2s;
animation-timing-function:ease-out;
-moz-animation-timing-function:ease-out;
-webkit-animation-timing-function:ease-out;
-o-animation-timing-function:ease-out;
border: 5px solid rgba(0,0,0,0);
&:hover {
-webkit-transform: scale(1.05);
transform: scale(1.05);
-moz-transform: scale(1.05);
}
&.learn:hover {
border: 5px solid @ob-blue;
}
&.design:hover {
border: 5px solid @ob-green;
}
&.code:hover {
border: 5px solid @ob-orange;
}
span {
display: block;
width: 15px;
height: 7px;
margin: 20px auto;
}
&.learn {
.at2x('../images/icon_learn.png', 90px, 102px, center, 30px, no-repeat, scroll);
span {
.at2x('../images/icon_arrow_dn_blue.png', 15px, 7px, center, center, no-repeat, scroll);
}
}
&.design {
.at2x('../images/icon_design.png', 90px, 102px, center, 30px, no-repeat, scroll);
span {
.at2x('../images/icon_arrow_dn_green.png', 15px, 7px, center, center, no-repeat, scroll);
}
}
&.code {
.at2x('../images/icon_code.png', 90px, 102px, center, 30px, no-repeat, scroll);
span {
.at2x('../images/icon_arrow_dn_orange.png', 15px, 7px, center, center, no-repeat, scroll);
}
}
} // end a
} // end nav
#learn {
border-top: 6px solid @ob-blue;
h2 {
.at2x('../images/icon_learn.png', 90px, 102px, center, 30px, no-repeat, scroll);
}
ul.links a {
.at2x('../images/icon_bullet_blue.png', 25px, 28px, 8px, 7px, no-repeat, scroll);
span {
.at2x('../images/icon_arrow_right_blue.png', 6px, 12px, 0, 0, no-repeat, scroll);
}
&:hover {
border: 2px solid @ob-blue;
}
}
a.top {
.at2x('../images/top_blue.png', 52px, 25px, 0, 0, no-repeat, scroll);
}
}
#design {
border-top: 6px solid @ob-green;
h2 {
.at2x('../images/icon_design.png', 90px, 102px, center, 30px, no-repeat, scroll);
}
ul.links a {
.at2x('../images/icon_bullet_green.png', 25px, 28px, 8px, 7px, no-repeat, scroll);
span {
.at2x('../images/icon_arrow_right_green.png', 6px, 12px, 0, 0, no-repeat, scroll);
}
&:hover {
border: 2px solid @ob-green;
}
}
a.top {
.at2x('../images/top_green.png', 52px, 25px, 0, 0, no-repeat, scroll);
}
}
#code {
border-top: 6px solid @ob-orange;
h2 {
.at2x('../images/icon_code.png', 90px, 102px, center, 30px, no-repeat, scroll);
}
ul.links a {
.at2x('../images/icon_bullet_orange.png', 25px, 28px, 8px, 7px, no-repeat, scroll);
span {
.at2x('../images/icon_arrow_right_orange.png', 6px, 12px, 0, 0, no-repeat, scroll);
}
&:hover {
border: 2px solid @ob-orange;
}
}
a.top {
.at2x('../images/top_orange.png', 52px, 25px, 0, 0, no-repeat, scroll);
}
}
#news {
&:after{
clear: left;
}
border-top: 6px solid @ob-navy;
a {
color: @ob-navy;
}
h2 {
padding-top: 0;
}
h3 {
padding-top: 0;
margin-top: 0;
margin-bottom: 15px;
border-bottom: 1px solid black;
padding-bottom: 15px;
font-size: 1.6em;
}
a.top {
.at2x('../images/top_navy.png', 52px, 25px, 0, 0, no-repeat, scroll);
}
.blog {
-webkit-box-shadow: 3px 5px 15px 5px rgba(0,0, 0, 0.2);
-moz-box-shadow: 3px 5px 15px 5px rgba(0,0, 0, 0.2);
box-shadow: 3px 5px 15px 5px rgba(0, 0, 0, 0.2);
padding: 40px;
width: 500px;
float: left;
margin-right: 30px;
ul {
margin: 0;
padding: 0;
}
li {
list-style: none;
border-bottom: 1px solid black;
padding-bottom: 20px;
padding-top: 20px;
padding-left: 150px;
position: relative;
font-size: .9em;
a {
font-size: 1.1em;
}
&:first-child {
padding-top: 0;
small {
top: 0;
}
}
&:last-child{
border-bottom: 0;
padding-bottom: 0;
}
small {
position: absolute;
left: 0;
top: 20px;
font-weight: bold;
font-size: .9em;
width: 100px;
text-transform: uppercase;
padding-right: 20px;
}
}
}
.tweets {
-webkit-box-shadow: 3px 5px 15px 5px rgba(0,0, 0, 0.2);
-moz-box-shadow: 3px 5px 15px 5px rgba(0,0, 0, 0.2);
box-shadow: 3px 5px 15px 5px rgba(0, 0, 0, 0.2);
padding: 40px;
width: 250px;
float: left;
ul {
margin: 0;
padding: 0;
}
li {
list-style: none;
border-bottom: 1px solid black;
padding-bottom: 20px;
padding-top: 20px;
font-size: .9em;
&:first-child {
padding-top: 0;
small {
top: 0;
}
}
&:last-child{
border-bottom: 0;
padding-bottom: 0;
}
}
}
}
section {
background: #FFFFFF;
padding: 50px 0 70px 0;
position: relative;
a.top {
position: absolute;
display: block;
width: 104px;
height: 50px;
top: 0;
right: 0;
}
}
section:nth-child(even) {
background-image: url(../images/fabric_1.png);
.at2x('../images/fabric_1.png', 400px, 400px, top, left, repeat, scroll);
}
ul.links {
max-width: 650px;
margin: 0 auto;
margin-bottom: 30px;
li {
list-style: none;
display: inline-block;
margin: 0 4px 15px 3px;
padding: 0;
width: 300px;
font-size: .9em;
a {
width: 240px;
border: 2px solid rgba(0,0,0,0);
text-align: left;
display: block;
color: @main-text-color;
background: rgba(0,0,0,0.1);
text-decoration: none;
padding: 10px 15px 10px 40px;
position: relative;
-webkit-transition-property: all,
-webkit-transform;
-webkit-transition-duration: 0.2s, 0.2s;
-moz-transition-property: all, -moz-transform;
-moz-transition-duration: 0.2s, 0.2s;
-ms-transition-property: all, -ms-transform;
-ms-transition-duration: 0.2s, 0.2s;
-o-transition-property: all, -o-transform;
-o-transition-duration: 0.2s, 0.2s;
transition-property: all, transform;
transition-duration: 0.2s, 0.2s;
animation-timing-function:ease-out;
-moz-animation-timing-function:ease-out;
-webkit-animation-timing-function:ease-out;
-o-animation-timing-function:ease-out;
.border-radius(5px);
&:hover{
-webkit-transform: scale(1.02);
transform: scale(1.02);
-moz-transform: scale(1.02);
}
span {
display: block;
width: 6px;
height: 12px;
position: absolute;
right: 10px;
top: 16px;
}
}
}
}
.video {
margin: 0 auto;
text-align: center;
}
.column50 {
width: 46%;
display: inline-block;
&:nth-child(even) {
padding-left: 3%;
}
&:nth-child(odd) {
padding-right: 3%;
}
}
} // end div role main
.embellished #content {
background-image: url("../images/content-background.png");
border-bottom: solid 40px transparent;
padding-bottom: 275px;
}
.narrow #content .constrained {
max-width: 34em;
}
/* ===[ Footer ]======================================================= */
#footer {
background: @footer-background;
color: white;
.footnote a {
background-position: 0 -80px;
}
.support {
height: 80px;
line-height: 20px;
padding-top: 0;
img {
margin-top: -35px;
height: 80px;
vertical-align: middle;
display: inline-block;
margin-left: 1em;
}
}
section {
background: none;
}
}
/* ===[ Components ]========================================================= */
@import "_components";

Просмотреть файл

@ -1,83 +0,0 @@
<?php
/*
* Template Name: QuickStart
*/
if (!IS_AJAX && $page > 1 && strpos(@$_SERVER['HTTP_REFERER'], get_permalink()) !== 0) {
// Send people to the start of the quiz, if they weren't refered internally to this page
header('Location: '.$base);
exit();
}
function quickstart_dependencies () {
wp_enqueue_style('badges-101');
}
add_action('wp_enqueue_scripts', 'quickstart_dependencies');
function add_body_classes ($classes) {
$classes[] = 'narrow';
return $classes;
}
add_filter('body_class','add_body_classes');
global $post, $page;
function question_formatting ($matches) {
$buttons = array();
$body = $matches[3];
preg_match_all('#(<(\w+) [^>]*class="([^"]*)answer([^"]*)"[^>]*>)(.*?)(</\2>)#', $body, $options, PREG_SET_ORDER);
foreach ($options as $option) {
$classes = array(preg_replace('#[^\w]#', '_', trim(strToLower($option[5]))), 'button');
if (strpos($option[3].' '.$option[4], 'correct') > -1) {
$classes[] = 'correct';
}
$buttons[] = '<a class="'.implode(' ', $classes).'">'.$option[5].'</a>';
}
return implode('', array(
$matches[1],
$body,
'<p class="options">' . implode(' ', $buttons) . '</p>',
$matches[4]
));
}
get_header();
if (have_posts()) {
while (have_posts()) {
the_post();
if (IS_AJAX) {
echo '<div id="badges-101" class="inline">';
$question_search_re = 'class="[^"]*question[^"]*"';
$question_re = '#(<(\w+) [^>]*'.$question_search_re.'[^>]*>)(.*?)(</\2>)#s';
echo '<div id="slides" role="main">';
echo '<div class="slides_container">';
$pages = explode('<!--nextpage-->', $post->post_content);
foreach ($pages as $index => $page) {
$classes = array('slide');
if (preg_match('#'.$question_search_re.'#', $page)) {
$classes[] = 'quiz';
$page = preg_replace_callback($question_re, 'question_formatting', $page);
}
echo '<div id="quickstart-page-'.($index+1).'" class="'.implode(' ', $classes).'">';
echo preg_replace('/(<a [^>]*class=")(button[^"]*")/', '$1 next $2', $page);
echo '</div>';
}
echo '</div>';
echo '</div>';
echo '</div>';
} else {
get_template_part('templates/content', 'quickstart');
}
}
}
get_footer();

Просмотреть файл

@ -1,13 +0,0 @@
/*
Theme Name: Open Badges Community
Author: Mozilla Foundation & Ocupop
Author URI: http://mozilla.org/foundation
Version: 1.0
Description: TO DO
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: openbadges
This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
*/

Просмотреть файл

@ -1,26 +0,0 @@
<?php
/**
* Template Name: Open Badges Community Splash
*/
get_header();
if (have_posts()) {
while (have_posts()) {
the_post();
the_content();
}
}?>
<script type="text/javascript">
$(document).ready(function(){
// if url starts with a hash, animate scroll
$('a[href*=#]').click(function(){
$('html, body').animate({
scrollTop: $( $(this).attr('href') ).offset().top
}, 500);
return false;
})
});
</script>
<?php get_footer();?>

Просмотреть файл

@ -1,3 +0,0 @@
<div id="badges-101">
<?php the_content(); ?>
</div>

Просмотреть файл

@ -1,13 +0,0 @@
<article>
<?php
$title_alignment = get_post_meta($post->ID, 'title_alignment', true);
if (empty($title_alignment)) {
$title_class = '';
} else {
$title_class = ' class="text-'.$title_alignment.'"';
}
echo '<h2'.$title_class.'>'.get_the_title().'</h2>';
the_content();
?>
</article>

Просмотреть файл

@ -3,19 +3,19 @@
font-family: "Open Sans Light";
font-style: normal;
font-weight: normal;
src: url("../fonts/OpenSans-Light-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/OpenSans-Light-webfont.woff") format("woff"), url("../fonts/OpenSans-Light-webfont.ttf") format("truetype"), url("../fonts/OpenSans-Light-webfont.svg#OpenSansLight") format("svg");
src: url("../fonts/OpenSans-Light-webfont.eot?") format("embedded-opentype"), url("../fonts/OpenSans-Light-webfont.woff") format("woff"), url("../fonts/OpenSans-Light-webfont.ttf") format("truetype"), url("../fonts/OpenSans-Light-webfont.svg") format("svg");
}
@font-face {
font-family: "Open Sans";
font-style: normal;
font-weight: normal;
src: url("../fonts/OpenSans-Regular-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/OpenSans-Regular-webfont.woff") format("woff"), url("../fonts/OpenSans-Regular-webfont.ttf") format("truetype"), url("../fonts/OpenSans-Regular-webfont.svg#OpenSansRegular") format("svg");
src: url("../fonts/OpenSans-Regular-webfont.eot?") format("embedded-opentype"), url("../fonts/OpenSans-Regular-webfont.woff") format("woff"), url("../fonts/OpenSans-Regular-webfont.ttf") format("truetype"), url("../fonts/OpenSans-Regular-webfont.svg") format("svg");
}
@font-face {
font-family: "Open Sans";
font-style: normal;
font-weight: bold;
src: url("../fonts/OpenSans-Semibold-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/OpenSans-Semibold-webfont.woff") format("woff"), url("../fonts/OpenSans-Semibold-webfont.ttf") format("truetype"), url("../fonts/OpenSans-Semibold-webfont.svg#OpenSansSemibold") format("svg");
src: url("../fonts/OpenSans-Semibold-webfont.eot?") format("embedded-opentype"), url("../fonts/OpenSans-Semibold-webfont.woff") format("woff"), url("../fonts/OpenSans-Semibold-webfont.ttf") format("truetype"), url("../fonts/OpenSans-Semibold-webfont.svg") format("svg");
}
@font-face {
font-family: "MetaWebPro-Black";

Просмотреть файл

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 24 KiB

После

Ширина:  |  Высота:  |  Размер: 24 KiB

Просмотреть файл

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 25 KiB

После

Ширина:  |  Высота:  |  Размер: 25 KiB

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 25 KiB

После

Ширина:  |  Высота:  |  Размер: 25 KiB

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 9.0 KiB

После

Ширина:  |  Высота:  |  Размер: 9.0 KiB

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 802 B

После

Ширина:  |  Высота:  |  Размер: 802 B

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 13 KiB

После

Ширина:  |  Высота:  |  Размер: 13 KiB

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 100 KiB

После

Ширина:  |  Высота:  |  Размер: 100 KiB

Просмотреть файл

@ -0,0 +1,216 @@
<!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">
<title>Open Badges Community</title>
<!--[if lt IE 9]><script src="./media/js/html5shiv.js"></script><![endif]-->
<link rel="stylesheet" id="core-styles-css" href="../css/core.css?ver=1.1" type="text/css" media="all">
<link rel="stylesheet" id="tabzilla-styles-css" href="http://mozorg.cdn.mozilla.net/media/css/tabzilla-min.css?ver=1.0" type="text/css" media="all">
<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js?ver=1.9.1'></script>
<link rel='canonical' href='../../../../../index.html' />
<style type="text/css">.recentcomments a{display:inline !important;padding:0 !important;margin:0 !important;}</style>
</head>
<body class="home page page-id-8 page-template page-template-template-splash-php">
<header id="header">
<div class="constrained">
<h1><a href="http://www.mozilla.org/" id="tabzilla">Mozilla</a> <a href="../../../../../index.html" id="home">Open Badges Community</a></h1>
<nav id="navigation">
<ul id="menu-splash-menu" class="menu"><li id="menu-item-10" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10"><a href="fabric_1@2x.png#learn">Learn</a></li>
<li id="menu-item-11" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-11"><a href="fabric_1@2x.png#design">Design</a></li>
<li id="menu-item-12" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-12"><a href="fabric_1@2x.png#code">Code</a></li>
<li id="menu-item-13" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-13"><a href="fabric_1@2x.png#news">News</a></li>
<li id="menu-item-14" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-14"><a href="fabric_1@2x.png#meta">Contact</a></li>
</ul> </nav>
</div> <!-- .constrained -->
</header> <!-- #header -->
<div id="top" role="main"><section class="content" id="main">
<div class="constrained">
<h1>Recognize &amp; be recognized.</h1>
<p class="subheading">Help shape the future of Open Badges.</p>
<nav class="splashnav"><a class="learn scroll" href="fabric_1@2x.png#learn">Learn</a>
<a class="design scroll" href="fabric_1@2x.png#design">Design</a>
<a class="code scroll" href="fabric_1@2x.png#code">Code</a></nav></div>
<!-- .constrained -->
</section><!-- #content -->
<section class="content" id="learn">
<div class="constrained">
<h2>Learn</h2>
<p class="subheading">Curious about recognition of skills &amp; interests?
You&#8217;re in the right place. Welcome.</p>
<ul class="links">
<li><a href="http://openbadges.org/">Learn more about Open Badges</a></li>
<li><a href="https://www.dropbox.com/s/8a8octnr6k4h22u/Open%20Badges%20one%20sheet.pdf">Share the badges one sheet</a></li>
<li><a href="http://bit.ly/OpenBadgesCommunityCalls">Join a weekly community call</a><i> </i></li>
<li><a href="https://twitter.com/OpenBadges">Join the #OpenBadges chat</a></li>
</ul>
<div class="events">
<div class="column50">At Mozilla, we believe that learning happens over the course of a lifetime and frequently beyond the classroom. With the support of the MacArthur Foundation, we&#8217;ve built the Open Badges Infrastructure, which makes it possible for badges issued by different companies and communities to be interoperable and shareable across the web.</div>
<div class="column50">People and organizations with content to share align their badges with the open standard, which makes it possible for someone who sees Open Badges to discover the criteria and evidence behind them. Learners around the world are using these portable badges to realize increased learning and professional opportunities.</div>
</div>
<div class="video" style="margin-top: 30px;"><iframe src="http://www.youtube.com/embed/Xc4xDgNbl6Y?rel=0" height="315" width="560" allowfullscreen="" frameborder="0"></iframe></div>
<!-- .video -->
<!-- .events -->
<!-- Embedded Google Groups - openbadges -->
<iframe style="max-width: 100%; margin-top: 30px;" src="http://groups.google.com/forum/embed/?place=forum/openbadges&amp;showtabs=false&amp;showsearch=false&amp;hidesubject=true&amp;hideforumtitle=true&amp;fragments=false&amp;theme=default&amp;parenturl=http%3A%2F%2Fcommunity.openbadges.org" height="600" width="950" frameborder="0" scrolling="0"></iframe>
</div>
<!-- .constrained -->
</section><!-- #content -->
<section class="content" id="design">
<div class="constrained">
<h2>Design</h2>
<p class="subheading">Discover &amp; share information about
badge system creation.</p>
<ul class="links">
<li><a href="http://bit.ly/ob-research">Research &amp; system design calls</a></li>
<li><a href="https://docs.google.com/spreadsheet/ccc?key=0AnUOR-0CBMsTdE1hWnJnYXlNdnktVUlhWWdjVzFVR0E&amp;usp=sharing">Plan badge system design</a></li>
<li><a href="http://dougbelshaw.com/blog/2013/05/08/answering-your-questions-about-open-badges/?utm_source=feedburner&amp;utm_medium=email&amp;utm_campaign=Feed%3A+dougbelshaw+%28dougbelshaw.com%2Fblog%29">Read frequently asked questions</a></li>
<li><a href="http://bitly.com/platform-chart">Discover badge issuing tools</a></li>
</ul>
<div class="column50">Hundreds of organizations and individuals have <a href="http://openbadges.org/participating-issuers/">designed and issued Open Badges</a>. They include educators, multinational companies, non-profits, industry alliances, and people interested in professional development.</div>
<div class="column50">The curriculum that their badges represent include a huge variety of skills, competencies, and interests. You too can create badges for your community members and try the visual design exercises in this video. And stay tuned for a design toolkit launching soon!</div>
<div class="column50"></div>
<div class="video"><iframe src="http://www.youtube.com/embed/AyM6srzmepQ" height="315" width="560" allowfullscreen="" frameborder="0"></iframe></div>
<!-- .video -->
</div>
<!-- .constrained -->
</section><!-- #content -->
<section class="content" id="code">
<div class="constrained">
<h2>Code</h2>
<p class="subheading">Access development documentation
&amp; contribute to Open Badges.</p>
<ul class="links">
<li><a href="http://bit.ly/OpenBadgesDevGroup">Join developer conversations</a></li>
<li><a href="https://github.com/mozilla/openbadges">Explore the Github repository</a></li>
<li><a href="https://github.com/mozilla/openbadges-specification/blob/master/Assertion/latest.md">See the metadata specification</a></li>
<li><a href="https://github.com/mozilla/openbadges#mozilla-open-badges">Browse README</a></li>
<li><a href="https://github.com/mozilla/openbadges/blob/development/docs/apis/issuer_api.md">Access the Issuer API</a></li>
<li><a href="https://github.com/mozilla/openbadges/wiki/Displayer-API">Use the Displayer API</a></li>
</ul>
<!-- .column50 -->
<!-- Embedded Google Groups - openbadges-dev -->
<iframe style="max-width: 100%;" src="http://groups.google.com/forum/embed/?place=forum/openbadges-dev&amp;showtabs=false&amp;showsearch=false&amp;hidesubject=true&amp;hideforumtitle=true&amp;fragments=false&amp;theme=default&amp;parenturl=http%3A%2F%2Fcommunity.openbadges.org" height="600" width="950" frameborder="0" scrolling="0"></iframe>
</div>
<!-- .constrained -->
</section><!-- #content -->
<section class="content" id="news">
<div class="constrained">
<h2>News</h2>
<p class="subheading">Get up to speed on the latest in the world of alternative accreditation.</p>
<div class="clear">
<div class="blog">
<h3>Blog</h3>
<ul><!--via MagpieRSS with RSSImport--><li><a href="http://openbadges.tumblr.com/post/138460193599" title="Badge Alliance">Badge Alliance</a> <small>February 1, 2016</small><br />Badge Alliance: The official publications of the Badge Alliance are switching platforms, over to this collection on Medium. The Tumblr you are reading will remain up for archival purposes. Thanks for &#8230; </li><li><a href="http://openbadges.tumblr.com/post/125814781474" title="Now the quick badger jumps over the lazy fox">Now the quick badger jumps over the lazy fox</a> <small>August 4, 2015</small><br />An issuer organization decides to start a badge program, so its staff members design a badge system to go with the program&rsquo;s content delivery and assessment practices. Then they run badge softwa &#8230; </li><li><a href="http://openbadges.tumblr.com/post/124109252519" title="Badge Alliance FAQ - July 2015">Badge Alliance FAQ &#8211; July 2015</a> <small>July 15, 2015</small><br />Theres so much we want to say &ndash; we cant put it all into an over-long announcement. Here is a growing list of some of the top questions:Whats happening to the Badge Alliance?The Badge Alliance &#8230; </li><li><a href="http://openbadges.tumblr.com/post/123556754619" title="The Badge Alliance in 2015">The Badge Alliance in 2015</a> <small>July 8, 2015</small><br />2014 was a great building year for the badges ecosystem and the Badge Alliance (BA) network, and 2015 has been an exciting year so far. Rooms are overflowing for badging-related presentations at confe &#8230; </li><li><a href="http://openbadges.tumblr.com/post/117850928609" title="Open Badges spec v1.1 Release">Open Badges spec v1.1 Release</a> <small>May 1, 2015</small><br />Open Badges spec v1.1 Release: bananigans: Im excited to share with you all the work weve been devoting ourselves to in the Badge Alliance Standard Working Group over the past several months. We are &#8230; </li><li><a href="http://openbadges.tumblr.com/post/116992694359" title="New IMS Digital Credentialing Initiative">New IMS Digital Credentialing Initiative</a> <small>April 21, 2015</small><br />Today is an exciting day for the open badges community! IMS Global, the leading education technology standards body, announced that they are kicking off a new IMS Digital Credentialing initiative.In c &#8230; </li><li><a href="http://openbadges.tumblr.com/post/116394699529" title="Open Badges Community Call, April 8, 2015">Open Badges Community Call, April 8, 2015</a> <small>April 14, 2015</small><br />Agenda: http://bit.ly/CC15_April8Audio: http://bit.ly/CC15_April8audioThis week we dived into a discussion on soft skills and workforce development, led by those who kickstarted a conversation last we &#8230; </li><li><a href="http://openbadges.tumblr.com/post/115135719509" title="An Open Can of Tin Badges - Tin Can API">An Open Can of Tin Badges &#8211; Tin Can API</a> <small>March 31, 2015</small><br />An Open Can of Tin Badges &#8211; Tin Can API: People have been talking about a crossover between Open Badges and Tin Can (xAPI) since 2012. Blogs have been written, ideas shared and theres even a Twitter &#8230; </li></ul>
</div>
<!-- .blog -->
<div class="tweets">
<h3>Tweets</h3>
<a class="twitter-timeline" href="https://twitter.com/OpenBadges" data-tweet-limit="10" data-widget-id="332634081026248706" data-border-color="#FFFFFF" data-link-color="#073a5a">Tweets by @OpenBadges</a>
<script type="text/javascript">// <![CDATA[
!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");
// ]]&gt;</script>
</div>
<!-- .tweets -->
</div>
</div>
<!-- .constrained -->
</section><!-- #content -->
</div>
<!-- end role main -->
<script type="text/javascript">
$(document).ready(function(){
// if url starts with a hash, animate scroll
$('a[href*=#]').click(function(){
$('html, body').animate({
scrollTop: $( $(this).attr('href') ).offset().top
}, 500);
return false;
})
});
</script>
<aside id="meta">
<div class="constrained">
<section id="text-2" class="widget widget_text"> <div class="textwidget"><h2>Questions?</h2>
<a href="mailto:badges@mozillafoundation.org">badges@mozillafoundation.org</a>
<h2>Learn More</h2>
<ul><li>
<a href="http://openbadges.org">Open Badges Website</a></li>
<li><a href="https://wiki.mozilla.org/Badges">Open Badges Wiki</a></li>
<li><a href="https://github.com/mozilla/openbadges">GitHub Repository</a></li>
</ul></div>
</section><section id="text-3" class="widget widget_text"><h2 class="widget-title">Contact &amp; Contribute</h2> <div class="textwidget"><form id="contact" action="javascript:void(0)">
<div class="error"></div>
<input id="name" type="text" placeholder="Name"/>
<input id="email" type="email" placeholder="Email"/>
<textarea id="message" placeholder="Message"></textarea>
<button type="submit">Submit</button>
</form></div>
</section><section id="text-4" class="widget widget_text"><h2 class="widget-title">Follow &amp; Tweet</h2> <div class="textwidget"><a href="https://twitter.com/openbadges" class="twitter-follow-button" data-show-count="false">Follow @openbadges</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script></div>
</section><section id="text-5" class="widget widget_text"><h2 class="widget-title">Connect with Us</h2> <div class="textwidget"><ul>
<li> Learn about <a href=https://www.mozilla.org/>Mozilla's Mission</a></li>
<li>Join <a href=https://www.mozilla.org/en-US/contribute/>Mozilla</a></li>
<li> Like us on <a href=https://www.facebook.com/MozillaOpenBadges>Facebook</a></li>
</ul></div>
</section> </div> <!-- .constrained -->
</aside>
<footer id="footer">
<div class="constrained">
<section>
<p class="footnote"><a href="../../../../../index.html">Mozilla Open Badges Community</a></p>
<nav class="primary">
<ul id="menu-splash-menu-1" class="menu"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10"><a href="fabric_1@2x.png#learn">Learn</a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-11"><a href="fabric_1@2x.png#design">Design</a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-12"><a href="fabric_1@2x.png#code">Code</a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-13"><a href="fabric_1@2x.png#news">News</a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-14"><a href="fabric_1@2x.png#meta">Contact</a></li>
</ul> </nav>
</section>
<section>
<p class="support">
With support and collaboration from
<a href="http://www.macfound.org"><img alt="the MacArthur Foundation" src="partners/MacArthur_logo.png"></a>
</p>
<nav class="secondary">
</nav>
</section>
</div>
</footer>
<script type='text/javascript' src='http://www.mozilla.org/tabzilla/media/js/tabzilla.js?ver=3.5.1'></script>
<script type='text/javascript' src='../js/global.js?ver=3.5.1'></script>
</body>
</html>

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 1.1 KiB

После

Ширина:  |  Высота:  |  Размер: 1.1 KiB

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 1.3 KiB

После

Ширина:  |  Высота:  |  Размер: 1.3 KiB

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 1.1 KiB

После

Ширина:  |  Высота:  |  Размер: 1.1 KiB

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 1.3 KiB

После

Ширина:  |  Высота:  |  Размер: 1.3 KiB

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 1.1 KiB

После

Ширина:  |  Высота:  |  Размер: 1.1 KiB

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 1.3 KiB

После

Ширина:  |  Высота:  |  Размер: 1.3 KiB

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 1.0 KiB

После

Ширина:  |  Высота:  |  Размер: 1.0 KiB

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 1.1 KiB

После

Ширина:  |  Высота:  |  Размер: 1.1 KiB

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 1.0 KiB

После

Ширина:  |  Высота:  |  Размер: 1.0 KiB

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 1.1 KiB

После

Ширина:  |  Высота:  |  Размер: 1.1 KiB

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 1.0 KiB

После

Ширина:  |  Высота:  |  Размер: 1.0 KiB

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 1.1 KiB

После

Ширина:  |  Высота:  |  Размер: 1.1 KiB

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 1.8 KiB

После

Ширина:  |  Высота:  |  Размер: 1.8 KiB

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 2.6 KiB

После

Ширина:  |  Высота:  |  Размер: 2.6 KiB

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 1.8 KiB

После

Ширина:  |  Высота:  |  Размер: 1.8 KiB

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 2.7 KiB

После

Ширина:  |  Высота:  |  Размер: 2.7 KiB

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 1.7 KiB

После

Ширина:  |  Высота:  |  Размер: 1.7 KiB

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 2.6 KiB

После

Ширина:  |  Высота:  |  Размер: 2.6 KiB

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 3.8 KiB

После

Ширина:  |  Высота:  |  Размер: 3.8 KiB

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 3.4 KiB

После

Ширина:  |  Высота:  |  Размер: 3.4 KiB

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 4.2 KiB

После

Ширина:  |  Высота:  |  Размер: 4.2 KiB

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 4.2 KiB

После

Ширина:  |  Высота:  |  Размер: 4.2 KiB

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 3.9 KiB

После

Ширина:  |  Высота:  |  Размер: 3.9 KiB

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 3.5 KiB

После

Ширина:  |  Высота:  |  Размер: 3.5 KiB

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 18 KiB

После

Ширина:  |  Высота:  |  Размер: 18 KiB

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 2.0 KiB

После

Ширина:  |  Высота:  |  Размер: 2.0 KiB

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 1.7 KiB

После

Ширина:  |  Высота:  |  Размер: 1.7 KiB

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 749 B

После

Ширина:  |  Высота:  |  Размер: 749 B

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 1.7 KiB

После

Ширина:  |  Высота:  |  Размер: 1.7 KiB

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 731 B

После

Ширина:  |  Высота:  |  Размер: 731 B

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 1.7 KiB

После

Ширина:  |  Высота:  |  Размер: 1.7 KiB

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 777 B

После

Ширина:  |  Высота:  |  Размер: 777 B

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 1.6 KiB

После

Ширина:  |  Высота:  |  Размер: 1.6 KiB

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 699 B

После

Ширина:  |  Высота:  |  Размер: 699 B