1
0
mirror of https://github.com/laurent22/joplin.git synced 2026-01-17 00:33:59 +02:00

Compare commits

..

21 Commits

Author SHA1 Message Date
Laurent
6634bd2d13 Update run_ci.sh 2021-10-10 11:32:09 +01:00
Laurent Cozic
c6fde93e8b try to fix ci 2021-10-10 10:56:20 +01:00
Laurent Cozic
53a80f33d9 Doc: Remove hosting.de sponsor 2021-10-09 16:09:39 +01:00
Laurent Cozic
03f40daedc Chore: Refactor compilePackageInfo script so that it can be used from both desktop and server app 2021-10-09 15:32:15 +01:00
Rishabhraghwendra18
7b2480179f Desktop: Fixes #5310: Bright background around code block insertion dialog in dark mode (#5491) 2021-10-08 15:18:26 +01:00
Laurent Cozic
050873b4ca Update website 2021-10-08 10:40:50 +01:00
miharix
35f242d961 All: Translation: Update sl_SI.po (#5541) 2021-10-07 18:15:45 -04:00
Laurent Cozic
6de42d84a5 Server v2.5.2 2021-10-07 14:37:10 +01:00
Laurent Cozic
3ef4994486 Merge branch 'dev' into release-2.5 2021-10-07 14:30:02 +01:00
Laurent Cozic
31efc9b23e Server: Sort flags by date 2021-10-07 14:29:23 +01:00
Laurent Cozic
5b58811833 Server: Add support for promotion codes 2021-10-07 14:19:40 +01:00
tangodev
be01657ef9 Doc: Fix path for dev tools (#5539) 2021-10-06 15:19:58 +01:00
Laurent Cozic
7e05b5b6dd Server: Fixes #5507: Fixed links in published notes 2021-10-06 11:07:45 +01:00
Laurent Cozic
23996e0efe Desktop: Fixes #5421: Exclude disabled commands from Goto Anything 2021-10-05 18:09:09 +01:00
Laurent Cozic
5a9bc1297b All: Fixes #932: Certain attachments were not being automatically deleted 2021-10-05 17:47:38 +01:00
Laurent Cozic
f47478f730 Chore: Fixed highlight.js syntax
Ref: https://github.com/highlightjs/highlight.js/issues/2277
2021-10-04 16:58:26 +01:00
Laurent Cozic
e069fe90c8 Chore: Fixed lib paths 2021-10-04 15:33:50 +01:00
Helmut K. C. Tessarek
5c7dcf0117 Mobile: Resolves #4701: Improve delete dialog message (#5481) 2021-10-03 18:41:32 +01:00
Andros Fenollosa
3bda77d504 All: Translation: Update es_ES.po (#5523) 2021-10-03 12:34:41 -04:00
Laurent
c758377188 All: Add support for public-private key pairs and improved master password support (#5438)
Also improved SCSS support, which was needed for the master password dialog.
2021-10-03 16:00:49 +01:00
Laurent Cozic
b6b972bbd9 Desktop release v2.5.1 2021-10-01 19:37:23 +01:00
117 changed files with 1151 additions and 905 deletions

View File

@@ -62,6 +62,13 @@ npm install
if [ "$IS_PULL_REQUEST" == "1" ] || [ "$IS_DEV_BRANCH" = "1" ]; then
echo "Step: Running tests..."
# Need this because we're getting this error:
#
# @joplin/lib: FATAL ERROR: Ineffective mark-compacts near heap limit
# Allocation failed - JavaScript heap out of memory
#
# https://stackoverflow.com/questions/38558989
export NODE_OPTIONS="--max-old-space-size=4096"
npm run test-ci
testResult=$?
if [ $testResult -ne 0 ]; then

View File

@@ -59,7 +59,7 @@
<script>
const urlQuery = new URLSearchParams(location.search);
let subscriptionPeriod = 'monthly';
var stripe = Stripe('{{{stripeConfig.publishableKey}}}');
const stripe = Stripe('{{{stripeConfig.publishableKey}}}');
let checkoutSessionUser = null;
@@ -82,9 +82,9 @@
}
var createCheckoutSession = function(priceId) {
const coupon = urlQuery.get('coupon') || '';
const promotionCode = urlQuery.get('promo') || '';
console.info('Creating Stripe session for price:', priceId, 'Coupon:', coupon);
console.info('Creating Stripe session for price:', priceId, 'Promotion code:', promotionCode);
return fetch("{{{stripeConfig.webhookBaseUrl}}}/stripe/createCheckoutSession", {
method: "POST",
@@ -92,8 +92,8 @@
"Content-Type": "application/json"
},
body: JSON.stringify({
priceId: priceId,
coupon: coupon,
priceId,
promotionCode,
email: checkoutSessionUser ? checkoutSessionUser.email : '',
})
}).then(async function(result) {

View File

@@ -64,7 +64,7 @@ The Web Clipper is a browser extension that allows you to save web pages and scr
# Sponsors
<!-- SPONSORS-ORG -->
<a href="https://tranio.com/italy/"><img title="Tranio" width="256" src="https://joplinapp.org/images/sponsors/Tranio.png"/></a> <a href="https://seirei.ne.jp"><img title="Serei Network" width="256" src="https://joplinapp.org/images/sponsors/SeireiNetwork.png"/></a> <a href="https://usrigging.com/"><img title="U.S. Ringing Supply" width="256" src="https://joplinapp.org/images/sponsors/RingingSupply.svg"/></a> <a href="https://www.hosting.de/nextcloud/?mtm_campaign=managed-nextcloud&amp;mtm_kwd=joplinapp&amp;mtm_source=joplinapp-github&amp;mtm_medium=banner"><img title="Hosting.de" width="256" src="https://joplinapp.org/images/sponsors/HostingDe.png"/></a>
<a href="https://seirei.ne.jp"><img title="Serei Network" width="256" src="https://joplinapp.org/images/sponsors/SeireiNetwork.png"/></a> <a href="https://tranio.com/italy/"><img title="Tranio" width="256" src="https://joplinapp.org/images/sponsors/Tranio.png"/></a> <a href="https://usrigging.com/"><img title="U.S. Ringing Supply" width="256" src="https://joplinapp.org/images/sponsors/RingingSupply.svg"/></a> <a href="https://www.hosting.de/nextcloud/?mtm_campaign=managed-nextcloud&amp;mtm_kwd=joplinapp&amp;mtm_source=joplinapp-github&amp;mtm_medium=banner"><img title="Hosting.de" width="256" src="https://joplinapp.org/images/sponsors/HostingDe.png"/></a>
<!-- SPONSORS-ORG -->
* * *

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/api/get_started/plugins.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/api/get_started/plugins.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Getting started with plugin development | Joplin</title>
<script
@@ -373,7 +373,7 @@ This should be the path to your main plugin directory, i.e. <code>path/to/your/r
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/api/overview.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/api/overview.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Extending Joplin | Joplin</title>
<script
@@ -351,7 +351,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/api/overview.md
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/api/references/development_m
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/api/references/development_m
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Development mode | Joplin</title>
<script
@@ -330,7 +330,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/api/references/development_m
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/api/references/plugin_loadin
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/api/references/plugin_loadin
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Plugin Loading Rules | Joplin</title>
<script
@@ -336,7 +336,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/api/references/plugin_loadin
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/api/references/plugin_manife
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/api/references/plugin_manife
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Plugin Manifest | Joplin</title>
<script
@@ -406,7 +406,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/api/references/plugin_manife
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/api/references/plugin_themin
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/api/references/plugin_themin
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Plugin theming | Joplin</title>
<script
@@ -366,7 +366,7 @@ These include:</p>
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/api/references/rest_api.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/api/references/rest_api.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Joplin Data API | Joplin</title>
<script
@@ -1047,7 +1047,7 @@ async function fetchAllNotes() {
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/api/tutorials/toc_plugin.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/api/tutorials/toc_plugin.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Creating a table of content plugin | Joplin</title>
<script
@@ -600,7 +600,7 @@ document.addEventListener('click', event =&gt; {
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20180621-182112.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20180621-182112.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Web Clipper now available on Firefox and Chrome | Joplin</title>
<script
@@ -334,7 +334,7 @@ published_at: 2018-06-21T17:21:12.000+00:00</p>
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20180906-111039.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20180906-111039.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>New iOS release with improved attachment support | Joplin</title>
<script
@@ -335,7 +335,7 @@ published_at: 2018-09-06T10:10:39.000+00:00</p>
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20180916-210431.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20180916-210431.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Note properties in desktop application | Joplin</title>
<script
@@ -334,7 +334,7 @@ published_at: 2018-09-16T20:04:31.000+00:00</p>
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20180929-121053.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20180929-121053.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>New release and many bug fixes | Joplin</title>
<script
@@ -334,7 +334,7 @@ published_at: 2018-09-29T11:10:53.000+00:00</p>
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20181004-091123.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20181004-091123.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Joplin and Hacktobertfest 2018 🎃 | Joplin</title>
<script
@@ -336,7 +336,7 @@ published_at: 2018-10-04T08:11:23.000+00:00</p>
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20181101-174335.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20181101-174335.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Hacktoberfest has now ended | Joplin</title>
<script
@@ -339,7 +339,7 @@ published_at: 2018-11-01T17:43:35.000+00:00</p>
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20181213-173459.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20181213-173459.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Joplin is now featured on PrivacyTools.io | Joplin</title>
<script
@@ -337,7 +337,7 @@ published_at: 2018-12-13T17:34:59.000+00:00</p>
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20190130-230218.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20190130-230218.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>New search engine in Joplin | Joplin</title>
<script
@@ -337,7 +337,7 @@ published_at: 2019-01-30T23:02:18.000+00:00</p>
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20190404-074157.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20190404-074157.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Markdown plugins and Goto Anything | Joplin</title>
<script
@@ -336,7 +336,7 @@ published_at: 2019-04-04T06:41:57.000+00:00</p>
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20190424-112410.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20190424-112410.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>The Joplin forum is one year old | Joplin</title>
<script
@@ -336,7 +336,7 @@ published_at: 2019-04-24T10:24:10.000+00:00</p>
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20190523-231026.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20190523-231026.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Note history now in Joplin | Joplin</title>
<script
@@ -346,7 +346,7 @@ published_at: 2019-05-23T22:10:26.000+00:00</p>
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20190611-000711.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20190611-000711.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Changing attachment download behaviour to save disk space | Joplin</title>
<script
@@ -336,7 +336,7 @@ published_at: 2019-06-10T23:07:11.000+00:00</p>
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20190613-202613.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20190613-202613.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Customising your notes with the help of the development tools and CSS | Joplin</title>
<script
@@ -336,7 +336,7 @@ published_at: 2019-06-13T19:26:13.000+00:00</p>
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20190814-225957.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20190814-225957.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Joplin now supports Fountain screenwriting markup language | Joplin</title>
<script
@@ -345,7 +345,7 @@ published_at: 2019-08-14T21:59:57.000+00:00</p>
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20190925-000254.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20190925-000254.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>New icon for Joplin! | Joplin</title>
<script
@@ -350,7 +350,7 @@ published_at: 2019-09-24T23:02:54.000+00:00</p>
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20190929-152834.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20190929-152834.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Hacktoberfest 2019 is coming soon! | Joplin</title>
<script
@@ -343,7 +343,7 @@ published_at: 2019-09-29T14:28:34.000+00:00</p>
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20191012-233121.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20191012-233121.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Support for chemical equations using mhchem for Katex | Joplin</title>
<script
@@ -343,7 +343,7 @@ published_at: 2019-10-12T22:31:21.000+00:00</p>
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20191014-165136.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20191014-165136.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>New Joplin icon, second round | Joplin</title>
<script
@@ -335,7 +335,7 @@ published_at: 2019-10-14T15:51:36.000+00:00</p>
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20191101-131852.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20191101-131852.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Hacktoberfest 2019 has now ended 🎃 | Joplin</title>
<script
@@ -339,7 +339,7 @@ published_at: 2019-11-01T13:18:52.000+00:00</p>
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20191117-183855.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20191117-183855.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>And the winner is... | Joplin</title>
<script
@@ -344,7 +344,7 @@ published_at: 2019-11-17T18:38:55.000+00:00</p>
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20191118-072700.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20191118-072700.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Joplin is looking into joining Google Summer of Code in 2020 | Joplin</title>
<script
@@ -342,7 +342,7 @@ published_at: 2019-11-18T07:27:00.000+00:00</p>
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20200220-190804.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20200220-190804.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>GSoC 2020: Joplin has been accepted as a mentor organization! | Joplin</title>
<script
@@ -334,7 +334,7 @@ published_at: 2020-02-20T19:08:04.000+00:00</p>
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20200301-125055.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20200301-125055.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Large desktop update coming soon | Joplin</title>
<script
@@ -350,7 +350,7 @@ published_at: 2020-03-01T12:50:55.000+00:00</p>
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20200314-001555.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20200314-001555.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Experimental WYSIWYG editor in Joplin | Joplin</title>
<script
@@ -344,7 +344,7 @@ published_at: 2020-03-14T00:15:55.000+00:00</p>
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20200406-224254.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20200406-224254.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Joplin informal encryption and security audit results | Joplin</title>
<script
@@ -362,7 +362,7 @@ published_at: 2020-04-06T21:42:54.000+00:00</p>
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/build_troubleshooting.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/build_troubleshooting.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Desktop application | Joplin</title>
<script
@@ -369,7 +369,7 @@ pod install
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/changelog.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/changelog.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Joplin changelog | Joplin</title>
<script
@@ -289,6 +289,10 @@ https://github.com/laurent22/joplin/blob/dev/readme/changelog.md
<p><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&amp;business=E8JMYD2LQ8MMA&amp;lc=GB&amp;item_name=Joplin+Development&amp;currency_code=EUR&amp;bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHosted"><img src="https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/badges/Donate-PayPal-green.svg" alt="Donate using PayPal"></a> <a href="https://github.com/sponsors/laurent22/"><img src="https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/badges/GitHub-Badge.svg" alt="Sponsor on GitHub"></a> <a href="https://www.patreon.com/joplin"><img src="https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/badges/Patreon-Badge.svg" alt="Become a patron"></a> <a href="https://joplinapp.org/donate/#donations"><img src="https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/badges/Donate-IBAN.svg" alt="Donate using IBAN"></a></p>
</div>
<h1>Joplin changelog<a name="joplin-changelog" href="#joplin-changelog" class="heading-anchor">🔗</a></h1>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v2.5.1">v2.5.1</a> (Pre-release) - 2021-10-02T09:51:58Z<a name="v2-5-1-https-github-com-laurent22-joplin-releases-tag-v2-5-1-pre-release-2021-10-02t09-51-58z" href="#v2-5-1-https-github-com-laurent22-joplin-releases-tag-v2-5-1-pre-release-2021-10-02t09-51-58z" class="heading-anchor">🔗</a></h2>
<ul>
<li>Improved: Upgrade Electron from v10 to v14 (4a7746b)</li>
</ul>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v2.4.9">v2.4.9</a> - 2021-09-29T19:08:58Z<a name="v2-4-9-https-github-com-laurent22-joplin-releases-tag-v2-4-9-2021-09-29t19-08-58z" href="#v2-4-9-https-github-com-laurent22-joplin-releases-tag-v2-4-9-2021-09-29t19-08-58z" class="heading-anchor">🔗</a></h2>
<ul>
<li>Improved: Allow importing certain corrupted ENEX files (f144dae)</li>
@@ -3603,7 +3607,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/changelog.md
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/changelog_android.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/changelog_android.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Joplin Android app changelog | Joplin</title>
<script
@@ -427,7 +427,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/changelog_android.md
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/changelog_cli.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/changelog_cli.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Joplin terminal app changelog | Joplin</title>
<script
@@ -678,7 +678,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/changelog_cli.md
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/changelog_server.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/changelog_server.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Joplin Server Changelog | Joplin</title>
<script
@@ -289,6 +289,12 @@ https://github.com/laurent22/joplin/blob/dev/readme/changelog_server.md
<p><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&amp;business=E8JMYD2LQ8MMA&amp;lc=GB&amp;item_name=Joplin+Development&amp;currency_code=EUR&amp;bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHosted"><img src="https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/badges/Donate-PayPal-green.svg" alt="Donate using PayPal"></a> <a href="https://github.com/sponsors/laurent22/"><img src="https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/badges/GitHub-Badge.svg" alt="Sponsor on GitHub"></a> <a href="https://www.patreon.com/joplin"><img src="https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/badges/Patreon-Badge.svg" alt="Become a patron"></a> <a href="https://joplinapp.org/donate/#donations"><img src="https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/badges/Donate-IBAN.svg" alt="Donate using IBAN"></a></p>
</div>
<h1>Joplin Server Changelog<a name="joplin-server-changelog" href="#joplin-server-changelog" class="heading-anchor">🔗</a></h1>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/server-v2.5.2">server-v2.5.2</a> - 2021-10-07T13:36:27Z<a name="server-v2-5-2-https-github-com-laurent22-joplin-releases-tag-server-v2-5-2-2021-10-07t13-36-27z" href="#server-v2-5-2-https-github-com-laurent22-joplin-releases-tag-server-v2-5-2-2021-10-07t13-36-27z" class="heading-anchor">🔗</a></h2>
<ul>
<li>New: Add support for promotion codes (5b58811)</li>
<li>Improved: Sort flags by date (31efc9b)</li>
<li>Fixed: Fixed links in published notes (#5507)</li>
</ul>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/server-v2.5.1">server-v2.5.1</a> - 2021-09-29T15:52:34Z<a name="server-v2-5-1-https-github-com-laurent22-joplin-releases-tag-server-v2-5-1-2021-09-29t15-52-34z" href="#server-v2-5-1-https-github-com-laurent22-joplin-releases-tag-server-v2-5-1-2021-09-29t15-52-34z" class="heading-anchor">🔗</a></h2>
<ul>
<li>New: Add support for events and use them to track background tasks (79d1ad7)</li>
@@ -612,7 +618,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/changelog_server.md
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/clipper.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/clipper.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Joplin Web Clipper | Joplin</title>
<script
@@ -360,7 +360,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/clipper.md
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/config_screen.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/config_screen.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Configuration screen | Joplin</title>
<script
@@ -341,7 +341,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/config_screen.md
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/conflict.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/conflict.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>What is a conflict? | Joplin</title>
<script
@@ -336,7 +336,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/conflict.md
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/debugging.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/debugging.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>How to enable debugging | Joplin</title>
<script
@@ -291,7 +291,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/debugging.md
<h1>How to enable debugging<a name="how-to-enable-debugging" href="#how-to-enable-debugging" class="heading-anchor">🔗</a></h1>
<p>It is possible to get the apps to display or log more information that might help debug various issues.</p>
<h2>Desktop application<a name="desktop-application" href="#desktop-application" class="heading-anchor">🔗</a></h2>
<p>If the application starts with a white screen, open <strong>View &gt; Toggle Developer Tools</strong> in the menu. Then check in the console if there is any error or warning and please let us know about it.</p>
<p>If the application starts with a white screen, open <strong>Help &gt; Toggle Development Tools</strong> in the menu. Then check in the console if there is any error or warning and please let us know about it.</p>
<p>Otherwise, follow these instructions:</p>
<ul>
<li>Click on menu <strong>Help &gt; Open Profile Directory</strong> and add a file named &quot;flags.txt&quot; in your directory with the following content: <code>--open-dev-tools --debug --log-level debug</code></li>
@@ -384,7 +384,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/debugging.md
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/desktop.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/desktop.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Desktop application | Joplin</title>
<script
@@ -330,7 +330,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/desktop.md
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/donate.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/donate.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Support Joplin development | Joplin</title>
<script
@@ -370,7 +370,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/donate.md
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/download.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/download.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Downloading Joplin... | Joplin</title>
<script
@@ -180,7 +180,7 @@ Your download of <span class="downloaded-filename">Joplin</span> is in progress.
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/e2ee.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/e2ee.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>About End-To-End Encryption (E2EE) | Joplin</title>
<script
@@ -348,7 +348,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/e2ee.md
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/faq.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/faq.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>FAQ | Joplin</title>
<script
@@ -426,7 +426,7 @@ on this server.&lt;/p&gt;
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/faq_joplin_cloud.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/faq_joplin_cloud.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>FAQ | Joplin</title>
<script
@@ -347,7 +347,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/faq_joplin_cloud.md
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/gsoc2020/ideas.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/gsoc2020/ideas.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>GSoC 2020 Ideas | Joplin</title>
<script
@@ -433,7 +433,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/gsoc2020/ideas.md
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/gsoc2020/index.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/gsoc2020/index.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Google Summer of Code 2020 | Joplin</title>
<script
@@ -432,7 +432,7 @@ There could be exceptional reason to accept proposal what cannot be finished ove
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/gsoc2021/ideas.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/gsoc2021/ideas.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>GSoC 2021 Ideas | Joplin</title>
<script
@@ -393,7 +393,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/gsoc2021/ideas.md
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/gsoc2021/index.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/gsoc2021/index.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Google Summer of Code 2021 | Joplin</title>
<script
@@ -448,7 +448,7 @@ There could be exceptional reason to accept proposal what cannot be finished ove
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/gsoc2021/pull_request_guidel
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/gsoc2021/pull_request_guidel
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Pull request guidelines | Joplin</title>
<script
@@ -356,7 +356,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/gsoc2021/pull_request_guidel
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/gsod2020/ideas.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/gsod2020/ideas.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>1.Idea - Create documenation hub | Joplin</title>
<script
@@ -358,7 +358,7 @@ Task is to find a toolset to structure them and make the knowledge buried in the
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/gsod2020/index.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/gsod2020/index.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Google Season of Doc 2020 | Joplin</title>
<script
@@ -418,7 +418,7 @@ The procedure reflects some of the lessons learnt in the GSOC 2020 campaign, so
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/README.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/README.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Joplin - an open source note taking and to-do application with synchronisation capabilities</title>
<script
@@ -381,7 +381,7 @@ https://github.com/laurent22/joplin/blob/dev/README.md
<p>The Web Clipper is a browser extension that allows you to save web pages and screenshots from your browser. For more information on how to install and use it, see the <a href="/clipper/">Web Clipper Help Page</a>.</p>
<h1>Sponsors<a name="sponsors" href="#sponsors" class="heading-anchor">🔗</a></h1>
<!-- SPONSORS-ORG -->
<p><a href="https://tranio.com/italy/"><img title="Tranio" width="256" src="https://joplinapp.org/images/sponsors/Tranio.png"/></a> <a href="https://seirei.ne.jp"><img title="Serei Network" width="256" src="https://joplinapp.org/images/sponsors/SeireiNetwork.png"/></a> <a href="https://usrigging.com/"><img title="U.S. Ringing Supply" width="256" src="https://joplinapp.org/images/sponsors/RingingSupply.svg"/></a> <a href="https://www.hosting.de/nextcloud/?mtm_campaign=managed-nextcloud&amp;mtm_kwd=joplinapp&amp;mtm_source=joplinapp-github&amp;mtm_medium=banner"><img title="Hosting.de" width="256" src="https://joplinapp.org/images/sponsors/HostingDe.png"/></a></p>
<p><a href="https://seirei.ne.jp"><img title="Serei Network" width="256" src="https://joplinapp.org/images/sponsors/SeireiNetwork.png"/></a> <a href="https://tranio.com/italy/"><img title="Tranio" width="256" src="https://joplinapp.org/images/sponsors/Tranio.png"/></a> <a href="https://usrigging.com/"><img title="U.S. Ringing Supply" width="256" src="https://joplinapp.org/images/sponsors/RingingSupply.svg"/></a> <a href="https://www.hosting.de/nextcloud/?mtm_campaign=managed-nextcloud&amp;mtm_kwd=joplinapp&amp;mtm_source=joplinapp-github&amp;mtm_medium=banner"><img title="Hosting.de" width="256" src="https://joplinapp.org/images/sponsors/HostingDe.png"/></a></p>
<!-- SPONSORS-ORG -->
<hr>
<!-- SPONSORS-GITHUB -->
@@ -946,8 +946,8 @@ Eg. <code>:search -- &quot;-tag:tag1&quot;</code>.</p>
<td><img src="https://joplinapp.org/images/flags/country-4x3/fr.png" width="16px"/></td>
<td>Français (France)</td>
<td><a href="https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/fr_FR.po">fr_FR</a></td>
<td>Laurent Cozic</td>
<td>96%</td>
<td>Nicolas Viviani</td>
<td>100%</td>
</tr>
<tr>
<td><img src="https://joplinapp.org/images/flags/es/galicia.png" width="16px"/></td>
@@ -1087,7 +1087,7 @@ Eg. <code>:search -- &quot;-tag:tag1&quot;</code>.</p>
<td>Русский (Россия)</td>
<td><a href="https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ru_RU.po">ru_RU</a></td>
<td><a href="mailto:thesermanarm@gmail.com">Sergey Segeda</a></td>
<td>89%</td>
<td>99%</td>
</tr>
<tr>
<td><img src="https://joplinapp.org/images/flags/country-4x3/rs.png" width="16px"/></td>
@@ -1101,7 +1101,7 @@ Eg. <code>:search -- &quot;-tag:tag1&quot;</code>.</p>
<td>中文 (简体)</td>
<td><a href="https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/zh_CN.po">zh_CN</a></td>
<td><a href="mailto:jackytsu@vip.qq.com">南宫小骏</a></td>
<td>99%</td>
<td>100%</td>
</tr>
<tr>
<td><img src="https://joplinapp.org/images/flags/country-4x3/tw.png" width="16px"/></td>
@@ -1115,7 +1115,7 @@ Eg. <code>:search -- &quot;-tag:tag1&quot;</code>.</p>
<td>日本語 (日本)</td>
<td><a href="https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ja_JP.po">ja_JP</a></td>
<td><a href="mailto:genneko217@gmail.com">genneko</a></td>
<td>95%</td>
<td>100%</td>
</tr>
<tr>
<td><img src="https://joplinapp.org/images/flags/country-4x3/kr.png" width="16px"/></td>
@@ -1701,7 +1701,7 @@ Eg. <code>:search -- &quot;-tag:tag1&quot;</code>.</p>
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -11,7 +11,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#000000" />
<meta name="description" content="Joplin, the open source note-taking application" />
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
rel="stylesheet"
href="&#x2F;css/bootstrap5.0.2.min.css"
@@ -29,7 +29,7 @@
rel="preload"
as="script"
></script>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Joplin</title>
</head>
<body class="front-page website-env-prod">
@@ -568,10 +568,10 @@
<br />
<div class="text-center sponsors-org">
<a class="sponsor-org-item" href="https:&#x2F;&#x2F;tranio.com&#x2F;italy&#x2F;"><img title="Tranio" src="&#x2F;images/sponsors/Tranio.png"></a>
<a class="sponsor-org-item" href="https:&#x2F;&#x2F;seirei.ne.jp"><img title="Serei Network" src="&#x2F;images/sponsors/SeireiNetwork.png"></a>
<a class="sponsor-org-item" href="https:&#x2F;&#x2F;usrigging.com&#x2F;"><img title="U.S. Ringing Supply" src="&#x2F;images/sponsors/RingingSupply.svg"></a>
<a class="sponsor-org-item" href="https:&#x2F;&#x2F;www.hosting.de&#x2F;nextcloud&#x2F;?mtm_campaign&#x3D;managed-nextcloud&amp;mtm_kwd&#x3D;joplinapp&amp;mtm_source&#x3D;joplinapp-webseite&amp;mtm_medium&#x3D;banner"><img title="Hosting.de" src="&#x2F;images/sponsors/HostingDe.png"></a>
<a class="sponsor-org-item" href="https:&#x2F;&#x2F;tranio.com&#x2F;italy&#x2F;"><img title="Tranio" src="&#x2F;images/sponsors/Tranio.png"></a>
</div>
<div class="text-center sponsors-github">
@@ -724,7 +724,7 @@
rel="preload"
as="script"
></script>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/markdown.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/markdown.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Markdown Guide | Joplin</title>
<script
@@ -653,7 +653,7 @@ graph TD;
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/mobile.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/mobile.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Mobile app | Joplin</title>
<script
@@ -330,7 +330,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/mobile.md
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/note_history.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/note_history.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Note History | Joplin</title>
<script
@@ -343,7 +343,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/note_history.md
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Joplin Cloud Plans | Joplin</title>
<script
@@ -412,7 +412,7 @@ https://github.com/laurent22/joplin/blob/dev/
<script>
const urlQuery = new URLSearchParams(location.search);
let subscriptionPeriod = 'monthly';
var stripe = Stripe('pk_live_51IvkOPLx4fybOTqJow8RFsWs0eDznPeBlXMw6s8SIDQeCM8bAFNYlBdDsyonAwRcJgBCoSlvFzAbhJgLFxzzTu4r0006aw846C');
const stripe = Stripe('pk_live_51IvkOPLx4fybOTqJow8RFsWs0eDznPeBlXMw6s8SIDQeCM8bAFNYlBdDsyonAwRcJgBCoSlvFzAbhJgLFxzzTu4r0006aw846C');
let checkoutSessionUser = null;
@@ -435,9 +435,9 @@ https://github.com/laurent22/joplin/blob/dev/
}
var createCheckoutSession = function(priceId) {
const coupon = urlQuery.get('coupon') || '';
const promotionCode = urlQuery.get('promo') || '';
console.info('Creating Stripe session for price:', priceId, 'Coupon:', coupon);
console.info('Creating Stripe session for price:', priceId, 'Promotion code:', promotionCode);
return fetch("https://joplincloud.com/stripe/createCheckoutSession", {
method: "POST",
@@ -445,8 +445,8 @@ https://github.com/laurent22/joplin/blob/dev/
"Content-Type": "application/json"
},
body: JSON.stringify({
priceId: priceId,
coupon: coupon,
priceId,
promotionCode,
email: checkoutSessionUser ? checkoutSessionUser.email : '',
})
}).then(async function(result) {
@@ -506,7 +506,7 @@ https://github.com/laurent22/joplin/blob/dev/
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/plugins.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/plugins.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Plugins | Joplin</title>
<script
@@ -341,7 +341,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/plugins.md
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/prereleases.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/prereleases.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Getting pre-releases | Joplin</title>
<script
@@ -332,7 +332,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/prereleases.md
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/privacy.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/privacy.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Joplin Privacy Policy | Joplin</title>
<script
@@ -331,7 +331,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/privacy.md
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/publish_note.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/publish_note.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Publishing a note with Joplin Cloud | Joplin</title>
<script
@@ -335,7 +335,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/publish_note.md
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/rich_text_editor.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/rich_text_editor.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>About the Rich Text editor | Joplin</title>
<script
@@ -353,7 +353,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/rich_text_editor.md
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/share_notebook.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/share_notebook.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Sharing a notebook with Joplin Cloud | Joplin</title>
<script
@@ -363,7 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/share_notebook.md
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/spec/clipper_auth.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/spec/clipper_auth.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Clipper authorisation mechanism | Joplin</title>
<script
@@ -354,7 +354,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/spec/clipper_auth.md
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/spec/e2ee.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/spec/e2ee.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Encryption | Joplin</title>
<script
@@ -384,6 +384,33 @@ https://github.com/laurent22/joplin/blob/dev/readme/spec/e2ee.md
<p>Currently, there is no way to delete encryption keys if you do not need them anymore or if you disabled the encryption completely. You will get a persistant notification to provide a Master Key password on a new device, even if encryption is disabled. Entering the Master Key(s) password and still having the encryption disabled will get rid of the notification. See <a href="https://discourse.joplinapp.org/t/delete-e2ee-master-keys/906">Delete E2EE Master Keys</a> for more info.</p>
</li>
</ul>
<h2>Types of keys<a name="types-of-keys" href="#types-of-keys" class="heading-anchor">🔗</a></h2>
<p>There are two types of key:</p>
<ul>
<li>
<p><strong>Data keys</strong>, which are used to encrypt Joplin items, such as notes, notebooks, tags, etc. when E2EE is ernabled. A data key is generated when the user enables E2EE. Data keys are also dynamically generated when a user shares a notebook with another user. In this case, we create a separate key, so that the recipient can only decrypt this specific notebook.</p>
</li>
<li>
<p><strong>Public-private key pairs</strong>, which are used to transfer secrets between users.</p>
</li>
</ul>
<h2>Master password<a name="master-password" href="#master-password" class="heading-anchor">🔗</a></h2>
<p>The master password is used to encrypt E2EE data keys as well as the user's private key.</p>
<p><strong>It is possible to change the master password</strong> - in this case, all keys are reencrypted with the new passowrd. The data, notes, notebooks, etc. does not need to be reencrypted.</p>
<p>If a master password is forgotten it's not possible to recover it. <strong>It is however possible to reset it</strong>. In that case, all associated keys are disabled, and the public-private key pair is regenerated. In practice it means that any content that was encrypted with the forgotten password can no longer be decrypted.</p>
<h2>Public-private key pairs<a name="public-private-key-pairs" href="#public-private-key-pairs" class="heading-anchor">🔗</a></h2>
<p>Public-private key pairs (PPK) are used to transfer secrets between users. Specifically, they are used when sharing a notebook while E2EE is enabled. The workflow is as follow:</p>
<ul>
<li>Alice shares a notebook with Bob</li>
<li>Since the notebook is encrypted, Alice also sends the key to Bob, but it needs to be encrypted too.</li>
<li>To do so, she downloads Bob's public key and encrypt the key with it</li>
<li>When accepting the share, Bob receives this key</li>
<li>Bob decrypts it with his private key</li>
<li>Once decrypted, he reencrypts it with his master password</li>
</ul>
<p>At this point, both users have a copy of the key and can share notes over E2EE.</p>
<p>A user can only have one PPK.</p>
<p>PPKs are generated automatically when E2EE is enabled and when the user synchronises. They are then stored in info.json on the sync target. The key is genrated during sync because otherwise multiple clients could generate a PPK, and then there would be a conflict to decide which PPK should be kept. By doing it during sync, it ensures that only one PPK is generated because the synchronizer fetches first info.json - and only generates a PPK if none is already present.</p>
<div class="bottom-links">
<a href="https://github.com/laurent22/joplin/blob/dev/readme/spec/e2ee.md">
@@ -423,7 +450,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/spec/e2ee.md
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/spec/history.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/spec/history.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Note history | Joplin</title>
<script
@@ -355,7 +355,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/spec/history.md
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/spec/plugins.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/spec/plugins.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Plugin system architecture | Joplin</title>
<script
@@ -393,7 +393,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/spec/plugins.md
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/spec/search_sorting.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/spec/search_sorting.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Search Engine | Joplin</title>
<script
@@ -350,7 +350,7 @@ This time-based weight decays logarithmically, becoming less of a factor than BM
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/spec/server_delta_sync.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/spec/server_delta_sync.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Joplin Server delta sync | Joplin</title>
<script
@@ -404,7 +404,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/spec/server_delta_sync.md
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/spec/server_file_url_format.
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/spec/server_file_url_format.
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Structure of file URLs in Joplin Server | Joplin</title>
<script
@@ -350,7 +350,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/spec/server_file_url_format.
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/spec/server_sharing.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/spec/server_sharing.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Joplin Server sharing feature | Joplin</title>
<script
@@ -296,7 +296,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/spec/server_sharing.md
<p>That application works as a viewer - instead of displaying the Markdown file as plain text (by default), it renders it and displays it as HTML.</p>
<p>The rendering engine is the same as the main applications, which allows us to use the same plugins and settings.</p>
<h3>Attached resources<a name="attached-resources" href="#attached-resources" class="heading-anchor">🔗</a></h3>
<p>Any resource attached to the note is also shared - so for example images will be displayed, and it will be possible to open any attached PDF. This</p>
<p>Any resource attached to the note is also shared - so for example images will be displayed, and it will be possible to open any attached PDF.</p>
<h3>Linked note<a name="linked-note" href="#linked-note" class="heading-anchor">🔗</a></h3>
<p>Any linked note will <strong>not</strong> be shared, due to the following reasons:</p>
<ul>
@@ -351,7 +351,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/spec/server_sharing.md
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/spec/server_user_status.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/spec/server_user_status.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Joplin Server user status | Joplin</title>
<script
@@ -356,7 +356,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/spec/server_user_status.md
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/spec/sync_lock.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/spec/sync_lock.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Lock types | Joplin</title>
<script
@@ -387,7 +387,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/spec/sync_lock.md
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

File diff suppressed because it is too large Load Diff

View File

@@ -59,7 +59,7 @@
<script>
const urlQuery = new URLSearchParams(location.search);
let subscriptionPeriod = 'monthly';
var stripe = Stripe('{{{stripeConfig.publishableKey}}}');
const stripe = Stripe('{{{stripeConfig.publishableKey}}}');
let checkoutSessionUser = null;
@@ -82,9 +82,9 @@
}
var createCheckoutSession = function(priceId) {
const coupon = urlQuery.get('coupon') || '';
const promotionCode = urlQuery.get('promo') || '';
console.info('Creating Stripe session for price:', priceId, 'Coupon:', coupon);
console.info('Creating Stripe session for price:', priceId, 'Promotion code:', promotionCode);
return fetch("{{{stripeConfig.webhookBaseUrl}}}/stripe/createCheckoutSession", {
method: "POST",
@@ -92,8 +92,8 @@
"Content-Type": "application/json"
},
body: JSON.stringify({
priceId: priceId,
coupon: coupon,
priceId,
promotionCode,
email: checkoutSessionUser ? checkoutSessionUser.email : '',
})
}).then(async function(result) {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/terminal.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/terminal.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Joplin | Joplin</title>
<script
@@ -1009,7 +1009,7 @@ version
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/welcome/1_welcome_to_joplin.
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/welcome/1_welcome_to_joplin.
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Welcome to Joplin! | Joplin</title>
<script
@@ -381,7 +381,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/welcome/1_welcome_to_joplin.
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/welcome/2_importing_and_expo
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/welcome/2_importing_and_expo
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Importing and exporting notes | Joplin</title>
<script
@@ -335,7 +335,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/welcome/2_importing_and_expo
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/welcome/3_synchronising_your
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/welcome/3_synchronising_your
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Synchronising your notes | Joplin</title>
<script
@@ -340,7 +340,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/welcome/3_synchronising_your
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/welcome/4_tips.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/welcome/4_tips.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Tips | Joplin</title>
<script
@@ -394,7 +394,7 @@ $$</p>
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -29,7 +29,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/welcome/5_privacy.md
href="&#x2F;css/bootstrap5.0.2.min.css"
as="style"
/>
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1632942762182">
<link rel="stylesheet" href="&#x2F;css/fontawesome-all.min.css?t=1633686031235">
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
rel="stylesheet"
@@ -37,7 +37,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/welcome/5_privacy.md
media="all"
onload="this.media='all'; this.onload = null"
/>
<link rel="stylesheet" href="&#x2F;css/site.css?t=1632942762182" as="style" />
<link rel="stylesheet" href="&#x2F;css/site.css?t=1633686031235" as="style" />
<title>Privacy | Joplin</title>
<script
@@ -359,7 +359,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/welcome/5_privacy.md
</div>
</footer> </div>
<script src="&#x2F;js/script.js?t=1632942762182"></script>
<script src="&#x2F;js/script.js?t=1633686031235"></script>
<script>
if (window.location.hostname !== 'localhost') {

View File

@@ -8,8 +8,8 @@ import DialogTitle from '../DialogTitle';
import StyledInput from '../style/StyledInput';
import { getMasterPasswordStatus, getMasterPasswordStatusMessage, checkHasMasterPasswordEncryptedData, masterPasswordIsValid, MasterPasswordStatus, resetMasterPassword, updateMasterPassword } from '@joplin/lib/services/e2ee/utils';
import { reg } from '@joplin/lib/registry';
import EncryptionService from '../../../lib/services/e2ee/EncryptionService';
import KvStore from '../../../lib/services/KvStore';
import EncryptionService from '@joplin/lib/services/e2ee/EncryptionService';
import KvStore from '@joplin/lib/services/KvStore';
interface Props {
themeId: number;

View File

@@ -393,6 +393,11 @@ const TinyMCE = (props: NoteBodyEditorProps, ref: any) => {
font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
}
.tox .tox-dialog-wrap__backdrop {
background-color: ${theme.backgroundColor} !important;
opacity:0.7
}
.tox .tox-editor-header {
border: none;
}

View File

@@ -13,7 +13,6 @@ const Menu = bridge().Menu;
const MenuItem = bridge().MenuItem;
import Note from '@joplin/lib/models/Note';
import Setting from '@joplin/lib/models/Setting';
const { substrWithEllipsis } = require('@joplin/lib/string-utils');
interface ContextMenuProps {
notes: any[];
@@ -204,14 +203,8 @@ export default class NoteListUtils {
static async confirmDeleteNotes(noteIds: string[]) {
if (!noteIds.length) return;
let msg = '';
if (noteIds.length === 1) {
const note = await Note.load(noteIds[0]);
if (!note) return;
msg = _('Delete note "%s"?', substrWithEllipsis(note.title, 0, 32));
} else {
msg = _('Delete these %d notes?', noteIds.length);
}
const msg = await Note.deleteMessage(noteIds);
if (!msg) return;
const ok = bridge().showConfirmMessageBox(msg, {
buttons: [_('Delete'), _('Cancel')],

View File

@@ -1,13 +1,16 @@
const gulp = require('gulp');
const utils = require('@joplin/tools/gulp/utils');
const compileSass = require('@joplin/tools/compileSass');
const compilePackageInfo = require('@joplin/tools/compilePackageInfo');
const tasks = {
compileScripts: {
fn: require('./tools/compileScripts'),
},
compilePackageInfo: {
fn: require('./tools/compile-package-info.js'),
fn: async () => {
await compilePackageInfo(`${__dirname}/package.json`, `${__dirname}/packageInfo.js`);
},
},
copyPluginAssets: {
fn: require('./tools/copyPluginAssets.js'),

View File

@@ -184,10 +184,14 @@ class ScreenHeaderComponent extends React.PureComponent {
async deleteButton_press() {
// Dialog needs to be displayed as a child of the parent component, otherwise
// it won't be visible within the header component.
const ok = await dialogs.confirm(this.props.parentComponent, _('Delete these notes?'));
const noteIds = this.props.selectedNoteIds;
const msg = await Note.deleteMessage(noteIds);
if (!msg) return;
const ok = await dialogs.confirm(this.props.parentComponent, msg);
if (!ok) return;
const noteIds = this.props.selectedNoteIds;
this.props.dispatch({ type: 'NOTE_SELECTION_END' });
await Note.batchDelete(noteIds);
}

View File

@@ -101,7 +101,7 @@ import setIgnoreTlsErrors from './utils/TlsUtils';
import ShareService from '@joplin/lib/services/share/ShareService';
import setupNotifications from './utils/setupNotifications';
import { loadMasterKeysFromSettings, migrateMasterPassword } from '@joplin/lib/services/e2ee/utils';
import SyncTargetNone from '../lib/SyncTargetNone';
import SyncTargetNone from '@joplin/lib/SyncTargetNone';
import { setRSA } from '@joplin/lib/services/e2ee/ppk';
import RSA from './services/e2ee/RSA.react-native';
import { runIntegrationTests } from '@joplin/lib/services/e2ee/ppkTestUtils';

View File

@@ -405,9 +405,12 @@ export default class Synchronizer {
return `${Dirnames.Resources}/${resourceId}`;
};
// We index resources and apply the "is_shared" flag before syncing
// because it's going to affect what's sent encrypted, and what's sent
// plain text.
// We index resources before sync mostly to flag any potential orphan
// resource before it is being synced. That way, it can potentially be
// auto-deleted at a later time. Indexing resources is fast so it's fine
// to call it every time here.
//
// https://github.com/laurent22/joplin/issues/932#issuecomment-933736405
try {
if (this.resourceService()) {
logger.info('Indexing resources...');

View File

@@ -603,6 +603,11 @@ export default class BaseItem extends BaseModel {
throw new Error('Unreachable');
}
public static async itemHasBeenSynced(itemId: string): Promise<boolean> {
const r = await this.db().selectOne('SELECT item_id FROM sync_items WHERE item_id = ?', [itemId]);
return !!r;
}
public static async itemsThatNeedSync(syncTarget: number, limit = 100): Promise<ItemsThatNeedSyncResult> {
// Although we keep the master keys in the database, we no longer sync them
const classNames = this.syncItemClassNames().filter(n => n !== 'MasterKey');

View File

@@ -10,7 +10,7 @@ import Tag from './Tag';
const { sprintf } = require('sprintf-js');
import Resource from './Resource';
const { pregQuote } = require('../string-utils.js');
const { pregQuote, substrWithEllipsis } = require('../string-utils.js');
const { _ } = require('../locale');
const ArrayUtils = require('../ArrayUtils.js');
const lodash = require('lodash');
@@ -731,6 +731,18 @@ export default class Note extends BaseItem {
}
}
static async deleteMessage(noteIds: string[]): Promise<string|null> {
let msg = '';
if (noteIds.length === 1) {
const note = await Note.load(noteIds[0]);
if (!note) return null;
msg = _('Delete note "%s"?', substrWithEllipsis(note.title, 0, 32));
} else {
msg = _('Delete these %d notes?', noteIds.length);
}
return msg;
}
static dueNotes() {
return this.modelSelectAll('SELECT id, title, body, is_todo, todo_due, todo_completed, is_conflict FROM notes WHERE is_conflict = 0 AND is_todo = 1 AND todo_completed = 0 AND todo_due > ?', [time.unixMs()]);
}

View File

@@ -1,5 +1,6 @@
import BaseModel from '../BaseModel';
import { SqlQuery } from '../database';
import BaseItem from './BaseItem';
// - If is_associated = 1, note_resources indicates which note_id is currently associated with the given resource_id
// - If is_associated = 0, note_resources indicates which note_id *was* associated with the given resource_id
@@ -104,7 +105,22 @@ export default class NoteResource extends BaseModel {
const queries = [];
for (let i = 0; i < missingResources.length; i++) {
const id = missingResources[i].id;
queries.push({ sql: 'INSERT INTO note_resources (note_id, resource_id, is_associated, last_seen_time) VALUES (?, ?, ?, ?)', params: ['', id, 0, 0] });
// If the resource is not associated with any note, and has never
// been synced, it means it's a local resource that was removed from
// a note (or the note was deleted). In which case, we set a
// "last_seen_time", so that it can be considered an orphan reosurce
// that can be auto-deleted.
//
// https://github.com/laurent22/joplin/issues/932#issuecomment-933736405
const hasBeenSynced = await BaseItem.itemHasBeenSynced(id);
const lastSeenTime = hasBeenSynced ? 0 : Date.now();
queries.push({
sql: 'INSERT INTO note_resources (note_id, resource_id, is_associated, last_seen_time) VALUES (?, ?, ?, ?)',
params: ['', id, 0, lastSeenTime] }
);
}
await this.db().transactionExecBatch(queries);
}

View File

@@ -124,9 +124,12 @@ export default class CommandService extends BaseService {
const output = [];
const whenClauseContext = this.currentWhenClauseContext();
for (const commandName of this.commandNames()) {
const label = this.label(commandName, true);
if (!label && excludeWithoutLabel) continue;
if (!this.isEnabled(commandName, whenClauseContext)) continue;
const title = label ? `${label} (${commandName})` : commandName;

View File

@@ -73,15 +73,17 @@ describe('services/ResourceService', function() {
expect(!!(await Resource.load(resource1.id))).toBe(true);
}));
it('should not delete a resource that has never been associated with any note, because it probably means the resource came via sync, and associated note has not arrived yet', (async () => {
const service = new ResourceService();
await shim.createResourceFromPath(`${supportDir}/photo.jpg`);
// This is now handled below by more correct tests
//
// it('should not delete a resource that has never been associated with any note, because it probably means the resource came via sync, and associated note has not arrived yet', (async () => {
// const service = new ResourceService();
// await shim.createResourceFromPath(`${supportDir}/photo.jpg`);
await service.indexNoteResources();
await service.deleteOrphanResources(0);
// await service.indexNoteResources();
// await service.deleteOrphanResources(0);
expect((await Resource.all()).length).toBe(1);
}));
// expect((await Resource.all()).length).toBe(1);
// }));
it('should not delete resource if it is used in an IMG tag', (async () => {
const service = new ResourceService();
@@ -187,6 +189,53 @@ describe('services/ResourceService', function() {
expect(!!nr.is_associated).toBe(true); // And it should have fixed the situation by re-indexing the note content
}));
it('should delete a resource if it is not associated with any note and has never been synced', (async () => {
// - User creates a note and attaches a resource
// - User deletes the note
// - NoteResource service runs - the resource can be deleted
//
// This is because, since the resource didn't come via sync, it's
// guaranteed that it is orphaned, which means it can be safely deleted.
// See related test below to handle case where the resource actually
// comes via sync.
const note = await Note.save({});
await shim.attachFileToNote(note, `${supportDir}/photo.jpg`);
await Note.delete(note.id);
const resource = (await Resource.all())[0];
await resourceService().indexNoteResources();
await resourceService().deleteOrphanResources(-10);
expect(await Resource.load(resource.id)).toBeFalsy();
}));
it('should NOT delete a resource if it arrived via synced, even if it is not associated with any note', (async () => {
// - C1 creates Resource 1
// - C1 sync
// - C2 sync
// - NoteResource service runs - should find an orphan resource, but not
// delete it because the associated note might come later from U1.
//
// At this point, C1 has the knowledge about Resource 1 so whether it's
// eventually deleted or not will come from there. If it's an orphaned
// resource, it will be deleted on C1 first, then the deletion will be
// synced to other clients.
const note = await Note.save({});
await shim.attachFileToNote(note, `${supportDir}/photo.jpg`);
await Note.delete(note.id);
const resource = (await Resource.all())[0];
await synchronizer().start();
await switchClient(2);
await synchronizer().start();
await resourceService().indexNoteResources();
await resourceService().deleteOrphanResources(0);
expect(await Resource.load(resource.id)).toBeTruthy();
}));
// it('should auto-delete resource even if the associated note was deleted immediately', (async () => {
// // Previoulsy, when a resource was be attached to a note, then the
// // note was immediately deleted, the ResourceService would not have

Some files were not shown because too many files have changed in this diff Show More