mirror of
https://github.com/laurent22/joplin.git
synced 2025-01-26 18:58:21 +02:00
360 lines
14 KiB
HTML
360 lines
14 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
|
|
<!--
|
|
|
|
!!! WARNING !!!
|
|
|
|
This file was auto-generated from readme/gsoc2021/pull_request_guidelines.md and any manual change
|
|
made to it will be overwritten. To make a change to this file please modify
|
|
the source Markdown file:
|
|
|
|
https://github.com/laurent22/joplin/blob/dev/readme/gsoc2021/pull_request_guidelines.md
|
|
|
|
-->
|
|
|
|
<head>
|
|
<!-- Donate button A/B testing -->
|
|
<script async src="https://www.googleoptimize.com/optimize.js?id=OPT-PW3ZPK3"></script> <meta
|
|
charset="utf-8"
|
|
http-equiv="X-UA-Compatible"
|
|
content="IE=edge,chrome=1"
|
|
/>
|
|
<link rel="icon" href="/images/favicon.png" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<meta name="theme-color" content="#000000" />
|
|
<meta name="description" content="Joplin website" />
|
|
<link
|
|
rel="stylesheet"
|
|
href="/css/bootstrap5.0.2.min.css"
|
|
as="style"
|
|
/>
|
|
<link rel="stylesheet" href="/css/fontawesome-all.min.css?t=1626702436553">
|
|
<link
|
|
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
|
|
rel="stylesheet"
|
|
as="style"
|
|
media="all"
|
|
onload="this.media='all'; this.onload = null"
|
|
/>
|
|
<link rel="stylesheet" href="/css/site.css?t=1626702436553" as="style" />
|
|
<title>Pull request guidelines | Joplin</title>
|
|
</head>
|
|
<body class="website-env-prod">
|
|
<div class="container-fluid generic-template -page" id="main-container">
|
|
|
|
<div class=" navbar-main white-bg" id="nav-section">
|
|
<div class="container">
|
|
<div class="row">
|
|
<div class="col-3">
|
|
<a href="/">
|
|
<img
|
|
src="/images/logo-text-blue.svg"
|
|
alt=""
|
|
id="top-logo"
|
|
width="180"
|
|
/>
|
|
</a>
|
|
</div>
|
|
<div class="col-9 text-right d-none d-md-block">
|
|
<a href="/help/" class="fw500">Help</a>
|
|
<a href="https://discourse.joplinapp.org/" class="fw500">Forum</a>
|
|
<a href="/plans/" class="button-link btn-trans plans-button">Joplin Cloud</a><a class="button-link btn-blue sponsor-button" href="/donate">
|
|
<i class="fas fa-heart heart-full"></i><i class="far fa-heart heart-line"></i> Support us
|
|
</a> </div>
|
|
<div class="col-9 text-right d-block d-md-none">
|
|
<span class="pointer"
|
|
><img
|
|
src="/images/mobile-menu-black-open-icon.png"
|
|
id="open-menu-mobile"
|
|
alt=""
|
|
/></span>
|
|
|
|
|
|
<div id="menu-mobile">
|
|
<div>
|
|
<div class="text-right">
|
|
<img
|
|
src="/images/close-icon.png"
|
|
alt=""
|
|
class="pointer"
|
|
id="close-menu-mobile"
|
|
/>
|
|
</div>
|
|
|
|
<div class="text-center menu-mobile-top">
|
|
<a href="https://discourse.joplinapp.org/" class="fw500 mobile-menu-link">Forum</a>
|
|
<a href="/help/" class="fw500 mobile-menu-link">Help</a>
|
|
</div>
|
|
|
|
<div class="menu-mobile-buttons">
|
|
<a href="/plans/" class="button-link btn-trans plans-button">Joplin Cloud</a><a class="button-link btn-blue sponsor-button" href="/donate">
|
|
<i class="fas fa-heart heart-full"></i><i class="far fa-heart heart-line"></i> Support us
|
|
</a> </div>
|
|
</div>
|
|
|
|
<div id="toc-mobile"><div><ul>
|
|
<li>
|
|
<p>Applications</p>
|
|
<ul>
|
|
<li><a href="/desktop/">Desktop application</a></li>
|
|
<li><a href="/mobile/">Mobile applications</a></li>
|
|
<li><a href="/terminal/">Terminal application</a></li>
|
|
<li><a href="/clipper/">Web Clipper</a></li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<p>Support</p>
|
|
<ul>
|
|
<li><a href="https://discourse.joplinapp.org">Joplin Forum</a></li>
|
|
<li><a href="/markdown/">Markdown Guide</a></li>
|
|
<li><a href="/e2ee/">How to enable end-to-end encryption</a></li>
|
|
<li><a href="/conflict/">What is a conflict?</a></li>
|
|
<li><a href="/debugging/">How to enable debug mode</a></li>
|
|
<li><a href="/rich_text_editor/">About the Rich Text editor limitations</a></li>
|
|
<li><a href="/faq/">FAQ</a></li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<p>Joplin API - Get Started</p>
|
|
<ul>
|
|
<li><a href="/api/overview/">Joplin API Overview</a></li>
|
|
<li><a href="/api/get_started/plugins/">Plugin development</a></li>
|
|
<li><a href="/api/tutorials/toc_plugin/">Plugin tutorial</a></li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<p>Joplin API - References</p>
|
|
<ul>
|
|
<li><a href="https://joplinapp.org/api/references/plugin_api/classes/joplin.html">Plugin API</a></li>
|
|
<li><a href="/api/references/rest_api/">Data API</a></li>
|
|
<li><a href="/api/references/plugin_manifest/">Plugin manifest</a></li>
|
|
<li><a href="/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
|
<li><a href="/api/references/plugin_theming/">Plugin theming</a></li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<p>Development</p>
|
|
<ul>
|
|
<li><a href="https://github.com/laurent22/joplin/blob/dev/BUILD.md">How to build the apps</a></li>
|
|
<li><a href="/spec/e2ee/">End-to-end encryption spec</a></li>
|
|
<li><a href="/spec/history/">Note History spec</a></li>
|
|
<li><a href="/spec/sync_lock/">Sync Lock spec</a></li>
|
|
<li><a href="/spec/plugins/">Plugin Architecture spec</a></li>
|
|
<li><a href="/spec/search_sorting/">Search Sorting spec</a></li>
|
|
<li><a href="/spec/server_file_url_format/">Server: File URL Format</a></li>
|
|
<li><a href="/spec/server_delta_sync/">Server: Delta Sync</a></li>
|
|
<li><a href="/spec/server_sharing/">Server: Sharing</a></li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<p>Google Summer of Code 2021</p>
|
|
<ul>
|
|
<li><a href="/gsoc2021/index/">Google Summer of Code 2021</a></li>
|
|
<li><a href="/gsoc2021/pull_request_guidelines/">How to submit a GSoC pull request</a></li>
|
|
<li><a href="/gsoc2021/ideas/">Project Ideas</a></li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<p>About</p>
|
|
<ul>
|
|
<li><a href="/changelog/">Changelog (Desktop App)</a></li>
|
|
<li><a href="/changelog_cli/">Changelog (CLI App)</a></li>
|
|
<li><a href="/changelog_server/">Changelog (Server)</a></li>
|
|
<li><a href="/stats/">Stats</a></li>
|
|
<li><a href="/donate/">Donate</a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</div></div>
|
|
|
|
<div>
|
|
<p class="light-blue mobile-menu-link-bottom text-center">
|
|
Copyright © 2016-2021 Laurent Cozic
|
|
<br/>
|
|
<a href="/privacy/" class="fw500">Privacy Policy</a>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="page-container page-pull_request_guidelines">
|
|
<div class="container">
|
|
<div class="row content-wrapper">
|
|
<div id="toc"><div><ul>
|
|
<li>
|
|
<p>Applications</p>
|
|
<ul>
|
|
<li><a href="/desktop/">Desktop application</a></li>
|
|
<li><a href="/mobile/">Mobile applications</a></li>
|
|
<li><a href="/terminal/">Terminal application</a></li>
|
|
<li><a href="/clipper/">Web Clipper</a></li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<p>Support</p>
|
|
<ul>
|
|
<li><a href="https://discourse.joplinapp.org">Joplin Forum</a></li>
|
|
<li><a href="/markdown/">Markdown Guide</a></li>
|
|
<li><a href="/e2ee/">How to enable end-to-end encryption</a></li>
|
|
<li><a href="/conflict/">What is a conflict?</a></li>
|
|
<li><a href="/debugging/">How to enable debug mode</a></li>
|
|
<li><a href="/rich_text_editor/">About the Rich Text editor limitations</a></li>
|
|
<li><a href="/faq/">FAQ</a></li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<p>Joplin API - Get Started</p>
|
|
<ul>
|
|
<li><a href="/api/overview/">Joplin API Overview</a></li>
|
|
<li><a href="/api/get_started/plugins/">Plugin development</a></li>
|
|
<li><a href="/api/tutorials/toc_plugin/">Plugin tutorial</a></li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<p>Joplin API - References</p>
|
|
<ul>
|
|
<li><a href="https://joplinapp.org/api/references/plugin_api/classes/joplin.html">Plugin API</a></li>
|
|
<li><a href="/api/references/rest_api/">Data API</a></li>
|
|
<li><a href="/api/references/plugin_manifest/">Plugin manifest</a></li>
|
|
<li><a href="/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
|
<li><a href="/api/references/plugin_theming/">Plugin theming</a></li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<p>Development</p>
|
|
<ul>
|
|
<li><a href="https://github.com/laurent22/joplin/blob/dev/BUILD.md">How to build the apps</a></li>
|
|
<li><a href="/spec/e2ee/">End-to-end encryption spec</a></li>
|
|
<li><a href="/spec/history/">Note History spec</a></li>
|
|
<li><a href="/spec/sync_lock/">Sync Lock spec</a></li>
|
|
<li><a href="/spec/plugins/">Plugin Architecture spec</a></li>
|
|
<li><a href="/spec/search_sorting/">Search Sorting spec</a></li>
|
|
<li><a href="/spec/server_file_url_format/">Server: File URL Format</a></li>
|
|
<li><a href="/spec/server_delta_sync/">Server: Delta Sync</a></li>
|
|
<li><a href="/spec/server_sharing/">Server: Sharing</a></li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<p>Google Summer of Code 2021</p>
|
|
<ul>
|
|
<li><a href="/gsoc2021/index/">Google Summer of Code 2021</a></li>
|
|
<li><a href="/gsoc2021/pull_request_guidelines/">How to submit a GSoC pull request</a></li>
|
|
<li><a href="/gsoc2021/ideas/">Project Ideas</a></li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<p>About</p>
|
|
<ul>
|
|
<li><a href="/changelog/">Changelog (Desktop App)</a></li>
|
|
<li><a href="/changelog_cli/">Changelog (CLI App)</a></li>
|
|
<li><a href="/changelog_server/">Changelog (Server)</a></li>
|
|
<li><a href="/stats/">Stats</a></li>
|
|
<li><a href="/donate/">Donate</a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</div></div>
|
|
|
|
<div class="main-content">
|
|
<div class="alert alert-danger alert-env-dev" role="alert">
|
|
Running in prod mode!
|
|
</div>
|
|
<div class="donate-links">
|
|
<p><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=E8JMYD2LQ8MMA&lc=GB&item_name=Joplin+Development&currency_code=EUR&bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHosted"><img src="https://joplinapp.org/images/badges/Donate-PayPal-green.svg" alt="Donate using PayPal"></a> <a href="https://github.com/sponsors/laurent22/"><img src="https://joplinapp.org/images/badges/GitHub-Badge.svg" alt="Sponsor on GitHub"></a> <a href="https://www.patreon.com/joplin"><img src="https://joplinapp.org/images/badges/Patreon-Badge.svg" alt="Become a patron"></a> <a href="https://joplinapp.org/donate/#donations"><img src="https://joplinapp.org/images/badges/Donate-IBAN.svg" alt="Donate using IBAN"></a></p>
|
|
</div>
|
|
<h1>Pull request guidelines<a name="pull-request-guidelines" href="#pull-request-guidelines" class="heading-anchor">🔗</a></h1>
|
|
<p>Due to our limited resources and in order to give everyone a chance to submit a pull request, we have put restrictions in place this year. If you want to submit a pull request, please take into account the following rules:</p>
|
|
<ol>
|
|
<li>
|
|
<p>Pull requests must be based on an issue that existed <strong>before GSoC was started</strong>, or based on an issue created by a moderator.</p>
|
|
</li>
|
|
<li>
|
|
<p>Each contributor <strong>may only create one pull request at a time</strong>. Once your pull request has been merged, you can post a second one. We have this rule in place due to our limited resources - if everyone was allowed to post multiple pull requests we will not be able to review them properly. It is also better for you because you only need to care about one PR - so spend time making sure it is as good as it can be - make sure it works well, has test units, documentation and screenshots (if relevant).</p>
|
|
</li>
|
|
<li>
|
|
<p>If the pull request has serious issues, or would require a significant rewrite to be acceptable, we might closed it and you will not be allowed to open a new one. So <strong>please be careful when posting a PR</strong>.</p>
|
|
</li>
|
|
<li>
|
|
<p><strong>If you are borrowing code, please disclose it</strong>. It is fine and sometimes even recommended to borrow code, but we need to know about it to assess your work. If we find out that your pull request contains a lot of code copied from elsewhere, we will close the pull request.</p>
|
|
</li>
|
|
<li>
|
|
<p><strong>All pull request must have test units</strong>. If for some reason it is not possible to add tests, please let us know and explain why. In that case, you'll need to tell us <strong>what steps you followed to manually test your changes</strong>.</p>
|
|
</li>
|
|
<li>
|
|
<p><strong>No Work In Progress</strong>. ONLY completed and working pull requests, and with test units, will be accepted. A WIP would fall under rule 3 and be closed immediately.</p>
|
|
</li>
|
|
<li>
|
|
<p>Please <strong>do not <code>@mention</code> contributors and mentor and do not ask for pull request reviews</strong>. Sometimes it takes time before we can review your pull request or answer your questions but we'll get to it sooner or later. <code>@mentioning</code> someone just adds to the pile of notifications we get and it won't make us look at your issue faster.</p>
|
|
</li>
|
|
<li>
|
|
<p><strong>Do not force push</strong>. If you make changes to your pull request, please simply add a new commit as that makes it easy for us to review your new changes. If you force push, we'll have to review everything from the beginning.</p>
|
|
</li>
|
|
</ol>
|
|
<p>These rules we hope are fair to everyone, to contributors and maintainers, however if something is unclear or you have any question about them, please let us know!</p>
|
|
|
|
<div class="bottom-links">
|
|
<a href="https://github.com/laurent22/joplin/blob/dev/readme/gsoc2021/pull_request_guidelines.md">
|
|
<i class="fab fa-github"></i> Improve this doc
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<footer class="darkblue-bg">
|
|
<div class="container">
|
|
<div class="row">
|
|
<div class="col-3 d-none d-md-block">
|
|
<img src="/images/logo-text.svg" alt="" width="150" />
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-12">
|
|
<hr />
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-12 col-md-6">
|
|
<img
|
|
src="/images/logo-text.svg"
|
|
width="120"
|
|
class="img-center d-block d-md-none"
|
|
alt=""
|
|
/>
|
|
<br class="d-block d-md-none" />
|
|
<p class="text-center-sm">Copyright © 2016-2021 Laurent Cozic</p>
|
|
</div>
|
|
<div class="col-12 col-md-6 right-links">
|
|
<p class="text-right text-center-sm">
|
|
<a href="https://github.com/laurent22/joplin/" class="github-link"><i class="fab fa-github"></i> GitHub Repository</a>
|
|
<a href="/privacy/">Privacy Policy</a>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</footer>
|
|
</div>
|
|
|
|
<script
|
|
src="/js/jquery-3.6.0.min.js"
|
|
rel="preload"
|
|
as="script"
|
|
></script>
|
|
<script src="/js/script.js?t=1626702436553"></script>
|
|
|
|
<script>
|
|
if (window.location.hostname !== 'localhost') {
|
|
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
|
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
|
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
|
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
|
|
ga('create', 'UA-103586105-1', 'auto');
|
|
ga('send', 'pageview');
|
|
}
|
|
</script> </body>
|
|
</html>
|