Deployed 7eafd74 with MkDocs version: 1.0.4

This commit is contained in:
TobiGr 2020-03-01 22:17:35 +01:00
parent 4267ab04d6
commit f8f223afee
14 changed files with 60 additions and 60 deletions

View File

@ -54,7 +54,7 @@
<li class="toctree-l1">
<a class="" href="..">Welcome to NewPipe.</a>
<a class="" href="..">Welcome to NewPipe</a>
</li>
<li class="toctree-l1 current">
@ -75,9 +75,9 @@
<ul>
<li><a class="toctree-l3" href="#content-that-is-permitted">Content That is Permitted:</a></li>
<li><a class="toctree-l3" href="#content-that-is-permitted">Content That is Permitted</a></li>
<li><a class="toctree-l3" href="#content-that-is-not-permitted">Content That is NOT Permitted:</a></li>
<li><a class="toctree-l3" href="#content-that-is-not-permitted">Content That is NOT Permitted</a></li>
</ul>
@ -164,7 +164,7 @@ and are open for everyone to help :)</p>
<p>First and foremost, you need to meet the following conditions in order to write your own service.</p>
<h3 id="what-you-need-to-know">What You Need to Know:</h3>
<ul>
<li>A basic understanding of <strong><a href="https://try.github.io">git</a></strong></li>
<li>A basic understanding of <strong><a href="https://try.github.io">Git</a></strong></li>
<li>Good <strong><a href="https://whatpixel.com/best-java-books/">Java</a></strong> knowledge</li>
<li>A good understanding of <strong><a href="https://www.w3schools.com/">web technology</a></strong></li>
<li>A basic understanding of <strong><a href="https://www.vogella.com/tutorials/JUnit/article.html">unit testing</a></strong> and <strong><a href="https://junit.org/">JUnit</a></strong></li>
@ -172,8 +172,8 @@ and are open for everyone to help :)</p>
</ul>
<h3 id="toolsprograms-you-will-need">Tools/Programs You Will Need:</h3>
<ul>
<li>A dev environment/ide that supports:<ul>
<li><strong><a href="https://git-scm.com/downloads/guis">git</a></strong></li>
<li>A dev environment/IDE that supports:<ul>
<li><strong><a href="https://git-scm.com/downloads/guis">Git</a></strong></li>
<li><strong><a href="https://www.java.com/en/download/faq/java8.xml">Java 8</a></strong></li>
<li><strong><a href="https://gradle.org/">Gradle</a></strong></li>
<li><strong><a href="https://junit.org/junit5/">Unit testing</a></strong></li>
@ -194,7 +194,7 @@ If all the checks are green, you did everything right! You can proceed to the ne
<ol>
<li><code>git clone</code> the extractor onto your computer locally.</li>
<li>Start IntelliJ Idea and click <code>Import Project</code>.</li>
<li>Select the root directory of the NewPipe Extractor</li>
<li>Select the root directory of the NewPipe Extractor.</li>
<li>Select "<strong>Import Project from external Model</strong>" and then choose <strong>Gradle</strong>.
<img alt="import from gradle image" src="../img/select_gradle.png" /></li>
<li>In the next window, select "<strong>Use gradle 'wrapper' task configuration</strong>".
@ -208,20 +208,20 @@ As Gradle Project, select NewPipeExtractor. As a task, add "test". Now save and
<p>After creating you own service, you will need to submit it to our <a href="https://github.com/teamnewpipe/newpipeextractor">NewPipeExtractor</a>
repository. However, in order to include your changes, you need to follow these rules:</p>
<ol>
<li>Stick to our <a href="https://github.com/TeamNewPipe/NewPipe/blob/dev/.github/CONTRIBUTING.md#code-contribution">Code contribution guidelines</a></li>
<li>Stick to our <a href="https://github.com/TeamNewPipe/NewPipe/blob/dev/.github/CONTRIBUTING.md#code-contribution">code contribution guidelines</a>.</li>
<li>Do not send services that present content we <a href="#content-that-is-not-permitted">don't allow</a> on NewPipe.</li>
<li>You must be willing to maintain your service after submission.</li>
<li>Be patient and make the requested changes when one of our maintainers rejects your code.</li>
</ol>
<h2 id="content-that-is-permitted">Content That is Permitted:</h2>
<h2 id="content-that-is-permitted">Content That is Permitted</h2>
<ul>
<li>Any content that is not in the <a href="#content-that-is-not-permitted">list of prohibited content</a>.</li>
<li>Any kind of pornography or NSFW content that does not violate US law.</li>
<li>Advertising, which may need to be approved beforehand.</li>
</ul>
<h2 id="content-that-is-not-permitted">Content That is NOT Permitted:</h2>
<h2 id="content-that-is-not-permitted">Content That is NOT Permitted</h2>
<ul>
<li>Content that is considered NSFL (Not Safe For Life)</li>
<li>Content that is considered NSFL (Not Safe For Life).</li>
<li>Content that is prohibited by US federal law (Sexualization of minors, any form of violence, violations of human rights, etc).</li>
<li>Copyrighted media, without the consent of the copyright holder/publisher.</li>
</ul>
@ -235,7 +235,7 @@ As Gradle Project, select NewPipeExtractor. As a task, add "test". Now save and
<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 NewPipe."><span class="icon icon-circle-arrow-left"></span> Previous</a>
<a href=".." class="btn btn-neutral" title="Welcome to NewPipe"><span class="icon icon-circle-arrow-left"></span> Previous</a>
</div>

