Big layout improvements

Collections make more sense, added an edit button
This commit is contained in:
Jonah Aragon 2021-05-02 19:49:21 -05:00
parent 4703b6e72d
commit 749e87cc60
No known key found for this signature in database
GPG Key ID: 6A957C9A9A9429F7
18 changed files with 137 additions and 124 deletions

View File

@ -32,27 +32,22 @@ collections:
output: true
permalink: /:name/
authors:
permalink: /blog/authors/:name/
permalink: /blog/authors/:path/
devices:
output: true
permalink: /devices/:name/
sort_by: order
permalink: /devices/:path/
browsers:
output: true
permalink: /browsers/:name/
sort_by: order
permalink: /browsers/:path/
software:
output: true
permalink: /software/:name/
sort_by: order
permalink: /software/:path/
os:
output: true
permalink: /os/:name/
sort_by: order
permalink: /os/:path/
providers:
output: true
permalink: /providers/:name/
sort_by: order
permalink: /providers/:path/
defaults:
- scope:

View File

@ -1,2 +1,2 @@
<h3 class="h5"><strike>{{ post.name }}</strike></h3>
{{ post.excerpt }}
<h3 class="h4"><a href="{{ post.url }}"><strike>{{ post.title }}</strike></a></h3>
{{ post.description | markdownify }}

View File

@ -1,25 +1,30 @@
<div class="mb-5">
<nav id="breadcrumb" aria-label="breadcrumb">
{% assign crumbs = page.url | remove:'/index.html' | split: '/' %}
<ol class="breadcrumb" itemscope itemtype="https://schema.org/BreadcrumbList">
<li class="breadcrumb-item">
<a href="/"><i class="fas fa-home" aria-hidden="true"></i> <span>Home</span></a>
</li>
{% for crumb in crumbs offset: 1 %}
{% if forloop.last %}
<li class="breadcrumb-item active" aria-current="page" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<link href="{% assign crumb_limit = forloop.index | plus: 1 %}{% for crumb in crumbs limit: crumb_limit %}{{ crumb | append: '/' | replace:'without-plugin/','without-plugins/' }}{% endfor %}" itemprop="item" />
<span itemprop="name">{% if page.breadcrumb %}{{ page.breadcrumb }}{% else %}{% assign words = crumb | replace:'-',' ' | remove:'.html' | split: ' ' %}{% capture titlecase %}{% for word in words %}{{ word | capitalize }} {% endfor %}{% endcapture %}{{ titlecase }}{% endif %}
</span>
<meta itemprop="position" content="{{ forloop.index }}" />
</li>
{% else %}
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<a href="{% assign crumb_limit = forloop.index | plus: 1 %}{% for crumb in crumbs limit: crumb_limit %}{{ crumb | append: '/' | replace:'without-plugin/','without-plugins/' }}{% endfor %}" itemprop="item"><span itemprop="name">{{ crumb | replace:'-',' ' | remove:'.html' | capitalize }}</span></a>
<meta itemprop="position" content="{{ forloop.index }}" />
</li>
{% endif %}
{% endfor %}
</ol>
</nav>
<div class="mb-5 d-flex">
<div class="flex-grow-1">
<nav id="breadcrumb" aria-label="breadcrumb">
{% assign crumbs = page.url | remove:'/index.html' | split: '/' %}
<ol class="breadcrumb" itemscope itemtype="https://schema.org/BreadcrumbList">
<li class="breadcrumb-item">
<a href="/"><i class="fas fa-home" aria-hidden="true"></i> <span>Home</span></a>
</li>
{% for crumb in crumbs offset: 1 %}
{% if forloop.last %}
<li class="breadcrumb-item active" aria-current="page" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<link href="{% assign crumb_limit = forloop.index | plus: 1 %}{% for crumb in crumbs limit: crumb_limit %}{{ crumb | append: '/' | replace:'without-plugin/','without-plugins/' }}{% endfor %}" itemprop="item" />
<span itemprop="name">{% if page.breadcrumb %}{{ page.breadcrumb }}{% else %}{% assign words = crumb | replace:'-',' ' | remove:'.html' | split: ' ' %}{% capture titlecase %}{% for word in words %}{{ word | capitalize }} {% endfor %}{% endcapture %}{{ titlecase }}{% endif %}
</span>
<meta itemprop="position" content="{{ forloop.index }}" />
</li>
{% else %}
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<a href="{% assign crumb_limit = forloop.index | plus: 1 %}{% for crumb in crumbs limit: crumb_limit %}{{ crumb | append: '/' | replace:'without-plugin/','without-plugins/' }}{% endfor %}" itemprop="item"><span itemprop="name">{{ crumb | replace:'-',' ' | remove:'.html' | capitalize }}</span></a>
<meta itemprop="position" content="{{ forloop.index }}" />
</li>
{% endif %}
{% endfor %}
</ol>
</nav>
</div>
<div class="pl-3">
<a class="btn btn-outline-info btn-lg" href="https://github.com/privacyguides/privacyguides.org/edit/main/{%- if page.collection -%}collections/{%- endif -%}{{ page.path }}" role="button"><i class="fad fa-fw fa-pencil-alt"></i> Edit</a>
</div>
</div>

