Deployed 36c9c7e with MkDocs version: 1.3.1

This commit is contained in:
Stypox 2022-07-26 09:46:37 +02:00
parent f90eac5f52
commit 358ac166e0
54 changed files with 1357 additions and 1166 deletions

View File

@ -1,15 +1,11 @@
<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<html class="writer-html5" lang="en" >
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" href="../img/favicon.ico">
<title>Before You Start - NewPipe Development Documentation</title>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="shortcut icon" href="../img/favicon.ico" />
<title>Before You Start - NewPipe Development Documentation</title>
<!-- local fonts -->
<link rel="stylesheet" href="../css/local_fonts.css" type="text/css" />
@ -36,26 +32,24 @@
<body class="wy-body-for-nav" role="document">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
<div class="wy-side-scroll">
<div class="wy-side-nav-search">
<a href=".." class="icon icon-home"> NewPipe Development Documentation</a>
<div role="search">
<a href=".." class="icon icon-home"> NewPipe Development Documentation
</a><div role="search">
<form id ="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" title="Type search term here" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<ul>
<li class="toctree-l1"><a class="reference internal" href="..">Welcome to the NewPipe Development Docs</a>
</li>
</ul>
<ul class="current">
<li class="toctree-l1 current"><a class="reference internal current" href="./">Before You Start</a>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<ul>
<li class="toctree-l1"><a class="reference internal" href="..">Welcome to the NewPipe Development Docs</a>
</li>
</ul>
<ul class="current">
<li class="toctree-l1 current"><a class="reference internal current" href="./">Before You Start</a>
<ul class="current">
<li class="toctree-l2"><a class="reference internal" href="#setting-up-your-dev-environment">Setting Up Your Dev Environment</a>
<ul>
@ -70,72 +64,66 @@
</ul>
</li>
</ul>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../01_Concept_of_the_extractor/">Concept of the Extractor</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../02_Concept_of_LinkHandler/">Concept of the LinkHandler</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../03_Implement_a_service/">Implementing a Service</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../04_Run_changes_in_App/">Testing Your Changes in the App</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../05_Mock_tests/">Mock Tests</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../06_releasing/">Releasing a New NewPipe Version</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../07_documentation/">About This Documentation</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../08_maintainers_view/">Maintainers' Section</a>
</li>
</ul>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../01_Concept_of_the_extractor/">Concept of the Extractor</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../02_Concept_of_LinkHandler/">Concept of the LinkHandler</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../03_Implement_a_service/">Implementing a Service</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../04_Run_changes_in_App/">Testing Your Changes in the App</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../05_Mock_tests/">Mock Tests</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../06_releasing/">Releasing a New NewPipe Version</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../07_release_instructions/">Release instructions for normal releases</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../08_documentation/">About This Documentation</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../09_maintainers_view/">Maintainers' Section</a>
</li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" role="navigation" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="..">NewPipe Development Documentation</a>
<nav class="wy-nav-top" role="navigation" aria-label="Mobile navigation menu">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="..">NewPipe Development Documentation</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="..">Docs</a> &raquo;</li>
<li>Before You Start</li>
<li><a href=".." class="icon icon-home" alt="Docs"></a> &raquo;</li>
<li>Before You Start</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main">
<div class="section">
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div class="section" itemprop="articleBody">
<h1 id="before-you-start">Before You Start</h1>
<p>These documents will guide you through the process of understanding or creating your own Extractor
@ -212,29 +200,21 @@ As Gradle Project, select NewPipeExtractor. As a task, add "test". Now save and
</ul>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
</div><footer>
<div class="rst-footer-buttons" role="navigation" aria-label="Footer Navigation">
<a href=".." class="btn btn-neutral float-left" title="Welcome to the NewPipe Development Docs"><span class="icon icon-circle-arrow-left"></span> Previous</a>
<a href="../01_Concept_of_the_extractor/" class="btn btn-neutral float-right" title="Concept of the Extractor">Next <span class="icon icon-circle-arrow-right"></span></a>
<a href=".." class="btn btn-neutral" title="Welcome to the NewPipe Development Docs"><span class="icon icon-circle-arrow-left"></span> Previous</a>
</div>
<hr/>
<div role="contentinfo">
<!-- Copyright etc -->
</div>
Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
@ -242,7 +222,7 @@ As Gradle Project, select NewPipeExtractor. As a task, add "test". Now save and
</div>
<div class="rst-versions" role="note" aria-label="versions">
<div class="rst-versions" role="note" aria-label="Versions">
<span class="rst-current-version" data-toggle="rst-current-version">

View File

@ -1,15 +1,11 @@
<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<html class="writer-html5" lang="en" >
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" href="../img/favicon.ico">
<title>Concept of the Extractor - NewPipe Development Documentation</title>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="shortcut icon" href="../img/favicon.ico" />
<title>Concept of the Extractor - NewPipe Development Documentation</title>
<!-- local fonts -->
<link rel="stylesheet" href="../css/local_fonts.css" type="text/css" />
@ -36,30 +32,28 @@
<body class="wy-body-for-nav" role="document">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
<div class="wy-side-scroll">
<div class="wy-side-nav-search">
<a href=".." class="icon icon-home"> NewPipe Development Documentation</a>
<div role="search">
<a href=".." class="icon icon-home"> NewPipe Development Documentation
</a><div role="search">
<form id ="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" title="Type search term here" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<ul>
<li class="toctree-l1"><a class="reference internal" href="..">Welcome to the NewPipe Development Docs</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../00_Prepare_everything/">Before You Start</a>
</li>
</ul>
<ul class="current">
<li class="toctree-l1 current"><a class="reference internal current" href="./">Concept of the Extractor</a>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<ul>
<li class="toctree-l1"><a class="reference internal" href="..">Welcome to the NewPipe Development Docs</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../00_Prepare_everything/">Before You Start</a>
</li>
</ul>
<ul class="current">
<li class="toctree-l1 current"><a class="reference internal current" href="./">Concept of the Extractor</a>
<ul class="current">
<li class="toctree-l2"><a class="reference internal" href="#the-collectorextractor-pattern">The Collector/Extractor Pattern</a>
<ul>
@ -74,68 +68,62 @@
<li class="toctree-l2"><a class="reference internal" href="#listextractor">ListExtractor</a>
</li>
</ul>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../02_Concept_of_LinkHandler/">Concept of the LinkHandler</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../03_Implement_a_service/">Implementing a Service</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../04_Run_changes_in_App/">Testing Your Changes in the App</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../05_Mock_tests/">Mock Tests</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../06_releasing/">Releasing a New NewPipe Version</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../07_documentation/">About This Documentation</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../08_maintainers_view/">Maintainers' Section</a>
</li>
</ul>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../02_Concept_of_LinkHandler/">Concept of the LinkHandler</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../03_Implement_a_service/">Implementing a Service</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../04_Run_changes_in_App/">Testing Your Changes in the App</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../05_Mock_tests/">Mock Tests</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../06_releasing/">Releasing a New NewPipe Version</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../07_release_instructions/">Release instructions for normal releases</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../08_documentation/">About This Documentation</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../09_maintainers_view/">Maintainers' Section</a>
</li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" role="navigation" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="..">NewPipe Development Documentation</a>
<nav class="wy-nav-top" role="navigation" aria-label="Mobile navigation menu">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="..">NewPipe Development Documentation</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="..">Docs</a> &raquo;</li>
<li>Concept of the Extractor</li>
<li><a href=".." class="icon icon-home" alt="Docs"></a> &raquo;</li>
<li>Concept of the Extractor</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main">
<div class="section">
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div class="section" itemprop="articleBody">
<h1 id="concept-of-the-extractor">Concept of the Extractor</h1>
<h2 id="the-collectorextractor-pattern">The Collector/Extractor Pattern</h2>
@ -283,29 +271,21 @@ items like a regular web page, but all the others as an AJAX request.</p>
</code></pre>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
</div><footer>
<div class="rst-footer-buttons" role="navigation" aria-label="Footer Navigation">
<a href="../00_Prepare_everything/" class="btn btn-neutral float-left" title="Before You Start"><span class="icon icon-circle-arrow-left"></span> Previous</a>
<a href="../02_Concept_of_LinkHandler/" class="btn btn-neutral float-right" title="Concept of the LinkHandler">Next <span class="icon icon-circle-arrow-right"></span></a>
<a href="../00_Prepare_everything/" class="btn btn-neutral" title="Before You Start"><span class="icon icon-circle-arrow-left"></span> Previous</a>
</div>
<hr/>
<div role="contentinfo">
<!-- Copyright etc -->
</div>
Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
@ -313,7 +293,7 @@ items like a regular web page, but all the others as an AJAX request.</p>
</div>
<div class="rst-versions" role="note" aria-label="versions">
<div class="rst-versions" role="note" aria-label="Versions">
<span class="rst-current-version" data-toggle="rst-current-version">

View File

@ -1,15 +1,11 @@
<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<html class="writer-html5" lang="en" >
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" href="../img/favicon.ico">
<title>Concept of the LinkHandler - NewPipe Development Documentation</title>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="shortcut icon" href="../img/favicon.ico" />
<title>Concept of the LinkHandler - NewPipe Development Documentation</title>
<!-- local fonts -->
<link rel="stylesheet" href="../css/local_fonts.css" type="text/css" />
@ -36,34 +32,32 @@
<body class="wy-body-for-nav" role="document">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
<div class="wy-side-scroll">
<div class="wy-side-nav-search">
<a href=".." class="icon icon-home"> NewPipe Development Documentation</a>
<div role="search">
<a href=".." class="icon icon-home"> NewPipe Development Documentation
</a><div role="search">
<form id ="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" title="Type search term here" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<ul>
<li class="toctree-l1"><a class="reference internal" href="..">Welcome to the NewPipe Development Docs</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../00_Prepare_everything/">Before You Start</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../01_Concept_of_the_extractor/">Concept of the Extractor</a>
</li>
</ul>
<ul class="current">
<li class="toctree-l1 current"><a class="reference internal current" href="./">Concept of the LinkHandler</a>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<ul>
<li class="toctree-l1"><a class="reference internal" href="..">Welcome to the NewPipe Development Docs</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../00_Prepare_everything/">Before You Start</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../01_Concept_of_the_extractor/">Concept of the Extractor</a>
</li>
</ul>
<ul class="current">
<li class="toctree-l1 current"><a class="reference internal current" href="./">Concept of the LinkHandler</a>
<ul class="current">
<li class="toctree-l2"><a class="reference internal" href="#important-notes-about-linkhandler">Important notes about LinkHandler</a>
</li>
@ -78,64 +72,58 @@
</ul>
</li>
</ul>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../03_Implement_a_service/">Implementing a Service</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../04_Run_changes_in_App/">Testing Your Changes in the App</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../05_Mock_tests/">Mock Tests</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../06_releasing/">Releasing a New NewPipe Version</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../07_documentation/">About This Documentation</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../08_maintainers_view/">Maintainers' Section</a>
</li>
</ul>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../03_Implement_a_service/">Implementing a Service</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../04_Run_changes_in_App/">Testing Your Changes in the App</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../05_Mock_tests/">Mock Tests</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../06_releasing/">Releasing a New NewPipe Version</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../07_release_instructions/">Release instructions for normal releases</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../08_documentation/">About This Documentation</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../09_maintainers_view/">Maintainers' Section</a>
</li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" role="navigation" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="..">NewPipe Development Documentation</a>
<nav class="wy-nav-top" role="navigation" aria-label="Mobile navigation menu">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="..">NewPipe Development Documentation</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="..">Docs</a> &raquo;</li>
<li>Concept of the LinkHandler</li>
<li><a href=".." class="icon icon-home" alt="Docs"></a> &raquo;</li>
<li>Concept of the LinkHandler</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main">
<div class="section">
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div class="section" itemprop="articleBody">
<h1 id="concept-of-the-linkhandler">Concept of the LinkHandler</h1>
<p>The <a href="https://teamnewpipe.github.io/NewPipeExtractor/javadoc/org/schabi/newpipe/extractor/linkhandler/LinkHandler.html">LinkHandler</a>
@ -205,29 +193,21 @@ These work like regular ListLinkHandler, except that you don't have to implement
and <code>getId()</code> when overriding <a href="https://teamnewpipe.github.io/NewPipeExtractor/javadoc/org/schabi/newpipe/extractor/linkhandler/SearchQueryHandlerFactory.html">SearchQueryHandlerFactory</a>.</p>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
</div><footer>
<div class="rst-footer-buttons" role="navigation" aria-label="Footer Navigation">
<a href="../01_Concept_of_the_extractor/" class="btn btn-neutral float-left" title="Concept of the Extractor"><span class="icon icon-circle-arrow-left"></span> Previous</a>
<a href="../03_Implement_a_service/" class="btn btn-neutral float-right" title="Implementing a Service">Next <span class="icon icon-circle-arrow-right"></span></a>
<a href="../01_Concept_of_the_extractor/" class="btn btn-neutral" title="Concept of the Extractor"><span class="icon icon-circle-arrow-left"></span> Previous</a>
</div>
<hr/>
<div role="contentinfo">
<!-- Copyright etc -->
</div>
Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
@ -235,7 +215,7 @@ and <code>getId()</code> when overriding <a href="https://teamnewpipe.github.io/
</div>
<div class="rst-versions" role="note" aria-label="versions">
<div class="rst-versions" role="note" aria-label="Versions">
<span class="rst-current-version" data-toggle="rst-current-version">

