1
0
mirror of https://github.com/laurent22/joplin.git synced 2024-11-27 08:21:03 +02:00

Doc: Added GSoC to website

This commit is contained in:
Laurent Cozic 2019-11-20 18:47:32 +00:00
parent 8036923aca
commit 49898d01b5
29 changed files with 2490 additions and 77 deletions

View File

@ -190,7 +190,9 @@ https://github.com/laurent22/joplin/blob/master/{{{sourceMarkdownFile}}}
padding-left: 2em;
margin-bottom: 0;
display: table-cell;
min-width: 250px;
/* min-width: 250px; */
/* For GSoC: */
min-width: 470px;
}
.nav ul li {
display: inline-block;
@ -275,6 +277,7 @@ https://github.com/laurent22/joplin/blob/master/{{{sourceMarkdownFile}}}
<li class="{{selectedHome}}"><a href="{{baseUrl}}/" title="Home"><i class="fa fa-home"></i></a></li>
<li><a href="https://discourse.joplinapp.org" title="Forum">Forum</a></li>
<li><a class="help" href="#" title="Menu">Menu</a></li>
<li><a class="gsoc" href="https://joplinapp.org/gsoc/" title="Menu">Google Summer of Code 2010</a></li>
</ul>
<div class="nav-right">
<!--
@ -563,6 +566,13 @@ async function main() {
[ 'readme/api.md', 'docs/api/index.html', { title: 'REST API' } ],
[ 'readme/prereleases.md', 'docs/prereleases/index.html', { title: 'Pre-releases' } ],
[ 'readme/markdown.md', 'docs/markdown/index.html', { title: 'Markdown Guide' } ],
[ 'readme/gsoc/index.md', 'docs/gsoc/index.html', { title: 'Google Summer of Code' } ],
[ 'readme/gsoc/idea1_nextcloud.md', 'docs/gsoc/idea1_nextcloud.html', { title: 'GSoC: Idea 1: Nextcloud' } ],
[ 'readme/gsoc/idea2_sharing.md', 'docs/gsoc/idea2_sharing.html', { title: 'GSoC: Idea 2: Sharing' } ],
[ 'readme/gsoc/idea3_tagging.md', 'docs/gsoc/idea3_tagging.html', { title: 'GSoC: Idea 3: Tagging' } ],
[ 'readme/gsoc/idea4_search.md', 'docs/gsoc/idea4_search.html', { title: 'GSoC: Idea 4: Search' } ],
[ 'readme/gsoc/idea5_password_per_note.md', 'docs/gsoc/idea5_password_per_note.html', { title: 'GSoC: Idea 5: Password per Note' } ],
];
const path = require('path');

View File

@ -186,7 +186,9 @@ https://github.com/laurent22/joplin/blob/master/readme/api.md
padding-left: 2em;
margin-bottom: 0;
display: table-cell;
min-width: 250px;
/* min-width: 250px; */
/* For GSoC: */
min-width: 470px;
}
.nav ul li {
display: inline-block;
@ -271,6 +273,7 @@ https://github.com/laurent22/joplin/blob/master/readme/api.md
<li class=""><a href="https:&#x2F;&#x2F;joplinapp.org/" title="Home"><i class="fa fa-home"></i></a></li>
<li><a href="https://discourse.joplinapp.org" title="Forum">Forum</a></li>
<li><a class="help" href="#" title="Menu">Menu</a></li>
<li><a class="gsoc" href="https://joplinapp.org/gsoc/" title="Menu">Google Summer of Code 2010</a></li>
</ul>
<div class="nav-right">
<!--

View File

@ -186,7 +186,9 @@ https://github.com/laurent22/joplin/blob/master/readme/changelog.md
padding-left: 2em;
margin-bottom: 0;
display: table-cell;
min-width: 250px;
/* min-width: 250px; */
/* For GSoC: */
min-width: 470px;
}
.nav ul li {
display: inline-block;
@ -271,6 +273,7 @@ https://github.com/laurent22/joplin/blob/master/readme/changelog.md
<li class=""><a href="https:&#x2F;&#x2F;joplinapp.org/" title="Home"><i class="fa fa-home"></i></a></li>
<li><a href="https://discourse.joplinapp.org" title="Forum">Forum</a></li>
<li><a class="help" href="#" title="Menu">Menu</a></li>
<li><a class="gsoc" href="https://joplinapp.org/gsoc/" title="Menu">Google Summer of Code 2010</a></li>
</ul>
<div class="nav-right">
<!--

View File

@ -186,7 +186,9 @@ https://github.com/laurent22/joplin/blob/master/readme/changelog_cli.md
padding-left: 2em;
margin-bottom: 0;
display: table-cell;
min-width: 250px;
/* min-width: 250px; */
/* For GSoC: */
min-width: 470px;
}
.nav ul li {
display: inline-block;
@ -271,6 +273,7 @@ https://github.com/laurent22/joplin/blob/master/readme/changelog_cli.md
<li class=""><a href="https:&#x2F;&#x2F;joplinapp.org/" title="Home"><i class="fa fa-home"></i></a></li>
<li><a href="https://discourse.joplinapp.org" title="Forum">Forum</a></li>
<li><a class="help" href="#" title="Menu">Menu</a></li>
<li><a class="gsoc" href="https://joplinapp.org/gsoc/" title="Menu">Google Summer of Code 2010</a></li>
</ul>
<div class="nav-right">
<!--

View File

@ -186,7 +186,9 @@ https://github.com/laurent22/joplin/blob/master/readme/clipper.md
padding-left: 2em;
margin-bottom: 0;
display: table-cell;
min-width: 250px;
/* min-width: 250px; */
/* For GSoC: */
min-width: 470px;
}
.nav ul li {
display: inline-block;
@ -271,6 +273,7 @@ https://github.com/laurent22/joplin/blob/master/readme/clipper.md
<li class=""><a href="https:&#x2F;&#x2F;joplinapp.org/" title="Home"><i class="fa fa-home"></i></a></li>
<li><a href="https://discourse.joplinapp.org" title="Forum">Forum</a></li>
<li><a class="help" href="#" title="Menu">Menu</a></li>
<li><a class="gsoc" href="https://joplinapp.org/gsoc/" title="Menu">Google Summer of Code 2010</a></li>
</ul>
<div class="nav-right">
<!--

View File

@ -186,7 +186,9 @@ https://github.com/laurent22/joplin/blob/master/readme/debugging.md
padding-left: 2em;
margin-bottom: 0;
display: table-cell;
min-width: 250px;
/* min-width: 250px; */
/* For GSoC: */
min-width: 470px;
}
.nav ul li {
display: inline-block;
@ -271,6 +273,7 @@ https://github.com/laurent22/joplin/blob/master/readme/debugging.md
<li class=""><a href="https:&#x2F;&#x2F;joplinapp.org/" title="Home"><i class="fa fa-home"></i></a></li>
<li><a href="https://discourse.joplinapp.org" title="Forum">Forum</a></li>
<li><a class="help" href="#" title="Menu">Menu</a></li>
<li><a class="gsoc" href="https://joplinapp.org/gsoc/" title="Menu">Google Summer of Code 2010</a></li>
</ul>
<div class="nav-right">
<!--

View File

@ -186,7 +186,9 @@ https://github.com/laurent22/joplin/blob/master/readme/desktop.md
padding-left: 2em;
margin-bottom: 0;
display: table-cell;
min-width: 250px;
/* min-width: 250px; */
/* For GSoC: */
min-width: 470px;
}
.nav ul li {
display: inline-block;
@ -271,6 +273,7 @@ https://github.com/laurent22/joplin/blob/master/readme/desktop.md
<li class=""><a href="https:&#x2F;&#x2F;joplinapp.org/" title="Home"><i class="fa fa-home"></i></a></li>
<li><a href="https://discourse.joplinapp.org" title="Forum">Forum</a></li>
<li><a class="help" href="#" title="Menu">Menu</a></li>
<li><a class="gsoc" href="https://joplinapp.org/gsoc/" title="Menu">Google Summer of Code 2010</a></li>
</ul>
<div class="nav-right">
<!--

View File

@ -186,7 +186,9 @@ https://github.com/laurent22/joplin/blob/master/readme/donate.md
padding-left: 2em;
margin-bottom: 0;
display: table-cell;
min-width: 250px;
/* min-width: 250px; */
/* For GSoC: */
min-width: 470px;
}
.nav ul li {
display: inline-block;
@ -271,6 +273,7 @@ https://github.com/laurent22/joplin/blob/master/readme/donate.md
<li class=""><a href="https:&#x2F;&#x2F;joplinapp.org/" title="Home"><i class="fa fa-home"></i></a></li>
<li><a href="https://discourse.joplinapp.org" title="Forum">Forum</a></li>
<li><a class="help" href="#" title="Menu">Menu</a></li>
<li><a class="gsoc" href="https://joplinapp.org/gsoc/" title="Menu">Google Summer of Code 2010</a></li>
</ul>
<div class="nav-right">
<!--

View File

@ -186,7 +186,9 @@ https://github.com/laurent22/joplin/blob/master/readme/e2ee.md
padding-left: 2em;
margin-bottom: 0;
display: table-cell;
min-width: 250px;
/* min-width: 250px; */
/* For GSoC: */
min-width: 470px;
}
.nav ul li {
display: inline-block;
@ -271,6 +273,7 @@ https://github.com/laurent22/joplin/blob/master/readme/e2ee.md
<li class=""><a href="https:&#x2F;&#x2F;joplinapp.org/" title="Home"><i class="fa fa-home"></i></a></li>
<li><a href="https://discourse.joplinapp.org" title="Forum">Forum</a></li>
<li><a class="help" href="#" title="Menu">Menu</a></li>
<li><a class="gsoc" href="https://joplinapp.org/gsoc/" title="Menu">Google Summer of Code 2010</a></li>
</ul>
<div class="nav-right">
<!--

View File

@ -186,7 +186,9 @@ https://github.com/laurent22/joplin/blob/master/readme/faq.md
padding-left: 2em;
margin-bottom: 0;
display: table-cell;
min-width: 250px;
/* min-width: 250px; */
/* For GSoC: */
min-width: 470px;
}
.nav ul li {
display: inline-block;
@ -271,6 +273,7 @@ https://github.com/laurent22/joplin/blob/master/readme/faq.md
<li class=""><a href="https:&#x2F;&#x2F;joplinapp.org/" title="Home"><i class="fa fa-home"></i></a></li>
<li><a href="https://discourse.joplinapp.org" title="Forum">Forum</a></li>
<li><a class="help" href="#" title="Menu">Menu</a></li>
<li><a class="gsoc" href="https://joplinapp.org/gsoc/" title="Menu">Google Summer of Code 2010</a></li>
</ul>
<div class="nav-right">
<!--

View File

@ -0,0 +1,396 @@
<!doctype html>
<html>
<!--
!!! WARNING !!!
This file was auto-generated from readme/gsoc/idea1_nextcloud.md and any manual change
made to it will be overwritten. To make a change to this file please modify
the source Markdown file:
https://github.com/laurent22/joplin/blob/master/readme/gsoc/idea1_nextcloud.md
-->
<head>
<title>GSoC: Idea 1: Nextcloud | Joplin</title>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://joplinapp.org/css/bootstrap.min.css">
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico">
<!-- <link rel="stylesheet" href="https://joplinapp.org/css/fontawesome-all.min.css"> -->
<link rel="stylesheet" href="https://joplinapp.org/css/fork-awesome.min.css">
<script src="https://joplinapp.org/js/jquery-3.2.1.slim.min.js"></script>
<style>
body {
background-color: #F1F1F1;
color: #333333;
}
table {
margin-bottom: 1em;
}
td, th {
padding: .8em;
border: 1px solid #ccc;
}
.page-markdown table pre,
.page-markdown table blockquote {
margin-bottom: 0;
}
.page-markdown table pre,
.page-markdown table blockquote {
margin-bottom: 0;
}
.page-markdown table pre {
background-color: rgba(0,0,0,0);
border: none;
margin: 0;
padding: 0;
}
h1, h2 {
border-bottom: 1px solid #eaecef;
padding-bottom: 0.3em;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
font-weight: 600;
font-size: 2em;
margin-bottom: 16px;
}
h2 {
font-size: 1.6em;
}
h3 {
font-size: 1.3em;
}
code {
color: black;
background-color: #eee;
border: 1px solid #ccc;
font-size: .85em;
}
pre code {
border: none;
}
pre {
font-size: .85em;
}
blockquote {
font-size: 1em;
color: #555;
};
#toc ul {
margin-bottom: 10px;
}
#toc {
padding-bottom: 1em;
}
.title-icon {
height: 2em;
}
.sub-title {
font-weight: bold;
font-size: 1.5em;
}
.container {
background-color: white;
padding: 0;
box-shadow: 0 10px 20px #888888;
}
table.screenshots {
margin-top: 2em;
margin-bottom: 2em;
}
table.screenshots th {
height: 3em;
text-align: center;
}
table.screenshots th,
table.screenshots td {
border: 1px solid #C2C2C2;
}
img[align="left"] {
margin-right: 10px;
margin-bottom: 10px;
}
.mobile-screenshot {
height: 40em;
padding: 1em;
}
.cli-screenshot-wrapper {
background-color: black;
vertical-align: top;
padding: 1em 2em 1em 1em;
}
.cli-screenshot {
font-family: "Monaco", "Inconsolata", "CONSOLAS", "Deja Vu Sans Mono", "Droid Sans Mono", "Andale Mono", monospace;
background-color: black;
color: white;
border: none;
}
.cli-screenshot .prompt {
color: #48C2F0;
}
.top-screenshot {
margin-top: 2em;
text-align: center;
}
.header {
position: relative;
padding-left: 2em;
padding-right: 2em;
padding-top: 1em;
padding-bottom: 1em;
color: white;
background-color: #2B2B3D;
}
.header a h1 {
color: white;
}
.content {
padding-left: 2em;
padding-right: 2em;
padding-bottom: 2em;
padding-top: 2em;
}
.forkme {
position: absolute;
right: 0;
top:0;
}
.nav-wrapper {
position: relative;
width: inherit;
}
.nav {
background-color: black;
display: table;
width: inherit;
}
.nav.sticky {
position:fixed;
top: 0;
width: inherit;
box-shadow: 0 0 10px #000000;
}
.nav a {
color: white;
display: inline-block;
padding: .6em .9em .6em .9em;
}
.nav ul {
padding-left: 2em;
margin-bottom: 0;
display: table-cell;
/* min-width: 250px; */
/* For GSoC: */
min-width: 470px;
}
.nav ul li {
display: inline-block;
padding: 0;
}
.nav li.selected {
background-color: #222;
font-weight: bold;
}
.nav-right {
display: table-cell;
width: 100%;
text-align: right;
vertical-align: middle;
line-height: 0;
}
.nav-right .share-btn {
display: none;
}
.nav-right .small-share-btn {
display: none;
}
.footer {
padding-top: 1em;
border-top: 1px solid #d4d4d4;
margin-top: 2em;
color: gray;
font-size: .9em;
}
a.heading-anchor {
display: inline-block;
opacity: 0;
width: 1.3em;
font-size: 0.7em;
margin-left: 0.4em;
line-height: 1em;
text-decoration: none;
transition: opacity 0.3s;
}
a.heading-anchor:hover,
h1:hover a.heading-anchor,
h2:hover a.heading-anchor,
h3:hover a.heading-anchor,
h4:hover a.heading-anchor,
h5:hover a.heading-anchor,
h6:hover a.heading-anchor {
opacity: 1;
}
.bottom-links {
display: flex;
justify-content: center;
border-top: 1px solid #d4d4d4;
margin-top: 30px;
padding-top: 25px;
}
@media all and (min-width: 400px) {
.nav-right .share-btn {
display: inline-block;
}
.nav-right .small-share-btn {
display: none;
}
}
</style>
</head>
<body>
<div class="container page-idea1_nextcloud">
<div class="header">
<a class="forkme" href="https://github.com/laurent22/joplin"><img src="https://joplinapp.org/images/ForkMe.png"/></a>
<a href="https://joplinapp.org"><h1 id="joplin"><img class="title-icon" src="https://joplinapp.org/images/Icon512.png">oplin</h1></a>
<p class="sub-title">An open source note taking and to-do application with synchronisation capabilities.</p>
</div>
<div class="nav-wrapper">
<div class="nav">
<ul>
<li class=""><a href="https:&#x2F;&#x2F;joplinapp.org/" title="Home"><i class="fa fa-home"></i></a></li>
<li><a href="https://discourse.joplinapp.org" title="Forum">Forum</a></li>
<li><a class="help" href="#" title="Menu">Menu</a></li>
<li><a class="gsoc" href="https://joplinapp.org/gsoc/" title="Menu">Google Summer of Code 2010</a></li>
</ul>
<div class="nav-right">
<!--
<iframe class="share-btn" src="https://www.facebook.com/plugins/share_button.php?href=http%3A%2F%2Fjoplinapp.org&layout=button&size=small&mobile_iframe=true&width=60&height=20&appId" width="60" height="20" style="border:none;overflow:hidden" scrolling="no" frameborder="0" allowTransparency="true"></iframe>
<iframe class="share-btn" src="https://platform.twitter.com/widgets/tweet_button.html?url=http%3A%2F%2Fjoplinapp.org" width="62" height="20" title="Tweet" style="border: 0; overflow: hidden;"></iframe>
-->
<iframe class="share-btn share-btn-github" src="https://ghbtns.com/github-btn.html?user=laurent22&repo=joplin&type=star&count=true" frameborder="0" scrolling="0" width="100px" height="20px"></iframe>
</div>
</div>
</div>
<div class="content">
<div id="toc"><ul>
<li>
<p>Applications</p>
<ul>
<li><a href="https://joplinapp.org/desktop/">Desktop application</a></li>
<li><a href="https://joplinapp.org/mobile/">Mobile applications</a></li>
<li><a href="https://joplinapp.org/terminal/">Terminal application</a></li>
<li><a href="https://joplinapp.org/clipper/">Web Clipper</a></li>
</ul>
</li>
<li>
<p>Support</p>
<ul>
<li><a href="https://discourse.joplinapp.org">Joplin Forum</a></li>
<li><a href="https://joplinapp.org/markdown/">Markdown Guide</a></li>
<li><a href="https://joplinapp.org/e2ee/">How to enable end-to-end encryption</a></li>
<li><a href="https://joplinapp.org/spec/">End-to-end encryption spec</a></li>
<li><a href="https://joplinapp.org/debugging/">How to enable debug mode</a></li>
<li><a href="https://joplinapp.org/api/">API documentation</a></li>
<li><a href="https://joplinapp.org/faq/">FAQ</a></li>
</ul>
</li>
<li>
<p>About</p>
<ul>
<li><a href="https://joplinapp.org/changelog/">Changelog (Desktop App)</a></li>
<li><a href="https://joplinapp.org/changelog_cli/">Changelog (CLI App)</a></li>
<li><a href="https://joplinapp.org/stats/">Stats</a></li>
<li><a href="https://joplinapp.org/donate/">Donate</a></li>
</ul>
</li>
</ul>
</div>
<h1>GSoC: Nextcloud notes integration (Web client)<a name="gsoc-nextcloud-notes-integration-web-client" href="#gsoc-nextcloud-notes-integration-web-client" class="heading-anchor">🔗</a></h1>
<h2>What is the goal of the project<a name="what-is-the-goal-of-the-project" href="#what-is-the-goal-of-the-project" class="heading-anchor">🔗</a></h2>
<p>There is the community's wish to have the notes integrated Nextcloud, so that Notes can be sought by Nextcloud itsself. Although this idea focuses on Nextcloud it shall allow to extend it to other collaboration applications going beyond the current scope of <a href="https://joplinapp.org/#synchronisation">Synchronisation</a>.</p>
<p>There is already the <a href="https://github.com/foxmask/joplin-web">web application</a> what may can be integrated in collaboration application</p>
<h3>what shall be answered in the application<a name="what-shall-be-answered-in-the-application" href="#what-shall-be-answered-in-the-application" class="heading-anchor">🔗</a></h3>
<h2>Why shall this idea be realized<a name="why-shall-this-idea-be-realized" href="#why-shall-this-idea-be-realized" class="heading-anchor">🔗</a></h2>
<p>Allowing broader use of the application and better integration of the existing open source world, we don't want to invent the wheel twice</p>
<h2>Who is talking about it<a name="who-is-talking-about-it" href="#who-is-talking-about-it" class="heading-anchor">🔗</a></h2>
<p>The idea is outcome of (but not limited to) of some discussion taking place in the Forum and on GitHub:</p>
<ul>
<li><a href="https://github.com/nextcloud/notes/issues/248">Support Joplin structure and notebooks #248</a></li>
<li><a href="https://discourse.joplinapp.org/t/joplin-web-web-application-companion-for-joplin/555">Joplin Web</a></li>
<li><a href="https://discourse.joplinapp.org/t/new-search-engine-in-joplin/1479">New search engine in Joplin</a></li>
<li><a href="https://discourse.joplinapp.org/t/how-is-webdav-sync-implemented/3102">How is WebDAV sync implemented?</a></li>
<li><a href="https://github.com/laurent22/joplin/issues/228">Nextcloud notes integration (Web client)</a></li>
</ul>
<hr>
<p>COMMENTS:</p>
<ol>
<li>
<p>“Nextcloud notes integration (Web client)” is not well defined. What would be nice is a built-in Nextcloud web client for Joplin. But the top post in there is about something else that won’t be changed (explained in the FAQ: <a href="https://joplinapp.org/faq/#is-it-possible-to-use-real-file-and-folder-names-in-the-sync-target">https://joplinapp.org/faq/#is-it-possible-to-use-real-file-and-folder-names-in-the-sync-target</a>)</p>
</li>
<li>
<p>That would be interesting to know what they think about such an integration and how they see it because it’s an old subject, we (the staff) are periodically debating:</p>
<ul>
<li><a href="https://github.com/laurent22/joplin/issues/228">https://github.com/laurent22/joplin/issues/228</a></li>
<li><a href="https://discourse.joplinapp.org/t/nextcloud-fanboy-quest-ce-quils-veulent/844/3">https://discourse.joplinapp.org/t/nextcloud-fanboy-quest-ce-quils-veulent/844/3</a></li>
</ul>
<p>I imagined they just need a joplin-api in PHP and “plug” it on the right datasource to switch between “Nextcloud native note/Qownote” to Nextcloud/Qownnote “Joplin note”.</p>
</li>
<li>
<p>“How is WebDAV sync implemented?” appears twice. It should only be in Summer of Doc.</p>
</li>
</ol>
<div class="bottom-links">
<a href="https://github.com/laurent22/joplin/blob/master/readme/gsoc/idea1_nextcloud.md">
<i class="fa fa-github"></i> Improve this doc
</a>
</div>
<script>
function stickyHeader() {
return; // Disabled
if ($(window).scrollTop() > 179) {
$('.nav').addClass('sticky');
} else {
$('.nav').removeClass('sticky');
}
}
$('#toc').hide();
$('.help').click(function(event) {
event.preventDefault();
$('#toc').show();
});
$(window).scroll(function() {
stickyHeader();
});
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-103586105-1', 'auto');
ga('send', 'pageview');
</script>
<div class="footer">
Copyright (c) 2016-2019 Laurent Cozic
</div>
</body>
</html>

View File

@ -0,0 +1,373 @@
<!doctype html>
<html>
<!--
!!! WARNING !!!
This file was auto-generated from readme/gsoc/idea2_sharing.md and any manual change
made to it will be overwritten. To make a change to this file please modify
the source Markdown file:
https://github.com/laurent22/joplin/blob/master/readme/gsoc/idea2_sharing.md
-->
<head>
<title>GSoC: Idea 2: Sharing | Joplin</title>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://joplinapp.org/css/bootstrap.min.css">
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico">
<!-- <link rel="stylesheet" href="https://joplinapp.org/css/fontawesome-all.min.css"> -->
<link rel="stylesheet" href="https://joplinapp.org/css/fork-awesome.min.css">
<script src="https://joplinapp.org/js/jquery-3.2.1.slim.min.js"></script>
<style>
body {
background-color: #F1F1F1;
color: #333333;
}
table {
margin-bottom: 1em;
}
td, th {
padding: .8em;
border: 1px solid #ccc;
}
.page-markdown table pre,
.page-markdown table blockquote {
margin-bottom: 0;
}
.page-markdown table pre,
.page-markdown table blockquote {
margin-bottom: 0;
}
.page-markdown table pre {
background-color: rgba(0,0,0,0);
border: none;
margin: 0;
padding: 0;
}
h1, h2 {
border-bottom: 1px solid #eaecef;
padding-bottom: 0.3em;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
font-weight: 600;
font-size: 2em;
margin-bottom: 16px;
}
h2 {
font-size: 1.6em;
}
h3 {
font-size: 1.3em;
}
code {
color: black;
background-color: #eee;
border: 1px solid #ccc;
font-size: .85em;
}
pre code {
border: none;
}
pre {
font-size: .85em;
}
blockquote {
font-size: 1em;
color: #555;
};
#toc ul {
margin-bottom: 10px;
}
#toc {
padding-bottom: 1em;
}
.title-icon {
height: 2em;
}
.sub-title {
font-weight: bold;
font-size: 1.5em;
}
.container {
background-color: white;
padding: 0;
box-shadow: 0 10px 20px #888888;
}
table.screenshots {
margin-top: 2em;
margin-bottom: 2em;
}
table.screenshots th {
height: 3em;
text-align: center;
}
table.screenshots th,
table.screenshots td {
border: 1px solid #C2C2C2;
}
img[align="left"] {
margin-right: 10px;
margin-bottom: 10px;
}
.mobile-screenshot {
height: 40em;
padding: 1em;
}
.cli-screenshot-wrapper {
background-color: black;
vertical-align: top;
padding: 1em 2em 1em 1em;
}
.cli-screenshot {
font-family: "Monaco", "Inconsolata", "CONSOLAS", "Deja Vu Sans Mono", "Droid Sans Mono", "Andale Mono", monospace;
background-color: black;
color: white;
border: none;
}
.cli-screenshot .prompt {
color: #48C2F0;
}
.top-screenshot {
margin-top: 2em;
text-align: center;
}
.header {
position: relative;
padding-left: 2em;
padding-right: 2em;
padding-top: 1em;
padding-bottom: 1em;
color: white;
background-color: #2B2B3D;
}
.header a h1 {
color: white;
}
.content {
padding-left: 2em;
padding-right: 2em;
padding-bottom: 2em;
padding-top: 2em;
}
.forkme {
position: absolute;
right: 0;
top:0;
}
.nav-wrapper {
position: relative;
width: inherit;
}
.nav {
background-color: black;
display: table;
width: inherit;
}
.nav.sticky {
position:fixed;
top: 0;
width: inherit;
box-shadow: 0 0 10px #000000;
}
.nav a {
color: white;
display: inline-block;
padding: .6em .9em .6em .9em;
}
.nav ul {
padding-left: 2em;
margin-bottom: 0;
display: table-cell;
/* min-width: 250px; */
/* For GSoC: */
min-width: 470px;
}
.nav ul li {
display: inline-block;
padding: 0;
}
.nav li.selected {
background-color: #222;
font-weight: bold;
}
.nav-right {
display: table-cell;
width: 100%;
text-align: right;
vertical-align: middle;
line-height: 0;
}
.nav-right .share-btn {
display: none;
}
.nav-right .small-share-btn {
display: none;
}
.footer {
padding-top: 1em;
border-top: 1px solid #d4d4d4;
margin-top: 2em;
color: gray;
font-size: .9em;
}
a.heading-anchor {
display: inline-block;
opacity: 0;
width: 1.3em;
font-size: 0.7em;
margin-left: 0.4em;
line-height: 1em;
text-decoration: none;
transition: opacity 0.3s;
}
a.heading-anchor:hover,
h1:hover a.heading-anchor,
h2:hover a.heading-anchor,
h3:hover a.heading-anchor,
h4:hover a.heading-anchor,
h5:hover a.heading-anchor,
h6:hover a.heading-anchor {
opacity: 1;
}
.bottom-links {
display: flex;
justify-content: center;
border-top: 1px solid #d4d4d4;
margin-top: 30px;
padding-top: 25px;
}
@media all and (min-width: 400px) {
.nav-right .share-btn {
display: inline-block;
}
.nav-right .small-share-btn {
display: none;
}
}
</style>
</head>
<body>
<div class="container page-idea2_sharing">
<div class="header">
<a class="forkme" href="https://github.com/laurent22/joplin"><img src="https://joplinapp.org/images/ForkMe.png"/></a>
<a href="https://joplinapp.org"><h1 id="joplin"><img class="title-icon" src="https://joplinapp.org/images/Icon512.png">oplin</h1></a>
<p class="sub-title">An open source note taking and to-do application with synchronisation capabilities.</p>
</div>
<div class="nav-wrapper">
<div class="nav">
<ul>
<li class=""><a href="https:&#x2F;&#x2F;joplinapp.org/" title="Home"><i class="fa fa-home"></i></a></li>
<li><a href="https://discourse.joplinapp.org" title="Forum">Forum</a></li>
<li><a class="help" href="#" title="Menu">Menu</a></li>
<li><a class="gsoc" href="https://joplinapp.org/gsoc/" title="Menu">Google Summer of Code 2010</a></li>
</ul>
<div class="nav-right">
<!--
<iframe class="share-btn" src="https://www.facebook.com/plugins/share_button.php?href=http%3A%2F%2Fjoplinapp.org&layout=button&size=small&mobile_iframe=true&width=60&height=20&appId" width="60" height="20" style="border:none;overflow:hidden" scrolling="no" frameborder="0" allowTransparency="true"></iframe>
<iframe class="share-btn" src="https://platform.twitter.com/widgets/tweet_button.html?url=http%3A%2F%2Fjoplinapp.org" width="62" height="20" title="Tweet" style="border: 0; overflow: hidden;"></iframe>
-->
<iframe class="share-btn share-btn-github" src="https://ghbtns.com/github-btn.html?user=laurent22&repo=joplin&type=star&count=true" frameborder="0" scrolling="0" width="100px" height="20px"></iframe>
</div>
</div>
</div>
<div class="content">
<div id="toc"><ul>
<li>
<p>Applications</p>
<ul>
<li><a href="https://joplinapp.org/desktop/">Desktop application</a></li>
<li><a href="https://joplinapp.org/mobile/">Mobile applications</a></li>
<li><a href="https://joplinapp.org/terminal/">Terminal application</a></li>
<li><a href="https://joplinapp.org/clipper/">Web Clipper</a></li>
</ul>
</li>
<li>
<p>Support</p>
<ul>
<li><a href="https://discourse.joplinapp.org">Joplin Forum</a></li>
<li><a href="https://joplinapp.org/markdown/">Markdown Guide</a></li>
<li><a href="https://joplinapp.org/e2ee/">How to enable end-to-end encryption</a></li>
<li><a href="https://joplinapp.org/spec/">End-to-end encryption spec</a></li>
<li><a href="https://joplinapp.org/debugging/">How to enable debug mode</a></li>
<li><a href="https://joplinapp.org/api/">API documentation</a></li>
<li><a href="https://joplinapp.org/faq/">FAQ</a></li>
</ul>
</li>
<li>
<p>About</p>
<ul>
<li><a href="https://joplinapp.org/changelog/">Changelog (Desktop App)</a></li>
<li><a href="https://joplinapp.org/changelog_cli/">Changelog (CLI App)</a></li>
<li><a href="https://joplinapp.org/stats/">Stats</a></li>
<li><a href="https://joplinapp.org/donate/">Donate</a></li>
</ul>
</li>
</ul>
</div>
<h1>GSoC: Sharing<a name="gsoc-sharing" href="#gsoc-sharing" class="heading-anchor">🔗</a></h1>
<ul>
<li><a href="https://github.com/laurent22/joplin/issues/108">Feature Request: Multiple note directories #108</a></li>
<li>[<a href="https://github.com/laurent22/joplin/issues/1085">Feature Request] Note Sharing #1085</a></li>
<li>[<a href="https://github.com/laurent22/joplin/issues/1293">Feature Request] Multiple synchronization targets #1293</a></li>
<li>(<a href="https://github.com/laurent22/joplin/issues/110">Please give the ability to share from another Android app into Joplin. #110</a>)</li>
<li>(<a href="https://github.com/laurent22/joplin/issues/876">Mobile - Add share menu #876</a>)</li>
<li><a href="https://turtlapp.com/features/">Turtl’s sharing - Choose who you share with and what they can do.</a></li>
<li><a href="https://turtlapp.com/docs/architecture">Turtl Documentation - App architecture</a></li>
</ul>
<p>&quot;Please give the ability to share from another Android app into Joplin&quot;: This is already done</p>
<div class="bottom-links">
<a href="https://github.com/laurent22/joplin/blob/master/readme/gsoc/idea2_sharing.md">
<i class="fa fa-github"></i> Improve this doc
</a>
</div>
<script>
function stickyHeader() {
return; // Disabled
if ($(window).scrollTop() > 179) {
$('.nav').addClass('sticky');
} else {
$('.nav').removeClass('sticky');
}
}
$('#toc').hide();
$('.help').click(function(event) {
event.preventDefault();
$('#toc').show();
});
$(window).scroll(function() {
stickyHeader();
});
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-103586105-1', 'auto');
ga('send', 'pageview');
</script>
<div class="footer">
Copyright (c) 2016-2019 Laurent Cozic
</div>
</body>
</html>

View File

@ -0,0 +1,373 @@
<!doctype html>
<html>
<!--
!!! WARNING !!!
This file was auto-generated from readme/gsoc/idea3_tagging.md and any manual change
made to it will be overwritten. To make a change to this file please modify
the source Markdown file:
https://github.com/laurent22/joplin/blob/master/readme/gsoc/idea3_tagging.md
-->
<head>
<title>GSoC: Idea 3: Tagging | Joplin</title>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://joplinapp.org/css/bootstrap.min.css">
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico">
<!-- <link rel="stylesheet" href="https://joplinapp.org/css/fontawesome-all.min.css"> -->
<link rel="stylesheet" href="https://joplinapp.org/css/fork-awesome.min.css">
<script src="https://joplinapp.org/js/jquery-3.2.1.slim.min.js"></script>
<style>
body {
background-color: #F1F1F1;
color: #333333;
}
table {
margin-bottom: 1em;
}
td, th {
padding: .8em;
border: 1px solid #ccc;
}
.page-markdown table pre,
.page-markdown table blockquote {
margin-bottom: 0;
}
.page-markdown table pre,
.page-markdown table blockquote {
margin-bottom: 0;
}
.page-markdown table pre {
background-color: rgba(0,0,0,0);
border: none;
margin: 0;
padding: 0;
}
h1, h2 {
border-bottom: 1px solid #eaecef;
padding-bottom: 0.3em;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
font-weight: 600;
font-size: 2em;
margin-bottom: 16px;
}
h2 {
font-size: 1.6em;
}
h3 {
font-size: 1.3em;
}
code {
color: black;
background-color: #eee;
border: 1px solid #ccc;
font-size: .85em;
}
pre code {
border: none;
}
pre {
font-size: .85em;
}
blockquote {
font-size: 1em;
color: #555;
};
#toc ul {
margin-bottom: 10px;
}
#toc {
padding-bottom: 1em;
}
.title-icon {
height: 2em;
}
.sub-title {
font-weight: bold;
font-size: 1.5em;
}
.container {
background-color: white;
padding: 0;
box-shadow: 0 10px 20px #888888;
}
table.screenshots {
margin-top: 2em;
margin-bottom: 2em;
}
table.screenshots th {
height: 3em;
text-align: center;
}
table.screenshots th,
table.screenshots td {
border: 1px solid #C2C2C2;
}
img[align="left"] {
margin-right: 10px;
margin-bottom: 10px;
}
.mobile-screenshot {
height: 40em;
padding: 1em;
}
.cli-screenshot-wrapper {
background-color: black;
vertical-align: top;
padding: 1em 2em 1em 1em;
}
.cli-screenshot {
font-family: "Monaco", "Inconsolata", "CONSOLAS", "Deja Vu Sans Mono", "Droid Sans Mono", "Andale Mono", monospace;
background-color: black;
color: white;
border: none;
}
.cli-screenshot .prompt {
color: #48C2F0;
}
.top-screenshot {
margin-top: 2em;
text-align: center;
}
.header {
position: relative;
padding-left: 2em;
padding-right: 2em;
padding-top: 1em;
padding-bottom: 1em;
color: white;
background-color: #2B2B3D;
}
.header a h1 {
color: white;
}
.content {
padding-left: 2em;
padding-right: 2em;
padding-bottom: 2em;
padding-top: 2em;
}
.forkme {
position: absolute;
right: 0;
top:0;
}
.nav-wrapper {
position: relative;
width: inherit;
}
.nav {
background-color: black;
display: table;
width: inherit;
}
.nav.sticky {
position:fixed;
top: 0;
width: inherit;
box-shadow: 0 0 10px #000000;
}
.nav a {
color: white;
display: inline-block;
padding: .6em .9em .6em .9em;
}
.nav ul {
padding-left: 2em;
margin-bottom: 0;
display: table-cell;
/* min-width: 250px; */
/* For GSoC: */
min-width: 470px;
}
.nav ul li {
display: inline-block;
padding: 0;
}
.nav li.selected {
background-color: #222;
font-weight: bold;
}
.nav-right {
display: table-cell;
width: 100%;
text-align: right;
vertical-align: middle;
line-height: 0;
}
.nav-right .share-btn {
display: none;
}
.nav-right .small-share-btn {
display: none;
}
.footer {
padding-top: 1em;
border-top: 1px solid #d4d4d4;
margin-top: 2em;
color: gray;
font-size: .9em;
}
a.heading-anchor {
display: inline-block;
opacity: 0;
width: 1.3em;
font-size: 0.7em;
margin-left: 0.4em;
line-height: 1em;
text-decoration: none;
transition: opacity 0.3s;
}
a.heading-anchor:hover,
h1:hover a.heading-anchor,
h2:hover a.heading-anchor,
h3:hover a.heading-anchor,
h4:hover a.heading-anchor,
h5:hover a.heading-anchor,
h6:hover a.heading-anchor {
opacity: 1;
}
.bottom-links {
display: flex;
justify-content: center;
border-top: 1px solid #d4d4d4;
margin-top: 30px;
padding-top: 25px;
}
@media all and (min-width: 400px) {
.nav-right .share-btn {
display: inline-block;
}
.nav-right .small-share-btn {
display: none;
}
}
</style>
</head>
<body>
<div class="container page-idea3_tagging">
<div class="header">
<a class="forkme" href="https://github.com/laurent22/joplin"><img src="https://joplinapp.org/images/ForkMe.png"/></a>
<a href="https://joplinapp.org"><h1 id="joplin"><img class="title-icon" src="https://joplinapp.org/images/Icon512.png">oplin</h1></a>
<p class="sub-title">An open source note taking and to-do application with synchronisation capabilities.</p>
</div>
<div class="nav-wrapper">
<div class="nav">
<ul>
<li class=""><a href="https:&#x2F;&#x2F;joplinapp.org/" title="Home"><i class="fa fa-home"></i></a></li>
<li><a href="https://discourse.joplinapp.org" title="Forum">Forum</a></li>
<li><a class="help" href="#" title="Menu">Menu</a></li>
<li><a class="gsoc" href="https://joplinapp.org/gsoc/" title="Menu">Google Summer of Code 2010</a></li>
</ul>
<div class="nav-right">
<!--
<iframe class="share-btn" src="https://www.facebook.com/plugins/share_button.php?href=http%3A%2F%2Fjoplinapp.org&layout=button&size=small&mobile_iframe=true&width=60&height=20&appId" width="60" height="20" style="border:none;overflow:hidden" scrolling="no" frameborder="0" allowTransparency="true"></iframe>
<iframe class="share-btn" src="https://platform.twitter.com/widgets/tweet_button.html?url=http%3A%2F%2Fjoplinapp.org" width="62" height="20" title="Tweet" style="border: 0; overflow: hidden;"></iframe>
-->
<iframe class="share-btn share-btn-github" src="https://ghbtns.com/github-btn.html?user=laurent22&repo=joplin&type=star&count=true" frameborder="0" scrolling="0" width="100px" height="20px"></iframe>
</div>
</div>
</div>
<div class="content">
<div id="toc"><ul>
<li>
<p>Applications</p>
<ul>
<li><a href="https://joplinapp.org/desktop/">Desktop application</a></li>
<li><a href="https://joplinapp.org/mobile/">Mobile applications</a></li>
<li><a href="https://joplinapp.org/terminal/">Terminal application</a></li>
<li><a href="https://joplinapp.org/clipper/">Web Clipper</a></li>
</ul>
</li>
<li>
<p>Support</p>
<ul>
<li><a href="https://discourse.joplinapp.org">Joplin Forum</a></li>
<li><a href="https://joplinapp.org/markdown/">Markdown Guide</a></li>
<li><a href="https://joplinapp.org/e2ee/">How to enable end-to-end encryption</a></li>
<li><a href="https://joplinapp.org/spec/">End-to-end encryption spec</a></li>
<li><a href="https://joplinapp.org/debugging/">How to enable debug mode</a></li>
<li><a href="https://joplinapp.org/api/">API documentation</a></li>
<li><a href="https://joplinapp.org/faq/">FAQ</a></li>
</ul>
</li>
<li>
<p>About</p>
<ul>
<li><a href="https://joplinapp.org/changelog/">Changelog (Desktop App)</a></li>
<li><a href="https://joplinapp.org/changelog_cli/">Changelog (CLI App)</a></li>
<li><a href="https://joplinapp.org/stats/">Stats</a></li>
<li><a href="https://joplinapp.org/donate/">Donate</a></li>
</ul>
</li>
</ul>
</div>
<h1>GSoC: Tag handling<a name="gsoc-tag-handling" href="#gsoc-tag-handling" class="heading-anchor">🔗</a></h1>
<ul>
<li>[<a href="https://github.com/laurent22/joplin/issues/1498">Feature Request] Tags on whole markdown lines #1498</a></li>
<li>[<a href="https://github.com/laurent22/joplin/issues/1399">Feature Request] Option to have a space for tags after the title #1399</a></li>
<li><a href="https://github.com/laurent22/joplin/issues/1407">Feature request: set @tags from markdown editor #1407</a></li>
<li><a href="https://github.com/laurent22/joplin/issues/1221">So many tags #1221</a></li>
<li><a href="https://turtlapp.com/features/">Organize and share using Turtl’s Spaces.</a></li>
</ul>
<p>“[Feature Request] Tags on whole markdown lines #1498”: I prefer we remove this as this too far from standard markdown.</p>
<p>“Feature request: set @tags from markdown editor #1407”. I prefer if we remove this too for the same reason. I think tagging is already easy since there’s a keyboard shortcut for it. Maybe back then there wasn’t.</p>
<p>“So many tags #1221”: Was a bug, which has been fixed.</p>
<div class="bottom-links">
<a href="https://github.com/laurent22/joplin/blob/master/readme/gsoc/idea3_tagging.md">
<i class="fa fa-github"></i> Improve this doc
</a>
</div>
<script>
function stickyHeader() {
return; // Disabled
if ($(window).scrollTop() > 179) {
$('.nav').addClass('sticky');
} else {
$('.nav').removeClass('sticky');
}
}
$('#toc').hide();
$('.help').click(function(event) {
event.preventDefault();
$('#toc').show();
});
$(window).scroll(function() {
stickyHeader();
});
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-103586105-1', 'auto');
ga('send', 'pageview');
</script>
<div class="footer">
Copyright (c) 2016-2019 Laurent Cozic
</div>
</body>
</html>

