diff --git a/docs/docs/about.md b/docs/docs/about.md new file mode 100644 index 00000000..132587d1 --- /dev/null +++ b/docs/docs/about.md @@ -0,0 +1,187 @@ +--- +title: About TVApp2 +tags: + - info +--- + +# About + +
+ ![Image settings](https://raw.githubusercontent.com/TheBinaryNinja/tvapp2/main/docs/img/screenshots/01.png){ width="100%" } +
TVApp2 Main Interest
+
+ +
+ +

TVApp2: M3U Playlist & Data Guides

+ +

+ + +[![Version][github-version-img]][github-version-uri] +[![Downloads][github-downloads-img]][github-downloads-uri] +[![Size][github-size-img]][github-size-img] +[![Last Commit][github-commit-img]][github-commit-img] +[![Contributors][contribs-all-img]](#contributors-) + + +

+ + +## What is TVApp2? + +**TVApp2** is a docker image which allows you to download M3U playlists and EPG guide data from various online IPTV services such as **TheTVApp**, **TVPass**, and **MoveOnJoy**. The playlist and guide data files can be imported into your favorite IPTV applications such as Jellyfin, Plex, and Emby. + +Once the docker container is started; a fresh copy of the channel list and TV guide data will be downloaded and generated within your docker container. You can then visit the website URL associated with your docker container; which will give you direct links to the files that you can utilize with the above listed IPTV apps. + +All channels contain multiple sources so that you have a reliable streaming experience, and helps you combat moments when one channel source goes offline. + +
+ +--- + +
+ +## Associated Links + +Check out the following websites for additional resources for the TVApp2 docker image below. + +```embed +url: https://github.com/TheBinaryNinja/tvapp2 +image: https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQjFUDe-vdiprKpCsiLoRmfCdUq0WS5tqUR9fyEzJjQ0g&s +name: Github: TVApp2 +desc: Official github repository for the TVApp2 docker container. +favicon: https://github.com/Aetherinox/mkdocs-link-embeds/assets/118329232/6433449b-2988-4da3-9d43-ff4c992a9fcf +favicon_size: 25 +``` + +
+ +```embed +url: https://hub.docker.com/repository/docker/thebinaryninja/tvapp2/general +image: https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRPt5TDzKi3PTTqLCyeXvnJ3Mj2y5speGcrvw&s +name: Dockerhub: TVApp2 +desc: TVApp2 docker images hosted through Dockerhub. +favicon: https://github.com/Aetherinox/mkdocs-link-embeds/assets/118329232/6433449b-2988-4da3-9d43-ff4c992a9fcf +favicon_size: 25 +``` + +
+ +```embed +url: https://git.binaryninja.net/BinaryNinja/ +image: https://avatars.githubusercontent.com/u/200161462?s=400&u=1ce7cfadace57652a2a2f76ef2fd5751fccbbe77&v=4 +name: Gitea: TVApp2 +desc: Official TVApp2 docker image hosted on Gitea. +favicon: https://github.com/Aetherinox/mkdocs-link-embeds/assets/118329232/6433449b-2988-4da3-9d43-ff4c992a9fcf +favicon_size: 25 +``` + +
+ +--- + +
+ +## Features + +The following is a small list of the features available with the TVApp2 container: + +- Multiple IPTV service sources: + - TheTVApp + - TVPass + - MoveOnJoy +- Channel playlists can be downloaded as a `.m38u` or a compressed `.gzip` archive. + - Compressed gzip compatible with 3rd party apps like Cabernet and Jellyfin. +- Tracking statistics which show the last update time, size, and a description for each file's purpose. +- Direct access to download each of the generated files, including multiple easy-to-remember URLs for each file type. + - **M3U Playlist**: + - http://127.0.0.1:4124/playlist + - http://127.0.0.1:4124/m3u + - http://127.0.0.1:4124/m38u + - **EPG Guide Data (Uncompressed)**: + - http://127.0.0.1:4124/guide + - http://127.0.0.1:4124/epg + - http://127.0.0.1:4124/xml + - **EPG Guide Data (Compressed)**: + - http://127.0.0.1:4124/gzip + - http://127.0.0.1:4124/gz +- Video sources include both quality options `hd` and `sd`. +- Easily mountable docker volumes to access the generated files quickly. +- Wide variety of docker environment variables to change the binding IP, port, app root directory, quality, timezone, etc. +- Small docker image size; based on Alpine 3.x which averages `40MB`. +- Compatible with architectures `amd64` and `arm64/aarm64`. +- Example configurations for 3rd party apps such as Traefik and Authentik. + +
+ +--- + +
+ + + + + + [general-npmjs-uri]: https://npmjs.com + [general-nodejs-uri]: https://nodejs.org + [general-npmtrends-uri]: http://npmtrends.com/csf-firewall + + + [github-version-img]: https://img.shields.io/github/v/tag/TheBinaryNinja/tvapp2?logo=GitHub&label=Version&color=ba5225 + [github-version-uri]: https://github.com/TheBinaryNinja/tvapp2/releases + + + [license-mit-img]: https://img.shields.io/badge/MIT-FFF?logo=creativecommons&logoColor=FFFFFF&label=License&color=9d29a0 + [license-mit-uri]: https://github.com/TheBinaryNinja/tvapp2/blob/main/LICENSE + + + [github-downloads-img]: https://img.shields.io/github/downloads/TheBinaryNinja/tvapp2/total?logo=github&logoColor=FFFFFF&label=Downloads&color=376892 + [github-downloads-uri]: https://github.com/TheBinaryNinja/tvapp2/releases + + + [github-size-img]: https://img.shields.io/github/repo-size/TheBinaryNinja/tvapp2?logo=github&label=Size&color=59702a + [github-size-uri]: https://github.com/TheBinaryNinja/tvapp2/releases + + + [contribs-all-img]: https://img.shields.io/github/all-contributors/TheBinaryNinja/tvapp2?logo=contributorcovenant&color=de1f6f&label=contributors + [contribs-all-uri]: https://github.com/all-contributors/all-contributors + + + [github-build-img]: https://img.shields.io/github/actions/workflow/status/TheBinaryNinja/tvapp2/npm-release.yml?logo=github&logoColor=FFFFFF&label=Build&color=%23278b30 + [github-build-uri]: https://github.com/TheBinaryNinja/tvapp2/actions/workflows/npm-release.yml + + + [github-build-pypi-img]: https://img.shields.io/github/actions/workflow/status/TheBinaryNinja/tvapp2/release-pypi.yml?logo=github&logoColor=FFFFFF&label=Build&color=%23278b30 + [github-build-pypi-uri]: https://github.com/TheBinaryNinja/tvapp2/actions/workflows/pypi-release.yml + + + [github-tests-img]: https://img.shields.io/github/actions/workflow/status/TheBinaryNinja/tvapp2/npm-tests.yml?logo=github&label=Tests&color=2c6488 + [github-tests-uri]: https://github.com/TheBinaryNinja/tvapp2/actions/workflows/npm-tests.yml + + + [github-commit-img]: https://img.shields.io/github/last-commit/TheBinaryNinja/tvapp2?logo=conventionalcommits&logoColor=FFFFFF&label=Last%20Commit&color=313131 + [github-commit-uri]: https://github.com/TheBinaryNinja/tvapp2/commits/main/ + + + [github-docker-version-img]: https://badges-ghcr.onrender.com/thebinaryninja/tvapp2/latest_tag?color=%233d9e18&ignore=development-amd64%2Cdevelopment%2Cdevelopment-arm64%2Clatest&label=version&trim= + [github-docker-version-uri]: https://github.com/TheBinaryNinja/tvapp2/pkgs/container/tvapp2 + + + [dockerhub-docker-version-img]: https://img.shields.io/docker/v/thebinaryninja/tvapp2?sort=semver&arch=arm64 + [dockerhub-docker-version-uri]: https://hub.docker.com/repository/docker/thebinaryninja/tvapp2/general + + + [gitea-docker-version-img]: https://badges-ghcr.onrender.com/thebinaryninja/tvapp2/latest_tag?color=%233d9e18&ignore=latest&label=version&trim= + [gitea-docker-version-uri]: https://git.binaryninja.net/BinaryNinja/tvapp2 + + + [gitea2-docker-version-img]: https://img.shields.io/gitea/v/release/binaryninja/tvapp2?gitea_url=https%3A%2F%2Fgit.binaryninja.net + [gitea2-docker-version-uri]: https://git.binaryninja.net/BinaryNinja/-/packages/container/tvapp2/latest + + + [btn-github-submit-img]: https://img.shields.io/badge/submit%20new%20issue-de1f5c?style=for-the-badge&logo=github&logoColor=FFFFFF + [btn-github-submit-uri]: https://github.com/TheBinaryNinja/tvapp2/issues + + + diff --git a/docs/docs/about_tvapp2.md b/docs/docs/about_tvapp2.md deleted file mode 100644 index 309c9b56..00000000 --- a/docs/docs/about_tvapp2.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: About TVApp2 -tags: - - info ---- - -# About TVApp2 - -
- ---- - -
diff --git a/docs/docs/about/backers.md b/docs/docs/resources/backers.md similarity index 100% rename from docs/docs/about/backers.md rename to docs/docs/resources/backers.md diff --git a/docs/docs/about/changelog.md b/docs/docs/resources/changelog.md similarity index 100% rename from docs/docs/about/changelog.md rename to docs/docs/resources/changelog.md diff --git a/docs/docs/about/conventions.md b/docs/docs/resources/conventions.md similarity index 100% rename from docs/docs/about/conventions.md rename to docs/docs/resources/conventions.md diff --git a/docs/docs/about/license.md b/docs/docs/resources/license.md similarity index 100% rename from docs/docs/about/license.md rename to docs/docs/resources/license.md diff --git a/docs/docs/about/tags.md b/docs/docs/resources/tags.md similarity index 100% rename from docs/docs/about/tags.md rename to docs/docs/resources/tags.md diff --git a/docs/docs/stylesheets/extra.css b/docs/docs/stylesheets/extra.css index d2e51d47..edac838f 100644 --- a/docs/docs/stylesheets/extra.css +++ b/docs/docs/stylesheets/extra.css @@ -242,7 +242,7 @@ --md-typeset-table-color--light: hsla(var(--md-hue),15%,95%,0.035); --md-admonition-fg-color: var(--md-default-fg-color); --md-admonition-bg-color: var(--md-default-bg-color); - --md-footer-bg-color: rgba( 34, 34, 34, 1 ); + --md-footer-bg-color: rgba( 21, 21, 21, 1 ); --md-footer-bg-color--dark: rgba( 15, 15, 15, 1 ); --md-shadow-z1: 0 0.2rem 0.5rem #0000000d,0 0 0.05rem #0000001a; --md-shadow-z2: 0 0.2rem 0.5rem #00000040,0 0 0.05rem #00000040; @@ -279,6 +279,12 @@ background-color: hsla(140, 0%, 5%, 1) !important; } + .md-nav--primary .md-nav__title + { + background: none; + box-shadow: none; + } + .md-typeset table:not([ class ] ) tbody tr { background-color: rgb( 17, 15, 15 ); @@ -528,7 +534,7 @@ h4:has(.twemoji) .twemoji Add a gap between the last "File" item in nav menu, and the folders under. */ -li:has(a[href*="about_patcher"]) +.md-sidebar--primary li:has(a[href*="about_tvapp2"]), .md-sidebar--primary li:has(a[href*="about"]) { margin-bottom: 28px !important; } @@ -818,32 +824,18 @@ figure img padding: 8px 10px; } -@media ( min-width: 360px ) -{ - .mkde-right - { - padding: 12px 15px; - } -} - -@media ( min-width: 600px ) -{ - .mkde-right - { - padding: 12px 12px; - } -} - /* Left container */ ._lc._sm:not( .xd ) .mkde-left { - min-width: 100px; - width: 100px; - min-height: 100px; - padding: 10px; + min-width: 70px; + width: 70px; + min-height: 70px; + height: 70px; + padding: 5px; + align-self: center; background: rgba( 255, 255, 255, 0.10 ); } @@ -851,9 +843,11 @@ figure img { ._lc._sm:not( .xd ) .mkde-left { - min-width: 110px; - width: 110px; - min-height: 110px; + min-width: 80px; + width: 80px; + min-height: 80px; + height: 80px; + align-self: center; } } @@ -861,9 +855,11 @@ figure img { ._lc._sm:not( .xd ) .mkde-left { - min-width: 140px; - width: 140px; - min-height: 140px; + min-width: 110px; + width: 110px; + min-height: 110px; + height: 110px; + align-self: center; } } @@ -871,9 +867,11 @@ figure img { ._lc._sm:not( .xd ) .mkde-left { - min-width: 160px; - width: 160px; - min-height: 160px; + min-width: 110px; + width: 110px; + min-height: 110px; + height: 110px; + align-self: center; } } @@ -992,6 +990,8 @@ figure img padding: 0; background: none transparent; text-align: left; + padding-left: 2px; + border-radius: 10px; } .mkde-sub .item-footer-format:last-child @@ -1141,7 +1141,7 @@ figure img .mkde-left-s2 { - border: 1px solid rgba( 255, 255, 255, 0.35 ) + border: 1px solid rgba( 255, 255, 255, 0.35 ); } } @@ -1150,7 +1150,8 @@ figure img position: absolute; width: 100%; height: 100%; - border: 1px solid rgba( 255, 255, 255, 0.10 ) + border: 1px solid rgba( 255, 255, 255, 0.10 ); + background-color: #272728; } .mkde-link-favicon diff --git a/docs/material/overrides/hooks/shortcodes.py b/docs/material/overrides/hooks/shortcodes.py index 77e9eedc..1e8839f2 100644 --- a/docs/material/overrides/hooks/shortcodes.py +++ b/docs/material/overrides/hooks/shortcodes.py @@ -81,9 +81,9 @@ class clr(): # these must be configured to a valid page path; otherwise the script will error # # -PAGE_CHANGELOG ="about/changelog.md" -PAGE_BACKERS = "about/backers.md" -PAGE_CONVENTIONS = "about/conventions.md" +PAGE_CHANGELOG ="resources/changelog.md" +PAGE_BACKERS = "resources/backers.md" +PAGE_CONVENTIONS = "resources/conventions.md" # # # Hooks > on_page_markdown diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index c10a587b..1d96eaf3 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -153,12 +153,12 @@ extra_javascript: - javascripts/tablesort.js nav: - Home: 'home.md' - - About TVApp2: 'about_tvapp2.md' - - About: - - License: 'about/license.md' - - Conventions: 'about/conventions.md' - - Tags: 'about/tags.md' - - Changelog: 'about/changelog.md' + - About: 'about.md' + - Resources: + - License: 'resources/license.md' + - Conventions: 'resources/conventions.md' + - Tags: 'resources/tags.md' + - Changelog: 'resources/changelog.md' plugins: - search: