Create trainer's guide pages

This commit is contained in:
kez 2022-08-10 14:39:04 -07:00 committed by kezzle
parent c35e4fc7fc
commit 67d83549bf
32 changed files with 171 additions and 41 deletions

View File

@ -13,3 +13,25 @@
.gap-10-px {
gap: 10px;
}
.image-thumb-200px {
width: 200px;
height: 200px;
object-fit: cover;
}
table.resource-table {
max-width: min-content;
tr {
background-color: unset !important;
&:first-child td {
border-top: none !important;
}
}
td > span {
white-space: nowrap;
}
}

View File

@ -1,6 +1,6 @@
_model: resource
---
name: All About Tor
title: All About Tor
---
link: https://gitweb.torproject.org/community/training.git/plain/2021/all-about-tor/all-about-tor-full-pack.odp
---
@ -14,6 +14,11 @@ date: 2021
---
cover: /static/images/training/all-about-tor.png
---
topics:
foo
bar
baz
---
languages: English
---
key: all-about-tor

View File

@ -1,6 +1,6 @@
_model: resource
---
name: Cómo usar Tor Browser en tu computadora
title: Cómo usar Tor Browser en tu computadora
---
link: https://vesinfiltro.com/bloqueos/torbrowser/
---

View File

@ -1,6 +1,6 @@
_model: resource
---
name: Cuidados Digitales: ¿Qué es el Tor Browser?
title: Cuidados Digitales: ¿Qué es el Tor Browser?
---
link: https://cuidadosdigitales.sursiendo.org/mod/page/view.php?id=13
---

View File

@ -1,6 +1,6 @@
_model: resource
---
name: Currícula de capacitación en seguridad digital holística para defensoras de derechos humanos
title: Currícula de capacitación en seguridad digital holística para defensoras de derechos humanos
---
link: https://cyber-women.com/es/anonimato/anonimato/
---

View File

@ -1,6 +1,6 @@
_model: resource
---
name: Digital Safety kit
title: Digital Safety kit
---
link: https://cpj.org/2019/07/digital-safety-kit-journalists/
---

View File

@ -1,6 +1,6 @@
_model: resource
---
name: Defend Dissent: Digital Suppression and Cryptographic Defense of Social Movements
title: Defend Dissent: Digital Suppression and Cryptographic Defense of Social Movements
---
link: https://open.oregonstate.education/defenddissent/
---

View File

@ -1,6 +1,6 @@
_model: resource
---
name: Evadir la censura y la vigilancia con Tor
title: Evadir la censura y la vigilancia con Tor
---
link: https://milpadigital.org/milpadigital-8
---

View File

@ -1,6 +1,6 @@
_model: resource
---
name: Exploring the Tor network (poster)
title: Exploring the Tor network (poster)
---
link: https://catnip.article19.org/data/ARTICLE19-Catnip-Tor-Network-2021-web.pdf
---

View File

@ -1,6 +1,6 @@
_model: resource
---
name: Getting your hands started with Tails
title: Getting your hands started with Tails
---
link: mailto:geb@riseup.net
---

View File

@ -1,6 +1,6 @@
_model: resource
---
name: How to bypass internet censorship
title: How to bypass internet censorship
---
link: https://learn.totem-project.org/courses/course-v1:Totem+TP_CT_EN+001/about
---

View File

@ -1,6 +1,6 @@
_model: resource
---
name: How to: Use Tor
title: How to: Use Tor
---
link: https://ssd.eff.org/en/node/97
---

View File

@ -1,6 +1,6 @@
_model: resource
---
name: An in-depth guide to choosing a web browser
title: An in-depth guide to choosing a web browser
---
link: https://freedom.press/training/-depth-guide-choosing-web-browser/
---

View File

@ -1,6 +1,6 @@
_model: resource
---
name: Leak and Onion Soup
title: Leak and Onion Soup
---
link: https://exposingtheinvisible.org/en/guides/leak-and-onion-soup
---

View File

@ -1,6 +1,6 @@
_model: resource
---
name: Onion Browser: Tu conexión confiable a Tor desde iOS
title: Onion Browser: Tu conexión confiable a Tor desde iOS
---
link: https://gitlab.com/guardianproject/pluto/-/blob/main/Onion_Browser.pdf
---

View File

@ -1,6 +1,6 @@
_model: resource
---
name: Onion Browser Tutorial
title: Onion Browser Tutorial
---
link: https://guardianproject.info/2020/06/02/onion-browser-release-2.6-tutorial/
---

View File

@ -1,6 +1,6 @@
_model: resource
---
name: Onion Browser Video Tutorial
title: Onion Browser Video Tutorial
---
link: https://www.youtube.com/playlist?list=PL4-CVUWabKWeHeBpadBLjzlWVa7binXpj
---

View File