364
docs/gsoc/idea4_search.html Normal file
View File

@ -0,0 +1,364 @@
<!doctype html>
<html>
<!--
!!! WARNING !!!
This file was auto-generated from readme/gsoc/idea4_search.md and any manual change
made to it will be overwritten. To make a change to this file please modify
the source Markdown file:
https://github.com/laurent22/joplin/blob/master/readme/gsoc/idea4_search.md
-->
<head>
<title>GSoC: Idea 4: Search | Joplin</title>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://joplinapp.org/css/bootstrap.min.css">
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico">
<!-- <link rel="stylesheet" href="https://joplinapp.org/css/fontawesome-all.min.css"> -->
<link rel="stylesheet" href="https://joplinapp.org/css/fork-awesome.min.css">
<script src="https://joplinapp.org/js/jquery-3.2.1.slim.min.js"></script>
<style>
body {
background-color: #F1F1F1;
color: #333333;
}
table {
margin-bottom: 1em;
}
td, th {
padding: .8em;
border: 1px solid #ccc;
}
.page-markdown table pre,
.page-markdown table blockquote {
margin-bottom: 0;
}
.page-markdown table pre,
.page-markdown table blockquote {
margin-bottom: 0;
}
.page-markdown table pre {
background-color: rgba(0,0,0,0);
border: none;
margin: 0;
padding: 0;
}
h1, h2 {
border-bottom: 1px solid #eaecef;
padding-bottom: 0.3em;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
font-weight: 600;
font-size: 2em;
margin-bottom: 16px;
}
h2 {
font-size: 1.6em;
}
h3 {
font-size: 1.3em;
}
code {
color: black;
background-color: #eee;
border: 1px solid #ccc;
font-size: .85em;
}
pre code {
border: none;
}
pre {
font-size: .85em;
}
blockquote {
font-size: 1em;
color: #555;
};
#toc ul {
margin-bottom: 10px;
}
#toc {
padding-bottom: 1em;
}
.title-icon {
height: 2em;
}
.sub-title {
font-weight: bold;
font-size: 1.5em;
}
.container {
background-color: white;
padding: 0;
box-shadow: 0 10px 20px #888888;
}
table.screenshots {
margin-top: 2em;
margin-bottom: 2em;
}
table.screenshots th {
height: 3em;
text-align: center;
}
table.screenshots th,
table.screenshots td {
border: 1px solid #C2C2C2;
}
img[align="left"] {
margin-right: 10px;
margin-bottom: 10px;
}
.mobile-screenshot {
height: 40em;
padding: 1em;
}
.cli-screenshot-wrapper {
background-color: black;
vertical-align: top;
padding: 1em 2em 1em 1em;
}
.cli-screenshot {
font-family: "Monaco", "Inconsolata", "CONSOLAS", "Deja Vu Sans Mono", "Droid Sans Mono", "Andale Mono", monospace;
background-color: black;
color: white;
border: none;
}
.cli-screenshot .prompt {
color: #48C2F0;
}
.top-screenshot {
margin-top: 2em;
text-align: center;
}
.header {
position: relative;
padding-left: 2em;
padding-right: 2em;
padding-top: 1em;
padding-bottom: 1em;
color: white;
background-color: #2B2B3D;
}
.header a h1 {
color: white;
}
.content {
padding-left: 2em;
padding-right: 2em;
padding-bottom: 2em;
padding-top: 2em;
}
.forkme {
position: absolute;
right: 0;
top:0;
}
.nav-wrapper {
position: relative;
width: inherit;
}
.nav {
background-color: black;
display: table;
width: inherit;
}
.nav.sticky {
position:fixed;
top: 0;
width: inherit;
box-shadow: 0 0 10px #000000;
}
.nav a {
color: white;
display: inline-block;
padding: .6em .9em .6em .9em;
}
.nav ul {
padding-left: 2em;
margin-bottom: 0;
display: table-cell;
/* min-width: 250px; */
/* For GSoC: */
min-width: 470px;
}
.nav ul li {
display: inline-block;
padding: 0;
}
.nav li.selected {
background-color: #222;
font-weight: bold;
}
.nav-right {
display: table-cell;
width: 100%;
text-align: right;
vertical-align: middle;
line-height: 0;
}
.nav-right .share-btn {
display: none;
}
.nav-right .small-share-btn {
display: none;
}
.footer {
padding-top: 1em;
border-top: 1px solid #d4d4d4;
margin-top: 2em;
color: gray;
font-size: .9em;
}
a.heading-anchor {
display: inline-block;
opacity: 0;
width: 1.3em;
font-size: 0.7em;
margin-left: 0.4em;
line-height: 1em;
text-decoration: none;
transition: opacity 0.3s;
}
a.heading-anchor:hover,
h1:hover a.heading-anchor,
h2:hover a.heading-anchor,
h3:hover a.heading-anchor,
h4:hover a.heading-anchor,
h5:hover a.heading-anchor,
h6:hover a.heading-anchor {
opacity: 1;
}
.bottom-links {
display: flex;
justify-content: center;
border-top: 1px solid #d4d4d4;
margin-top: 30px;
padding-top: 25px;
}
@media all and (min-width: 400px) {
.nav-right .share-btn {
display: inline-block;
}
.nav-right .small-share-btn {
display: none;
}
}
</style>
</head>
<body>
<div class="container page-idea4_search">
<div class="header">
<a class="forkme" href="https://github.com/laurent22/joplin"><img src="https://joplinapp.org/images/ForkMe.png"/></a>
<a href="https://joplinapp.org"><h1 id="joplin"><img class="title-icon" src="https://joplinapp.org/images/Icon512.png">oplin</h1></a>
<p class="sub-title">An open source note taking and to-do application with synchronisation capabilities.</p>
</div>
<div class="nav-wrapper">
<div class="nav">
<ul>
<li class=""><a href="https:&#x2F;&#x2F;joplinapp.org/" title="Home"><i class="fa fa-home"></i></a></li>
<li><a href="https://discourse.joplinapp.org" title="Forum">Forum</a></li>
<li><a class="help" href="#" title="Menu">Menu</a></li>
<li><a class="gsoc" href="https://joplinapp.org/gsoc/" title="Menu">Google Summer of Code 2010</a></li>
</ul>
<div class="nav-right">
<!--
<iframe class="share-btn" src="https://www.facebook.com/plugins/share_button.php?href=http%3A%2F%2Fjoplinapp.org&layout=button&size=small&mobile_iframe=true&width=60&height=20&appId" width="60" height="20" style="border:none;overflow:hidden" scrolling="no" frameborder="0" allowTransparency="true"></iframe>
<iframe class="share-btn" src="https://platform.twitter.com/widgets/tweet_button.html?url=http%3A%2F%2Fjoplinapp.org" width="62" height="20" title="Tweet" style="border: 0; overflow: hidden;"></iframe>
-->
<iframe class="share-btn share-btn-github" src="https://ghbtns.com/github-btn.html?user=laurent22&repo=joplin&type=star&count=true" frameborder="0" scrolling="0" width="100px" height="20px"></iframe>
</div>
</div>
</div>
<div class="content">
<div id="toc"><ul>
<li>
<p>Applications</p>
<ul>
<li><a href="https://joplinapp.org/desktop/">Desktop application</a></li>
<li><a href="https://joplinapp.org/mobile/">Mobile applications</a></li>
<li><a href="https://joplinapp.org/terminal/">Terminal application</a></li>
<li><a href="https://joplinapp.org/clipper/">Web Clipper</a></li>
</ul>
</li>
<li>
<p>Support</p>
<ul>
<li><a href="https://discourse.joplinapp.org">Joplin Forum</a></li>
<li><a href="https://joplinapp.org/markdown/">Markdown Guide</a></li>
<li><a href="https://joplinapp.org/e2ee/">How to enable end-to-end encryption</a></li>
<li><a href="https://joplinapp.org/spec/">End-to-end encryption spec</a></li>
<li><a href="https://joplinapp.org/debugging/">How to enable debug mode</a></li>
<li><a href="https://joplinapp.org/api/">API documentation</a></li>
<li><a href="https://joplinapp.org/faq/">FAQ</a></li>
</ul>
</li>
<li>
<p>About</p>
<ul>
<li><a href="https://joplinapp.org/changelog/">Changelog (Desktop App)</a></li>
<li><a href="https://joplinapp.org/changelog_cli/">Changelog (CLI App)</a></li>
<li><a href="https://joplinapp.org/stats/">Stats</a></li>
<li><a href="https://joplinapp.org/donate/">Donate</a></li>
</ul>
</li>
</ul>
</div>
<h1>GSoC: Search engine improvements<a name="gsoc-search-engine-improvements" href="#gsoc-search-engine-improvements" class="heading-anchor">🔗</a></h1>
<p><a href="https://github.com/laurent22/joplin/issues/1877">Search engine improvements</a></p>
<div class="bottom-links">
<a href="https://github.com/laurent22/joplin/blob/master/readme/gsoc/idea4_search.md">
<i class="fa fa-github"></i> Improve this doc
</a>
</div>
<script>
function stickyHeader() {
return; // Disabled
if ($(window).scrollTop() > 179) {
$('.nav').addClass('sticky');
} else {
$('.nav').removeClass('sticky');
}
}
$('#toc').hide();
$('.help').click(function(event) {
event.preventDefault();
$('#toc').show();
});
$(window).scroll(function() {
stickyHeader();
});
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-103586105-1', 'auto');
ga('send', 'pageview');
</script>
<div class="footer">
Copyright (c) 2016-2019 Laurent Cozic
</div>
</body>
</html>