View File

@ -1,15 +1,11 @@
<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<html class="writer-html5" lang="en" >
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" href="../img/favicon.ico">
<title>Implementing a Service - NewPipe Development Documentation</title>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="shortcut icon" href="../img/favicon.ico" />
<title>Implementing a Service - NewPipe Development Documentation</title>
<!-- local fonts -->
<link rel="stylesheet" href="../css/local_fonts.css" type="text/css" />
@ -36,38 +32,36 @@
<body class="wy-body-for-nav" role="document">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
<div class="wy-side-scroll">
<div class="wy-side-nav-search">
<a href=".." class="icon icon-home"> NewPipe Development Documentation</a>
<div role="search">
<a href=".." class="icon icon-home"> NewPipe Development Documentation
</a><div role="search">
<form id ="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" title="Type search term here" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<ul>
<li class="toctree-l1"><a class="reference internal" href="..">Welcome to the NewPipe Development Docs</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../00_Prepare_everything/">Before You Start</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../01_Concept_of_the_extractor/">Concept of the Extractor</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../02_Concept_of_LinkHandler/">Concept of the LinkHandler</a>
</li>
</ul>
<ul class="current">
<li class="toctree-l1 current"><a class="reference internal current" href="./">Implementing a Service</a>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<ul>
<li class="toctree-l1"><a class="reference internal" href="..">Welcome to the NewPipe Development Docs</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../00_Prepare_everything/">Before You Start</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../01_Concept_of_the_extractor/">Concept of the Extractor</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../02_Concept_of_LinkHandler/">Concept of the LinkHandler</a>
</li>
</ul>
<ul class="current">
<li class="toctree-l1 current"><a class="reference internal current" href="./">Implementing a Service</a>
<ul class="current">
<li class="toctree-l2"><a class="reference internal" href="#required-and-optional-parts">Required and Optional Parts</a>
</li>
@ -90,60 +84,54 @@
</ul>
</li>
</ul>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../04_Run_changes_in_App/">Testing Your Changes in the App</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../05_Mock_tests/">Mock Tests</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../06_releasing/">Releasing a New NewPipe Version</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../07_documentation/">About This Documentation</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../08_maintainers_view/">Maintainers' Section</a>
</li>
</ul>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../04_Run_changes_in_App/">Testing Your Changes in the App</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../05_Mock_tests/">Mock Tests</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../06_releasing/">Releasing a New NewPipe Version</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../07_release_instructions/">Release instructions for normal releases</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../08_documentation/">About This Documentation</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../09_maintainers_view/">Maintainers' Section</a>
</li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" role="navigation" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="..">NewPipe Development Documentation</a>
<nav class="wy-nav-top" role="navigation" aria-label="Mobile navigation menu">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="..">NewPipe Development Documentation</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="..">Docs</a> &raquo;</li>
<li>Implementing a Service</li>
<li><a href=".." class="icon icon-home" alt="Docs"></a> &raquo;</li>
<li>Implementing a Service</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main">
<div class="section">
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div class="section" itemprop="articleBody">
<h1 id="implementing-a-service">Implementing a Service</h1>
<p>Services, or better service connectors, are the parts of NewPipe which communicate with an actual service like YouTube.
@ -292,29 +280,21 @@ public KioskList getKioskList() throws ExtractionException {
</ul>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
</div><footer>
<div class="rst-footer-buttons" role="navigation" aria-label="Footer Navigation">
<a href="../02_Concept_of_LinkHandler/" class="btn btn-neutral float-left" title="Concept of the LinkHandler"><span class="icon icon-circle-arrow-left"></span> Previous</a>
<a href="../04_Run_changes_in_App/" class="btn btn-neutral float-right" title="Testing Your Changes in the App">Next <span class="icon icon-circle-arrow-right"></span></a>
<a href="../02_Concept_of_LinkHandler/" class="btn btn-neutral" title="Concept of the LinkHandler"><span class="icon icon-circle-arrow-left"></span> Previous</a>
</div>
<hr/>
<div role="contentinfo">
<!-- Copyright etc -->
</div>
Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
@ -322,7 +302,7 @@ public KioskList getKioskList() throws ExtractionException {
</div>
<div class="rst-versions" role="note" aria-label="versions">
<div class="rst-versions" role="note" aria-label="Versions">
<span class="rst-current-version" data-toggle="rst-current-version">

View File

@ -1,15 +1,11 @@
<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<html class="writer-html5" lang="en" >
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" href="../img/favicon.ico">
<title>Testing Your Changes in the App - NewPipe Development Documentation</title>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="shortcut icon" href="../img/favicon.ico" />
<title>Testing Your Changes in the App - NewPipe Development Documentation</title>
<!-- local fonts -->
<link rel="stylesheet" href="../css/local_fonts.css" type="text/css" />
@ -36,42 +32,40 @@
<body class="wy-body-for-nav" role="document">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
<div class="wy-side-scroll">
<div class="wy-side-nav-search">
<a href=".." class="icon icon-home"> NewPipe Development Documentation</a>
<div role="search">
<a href=".." class="icon icon-home"> NewPipe Development Documentation
</a><div role="search">
<form id ="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" title="Type search term here" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<ul>
<li class="toctree-l1"><a class="reference internal" href="..">Welcome to the NewPipe Development Docs</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../00_Prepare_everything/">Before You Start</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../01_Concept_of_the_extractor/">Concept of the Extractor</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../02_Concept_of_LinkHandler/">Concept of the LinkHandler</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../03_Implement_a_service/">Implementing a Service</a>
</li>
</ul>
<ul class="current">
<li class="toctree-l1 current"><a class="reference internal current" href="./">Testing Your Changes in the App</a>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<ul>
<li class="toctree-l1"><a class="reference internal" href="..">Welcome to the NewPipe Development Docs</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../00_Prepare_everything/">Before You Start</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../01_Concept_of_the_extractor/">Concept of the Extractor</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../02_Concept_of_LinkHandler/">Concept of the LinkHandler</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../03_Implement_a_service/">Implementing a Service</a>
</li>
</ul>
<ul class="current">
<li class="toctree-l1 current"><a class="reference internal current" href="./">Testing Your Changes in the App</a>
<ul class="current">
<li class="toctree-l2"><a class="reference internal" href="#setup-android-studio">Setup Android Studio</a>
</li>
@ -88,56 +82,50 @@
<li class="toctree-l2"><a class="reference internal" href="#troubleshooting">Troubleshooting</a>
</li>
</ul>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../05_Mock_tests/">Mock Tests</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../06_releasing/">Releasing a New NewPipe Version</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../07_documentation/">About This Documentation</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../08_maintainers_view/">Maintainers' Section</a>
</li>
</ul>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../05_Mock_tests/">Mock Tests</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../06_releasing/">Releasing a New NewPipe Version</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../07_release_instructions/">Release instructions for normal releases</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../08_documentation/">About This Documentation</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../09_maintainers_view/">Maintainers' Section</a>
</li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" role="navigation" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="..">NewPipe Development Documentation</a>
<nav class="wy-nav-top" role="navigation" aria-label="Mobile navigation menu">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="..">NewPipe Development Documentation</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="..">Docs</a> &raquo;</li>
<li>Testing Your Changes in the App</li>
<li><a href=".." class="icon icon-home" alt="Docs"></a> &raquo;</li>
<li>Testing Your Changes in the App</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main">
<div class="section">
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div class="section" itemprop="articleBody">
<h1 id="testing-your-changes-in-the-app">Testing Your Changes in the App</h1>
<p>You should develop and test your changes with the JUnit environment that is
@ -191,29 +179,21 @@ click on that little paper symbol next to the <code>GET IT</code> button. If it'
<img alt="jitpack failed to build" src="../img/jitpack_fail.png" /></p>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
</div><footer>
<div class="rst-footer-buttons" role="navigation" aria-label="Footer Navigation">
<a href="../03_Implement_a_service/" class="btn btn-neutral float-left" title="Implementing a Service"><span class="icon icon-circle-arrow-left"></span> Previous</a>
<a href="../05_Mock_tests/" class="btn btn-neutral float-right" title="Mock Tests">Next <span class="icon icon-circle-arrow-right"></span></a>
<a href="../03_Implement_a_service/" class="btn btn-neutral" title="Implementing a Service"><span class="icon icon-circle-arrow-left"></span> Previous</a>
</div>
<hr/>
<div role="contentinfo">
<!-- Copyright etc -->
</div>
Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
@ -221,7 +201,7 @@ click on that little paper symbol next to the <code>GET IT</code> button. If it'
</div>
<div class="rst-versions" role="note" aria-label="versions">
<div class="rst-versions" role="note" aria-label="Versions">
<span class="rst-current-version" data-toggle="rst-current-version">

View File

@ -1,15 +1,11 @@
<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<html class="writer-html5" lang="en" >
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" href="../img/favicon.ico">
<title>Mock Tests - NewPipe Development Documentation</title>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="shortcut icon" href="../img/favicon.ico" />
<title>Mock Tests - NewPipe Development Documentation</title>
<!-- local fonts -->
<link rel="stylesheet" href="../css/local_fonts.css" type="text/css" />
@ -36,46 +32,44 @@
<body class="wy-body-for-nav" role="document">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
<div class="wy-side-scroll">
<div class="wy-side-nav-search">
<a href=".." class="icon icon-home"> NewPipe Development Documentation</a>
<div role="search">
<a href=".." class="icon icon-home"> NewPipe Development Documentation
</a><div role="search">
<form id ="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" title="Type search term here" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<ul>
<li class="toctree-l1"><a class="reference internal" href="..">Welcome to the NewPipe Development Docs</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../00_Prepare_everything/">Before You Start</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../01_Concept_of_the_extractor/">Concept of the Extractor</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../02_Concept_of_LinkHandler/">Concept of the LinkHandler</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../03_Implement_a_service/">Implementing a Service</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../04_Run_changes_in_App/">Testing Your Changes in the App</a>
</li>
</ul>
<ul class="current">
<li class="toctree-l1 current"><a class="reference internal current" href="./">Mock Tests</a>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<ul>
<li class="toctree-l1"><a class="reference internal" href="..">Welcome to the NewPipe Development Docs</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../00_Prepare_everything/">Before You Start</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../01_Concept_of_the_extractor/">Concept of the Extractor</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../02_Concept_of_LinkHandler/">Concept of the LinkHandler</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../03_Implement_a_service/">Implementing a Service</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../04_Run_changes_in_App/">Testing Your Changes in the App</a>
</li>
</ul>
<ul class="current">
<li class="toctree-l1 current"><a class="reference internal current" href="./">Mock Tests</a>
<ul class="current">
<li class="toctree-l2"><a class="reference internal" href="#multiple-downloader-implementations">Multiple downloader implementations</a>
<ul>
@ -86,52 +80,46 @@
</ul>
</li>
</ul>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../06_releasing/">Releasing a New NewPipe Version</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../07_documentation/">About This Documentation</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../08_maintainers_view/">Maintainers' Section</a>
</li>
</ul>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../06_releasing/">Releasing a New NewPipe Version</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../07_release_instructions/">Release instructions for normal releases</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../08_documentation/">About This Documentation</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../09_maintainers_view/">Maintainers' Section</a>
</li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" role="navigation" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="..">NewPipe Development Documentation</a>
<nav class="wy-nav-top" role="navigation" aria-label="Mobile navigation menu">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="..">NewPipe Development Documentation</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="..">Docs</a> &raquo;</li>
<li>Mock Tests</li>
<li><a href=".." class="icon icon-home" alt="Docs"></a> &raquo;</li>
<li>Mock Tests</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main">
<div class="section">
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div class="section" itemprop="articleBody">
<h1 id="mock-tests">Mock Tests</h1>
<p>A web crawler is, by its very nature, dependent on the external service which it is crawling.
@ -179,29 +167,21 @@ It skips the tests in the CI pipeline if they are not run with mocks.</p>
</code></pre>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
</div><footer>
<div class="rst-footer-buttons" role="navigation" aria-label="Footer Navigation">
<a href="../04_Run_changes_in_App/" class="btn btn-neutral float-left" title="Testing Your Changes in the App"><span class="icon icon-circle-arrow-left"></span> Previous</a>
<a href="../06_releasing/" class="btn btn-neutral float-right" title="Releasing a New NewPipe Version">Next <span class="icon icon-circle-arrow-right"></span></a>
<a href="../04_Run_changes_in_App/" class="btn btn-neutral" title="Testing Your Changes in the App"><span class="icon icon-circle-arrow-left"></span> Previous</a>
</div>
<hr/>
<div role="contentinfo">
<!-- Copyright etc -->
</div>
Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
@ -209,7 +189,7 @@ It skips the tests in the CI pipeline if they are not run with mocks.</p>
</div>
<div class="rst-versions" role="note" aria-label="versions">
<div class="rst-versions" role="note" aria-label="Versions">
<span class="rst-current-version" data-toggle="rst-current-version">

View File

@ -1,15 +1,11 @@
<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<html class="writer-html5" lang="en" >
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" href="../img/favicon.ico">
<title>Releasing a New NewPipe Version - NewPipe Development Documentation</title>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="shortcut icon" href="../img/favicon.ico" />
<title>Releasing a New NewPipe Version - NewPipe Development Documentation</title>
<!-- local fonts -->
<link rel="stylesheet" href="../css/local_fonts.css" type="text/css" />
@ -36,50 +32,48 @@
<body class="wy-body-for-nav" role="document">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
<div class="wy-side-scroll">
<div class="wy-side-nav-search">
<a href=".." class="icon icon-home"> NewPipe Development Documentation</a>
<div role="search">
<a href=".." class="icon icon-home"> NewPipe Development Documentation
</a><div role="search">
<form id ="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" title="Type search term here" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<ul>
<li class="toctree-l1"><a class="reference internal" href="..">Welcome to the NewPipe Development Docs</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../00_Prepare_everything/">Before You Start</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../01_Concept_of_the_extractor/">Concept of the Extractor</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../02_Concept_of_LinkHandler/">Concept of the LinkHandler</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../03_Implement_a_service/">Implementing a Service</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../04_Run_changes_in_App/">Testing Your Changes in the App</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../05_Mock_tests/">Mock Tests</a>
</li>
</ul>
<ul class="current">
<li class="toctree-l1 current"><a class="reference internal current" href="./">Releasing a New NewPipe Version</a>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<ul>
<li class="toctree-l1"><a class="reference internal" href="..">Welcome to the NewPipe Development Docs</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../00_Prepare_everything/">Before You Start</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../01_Concept_of_the_extractor/">Concept of the Extractor</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../02_Concept_of_LinkHandler/">Concept of the LinkHandler</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../03_Implement_a_service/">Implementing a Service</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../04_Run_changes_in_App/">Testing Your Changes in the App</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../05_Mock_tests/">Mock Tests</a>
</li>
</ul>
<ul class="current">
<li class="toctree-l1 current"><a class="reference internal current" href="./">Releasing a New NewPipe Version</a>
<ul class="current">
<li class="toctree-l2"><a class="reference internal" href="#differences-between-regular-and-hotfix-releases">Differences Between Regular and Hotfix Releases</a>
</li>
@ -89,11 +83,7 @@
</li>
<li class="toctree-l3"><a class="reference internal" href="#merging-featuresbugfixes">Merging Features/Bugfixes</a>
</li>
<li class="toctree-l3"><a class="reference internal" href="#creating-a-new-release">Creating a New Release</a>
</li>
<li class="toctree-l3"><a class="reference internal" href="#quickfixes">Quickfixes</a>
</li>
<li class="toctree-l3"><a class="reference internal" href="#releasing">Releasing</a>
<li class="toctree-l3"><a class="reference internal" href="#normal-releases">Normal Releases</a>
</li>
</ul>
</li>
@ -101,7 +91,7 @@
<ul>
<li class="toctree-l3"><a class="reference internal" href="#hotfix-branch">Hotfix Branch</a>
</li>
<li class="toctree-l3"><a class="reference internal" href="#releasing_1">Releasing</a>
<li class="toctree-l3"><a class="reference internal" href="#releasing">Releasing</a>
</li>
</ul>
</li>
@ -122,48 +112,42 @@
<li class="toctree-l2"><a class="reference internal" href="#publish-on-f-droid">Publish on F-Droid</a>
</li>
</ul>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../07_documentation/">About This Documentation</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../08_maintainers_view/">Maintainers' Section</a>
</li>
</ul>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../07_release_instructions/">Release instructions for normal releases</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../08_documentation/">About This Documentation</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../09_maintainers_view/">Maintainers' Section</a>
</li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" role="navigation" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="..">NewPipe Development Documentation</a>
<nav class="wy-nav-top" role="navigation" aria-label="Mobile navigation menu">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="..">NewPipe Development Documentation</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="..">Docs</a> &raquo;</li>
<li>Releasing a New NewPipe Version</li>
<li><a href=".." class="icon icon-home" alt="Docs"></a> &raquo;</li>
<li>Releasing a New NewPipe Version</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main">
<div class="section">
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div class="section" itemprop="articleBody">
<h1 id="releasing-a-new-newpipe-version">Releasing a New NewPipe Version</h1>
<p>This site is meant for those who want to maintain NewPipe, or just want to know how releasing works.</p>
@ -215,70 +199,12 @@ and different devices like phones, tablets and TVs.</p>
Modify the PR's title if it does not represent the introduced changes anymore.
After a maintainer merged the new feature into the dev branch,
they should add the PR's title or a summary of the changes into the <a href="#release-notes">release notes</a>.</p>
<h3 id="creating-a-new-release">Creating a New Release</h3>
<h3 id="normal-releases">Normal Releases</h3>
<p>Once there are enough changes, and the maintainers believe that NewPipe is ready
for a new version, they should prepare a new release.<br />
Be aware of the rule that a release should never be done on a Friday.
For NewPipe, this means: <strong>Don't do a release if you don't have time for it!!!</strong></p>
<p>By following the steps listed below, you can publish a stable version of NewPipe:</p>
<ol>
<li><a href="../08_maintainers_view#merge-changes-from-weblate-into-newpipe">Merge the translations from Weblate into NewPipe</a>.</li>
<li>Update your local <strong>dev</strong> branch and create a <a href="#changelog-file">changelog file</a>.
Make sure to push the changes and <a href="../08_maintainers_view#update-weblate">update Weblate</a>.</li>
<li>In your local NewPipe repo, fork the <strong>dev</strong> branch into a new <strong>release/x.y.z</strong> branch. </li>
<li>Increase the <a href="#version-nomenclature">version number</a> and update the version code in the <code>build.gradle</code> file.</li>
<li>Open a pull request form the new <strong>release/x.y.z</strong> branch into the <strong>master</strong> branch.</li>
<li>Create an issue pointing to the new pull request.
The reason for opening an issue is that from my perception, people read issues more than pull requests.
You can also pin this issue to draw more attention to it.
Ensure that the discussion about regressions take place in this issue.</li>
<li>Create signed release and debug APKs of the release branch using the <code>releaseCandidate</code> and <code>debug</code> build types.
Name the build apk files <code>NewPipe_&lt;versionCode&gt;_RC1.apk</code> and <code>NewPipe_&lt;versionCode&gt;_debug_RC1.apk</code>.
Zip and post them to the head of the pull request and issue. This way, others can test the release candidate.
Release (candidate) and debug APKs of the latest published NewPipe version
should also be provided to allow testing the upgrade process.</li>
<li>Test and QA the new version with the help of others. Keep the PR and issue open for a few days</li>
</ol>
<p>New features can be merged into <strong>dev</strong> while the release candidate is tested.
PRs which aim to fix regressions of the upcoming release need to target the <strong>release/x.y.z</strong> branch.
Read <a href="#quickfixes">Quickfixes</a> for more info.</p>
<p>The changelogs are translated during the test phase.
Therefore, <a href="../08_maintainers_view#merge-changes-from-weblate-into-newpipe">the translations need to be merged from Weblate</a> once more.
The translation commit is cherry-picked into the release branch.</p>
<p>Once testing is done and the release branch does not contain critical regressions, and you think the update is ready,
proceed with <a href="#releasing">releasing the new version</a>.</p>
<h3 id="quickfixes">Quickfixes</h3>
<p>When issuing a new release, you will most likely encounter bugs
that might not have existed in previous versions.
These are called <strong>regressions</strong>.
If you find a regression during release phase,
you are allowed to push fixes directly into the release branch
without having to fork a branch away from it.
Maintainers have to be aware that they might be required to fix regressions,
so plan your release at a time when you are available.</p>
<p>When you have pushed a quickfix, you need to provide an updated <strong>release candidate</strong>.
Increment the version number in the filename of the release candidate. e.g. <code>NewPipe_&lt;versionNumber&gt;_RC2.apk</code> etc.
<em>Don't update the actual version number. :P</em></p>
<p><img alt="release_branch" src="../img/release_branch.svg" /></p>
<h3 id="releasing">Releasing</h3>
<p>Once the glorious day of all days has come, and you fulfill the ceremony of releasing.
After going through the release procedure of <a href="#creating-a-new-release">creating a new release</a>
and maybe a few <a href="#quickfixes">quickfixes</a> on the new release,
this is what you should do when releasing:</p>
<ol>
<li>Click "Merge Pull Request".</li>
<li>Checkout the <strong>master</strong> branch locally and create an unsigned APK.</li>
<li>Send this APK to TheAssassin for signing and publishing in an encrypted and signed E-Mail. He'll check your APK, too.</li>
<li>Once you received a signed APK, upgrade the version on your device and look for any crashes and regressions.</li>
<li>In the GitHub releases section, make sure the draft name equals the tag name. <img alt="draft_name" src="../img/draft_name.png" /></li>
<li>Add the signed APK to the draft. </li>
<li>Make sure to not have forgotten anything.</li>
<li>Click "Publish Release".</li>
<li><a href="#publish-on-f-droid">Publish the new version on F-Droid</a>.</li>
<li>Merge <strong>master</strong> into <strong>dev</strong> or fast-forward if possible. Push.</li>
<li><a href="https://github.com/TeamNewPipe/website/blob/master/_includes/release_data.html">Update the changelog for the website</a>.</li>
</ol>
<p><img alt="rebase_back" src="../img/rebase_back_release.svg" /></p>
<p>By following the steps listed in <a href="../07_release_instructions">Release instructions</a>, you can publish a stable version of NewPipe.</p>
<h2 id="hotfix-releases">Hotfix Releases</h2>
<p><img alt="this_is_fine" src="../img/could_not_decrypt.png" /></p>
<p>As aforementioned, NewPipe heavily relies on external components and might break at a random point of time.
@ -298,7 +224,7 @@ Of course, you are not allowed to push to master directly,
so you need to create a <strong>hotfix</strong> branch.
<em>If someone else is pushing a hotfix into master, and it works this can be considered as hotfix branch as well.</em></p>
<p><img alt="hotfix_branch" src="../img/hotfix_branch.svg" /></p>
<h3 id="releasing_1">Releasing</h3>
<h3 id="releasing">Releasing</h3>
<p>If you fixed the issue and found it to be tested and reviewed well enough, you may publish a new version.
You don't need to undergo the full release procedure of a regular release, which takes too much time.
Keep in mind that if the hotfix might turn out to be broken after release, you should release another hotfix.
@ -392,7 +318,7 @@ This causes troubles for translators, because Weblate enforces the 500 bytes lim
For this reason it is recommended to keep the changelog at 400 bytes.</p>
<p>When creating the changelog file be aware of changes which were done in the extractor as well.<br />
Before pushing the changelog to NewPipe's repo, ask other maintainers to review it.<br />
After pushing the changelog to NewPipe's GitHub repo, <a href="../08_maintainers_view#update-weblate">updating Weblate</a> is necessary.
After pushing the changelog to NewPipe's GitHub repo, <a href="../09_maintainers_view#update-weblate">updating Weblate</a> is necessary.
This enables translators to work on localized versions of the changelog before a release is tagged and published.</p>
<h2 id="publish-on-f-droid">Publish on F-Droid</h2>
<p>NewPipe is and supports open source software.
@ -427,29 +353,21 @@ An example commit containing all required changes can be found <a href="https://
</ol>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="../07_documentation/" class="btn btn-neutral float-right" title="About This Documentation">Next <span class="icon icon-circle-arrow-right"></span></a>
<a href="../05_Mock_tests/" class="btn btn-neutral" title="Mock Tests"><span class="icon icon-circle-arrow-left"></span> Previous</a>
</div><footer>
<div class="rst-footer-buttons" role="navigation" aria-label="Footer Navigation">
<a href="../05_Mock_tests/" class="btn btn-neutral float-left" title="Mock Tests"><span class="icon icon-circle-arrow-left"></span> Previous</a>
<a href="../07_release_instructions/" class="btn btn-neutral float-right" title="Release instructions for normal releases">Next <span class="icon icon-circle-arrow-right"></span></a>
</div>
<hr/>
<div role="contentinfo">
<!-- Copyright etc -->
</div>
Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
@ -457,14 +375,14 @@ An example commit containing all required changes can be found <a href="https://
</div>
<div class="rst-versions" role="note" aria-label="versions">
<div class="rst-versions" role="note" aria-label="Versions">
<span class="rst-current-version" data-toggle="rst-current-version">
<span><a href="../05_Mock_tests/" style="color: #fcfcfc">&laquo; Previous</a></span>
<span><a href="../07_documentation/" style="color: #fcfcfc">Next &raquo;</a></span>
<span><a href="../07_release_instructions/" style="color: #fcfcfc">Next &raquo;</a></span>
</span>
</div>

View File

@ -0,0 +1,468 @@
<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="shortcut icon" href="../img/favicon.ico" />
<title>Release instructions for normal releases - NewPipe Development Documentation</title>
<!-- local fonts -->
<link rel="stylesheet" href="../css/local_fonts.css" type="text/css" />
<link rel="stylesheet" href="../css/theme.css" type="text/css" />
<link rel="stylesheet" href="../css/theme_extra.css" type="text/css" />
<link rel="stylesheet" href="../css/theme_child.css" type="text/css" />
<!-- local code syntax highlighting -->
<link rel="stylesheet" href="../css/github.min.css" type="text/css" />
<link rel="stylesheet" href="../css/highlight.css" type="text/css" />
<script>
// Current page data
var mkdocs_page_name = "Release instructions for normal releases";
var mkdocs_page_input_path = "07_release_instructions.md";
var mkdocs_page_url = null;
</script>
<script src="../js/jquery-2.1.1.min.js" defer></script>
<script src="../js/modernizr-2.8.3.min.js" defer></script>
<script src="../js/highlight.min.js"></script>
<script>hljs.initHighlightingOnLoad();</script>
</head>
<body class="wy-body-for-nav" role="document">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
<div class="wy-side-scroll">
<div class="wy-side-nav-search">
<a href=".." class="icon icon-home"> NewPipe Development Documentation
</a><div role="search">
<form id ="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" title="Type search term here" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<ul>
<li class="toctree-l1"><a class="reference internal" href="..">Welcome to the NewPipe Development Docs</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../00_Prepare_everything/">Before You Start</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../01_Concept_of_the_extractor/">Concept of the Extractor</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../02_Concept_of_LinkHandler/">Concept of the LinkHandler</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../03_Implement_a_service/">Implementing a Service</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../04_Run_changes_in_App/">Testing Your Changes in the App</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../05_Mock_tests/">Mock Tests</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../06_releasing/">Releasing a New NewPipe Version</a>
</li>
</ul>
<ul class="current">
<li class="toctree-l1 current"><a class="reference internal current" href="./">Release instructions for normal releases</a>
<ul class="current">
<li class="toctree-l2"><a class="reference internal" href="#preliminary-steps">Preliminary steps</a>
<ul>
<li class="toctree-l3"><a class="reference internal" href="#permissions">Permissions</a>
</li>
<li class="toctree-l3"><a class="reference internal" href="#repositories">Repositories</a>
</li>
<li class="toctree-l3"><a class="reference internal" href="#version-name-and-conventions">Version name and conventions</a>
</li>
<li class="toctree-l3"><a class="reference internal" href="#identification">Identification</a>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#pull-changes-from-weblate">Pull changes from Weblate</a>
</li>
<li class="toctree-l2"><a class="reference internal" href="#create-a-changelog">Create a changelog</a>
</li>
<li class="toctree-l2"><a class="reference internal" href="#push-the-changelog-to-weblate">Push the changelog to Weblate</a>
</li>
<li class="toctree-l2"><a class="reference internal" href="#creating-the-release-branch">Creating the release branch</a>
</li>
<li class="toctree-l2"><a class="reference internal" href="#creating-the-pull-request">Creating the Pull Request</a>
</li>
<li class="toctree-l2"><a class="reference internal" href="#creating-the-issue">Creating the issue</a>
</li>
<li class="toctree-l2"><a class="reference internal" href="#testing-apks">Testing APKs</a>
</li>
<li class="toctree-l2"><a class="reference internal" href="#taking-care-of-regressions-quickfixes">Taking care of regressions (quickfixes)</a>
</li>
<li class="toctree-l2"><a class="reference internal" href="#finally-merging-the-pull-request">Finally merging the pull request</a>
</li>
<li class="toctree-l2"><a class="reference internal" href="#creating-the-apk">Creating the APK</a>
</li>
<li class="toctree-l2"><a class="reference internal" href="#having-the-apk-signed-by-theassassin">Having the APK signed by @TheAssassin</a>
</li>
<li class="toctree-l2"><a class="reference internal" href="#publishing-the-release">Publishing the release</a>
</li>
<li class="toctree-l2"><a class="reference internal" href="#blog-post">Blog post</a>
</li>
</ul>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../08_documentation/">About This Documentation</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../09_maintainers_view/">Maintainers' Section</a>
</li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" role="navigation" aria-label="Mobile navigation menu">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="..">NewPipe Development Documentation</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href=".." class="icon icon-home" alt="Docs"></a> &raquo;</li>
<li>Release instructions for normal releases</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div class="section" itemprop="articleBody">
<h1 id="release-instructions-for-normal-releases">Release instructions for normal releases</h1>
<p>This page contains detailed instructions for normal releases. Refer to <a href="../06_releasing">Releasing</a> for other information about releases.</p>
<h2 id="preliminary-steps">Preliminary steps</h2>
<h3 id="permissions">Permissions</h3>
<ul>
<li>Have admin rights on Weblate<ul>
<li>You should be able to access <a href="https://hosted.weblate.org/projects/newpipe/#repository">Weblate's Maintenance page</a></li>
</ul>
</li>
<li>Have at least maintainer rights on the NewPipe and NewPipeExtractor repos</li>
</ul>
<h3 id="repositories">Repositories</h3>
<ul>
<li>Have a cloned NewPipe local repository (for the rest of the page, <code>origin</code> is assumed to be the remote at <code>github.com/TeamNewPipe/NewPipe</code>)</li>
<li>Add the <code>weblate</code> remote to the same local repository (the URL used below can be found on the Maintenance page on Weblate)<ul>
<li><code>git remote add weblate https://hosted.weblate.org/git/newpipe/strings/</code></li>
</ul>
</li>
<li>Make sure there are no pending changes<ul>
<li><code>git clean -fdx</code> to <strong>discard</strong> them all (<strong>CAUTION</strong>)</li>
</ul>
</li>
<li>Switch to the <code>dev</code> branch and make sure it is up-to-date with the remote:<ul>
<li><code>git checkout dev</code></li>
<li><code>git pull origin dev</code></li>
</ul>
</li>
</ul>
<h3 id="version-name-and-conventions">Version name and conventions</h3>
<ul>
<li>Find the version code of the next release by looking for <code>versionCode</code> in <a href="https://github.com/TeamNewPipe/NewPipe/blob/dev/app/build.gradle"><code>app/build.gradle</code></a>: You will add 1 to that value (from now on called <code>NEW_VERSION_CODE</code>) to get the new value (but do not edit the file yet)</li>
<li>Choose the version number of the next release according to <a href="https://semver.org/">semantic versioning</a> (from now on called <code>X.X.X</code>)</li>
</ul>
<h3 id="identification">Identification</h3>
<ul>
<li>Have <code>gpg</code> installed and usable on your PC</li>
<li>Have a GPG key, which can be used to verify that a file is really from you</li>
</ul>
<h2 id="pull-changes-from-weblate">Pull changes from Weblate</h2>
<ul>
<li>Go to <a href="https://hosted.weblate.org/projects/newpipe/#repository">Weblate's Maintenance tab</a></li>
<li>Press the <em>Lock</em> button to prevent translators from translating while you are creating commits; remember to <em>Unlock</em> later!</li>
<li>Press the <em>Update</em> button to update Weblate with the latest changes on NewPipe's <code>dev</code> branch</li>
<li>Press the <em>Commit</em> button, if needed, to make sure Weblate creates a commit for translations which have not been committed yet</li>
<li>Now go back to the local git repository</li>
<li>In case you followed these steps before, delete the <code>weblate-dev</code> branch<ul>
<li><code>git branch -D weblate-dev</code></li>
</ul>
</li>
<li>Fetch new changes from the <code>weblate</code> remote<ul>
<li><code>git fetch weblate</code></li>
</ul>
</li>
<li>Create a new branch starting from <code>weblate/dev</code>, named <code>weblate-dev</code>, and switch to it<ul>
<li><code>git checkout -b weblate-dev weblate/dev</code></li>
</ul>
</li>
<li>If you run <code>git log --oneline --graph</code> you should see a Weblate commit on top, and then all of the commits currently on the <code>dev</code> branch:
```<ul>
<li>cmt12hash (HEAD -&gt; weblate-dev, weblate/dev) Translated using Weblate (...)</li>
<li>cmt89hash (origin/dev, dev) Commit message ...
```</li>
</ul>
</li>
<li>Switch back to the <code>dev</code> branch<ul>
<li><code>git checkout dev</code></li>
</ul>
</li>
<li>Merge <code>weblate-dev</code> into <code>dev</code>:<ul>
<li><code>git merge weblate-dev</code></li>
</ul>
</li>
</ul>
<h2 id="create-a-changelog">Create a changelog</h2>
<ul>
<li>Finalize the draft changelog <a href="https://github.com/TeamNewPipe/NewPipe/releases">kept on GitHub</a>, in case there are still some things to fill in<ul>
<li>Remove the temporary instructions, and the numbers before <code>-</code> which keep track of the order in which the PRs were merged, as that info is useful only for the blog post writers</li>
<li>Before removing that information, you may want to send the original changelog to the blogpost writers</li>
</ul>
</li>
<li>Create a new English changelog in the <a href="https://github.com/TeamNewPipe/NewPipe/blob/dev/fastlane/metadata/android/en-US/changelogs/"><code>fastlane/metadata/android/en-US/changelogs/</code></a> folder</li>
<li>The file should be named <code>NEW_VERSION_CODE.txt</code>, using the new version code found in the <a href="#preliminary-steps">Preliminary steps</a></li>
<li>
<p>The file should have this structure (sections with no points can be removed):
```
New
• ...</p>
<p>Improved
• ...</p>
<p>Fixed
• ...
<code>``
- Make sure you use the</code><code>for points (it looks nicer than</code>-<code>)
- Capitalize the first letter in each point
- Use English verbs as if you were asking someone to do something, so for example use "Fix abc" and not "Fixed abc"; this allows saving a few characters and using a consistent style
- Prepend</code>[SERVICE]<code>to service-only changes (e.g. "• \[YouTube\] Add mixes")
- Summarize only the most important changes from the draft release [kept on GitHub](https://github.com/TeamNewPipe/NewPipe/releases) (it contains all merged pull requests)
- Make sure the file size is **at most 500 bytes**, in order to **fit [F-Droid's changelog size limit](https://f-droid.org/en/docs/All_About_Descriptions_Graphics_and_Screenshots/#fastlane-structure) (!)**
- Commit the file on the</code>dev<code>branch (try to stick to the provided commit message template)
-</code>git add fastlane/metadata/android/en-US/changelogs/NEW_VERSION_CODE.txt<code>-</code>git commit -m "Add changelog for vX.X.X (NEW_VERSION_CODE)"`</p>
</li>
</ul>
<h2 id="push-the-changelog-to-weblate">Push the changelog to Weblate</h2>
<p>Now there should be two new commits (the Weblate and changelog ones) on your local <code>dev</code> branch, which are not on NewPipe's remote <code>dev</code> branch.
- If you are an admin of the NewPipe repo, just push the changes to the remote <code>dev</code>
- <code>git push origin dev</code>
- If you are not an admin, create a pull request normally and ask someone with maintainer access to merge it
- Go to <a href="https://hosted.weblate.org/projects/newpipe/#repository">Weblate's Maintenance tab</a>
- Press the <em>Update</em> button to update Weblate with the commit you just pushed on NewPipe's <code>dev</code> branch
- <strong>Press the <em>Unlock</em></strong> button to allow translators to translate the changelog and possibly other components (<strong>do not forget this step!</strong>)
- Note that we had to do this process on NewPipe's <code>dev</code> branch because:
- Weblate's components are connected to NewPipe's <code>dev</code> branch, and will update changes from there
- Weblate's git repo is not writable, so there is no way to push commits there manually</p>
<h2 id="creating-the-release-branch">Creating the release branch</h2>
<ul>
<li>Create a new branch starting from <code>dev</code>, named <code>release-X.X.X</code>, and switch to it<ul>
<li><code>git checkout -b release-X.X.X</code></li>
</ul>
</li>
<li>Edit the <a href="https://github.com/TeamNewPipe/NewPipe/blob/dev/app/build.gradle"><code>app/build.gradle</code></a> file to update the extractor<ul>
<li>Set the NewPipeExtractor dependency version to a suitable one (usually <a href="https://github.com/TeamNewPipe/NewPipeExtractor/commits/dev">the last commit in the NewPipeExtractor repo</a>)</li>
</ul>
</li>
<li>Commit the extractor update (if you used a specific version, append <code>to VERSION</code> to the commit message)<ul>
<li><code>git add app/build.gradle</code></li>
<li><code>git commit -m "Update NewPipeExtractor"</code></li>
</ul>
</li>
<li>Edit the <a href="https://github.com/TeamNewPipe/NewPipe/blob/dev/app/build.gradle"><code>app/build.gradle</code></a> file to bump the release<ul>
<li>Set <code>versionCode</code> to <code>NEW_VERSION_CODE</code>, i.e. increment the value by 1 as described in the <a href="#preliminary-steps">Preliminary steps</a></li>
<li>Set <code>versionName</code> to <code>"X.X.X"</code></li>
</ul>
</li>
<li>Commit the version bump (try to stick to the provided commit message template)<ul>
<li><code>git add app/build.gradle</code></li>
<li><code>git commit -m "Release vX.X.X (NEW_VERSION_CODE)"</code></li>
</ul>
</li>
<li>Push the newly created branch to the NewPipe repo<ul>
<li><code>git push upstream release-X.X.X</code></li>
</ul>
</li>
</ul>
<h2 id="creating-the-pull-request">Creating the Pull Request</h2>
<ul>
<li>Create a Pull Request (PR) from the new branch you just pushed<ul>
<li>If you used the correct branch name you should be able to use this URL, after changing the X.X.X: https://github.com/TeamNewPipe/NewPipe/pull/new/release-X.X.X</li>
</ul>
</li>
<li>Make sure the PR has <code>master</code> as the <em>base</em> branch and <code>release-X.X.X</code> as the <em>compare</em> branch</li>
<li>The PR title should be "Release vX.X.X (NEW_VERSION_CODE)"</li>
<li>Remove the entire PR template, and instead put these two lines in the description (the <code>ISSUE_NUMBER</code> will be replaced later):
<code>Do not report regressions here, but rather in the corresponding issue: #ISSUE_NUMBER
The changelog is also there.</code></li>
<li>Once you have created the PR, note down its number (from now on called <code>PR_NUMBER</code>)</li>
<li>In case some issue would be fixed when the release PR is merged, link them using the "Development" tab on the right, or add a "Fixes #...." in the PR description</li>
<li><em>Check out <a href="https://github.com/TeamNewPipe/NewPipe/pull/8231">#8231</a> for reference</em></li>
</ul>
<h2 id="creating-the-issue">Creating the issue</h2>
<ul>
<li>Create an issue<ul>
<li>Click <a href="https://github.com/TeamNewPipe/NewPipe/issues/new">here</a> to open one without a template</li>
</ul>
</li>
<li>The issue title should be "Release vX.X.X (please TEST!)"</li>
<li>The issue should have some sections, in the same order as provided below, with <code>##</code> before titles</li>
<li>The <code>## Testing for regressions</code> section should contain the following lines; more information about how to obtain the APK are given at <a href="testing-apks">Testing APKs</a>
<code>Debug APK (built by our CI in #PR_NUMBER): ...
Please report **only regressions** (i.e. new issues) here, not issues that were already present in the previous release!</code></li>
<li>An optional <code>## TODO</code> section should contain a list of things that still need to be done before releasing, for example regressions that need to be fixed, or a reminder to merge the Weblate changelogs before releasing (use <code>- [ ]</code> to create checkbox lists)</li>
<li>The <code>## NewPipeExtractor version</code> should contain a link to the NewPipeExtractor release this new NewPipe version will ship with (i.e. the one set in <a href="#creating-the-release-branch">Creating the release branch</a>)</li>
<li>Copy the draft Markdown changelog <a href="https://github.com/TeamNewPipe/NewPipe/releases">kept on GitHub</a> (you finalized it earlier in <a href="#create-a-changelog">Create a changelog</a>) to the clipboard and paste it under the <code>## App changelog</code> section</li>
<li>Once you have created the issue, pin it using the "Pin issue" button on the right</li>
<li><em>Check out <a href="https://github.com/TeamNewPipe/NewPipe/issues/8230">#8230</a> for reference</em></li>
</ul>
<h2 id="testing-apks">Testing APKs</h2>
<p>The first time you open the release issue, and then each time some changes are made to the release PR, you should provide a debug APK in the <code>## Testing for regressions</code> section.
- Wait for the Continuous Integration (CI) to finish testing the PR, then download the resulting debug APK artifact from the "Checks" tab
- Rename it to <code>NewPipe_vX.X.X_RC1_debug.apk</code> where <code>RC1</code> should be incremented to <code>RC2</code> and so on each time a new APK is provided
- Zip it and make sure the <code>.zip</code> file has the same name as the <code>.apk</code> it contains
- Upload it in the issue description, replacing the <code>...</code> placeholder used above</p>
<p>Sometimes it might be needed to also provide a release APK. In this case follow the same steps as above, with these differences:
- Make sure you are on the <code>release-X.X.X</code> branch
- Build the <strong>release</strong> APK yourself in Android Studio and sign it with your keys
- Make sure it installs correctly on your device
- Use this naming scheme: <code>NewPipe_vX.X.X_RC1_release.apk</code>
- Add a line to the <code>## Testing for regressions</code> section, of this form: <code>Debug APK (built and signed by @YOUR_GITHUB_USERNAME): ...</code></p>
<h2 id="taking-care-of-regressions-quickfixes">Taking care of regressions (quickfixes)</h2>
<p>The release issue and pull request should stay open for <strong>roughly one week</strong>, so that people can test the provided APKs and give feedback. If a <em>regression</em> is reported by some user, it should possibly be solved before releasing, otherwise the app would become more broken after each release. A <em>regression</em> is a bug now present in some code that used to run well in the last release, but was then modified in this release (supposedly to fix something else) and is now broken. So the following do not classify as regressions: some videos stop working because YouTube made some changes; the newly introduced big feature XYZ is still not perfect and has some bugs; a random crash reproducible also on previous versions... You get the point. Before releasing, try to fix any regressions that are reported, but avoid fixing non-regressions, since those should be treated with the same care and attention as all other issues. As a Release Manager, you might be required to fix regressions, so plan your release at a time when you are available.</p>
<p>Pull requests fixing regressions should target the <code>release-X.X.X</code> branch, not the <code>dev</code> branch! When merging those PRs, also provide a new Release Candidate APK.</p>
<h2 id="finally-merging-the-pull-request">Finally merging the pull request</h2>
<p>Once enough time has passed and all regressions and TODOs have been solved, you can proceed with the actual release. The following points include merging weblate changes again.
- In the local repository, check out the release branch and make sure it is up-to-date with the remote
- <code>git checkout release-X.X.X</code>
- <code>git pull origin release-X.X.X</code>
- Go to <a href="https://hosted.weblate.org/projects/newpipe/#repository">Weblate's Maintenance tab</a>
- Press <em>Lock</em>; remember to <em>Unlock</em> later!
- Press <em>Update</em>
- Press <em>Commit</em>, if needed
- Now go back to the local git repository
- Delete the <code>weblate-dev</code> branch, just in case
- <code>git branch -D weblate-dev</code>
- Fetch changes from Weblate (in particular you should see the <code>weblate/dev</code> remote branch being updated)
- <code>git fetch weblate</code>
- Obtain the hash of the last commit on the <code>weblate/dev</code> remote branch
- <code>git log -n 1 --pretty="format:%H" weblate/dev</code>
- Cherry pick the hash you obtained above into the release branch (the one you are currently on)
- <code>git cherry-pick HASH</code>
- Push the changes to the remote branch
- <code>git push origin release-X.X.X</code>
- Merge the PR you created before
- Delete the GitHub remote branch associated with the PR, i.e. <code>release-X.X.X</code> (there should be a button in the PR)
- Close the issue you created before
- Merge <code>dev</code> back into <code>master</code> (since the PR merged changes onto <code>master</code>)
- <code>git checkout master</code>
- <code>git pull origin master</code>
- <code>git checkout dev</code>
- <code>git pull origin dev</code>
- <code>git merge master</code>
- <code>git push origin dev</code> or create another temporary PR and merge it immediately
- Go to <a href="https://hosted.weblate.org/projects/newpipe/#repository">Weblate's Maintenance tab</a>
- <strong>Press <em>Unlock</em></strong></p>
<h2 id="creating-the-apk">Creating the APK</h2>
<p>Now on the remote <code>master</code> branch there is the release code which you need to turn into an APK.
- In the local repository, check out the <code>master</code> branch and make sure it is up-to-date with the remote
- <code>git checkout master</code>
- <code>git pull origin master</code>
- Open the local project in Android Studio
- Run the Gradle <code>clean</code> task using Android Studio's interface, in order to clean up temporary/cache files that may interfere with reproducible builds
- Double press Ctrl, type <code>gradle clean</code>, press Enter
- Make sure leftover files from building RC releases are actually removed, in order to avoid confusion
- <code>rm -rf ./app/release</code>
- Run the Gradle <code>assembleRelease</code> task using Android Studio's interface: it will start the process of building an unsigned APK
- Double press Ctrl, type <code>gradle assembleRelease</code>, press Enter
- After a while you should find the APK under <code>./app/build/outputs/apk/release/app-release-unsigned.apk</code></p>
<h2 id="having-the-apk-signed-by-theassassin">Having the APK signed by @TheAssassin</h2>
<p>Currently @TheAssassin is the only holder of NewPipe's APK signing keys. Therefore you should send the unsigned APK to him, after which he will sign it and send it back to you. He will also then publish the signed APK in NewPipe's F-Droid repo.
- Rename <code>app-release-unsigned.apk</code> to <code>NewPipe_vX.X.X.apk</code>
- Generate a signature for the APK file
- <code>gpg -b NewPipe_vX.X.X.apk</code> will generate <code>NewPipe_vX.X.X.apk.sig</code>
- It will also output 'using "FINGERPRINT" as default secret key for signing'; keep track of the <code>FINGERPRINT</code> part
- Send an email to @TheAssassin and attach both <code>NewPipe_vX.X.X.apk</code> and <code>NewPipe_vX.X.X.apk.sig</code>
- If @TheAssassin does not already know it, send him your PGP key <code>FINGERPRINT</code> you obtained before
- You should not send it using email this time, but using another service through which @TheAssassin can be almost sure it is really you (this is a sort of 2FA)
- For example, you can send it on the IRC group, or create a GitHub gist with the fingerprint and then give that link to @TheAssassin
- Notify him on IRC that you have sent him an email
- He will send you back the signed APK
- Make sure its name is still <code>NewPipe_vX.X.X.apk</code> (rename if it's not the case)
- Install it on your device to see if everything went well (note that installation will work only if your currently installed version of newpipe comes from NewPipe's F-Droid repo or GitHub)
- Tell @TheAssassin to "push the buttons", i.e. publish the signed APK in NewPipe's F-Droid repo.</p>
<h2 id="publishing-the-release">Publishing the release</h2>
<ul>
<li>Go to the draft changelog <a href="https://github.com/TeamNewPipe/NewPipe/releases">kept on GitHub</a></li>
<li>Set <code>vX.X.X</code> as the tag name</li>
<li>Set <code>vX.X.X</code> as the release title</li>
<li>Set <code>dev</code> as the "Target:" branch</li>
<li>Attach the signed APK @TheAssassin sent you</li>
<li>Publish the release</li>
<li>Profit :-D</li>
</ul>
<h2 id="blog-post">Blog post</h2>
<p>The blog post writers need an up-to-date list of merged PRs numbered in chronological order. This is so that they can keep track of what changes have already been detailed in the draft blog post, and which ones still need to be added. So make sure that there is always at least one up-to-date "master copy" of the draft release notes available for them to review.</p>
<p>The blog post should ideally be published before the GitHub release is made (so that the link to it works!), but in case of some delay, it is fine to let the blog post come later. It is far more important to get the release into users' hands sooner.</p>
<ul>
<li>In order for the blog post to be published, ask @TheAssassin to "press the buttons" again</li>
<li>Once the blog post is ready, add this block of text on top of the release notes on GitHub:
<code>[:arrow_right: :arrow_right: :arrow_right: Read the blog post :arrow_left: :arrow_left: :arrow_left:](LINK_TO_BLOG_POST)</code></li>
</ul>
</div>
</div><footer>
<div class="rst-footer-buttons" role="navigation" aria-label="Footer Navigation">
<a href="../06_releasing/" class="btn btn-neutral float-left" title="Releasing a New NewPipe Version"><span class="icon icon-circle-arrow-left"></span> Previous</a>
<a href="../08_documentation/" class="btn btn-neutral float-right" title="About This Documentation">Next <span class="icon icon-circle-arrow-right"></span></a>
</div>
<hr/>
<div role="contentinfo">
<!-- Copyright etc -->
</div>
Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<div class="rst-versions" role="note" aria-label="Versions">
<span class="rst-current-version" data-toggle="rst-current-version">
<span><a href="../06_releasing/" style="color: #fcfcfc">&laquo; Previous</a></span>
<span><a href="../08_documentation/" style="color: #fcfcfc">Next &raquo;</a></span>
</span>
</div>
<script>var base_url = '..';</script>
<script src="../js/theme_extra.js" defer></script>
<script src="../js/theme.js" defer></script>
<script src="../search/main.js" defer></script>
<script defer>
window.onload = function () {
SphinxRtdTheme.Navigation.enable(true);
};
</script>
</body>
</html>

View File

@ -1,15 +1,11 @@
<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<html class="writer-html5" lang="en" >
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" href="../img/favicon.ico">
<title>About This Documentation - NewPipe Development Documentation</title>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="shortcut icon" href="../img/favicon.ico" />
<title>About This Documentation - NewPipe Development Documentation</title>
<!-- local fonts -->
<link rel="stylesheet" href="../css/local_fonts.css" type="text/css" />
@ -23,7 +19,7 @@
<script>
// Current page data
var mkdocs_page_name = "About This Documentation";
var mkdocs_page_input_path = "07_documentation.md";
var mkdocs_page_input_path = "08_documentation.md";
var mkdocs_page_url = null;
</script>
@ -36,54 +32,56 @@
<body class="wy-body-for-nav" role="document">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
<div class="wy-side-scroll">
<div class="wy-side-nav-search">
<a href=".." class="icon icon-home"> NewPipe Development Documentation</a>
<div role="search">
<a href=".." class="icon icon-home"> NewPipe Development Documentation
</a><div role="search">
<form id ="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" title="Type search term here" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<ul>
<li class="toctree-l1"><a class="reference internal" href="..">Welcome to the NewPipe Development Docs</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../00_Prepare_everything/">Before You Start</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../01_Concept_of_the_extractor/">Concept of the Extractor</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../02_Concept_of_LinkHandler/">Concept of the LinkHandler</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../03_Implement_a_service/">Implementing a Service</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../04_Run_changes_in_App/">Testing Your Changes in the App</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../05_Mock_tests/">Mock Tests</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../06_releasing/">Releasing a New NewPipe Version</a>
</li>
</ul>
<ul class="current">
<li class="toctree-l1 current"><a class="reference internal current" href="./">About This Documentation</a>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<ul>
<li class="toctree-l1"><a class="reference internal" href="..">Welcome to the NewPipe Development Docs</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../00_Prepare_everything/">Before You Start</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../01_Concept_of_the_extractor/">Concept of the Extractor</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../02_Concept_of_LinkHandler/">Concept of the LinkHandler</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../03_Implement_a_service/">Implementing a Service</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../04_Run_changes_in_App/">Testing Your Changes in the App</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../05_Mock_tests/">Mock Tests</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../06_releasing/">Releasing a New NewPipe Version</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../07_release_instructions/">Release instructions for normal releases</a>
</li>
</ul>
<ul class="current">
<li class="toctree-l1 current"><a class="reference internal current" href="./">About This Documentation</a>
<ul class="current">
<li class="toctree-l2"><a class="reference internal" href="#installation">Installation</a>
</li>
@ -102,44 +100,34 @@
<li class="toctree-l2"><a class="reference internal" href="#write-and-deploy">Write and Deploy</a>
</li>
</ul>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../08_maintainers_view/">Maintainers' Section</a>
</li>
</ul>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../09_maintainers_view/">Maintainers' Section</a>
</li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" role="navigation" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="..">NewPipe Development Documentation</a>
<nav class="wy-nav-top" role="navigation" aria-label="Mobile navigation menu">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="..">NewPipe Development Documentation</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="..">Docs</a> &raquo;</li>
<li>About This Documentation</li>
<li><a href=".." class="icon icon-home" alt="Docs"></a> &raquo;</li>
<li>About This Documentation</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main">
<div class="section">
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div class="section" itemprop="articleBody">
<h1 id="about-this-documentation">About This Documentation</h1>
<p>The documentation you are currently reading was written using <a href="https://www.mkdocs.org/">mkdocs</a>. It is a tool that will generate a static website based on <a href="https://www.markdownguide.org/">markdown</a> files. Markdown has the advantage that it is simple to read and write, and that there are several tools that can translate a markdown file into languages like HTML or LaTeX.</p>
@ -195,29 +183,21 @@ or run <code>sudo pip3 install mkdocs</code> to install mkdocs systemwide. Last
<p>If you want to deploy the page so it will be up to date at the <a href="https://teamnewpipe.github.io/documentation/">GitHub pages</a>, simply type <code>mkdocs gh-deploy</code>. However, please be aware that this will not push your changes to the <code>master</code> branch of the repository. So, you still have to commit and push your changes to the actual git repository of this documentation. <em>Please be aware that only privileged maintainers can do this.</em></p>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="../08_maintainers_view/" class="btn btn-neutral float-right" title="Maintainers' Section">Next <span class="icon icon-circle-arrow-right"></span></a>
<a href="../06_releasing/" class="btn btn-neutral" title="Releasing a New NewPipe Version"><span class="icon icon-circle-arrow-left"></span> Previous</a>
</div><footer>
<div class="rst-footer-buttons" role="navigation" aria-label="Footer Navigation">
<a href="../07_release_instructions/" class="btn btn-neutral float-left" title="Release instructions for normal releases"><span class="icon icon-circle-arrow-left"></span> Previous</a>
<a href="../09_maintainers_view/" class="btn btn-neutral float-right" title="Maintainers' Section">Next <span class="icon icon-circle-arrow-right"></span></a>
</div>
<hr/>
<div role="contentinfo">
<!-- Copyright etc -->
</div>
Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
@ -225,14 +205,14 @@ or run <code>sudo pip3 install mkdocs</code> to install mkdocs systemwide. Last
</div>
<div class="rst-versions" role="note" aria-label="versions">
<div class="rst-versions" role="note" aria-label="Versions">
<span class="rst-current-version" data-toggle="rst-current-version">
<span><a href="../06_releasing/" style="color: #fcfcfc">&laquo; Previous</a></span>
<span><a href="../07_release_instructions/" style="color: #fcfcfc">&laquo; Previous</a></span>
<span><a href="../08_maintainers_view/" style="color: #fcfcfc">Next &raquo;</a></span>
<span><a href="../09_maintainers_view/" style="color: #fcfcfc">Next &raquo;</a></span>
</span>
</div>

View File

@ -1,15 +1,11 @@
<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<html class="writer-html5" lang="en" >
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" href="../img/favicon.ico">
<title>Maintainers' Section - NewPipe Development Documentation</title>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="shortcut icon" href="../img/favicon.ico" />
<title>Maintainers' Section - NewPipe Development Documentation</title>
<!-- local fonts -->
<link rel="stylesheet" href="../css/local_fonts.css" type="text/css" />
@ -22,8 +18,8 @@
<script>
// Current page data
var mkdocs_page_name = "Maintainers' Section";
var mkdocs_page_input_path = "08_maintainers_view.md";
var mkdocs_page_name = "Maintainers\u0027 Section";
var mkdocs_page_input_path = "09_maintainers_view.md";
var mkdocs_page_url = null;
</script>
@ -36,58 +32,60 @@
<body class="wy-body-for-nav" role="document">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
<div class="wy-side-scroll">
<div class="wy-side-nav-search">
<a href=".." class="icon icon-home"> NewPipe Development Documentation</a>
<div role="search">
<a href=".." class="icon icon-home"> NewPipe Development Documentation
</a><div role="search">
<form id ="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" title="Type search term here" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<ul>
<li class="toctree-l1"><a class="reference internal" href="..">Welcome to the NewPipe Development Docs</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../00_Prepare_everything/">Before You Start</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../01_Concept_of_the_extractor/">Concept of the Extractor</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../02_Concept_of_LinkHandler/">Concept of the LinkHandler</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../03_Implement_a_service/">Implementing a Service</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../04_Run_changes_in_App/">Testing Your Changes in the App</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../05_Mock_tests/">Mock Tests</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../06_releasing/">Releasing a New NewPipe Version</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../07_documentation/">About This Documentation</a>
</li>
</ul>
<ul class="current">
<li class="toctree-l1 current"><a class="reference internal current" href="./">Maintainers' Section</a>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<ul>
<li class="toctree-l1"><a class="reference internal" href="..">Welcome to the NewPipe Development Docs</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../00_Prepare_everything/">Before You Start</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../01_Concept_of_the_extractor/">Concept of the Extractor</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../02_Concept_of_LinkHandler/">Concept of the LinkHandler</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../03_Implement_a_service/">Implementing a Service</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../04_Run_changes_in_App/">Testing Your Changes in the App</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../05_Mock_tests/">Mock Tests</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../06_releasing/">Releasing a New NewPipe Version</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../07_release_instructions/">Release instructions for normal releases</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../08_documentation/">About This Documentation</a>
</li>
</ul>
<ul class="current">
<li class="toctree-l1 current"><a class="reference internal current" href="./">Maintainers' Section</a>
<ul class="current">
<li class="toctree-l2"><a class="reference internal" href="#keep-it-streamlined">Keep it Streamlined</a>
</li>
@ -108,40 +106,30 @@
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" role="navigation" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="..">NewPipe Development Documentation</a>
<nav class="wy-nav-top" role="navigation" aria-label="Mobile navigation menu">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="..">NewPipe Development Documentation</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="..">Docs</a> &raquo;</li>
<li>Maintainers' Section</li>
<li><a href=".." class="icon icon-home" alt="Docs"></a> &raquo;</li>
<li>Maintainers' Section</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main">
<div class="section">
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div class="section" itemprop="articleBody">
<h1 id="maintainers-section">Maintainers' Section</h1>
<p>These are some basic principles that we want maintainers to follow when maintaining NewPipe.</p>
@ -241,27 +229,20 @@ If there are conflicts when rebasing weblate, resolve them.</p>
<p>Push the changes to NewPipe's <code>dev</code> branch, <a href="#update-weblate">update Weblate</a> and unlock it.</p>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="../07_documentation/" class="btn btn-neutral" title="About This Documentation"><span class="icon icon-circle-arrow-left"></span> Previous</a>
</div><footer>
<div class="rst-footer-buttons" role="navigation" aria-label="Footer Navigation">
<a href="../08_documentation/" class="btn btn-neutral float-left" title="About This Documentation"><span class="icon icon-circle-arrow-left"></span> Previous</a>
</div>
<hr/>
<div role="contentinfo">
<!-- Copyright etc -->
</div>
Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
@ -269,11 +250,11 @@ If there are conflicts when rebasing weblate, resolve them.</p>
</div>
<div class="rst-versions" role="note" aria-label="versions">
<div class="rst-versions" role="note" aria-label="Versions">
<span class="rst-current-version" data-toggle="rst-current-version">
<span><a href="../07_documentation/" style="color: #fcfcfc">&laquo; Previous</a></span>
<span><a href="../08_documentation/" style="color: #fcfcfc">&laquo; Previous</a></span>
</span>

164
404.html
View File

@ -1,114 +1,103 @@
<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<html class="writer-html5" lang="en" >
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" href="/img/favicon.ico">
<title>NewPipe Development Documentation</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Lato:400,700|Roboto+Slab:400,700|Inconsolata:400,700" />
<link rel="stylesheet" href="/css/theme.css" />
<link rel="stylesheet" href="/css/theme_extra.css" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.5.0/styles/github.min.css" />
<script src="/js/jquery-2.1.1.min.js" defer></script>
<script src="/js/modernizr-2.8.3.min.js" defer></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.5.0/highlight.min.js"></script>
<script>hljs.initHighlightingOnLoad();</script>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="shortcut icon" href="/img/favicon.ico" />
<title>NewPipe Development Documentation</title>
<link rel="stylesheet" href="/css/theme.css" />
<link rel="stylesheet" href="/css/theme_extra.css" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.5.0/styles/github.min.css" />
<script src="/js/jquery-3.6.0.min.js" defer></script>
<!--[if lt IE 9]>
<script src="/js/html5shiv.min.js"></script>
<![endif]-->
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.5.0/highlight.min.js"></script>
<script>hljs.initHighlightingOnLoad();</script>
</head>
<body class="wy-body-for-nav" role="document">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
<div class="wy-side-scroll">
<div class="wy-side-nav-search">
<a href="/." class="icon icon-home"> NewPipe Development Documentation</a>
<div role="search">
<a href="/." class="icon icon-home"> NewPipe Development Documentation
</a><div role="search">
<form id ="rtd-search-form" class="wy-form" action="//search.html" method="get">
<input type="text" name="q" placeholder="Search docs" title="Type search term here" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<ul>
<li class="toctree-l1"><a class="reference internal" href="/.">Welcome to the NewPipe Development Docs</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="/00_Prepare_everything/">Before You Start</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="/01_Concept_of_the_extractor/">Concept of the Extractor</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="/02_Concept_of_LinkHandler/">Concept of the LinkHandler</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="/03_Implement_a_service/">Implementing a Service</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="/04_Run_changes_in_App/">Testing Your Changes in the App</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="/05_Mock_tests/">Mock Tests</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="/06_releasing/">Releasing a New NewPipe Version</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="/07_documentation/">About This Documentation</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="/08_maintainers_view/">Maintainers' Section</a>
</li>
</ul>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<ul>
<li class="toctree-l1"><a class="reference internal" href="/.">Welcome to the NewPipe Development Docs</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="/00_Prepare_everything/">Before You Start</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="/01_Concept_of_the_extractor/">Concept of the Extractor</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="/02_Concept_of_LinkHandler/">Concept of the LinkHandler</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="/03_Implement_a_service/">Implementing a Service</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="/04_Run_changes_in_App/">Testing Your Changes in the App</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="/05_Mock_tests/">Mock Tests</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="/06_releasing/">Releasing a New NewPipe Version</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="/07_release_instructions/">Release instructions for normal releases</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="/08_documentation/">About This Documentation</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="/09_maintainers_view/">Maintainers' Section</a>
</li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" role="navigation" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="/.">NewPipe Development Documentation</a>
<nav class="wy-nav-top" role="navigation" aria-label="Mobile navigation menu">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="/.">NewPipe Development Documentation</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="/.">Docs</a> &raquo;</li>
<li><a href="/." class="icon icon-home" alt="Docs"></a> &raquo;</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main">
<div class="section">
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div class="section" itemprop="articleBody">
<h1 id="404-page-not-found">404</h1>
@ -117,20 +106,17 @@
</div>
</div>
<footer>
</div><footer>
<hr/>
<div role="contentinfo">
<!-- Copyright etc -->
</div>
Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
@ -138,7 +124,7 @@
</div>
<div class="rst-versions" role="note" aria-label="versions">
<div class="rst-versions" role="note" aria-label="Versions">
<span class="rst-current-version" data-toggle="rst-current-version">

View File

Before

Width:  |  Height:  |  Size: 434 KiB

After

Width:  |  Height:  |  Size: 434 KiB

File diff suppressed because one or more lines are too long

View File

@ -21,11 +21,11 @@
* https://github.com/mkdocs/mkdocs/issues/233
*/
.rst-content pre code {
white-space: pre;
word-wrap: normal;
display: block;
padding: 12px;
font-size: 12px;
white-space: pre;
word-wrap: normal;
display: block;
padding: 12px;
font-size: 12px;
}
/**
@ -77,9 +77,9 @@ pre .cs, pre .c {
* https://github.com/mkdocs/mkdocs/issues/319
*/
.rst-content .no-highlight {
display: block;
padding: 0.5em;
color: #333;
display: block;
padding: 0.5em;
color: #333;
}
@ -113,11 +113,11 @@ form .search-query {
* https://github.com/mkdocs/mkdocs/issues/656
*/
.rst-content .admonition code {
color: #404040;
border: 1px solid #c7c9cb;
border: 1px solid rgba(0, 0, 0, 0.2);
background: #f8fbfd;
background: rgba(255, 255, 255, 0.7);
color: #404040;
border: 1px solid #c7c9cb;
border: 1px solid rgba(0, 0, 0, 0.2);
background: #f8fbfd;
background: rgba(255, 255, 255, 0.7);
}
/*
@ -135,8 +135,8 @@ form .search-query {
}
td, th {
border: 1px solid #e1e4e5 !important; /* csslint allow: important */
border-collapse: collapse;
border: 1px solid #e1e4e5 !important; /* csslint allow: important */
border-collapse: collapse;
}
/*

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,15 +1,11 @@
<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<html class="writer-html5" lang="en" >
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="None">
<link rel="shortcut icon" href="img/favicon.ico">
<title>NewPipe Development Documentation</title>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="description" content="None" />
<link rel="shortcut icon" href="img/favicon.ico" />
<title>NewPipe Development Documentation</title>
<!-- local fonts -->
<link rel="stylesheet" href="./css/local_fonts.css" type="text/css" />
@ -36,96 +32,88 @@
<body class="wy-body-for-nav" role="document">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
<div class="wy-side-scroll">
<div class="wy-side-nav-search">
<a href="." class="icon icon-home"> NewPipe Development Documentation</a>
<div role="search">
<a href="." class="icon icon-home"> NewPipe Development Documentation
</a><div role="search">
<form id ="rtd-search-form" class="wy-form" action="./search.html" method="get">
<input type="text" name="q" placeholder="Search docs" title="Type search term here" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<ul class="current">
<li class="toctree-l1 current"><a class="reference internal current" href=".">Welcome to the NewPipe Development Docs</a>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<ul class="current">
<li class="toctree-l1 current"><a class="reference internal current" href=".">Welcome to the NewPipe Development Docs</a>
<ul class="current">
<li class="toctree-l2"><a class="reference internal" href="#introduction">Introduction</a>
</li>
</ul>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="00_Prepare_everything/">Before You Start</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="01_Concept_of_the_extractor/">Concept of the Extractor</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="02_Concept_of_LinkHandler/">Concept of the LinkHandler</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="03_Implement_a_service/">Implementing a Service</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="04_Run_changes_in_App/">Testing Your Changes in the App</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="05_Mock_tests/">Mock Tests</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="06_releasing/">Releasing a New NewPipe Version</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="07_documentation/">About This Documentation</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="08_maintainers_view/">Maintainers' Section</a>
</li>
</ul>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="00_Prepare_everything/">Before You Start</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="01_Concept_of_the_extractor/">Concept of the Extractor</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="02_Concept_of_LinkHandler/">Concept of the LinkHandler</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="03_Implement_a_service/">Implementing a Service</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="04_Run_changes_in_App/">Testing Your Changes in the App</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="05_Mock_tests/">Mock Tests</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="06_releasing/">Releasing a New NewPipe Version</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="07_release_instructions/">Release instructions for normal releases</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="08_documentation/">About This Documentation</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="09_maintainers_view/">Maintainers' Section</a>
</li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" role="navigation" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href=".">NewPipe Development Documentation</a>
<nav class="wy-nav-top" role="navigation" aria-label="Mobile navigation menu">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href=".">NewPipe Development Documentation</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href=".">Docs</a> &raquo;</li>
<li>Welcome to the NewPipe Development Docs</li>
<li><a href="." class="icon icon-home" alt="Docs"></a> &raquo;</li>
<li>Welcome to the NewPipe Development Docs</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main">
<div class="section">
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div class="section" itemprop="articleBody">
<h1 id="welcome-to-the-newpipe-development-docs">Welcome to the NewPipe Development Docs</h1>
<p><img width=150 src="https://raw.githubusercontent.com/TeamNewPipe/NewPipe/dev/assets/new_pipe_icon_5.png"/></p>
@ -138,27 +126,20 @@ It is an addition to our auto generated <a href="https://teamnewpipe.github.io/N
It focuses on making it possible for the creator of a scraper for a streaming service to create the best outcome with the least amount of written code.</p>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
</div><footer>
<div class="rst-footer-buttons" role="navigation" aria-label="Footer Navigation">
<a href="00_Prepare_everything/" class="btn btn-neutral float-right" title="Before You Start">Next <span class="icon icon-circle-arrow-right"></span></a>
</div>
<hr/>
<div role="contentinfo">
<!-- Copyright etc -->
</div>
Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
@ -166,7 +147,7 @@ It focuses on making it possible for the creator of a scraper for a streaming se
</div>
<div class="rst-versions" role="note" aria-label="versions">
<div class="rst-versions" role="note" aria-label="Versions">
<span class="rst-current-version" data-toggle="rst-current-version">
@ -189,6 +170,6 @@ It focuses on making it possible for the creator of a scraper for a streaming se
</html>
<!--
MkDocs version : 1.2.3
Build Date UTC : 2022-02-23 08:49:32.755902+00:00
MkDocs version : 1.3.1
Build Date UTC : 2022-07-26 07:46:37.722766+00:00
-->

4
js/html5shiv.min.js vendored Normal file
View File

@ -0,0 +1,4 @@
/**
* @preserve HTML5 Shiv 3.7.3 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
*/
!function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=t.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=t.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),t.elements=c+" "+a,j(b)}function f(a){var b=s[a[q]];return b||(b={},r++,a[q]=r,s[r]=b),b}function g(a,c,d){if(c||(c=b),l)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():p.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||o.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),l)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return t.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(t,b.frag)}function j(a){a||(a=b);var d=f(a);return!t.shivCSS||k||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),l||i(a,d),a}var k,l,m="3.7.3",n=a.html5||{},o=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,p=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,q="_html5shiv",r=0,s={};!function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",k="hidden"in a,l=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){k=!0,l=!0}}();var t={elements:n.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:m,shivCSS:n.shivCSS!==!1,supportsUnknownElements:l,shivMethods:n.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=t,j(b),"object"==typeof module&&module.exports&&(module.exports=t)}("undefined"!=typeof window?window:this,document);

