Commit 4a01a7de by Jun Matsushita

Switched to metalsmith and sigh. Included subrepos

parent 83f22c8f
Pipeline #13 failed with stage
in 0 seconds
......@@ -30,9 +30,10 @@ redcarpet:
- fenced_code_blocks
- lax_spacing
- smart
github:
code:
current_branch: master
repository_url: 'https://code.iilab.org/openintegrity/openintegrity.org'
base: 'https://code.iilab.org/openintegrity/'
repo: 'openintegrity.org'
gems:
- jekyll-sitemap
- jekyll-gist
......
<head>
<link href="http://gmpg.org/xfn/11" rel="profile">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<!-- Enable responsiveness on mobile devices-->
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1">
<title>
{% if page.title == "Home" %}
{{ site.title }} &middot; {{ site.tagline }}
{% else %}
{{ page.title }} &middot; {{ site.title }}
{% endif %}
</title>
<!-- CSS -->
<link rel="stylesheet" href="{{ site.baseurl }}/public/css/poole.css">
<link rel="stylesheet" href="{{ site.baseurl }}/public/css/syntax.css">
<link rel="stylesheet" href="{{ site.baseurl }}/public/css/hyde.css">
<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=PT+Sans:400,400italic,700|Abril+Fatface">
<!-- Icons -->
<!--
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="{{ site.baseurl }}/public/apple-touch-icon-144-precomposed.png">
<link rel="shortcut icon" href="{{ site.baseurl }}/public/favicon.ico"> -->
<link rel="icon" type="image/svg+xml" href="images/icon.svg">
<!-- RSS -->
<link rel="alternate" type="application/rss+xml" title="RSS" href="{{ site.baseurl }}/atom.xml">
</head>
<div class="sidebar">
<div class="container sidebar-sticky">
<div class="sidebar-about">
<h1>
<a href="{{ site.baseurl }}">
{{ site.title }}
</a>
</h1>
<p class="lead">{{ site.description }}</p>
</div>
<nav class="sidebar-nav">
<a class="sidebar-nav-item{% if page.url == site.baseurl %} active{% endif %}" href="{{ site.baseurl }}/">Home</a>
{% comment %}
The code below dynamically generates a sidebar nav of pages with
`layout: page` in the front-matter. See readme for usage.
{% endcomment %}
{% assign pages_list = site.pages %}
{% for node in pages_list %}
{% if node.title != null %}
{% if node.layout == "page" %}
<a class="sidebar-nav-item{% if page.url == node.url %} active{% endif %}" href="{{ site.baseurl }}{{ node.url }}">{{ node.title }}</a>
{% endif %}
{% endif %}
{% endfor %}
<a class="sidebar-nav-item" href="{{ site.github.repository_url }}">GitHub project</a>
</nav>
<p><small>&copy; {{ site.time | date: '%Y' }} <a href="https://iilab.org">iilab</a></small> <a rel="license" href="http://creativecommons.org/licenses/by/4.0/"><img alt="Creative Commons License" style="border-width:0; display:inline; margin:-2px 0;" src="https://i.creativecommons.org/l/by/4.0/80x15.png" /></a><br><small>Theme <a href="https://github.com/poole/hyde">Hyde</a> by <a href="https://github.com/mdo">mdo</a></small></p>
</div>
</div>
<!DOCTYPE html>
<html lang="en-us">
{% include head.html %}
<body>
{% include sidebar.html %}
<div class="content container">
<div>
{% assign crumbs = page.url | remove:'/index.html' | split: '/' %}
<small>
<div style="float:left"><a href="{{ site.baseurl }}/">Home</a>
{% for crumb in crumbs offset: 1 %}
{% if forloop.last %}
/ {{ crumb | replace:'-',' ' | remove:'.html' | capitalize }}
{% else %}
/ <a href="{{ site.baseurl }}{% assign crumb_limit = forloop.index | plus: 1 %}{% for crumb in crumbs limit: crumb_limit %}{{ crumb | append: '/' }}{% endfor %}">{{ crumb | replace:'-',' ' | remove:'.html' | capitalize }}</a>
{% endif %}
{% endfor %}
</div>
<div style="float:right"><em><a href="{{site.github.repository_url}}/edit/{{site.github.current_branch}}/{{page.path}}">Edit this page</a> - <a href="{{site.github.repository_url}}/commits/{{site.github.current_branch}}/{{page.path}}">View page history</a> - <a href="{{site.github.repository_url}}/tree/{{site.github.current_branch}}/{{page.path}}">View page source</a></em>
</div>
</small>
</div>
<div class="page" style="clear:both">
<h1 class="page-title">{{ page.title }}</h1>
{{ content }}
</div>
</div>
</body>
</html>
---
layout: default
---
<div class="post">
<span class="post-date">{{ page.date | date_to_string }}</span>
{{ content }}
</div>
<div class="related">
<h2>Related Posts</h2>
<ul class="related-posts">
{% for post in site.related_posts limit:3 %}
<li>
<h3>
<a href="{{ site.baseurl }}{{ post.url }}">
{{ post.title }}
<small>{{ post.date | date_to_string }}</small>
</a>
</h3>
</li>
{% endfor %}
</ul>
</div>
---
layout: post
title: Rebooting the Open Integrity Index
---
If you've been following the Open Integrity, you will have noticed that after our initial efforts in 2013, the project has been on hold. During this first phase, we developed the foundations for our criteria and setup a beta platform but it took us a few years to interest funders to develop the next step of the project with us.
In this initial phase we have set the tone of the initiative.
- **We care about the impact of technology on all users** and particularly those who depend on it to enjoy their fundamental rights.
- **We take a holistic approach to understanding the impact of technology** which includes the technical features tools make available, but also their usability and the governance and policies of the tool makers.
- **We believe that security by transparency** is the way to go, yet we know that there are also best practices to follow with closed source software that make a difference for users.
**Open Integrity Initiative** has also assembled a list of a hundred possible metrics related to various aspects of software development, including governance, systems, architecture, build and user experience. In this [new phase](about#funding) we will shift our focus towards the **gathering of measurement and claims** and the **development of a knowledge framework** about the adoption of best practices that support the security and privacy of software.
Data about the adoption of security and privacy best practices are often difficult to find and rarely easy for users to understand. How can the adoption of these practices be measured, and what is the most useful structure for such a broad range of measurements? How can we answer **reliably and consistently** questions such as:
- Which tools are open-source?
- Which tools provide end-to-end encryption?
- Which implement forward secrecy or support two-factor authentication?
- Which have security features that are usable without prior expertise or training?
- Which can be downloaded securely and verified to be authentic?
This is what we're setting out to answer. In the next 6 months we'll focus on [developing partnership](measurement#partners) in order to develop metrics that will be available for an audience of professionals (software engineers, trainers, advocacy organisations) helping identify best practices and promote tools that adopt them.
---
layout: post
title: Impact Workshop at the IFF in Valencia
---
We had a great group of participants for our Impact Workshop at the Internet Freedom Festival in Valencia.
Here are the slides from the presentation:
<iframe src="https://docs.google.com/presentation/d/1sDApfSQ-1EnJbRcfJPxy0JBGjhkM06bjrkDuld7cdko/embed?start=false&loop=false&delayms=3000" frameborder="0" width="640" height="480" allowfullscreen="true" mozallowfullscreen="true" webkitallowfullscreen="true"></iframe>
\ No newline at end of file
---
layout: page
title: Blog
---
<div class="related">
<ul class="related-posts">
{% for post in site.posts limit:3 %}
<li>
<h3>
<a href="{{ site.baseurl }}{{ post.url }}">
{{ post.title }}
<small>{{ post.date | date_to_string }}</small>
</a>
</h3>
</li>
{% endfor %}
</ul>
</div>
---
layout: default
title: "404: Page not found"
permalink: 404.html
permalink: false
---
<p class="lead">Sorry, we've misplaced that URL or it's pointing to something that doesn't exist. <a href="{{ site.baseurl }}">Head back home</a> to try finding it again.</p>
extends default
block main
each post in site.posts.slice(0,10)
.docs-section
h6.docs-header
a(href=site.baseurl+"/blog/" + post.datebasename)= post.title
// small= moment(post.date).format("%Y-%m-%j")
small= post.date
if post.children
!= post.children[0]
else
!= post.content
\ No newline at end of file
doctype html
//if lt IE 7
<html class="ie ie6" lang="en">
//if IE 7
<html class="ie ie7" lang="en">
//if IE 8
<html class="ie ie8" lang="en">
//if (gte IE 9)|!(IE)
<!--><html lang="en"> <!--
html
include head
body(class=header=="hero"?header:"has-docked-nav")
.container
block header
!= header
include navbar
if header==hero
//- nav.subnavbar
//- small.container
//- ul.navbar-list
//- - var crumbs = path.split('/')
//- - var capitalize = function(text){ return text.toLowerCase().replace( /\b\w/g, function (m) { return m.toUpperCase(); }) };
//- li.navbar-item: a(href=site.baseurl) Home
//- each crumb,i in crumbs
//- - var crumb_display = crumb.replace('-',' ').replace('.html', '')
//- if i==crumbs.length -1
//- | /
//- = capitalize(crumb_display)
//- else
//- | /
//- li.navbar-item: a(href=site.baseurl+crumb+'/')= capitalize(crumb_display)
//- |
//- .utilities.u-pull-right
//- li.navbar-item: a(href=site.github.repository_url+"/edit/"+site.github.current_branch+source) Edit this page
//- | -
//- li.navbar-item: a(href=site.github.repository_url+"/commits/"+site.github.current_branch+source) View page history
//- | -
//- li.navbar-item: a(href=site.github.repository_url+"/tree/"+site.github.current_branch+source) View page source
.row.links
small
include includes/breadcrumbs
include includes/collaboration
block main
!= content
unless header==hero
.row.links
small
include includes/collaboration
hr
block footer
!= footer
include foot
script.
var js = document.createElement('script')
js.src = '//' + (location.host || 'localhost').split(':')[0] + ':3000/browser-sync/browser-sync-client.js'
document.body.appendChild(js)
//- <div>
//- {% assign crumbs = page.url | remove:'/index.html' | split: '/' %}
//- <small>
//- <div style="float:left"><a href="{{ site.baseurl }}/">Home</a>
//- {% for crumb in crumbs offset: 1 %}
//- {% if forloop.last %}
//- / {{ crumb | replace:'-',' ' | remove:'.html' | capitalize }}
//- {% else %}
//- / <a href="{{ site.baseurl }}{% assign crumb_limit = forloop.index | plus: 1 %}{% for crumb in crumbs limit: crumb_limit %}{{ crumb | append: '/' }}{% endfor %}">{{ crumb | replace:'-',' ' | remove:'.html' | capitalize }}</a>
//- {% endif %}
//- {% endfor %}
//- </div>
//- <div style="float:right"><em><a href="{{site.github.repository_url}}/edit/{{site.github.current_branch}}{{source}}">Edit this page</a> - <a href="{{site.github.repository_url}}/commits/{{site.github.current_branch}}{{source}}">View page history</a> - <a href="{{site.github.repository_url}}/tree/{{site.github.current_branch}}{{source}}">View page source</a></em>
//- </div>
//- </small>
//- </div>
//- <div class="page" style="clear:both">
//- <h1 class="page-title">{{ page.title }}</h1>
//- {{ content }}
//- </div>
//- </div>
//- </body>
//- </html>
hr
.section.get-help
.container
h3.section-heading Want to join the initiative?
p.section-description
| Open Integrity needs your help to provide the best and most up to date information. Get in touch to join the initiative !
a.button.button-primary(href='mailto://contact@openintegrity.org') Get in touch
.section.categories
.container
.row
.two.columns
| &nbsp;
.eight.column.category
h4 Developed with ❤ by
a(href="https://iilab.org"): img.u-max-full-width(src=site.baseurl+'/images/iilab_white.svg')
h5 Information Innovation Lab
p Applied research and development of public interest technology.
.two.columns
| &nbsp;
\ No newline at end of file
head
- // Basic Page Needs
- // ==================================================
meta(charset="utf8")
if page.title == "Home"
title #{site.title} &middot; #{site.tagline}
else
title #{page.title} &middot; #{site.title}
meta(name="description", content="")
meta(name="author", content="")
- // Mobile Specific Metas
- // ==================================================
meta(name="viewport", content="width=device-width, initial-scale=1, maximum-scale=1")
- // CSS
- // ==================================================
link(rel="stylesheet", href=site.baseurl+"/css/skeleton.css")
link(rel="stylesheet", href=site.baseurl+"/css/site.css")
//if lt IE 9
script(src="http://html5shim.googlecode.com/svn/trunk/html5.js")
- // JS
script(src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js")
script(src=site.baseurl+"/js/site.js")
- // Favicons
- // ==================================================
link(rel="shortcut icon", href=site.baseurl+"/images/favicon.ico")
link(rel="apple-touch-icon", href=site.baseurl+"/images/apple-touch-icon.png")
link(rel="apple-touch-icon", sizes="72x72", href=site.baseurl+"/images/apple-touch-icon-72x72.png")
link(rel="apple-touch-icon", sizes="114x114", href=site.baseurl+"/images/apple-touch-icon-114x114.png")
- // Fonts
- // ==================================================
link(href='//fonts.googleapis.com/css?family=Raleway:400,300,600', rel='stylesheet', type='text/css')
- // RSS
- // ==================================================
link(rel="alternate", type="application/rss+xml", title="RSS", href="{{ site.baseurl }}/atom.xml")
\ No newline at end of file
section.header
h2.title Open Integrity Initiative
h3.title Data Driven Security and Privacy
.value-props.row
.four.columns.value-prop
img.value-img(src='images/users_pix.svg',width="30%")
| We care about the impact of technology on at-risk and mainstream users.
.four.columns.value-prop
img.value-img(src='images/holistic_pix.svg',width="30%")
| We take a holistic approach to understanding the impact of technology
.four.columns.value-prop
img.value-img(src='images/security_pix.svg',width="30%")
| We believe in security and privacy by design and with transparency
\ No newline at end of file
extends default
---
dl
dt Reference
dd: a(href=reference)= reference
| (
|= reference_type
| )
dt Source
dd: a(href=source)= source
| (
|= source_type
| )
dt Tool
dd= tool
dt Community
dd= community
dt Pattern
dd= pattern
!= content
- var crumbs = path.split('/')
- var capitalize = function(text){ return text.toLowerCase().replace( /\b\w/g, function (m) { return m.toUpperCase(); }) };
.crumb.u-pull-left
a(href=site.baseurl) Home
|
each crumb,i in crumbs
- var crumb_display = crumb.replace('-',' ').replace('.html', '')
if i==crumbs.length -1
| /
= capitalize(crumb_display)
else
| /
a(href=site.baseurl+'/'+crumb+'/')= capitalize(crumb_display)
|
\ No newline at end of file
- var source_base = site.code.base+(subrepo?subrepo:repo)
- var source_path = site.code.current_branch+(subrepo?source.replace("/"+subrepo,""):source)
.utilities.u-pull-right
a(href=source_base+"/edit/"+source_path) Edit
| -
a(href=source_base+"/commits/"+source_path) Changes
| -
a(href=source_base+"/tree/"+source_path) Source
\ No newline at end of file
extends default
block main
!= content
- var capitalize = function(text){ return text.toLowerCase().replace( /\b\w/g, function (m) { return m.toUpperCase(); }) };
each list in index
= capitalize(list.replace(/\//g, ' '))
ul
each report in site[list]
- var report_name = report.datebasename ? capitalize(report.datebasename.replace(/-/g,' ')) : report.path.split('/').pop()
li: a(href=site.baseurl+"/"+report.path)= report_name
\ No newline at end of file
.navbar-spacer
nav.navbar
.container
ul.navbar-list
li.navbar-item
a.navbar-link(class=page.path===site.baseurl?"active":"",href=site.baseurl) Home
each node in site.pages
if node && node.url && node.title && node.layout == "page"
li.navbar-item: a.navbar-link(class=page.url===node.url?"active":"",href=site.baseurl+node.url)= node.title
li.navbar-item
a.navbar-link(href="#",data-popover="#codeNavPopover") Framework
#codeNavPopover.popover
ul.popover-list
li.popover-item: a.popover-link(href=site.baseurl+"/framework") Overview
li.popover-item: a.popover-link(href=site.baseurl+"/impact") Impact
li.popover-item: a.popover-link(href=site.baseurl+"/metrics") Metrics
li.popover-item: a.popover-link(href=site.baseurl+"/score") Score
li.navbar-item: a.navbar-link(href=site.baseurl+"/blog") Blog
li.navbar-item: a.navbar-link(href=site.code.base+site.code.repo) Source
\ No newline at end of file
extends default
block main
.docs-section
h1.docs-header= title
!= content
block header
if (header == "hero")
include hero
block footer
if (footer == "recent_blogs")
include recent_blogs
\ No newline at end of file
extends default
block main
h1.doc-header= page.title
.post
span.post-date= page.date
!= content
if site.related_posts
.related
h2 Related Posts
ul.related-posts
each post in site.related_posts.slice(0,2)
li
h3
a(href=site.baseurl+post.url)= post.title
small post.date | date_to_string
\ No newline at end of file
.related
h6.docs-header Recent Blog Posts
ul.related-posts
each post in site.posts.slice(0,2)
li
a(href=site.baseurl+"/blog/" + post.datebasename)= post.title
// small= moment(post.date).format("%Y-%m-%j")
\ No newline at end of file
---
layout: null
---
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
......
/* Shared
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.button.button-primary {
border-radius: 100px;
background-color:#656565;
border-color:#656565;
}
/* Sections
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.section {
padding: 8rem 0 7rem;
text-align: center;
}
.section-heading,
.section-description {
margin-bottom: 1.2rem;
}
.links {
margin-top:1rem;}
/* Help
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.get-help {
border-bottom: 1px solid #ddd;
}
blockquote {
margin: 0 0 20px;
padding: 9px 20px 0 19px;
border-left: 1px solid #ddd;
}
blockquote p {
font-size: 17px;
line-height: 24px;
color: #777;
font-style: italic;
}
/* Categories
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.categories {
background-color: #656565;
background-size: cover;
color: #fff;
}
.categories .section-description {
margin-bottom: 4rem;
}
/* Bigger than 550 */
@media (min-width: 550px) {
.section {
padding: 12rem 0 11rem;
}
.hero {
padding-bottom: 12rem;
text-align: left;
height: 165px;
}
}
/* Bigger than 750 */
@media (min-width: 750px) {
.section {
padding: 14rem 0 15rem;
}
.section-description {
max-width: 60%;
margin-left: auto;
margin-right: auto;
}
.categories {
padding: 15rem 0 8rem;
}
}
/* Bigger than 1000 */
@media (min-width: 1000px) {
.section {
padding: 20rem 0 19rem;
}
}
/* Default Skeleton CSS
––––––––––––––––––––––––––––––––––––––––––––––––––*/
.container {
max-width: 800px; }
.header {
margin-top: 6rem;
text-align: center; }
.value-prop {
margin-top: 1rem; }
.value-props {
margin-top: 4rem;
margin-bottom: 4rem; }
.docs-header {
text-transform: uppercase;
font-size: 1.4rem;
letter-spacing: .2rem;
font-weight: 600; }
.docs-section {
padding: 4rem 0;
margin-bottom: 0;}
.value-img {
display: block;
text-align: center;
margin: 2.5rem auto 0; }
.example-grid .column,
.example-grid .columns {
background: #EEE;
text-align: center;
border-radius: 4px;
font-size: 1rem;
text-transform: uppercase;
height: 30px;
line-height: 30px;
margin-bottom: .75rem;
font-weight: 600;
letter-spacing: .1rem; }
.docs-example .row,
.docs-example.row,
.docs-example form {
margin-bottom: 0; }
.docs-example h1,
.docs-example h2,
.docs-example h3,
.docs-example h4,
.docs-example h5,
.docs-example h6 {
margin-bottom: 1rem; }
.heading-font-size {
font-size: 1.2rem;
color: #999;
letter-spacing: normal; }
.code-example {
margin-top: 1.5rem;
margin-bottom: 0; }
.code-example-body {
white-space: pre;
word-wrap: break-word }
.example {
position: relative;
margin-top: 4rem; }
.example-header {
font-weight: 600;
margin-top: 1.5rem;
margin-bottom: .5rem; }
.example-description {
margin-bottom: 1.5rem; }
.example-screenshot-wrapper {
display: block;
position: relative;
overflow: hidden;
border-radius: 6px;
border: 1px solid #eee;
height: 250px; }
.example-screenshot {
width: 100%;
height: auto; }
.example-screenshot.coming-soon {
width: auto;
position: absolute;
background: #eee;
top: 5px;
right: 5px;
bottom: 5px;
left: 5px; }
.navbar {
display: none; }
/* Larger than phone */
@media (min-width: 550px) {
.header {
margin-top: 18rem; }
.value-props {
margin-top: 9rem;
margin-bottom: 7rem; }
.value-img {
margin-bottom: 1rem; }
.example-grid .column,
.example-grid .columns {
margin-bottom: 1.5rem; }
.docs-section {
padding: 6rem 0; }
.example-send-yourself-copy {
float: right;
margin-top: 12px; }
.example-screenshot-wrapper {
position: absolute;
width: 48%;
height: 100%;
left: 0;
max-height: none; }
}
/* Larger than tablet */
@media (min-width: 750px) {
/* Navbar */
.navbar + .docs-section {
border-top-width: 0; }
.navbar,
.navbar-spacer {
display: block;
width: 100%;
height: 6.5rem;
background: #fff;
z-index: 99;
border-top: 1px solid #eee;
border-bottom: 1px solid #eee; }
.navbar-spacer {
display: none; }
.navbar > .container {
width: 100%; }
.navbar-list {
list-style: none;
margin-bottom: 0; }
.navbar-item {
position: relative;
float: left;
margin-bottom: 0; }
.navbar-link {
text-transform: uppercase;
font-size: 11px;
font-weight: 600;
letter-spacing: .2rem;
margin-right: 35px;
text-decoration: none;
line-height: 6.5rem;
color: #222; }