View File

@ -0,0 +1,369 @@
<!doctype html>
<html>
<!--
!!! WARNING !!!
This file was auto-generated from readme/gsoc/idea5_password_per_note.md and any manual change
made to it will be overwritten. To make a change to this file please modify
the source Markdown file:
https://github.com/laurent22/joplin/blob/master/readme/gsoc/idea5_password_per_note.md
-->
<head>
<title>GSoC: Idea 5: Password per Note | Joplin</title>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://joplinapp.org/css/bootstrap.min.css">
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico">
<!-- <link rel="stylesheet" href="https://joplinapp.org/css/fontawesome-all.min.css"> -->
<link rel="stylesheet" href="https://joplinapp.org/css/fork-awesome.min.css">
<script src="https://joplinapp.org/js/jquery-3.2.1.slim.min.js"></script>
<style>
body {
background-color: #F1F1F1;
color: #333333;
}
table {
margin-bottom: 1em;
}
td, th {
padding: .8em;
border: 1px solid #ccc;
}
.page-markdown table pre,
.page-markdown table blockquote {
margin-bottom: 0;
}
.page-markdown table pre,
.page-markdown table blockquote {
margin-bottom: 0;
}
.page-markdown table pre {
background-color: rgba(0,0,0,0);
border: none;
margin: 0;
padding: 0;
}
h1, h2 {
border-bottom: 1px solid #eaecef;
padding-bottom: 0.3em;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
font-weight: 600;
font-size: 2em;
margin-bottom: 16px;
}
h2 {
font-size: 1.6em;
}
h3 {
font-size: 1.3em;
}
code {
color: black;
background-color: #eee;
border: 1px solid #ccc;
font-size: .85em;
}
pre code {
border: none;
}
pre {
font-size: .85em;
}
blockquote {
font-size: 1em;
color: #555;
};
#toc ul {
margin-bottom: 10px;
}
#toc {
padding-bottom: 1em;
}
.title-icon {
height: 2em;
}
.sub-title {
font-weight: bold;
font-size: 1.5em;
}
.container {
background-color: white;
padding: 0;
box-shadow: 0 10px 20px #888888;
}
table.screenshots {
margin-top: 2em;
margin-bottom: 2em;
}
table.screenshots th {
height: 3em;
text-align: center;
}
table.screenshots th,
table.screenshots td {
border: 1px solid #C2C2C2;
}
img[align="left"] {
margin-right: 10px;
margin-bottom: 10px;
}
.mobile-screenshot {
height: 40em;
padding: 1em;
}
.cli-screenshot-wrapper {
background-color: black;
vertical-align: top;
padding: 1em 2em 1em 1em;
}
.cli-screenshot {
font-family: "Monaco", "Inconsolata", "CONSOLAS", "Deja Vu Sans Mono", "Droid Sans Mono", "Andale Mono", monospace;
background-color: black;
color: white;
border: none;
}
.cli-screenshot .prompt {
color: #48C2F0;
}
.top-screenshot {
margin-top: 2em;
text-align: center;
}
.header {
position: relative;
padding-left: 2em;
padding-right: 2em;
padding-top: 1em;
padding-bottom: 1em;
color: white;
background-color: #2B2B3D;
}
.header a h1 {
color: white;
}
.content {
padding-left: 2em;
padding-right: 2em;
padding-bottom: 2em;
padding-top: 2em;
}
.forkme {
position: absolute;
right: 0;
top:0;
}
.nav-wrapper {
position: relative;
width: inherit;
}
.nav {
background-color: black;
display: table;
width: inherit;
}
.nav.sticky {
position:fixed;
top: 0;
width: inherit;
box-shadow: 0 0 10px #000000;
}
.nav a {
color: white;
display: inline-block;
padding: .6em .9em .6em .9em;
}
.nav ul {
padding-left: 2em;
margin-bottom: 0;
display: table-cell;
/* min-width: 250px; */
/* For GSoC: */
min-width: 470px;
}
.nav ul li {
display: inline-block;
padding: 0;
}
.nav li.selected {
background-color: #222;
font-weight: bold;
}
.nav-right {
display: table-cell;
width: 100%;
text-align: right;
vertical-align: middle;
line-height: 0;
}
.nav-right .share-btn {
display: none;
}
.nav-right .small-share-btn {
display: none;
}
.footer {
padding-top: 1em;
border-top: 1px solid #d4d4d4;
margin-top: 2em;
color: gray;
font-size: .9em;
}
a.heading-anchor {
display: inline-block;
opacity: 0;
width: 1.3em;
font-size: 0.7em;
margin-left: 0.4em;
line-height: 1em;
text-decoration: none;
transition: opacity 0.3s;
}
a.heading-anchor:hover,
h1:hover a.heading-anchor,
h2:hover a.heading-anchor,
h3:hover a.heading-anchor,
h4:hover a.heading-anchor,
h5:hover a.heading-anchor,
h6:hover a.heading-anchor {
opacity: 1;
}
.bottom-links {
display: flex;
justify-content: center;
border-top: 1px solid #d4d4d4;
margin-top: 30px;
padding-top: 25px;
}
@media all and (min-width: 400px) {
.nav-right .share-btn {
display: inline-block;
}
.nav-right .small-share-btn {
display: none;
}
}
</style>
</head>
<body>
<div class="container page-idea5_password_per_note">
<div class="header">
<a class="forkme" href="https://github.com/laurent22/joplin"><img src="https://joplinapp.org/images/ForkMe.png"/></a>
<a href="https://joplinapp.org"><h1 id="joplin"><img class="title-icon" src="https://joplinapp.org/images/Icon512.png">oplin</h1></a>
<p class="sub-title">An open source note taking and to-do application with synchronisation capabilities.</p>
</div>
<div class="nav-wrapper">
<div class="nav">
<ul>
<li class=""><a href="https:&#x2F;&#x2F;joplinapp.org/" title="Home"><i class="fa fa-home"></i></a></li>
<li><a href="https://discourse.joplinapp.org" title="Forum">Forum</a></li>
<li><a class="help" href="#" title="Menu">Menu</a></li>
<li><a class="gsoc" href="https://joplinapp.org/gsoc/" title="Menu">Google Summer of Code 2010</a></li>
</ul>
<div class="nav-right">
<!--
<iframe class="share-btn" src="https://www.facebook.com/plugins/share_button.php?href=http%3A%2F%2Fjoplinapp.org&layout=button&size=small&mobile_iframe=true&width=60&height=20&appId" width="60" height="20" style="border:none;overflow:hidden" scrolling="no" frameborder="0" allowTransparency="true"></iframe>
<iframe class="share-btn" src="https://platform.twitter.com/widgets/tweet_button.html?url=http%3A%2F%2Fjoplinapp.org" width="62" height="20" title="Tweet" style="border: 0; overflow: hidden;"></iframe>
-->
<iframe class="share-btn share-btn-github" src="https://ghbtns.com/github-btn.html?user=laurent22&repo=joplin&type=star&count=true" frameborder="0" scrolling="0" width="100px" height="20px"></iframe>
</div>
</div>
</div>
<div class="content">
<div id="toc"><ul>
<li>
<p>Applications</p>
<ul>
<li><a href="https://joplinapp.org/desktop/">Desktop application</a></li>
<li><a href="https://joplinapp.org/mobile/">Mobile applications</a></li>
<li><a href="https://joplinapp.org/terminal/">Terminal application</a></li>
<li><a href="https://joplinapp.org/clipper/">Web Clipper</a></li>
</ul>
</li>
<li>
<p>Support</p>
<ul>
<li><a href="https://discourse.joplinapp.org">Joplin Forum</a></li>
<li><a href="https://joplinapp.org/markdown/">Markdown Guide</a></li>
<li><a href="https://joplinapp.org/e2ee/">How to enable end-to-end encryption</a></li>
<li><a href="https://joplinapp.org/spec/">End-to-end encryption spec</a></li>
<li><a href="https://joplinapp.org/debugging/">How to enable debug mode</a></li>
<li><a href="https://joplinapp.org/api/">API documentation</a></li>
<li><a href="https://joplinapp.org/faq/">FAQ</a></li>
</ul>
</li>
<li>
<p>About</p>
<ul>
<li><a href="https://joplinapp.org/changelog/">Changelog (Desktop App)</a></li>
<li><a href="https://joplinapp.org/changelog_cli/">Changelog (CLI App)</a></li>
<li><a href="https://joplinapp.org/stats/">Stats</a></li>
<li><a href="https://joplinapp.org/donate/">Donate</a></li>
</ul>
</li>
</ul>
</div>
<h1>GSoC: Additinal protection per note<a name="gsoc-additinal-protection-per-note" href="#gsoc-additinal-protection-per-note" class="heading-anchor">🔗</a></h1>
<ul>
<li>[<a href="https://github.com/laurent22/joplin/issues/289">Feature request] Password or pin protection</a></li>
<li>[<a href="https://github.com/laurent22/joplin/issues/419">Suggestion] Add instructions to generate app-specific password enhancement</a></li>
<li><a href="https://turtlapp.com/docs/security">Turtl Documentation - Security and encryption</a></li>
</ul>
<p><a href="https://github.com/laurent22/joplin/issues/289">Password or pin protection</a>: It’s very unclear what people want. It seems the threat model is you give your unlocked phone or laptop to someone, and you don’t want them to see your notes. But of course, the solution is to not do that. All devices these days support multiple accounts, so there’s no point giving their unlocked device to someone they don’t trust. I think we should remove this issue until it’s betted defined. Perhaps it should go to a different category like, “to be specified”. We need to know what’s the threat model, what people want. I’ve heard dozens of variations (locking the app, obfuscating the data, encrypting the data, encrypting a note, a notebook, encrypting a part of a note, etc.) so it’s unclear what needs to be done. I guess for me it seems so unnecessary that I can’t quite wrap my head around it.</p>
<div class="bottom-links">
<a href="https://github.com/laurent22/joplin/blob/master/readme/gsoc/idea5_password_per_note.md">
<i class="fa fa-github"></i> Improve this doc
</a>
</div>
<script>
function stickyHeader() {
return; // Disabled
if ($(window).scrollTop() > 179) {
$('.nav').addClass('sticky');
} else {
$('.nav').removeClass('sticky');
}
}
$('#toc').hide();
$('.help').click(function(event) {
event.preventDefault();
$('#toc').show();
});
$(window).scroll(function() {
stickyHeader();
});
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-103586105-1', 'auto');
ga('send', 'pageview');
</script>
<div class="footer">
Copyright (c) 2016-2019 Laurent Cozic
</div>
</body>
</html>