View File

@ -1,15 +1,19 @@
{% if page.platform_win or page.platform_mac or page.platform_linux or page.platform_bsd or page.platform_android or page.platform_fdroid or page.platform_ios %}
<h2 class="pt-3">Downloads</h2>
<ul class="list-unstyled">
{% if page.platform_win or page.platform_mac or page.platform_linux or page.platform_bsd %}
<li><h3 class="h5 pt-3">Desktop/PC</h3><ul class="list-unstyled">
{% if page.platform_win %}<li><a href="{{ page.platform_win }}"><i class="fab fa-windows fa-fw"></i> Download for Windows</a></li>{% endif %}
{% if page.platform_mac %}<li><a href="{{ page.platform_mac }}"><i class="fab fa-app-store fa-fw"></i> Download for macOS</a></li>{% endif %}
{% if page.platform_linux %}<li><a href="{{ page.platform_linux }}"><i class="fab fa-linux fa-fw"></i> Download for Linux</a></li>{% endif %}
{% if page.platform_bsd %}<li><a href="{{ page.platform_bsd }}"><i class="fab fa-freebsd fa-fw"></i> Download for FreeBSD</a></li>{% endif %}
</ul></li>
{% endif %}{% if page.platform_android or page.platform_fdroid or page.platform_ios %}
<li><h3 class="h5 pt-3">Mobile</h3><ul class="list-unstyled">
{% if page.platform_android %}<li><a href="{{ page.platform_android }}"><i class="fab fa-google-play fa-fw"></i> Download for Android</a></li>{% endif %}
{% if page.platform_fdroid %}<li><a href="{{ page.platform_fdroid }}"><i class="fab fa-android fa-fw"></i> Download for Android (F-Droid)</a></li>{% endif %}
{% if page.platform_ios %}<li><a href="{{ page.platform_ios }}"><i class="fab fa-app-store-ios fa-fw"></i> Download for iOS</a></li>{% endif %}
</ul></li>
</ul></li>{% endif %}
</ul>
{% endif %}

View File

@ -5,10 +5,10 @@
<img src="{{ post.logo }}" alt="{{ post.name }} logo" class="py-5 w-75">
</div>
<div class="col-12 col-sm-8 col-md-9 text-center text-md-left">
<h2>{{ post.name }}</h2>
<h2>{{ post.title }}</h2>
{% if post.info %} <p class="badge badge-info"><i class="fad fa-info-circle"></i> {{ post.info }}</p>{% endif %}
{% if post.warning %} <p class="badge badge-warning"><i class="fad fa-exclamation-triangle"></i> {{ post.warning }}</p>{% endif %}
{{ post.short | markdownify }}
{{ post.description | markdownify }}
<p>
{% if post.platform_win %}<a href="{{ post.platform_win }}"><i class="fab fa-windows fa-fw h2"></i></a>{% endif %}
{% if post.platform_mac %}<a href="{{ post.platform_mac }}"><i class="fab fa-apple fa-fw h2"></i></a>{% endif %}

View File

@ -1,2 +1,2 @@
<h3 class="h5">{{ post.name }}</h3>
{{ post.excerpt }}
<h3 class="h4"><a href="{{ post.url }}">{{ post.title }}</a></h3>
{{ post.description | markdownify }}

View File