@ -1,6 +1,6 @@
_model: resource
---
name: Orbot: Tor VPN para iOS y Android
title: Orbot: Tor VPN para iOS y Android
---
link: https://gitlab.com/guardianproject/pluto/-/blob/main/Orbot_Spanish.pdf
---

View File

@ -1,6 +1,6 @@
_model: resource
---
name: Running Tor bridges
title: Running Tor bridges
---
link: https://gitweb.torproject.org/community/training.git/plain/2021/private-bridges/private-bridges-workshop.odp
---

View File

@ -1,6 +1,6 @@
_model: resource
---
name: 'Que no quede huella... que no, que no': diálogos feministas para las libertades y autocuidados digitales
title: 'Que no quede huella... que no, que no': diálogos feministas para las libertades y autocuidados digitales
---
link: https://www.derechosdigitales.org/wp-content/uploads/que-no-quede-huella.pdf
---

View File

@ -1,6 +1,6 @@
_model: resource
---
name: Tails: Tu computadora segura en cualquier lugar
title: Tails: Tu computadora segura en cualquier lugar
---
link: https://tails.boum.org/contribute/how/promote/material/slides/Ciclo_Autodefensa_Digital_202204/Tails-Spanish.odp
---

View File

@ -1,6 +1,6 @@
_model: resource
---
name: Todo sobre Tor
title: Todo sobre Tor
---
link: https://gitweb.torproject.org/community/training.git/plain/2019/all-about-tor/all-about-tor-full-pack+es.odp
---

View File

@ -1,6 +1,6 @@
_model: resource
---
name: Tor: ¿Cómo protegerte mientras navegas en Internet?
title: Tor: ¿Cómo protegerte mientras navegas en Internet?
---
link: https://www.youtube.com/watch?v=Zj0FYhcngZ8
---

View File

@ -1,6 +1,6 @@
_model: resource
---
name: The Tor network
title: The Tor network
---
link: https://community.torproject.org/training/resources/tor-relay-workshop/
---

View File

@ -1,6 +1,6 @@
_model: resource
---
name: Understanding and Circumventing Network Censorship
title: Understanding and Circumventing Network Censorship
---
link: https://ssd.eff.org/en/module/understanding-and-circumventing-network-censorship
---

View File

@ -1,6 +1,6 @@
_model: resource
---
name: Use Tor Browser to Become Harder to Trace
title: Use Tor Browser to Become Harder to Trace
---
link: https://securityplanner.consumerreports.org/tool/browse-privately-with-tor
---

View File

@ -1,6 +1,6 @@
_model: resource
---
name: What's fingerprinting?
title: What's fingerprinting?
---
link: https://ssd.eff.org/en/module/what-fingerprinting
---

View File

@ -6,8 +6,11 @@ label = {{ this.title }}
enabled = yes
per_page = 10
[fields.name]
label = Name
[fields.html]
default = resource-detail.html
[fields.title]
label = Title
type = string
translate = True
@ -44,6 +47,24 @@ type = strings
label = Key
type = string
[fields.trainer_guide]
label = Trainer's Guide
type = url
[fields.topics]
label = Topics
type = strings
[fields.color]
label = Color
type = string
default = primary
[fields.section]
label = Section
type = string
default = Training
[fields.objectives]
label = Objectives
type = strings
[fields.external_sources]
label = External Reading Sources
type = strings

View File

