[tor-commits] [community/develop] [WIP] Add Project Ideas for GSoC to Community Portal

pili at torproject.org pili at torproject.org
Thu Jan 23 10:16:38 UTC 2020


commit 1b523fe5c9b8f1565804fb9ceec473eb53f0eb22
Author: Pili Guerra <pili at piliguerra.com>
Date:   Wed Jan 22 13:04:16 2020 +0100

    [WIP] Add Project Ideas for GSoC to Community Portal
---
 content/gsoc/contents.lr                      | 15 +++++++
 content/gsoc/privacy-friendly-web/contents.lr | 36 +++++++++++++++++
 content/gsoc/tor-weather/contents.lr          | 22 +++++++++++
 models/project.ini                            | 35 +++++++++++++++++
 models/projects.ini                           | 33 ++++++++++++++++
 templates/gsoc.html                           | 56 +++++++++++++++++++++++++++
 templates/macros/projects.html                | 15 +++++++
 templates/project.html                        |  1 +
 8 files changed, 213 insertions(+)

diff --git a/content/gsoc/contents.lr b/content/gsoc/contents.lr
new file mode 100644
index 0000000..fcf4597
--- /dev/null
+++ b/content/gsoc/contents.lr
@@ -0,0 +1,15 @@
+_template: gsoc.html
+---
+section: GSoC
+---
+section_id: gsoc
+---
+html: gsoc.html
+---
+color: primary
+---
+title: Project Ideas
+---
+body:
+
+You may find some of these projects to be good ideas for Google Summer of Code. We have labelled each idea with which of our core developers would be good mentors. If one or more of these ideas looks promising to you, please contact us to discuss your plans rather than sending blind applications.
\ No newline at end of file
diff --git a/content/gsoc/privacy-friendly-web/contents.lr b/content/gsoc/privacy-friendly-web/contents.lr
new file mode 100644
index 0000000..0a9e83b
--- /dev/null
+++ b/content/gsoc/privacy-friendly-web/contents.lr
@@ -0,0 +1,36 @@
+_model: project
+---
+_template: project.html
+---
+active: True
+---
+section: GSoC
+---
+section_id: gsoc
+---
+color: primary
+---
+title: Privacy Friendly Web
+---
+summary:
+
+The scope of this project is creating a open-source community-driven browsable list of patterns and release a css/js framework that web developers can extend and use in their work.
+---
+description: 
+
+Security concerned web users take conscious steps to limit the amount of data they share with the websites visited and third party services.
+
+There are a number of security enhancing tools available. Some come in the form of browser extensions and javascript blockers, others are full fledged web browsers designed with providing extra security to their users.
+
+One of this is the Tor Browser. The Tor Browser was designed to provide privacy while surfing the web and defend users against both network and local forensic adversaries. There are two main categories of requirements that have been considered: Security Requirements, and Privacy Requirements. 
+
+Security Requirements are the minimum properties in order for a browser to be able to support Tor and similar privacy proxies safely. Privacy requirements are primarily concerned with reducing linkability: the ability for a user's activity on one site to be linked with their activity on another site without their knowledge or explicit consent. 
+
+Websites can work seamsly with the Tor Browser and other privacy enhancing browsers and tools if they adopt a series of respectful and ethical patterns.
+
+The Tor Browser is in fact, based on Mozilla's Extended Support Release (ESR) Firefox branch. We have a series of patches against this browser to enhance privacy and security. Browser behavior is additionally augmented through the Torbutton extension, and we also change a number of Firefox preferences from their defaults. 
+
+The Tor Project has developed over the years a set of web development guidelines that allow websites to work with security enhanced browsers without causing any or minimal functionality destruption to their users. These guidelines have been shaped in an internal styleguide that has been adopted across all torproject.org websites.
+
+We are now formalizing these web development patterns and some security concerns that need to be considered when developing websites for users surfing the web with security enhanced browsers and tools.
+
diff --git a/content/gsoc/tor-weather/contents.lr b/content/gsoc/tor-weather/contents.lr
new file mode 100644
index 0000000..8a07c11
--- /dev/null
+++ b/content/gsoc/tor-weather/contents.lr
@@ -0,0 +1,22 @@
+_model: project
+---
+_template: project.html
+---
+active: True
+---
+section: GSoC
+---
+section_id: gsoc
+---
+color: primary
+---
+title: Tor Weather
+---
+summary:
+
+Summary of project
+
+---
+description: 
+
+Longer description
\ No newline at end of file
diff --git a/models/project.ini b/models/project.ini
new file mode 100644
index 0000000..a926b5c
--- /dev/null
+++ b/models/project.ini
@@ -0,0 +1,35 @@
+[model]
+name = Project
+label = {{ this.title }}
+
+[fields.title]
+label = Title
+type = string
+
+[fields.link]
+label = Link
+type = url
+
+[fields.active]
+label = Active
+type = boolean
+
+[fields.summary]
+label = Summary
+type = markdown
+
+[fields.color]
+label = Color
+type = string
+
+[fields.description]
+label = Description
+type = markdown
+
+[fields.mentors]
+label = Mentors
+type = string
+
+[fields.languages]
+label = Languages 
+type = string
\ No newline at end of file
diff --git a/models/projects.ini b/models/projects.ini
new file mode 100644
index 0000000..c09bf77
--- /dev/null
+++ b/models/projects.ini
@@ -0,0 +1,33 @@
+[model]
+name = Projects
+label = {{ this.title }}
+
+[fields.title]
+label = Title
+type = string
+
+[fields.section]
+label = Section
+type = string
+translate = True
+
+[fields.section_id]
+label = Section_id
+type = string
+translate = False
+
+[fields.body]
+label = Body
+type = markdown
+
+[fields.color]
+label = Color
+type = string
+
+[fields.html]
+label = Html
+type = string
+
+[children]
+model = project
+order_by = title
diff --git a/templates/gsoc.html b/templates/gsoc.html
new file mode 100644
index 0000000..5bd3c59
--- /dev/null
+++ b/templates/gsoc.html
@@ -0,0 +1,56 @@
+<!doctype html>
+{% include 'meta.html' %}
+<body class="no-gutters">
+  <header>
+    {% include 'navbar.html' %}
+  </header>
+  <div class="page">
+    {% include 'header.html' %}
+    {% include 'pagenav.html' %}
+    <div class="container-fluid">
+      <div class="row flex-xl-nowrap">
+        <main role="main" class="mx-auto col-12 {{ bag('alternatives', this.alt, 'order') }}">
+            <div class="container py-3">
+            <div class="row">
+              <p>{{ this.body }}</p>
+            </div>
+          </div>
+          <div class="container py-3">
+            <h3 class="text-primary display-5">{{ _('Project Ideas') }}</h3>
+          </div>
+          <div class="container py-3">
+            <div class="accordion" id="accordionJobs">
+              {% from "macros/projects.html" import render_active %}
+              {% set items = this.children.filter(F.active == True).all() %}
+              {% for item in items %}
+              {{ render_active(item, this.alt) }}
+              {% endfor %}
+            </div>
+          </div>
+          <div class="container py-3">
+            <h3 class="text-primary display-5">{{ _('Previous Projects') }}</h3>
+          </div>
+          <div class="container py-3">
+            <div class="row">
+              <div class="col-85">
+                <ul class="jobs-ul">
+                  {% set items = this.children %}
+                  {% for item in items.filter(F.active == False) %}
+                  <li>{{ item.title }}</li>
+                  {% endfor %}
+                </ul>
+              </div>
+            </div>
+            <div class="row">
+              <p>{{ _('None of these ideas seem appealing? You may also want to propose your own project idea — which often results in the best projects.') }} <a href="/contact">{{ _('We invite you to contact us to discuss your own project idea.') }}</a></p>
+            </div>
+          </div>
+
+        </main>
+      </div>
+    </div>
+  </div>
+  <footer>
+    {% include 'footer.html' %}
+  </footer>
+</body>
diff --git a/templates/macros/projects.html b/templates/macros/projects.html
new file mode 100644
index 0000000..a027cfb
--- /dev/null
+++ b/templates/macros/projects.html
@@ -0,0 +1,15 @@
+{% macro render_active(item, alternative) %}
+<div class="card border-0">
+  <div class="card-header bg-white border-0" id="headingOne">
+    <h5 class="mb-0">
+      <a href="{{ item.path|url }}">{{ item.title }}</a>
+    </h5>
+  </div>
+  <div>
+    <div class="card-body">
+      {{ item.summary }}
+      <a href="{{ item.path|url }}">{{ _('Read more.') }}</a>
+    </div>
+  </div>
+</div>
+{% endmacro %}
\ No newline at end of file
diff --git a/templates/project.html b/templates/project.html
new file mode 100644
index 0000000..eae2c56
--- /dev/null
+++ b/templates/project.html
@@ -0,0 +1 @@
+{{ this.title }}
\ No newline at end of file





More information about the tor-commits mailing list