@ -2,12 +2,23 @@
layout: default
---
<div class="container my-5">
{% if page.type == "Anti-Recommendation" %}<p>{% include badge.html
color="danger"
text="Anti-Recommendation"
icon="fas fa-times-octagon"
%}</p>{% endif %}
<h1>{{ page.title }}</h1>
{% include breadcrumbs.html %}
<div class="d-flex flex-row my-5 align-items-center">
{% if page.logo %}<div class="w-50 d-none d-lg-block text-center">
<img src="{{ page.logo }}" alt="{{ page.title }} logo" width="128px" height="128px" class="">
</div>{% endif %}
<div class="flex-fill">
{% if page.type == "Anti-Recommendation" %}<p>{% include badge.html
color="danger"
text="Anti-Recommendation"
icon="fas fa-times-octagon"
%}</p>{% endif %}
<h1>{{ page.title }}</h1>
{% if page.description %}{{ page.description | markdownify }}{% endif %}
{% if page.website %}<a href="{{ page.website }}" class="btn btn-primary mt-2">Visit {{ page.website | remove:'https://' | split:'/' | first }}</a>{% endif %}
</div>
</div>
{{ content }}
{% include downloads.html %}
{% include footer.html %}
</div>

View File

@ -1,5 +1,6 @@
---
name: Brave Browser
title: Brave Browser
type: "Anti-Recommendation"
description: |
Despite being widely touted as a privacy-friendly Chromium browser, we have a number of concerns with Brave's business practices and future business model that prevents us from recommending them. The Brave team [has publicly stated](https://www.reddit.com/r/privacytoolsIO/comments/cs8foq/update_delisting_brave/) they do not want to be associated with privacy-focused groups like PrivacyTools ([PrivacyTools PR #657](https://github.com/privacytools/privacytools.io/pull/657)), which causes us to believe the Brave team does not wish to be under too much scrutiny from the privacy community as they continue to develop their product ([Reddit discussion](http://archive.today/2020.05.13-035943/https://www.removeddit.com/r/brave_browser/comments/csapsy/brave_browser_is_being_delisted_from/exf6i0f/)).
---
**Brave** is widely touted as a privacy-friendly Chromium browser, but we have a number of concerns with their business practices and future business model that would prevent us from recommending them. The Brave team [has publicly stated](https://www.reddit.com/r/privacytoolsIO/comments/cs8foq/update_delisting_brave/) they do not want to be associated with privacy-focused groups like PrivacyTools ([PrivacyTools PR #657](https://github.com/privacytools/privacytools.io/pull/657)), which causes us to believe the Brave team does not wish to be under too much scrutiny from the privacy community as they continue to develop their product ([Reddit discussion](http://archive.today/2020.05.13-035943/https://www.removeddit.com/r/brave_browser/comments/csapsy/brave_browser_is_being_delisted_from/exf6i0f/)).

View File

@ -1,5 +1,7 @@
---
name: Bromite
title: Bromite
type: "Worth Mentioning"
description: |
A Chromium-based browser with security and privacy enhancements built in, such as an adblocker and DNS-over-HTTPS support. It includes patches from Ungoogled Chromium and other security/privacy focused Chromium projects. However, <mark>Bromite is only available on Android at this time,</mark> making it a poor choice for users of multiple devices, especially if you need to sync between a desktop and mobile device.
website: 'https://www.bromite.org/'
---
[**Bromite**](https://www.bromite.org/) is a Chromium-based browser with security and privacy enhancements built in, such as an adblocker and DNS-over-HTTPS support. It includes patches from Ungoogled Chromium and other security/privacy focused Chromium projects. However, <mark>Bromite is only available on Android at this time,</mark> making it a poor choice for users of multiple devices, especially if you need to sync between a desktop and mobile device.

View File

@ -1,5 +1,6 @@
---
name: Chromium
title: Chromium
type: "Anti-Recommendation"
description: |
Without signing into a Google Account, the open-source builds of Chromium do relatively well in terms of security and privacy. However, Chromium still does have a number of integrations with Google hardcoded into the source, and because it is designed to be as user-friendly as possible, it operates in a way that compromises transparency and user-control. And, Chromium is still directly developed by Google, who have attempted to introduce anti-consumer measures in the past as mentioned in the Google Chrome section.
---
Without signing into a Google Account, the open-source builds of **Chromium** do relatively well in terms of security and privacy. However, Chromium still does have a number of integrations with Google hardcoded into the source, and because it is designed to be as user-friendly as possible, it operates in a way that compromises transparency and user-control. And, Chromium is still directly developed by Google, who have attempted to introduce anti-consumer measures in the past as mentioned in the Google Chrome section.

View File

@ -1,8 +1,11 @@
---
name: Firefox
title: Firefox
type: Recommendation
logo: /assets/img/browsers/firefox-logo.svg
short: "**Firefox** is a fast, reliable, open-source, privacy-respecting browser developed by Mozilla. Unlike Google Chrome, Firefox wont track your data and send it to various companies. Firefox also allows you to simply install a number of add-ons that will improve your privacy online."
description: |
Firefox is a fast, reliable, open-source, privacy-respecting browser developed by Mozilla.
Unlike Google Chrome, Firefox wont track your data and send it to various companies. Firefox also allows you to simply install a number of add-ons that will improve your privacy online.
website: 'https://firefox.com/'
privacy_policy: 'https://www.mozilla.org/en-US/privacy/firefox/'
platform_win: 'https://www.mozilla.org/firefox/windows/'
@ -16,19 +19,6 @@ source: 'https://hg.mozilla.org/mozilla-central/'
order: 1
---
<div class="row my-5">
<div class="col-2 d-none d-lg-block">
<img src="{{ page.logo }}" alt="{{ page.name }} logo" class="w-100">
</div>
<div class="col-lg-10 col-12">
<p class="mt-2"><strong>Firefox</strong> is a fast, reliable, open-source, privacy-respecting browser developed by Mozilla.</p>
<p>Unlike Google Chrome, Firefox wont track your data and send it to various companies. Firefox also allows you to simply install a number of add-ons that will improve your privacy online.</p>
<a href="{{ page.website }}" class="btn btn-primary mt-2">Visit {{ page.website | remove:'https://' | split:'/' | first }}</a>
</div>
</div>
{% include downloads.html %}
<h2 class="pt-3">Source Code</h2>
<p>Mozilla publishes the source code for the Firefox browser at <a href="{{ page.source }}">{{ page.source }}</a>.</p>

View File

@ -1,5 +1,7 @@
---
name: Google Chrome
title: Google Chrome
type: "Anti-Recommendation"
description: |
Chrome is completely controlled by Google, and taps into your browsing history to track you across the web and serve you targeted advertisements. Because of Google's interest in increased ad revenues, Google Chrome offers [no privacy protections](https://www.washingtonpost.com/technology/2019/06/21/google-chrome-has-become-surveillance-software-its-time-switch/) out of the box compared to Firefox, and has taken anti-consumer steps to [block common extensions like adblockers](https://www.wired.com/story/google-chrome-ad-blockers-extensions-api/). <mark>It's best to avoid this browser at all costs.</mark>
---
**Google Chrome** is completely controlled by Google, and taps into your browsing history to track you across the web and serve you targeted advertisements. Because of Google's interest in increased ad revenues, Google Chrome offers [no privacy protections](https://www.washingtonpost.com/technology/2019/06/21/google-chrome-has-become-surveillance-software-its-time-switch/) out of the box compared to Firefox, and has taken anti-consumer steps to [block common extensions like adblockers](https://www.wired.com/story/google-chrome-ad-blockers-extensions-api/). It's best to avoid this browser at all costs.

View File

@ -1,5 +1,6 @@
---
name: Safari
title: Safari
type: Worth Mentioning
description: |
A browser option on macOS and iOS with a strong focus on security and [privacy](https://www.apple.com/safari/docs/Safari_White_Paper_Nov_2019.pdf). <mark>We believe Safari is an acceptable choice for Apple users,</mark> despite Safari being a proprietary browser, because Apple users are already trusting a proprietary operating system to run their programs on. We do not recommend using iCloud Sync, which saves your bookmarks and history in a way which allows Apple to view them. Additionally, [WebKit](https://webkit.org), the browser engine powering Safari *is* open source.
---
[**Safari**](https://www.apple.com/safari/) is a browser option on macOS and iOS, with a strong focus on security and [privacy](https://www.apple.com/safari/docs/Safari_White_Paper_Nov_2019.pdf). <mark>We believe Safari is an acceptable choice for Apple users,</mark> despite Safari being a proprietary browser, because Apple users are already trusting a proprietary operating system to run their programs on. We do not recommend using iCloud Sync, which saves your bookmarks and history in a way which allows Apple to view them. Additionally, [WebKit](https://webkit.org), the browser engine powering Safari *is* open source. <!--more-->

View File

@ -1,9 +1,10 @@
---
name: Tor Browser
title: Tor Browser
type: Recommendation
info: Provides Anonymity
logo: /assets/img/browsers/tor-logo.svg
short: "**Tor Browser** is your choice if you need an extra layer of anonymity. Its a modified version of Firefox ESR, which comes with pre-installed privacy add-ons, encryption, and an advanced proxy. [How does Tor work?](https://write.privacytools.io/my-thoughts-on-security/slicing-onions-part-1-myth-busting-tor)"
description: |
The choice if you need an extra layer of anonymity. Tor Browser is a modified version of Firefox ESR, which comes with pre-installed privacy add-ons, encryption, and an advanced proxy.
website: 'https://www.torproject.org/'
website_tor: 'http://expyuzz4wqqyqhjn.onion/'
privacy_policy: 'https://support.torproject.org/tbb/tbb-3/'
@ -15,6 +16,3 @@ platform_fdroid: 'https://guardianproject.info/fdroid/'
source: 'https://trac.torproject.org/projects/tor'
order: 2
---
Tor Browser is your choice if you need an extra layer of anonymity. It's a modified version of Firefox ESR, which comes with pre-installed privacy add-ons, encryption, and an advanced proxy. [How does Tor work?](https://write.privacytools.io/my-thoughts-on-security/slicing-onions-part-1-myth-busting-tor)
{% include downloads.html %}

View File

@ -1,5 +1,6 @@
---
name: Ungoogled Chromium
title: Ungoogled Chromium
type: Worth Mentioning
description: |
A desktop browser based on Chromium which removes all Google integrations, while adding features which seek to enhance your security, privacy, and control of your browser. However, <mark>we do not strongly recommend the use of Ungoogled Chromium for most users</mark> at this time, because of a lack of official builds and updates from the developer. We strongly believe that auto-updating apps are key for maintaining security, lest you browse the web with outdated builds of your browser which may be susceptible to any number of live exploits.
---
[**Ungoogled Chromium**](https://github.com/Eloston/ungoogled-chromium) is a desktop browser based on Chromium, which removes all Google integrations while adding features which seek to enhance your security, privacy, and control of your browser. However, <mark>we do not strongly recommend the use of Ungoogled Chromium for most users</mark> at this time, because of a lack of official builds and updates from the developer. We strongly believe that auto-updating apps are key for maintaining security, lest you browse the web with outdated builds of your browser which may be susceptible to any number of live exploits.

View File

@ -4,46 +4,46 @@ title: Browser Recommendations
description: "These are our current web browser recommendations, settings, and add-ons you can use to preserve your privacy."
---
{% assign browser = site.browsers | where:"name","Firefox" %}
{% assign browser = site.browsers | where:"title","Firefox" %}
{% for post in browser %}
{% include recommendation-card.html %}
{% endfor %}
{% assign browser = site.browsers | where:"name","Tor Browser" %}
{% assign browser = site.browsers | where:"title","Tor Browser" %}
{% for post in browser %}
{% include recommendation-card.html %}
{% endfor %}
<h2>Worth Mentioning</h2>
{% assign browser = site.browsers | where:"name","Ungoogled Chromium" %}
{% assign browser = site.browsers | where:"title","Ungoogled Chromium" %}
{% for post in browser %}
{% include worth-mentioning.html %}
{% endfor %}
{% assign browser = site.browsers | where:"name","Safari" %}
{% assign browser = site.browsers | where:"title","Safari" %}
{% for post in browser %}
{% include worth-mentioning.html %}
{% endfor %}
{% assign browser = site.browsers | where:"name","Bromite" %}
{% assign browser = site.browsers | where:"title","Bromite" %}
{% for post in browser %}
{% include worth-mentioning.html %}
{% endfor %}
<h2>Anti-Recommendations</h2>
{% assign browser = site.browsers | where:"name","Google Chrome" %}
{% assign browser = site.browsers | where:"title","Google Chrome" %}
{% for post in browser %}
{% include anti-recommendation.html %}
{% endfor %}
{% assign browser = site.browsers | where:"name","Brave Browser" %}
{% assign browser = site.browsers | where:"title","Brave Browser" %}
{% for post in browser %}
{% include anti-recommendation.html %}
{% endfor %}
{% assign browser = site.browsers | where:"name","Chromium" %}
{% assign browser = site.browsers | where:"title","Chromium" %}
{% for post in browser %}
{% include anti-recommendation.html %}
{% endfor %}

View File

@ -53,45 +53,47 @@ layout: default
<p>The devices, software, and services that will protect your privacy highly depend on your use case, workflow, and threat model. But, if you don't know where to get started, we've chosen some recommended tools to get you going :)</p>
</div>
</div>
<div class="col-6 col-sm-4 col-md-3 mt-3">
<a href="/browsers/">
<div class="card text-center mx-auto" style="width: 160px;">
<div class="card-body">
<span class="card-title display-4"><i class="fal fa-compass mb-3" aria-hidden="true"></i></span>
<p class="card-subtitle">Browsers</p>
<div class="row mb-5">
<div class="col-6 col-sm-4 col-md-3 mt-3">
<a href="/browsers/">
<div class="card text-center mx-auto" style="width: 160px;">
<div class="card-body">
<span class="card-title display-4"><i class="fal fa-compass mb-3" aria-hidden="true"></i></span>
<p class="card-subtitle">Browsers</p>
</div>
</div>
</div>
</a>
</div>
<div class="col-6 col-sm-4 col-md-3 mt-3">
<a href="/software/">
<div class="card text-center mx-auto" style="width: 160px;">
<div class="card-body">
<span class="card-title display-4"><i class="fal fa-file-code mb-3" aria-hidden="true"></i></span>
<p class="card-subtitle">Software</p>
</a>
</div>
<div class="col-6 col-sm-4 col-md-3 mt-3">
<a href="/software/">
<div class="card text-center mx-auto" style="width: 160px;">
<div class="card-body">
<span class="card-title display-4"><i class="fal fa-file-code mb-3" aria-hidden="true"></i></span>
<p class="card-subtitle">Software</p>
</div>
</div>
</div>
</a>
</div>
<div class="col-6 col-sm-4 col-md-3 mt-3">
<a href="/operating-systems/">
<div class="card text-center mx-auto" style="width: 160px;">
<div class="card-body">
<span class="card-title display-4"><i class="fal fa-desktop mb-3" aria-hidden="true"></i></span>
<p class="card-subtitle">OS</p>
</a>
</div>
<div class="col-6 col-sm-4 col-md-3 mt-3">
<a href="/operating-systems/">
<div class="card text-center mx-auto" style="width: 160px;">
<div class="card-body">
<span class="card-title display-4"><i class="fal fa-desktop mb-3" aria-hidden="true"></i></span>
<p class="card-subtitle">OS</p>
</div>
</div>
</div>
</a>
</div>
<div class="col-6 col-sm-4 col-md-3 mt-3">
<a href="/providers/">
<div class="card text-center mx-auto" style="width: 160px;">
<div class="card-body">
<span class="card-title display-4"><i class="fal fa-cloud mb-3" aria-hidden="true"></i></span>
<p class="card-subtitle">Providers</p>
</a>
</div>
<div class="col-6 col-sm-4 col-md-3 mt-3">
<a href="/providers/">
<div class="card text-center mx-auto" style="width: 160px;">
<div class="card-body">
<span class="card-title display-4"><i class="fal fa-cloud mb-3" aria-hidden="true"></i></span>
<p class="card-subtitle">Providers</p>
</div>
</div>
</div>
</a>
</a>
</div>
</div>
</div>
</div>

View File

@ -8,7 +8,7 @@
"assets:copy:icons": "mkdir -p assets/fonts/vendor/fontawesome && cp -a \"node_modules/@fortawesome/fontawesome-pro/.\" assets/fonts/vendor/fontawesome/",
"assets:install": "npm run assets:copy:js && npm run assets:copy:icons",
"build": "npm run assets:install && bundle exec jekyll build",
"serve": "npm run assets:install && bundle exec jekyll serve --incremental --livereload"
"serve": "npm run assets:install && bundle exec jekyll serve --livereload"
},
"repository": {
"type": "git",