471
docs/gsoc/index.html Normal file
View File

@ -0,0 +1,471 @@
<!doctype html>
<html>
<!--
!!! WARNING !!!
This file was auto-generated from readme/gsoc/index.md and any manual change
made to it will be overwritten. To make a change to this file please modify
the source Markdown file:
https://github.com/laurent22/joplin/blob/master/readme/gsoc/index.md
-->
<head>
<title>Google Summer of Code | Joplin</title>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://joplinapp.org/css/bootstrap.min.css">
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico">
<!-- <link rel="stylesheet" href="https://joplinapp.org/css/fontawesome-all.min.css"> -->
<link rel="stylesheet" href="https://joplinapp.org/css/fork-awesome.min.css">
<script src="https://joplinapp.org/js/jquery-3.2.1.slim.min.js"></script>
<style>
body {
background-color: #F1F1F1;
color: #333333;
}
table {
margin-bottom: 1em;
}
td, th {
padding: .8em;
border: 1px solid #ccc;
}
.page-markdown table pre,
.page-markdown table blockquote {
margin-bottom: 0;
}
.page-markdown table pre,
.page-markdown table blockquote {
margin-bottom: 0;
}
.page-markdown table pre {
background-color: rgba(0,0,0,0);
border: none;
margin: 0;
padding: 0;
}
h1, h2 {
border-bottom: 1px solid #eaecef;
padding-bottom: 0.3em;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
font-weight: 600;
font-size: 2em;
margin-bottom: 16px;
}
h2 {
font-size: 1.6em;
}
h3 {
font-size: 1.3em;
}
code {
color: black;
background-color: #eee;
border: 1px solid #ccc;
font-size: .85em;
}
pre code {
border: none;
}
pre {
font-size: .85em;
}
blockquote {
font-size: 1em;
color: #555;
};
#toc ul {
margin-bottom: 10px;
}
#toc {
padding-bottom: 1em;
}
.title-icon {
height: 2em;
}
.sub-title {
font-weight: bold;
font-size: 1.5em;
}
.container {
background-color: white;
padding: 0;
box-shadow: 0 10px 20px #888888;
}
table.screenshots {
margin-top: 2em;
margin-bottom: 2em;
}
table.screenshots th {
height: 3em;
text-align: center;
}
table.screenshots th,
table.screenshots td {
border: 1px solid #C2C2C2;
}
img[align="left"] {
margin-right: 10px;
margin-bottom: 10px;
}
.mobile-screenshot {
height: 40em;
padding: 1em;
}
.cli-screenshot-wrapper {
background-color: black;
vertical-align: top;
padding: 1em 2em 1em 1em;
}
.cli-screenshot {
font-family: "Monaco", "Inconsolata", "CONSOLAS", "Deja Vu Sans Mono", "Droid Sans Mono", "Andale Mono", monospace;
background-color: black;
color: white;
border: none;
}
.cli-screenshot .prompt {
color: #48C2F0;
}
.top-screenshot {
margin-top: 2em;
text-align: center;
}
.header {
position: relative;
padding-left: 2em;
padding-right: 2em;
padding-top: 1em;
padding-bottom: 1em;
color: white;
background-color: #2B2B3D;
}
.header a h1 {
color: white;
}
.content {
padding-left: 2em;
padding-right: 2em;
padding-bottom: 2em;
padding-top: 2em;
}
.forkme {
position: absolute;
right: 0;
top:0;
}
.nav-wrapper {
position: relative;
width: inherit;
}
.nav {
background-color: black;
display: table;
width: inherit;
}
.nav.sticky {
position:fixed;
top: 0;
width: inherit;
box-shadow: 0 0 10px #000000;
}
.nav a {
color: white;
display: inline-block;
padding: .6em .9em .6em .9em;
}
.nav ul {
padding-left: 2em;
margin-bottom: 0;
display: table-cell;
/* min-width: 250px; */
/* For GSoC: */
min-width: 470px;
}
.nav ul li {
display: inline-block;
padding: 0;
}
.nav li.selected {
background-color: #222;
font-weight: bold;
}
.nav-right {
display: table-cell;
width: 100%;
text-align: right;
vertical-align: middle;
line-height: 0;
}
.nav-right .share-btn {
display: none;
}
.nav-right .small-share-btn {
display: none;
}
.footer {
padding-top: 1em;
border-top: 1px solid #d4d4d4;
margin-top: 2em;
color: gray;
font-size: .9em;
}
a.heading-anchor {
display: inline-block;
opacity: 0;
width: 1.3em;
font-size: 0.7em;
margin-left: 0.4em;
line-height: 1em;
text-decoration: none;
transition: opacity 0.3s;
}
a.heading-anchor:hover,
h1:hover a.heading-anchor,
h2:hover a.heading-anchor,
h3:hover a.heading-anchor,
h4:hover a.heading-anchor,
h5:hover a.heading-anchor,
h6:hover a.heading-anchor {
opacity: 1;
}
.bottom-links {
display: flex;
justify-content: center;
border-top: 1px solid #d4d4d4;
margin-top: 30px;
padding-top: 25px;
}
@media all and (min-width: 400px) {
.nav-right .share-btn {
display: inline-block;
}
.nav-right .small-share-btn {
display: none;
}
}
</style>
</head>
<body>
<div class="container page-index">
<div class="header">
<a class="forkme" href="https://github.com/laurent22/joplin"><img src="https://joplinapp.org/images/ForkMe.png"/></a>
<a href="https://joplinapp.org"><h1 id="joplin"><img class="title-icon" src="https://joplinapp.org/images/Icon512.png">oplin</h1></a>
<p class="sub-title">An open source note taking and to-do application with synchronisation capabilities.</p>
</div>
<div class="nav-wrapper">
<div class="nav">
<ul>
<li class=""><a href="https:&#x2F;&#x2F;joplinapp.org/" title="Home"><i class="fa fa-home"></i></a></li>
<li><a href="https://discourse.joplinapp.org" title="Forum">Forum</a></li>
<li><a class="help" href="#" title="Menu">Menu</a></li>
<li><a class="gsoc" href="https://joplinapp.org/gsoc/" title="Menu">Google Summer of Code 2010</a></li>
</ul>
<div class="nav-right">
<!--
<iframe class="share-btn" src="https://www.facebook.com/plugins/share_button.php?href=http%3A%2F%2Fjoplinapp.org&layout=button&size=small&mobile_iframe=true&width=60&height=20&appId" width="60" height="20" style="border:none;overflow:hidden" scrolling="no" frameborder="0" allowTransparency="true"></iframe>
<iframe class="share-btn" src="https://platform.twitter.com/widgets/tweet_button.html?url=http%3A%2F%2Fjoplinapp.org" width="62" height="20" title="Tweet" style="border: 0; overflow: hidden;"></iframe>
-->
<iframe class="share-btn share-btn-github" src="https://ghbtns.com/github-btn.html?user=laurent22&repo=joplin&type=star&count=true" frameborder="0" scrolling="0" width="100px" height="20px"></iframe>
</div>
</div>
</div>
<div class="content">
<div id="toc"><ul>
<li>
<p>Applications</p>
<ul>
<li><a href="https://joplinapp.org/desktop/">Desktop application</a></li>
<li><a href="https://joplinapp.org/mobile/">Mobile applications</a></li>
<li><a href="https://joplinapp.org/terminal/">Terminal application</a></li>
<li><a href="https://joplinapp.org/clipper/">Web Clipper</a></li>
</ul>
</li>
<li>
<p>Support</p>
<ul>
<li><a href="https://discourse.joplinapp.org">Joplin Forum</a></li>
<li><a href="https://joplinapp.org/markdown/">Markdown Guide</a></li>
<li><a href="https://joplinapp.org/e2ee/">How to enable end-to-end encryption</a></li>
<li><a href="https://joplinapp.org/spec/">End-to-end encryption spec</a></li>
<li><a href="https://joplinapp.org/debugging/">How to enable debug mode</a></li>
<li><a href="https://joplinapp.org/api/">API documentation</a></li>
<li><a href="https://joplinapp.org/faq/">FAQ</a></li>
</ul>
</li>
<li>
<p>About</p>
<ul>
<li><a href="https://joplinapp.org/changelog/">Changelog (Desktop App)</a></li>
<li><a href="https://joplinapp.org/changelog_cli/">Changelog (CLI App)</a></li>
<li><a href="https://joplinapp.org/stats/">Stats</a></li>
<li><a href="https://joplinapp.org/donate/">Donate</a></li>
</ul>
</li>
</ul>
</div>
<h1>Google Summer of Code<a name="google-summer-of-code" href="#google-summer-of-code" class="heading-anchor">🔗</a></h1>
<p>Joplin has a young but well proven history. It all started by single idea but is rising more and more commitment as well as demands.</p>
<p>Joplin is about to make another big step to answers these demands by applying at Google Summer of Code. All students and Joplin users and developers are welcome to participate in the hopefully first year Summer of Code program with Joplin. Here's how.</p>
<p>Mentors, administrators and students: read <a href="https://developers.google.com/open-source/gsoc">Summer of Code</a> occasionally. Also read the <a href="https://developers.google.com/open-source/gsoc/faq">Summer of Code FAQ</a>.</p>
<p>All participants will need a Google account in order to join the program. So, save time and create one now. In addition, all participants need to join the <a href="https://discourse.joplinapp.org">Joplin Forum</a>.</p>
<h2>Programming Language<a name="programming-language" href="#programming-language" class="heading-anchor">🔗</a></h2>
<p>All applications share the same back-end written in JavaScript (Node.js), with Redux for state management. The back-end runs locally.</p>
<p>The GUI's, as listed on the <a href="https://joplinapp.org/#installation">Joplin's website</a> are:</p>
<ul>
<li>ClL: terminal-kit</li>
<li>Desktop: Electron</li>
<li>Mobile: React Native</li>
</ul>
<p>More details can be found on:</p>
<ul>
<li><a href="https://github.com/laurent22/joplin/blob/master/CONTRIBUTING.md">How to contribute</a></li>
<li><a href="https://github.com/laurent22/joplin/blob/master/BUILD.md#building-the-tools">How to build</a></li>
</ul>
<p>Moreover there are community driven projects such as:</p>
<ul>
<li><a href="https://github.com/foxmask/joplin-web">Joplin Web</a></li>
</ul>
<p>Submissions and ideas for projects in any other language should specifically mention the choice.</p>
<h2>Instructions for students<a name="instructions-for-students" href="#instructions-for-students" class="heading-anchor">🔗</a></h2>
<p>Students wishing to participate in Summer of Code must realize, that this is a important professional opportunity. You will be required to produce applicable and readable code for Joplin in 3 months. Your mentors, will dedicate a portion of their time to mentoring you. Therefore, we seek candidates who are committed to helping Joplin and its community long-term and are willing to both do quality work, and be proactive in communicating with your mentor(s).</p>
<p>You don't have to be a proven developer -- in fact, this whole program is meant to facilitate joining Joplin and other Open Source communities. However, experience in coding and/or experience with the above mentioned programming languages and the applications is welcome.</p>
<p>Currently there is only <a href="https://github.com/laurent22/joplin/blob/master/CONTRIBUTING.md">How to contribute</a> and <a href="https://github.com/laurent22/joplin/blob/master/BUILD.md#building-the-tools">How to build</a> but more details are bout to come on how to interact and how to commit.<br>
In general it can be said, that question shall be asked early and clearly, given everyone the possibility to understand why you want to have this question answered and how it helps to achieve the project's goal.</p>
<p>Before you can be accepted as a student we expect you to fix some bugs and link that work on your proposal.</p>
<p>You should start learning the components that you plan on working on before the start date. Support can be found in the forum and on our dedicated discourse channel.</p>
<p>Do not worry, the the timeline from Google reserves a lot of time for bonding periods but use that time wisely. Good communication is key. To allow us to respond quickly tag your questions with #GSoC and #2020.</p>
<p>You should plan to communicate with your team several times per week, and formally report progress and plans weekly. You are free to chose the format, it can be an sophisticated online document or simple continuous blog on GitHub.<br>
Moreover, we require that you come to clear agreement on how to commit, test and build. We don't see us loosing time on how to test instead accentually testing your commits.</p>
<p><strong>Students who neglect active communication will be failed</strong>.</p>
<h2>General instructions<a name="general-instructions" href="#general-instructions" class="heading-anchor">🔗</a></h2>
<p>First of all, please read the above referenced resources and the <a href="https://developers.google.com/open-source/gsoc/faq">GSoC FAQ</a>. Pay special attention to the <strong>Eligibility</strong> section of the FAQ.</p>
<h2>Recommended steps<a name="recommended-steps" href="#recommended-steps" class="heading-anchor">🔗</a></h2>
<ol>
<li>Join the <a href="https://discourse.joplinapp.org">Joplin Forum</a>, introduce yourself, and meet your fellow developers in the <a href="https://discourse.joplinapp.org/c/development">Development category</a></li>
<li>Read Student proposal guidelines and the <a href="https://developers.google.com/open-source/gsoc/resources/manual#student_manual">GSoC Student Manual</a></li>
<li>Take a look at the [list of ideas]. You can have you own idea addeed by posting it in the <a href="https://discourse.joplinapp.org/c/features">Features category</a></li>
<li>Come up with project that you're interested in and discusse it in <a href="https://discourse.joplinapp.org/c/development">Development category</a></li>
<li>Write a first draft and get someone to review it</li>
<li>Remember: you must link to work such as commits in your proposal. A private place will be created wihtinn the forum for that purposes.</li>
<li>Read <a href="http://teom.org/blog/kde/how-to-write-a-kick-ass-proposal-for-google-summer-of-code/">How to write a kickass proposal for GSoC</a></li>
<li>Submit proposal using <a href="https://summerofcode.withgoogle.com/">Google's web interface</a> ahead of the deadline</li>
<li>Submit proof of enrollment well ahead of the deadline</li>
</ol>
<p>Coming up with an interesting idea is probably the most difficult part. It should be something interesting for Joplin, for Open Source in general and for you. And it must be something that you can realistically achieve in the time available to you.</p>
<p>A good start is finding out what the most pressing issues are in the projects in which you are interested. Join the forum and subscribe to GitHub repository for that project or go into its discourse channel: meet developers and your potential mentor, as well as start learning the code-base. We recommend strongly getting involved in advance of the beginning of GSoC, and we will look favorably on applications from students who have already started to act like Open Source developers.</p>
<h2>Student proposal guidelines<a name="student-proposal-guidelines" href="#student-proposal-guidelines" class="heading-anchor">🔗</a></h2>
<p>A project proposal is what you will be judged upon. Write a clear proposal on what you plan to do, the scope of your project, and why we should choose you to do it. Proposals are the basis of the GSoC projects and therefore one of the most important things to do well. The proposal is not only the basis of our decision of which student to choose, it has also an effect on Google's decision as to how many student slots are assigned to Joplin.</p>
<p>Below is the application template:</p>
<blockquote>
<p><strong>Introduction</strong></p>
<p>Every software project should solve a problem. Before offering the solution (your Google Summer of Code project), you should first define the problem. What’s the current state of things? What’s the issue you wish to solve and why? Then you should conclude with a sentence or two about your solution. Include links to discussions, features, or bugs that describe the problem further if necessary.</p>
<p><strong>Project goals</strong></p>
<p>Be short and to the point, and perhaps format it as a list. Propose a clear list of deliverables, explaining exactly what you promise to do and what you do not plan to do. “Future developments” can be mentioned, but your promise for the Google Summer of Code term is what counts.</p>
<p><strong>Implementation</strong></p>
<p>Be detailed. Describe what you plan to do as a solution for the problem you defined above. Include technical details, showing that you understand the technology. Illustrate key technical elements of your proposed solution in reasonable detail. Include writing unit tests throughout the coding period, as well as code documentation. These critical elements cannot be left to the last few weeks of the program. If user documentation will be required, or apidox, etc. these should be written during each week, not at the end.</p>
<p><strong>Timeline</strong></p>
<p>Show that you understand the problem, have a solution, have also broken it down into manageable parts, and that you have a realistic plan on how to accomplish your goal. Here you set expectations, so don’t make promises you can’t keep. A modest, realistic and detailed timeline is better than promising the impossible.</p>
<p>If you have other commitments during GSoC, such as a job, vacation, exams, internship, seminars, or papers to write, disclose them here. GSoC should be treated like a full-time job, and we will expect approximately 40 hours of work per week. <em>If you have conflicts, explain how you will work around them.</em> If you are found to have conflicts which you did not disclose, you may be failed.</p>
<p>Open and clear communication is of utmost importance. <strong>Include your plans for communication in your proposal; daily if possible.</strong> You will need to initiate weekly formal communication such as a blog post on to be agreed placed. Lack of communication will result in you being failed.</p>
<p><strong>About me</strong></p>
<p>Provide your contact information (IRC nick, email, IM, phone) and write a few sentences about you and why you think you are the best for this job. <strong>Prior contributions to Joplin are required; list your commits.</strong> Name people (other developers, students, professors) who can act as a reference for you. Mention your field of study if necessary. Now is the time to join the relevant irc/telegram channels, mail lists and blog feeds. We want you to be a part of our community, not just contribute your code.</p>
<p><em>Tell us if you are submitting proposals to other organizations, and whether or not you would choose Joplin if given the choice.</em></p>
<p><em>Other things to think about:</em></p>
<ul>
<li>
<p>Are you comfortable working independently under a supervisor or mentor who is several thousand miles away, and perhaps 12 time zones away? How will you work with your mentor to track your work? Have you worked in this style before?</p>
</li>
<li>
<p>If your native language is not English, are you comfortable working closely with a supervisor whose native language is English? What is your native language, as that may help us find a mentor who has the same native language?</p>
</li>
<li>
<p>After you have written your proposal, you should get it reviewed. Do not rely on the Joplin mentors to do it for you via the web interface, although we will try to comment on every proposal. It is wise to ask a colleague or a developer to critique your proposal. Clarity and completeness are important.</p>
</li>
</ul>
</blockquote>
<h2>Hints<a name="hints" href="#hints" class="heading-anchor">🔗</a></h2>
<p><strong>Submit your proposal early</strong>: early submissions get more attention from developers because that they have more time to read them. The more people see your proposal, the more it will be discussed.</p>
<p><strong>Do not leave it all to the last minute</strong>: while it is Google that is operating the webserver, it would be wise to expect a last-minute overload on the server. So, be sure you send your application and proof of enrollment before the final rush. Also, applications submitted very late will get the least attention from mentors, so you may get a lower vote because of that. Submitting a draft early will give time for feedback from prospective mentors.</p>
<p><strong>Keep it simple</strong>: Be concise and precise. Provide a clear, descriptive title. &quot;My Project&quot; is the worst possible title!</p>
<p><strong>Know what you are talking about</strong>: Do not submit proposals that cannot be accomplished over a summer or that are not related to Joplin. If your idea is unusual, be sure to explain why you have chosen Joplin to be your mentoring organization.<br>
There could be exceptional reason to accept proposal what cannot be finished over the sumer if either it is clearly recognisable that there will be commitment beyond the summer period or the project can be well separated in sub-project. If you want to go that way, your proposal must be very easy readable to allow us to evaluate the changes of a project going through several coding programs.</p>
<p><strong>Aim wide</strong>: submit more than one proposal. You are allowed to submit to another organisation as well. If you do submit more than one proposal, tell us that and which proposal you would choose, if both were selected. Former students would advise you to do one or two kick-ass proposals rather than trying to do three.</p>
<h2>Accepted Students<a name="accepted-students" href="#accepted-students" class="heading-anchor">🔗</a></h2>
<p>Your primary responsibility is finishing your project under the guidance of your mentors. To do that, you must submit code regularly and stay in frequent and effective communication with your mentors and team. To pass the evaluations, you must do both the communication <strong>and</strong> the coding plus documentation.</p>
<p>All students will create a report page by tool up to their choice. Keep this up-to-date, as this is one of our primary evaluation tools.</p>
<h2>Instructions for mentors<a name="instructions-for-mentors" href="#instructions-for-mentors" class="heading-anchor">🔗</a></h2>
<h3>Ideas<a name="ideas" href="#ideas" class="heading-anchor">🔗</a></h3>
<p>If you're a Joplin developer or motivated user and you wish to participate in Summer of Code, make a proposal in the the <a href="https://discourse.joplinapp.org/c/features">Features category of the Joplin Forum</a>, based what your Joplin project needs.</p>
<p>If you wish to mentor, please read the <a href="https://google.github.io/gsocguides/mentor/org-application">GSoC Mentor Guide</a> and the <a href="https://developers.google.com/open-source/gsoc/faq#general">Summer of Code FAQ</a>. Also, please contact the <a href="https://discourse.joplinapp.org/g/staff">staff</a> and get the go-ahead from them before editing the ideas page, adding your idea.</p>
<p>Your idea proposal should be a brief description of what the project is, what the desired goals would be, what the student should know and an email address for contact. Students are not required to follow your idea to the letter, so regard your proposal as inspiration for the students.</p>
<h3>Mentoring<a name="mentoring" href="#mentoring" class="heading-anchor">🔗</a></h3>
<p>Anyone developer can be a mentor if you meet the GSoC eligiibity requirements. We will potentially assign a student to you who has never worked on such a large project and will need some help. Make sure you're up for the task. Mentoring takes time, and lots and lots of communication.</p>
<p>Before subscribing yourself as a mentor, please make sure that the <a href="https://discourse.joplinapp.org/g/staff">staff</a> is aware of that. Ask them to send the Summer of Code Administrators an email confirming your involvement in the team. This is just a formality to make sure you are a real person we can trust; the administrators cannot know all active developers by their Google account ID. Then drop us an message in the forum.</p>
<p>Prospective mentors should read the <a href="http://www.booki.cc/gsoc-mentoring">mentoring guide</a>. Also, Federico Mena-Quintero has written some helpful information based on his experiences in previous years. <a href="https://people.gnome.org/~federico/docs/summer-of-code-mentoring-howto/index.html">His HOWTO</a> has some useful suggestions for anyone planning to mentor this year.</p>
<p>You will subscribe to the relvant tags in the forum to discuss ideas. You will need to read the proposals as they come in, and vote on the proposals. Daily communication is required with your student during the Community Bonding period, and multiple times per week during the coding period.</p>
<p>Finally, know that we will never assign you to a project you do not want to work on. We will not assign you more projects than you can/want to take on either. And you will have a backup mentor, just in case something unforeseen takes place.</p>
<h2>Ideas<a name="ideas-1" href="#ideas-1" class="heading-anchor">🔗</a></h2>
<ul>
<li><a href="https://joplinapp.org/gsoc/idea1_nextcloud.html">Idea: Nextcloud</a></li>
<li><a href="https://joplinapp.org/gsoc/idea2_sharing.html">Idea: Sharing</a></li>
<li><a href="https://joplinapp.org/gsoc/idea3_tagging.html">Idea: Tagging</a></li>
<li><a href="https://joplinapp.org/gsoc/idea4_search.html">Idea: Search</a></li>
<li><a href="https://joplinapp.org/gsoc/idea5_password_per_note.html">Idea: Password per note</a></li>
</ul>
<div class="bottom-links">
<a href="https://github.com/laurent22/joplin/blob/master/readme/gsoc/index.md">
<i class="fa fa-github"></i> Improve this doc
</a>
</div>
<script>
function stickyHeader() {
return; // Disabled
if ($(window).scrollTop() > 179) {
$('.nav').addClass('sticky');
} else {
$('.nav').removeClass('sticky');
}
}
$('#toc').hide();
$('.help').click(function(event) {
event.preventDefault();
$('#toc').show();
});
$(window).scroll(function() {
stickyHeader();
});
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-103586105-1', 'auto');
ga('send', 'pageview');
</script>
<div class="footer">
Copyright (c) 2016-2019 Laurent Cozic
</div>
</body>
</html>