@ -7,17 +7,17 @@
<div class="my-3 w-100 border p-3">
<div class="h-100 d-flex align-items-stretch">
<div class="bg-white border-0 col-sm-3 p-0 pr-4 align-self-center">
<a href="{{ child|url }}" class="d-block"><img src="{{ child.cover | url }}" class="img-fluid" alt="{{ child.name }}"></a>
<a href="{{ child }}" class="d-block"><img src="{{ child.cover | url }}" class="img-fluid" alt="{{ child.title }}"></a>
</div>
<div class="d-flex flex-column w-100">
<div class="d-flex flex-row gap-10-px align-items-start">
<h3 class="card-title font-weight-600 m-0">{{ child.name }}</h3>
<a href="{{ child|url }}" title="{{ child.name }}" class="btn btn-primary font-weight-600">{{ _('View') }}</a>
{% if child.trainer_guide %}
<a href="{{ child.trainer_guide }}" title="{{ child.name }}" class="btn btn-outline-primary font-weight-600">{{ _("Trainer's guide") }}</a>
<h3 class="card-title font-weight-600 m-0">{{ child.title }}</h3>
<a href="{{ child.link|url }}" title="{{ child.title }}" class="btn btn-primary font-weight-600">{{ _('View') }}</a>
{% if child.author.lower() == 'tor project' %}
<a href="{{ child|url }}" title="{{ child.title }}" class="btn btn-outline-primary font-weight-600">{{ _("Trainer's guide") }}</a>
{% endif %}
<span class="flex-grow-1"></span> {# spacer so the updated date appears at the end #}
<span class="text-muted font-weight-600 font-size-18-px">{{ _('Updated: {}').format('<u>' + child.date + '</u>')|safe }}</span>
<span class="text-muted font-weight-600 font-size-18-px">{{ _('Updated: {}').format(child.date) }}</span>
</div>
<span class="text-primary font-weight-600 my-2 font-size-18-px">{{ _('By {}').format(child.author) }}</span>
<span class="m-0 font-size-18-px p-0 flex-grow-1">{{ child.description }}</span>

View File

@ -0,0 +1,77 @@
{% set sidenav_items = this.parent.parent.children %}
<div class="row pt-5">
{% include 'sidenav.html' %}
<div class="col-sm-12 col-xs-12 ml-sm-auto col-md-9 col-lg-9 {{ bag('alternatives', this.alt, 'order') }}">
<div>
<img src="{{ this.cover | url }}" class="image-thumb-200px mb-5" alt="{{ this.title }}">
<h1 class="mb-5">{{ this.title }}</h1>
<div>
<table class="resource-table mb-5">
<tr>
<td>
<span class="text-muted h5 font-weight-600">{{ _('Maintained by') }}</span>
</td>
<td>
<span class="h5 font-weight-600">{{ this.author }}</span>
</td>
</tr>
<tr>
<td>
<span class="text-muted h5 font-weight-600">{{ _('Last updated') }}</span>
</td>
<td>
<span class="h5 font-weight-600">{{ this.date }}</span>
</td>
</tr>
<tr>
<td>
<span class="text-muted h5 font-weight-600">{{ _('Estimated time') }}</span>
</td>
<td>
<span class="h5 font-weight-600">{{ this.estimated_time or 'FIXME: NO TIME ESTIMATE' }}</span>
</td>
</tr>
</table>
<p class="mb-5">{{ this.description }}</p>
{% if this.objectives %}
<div class="mb-5">
<h4>{{ _('Objectives') }}</h4>
<ul>
{% for objective in this.objectives %}
<li>{{ objective }}</li>
{% endfor %}
</ul>
</div>
{% endif %}
{% if this.external_sources %}
<div class="mb-5">
<h4>{{ _('External reading sources') }}</h4>
<ul>
{% for external_source in this.external_sources %}
<li>{{ external_source }}</li>
{% endfor %}
</ul>
</div>
{% endif %}
<h4 class="mb-5">{{ _('Download sample slides') }}</h4>
{% if this.topics %}
<div class="mb-5">
<h4>{{ _('Topics') }}</h4>
<p>
{% for topic in this.topics %}
<span>{{ topic }}</span>
{%- if loop.index != this.topics|length -%}
{{ ', ' }}
{% endif %}
{% endfor %}
</p>
</div>
{% endif %}
</div>
</div>
<div class="d-flex my-4">
</div>
<hr class="mb-5 mt-0">
<h2 class="text-primary">{{ _('Join the Conversation') }}</h2>
</div>
</div>

View File

@ -1 +1,5 @@
{{ this.name }}
{#- resource pages are intended to be trainer guides, but we only want trainer guides for resoureces written by Tor Project -#}
{#- empty pages are generated for non-Tor Project resources, and should be removed after the build -#}
{%- if this.author.lower().strip() == 'tor project' -%}
{% extends 'layout.html' %}
{%- endif -%}

View File

@ -1,3 +1,4 @@
{% set sidenav_items = sidenav_items or this.parent.children %}
<div class="container-fluid sidebar col-xs-12 col-sm-12 col-md-3 col-lg-3">
<nav class="smalltopics no-background navbar navbar-expand-lg navbar-light bg-white p-0 fixed">
<label class="side-toggler" for="menu-toggle">
@ -9,7 +10,7 @@
<div class="collapse navbar-collapse burger-menu" id="navbarSupportedTopicsContent">
<ul class="nav nav-pills flex-column">
{% for child in this.parent.children %}
{% for child in sidenav_items %}
<li{% if this.is_child_of(child.path) %} class="toc-entry toc-h2 active nav-item" {% else %} class="toc-entry toc-h2 nav-item" {% endif %}>
<a role="button" {% if this.is_child_of(child.path) %} class="nav-link active" {% else %} class="nav-link" {% endif %}
href="{{ child.path|url(alt=this.alt) }}">{{ _(child.title) }}</a>
@ -22,7 +23,7 @@
<nav class="d-none d-sm-block bg-white border-right sidetopics" id="sidenav-topics" style="top:172px;">
<ul class="nav nav-pills flex-column">
{% for child in this.parent.children|sort(attribute='key') %}
{% for child in sidenav_items|sort(attribute='key') %}
<li{% if this.is_child_of(child.path) %} class="toc-entry toc-h2 active nav-item" {% else %} class="toc-entry toc-h2 nav-item" {% endif %}>
<a role="button" {% if this.is_child_of(child.path) %} class="nav-link active" {% else %} class="nav-link" {% endif %}
href="{{ child.path|url(alt=this.alt) }}">{{ _(child.title) }}</a>