View File

@ -54,7 +54,7 @@
<li class="toctree-l1">
<a class="" href="..">Welcome to NewPipe.</a>
<a class="" href="..">Welcome to NewPipe</a>
</li>
<li class="toctree-l1">
@ -185,7 +185,7 @@ try {
@Override
public String someDataFiled()
throws ExtractionException { //The exception needs to be thrown if someting failed
throws ExtractionException { //The exception needs to be thrown if something failed
// get piece of information and return it
}
@ -194,9 +194,9 @@ try {
</code></pre>
<h2 id="collectorextractor-pattern-for-lists">Collector/Extractor Pattern for Lists</h2>
<p>Information can be represented as a list. In NewPipe, a list is represented by a
<p>Information can be represented as a list. In NewPipe, a list is represented by an
<a href="https://teamnewpipe.github.io/NewPipeExtractor/javadoc/org/schabi/newpipe/extractor/InfoItemsCollector.html">InfoItemsCollector</a>.
A InfoItemsCollector will collect and assemble a list of <a href="https://teamnewpipe.github.io/NewPipeExtractor/javadoc/org/schabi/newpipe/extractor/InfoItem.html">InfoItem</a>.
An InfoItemsCollector will collect and assemble a list of <a href="https://teamnewpipe.github.io/NewPipeExtractor/javadoc/org/schabi/newpipe/extractor/InfoItem.html">InfoItem</a>.
For each item that should be extracted, a new Extractor must be created, and given to the InfoItemsCollector via <a href="https://teamnewpipe.github.io/NewPipeExtractor/javadoc/org/schabi/newpipe/extractor/InfoItemsCollector.html#commit-E-">commit()</a>.</p>
<p><img alt="InfoItemsCollector_objectdiagram.svg" src="../img/InfoItemsCollector_objectdiagram.svg" /></p>
<p>If you are implementing a list in your service you need to implement an <a href="https://teamnewpipe.github.io/NewPipeExtractor/javadoc/org/schabi/newpipe/extractor/Extractor.html">InfoItemExtractor</a>,
@ -286,7 +286,7 @@ items like a regular web page, but all the others as an AJAX request.</p>
}
public InfoItemsPage&lt;SomeInfoItem&gt; getInitialPage() {
//document here got initialzied by the fetch() function.
//document here got initialized by the fetch() function.
return getPage(getTheCurrentPageUrl(document));
}
...

View File

@ -54,7 +54,7 @@
<li class="toctree-l1">
<a class="" href="..">Welcome to NewPipe.</a>
<a class="" href="..">Welcome to NewPipe</a>
</li>
<li class="toctree-l1">
@ -76,7 +76,7 @@
<ul>
<li><a class="toctree-l3" href="#importand-notes-about-linkhandler">Importand notes about LinkHandler:</a></li>
<li><a class="toctree-l3" href="#important-notes-about-linkhandler">Important notes about LinkHandler</a></li>
<li><a class="toctree-l3" href="#usage">Usage</a></li>
@ -158,7 +158,7 @@ one unique ID that represents it, like this example:</p>
<li><a href="https://youtu.be/oHg5SJYRHA0">https://youtu.be/oHg5SJYRHA0</a> (the shortened link)</li>
<li><a href="https://m.youtube.com/watch?v=oHg5SJYRHA0">https://m.youtube.com/watch?v=oHg5SJYRHA0</a> (the link for mobile devices)</li>
</ul>
<h3 id="importand-notes-about-linkhandler">Importand notes about LinkHandler:</h3>
<h3 id="important-notes-about-linkhandler">Important notes about LinkHandler</h3>
<ul>
<li>A simple <code>LinkHandler</code> will contain the default URL, the ID, and the original URL.</li>
<li><code>LinkHandler</code>s are read only.</li>
@ -189,7 +189,7 @@ LinkHandler myVideo = myLinkHandlerFactory.fromUrl(&quot;https://my.service.com/
@Override
public boolean onAcceptUrl(String url) throws ParsingException {
// Return true if this LinkHanlderFactory can handle this type of link
// Return true if this LinkHandlerFactory can handle this type of link.
}
}
</code></pre>
@ -212,7 +212,7 @@ Through these you can tell the front end which kind of filter your service suppo
<h4 id="searchqueryhandler">SearchQueryHandler</h4>
<p>You cannot point to a search request with an ID like you point to a playlist or a channel, simply because one and the
same search request might have a different outcome depending on the country or the time you send the request. This is
why the idea of an "ID" is replaced by a "SearchString" in the <a href="https://teamnewpipe.github.io/NewPipeExtractor/javadoc/org/schabi/newpipe/extractor/linkhandler/SearchQueryHandler.html">SearchQueryHandler</a>
why the idea of an "ID" is replaced by a "SearchString" in the <a href="https://teamnewpipe.github.io/NewPipeExtractor/javadoc/org/schabi/newpipe/extractor/linkhandler/SearchQueryHandler.html">SearchQueryHandler</a>.
These work like regular ListLinkHandler, except that you don't have to implement the methods <code>onAcceptUrl()</code>
and <code>getId()</code> when overriding <a href="https://teamnewpipe.github.io/NewPipeExtractor/javadoc/org/schabi/newpipe/extractor/linkhandler/SearchQueryHandlerFactory.html">SearchQueryHandlerFactory</a>.</p>

View File

@ -54,7 +54,7 @@
<li class="toctree-l1">
<a class="" href="..">Welcome to NewPipe.</a>
<a class="" href="..">Welcome to NewPipe</a>
</li>
<li class="toctree-l1">
@ -182,7 +182,7 @@ having channels.</p>
For some specific (tiny) tasks, Regex is allowed. Here you can take a look at the
<a href="https://teamnewpipe.github.io/NewPipeExtractor/javadoc/org/schabi/newpipe/extractor/utils/Parser.html">Parser</a>,
which will give you a little help with that. <strong>Use Regex with care!!!</strong> Avoid it as often as possible. It's better to
ask us to introduce a new library than start using Regex to often.</p>
ask us to introduce a new library than start using Regex too often.</p>
<ul>
<li>Html/XML Parsing: <a href="https://jsoup.org/apidocs/overview-summary.html">jsoup</a></li>
<li>JSON Parsing: <a href="https://github.com/mmastrac/nanojson#parser-example">nanojson</a></li>

View File

@ -54,7 +54,7 @@
<li class="toctree-l1">
<a class="" href="..">Welcome to NewPipe.</a>
<a class="" href="..">Welcome to NewPipe</a>
</li>
<li class="toctree-l1">
@ -164,13 +164,13 @@ you might experience some trouble running your compiled app on a real device, es
sometimes have to adjust the udev rules in order to
<a href="https://www.janosgyerik.com/adding-udev-rules-for-usb-debugging-android-devices/">make your device accessible</a>.</p>
<h3 id="run-your-changes-on-the-extractor">Run Your Changes on the Extractor</h3>
<p>In order to use the extractor in our app, we use <a href="https://jitpack.io">jitpack</a>. This is a build service that can build
<p>In order to use the extractor in our app, we use <a href="https://jitpack.io">JitPack</a>. This is a build service that can build
maven *.jar packages for Android and Java based on GitHub or GitLab repositories. </p>
<p>To use the extractor through jitpack, you need to push it to your online repository of
<p>To use the extractor through JitPack, you need to push it to your online repository of
your copy that you host either on <a href="https://github.com">GitHub</a> or <a href="https://gitlab.com">GitLab</a>. It's important to host
it on one of both. To copy your repository URL in HTTP format, go to <a href="https://jitpack.io/">jitpack</a> and paste it there.
it on one of both. To copy your repository URL in HTTP format, go to <a href="https://jitpack.io/">JitPack</a> and paste it there.
From here, you can grab the latest commit via <code>GET IT</code> button.
I recomend not to use a SNAPSHOT, since I am not sure when snapshot is built. An "implementation" string will be generated
I recommend not to use a SNAPSHOT, since I am not sure when snapshot is built. An "implementation" string will be generated
for you. Copy this string and replace the <code>implementation 'com.github.TeamNewPipe:NewPipeExtractor:&lt;commit&gt;'</code> line in
the file <a href="https://github.com/TeamNewPipe/NewPipe/blob/dev/app/build.gradle#L58">/app/build.gradle</a> with it.</p>
<video width="600" controls>
@ -182,7 +182,7 @@ Your browser does not support the video tag.
with the new extractor.</p>
<p><img alt="image_sync_ok" src="../img/sync_ok.png" /></p>
<h3 id="troubleshooting">Troubleshooting</h3>
<p>If something went wrong on jitpack site, you can check their build log, by selecting the commit you tried to build and
<p>If something went wrong on JitPack site, you can check their build log, by selecting the commit you tried to build and
click on that little paper symbol next to the <code>GET IT</code> button. If it's red, it means that the build failed.
<img alt="jitpack failed to build" src="../img/jitpack_fail.png" /></p>

View File

@ -54,7 +54,7 @@
<li class="toctree-l1">
<a class="" href="..">Welcome to NewPipe.</a>
<a class="" href="..">Welcome to NewPipe</a>
</li>
<li class="toctree-l1">
@ -174,7 +174,7 @@ If a change is done on the API to the extractor, make sure that frontend is comp
again can not be merged, please do not merge the corresponding PR on the extractor either. This should make sure that any developer can run his changes
on the fronted at any time.</p>
<h3 id="merging-featuresbugfixes">Merging Features/Bugfixes</h3>
<p>After finishing a feature, one should open up a <strong>Pull Reuqest</strong> to the dev branch. From here, a maintainer can do <strong>Code review</strong> and <strong>Quality Assurance (QA)</strong>.
<p>After finishing a feature, one should open up a <strong>Pull Request</strong> to the dev branch. From here, a maintainer can do <strong>Code review</strong> and <strong>Quality Assurance (QA)</strong>.
If you are a maintainer, please take care about the code architecture so <strong>corrosion</strong> or <strong>code shifting</strong> can be prevented. Please also prioritize code quality over functionality.
In short: cool function but bad code = no merge. Focus on leaving the code as clean as possible.</p>
<p><img alt="merge_feature_into_dev" src="../img/merge_into_dev.svg" /></p>
@ -187,7 +187,7 @@ Below is a list of things you will want to do:</p>
<ol>
<li>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></li>
<li>Merge <a href="https://hosted.weblate.org/projects/newpipe/">weblate</a> changes from the <code>dev</code> branch at <code>https://hosted.weblate.org/git/newpipe/strings/</code>.</li>
<li>Merge <a href="https://hosted.weblate.org/projects/newpipe/">Weblate</a> changes from the <code>dev</code> branch at <code>https://hosted.weblate.org/git/newpipe/strings/</code>.</li>
<li>Copy the <a href="#release-notes">release notes</a> from the GitHub version draft into the corresponding fastlane file (see <a href="#release-notes">release notes</a>).</li>
<li>Open up 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. Put the release-note into this pull request.</li>

View File

@ -54,7 +54,7 @@
<li class="toctree-l1">
<a class="" href="..">Welcome to NewPipe.</a>
<a class="" href="..">Welcome to NewPipe</a>
</li>
<li class="toctree-l1">
@ -171,13 +171,13 @@
<p>MacOS already includes Python, however, pip is still missing. The easiest and most nondestructive way is to install the MacOS package manager, <a href="https://brew.sh/index_de">homebrew</a>, first. The advantage of homebrew is that it will only modify your home directory, and not the root dir, so your OS will not be tampered with.</p>
<ol>
<li>Install <a href="https://brew.sh/index_de">homebrew</a>.</li>
<li>Install Python from homebrew, which will also install pip. Enter this command:
<li>Install Python from Homebrew, which will also install pip. Enter this command:
<code>brew install python</code>.</li>
<li>Install mkdocs:
<code>pip3 install mkdocs</code></li>
<code>pip3 install mkdocs</code>.</li>
</ol>
<h2 id="linuxbsd">Linux/*BSD</h2>
<p>Linux/*BSD also has Python preinstalled. Most distributions also contain pip by default. If it is not installed, you may need to figure out how to install pip3 through the package manager of your system.</p>
<p>Linux/*BSD also has Python pre-installed. Most distributions also contain pip by default. If it is not installed, you may need to figure out how to install pip3 through the package manager of your system.</p>
<ol>
<li>Install pip3 with these commands according to distributions: <ul>
<li><strong>Ubuntu/Mint</strong>: <code>apt install python3-pip</code></li>
@ -193,9 +193,9 @@ or run <code>sudo pip3 install mkdocs</code> to install mkdocs systemwide. Last
<h2 id="androidchromeos">Android/ChromeOS</h2>
<p>This might sound funny, but according to the growing amount of Chromebooks and Android tablets with keyboards, this might actually be useful.</p>
<ol>
<li>Install the <a href="https://termux.com/">Termux App</a> from <a href="https://f-droid.org/packages/com.termux/">f-droid</a>.</li>
<li>Install the <a href="https://termux.com/">Termux App</a> from <a href="https://f-droid.org/packages/com.termux/">F-Droid</a>.</li>
<li>Launch Termux and type <code>apt update</code></li>
<li>Install Python and git with the command: <code>apt install git python</code></li>
<li>Install Python and Git with the command: <code>apt install git python</code></li>
<li>Install mkdocs with <code>pip install mkdocs</code>.</li>
</ol>
<p>From herein, everything will be the same as on Desktop. If you want to edit the files, you can (besides vim or emacs which are available through Termux) use your preferred text editor on Android. This is possible by opening the files with the Termux integration of the build in android file manager:</p>

View File

@ -54,7 +54,7 @@
<li class="toctree-l1">
<a class="" href="..">Welcome to NewPipe.</a>
<a class="" href="..">Welcome to NewPipe</a>
</li>
<li class="toctree-l1">

View File

@ -43,7 +43,7 @@
<li class="toctree-l1">
<a class="" href="/.">Welcome to NewPipe.</a>
<a class="" href="/.">Welcome to NewPipe</a>
</li>
<li class="toctree-l1">

View File

@ -8,7 +8,7 @@
<meta name="description" content="None">
<link rel="shortcut icon" href="img/favicon.ico">
<title>Welcome to NewPipe. - NewPipe Documentation</title>
<title>Welcome to NewPipe - NewPipe Documentation</title>
<!-- local fonts -->
<link rel="stylesheet" href="./css/local_fonts.css" type="text/css" />
@ -21,7 +21,7 @@
<script>
// Current page data
var mkdocs_page_name = "Welcome to NewPipe.";
var mkdocs_page_name = "Welcome to NewPipe";
var mkdocs_page_input_path = "index.md";
var mkdocs_page_url = null;
</script>
@ -54,10 +54,10 @@
<li class="toctree-l1 current">
<a class="current" href=".">Welcome to NewPipe.</a>
<a class="current" href=".">Welcome to NewPipe</a>
<ul class="subnav">
<li class="toctree-l2"><a href="#welcome-to-newpipe">Welcome to NewPipe.</a></li>
<li class="toctree-l2"><a href="#welcome-to-newpipe">Welcome to NewPipe</a></li>
<ul>
@ -131,7 +131,7 @@
<li>Welcome to NewPipe.</li>
<li>Welcome to NewPipe</li>
<li class="wy-breadcrumbs-aside">
</li>
@ -141,10 +141,10 @@
<div role="main">
<div class="section">
<h1 id="welcome-to-newpipe">Welcome to NewPipe.</h1>
<h1 id="welcome-to-newpipe">Welcome to NewPipe</h1>
<p><img width=150 src="https://raw.githubusercontent.com/TeamNewPipe/NewPipe/dev/assets/new_pipe_icon_5.png"/></p>
<p>This site is/should be a beginner friendly tutorial and documentation for people who want to use or write services for the <a href="https://github.com/TeamNewPipe/NewPipeExtractor">NewPipe Extractor</a>. However, it also contains several notes about how to maintain NewPipe.
It is an addition to our auto generated <a href="https://teamnewpipe.github.io/NewPipeExtractor/javadoc/">jdoc documentation</a>.</p>
It is an addition to our auto generated <a href="https://teamnewpipe.github.io/NewPipeExtractor/javadoc/">Jdoc documentation</a>.</p>
<p>Please be aware that it is in its early stages, so help and <a href="https://github.com/TeamNewPipe/documentation/issues">feedback</a> is always appreciated :D</p>
<h2 id="introduction">Introduction</h2>
<p>The NewPipeExtractor is a Java framework for scraping video platform websites in a way that they can be accessed like a normal API. The extractor is the core of the popular YouTube and streaming app <a href="https://newpipe.schabi.org">NewPipe</a> for Android. It is entirely independent from said platforms and also available for additional platforms as well. </p>
@ -198,5 +198,5 @@ It focuses on making it possible for the creator of a scraper for a streaming se
<!--
MkDocs version : 1.0.4
Build Date UTC : 2020-01-19 09:24:21
Build Date UTC : 2020-03-01 21:17:35
-->

View File

@ -43,7 +43,7 @@
<li class="toctree-l1">
<a class="" href="./.">Welcome to NewPipe.</a>
<a class="" href="./.">Welcome to NewPipe</a>
</li>
<li class="toctree-l1">

File diff suppressed because one or more lines are too long

View File

@ -2,47 +2,47 @@
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>None</loc>
<lastmod>2020-01-19</lastmod>
<lastmod>2020-03-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2020-01-19</lastmod>
<lastmod>2020-03-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2020-01-19</lastmod>
<lastmod>2020-03-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2020-01-19</lastmod>
<lastmod>2020-03-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2020-01-19</lastmod>
<lastmod>2020-03-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2020-01-19</lastmod>
<lastmod>2020-03-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2020-01-19</lastmod>
<lastmod>2020-03-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2020-01-19</lastmod>
<lastmod>2020-03-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2020-01-19</lastmod>
<lastmod>2020-03-01</lastmod>
<changefreq>daily</changefreq>
</url>
</urlset>

Binary file not shown.