File diff suppressed because one or more lines are too long

2
js/jquery-3.6.0.min.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,15 +1,11 @@
<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<html class="writer-html5" lang="en" >
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" href="./img/favicon.ico">
<title>NewPipe Development Documentation</title>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="shortcut icon" href="./img/favicon.ico" />
<title>NewPipe Development Documentation</title>
<!-- local fonts -->
<link rel="stylesheet" href="./css/local_fonts.css" type="text/css" />
@ -29,90 +25,83 @@
<body class="wy-body-for-nav" role="document">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
<div class="wy-side-scroll">
<div class="wy-side-nav-search">
<a href="./." class="icon icon-home"> NewPipe Development Documentation</a>
<div role="search">
<a href="./." class="icon icon-home"> NewPipe Development Documentation
</a><div role="search">
<form id ="rtd-search-form" class="wy-form" action="./search.html" method="get">
<input type="text" name="q" placeholder="Search docs" title="Type search term here" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<ul>
<li class="toctree-l1"><a class="reference internal" href="./.">Welcome to the NewPipe Development Docs</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="./00_Prepare_everything/">Before You Start</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="./01_Concept_of_the_extractor/">Concept of the Extractor</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="./02_Concept_of_LinkHandler/">Concept of the LinkHandler</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="./03_Implement_a_service/">Implementing a Service</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="./04_Run_changes_in_App/">Testing Your Changes in the App</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="./05_Mock_tests/">Mock Tests</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="./06_releasing/">Releasing a New NewPipe Version</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="./07_documentation/">About This Documentation</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="./08_maintainers_view/">Maintainers' Section</a>
</li>
</ul>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<ul>
<li class="toctree-l1"><a class="reference internal" href="./.">Welcome to the NewPipe Development Docs</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="./00_Prepare_everything/">Before You Start</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="./01_Concept_of_the_extractor/">Concept of the Extractor</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="./02_Concept_of_LinkHandler/">Concept of the LinkHandler</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="./03_Implement_a_service/">Implementing a Service</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="./04_Run_changes_in_App/">Testing Your Changes in the App</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="./05_Mock_tests/">Mock Tests</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="./06_releasing/">Releasing a New NewPipe Version</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="./07_release_instructions/">Release instructions for normal releases</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="./08_documentation/">About This Documentation</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="./09_maintainers_view/">Maintainers' Section</a>
</li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" role="navigation" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="./.">NewPipe Development Documentation</a>
<nav class="wy-nav-top" role="navigation" aria-label="Mobile navigation menu">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="./.">NewPipe Development Documentation</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="./.">Docs</a> &raquo;</li>
<li><a href="./." class="icon icon-home" alt="Docs"></a> &raquo;</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main">
<div class="section">
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div class="section" itemprop="articleBody">
<h1 id="search">Search Results</h1>
@ -128,20 +117,17 @@
</div>
</div>
<footer>
</div><footer>
<hr/>
<div role="contentinfo">
<!-- Copyright etc -->
</div>
Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
@ -149,7 +135,7 @@
</div>
<div class="rst-versions" role="note" aria-label="versions">
<div class="rst-versions" role="note" aria-label="Versions">
<span class="rst-current-version" data-toggle="rst-current-version">