View File

@ -186,7 +186,9 @@ https://github.com/laurent22/joplin/blob/master/
padding-left: 2em;
margin-bottom: 0;
display: table-cell;
min-width: 250px;
/* min-width: 250px; */
/* For GSoC: */
min-width: 470px;
}
.nav ul li {
display: inline-block;
@ -271,6 +273,7 @@ https://github.com/laurent22/joplin/blob/master/
<li class=""><a href="https:&#x2F;&#x2F;joplinapp.org/" title="Home"><i class="fa fa-home"></i></a></li>
<li><a href="https://discourse.joplinapp.org" title="Forum">Forum</a></li>
<li><a class="help" href="#" title="Menu">Menu</a></li>
<li><a class="gsoc" href="https://joplinapp.org/gsoc/" title="Menu">Google Summer of Code 2010</a></li>
</ul>
<div class="nav-right">
<!--

View File

@ -186,7 +186,9 @@ https://github.com/laurent22/joplin/blob/master/readme/markdown.md
padding-left: 2em;
margin-bottom: 0;
display: table-cell;
min-width: 250px;
/* min-width: 250px; */
/* For GSoC: */
min-width: 470px;
}
.nav ul li {
display: inline-block;
@ -271,6 +273,7 @@ https://github.com/laurent22/joplin/blob/master/readme/markdown.md
<li class=""><a href="https:&#x2F;&#x2F;joplinapp.org/" title="Home"><i class="fa fa-home"></i></a></li>
<li><a href="https://discourse.joplinapp.org" title="Forum">Forum</a></li>
<li><a class="help" href="#" title="Menu">Menu</a></li>
<li><a class="gsoc" href="https://joplinapp.org/gsoc/" title="Menu">Google Summer of Code 2010</a></li>
</ul>
<div class="nav-right">
<!--
@ -387,8 +390,8 @@ https://github.com/laurent22/joplin/blob/master/readme/markdown.md
</tr>
<tr>
<td><strong>Link</strong></td>
<td><pre>This is detected as a link:<br><br><code>https://joplinapp.org</code><br><br>And this is a link with a title:<br><br><code>[Joplin](https://joplinapp.org)</code></pre></td>
<td>This is detected as a link:<br><br><a href="https://joplinapp.org">https://joplinapp.org</a><br><br>And this is a link with a title:<br><br><a href="https://joplinapp.org">Joplin</a></td>
<td><pre>This is detected as a link:<br><br><code>https://joplinapp.org</code><br><br>And this is a link anchoring text content:<br><br><code>[Joplin](https://joplinapp.org)</code><br><br>And this is a link, with a title,<br>anchoring text content:<br><br><code>[Joplin](https://joplinapp.org &quot;Joplin project page&quot;)</code></pre></td>
<td>This is detected as a link:<br><br><a href="https://joplinapp.org">https://joplinapp.org</a><br><br>And this is a link anchoring text content:<br><br><a href="https://joplinapp.org">Joplin</a><br><br>And this is a link, with a title,<br>anchoring text content:<br><br><a href="https://joplinapp.org" title="Joplin project page">Joplin</a> (<em>hint: hover over the link</em>)</td>
</tr>
<tr>
<td><strong>Images</strong></td>
@ -566,8 +569,8 @@ $$
</tr>
<tr>
<td><a href="https://github.com/markdown-it/markdown-it-emoji">Emoji</a></td>
<td><code>:smile:</code> :smile:</td>
<td>See <a href="https://gist.github.com/rxaviers/7360908">this list</a> for more emoji</td>
<td><code>:smile:</code></td>
<td>Transforms into 😄. See <a href="https://gist.github.com/rxaviers/7360908">this list</a> for more emojis</td>
<td>no</td>
</tr>
<tr>

View File

@ -186,7 +186,9 @@ https://github.com/laurent22/joplin/blob/master/readme/mobile.md
padding-left: 2em;
margin-bottom: 0;
display: table-cell;
min-width: 250px;
/* min-width: 250px; */
/* For GSoC: */
min-width: 470px;
}
.nav ul li {
display: inline-block;
@ -271,6 +273,7 @@ https://github.com/laurent22/joplin/blob/master/readme/mobile.md
<li class=""><a href="https:&#x2F;&#x2F;joplinapp.org/" title="Home"><i class="fa fa-home"></i></a></li>
<li><a href="https://discourse.joplinapp.org" title="Forum">Forum</a></li>
<li><a class="help" href="#" title="Menu">Menu</a></li>
<li><a class="gsoc" href="https://joplinapp.org/gsoc/" title="Menu">Google Summer of Code 2010</a></li>
</ul>
<div class="nav-right">
<!--

View File

@ -186,7 +186,9 @@ https://github.com/laurent22/joplin/blob/master/readme/prereleases.md
padding-left: 2em;
margin-bottom: 0;
display: table-cell;
min-width: 250px;
/* min-width: 250px; */
/* For GSoC: */
min-width: 470px;
}
.nav ul li {
display: inline-block;
@ -271,6 +273,7 @@ https://github.com/laurent22/joplin/blob/master/readme/prereleases.md
<li class=""><a href="https:&#x2F;&#x2F;joplinapp.org/" title="Home"><i class="fa fa-home"></i></a></li>
<li><a href="https://discourse.joplinapp.org" title="Forum">Forum</a></li>
<li><a class="help" href="#" title="Menu">Menu</a></li>
<li><a class="gsoc" href="https://joplinapp.org/gsoc/" title="Menu">Google Summer of Code 2010</a></li>
</ul>
<div class="nav-right">
<!--

View File

@ -186,7 +186,9 @@ https://github.com/laurent22/joplin/blob/master/readme/spec.md
padding-left: 2em;
margin-bottom: 0;
display: table-cell;
min-width: 250px;
/* min-width: 250px; */
/* For GSoC: */
min-width: 470px;
}
.nav ul li {
display: inline-block;
@ -271,6 +273,7 @@ https://github.com/laurent22/joplin/blob/master/readme/spec.md
<li class=""><a href="https:&#x2F;&#x2F;joplinapp.org/" title="Home"><i class="fa fa-home"></i></a></li>
<li><a href="https://discourse.joplinapp.org" title="Forum">Forum</a></li>
<li><a class="help" href="#" title="Menu">Menu</a></li>
<li><a class="gsoc" href="https://joplinapp.org/gsoc/" title="Menu">Google Summer of Code 2010</a></li>
</ul>
<div class="nav-right">
<!--

View File

@ -186,7 +186,9 @@ https://github.com/laurent22/joplin/blob/master/readme/stats.md
padding-left: 2em;
margin-bottom: 0;
display: table-cell;
min-width: 250px;
/* min-width: 250px; */
/* For GSoC: */
min-width: 470px;
}
.nav ul li {
display: inline-block;
@ -271,6 +273,7 @@ https://github.com/laurent22/joplin/blob/master/readme/stats.md
<li class=""><a href="https:&#x2F;&#x2F;joplinapp.org/" title="Home"><i class="fa fa-home"></i></a></li>
<li><a href="https://discourse.joplinapp.org" title="Forum">Forum</a></li>
<li><a class="help" href="#" title="Menu">Menu</a></li>
<li><a class="gsoc" href="https://joplinapp.org/gsoc/" title="Menu">Google Summer of Code 2010</a></li>
</ul>
<div class="nav-right">
<!--

View File

@ -186,7 +186,9 @@ https://github.com/laurent22/joplin/blob/master/readme/terminal.md
padding-left: 2em;
margin-bottom: 0;
display: table-cell;
min-width: 250px;
/* min-width: 250px; */
/* For GSoC: */
min-width: 470px;
}
.nav ul li {
display: inline-block;
@ -271,6 +273,7 @@ https://github.com/laurent22/joplin/blob/master/readme/terminal.md
<li class=""><a href="https:&#x2F;&#x2F;joplinapp.org/" title="Home"><i class="fa fa-home"></i></a></li>
<li><a href="https://discourse.joplinapp.org" title="Forum">Forum</a></li>
<li><a class="help" href="#" title="Menu">Menu</a></li>
<li><a class="gsoc" href="https://joplinapp.org/gsoc/" title="Menu">Google Summer of Code 2010</a></li>
</ul>
<div class="nav-right">
<!--

View File

@ -1,4 +1,4 @@
# Nextcloud notes integration (Web client)
# GSoC: Nextcloud notes integration (Web client)
## What is the goal of the project

View File

@ -1,4 +1,4 @@
sharing
# GSoC: Sharing
- [Feature Request: Multiple note directories #108](https://github.com/laurent22/joplin/issues/108)
- [[Feature Request\] Note Sharing #1085](https://github.com/laurent22/joplin/issues/1085)
@ -8,6 +8,5 @@ sharing
- [Turtl’s sharing - Choose who you share with and what they can do.](https://turtlapp.com/features/)
- [Turtl Documentation - App architecture](https://turtlapp.com/docs/architecture)
“Please give the ability to share from another Android app into Joplin”: This is already done
"Please give the ability to share from another Android app into Joplin": This is already done

View File

@ -1,4 +1,4 @@
tag handling
# GSoC: Tag handling
- [[Feature Request\] Tags on whole markdown lines #1498](https://github.com/laurent22/joplin/issues/1498)
- [[Feature Request\] Option to have a space for tags after the title #1399](https://github.com/laurent22/joplin/issues/1399)
@ -6,8 +6,6 @@ tag handling
- [So many tags #1221](https://github.com/laurent22/joplin/issues/1221)
- [Organize and share using Turtl’s Spaces.](https://turtlapp.com/features/)
“[Feature Request] Tags on whole markdown lines #1498”: I prefer we remove this as this too far from standard markdown.
“Feature request: set @tags from markdown editor #1407”. I prefer if we remove this too for the same reason. I think tagging is already easy since there’s a keyboard shortcut for it. Maybe back then there wasn’t.

View File

@ -1 +1,3 @@
# GSoC: Search engine improvements
[Search engine improvements](https://github.com/laurent22/joplin/issues/1877)

View File

@ -1,4 +1,4 @@
additinal protection per note
# GSoC: Additinal protection per note
- [[Feature request\] Password or pin protection](https://github.com/laurent22/joplin/issues/289)
- [[Suggestion\] Add instructions to generate app-specific password enhancement](https://github.com/laurent22/joplin/issues/419)

View File

@ -1,29 +1,31 @@
Joplin has a young but well proven history. It all started by single idea but is rising more and more commitment as well as demands.
Joplin is about to make another big step to answers these demands by applying at Google Summer of Code.
All students and Joplin users and developers are welcome to participate in the hopefully first year Summer of Code program with Joplin. Here's how.
# Google Summer of Code
Joplin has a young but well proven history. It all started by single idea but is rising more and more commitment as well as demands.
Joplin is about to make another big step to answers these demands by applying at Google Summer of Code. All students and Joplin users and developers are welcome to participate in the hopefully first year Summer of Code program with Joplin. Here's how.
Mentors, administrators and students: read [Summer of Code](https://developers.google.com/open-source/gsoc) occasionally. Also read the [Summer of Code FAQ](https://developers.google.com/open-source/gsoc/faq).
All participants will need a Google account in order to join the program. So, save time and create one now. In addition, all participants need to join the [Joplin Forum](https://discourse.joplinapp.org).
All participants will need a Google account in order to join the program. So, save time and create one now. In addition, all participants need to join the [Joplin Forum](https://discourse.joplinapp.org).
### Programming Language
## Programming Language
All application share the same back-end written in JavaScript (Node.js), with Redux for state management. The back-end runs locally.
All applications share the same back-end written in JavaScript (Node.js), with Redux for state management. The back-end runs locally.
The GUI's, as listed on the [Joplin's website](https://joplinapp.org/#installation) are use
The GUI's, as listed on the [Joplin's website](https://joplinapp.org/#installation) are:
- ClL: terminal-kit
- Desktop: Electron
- Mobile: React Native
More details can be found on
More details can be found on:
- [How to contribute]( https://github.com/laurent22/joplin/blob/master/CONTRIBUTING.md )
- [How to build]( https://github.com/laurent22/joplin/blob/master/BUILD.md#building-the-tools)
- [How to contribute](https://github.com/laurent22/joplin/blob/master/CONTRIBUTING.md)
- [How to build](https://github.com/laurent22/joplin/blob/master/BUILD.md#building-the-tools)
Moreover there are community driven projects such as
Moreover there are community driven projects such as:
- [Joplin Web](https://github.com/foxmask/joplin-web)
- [Joplin Web](https://github.com/foxmask/joplin-web)
Submissions and ideas for projects in any other language should specifically mention the choice.
@ -31,23 +33,27 @@ Submissions and ideas for projects in any other language should specifically men
Students wishing to participate in Summer of Code must realize, that this is a important professional opportunity. You will be required to produce applicable and readable code for Joplin in 3 months. Your mentors, will dedicate a portion of their time to mentoring you. Therefore, we seek candidates who are committed to helping Joplin and its community long-term and are willing to both do quality work, and be proactive in communicating with your mentor(s).
You don't have to be a proven developer -- in fact, this whole program is meant to facilitate joining Joplin and other Open Source communities. However, experience in coding and/or experience with the above mentioned programming languages and the applications is welcome.
Currently there is only [How to contribute]( https://github.com/laurent22/joplin/blob/master/CONTRIBUTING.md ) and [How to build]( https://github.com/laurent22/joplin/blob/master/BUILD.md#building-the-tools) but more details are bout to come on how to interact and how to commit.
You don't have to be a proven developer -- in fact, this whole program is meant to facilitate joining Joplin and other Open Source communities. However, experience in coding and/or experience with the above mentioned programming languages and the applications is welcome.
Currently there is only [How to contribute](https://github.com/laurent22/joplin/blob/master/CONTRIBUTING.md) and [How to build](https://github.com/laurent22/joplin/blob/master/BUILD.md#building-the-tools) but more details are bout to come on how to interact and how to commit.
In general it can be said, that question shall be asked early and clearly, given everyone the possibility to understand why you want to have this question answered and how it helps to achieve the project's goal.
Before you can be accepted as a student we expect you to fix some bugs and link that work on your proposal.
Before you can be accepted as a student we expect you to fix some bugs and link that work on your proposal.
You should start learning the components that you plan on working on before the start date. Support can be found in the forum and on our dedicated discourse channel.
Do not worry, the the timeline from Google reserves a lot of time for bonding periods but use that time wisely. Good communication is key. To allow us to respond quickly tag your questions with #GSoC and #2020.
You should plan to communicate with your team several times per week, and formally report progress and plans weekly. You are free to chose the format, it can be an sophisticated online document or simple continuous blog on GitHub.
Moreover, we require that you come to clear agreement on how to commit, test and build. We don't see us loosing time on how to test instead accentually testing your commits.
**Students who neglect active communication will be failed**.
You should start learning the components that you plan on working on before the start date. Support can be found in the forum and on our dedicated discourse channel.
### General instructions
Do not worry, the the timeline from Google reserves a lot of time for bonding periods but use that time wisely. Good communication is key. To allow us to respond quickly tag your questions with #GSoC and #2020.
You should plan to communicate with your team several times per week, and formally report progress and plans weekly. You are free to chose the format, it can be an sophisticated online document or simple continuous blog on GitHub.
Moreover, we require that you come to clear agreement on how to commit, test and build. We don't see us loosing time on how to test instead accentually testing your commits.
**Students who neglect active communication will be failed**.
## General instructions
First of all, please read the above referenced resources and the [GSoC FAQ](https://developers.google.com/open-source/gsoc/faq). Pay special attention to the **Eligibility** section of the FAQ.
### Recommended steps
## Recommended steps
1. Join the [Joplin Forum](https://discourse.joplinapp.org), introduce yourself, and meet your fellow developers in the [Development category](https://discourse.joplinapp.org/c/development)
2. Read Student proposal guidelines and the [GSoC Student Manual](https://developers.google.com/open-source/gsoc/resources/manual#student_manual)
@ -63,50 +69,47 @@ Coming up with an interesting idea is probably the most difficult part. It shoul
A good start is finding out what the most pressing issues are in the projects in which you are interested. Join the forum and subscribe to GitHub repository for that project or go into its discourse channel: meet developers and your potential mentor, as well as start learning the code-base. We recommend strongly getting involved in advance of the beginning of GSoC, and we will look favorably on applications from students who have already started to act like Open Source developers.
### Student proposal guidelines
## Student proposal guidelines
A project proposal is what you will be judged upon. Write a clear proposal on what you plan to do, the scope of your project, and why we should choose you to do it. Proposals are the basis of the GSoC projects and therefore one of the most important things to do well. The proposal is not only the basis of our decision of which student to choose, it has also an effect on Google's decision as to how many student slots are assigned to Joplin.
<details>
<summary>Below is the application template.</summary>
> **Introduction**
Below is the application template:
> **Introduction**
>
> Every software project should solve a problem. Before offering the solution (your Google Summer of Code project), you should first define the problem. What’s the current state of things? What’s the issue you wish to solve and why? Then you should conclude with a sentence or two about your solution. Include links to discussions, features, or bugs that describe the problem further if necessary.
> Every software project should solve a problem. Before offering the solution (your Google Summer of Code project), you should first define the problem. What’s the current state of things? What’s the issue you wish to solve and why? Then you should conclude with a sentence or two about your solution. Include links to discussions, features, or bugs that describe the problem further if necessary.
>
> **Project goals**
>
>Be short and to the point, and perhaps format it as a list. Propose a clear list of deliverables, explaining exactly what you promise to do and what you do not plan to do. “Future developments” can be mentioned, but your promise for the Google Summer of Code term is what counts.
> Be short and to the point, and perhaps format it as a list. Propose a clear list of deliverables, explaining exactly what you promise to do and what you do not plan to do. “Future developments” can be mentioned, but your promise for the Google Summer of Code term is what counts.
>
>**Implementation**
> **Implementation**
>
>Be detailed. Describe what you plan to do as a solution for the problem you defined above. Include technical details, showing that you understand the technology. Illustrate key technical elements of your proposed solution in reasonable detail. Include writing unit tests throughout the coding period, as well as code documentation. These critical elements cannot be left to the last few weeks of the program. If user documentation will be required, or apidox, etc. these should be written during each week, not at the end.
> Be detailed. Describe what you plan to do as a solution for the problem you defined above. Include technical details, showing that you understand the technology. Illustrate key technical elements of your proposed solution in reasonable detail. Include writing unit tests throughout the coding period, as well as code documentation. These critical elements cannot be left to the last few weeks of the program. If user documentation will be required, or apidox, etc. these should be written during each week, not at the end.
>
>**Timeline**
> **Timeline**
>
>Show that you understand the problem, have a solution, have also broken it down into manageable parts, and that you have a realistic plan on how to accomplish your goal. Here you set expectations, so don’t make promises you can’t keep. A modest, realistic and detailed timeline is better than promising the impossible.
> Show that you understand the problem, have a solution, have also broken it down into manageable parts, and that you have a realistic plan on how to accomplish your goal. Here you set expectations, so don’t make promises you can’t keep. A modest, realistic and detailed timeline is better than promising the impossible.
>
>If you have other commitments during GSoC, such as a job, vacation, exams, internship, seminars, or papers to write, disclose them here. GSoC should be treated like a full-time job, and we will expect approximately 40 hours of work per week. *If you have conflicts, explain how you will work around them.* If you are found to have conflicts which you did not disclose, you may be failed.
> If you have other commitments during GSoC, such as a job, vacation, exams, internship, seminars, or papers to write, disclose them here. GSoC should be treated like a full-time job, and we will expect approximately 40 hours of work per week. *If you have conflicts, explain how you will work around them.* If you are found to have conflicts which you did not disclose, you may be failed.
>
>Open and clear communication is of utmost importance. **Include your plans for communication in your proposal; daily if possible.** You will need to initiate weekly formal communication such as a blog post on to be agreed placed. Lack of communication will result in you being failed.
> Open and clear communication is of utmost importance. **Include your plans for communication in your proposal; daily if possible.** You will need to initiate weekly formal communication such as a blog post on to be agreed placed. Lack of communication will result in you being failed.
>
>**About me**
> **About me**
>
>Provide your contact information (IRC nick, email, IM, phone) and write a few sentences about you and why you think you are the best for this job. **Prior contributions to Joplin are required; list your commits.** Name people (other developers, students, professors) who can act as a reference for you. Mention your field of study if necessary. Now is the time to join the relevant irc/telegram channels, mail lists and blog feeds. We want you to be a part of our community, not just contribute your code.
> Provide your contact information (IRC nick, email, IM, phone) and write a few sentences about you and why you think you are the best for this job. **Prior contributions to Joplin are required; list your commits.** Name people (other developers, students, professors) who can act as a reference for you. Mention your field of study if necessary. Now is the time to join the relevant irc/telegram channels, mail lists and blog feeds. We want you to be a part of our community, not just contribute your code.
>
>*Tell us if you are submitting proposals to other organizations, and whether or not you would choose Joplin if given the choice.*
> *Tell us if you are submitting proposals to other organizations, and whether or not you would choose Joplin if given the choice.*
>
>*Other things to think about:*
> *Other things to think about:*
>
>- Are you comfortable working independently under a supervisor or mentor who is several thousand miles away, and perhaps 12 time zones away? How will you work with your mentor to track your work? Have you worked in this style before?
> - Are you comfortable working independently under a supervisor or mentor who is several thousand miles away, and perhaps 12 time zones away? How will you work with your mentor to track your work? Have you worked in this style before?
>
>- If your native language is not English, are you comfortable working closely with a supervisor whose native language is English? What is your native language, as that may help us find a mentor who has the same native language?
> - If your native language is not English, are you comfortable working closely with a supervisor whose native language is English? What is your native language, as that may help us find a mentor who has the same native language?
>
>- After you have written your proposal, you should get it reviewed. Do not rely on the Joplin mentors to do it for you via the web interface, although we will try to comment on every proposal. It is wise to ask a colleague or a developer to critique your proposal. Clarity and completeness are important.
</details>
> - After you have written your proposal, you should get it reviewed. Do not rely on the Joplin mentors to do it for you via the web interface, although we will try to comment on every proposal. It is wise to ask a colleague or a developer to critique your proposal. Clarity and completeness are important.
### Hints
## Hints
**Submit your proposal early**: early submissions get more attention from developers because that they have more time to read them. The more people see your proposal, the more it will be discussed.
@ -115,15 +118,15 @@ A project proposal is what you will be judged upon. Write a clear proposal on wh
**Keep it simple**: Be concise and precise. Provide a clear, descriptive title. "My Project" is the worst possible title!
**Know what you are talking about**: Do not submit proposals that cannot be accomplished over a summer or that are not related to Joplin. If your idea is unusual, be sure to explain why you have chosen Joplin to be your mentoring organization.
There could be exceptional reason to accept proposal what cannot be finished over the sumer if either it is clearly recognisable that there will be commitment beyond the summer period or the project can be well separated in sub-project. If you want to go that way, your proposal must be very easy readable to allow us to evaluate the changes of a project going through several coding programs.
There could be exceptional reason to accept proposal what cannot be finished over the sumer if either it is clearly recognisable that there will be commitment beyond the summer period or the project can be well separated in sub-project. If you want to go that way, your proposal must be very easy readable to allow us to evaluate the changes of a project going through several coding programs.
**Aim wide**: submit more than one proposal. You are allowed to submit to another organisation as well. If you do submit more than one proposal, tell us that and which proposal you would choose, if both were selected. Former students would advise you to do one or two kick-ass proposals rather than trying to do three.
### Accepted Students
## Accepted Students
Your primary responsibility is finishing your project under the guidance of your mentors. To do that, you must submit code regularly and stay in frequent and effective communication with your mentors and team. To pass the evaluations, you must do both the communication **and** the coding plus documentation.
All students will create a report page by tool up to their choice. Keep this up-to-date, as this is one of our primary evaluation tools.
All students will create a report page by tool up to their choice. Keep this up-to-date, as this is one of our primary evaluation tools.
## Instructions for mentors
@ -147,3 +150,10 @@ You will subscribe to the relvant tags in the forum to discuss ideas. You will n
Finally, know that we will never assign you to a project you do not want to work on. We will not assign you more projects than you can/want to take on either. And you will have a backup mentor, just in case something unforeseen takes place.
## Ideas
- [Idea: Nextcloud](https://joplinapp.org/gsoc/idea1_nextcloud.html)
- [Idea: Sharing](https://joplinapp.org/gsoc/idea2_sharing.html)
- [Idea: Tagging](https://joplinapp.org/gsoc/idea3_tagging.html)
- [Idea: Search](https://joplinapp.org/gsoc/idea4_search.html)
- [Idea: Password per note](https://joplinapp.org/gsoc/idea5_password_per_note.html)