Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New GUI #105

Closed
wants to merge 159 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
159 commits
Select commit Hold shift + click to select a range
36ac992
Barebones SvelteKit init
Owez Jan 26, 2023
2fce192
Added an API project
Owez Jan 26, 2023
f932f1c
Restructured with yark and yark app
Owez Jan 26, 2023
d0ba4b1
Skeleton yark pages project
Owez Jan 26, 2023
96b1fb3
Installed yark into app and prevented upload
Owez Jan 26, 2023
2385ae1
Project structure in contributing
Owez Jan 26, 2023
c040143
Flow diagram of the Yark internals
Owez Jan 26, 2023
8577eeb
Start page
Owez Jan 27, 2023
3ad489c
Load zoom-in
Owez Jan 27, 2023
3afefcd
Styled loading list
Owez Jan 27, 2023
7aab95a
Drop/browse to load archive
Owez Jan 27, 2023
bab3558
Fixed pojo issues with list
Owez Jan 27, 2023
58eab4c
Added tauri
Owez Jan 27, 2023
12ebce1
Deleted yark-app for now
Owez Jan 27, 2023
8cd33e1
Experimental no-ssr
Owez Jan 27, 2023
63de2a3
Full tauri build support
Owez Jan 27, 2023
95bdefd
Fixed path system using dropzone
Owez Jan 27, 2023
faf95c4
Made dropzone allow drops
Owez Jan 28, 2023
3a4a902
Exclude JetBrains IDEA configuration folder
OriDevTeam Jan 28, 2023
27ab203
Bumped Python version requirements on README
OriDevTeam Jan 28, 2023
b0ebedf
Moved Viewer code into its own package `yark-viewer`
OriDevTeam Jan 28, 2023
9ff21af
Moved CLI code into its own package project `yark-cli`
OriDevTeam Jan 28, 2023
7197479
Moved yark project files into its own project package, `yark`
OriDevTeam Jan 28, 2023
d76173d
Check if an archive exists
Owez Jan 29, 2023
9decda7
Corrected and cleaned some imports, moved and tweaked PyPi versioning
OriDevTeam Jan 30, 2023
65a27d4
Merge branch 'sveltekit' of https://github.com/OriDevTeam/yark into g…
Owez Jan 30, 2023
154abec
Deleted cli files which didn't fit into merge
Owez Jan 30, 2023
7902394
Removed viewer and formatted pyprojects
Owez Jan 30, 2023
6ea6b73
Added some TODOs and added gitignore to cli
Owez Jan 30, 2023
e8de03f
Rewrote structure in CONTRIBUTING
Owez Jan 30, 2023
7c6980c
Renamed pages yark to archive
Owez Jan 30, 2023
a5a08a1
Federated card wip
Owez Jan 30, 2023
41afd20
Project revamp integration into the GUI rewrite (#108)
Owez Jan 30, 2023
48233b2
Merge branch 'sveltekit' of https://github.com/Owez/yark into sveltekit
Owez Jan 30, 2023
fa81536
New cards and connect remote
Owez Jan 30, 2023
7bd5f89
Re-introduced README left out in previous merge
OriDevTeam Jan 30, 2023
20b1d6c
Start of federation integration
Owez Jan 30, 2023
74ef306
More federated, fixed local card
Owez Jan 31, 2023
4cf22a9
Nicer card layout and start on federated
Owez Jan 31, 2023
6e02b25
Added accept store toggle for future federated agreement
Owez Jan 31, 2023
10abbea
Started on internals of connect
Owez Jan 31, 2023
4964ae6
Added name field to federated servers
Owez Jan 31, 2023
f2eb1a3
Finished connect styling
Owez Feb 1, 2023
4209f9a
Finished connect page
Owez Feb 1, 2023
9651887
Start on create page
Owez Feb 1, 2023
2fb2f9e
Create url checking and nicer wording
Owez Feb 1, 2023
06fe4bb
More validation on create
Owez Feb 1, 2023
a0dcc81
Changed placeholder to name
Owez Feb 2, 2023
09e82c4
Open button for archive creation
Owez Feb 2, 2023
d191f18
Better validation
Owez Feb 2, 2023
39325ee
Truncation, better validation for create
Owez Feb 2, 2023
fea496d
Proper async for validate
Owez Feb 2, 2023
b6a0036
Fixed validity checking
Owez Feb 2, 2023
45c64ec
Added null string check for names and paths
Owez Feb 2, 2023
053d965
Fix invalid after putting in correct path
Owez Feb 2, 2023
f69e381
Added local secret for future api access
Owez Feb 2, 2023
79fc070
Added a plain api project
Owez Feb 2, 2023
039729f
Merge remote-tracking branch 'joan/master' into sveltekit
Owez Feb 2, 2023
0bbf74b
Relocked api project
Owez Feb 2, 2023
4bfac08
Added flask instead of aiohttp for the api
Owez Feb 2, 2023
23a5d17
Added archive creation
Owez Feb 2, 2023
fee2311
Installed sqlalchemy and marshmallow for the api
Owez Feb 3, 2023
3f71b84
Started on app shell, added python-dotenv because poetry is bad
Owez Feb 4, 2023
36f7c94
Basic route structure for api
Owez Feb 4, 2023
330126a
Caching and new marshmallow for api
Owez Feb 4, 2023
a977a96
Started on archive get and creation in api
Owez Feb 4, 2023
49092d8
TODO comments
Owez Feb 4, 2023
057973a
Moved schemas, completed get and post
Owez Feb 5, 2023
b2ce2bc
Fixed video serialization in api
Owez Feb 5, 2023
37a384e
Thumbnail serving
Owez Feb 5, 2023
ddf7e32
Proper slugify for thumbnail get
Owez Feb 5, 2023
4f13612
Started to implement api in yark-pages
Owez Feb 5, 2023
3f00883
See previous
Owez Feb 5, 2023
c27ced3
Sorted out slugs and links for pages
Owez Feb 5, 2023
363ec37
Federated connection rewrite
Owez Feb 6, 2023
eb0cde1
Broken archive page
Owez Feb 7, 2023
bb81120
Removed old comment
Owez Feb 7, 2023
5416b00
Simplistic auth for post
Owez Feb 10, 2023
3b87df4
Removed pyproject readme backs
Owez Feb 10, 2023
4f65f82
Added new API readme, removed content from main
Owez Feb 10, 2023
7ab1034
Route information for api
Owez Feb 10, 2023
ca89942
Fixed auth slip is none
Owez Feb 10, 2023
6c61a9f
Total makefile supremacy and new development info
Owez Feb 12, 2023
0ed31a0
Updated contributing project structure
Owez Feb 12, 2023
db2f340
Migration steps for api
Owez Feb 14, 2023
9b30efd
Added /list to archive videos route
Owez Feb 15, 2023
d307d6c
Commit on migration with new backup locker
Owez Feb 15, 2023
daf6855
Fixed thumbnail cache issue
Owez Feb 15, 2023
bee1254
URL-based routing
Owez Feb 15, 2023
9b99780
Updated route documentation for URL-based routes
Owez Feb 15, 2023
d187d03
Specific video getting
Owez Feb 15, 2023
d3f61d0
Updated to new URL-based routes in pages
Owez Feb 15, 2023
285235c
Specific video route docs
Owez Feb 15, 2023
972df2f
Added make formatter, formatted all files
Owez Feb 15, 2023
bbf4dd5
Pyinstaller builds for api
Owez Feb 16, 2023
8466e20
Added phonies to make
Owez Feb 16, 2023
ba352c4
Custom launcher host/port config
Owez Feb 16, 2023
ec9b409
Smarter api building
Owez Feb 16, 2023
a1115e6
Moved out api build from pages make
Owez Feb 16, 2023
6851b43
Started sidecar support
Owez Feb 16, 2023
2138ab0
Target triple for sidecar
Owez Feb 20, 2023
b229063
Port documentation
Owez Feb 20, 2023
fd65786
Fix SSR running on yark-pages SPA (#111)
Suyashtnt Feb 20, 2023
139de21
Merge branch 'sveltekit' of https://github.com/owez/yark into sveltekit
Owez Feb 20, 2023
7e7002b
Segregated dev tooling
Owez Feb 20, 2023
60c9add
Clarified what's used and what's not for development
Owez Feb 20, 2023
0bd768b
Fixed import error
Owez Feb 20, 2023
484e1b4
Added auth todo notices
Owez Feb 20, 2023
dd7d84a
Start of archive page styling
Owez Feb 21, 2023
c25df9d
More video styling, starting to look cool
Owez Feb 22, 2023
974f78e
Removed shadows
Owez Feb 23, 2023
12c4bfa
Sidebar buttons
Owez Feb 23, 2023
5f4f4bc
Shorts on sidebar
Owez Feb 23, 2023
4e74d93
Not found information
Owez Feb 23, 2023
6fb0b96
Added setup guide to contributing
Owez Feb 23, 2023
7bc2258
Finished navbar for now
Owez Feb 24, 2023
9c06823
Start on the details page
Owez Feb 24, 2023
673ae8c
Finished data fetching for video details page
Owez Feb 25, 2023
be2b57d
Back button for videos
Owez Feb 25, 2023
a01dae6
Raw video file api fetching
Owez Feb 25, 2023
7d1ba90
Removed cli and started on videos
Owez Feb 26, 2023
803fea2
Fixed the macos bug by converting all files to mp4's
Owez Feb 26, 2023
f672320
Standardized into just mp4 videos
Owez Feb 26, 2023
d309eb4
Video title
Owez Feb 26, 2023
9afb54d
Video info section
Owez Feb 26, 2023
75aa8e3
Basic textual history report, work in progress
Owez Feb 27, 2023
f41cb7f
Human readable dates
Owez Feb 27, 2023
fa38f0d
Better changelog styling
Owez Feb 28, 2023
a23e04f
Mostly compartmentalized video route
Owez Feb 28, 2023
6cc27e9
Fully separated video into components
Owez Feb 28, 2023
5f28998
Start of graph implementation
Owez Feb 28, 2023
6187021
Fixed ticks issue
Owez Feb 28, 2023
c8fcb8f
Mostly finished graphs
Owez Feb 28, 2023
d8d5f26
Added code viewer and polished styling
Owez Feb 28, 2023
fed8a7a
Polished subtitle margin bottom
Owez Feb 28, 2023
3d47131
Fixed archive creation
Owez Feb 28, 2023
b3b7770
Reverted just mp4 conversion
Owez Mar 1, 2023
c68385d
Started to test out sidecar
Owez Mar 1, 2023
a9aaf28
Updated config to try to fix
Owez Mar 1, 2023
1018fbd
Used cutting edge yt-dlp
Owez Mar 1, 2023
1674af2
Started to implement admin secret gen
Owez Mar 2, 2023
fe9b734
Proper API auth
Owez Mar 2, 2023
b961252
Dev mode for secrets
Owez Mar 2, 2023
1636bcb
Improved importing
Owez Mar 2, 2023
0ccd591
Set the slug in load to the filename of path
Owez Mar 2, 2023
86c2a7f
Selecting folder now automatically inserts slug
Owez Mar 2, 2023
63e982f
Start on video notes
Owez Mar 2, 2023
d1a6598
Active sidebar and start on note frontend
Owez Mar 3, 2023
573579f
Fixed auth, start on dashboard page
Owez Mar 5, 2023
8936951
Dashboard on sidebar, updated yt-dlp
Owez Mar 5, 2023
189721e
Better note styling
Owez Mar 6, 2023
1c199e4
Start on note api logic
Owez Mar 6, 2023
dd50b36
Note creation
Owez Mar 6, 2023
1140491
Start of note deletion
Owez Mar 6, 2023
960b5d9
Completed note deletion
Owez Mar 8, 2023
b1af911
Completed note deletion
Owez Mar 8, 2023
f12e2a7
Note editing work in progress
Owez Mar 8, 2023
a904630
Finished note editing
Owez Mar 15, 2023
31b4da5
Tooltips reimplemented
Owez Mar 15, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 14 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,16 @@
.vscode
# Editors/IDEs
.vscode/
.idea/

# Yark archives
demo/
foobar/
**/.DS*
build/
dist/
__pycache__/

# NixOS
/.direnv

# env
.env

# MacOS
.DS*
50 changes: 49 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,14 @@
- [Don't know coding?](#dont-know-coding)
- [Want to code?](#want-to-code)
- [Internal Information](#internal-information)
- [Setting up development](#setting-up-development)
- [Ideology](#ideology)
- [Users](#users)
- [KISS](#kiss)
- [Dependencies](#dependencies)
- [Structure](#structure)
- [Conventions](#conventions)
- [Ports](#ports)
- [Branches](#branches)
- [To/from archives](#tofrom-archives)

Expand All @@ -32,6 +35,27 @@ Please make sure you describe the change so any developer could understand it

This section goes through some of the more complex internal information which will be useful if your making changes inside of Yark in a PR.

## Setting up development

Setting up a full development enviroment for Yark is made easy thanks to Makefiles. To setup your development enviroment, first make sure these three packages are installed:

- Make ([Tutorial](https://www.gnu.org/software/make/#download); `apt install make`)
- NPM ([Tutorial](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm/))
- Python 3.11 ([Tutorial](https://www.python.org/downloads/); `apt install python3.11`)
- Poetry ([Tutorial](https://python-poetry.org/docs/#installation); `pip3.11 install poetry`)

If you install what you don't have quickly, it should take about 5-10 mins. You now have everything you need to develop except for some setup for the API; please read it's guide. Once that's done, you can start the programs you want to develop for:

- To develop the API, do the [setup guide](./yark-api/README.md), then: `cd yark-api && make dev`
- To develop the GUI, run the API and then `cd yark-pages && make dev`
- To develop the library you don't have to run anything!

Basically the top-level directory has a Makefile in it, and each specific project also has it's own specific Makefile. These files install all dependencies for you and run a nice development server if `dev` is available for you to use.

This is the section to link new developers to so that they can setup their machine.

[^extra]: You might need to run `cd yark-api && make build` beforehand to make sure an API build is ready

## Ideology

### Users
Expand All @@ -52,8 +76,32 @@ Dependencies inside of the actual Yark code are a bit of a different story. If a

[^depsec]: Every dependency is a new [attack vector](https://en.wikipedia.org/wiki/Attack_vector) waiting to be exploited

## Structure

Yark is separated into three areas of concern:

1. The core `yark` library which contains the underlying archiving logic
- *This needs Python + Poetry to develop on*
2. The `yark-pages` project which contains the typical GUI users use
- *This needs NPM + Python + Poetry to develop on*
3. The `yark-api` project which contains the behind-the-scenes API
- *This needs Python + Poetry to develop on*
4. The `yark-cli` project which contains an old CLI interface
- *This needs Python + Poetry to develop on*

When Yark is built into the app, it uses the `yark` library so all the logic works and builds the webpages from `yark-pages` for the [SvelteKit](https://kit.svelte.dev/)-based GUI. The app itself contains an API which these webpages connect to.

## Conventions

### Ports

Yark uses some pre-defined ports that we assume certain things to *probably* be running on. Everything ideally in development and production should be ran on the following ports:

- GUI development server: `5173`[^guidev]
- API: `7666`

[^guidev]: This is SvelteKit's default port, this isn't used in production so it's fine

### Branches

The convention for branches/tags are:
Expand Down Expand Up @@ -93,4 +141,4 @@ Whereas the `_b` and `_ib` ones would be used for a JSON child object which woul

These two are used because the full objects (the first example) is easier to implement and are more self-contained, but we often need to select items by their ID straight from their parents.

This system will be changed to dataclasses soon because it's not a good way to this. But for now this is what the archival conversion system looks like.
This system will be changed to dataclasses soon (see [#107](https://github.com/Owez/yark/pull/107)) because it's not a good way to this. But for now this is what the archival conversion system looks like.
4 changes: 4 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
fmt:
$(MAKE) -C yark fmt
$(MAKE) -C yark-api fmt
$(MAKE) -C yark-pages fmt
56 changes: 4 additions & 52 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,66 +1,18 @@
<!-- TODO: logo; #2 <https://github.com/Owez/yark/issues/2> -->
<!-- TODO: add when logos done; #2 <https://github.com/Owez/yark/issues/2>: <h1 align="center">yark</h1> -->

# Yark

YouTube archiving made simple.

[Installation](#installation) · [Managing your Archive](#managing-your-archive) · [Viewing your Archive](#viewing-your-archive)

Yark lets you continuously archive all videos and metadata for YouTube channels and playlists. You can also view your archive as a seamless offline website ✨

## Installation

To install Yark, simply download [Python 3.9+](https://www.python.org/downloads/) and [FFmpeg](https://ffmpeg.org/) (optional), then run the following:

```shell
$ pip3 install yark
```

## Managing your Archive

Once you've installed Yark, think of a name for your archive (e.g., foobar) and copy the channel/playlist url:

```shell
$ yark new foobar https://www.youtube.com/channel/UCSMdm6bUYIBN0KfS2CVuEPA
```

Now that you've created the archive, you can tell Yark to download all videos and metadata using the refresh command:

```shell
$ yark refresh foobar
```

Once everything has been downloaded, Yark will automatically give you a status report of what's changed since the last refresh:

<p><img src="examples/image/../images/cli_dark.png" alt="Report Demo" title="Report Demo" width="600" /></p>

## Viewing your Archive

Viewing you archive is easy, just type `view` with your archives name:

```shell
$ yark view foobar
```

This will pop up an offline website in your browser letting you watch all videos 🚀

<p><img src="https://raw.githubusercontent.com/Owez/yark/master/examples/images/viewer_light.png" alt="Viewer Demo" title="Viewer Demo" width=650 /></p>

Under each video is a rich history report filled with timelines and graphs, as well as a noting feature which lets you add timestamped and permalinked comments 👐

<p><img src="https://raw.githubusercontent.com/Owez/yark/master/examples/images/viewer_stats_light.png" alt="Viewer Demo – Stats" title="Viewer Demo – Stats" width=650 /></p>

Light and dark modes are both available and automatically apply based on the system's theme.
Yark lets you continuously archive all videos and metadata for YouTube channels and playlists. You can also view your archive as a seamless offline website ✨

## Roadmap
TODO: new installation steps, also link to self-hosting

Here's the general roadmap for Yark going a few months into the future for the upcoming features and changes:
## Showcase

1. Yark 1.3 (Current): [Comments](https://github.com/Owez/yark/issues/50), [viewer tabs](https://github.com/Owez/yark/issues/30), [playlists](https://github.com/Owez/yark/issues/27), [viewed](https://github.com/Owez/yark/issues/51)
2. Yark 1.4 (Expected ??): [Run command](https://github.com/Owez/yark/issues/83), [better homepage](https://github.com/Owez/yark/issues/65), [more graphs](https://github.com/Owez/yark/issues/74), [translations](https://github.com/Owez/yark/issues/73)
3. Yark 1.5 (Expected ??): Full [GUI control](https://github.com/Owez/yark/issues/86) for archives and viewer polish/rewrite
4. Onwards: Not sure yet, [create an issue](https://github.com/Owez/yark/issues/new) to help out :)
TODO: new viewer showcase

## Details

Expand Down
1 change: 1 addition & 0 deletions examples/Flow.drawio
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<mxfile host="app.diagrams.net" modified="2023-01-25T11:05:36.302Z" agent="5.0 (Macintosh)" etag="JIiy6rqfE_XDCuMq9ATC" version="20.8.11" type="device"><diagram name="Page-1" id="tkwtmS5oVSkWOoKScORv">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</diagram></mxfile>
Binary file removed examples/images/cli_dark.png
Binary file not shown.
Binary file removed examples/images/viewer_light.png
Binary file not shown.
Binary file removed examples/images/viewer_stats_light.png
Binary file not shown.
40 changes: 0 additions & 40 deletions pyproject.toml

This file was deleted.

160 changes: 160 additions & 0 deletions yark-api/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,160 @@
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
.pybuilder/
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# .python-version

# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock

# poetry
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
#poetry.lock

# pdm
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
#pdm.lock
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
# in version control.
# https://pdm.fming.dev/#use-with-ide
.pdm.toml

# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
__pypackages__/

# Celery stuff
celerybeat-schedule
celerybeat.pid

# SageMath parsed files
*.sage.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Pyre type checker
.pyre/

# pytype static type analyzer
.pytype/

# Cython debug symbols
cython_debug/

# PyCharm
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/
Loading