View File

@ -21,8 +21,15 @@ function joinUrl (base, path) {
return base + "/" + path;
}
function escapeHtml (value) {
return value.replace(/&/g, '&amp;')
.replace(/"/g, '&quot;')
.replace(/</g, '&lt;')
.replace(/>/g, '&gt;');
}
function formatResult (location, title, summary) {
return '<article><h3><a href="' + joinUrl(base_url, location) + '">'+ title + '</a></h3><p>' + summary +'</p></article>';
return '<article><h3><a href="' + joinUrl(base_url, location) + '">'+ escapeHtml(title) + '</a></h3><p>' + escapeHtml(summary) +'</p></article>';
}
function displayResults (results) {

File diff suppressed because one or more lines are too long

View File

@ -2,52 +2,57 @@
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>None</loc>
<lastmod>2022-02-23</lastmod>
<lastmod>2022-07-26</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-02-23</lastmod>
<lastmod>2022-07-26</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-02-23</lastmod>
<lastmod>2022-07-26</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-02-23</lastmod>
<lastmod>2022-07-26</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-02-23</lastmod>
<lastmod>2022-07-26</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-02-23</lastmod>
<lastmod>2022-07-26</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-02-23</lastmod>
<lastmod>2022-07-26</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-02-23</lastmod>
<lastmod>2022-07-26</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-02-23</lastmod>
<lastmod>2022-07-26</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-02-23</lastmod>
<lastmod>2022-07-26</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2022-07-26</lastmod>
<changefreq>daily</changefreq>
</url>
</urlset>

Binary file not shown.