mirror of
https://gitlab.com/liyaowhen/youtubecollector-git.git
synced 2026-09-30 17:02:59 +00:00
551 lines
53 KiB
Plaintext
551 lines
53 KiB
Plaintext
|
||
|
||
|
||
|
||
|
||
<!DOCTYPE html>
|
||
<html class="gl-light ui-neutral with-top-bar with-header " lang="en">
|
||
<head prefix="og: http://ogp.me/ns#">
|
||
<meta charset="utf-8">
|
||
<meta content="IE=edge" http-equiv="X-UA-Compatible">
|
||
<meta content="width=device-width, initial-scale=1" name="viewport">
|
||
<title>liyaowhen / Youtube Collector - Youtube Multimedia Downloader and Player Utility · GitLab</title>
|
||
<script nonce="fZt1jQSlgqfL5NS91YkgAg==">
|
||
//<![CDATA[
|
||
window.gon={};gon.features={"removeMonitorMetrics":true,"explainCodeChat":false,"issueEmailParticipants":true,"editBranchRules":false,"pageSpecificStyles":false,"workItems":true,"workItemsBeta":false,"workItemsAlpha":false,"namespaceLevelWorkItems":false,"aiSettingsVueProject":false};gon.licensed_features={"remoteDevelopment":true};
|
||
//]]>
|
||
</script>
|
||
|
||
|
||
<script nonce="fZt1jQSlgqfL5NS91YkgAg==">
|
||
//<![CDATA[
|
||
var gl = window.gl || {};
|
||
gl.startup_calls = {"/liyaowhen/song/-/refs/master/logs_tree/?format=json\u0026offset=0\u0026ref_type=heads":{},"/liyaowhen/song/-/blob/master/README.md?format=json\u0026viewer=rich":{}};
|
||
gl.startup_graphql_calls = [{"query":"query pathLastCommit($projectPath: ID!, $path: String, $ref: String!, $refType: RefType) {\n project(fullPath: $projectPath) {\n __typename\n id\n repository {\n __typename\n paginatedTree(path: $path, ref: $ref, refType: $refType) {\n __typename\n nodes {\n __typename\n lastCommit {\n __typename\n id\n sha\n title\n titleHtml\n descriptionHtml\n message\n webPath\n authoredDate\n authorName\n authorGravatar\n author {\n __typename\n id\n name\n avatarUrl\n webPath\n }\n signature {\n __typename\n ... on GpgSignature {\n gpgKeyPrimaryKeyid\n verificationStatus\n }\n ... on X509Signature {\n verificationStatus\n x509Certificate {\n id\n subject\n subjectKeyIdentifier\n x509Issuer {\n id\n subject\n subjectKeyIdentifier\n }\n }\n }\n ... on SshSignature {\n verificationStatus\n keyFingerprintSha256\n }\n }\n pipelines(ref: $ref, first: 1) {\n __typename\n edges {\n __typename\n node {\n __typename\n id\n detailedStatus {\n __typename\n id\n detailsPath\n icon\n tooltip\n text\n group\n }\n }\n }\n }\n }\n }\n }\n }\n }\n}\n","variables":{"projectPath":"liyaowhen/song","ref":"master","path":""}}];
|
||
|
||
if (gl.startup_calls && window.fetch) {
|
||
Object.keys(gl.startup_calls).forEach(apiCall => {
|
||
gl.startup_calls[apiCall] = {
|
||
fetchCall: fetch(apiCall, {
|
||
// Emulate XHR for Rails AJAX request checks
|
||
headers: {
|
||
'X-Requested-With': 'XMLHttpRequest'
|
||
},
|
||
// fetch won’t send cookies in older browsers, unless you set the credentials init option.
|
||
// We set to `same-origin` which is default value in modern browsers.
|
||
// See https://github.com/whatwg/fetch/pull/585 for more information.
|
||
credentials: 'same-origin'
|
||
})
|
||
};
|
||
});
|
||
}
|
||
if (gl.startup_graphql_calls && window.fetch) {
|
||
const headers = {"X-CSRF-Token":"0IrJUtmQHxID9NzaEHncdHmTc4xPQfegF8vUa60TG1alRizrY6S4Qnq8cD1kQJDZ6g3XDkEG8HCIpblhOOYSyw","x-gitlab-feature-category":"groups_and_projects"};
|
||
const url = `https://gitlab.com/api/graphql`
|
||
|
||
const opts = {
|
||
method: "POST",
|
||
headers: {
|
||
"Content-Type": "application/json",
|
||
...headers,
|
||
}
|
||
};
|
||
|
||
gl.startup_graphql_calls = gl.startup_graphql_calls.map(call => ({
|
||
...call,
|
||
fetchCall: fetch(url, {
|
||
...opts,
|
||
credentials: 'same-origin',
|
||
body: JSON.stringify(call)
|
||
})
|
||
}))
|
||
}
|
||
|
||
|
||
//]]>
|
||
</script>
|
||
|
||
|
||
|
||
<link rel="stylesheet" href="/assets/application-a472b69c5863a8f437af892d02cb5f392bdebd1ede7615f92a790e5d80d21830.css" />
|
||
<link rel="stylesheet" href="/assets/page_bundles/project-ae8d77068744c6462915a411c22add9bec8913b004cc5f255fe041e8bc15f7d2.css" /><link rel="stylesheet" href="/assets/page_bundles/tree-cbd647503ee10871208725ec59e7d967eb696a14f20623ad870223f433739228.css" /><link rel="stylesheet" href="/assets/page_bundles/commit_description-065c52911d70ac846b47cc0f64e7a6e0d3daadd0cd34f5788259712569dc0dc3.css" /><link rel="stylesheet" href="/assets/page_bundles/projects-4c7daed4fc9d7d3469c90471add3541413f6a84a10b274bc13f6f54ef7a5f05d.css" /><link rel="stylesheet" href="/assets/page_bundles/work_items-1a645abe79ac6548485568d8d034b67a35f8417ffba26e5da4b581e79dff7ba7.css" />
|
||
<link rel="stylesheet" href="/assets/application_utilities-be9c243fb45936837f5df8f56b584844abb57127eb153b72a5f74f5fdfcf6388.css" />
|
||
<link rel="stylesheet" href="/assets/tailwind-9100cfc11a75d8913fa847cab83f680095dadb8c7eb864eeee47411f08a194bd.css" />
|
||
|
||
|
||
<link rel="stylesheet" href="/assets/fonts-fae5d3f79948bd85f18b6513a025f863b19636e85b09a1492907eb4b1bb0557b.css" />
|
||
<link rel="stylesheet" href="/assets/highlight/themes/white-1285cce1be88ce2ec9caaa6f50ee58d75ce1412f0c5b019194f2477139509e18.css" />
|
||
|
||
<script src="/assets/webpack/runtime.4abaf267.bundle.js" defer="defer" nonce="fZt1jQSlgqfL5NS91YkgAg=="></script>
|
||
<script src="/assets/webpack/main.f5e350fb.chunk.js" defer="defer" nonce="fZt1jQSlgqfL5NS91YkgAg=="></script>
|
||
<script src="/assets/webpack/tracker.347ba399.chunk.js" defer="defer" nonce="fZt1jQSlgqfL5NS91YkgAg=="></script>
|
||
<script src="/assets/webpack/analytics.774d1105.chunk.js" defer="defer" nonce="fZt1jQSlgqfL5NS91YkgAg=="></script>
|
||
<script nonce="fZt1jQSlgqfL5NS91YkgAg==">
|
||
//<![CDATA[
|
||
window.snowplowOptions = {"namespace":"gl","hostname":"snowplow.trx.gitlab.net","cookieDomain":".gitlab.com","appId":"gitlab","formTracking":true,"linkClickTracking":true}
|
||
|
||
gl = window.gl || {};
|
||
gl.snowplowStandardContext = {"schema":"iglu:com.gitlab/gitlab_standard/jsonschema/1-0-10","data":{"environment":"production","source":"gitlab-rails","plan":"free","extra":{},"user_id":null,"is_gitlab_team_member":null,"namespace_id":57473432,"project_id":59940538,"feature_enabled_by_namespace_ids":null,"context_generated_at":"2024-08-11T01:19:37.279Z"}}
|
||
gl.snowplowPseudonymizedPageUrl = "https://gitlab.com/namespace57473432/project59940538";
|
||
gl.maskedDefaultReferrerUrl = null;
|
||
gl.ga4MeasurementId = 'G-ENFH3X7M5Y';
|
||
|
||
|
||
//]]>
|
||
</script>
|
||
<link rel="preload" href="/assets/application_utilities-be9c243fb45936837f5df8f56b584844abb57127eb153b72a5f74f5fdfcf6388.css" as="style" type="text/css" nonce="X1si9TiVIHbuOYzuqdHZ4g==">
|
||
<link rel="preload" href="/assets/application-a472b69c5863a8f437af892d02cb5f392bdebd1ede7615f92a790e5d80d21830.css" as="style" type="text/css" nonce="X1si9TiVIHbuOYzuqdHZ4g==">
|
||
<link rel="preload" href="/assets/highlight/themes/white-1285cce1be88ce2ec9caaa6f50ee58d75ce1412f0c5b019194f2477139509e18.css" as="style" type="text/css" nonce="X1si9TiVIHbuOYzuqdHZ4g==">
|
||
<link crossorigin="" href="https://snowplow.trx.gitlab.net" rel="preconnect">
|
||
<link as="font" crossorigin="" href="/assets/gitlab-sans/GitLabSans-1e0a5107ea3bbd4be93e8ad2c503467e43166cd37e4293570b490e0812ede98b.woff2" rel="preload">
|
||
<link as="font" crossorigin="" href="/assets/gitlab-sans/GitLabSans-Italic-38eaf1a569a54ab28c58b92a4a8de3afb96b6ebc250cf372003a7b38151848cc.woff2" rel="preload">
|
||
<link as="font" crossorigin="" href="/assets/gitlab-mono/GitLabMono-08d2c5e8ff8fd3d2d6ec55bc7713380f8981c35f9d2df14e12b835464d6e8f23.woff2" rel="preload">
|
||
<link as="font" crossorigin="" href="/assets/gitlab-mono/GitLabMono-Italic-38e58d8df29485a20c550da1d0111e2c2169f6dcbcf894f2cd3afbdd97bcc588.woff2" rel="preload">
|
||
<link rel="preload" href="/assets/fonts-fae5d3f79948bd85f18b6513a025f863b19636e85b09a1492907eb4b1bb0557b.css" as="style" type="text/css" nonce="X1si9TiVIHbuOYzuqdHZ4g==">
|
||
|
||
|
||
|
||
<script src="/assets/webpack/sentry.1d88e283.chunk.js" defer="defer" nonce="fZt1jQSlgqfL5NS91YkgAg=="></script>
|
||
|
||
<script src="/assets/webpack/9.4ea29b63.chunk.js" defer="defer" nonce="fZt1jQSlgqfL5NS91YkgAg=="></script>
|
||
<script src="/assets/webpack/12.a8140e09.chunk.js" defer="defer" nonce="fZt1jQSlgqfL5NS91YkgAg=="></script>
|
||
<script src="/assets/webpack/14.6ca02f77.chunk.js" defer="defer" nonce="fZt1jQSlgqfL5NS91YkgAg=="></script>
|
||
<script src="/assets/webpack/commons-pages.groups.analytics.dashboards-pages.groups.analytics.dashboards.value_streams_dashboard--844b062c.6f472bab.chunk.js" defer="defer" nonce="fZt1jQSlgqfL5NS91YkgAg=="></script>
|
||
<script src="/assets/webpack/commons-pages.groups.new-pages.import.gitlab_projects.new-pages.import.manifest.new-pages.projects.n-44c6c18e.cb415ebe.chunk.js" defer="defer" nonce="fZt1jQSlgqfL5NS91YkgAg=="></script>
|
||
<script src="/assets/webpack/commons-pages.search.show-super_sidebar.76e57400.chunk.js" defer="defer" nonce="fZt1jQSlgqfL5NS91YkgAg=="></script>
|
||
<script src="/assets/webpack/super_sidebar.d65fa911.chunk.js" defer="defer" nonce="fZt1jQSlgqfL5NS91YkgAg=="></script>
|
||
<script src="/assets/webpack/commons-pages.projects-pages.projects.activity-pages.projects.alert_management.details-pages.project-8c81ec4c.0f82a2bf.chunk.js" defer="defer" nonce="fZt1jQSlgqfL5NS91YkgAg=="></script>
|
||
<script src="/assets/webpack/commons-pages.groups.security.policies.edit-pages.groups.security.policies.new-pages.projects.blob.s-f60e2da3.b214d622.chunk.js" defer="defer" nonce="fZt1jQSlgqfL5NS91YkgAg=="></script>
|
||
<script src="/assets/webpack/commons-pages.projects.blob.show-pages.projects.security.vulnerabilities.show-pages.projects.show-pa-736464ce.46700034.chunk.js" defer="defer" nonce="fZt1jQSlgqfL5NS91YkgAg=="></script>
|
||
<script src="/assets/webpack/commons-pages.projects.blob.show-pages.projects.show-pages.projects.snippets.show-pages.projects.tre-c684fcf6.56096c26.chunk.js" defer="defer" nonce="fZt1jQSlgqfL5NS91YkgAg=="></script>
|
||
<script src="/assets/webpack/commons-pages.projects.blob.show-pages.projects.security.vulnerabilities.show-pages.projects.show-pa-5ff3b950.25233901.chunk.js" defer="defer" nonce="fZt1jQSlgqfL5NS91YkgAg=="></script>
|
||
<script src="/assets/webpack/commons-pages.projects.blob.show-pages.projects.show-pages.projects.tree.show.b01871f6.chunk.js" defer="defer" nonce="fZt1jQSlgqfL5NS91YkgAg=="></script>
|
||
<script src="/assets/webpack/commons-pages.groups.show-pages.projects.home_panel-pages.projects.show.5dee6cfc.chunk.js" defer="defer" nonce="fZt1jQSlgqfL5NS91YkgAg=="></script>
|
||
<script src="/assets/webpack/commons-pages.projects.show-pages.projects.tree.show.f5f0c833.chunk.js" defer="defer" nonce="fZt1jQSlgqfL5NS91YkgAg=="></script>
|
||
<script src="/assets/webpack/commons-pages.projects.home_panel-pages.projects.show.08e533d0.chunk.js" defer="defer" nonce="fZt1jQSlgqfL5NS91YkgAg=="></script>
|
||
<script src="/assets/webpack/pages.projects.show.dbb7e140.chunk.js" defer="defer" nonce="fZt1jQSlgqfL5NS91YkgAg=="></script>
|
||
|
||
<meta content="object" property="og:type">
|
||
<meta content="GitLab" property="og:site_name">
|
||
<meta content="liyaowhen / Youtube Collector - Youtube Multimedia Downloader and Player Utility · GitLab" property="og:title">
|
||
<meta content="A youtube multimedia downloader and manager. All contributions are welcome. Made in Gtk4 with Vala. This program enables you to download youtube content and put it in containers..." property="og:description">
|
||
<meta content="https://gitlab.com/uploads/-/system/project/avatar/59940538/logo.png" property="og:image">
|
||
<meta content="64" property="og:image:width">
|
||
<meta content="64" property="og:image:height">
|
||
<meta content="https://gitlab.com/liyaowhen/song" property="og:url">
|
||
<meta content="summary" property="twitter:card">
|
||
<meta content="liyaowhen / Youtube Collector - Youtube Multimedia Downloader and Player Utility · GitLab" property="twitter:title">
|
||
<meta content="A youtube multimedia downloader and manager. All contributions are welcome. Made in Gtk4 with Vala. This program enables you to download youtube content and put it in containers..." property="twitter:description">
|
||
<meta content="https://gitlab.com/uploads/-/system/project/avatar/59940538/logo.png" property="twitter:image">
|
||
|
||
<meta name="csrf-param" content="authenticity_token" />
|
||
<meta name="csrf-token" content="BQHL0TOwUu4jTiNMIMaOiCvMiMxM6OaHucfTtkhD8fZwzS5oiYT1vloGj6tU_8IluFIsTkKv4Vcmqb683bb4aw" />
|
||
<meta name="csp-nonce" content="fZt1jQSlgqfL5NS91YkgAg==" />
|
||
<meta name="action-cable-url" content="/-/cable" />
|
||
<link href="/-/manifest.json" rel="manifest">
|
||
<link rel="icon" type="image/png" href="/assets/favicon-72a2cad5025aa931d6ea56c3201d1f18e68a8cd39788c7c80d5b2b82aa5143ef.png" id="favicon" data-original-href="/assets/favicon-72a2cad5025aa931d6ea56c3201d1f18e68a8cd39788c7c80d5b2b82aa5143ef.png" />
|
||
<link rel="apple-touch-icon" type="image/x-icon" href="/assets/apple-touch-icon-b049d4bc0dd9626f31db825d61880737befc7835982586d015bded10b4435460.png" />
|
||
<link href="/search/opensearch.xml" rel="search" title="Search GitLab" type="application/opensearchdescription+xml">
|
||
<link rel="alternate" type="application/atom+xml" title="Youtube Collector - Youtube Multimedia Downloader and Player Utility activity" href="/liyaowhen/song.atom" />
|
||
|
||
|
||
|
||
|
||
<meta content="A youtube multimedia downloader and manager. All contributions are welcome. Made in Gtk4 with Vala. This program enables you to download youtube content and put it in containers..." name="description">
|
||
<meta content="#ececef" name="theme-color">
|
||
</head>
|
||
|
||
<body class="tab-width-8 gl-browser-generic gl-platform-other" data-find-file="/liyaowhen/song/-/find_file/master?ref_type=heads" data-namespace-id="57473432" data-page="projects:show" data-page-type-id="song" data-project="song" data-project-full-path="liyaowhen/song" data-project-id="59940538">
|
||
|
||
<script nonce="fZt1jQSlgqfL5NS91YkgAg==">
|
||
//<![CDATA[
|
||
gl = window.gl || {};
|
||
gl.client = {"isGeneric":true,"isOther":true};
|
||
|
||
|
||
//]]>
|
||
</script>
|
||
|
||
|
||
<header class="header-logged-out" data-testid="navbar">
|
||
<a class="gl-sr-only gl-accessibility" href="#content-body">Skip to content</a>
|
||
<div class="container-fluid">
|
||
<nav aria-label="Explore GitLab" class="header-logged-out-nav gl-display-flex gl-gap-3 gl-justify-content-space-between">
|
||
<div class="gl-display-flex gl-align-items-center gl-gap-1">
|
||
<span class="gl-sr-only">GitLab</span>
|
||
<a title="Homepage" id="logo" class="header-logged-out-logo has-tooltip" aria-label="Homepage" data-track-label="main_navigation" data-track-action="click_gitlab_logo_link" data-track-property="navigation_top" href="/"><svg aria-hidden="true" role="img" class="tanuki-logo" width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||
<path class="tanuki-shape tanuki" d="m24.507 9.5-.034-.09L21.082.562a.896.896 0 0 0-1.694.091l-2.29 7.01H7.825L5.535.653a.898.898 0 0 0-1.694-.09L.451 9.411.416 9.5a6.297 6.297 0 0 0 2.09 7.278l.012.01.03.022 5.16 3.867 2.56 1.935 1.554 1.176a1.051 1.051 0 0 0 1.268 0l1.555-1.176 2.56-1.935 5.197-3.89.014-.01A6.297 6.297 0 0 0 24.507 9.5Z"
|
||
fill="#E24329"/>
|
||
<path class="tanuki-shape right-cheek" d="m24.507 9.5-.034-.09a11.44 11.44 0 0 0-4.56 2.051l-7.447 5.632 4.742 3.584 5.197-3.89.014-.01A6.297 6.297 0 0 0 24.507 9.5Z"
|
||
fill="#FC6D26"/>
|
||
<path class="tanuki-shape chin" d="m7.707 20.677 2.56 1.935 1.555 1.176a1.051 1.051 0 0 0 1.268 0l1.555-1.176 2.56-1.935-4.743-3.584-4.755 3.584Z"
|
||
fill="#FCA326"/>
|
||
<path class="tanuki-shape left-cheek" d="M5.01 11.461a11.43 11.43 0 0 0-4.56-2.05L.416 9.5a6.297 6.297 0 0 0 2.09 7.278l.012.01.03.022 5.16 3.867 4.745-3.584-7.444-5.632Z"
|
||
fill="#FC6D26"/>
|
||
</svg>
|
||
|
||
</a></div>
|
||
<ul class="gl-list-none gl-p-0 gl-m-0 gl-display-flex gl-gap-3 gl-align-items-center gl-flex-grow-1">
|
||
<li class="header-logged-out-nav-item header-logged-out-dropdown md:gl-hidden">
|
||
<button class="header-logged-out-toggle" data-toggle="dropdown" type="button">
|
||
<span class="gl-sr-only">
|
||
Menu
|
||
</span>
|
||
<svg class="s16" data-testid="hamburger-icon"><use href="/assets/icons-454317f5123bdb93dcb695c6092c458fb0ec6c862d0a56857aefa1c73469f743.svg#hamburger"></use></svg>
|
||
</button>
|
||
<div class="dropdown-menu">
|
||
<ul>
|
||
<li>
|
||
<a href="https://about.gitlab.com/why-gitlab">Why GitLab
|
||
</a></li>
|
||
<li>
|
||
<a href="https://about.gitlab.com/pricing">Pricing
|
||
</a></li>
|
||
<li>
|
||
<a href="https://about.gitlab.com/sales">Contact Sales
|
||
</a></li>
|
||
<li>
|
||
<a href="/explore">Explore</a>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
</li>
|
||
<li class="header-logged-out-nav-item gl-hidden md:gl-inline-block">
|
||
<a href="https://about.gitlab.com/why-gitlab">Why GitLab
|
||
</a></li>
|
||
<li class="header-logged-out-nav-item gl-hidden md:gl-inline-block">
|
||
<a href="https://about.gitlab.com/pricing">Pricing
|
||
</a></li>
|
||
<li class="header-logged-out-nav-item gl-hidden gl-inline-block">
|
||
<a href="https://about.gitlab.com/sales">Contact Sales
|
||
</a></li>
|
||
<li class="header-logged-out-nav-item gl-hidden md:gl-inline-block">
|
||
<a class="" href="/explore">Explore</a>
|
||
</li>
|
||
</ul>
|
||
<ul class="gl-list-none gl-p-0 gl-m-0 gl-display-flex gl-gap-3 gl-align-items-center gl-justify-content-end">
|
||
<li class="header-logged-out-nav-item">
|
||
<a href="/users/sign_in?redirect_to_referer=yes">Sign in</a>
|
||
</li>
|
||
<li class="header-logged-out-nav-item">
|
||
<a class="gl-button btn btn-md btn-confirm " href="/users/sign_up"><span class="gl-button-text">
|
||
Get free trial
|
||
|
||
</span>
|
||
|
||
</a></li>
|
||
</ul>
|
||
</nav>
|
||
</div>
|
||
</header>
|
||
|
||
<div class="layout-page page-with-super-sidebar">
|
||
<aside class="js-super-sidebar super-sidebar super-sidebar-loading" data-command-palette="{"project_files_url":"/liyaowhen/song/-/files/master?format=json","project_blob_url":"/liyaowhen/song/-/blob/master"}" data-force-desktop-expanded-sidebar="" data-root-path="/" data-sidebar="{"is_logged_in":false,"context_switcher_links":[{"title":"Explore","link":"/explore","icon":"compass"}],"current_menu_items":[{"id":"project_overview","title":"Youtube Collector - Youtube Multimedia Downloader and Player Utility","icon":null,"avatar":"/uploads/-/system/project/avatar/59940538/logo.png","entity_id":59940538,"link":"/liyaowhen/song","pill_count":null,"link_classes":"shortcuts-project","is_active":true},{"id":"manage_menu","title":"Manage","icon":"users","avatar":null,"avatar_shape":"rect","entity_id":null,"link":"/liyaowhen/song/activity","is_active":false,"pill_count":null,"items":[{"id":"activity","title":"Activity","icon":null,"avatar":null,"entity_id":null,"link":"/liyaowhen/song/activity","pill_count":null,"link_classes":"shortcuts-project-activity","is_active":false},{"id":"members","title":"Members","icon":null,"avatar":null,"entity_id":null,"link":"/liyaowhen/song/-/project_members","pill_count":null,"link_classes":null,"is_active":false},{"id":"labels","title":"Labels","icon":null,"avatar":null,"entity_id":null,"link":"/liyaowhen/song/-/labels","pill_count":null,"link_classes":null,"is_active":false}],"separated":false},{"id":"plan_menu","title":"Plan","icon":"planning","avatar":null,"avatar_shape":"rect","entity_id":null,"link":"/liyaowhen/song/-/issues","is_active":false,"pill_count":null,"items":[{"id":"project_issue_list","title":"Issues","icon":null,"avatar":null,"entity_id":null,"link":"/liyaowhen/song/-/issues","pill_count":"0","link_classes":"shortcuts-issues has-sub-items","is_active":false},{"id":"boards","title":"Issue boards","icon":null,"avatar":null,"entity_id":null,"link":"/liyaowhen/song/-/boards","pill_count":null,"link_classes":"shortcuts-issue-boards","is_active":false},{"id":"milestones","title":"Milestones","icon":null,"avatar":null,"entity_id":null,"link":"/liyaowhen/song/-/milestones","pill_count":null,"link_classes":null,"is_active":false},{"id":"project_wiki","title":"Wiki","icon":null,"avatar":null,"entity_id":null,"link":"/liyaowhen/song/-/wikis/home","pill_count":null,"link_classes":"shortcuts-wiki","is_active":false}],"separated":false},{"id":"code_menu","title":"Code","icon":"code","avatar":null,"avatar_shape":"rect","entity_id":null,"link":"/liyaowhen/song/-/merge_requests","is_active":false,"pill_count":null,"items":[{"id":"project_merge_request_list","title":"Merge requests","icon":null,"avatar":null,"entity_id":null,"link":"/liyaowhen/song/-/merge_requests","pill_count":"0","link_classes":"shortcuts-merge_requests","is_active":false},{"id":"files","title":"Repository","icon":null,"avatar":null,"entity_id":null,"link":"/liyaowhen/song/-/tree/master","pill_count":null,"link_classes":"shortcuts-tree","is_active":false},{"id":"branches","title":"Branches","icon":null,"avatar":null,"entity_id":null,"link":"/liyaowhen/song/-/branches","pill_count":null,"link_classes":null,"is_active":false},{"id":"commits","title":"Commits","icon":null,"avatar":null,"entity_id":null,"link":"/liyaowhen/song/-/commits/master?ref_type=heads","pill_count":null,"link_classes":"shortcuts-commits","is_active":false},{"id":"tags","title":"Tags","icon":null,"avatar":null,"entity_id":null,"link":"/liyaowhen/song/-/tags","pill_count":null,"link_classes":null,"is_active":false},{"id":"graphs","title":"Repository graph","icon":null,"avatar":null,"entity_id":null,"link":"/liyaowhen/song/-/network/master?ref_type=heads","pill_count":null,"link_classes":"shortcuts-network","is_active":false},{"id":"compare","title":"Compare revisions","icon":null,"avatar":null,"entity_id":null,"link":"/liyaowhen/song/-/compare?from=master\u0026to=master","pill_count":null,"link_classes":null,"is_active":false},{"id":"project_snippets","title":"Snippets","icon":null,"avatar":null,"entity_id":null,"link":"/liyaowhen/song/-/snippets","pill_count":null,"link_classes":"shortcuts-snippets","is_active":false}],"separated":false},{"id":"build_menu","title":"Build","icon":"rocket","avatar":null,"avatar_shape":"rect","entity_id":null,"link":"/liyaowhen/song/-/pipelines","is_active":false,"pill_count":null,"items":[{"id":"pipelines","title":"Pipelines","icon":null,"avatar":null,"entity_id":null,"link":"/liyaowhen/song/-/pipelines","pill_count":null,"link_classes":"shortcuts-pipelines","is_active":false},{"id":"jobs","title":"Jobs","icon":null,"avatar":null,"entity_id":null,"link":"/liyaowhen/song/-/jobs","pill_count":null,"link_classes":"shortcuts-builds","is_active":false},{"id":"pipeline_schedules","title":"Pipeline schedules","icon":null,"avatar":null,"entity_id":null,"link":"/liyaowhen/song/-/pipeline_schedules","pill_count":null,"link_classes":"shortcuts-builds","is_active":false},{"id":"artifacts","title":"Artifacts","icon":null,"avatar":null,"entity_id":null,"link":"/liyaowhen/song/-/artifacts","pill_count":null,"link_classes":"shortcuts-builds","is_active":false}],"separated":false},{"id":"deploy_menu","title":"Deploy","icon":"deployments","avatar":null,"avatar_shape":"rect","entity_id":null,"link":"/liyaowhen/song/-/releases","is_active":false,"pill_count":null,"items":[{"id":"releases","title":"Releases","icon":null,"avatar":null,"entity_id":null,"link":"/liyaowhen/song/-/releases","pill_count":null,"link_classes":"shortcuts-deployments-releases","is_active":false},{"id":"packages_registry","title":"Package Registry","icon":null,"avatar":null,"entity_id":null,"link":"/liyaowhen/song/-/packages","pill_count":null,"link_classes":"shortcuts-container-registry","is_active":false},{"id":"container_registry","title":"Container Registry","icon":null,"avatar":null,"entity_id":null,"link":"/liyaowhen/song/container_registry","pill_count":null,"link_classes":null,"is_active":false}],"separated":false},{"id":"operations_menu","title":"Operate","icon":"cloud-pod","avatar":null,"avatar_shape":"rect","entity_id":null,"link":"/liyaowhen/song/-/environments","is_active":false,"pill_count":null,"items":[{"id":"environments","title":"Environments","icon":null,"avatar":null,"entity_id":null,"link":"/liyaowhen/song/-/environments","pill_count":null,"link_classes":"shortcuts-environments","is_active":false},{"id":"infrastructure_registry","title":"Terraform modules","icon":null,"avatar":null,"entity_id":null,"link":"/liyaowhen/song/-/terraform_module_registry","pill_count":null,"link_classes":null,"is_active":false}],"separated":false},{"id":"monitor_menu","title":"Monitor","icon":"monitor","avatar":null,"avatar_shape":"rect","entity_id":null,"link":"/liyaowhen/song/-/incidents","is_active":false,"pill_count":null,"items":[{"id":"incidents","title":"Incidents","icon":null,"avatar":null,"entity_id":null,"link":"/liyaowhen/song/-/incidents","pill_count":null,"link_classes":null,"is_active":false},{"id":"service_desk","title":"Service Desk","icon":null,"avatar":null,"entity_id":null,"link":"/liyaowhen/song/-/issues/service_desk","pill_count":null,"link_classes":null,"is_active":false}],"separated":false},{"id":"analyze_menu","title":"Analyze","icon":"chart","avatar":null,"avatar_shape":"rect","entity_id":null,"link":"/liyaowhen/song/-/value_stream_analytics","is_active":false,"pill_count":null,"items":[{"id":"cycle_analytics","title":"Value stream analytics","icon":null,"avatar":null,"entity_id":null,"link":"/liyaowhen/song/-/value_stream_analytics","pill_count":null,"link_classes":"shortcuts-project-cycle-analytics","is_active":false},{"id":"contributors","title":"Contributor analytics","icon":null,"avatar":null,"entity_id":null,"link":"/liyaowhen/song/-/graphs/master?ref_type=heads","pill_count":null,"link_classes":null,"is_active":false},{"id":"ci_cd_analytics","title":"CI/CD analytics","icon":null,"avatar":null,"entity_id":null,"link":"/liyaowhen/song/-/pipelines/charts","pill_count":null,"link_classes":null,"is_active":false},{"id":"repository_analytics","title":"Repository analytics","icon":null,"avatar":null,"entity_id":null,"link":"/liyaowhen/song/-/graphs/master/charts","pill_count":null,"link_classes":"shortcuts-repository-charts","is_active":false}],"separated":false}],"current_context_header":"Project","support_path":"https://about.gitlab.com/get-help/","docs_path":"/help/docs","display_whats_new":true,"whats_new_most_recent_release_items_count":5,"whats_new_version_digest":"45727b293bf7297ee6f1fef121b56ddc7d1fa0db0f02897fd1006a85b37920d1","show_version_check":null,"gitlab_version":{"major":17,"minor":3,"patch":0,"suffix_s":""},"gitlab_version_check":null,"search":{"search_path":"/search","issues_path":"/dashboard/issues","mr_path":"/dashboard/merge_requests","autocomplete_path":"/search/autocomplete","settings_path":"/search/settings","search_context":{"project":{"id":59940538,"name":"Youtube Collector - Youtube Multimedia Downloader and Player Utility"},"project_metadata":{"mr_path":"/liyaowhen/song/-/merge_requests","issues_path":"/liyaowhen/song/-/issues"},"code_search":true,"ref":"master","scope":null,"for_snippets":null}},"panel_type":"project","shortcut_links":[{"title":"Snippets","href":"/explore/snippets","css_class":"dashboard-shortcuts-snippets"},{"title":"Groups","href":"/explore/groups","css_class":"dashboard-shortcuts-groups"},{"title":"Projects","href":"/explore/projects/starred","css_class":"dashboard-shortcuts-projects"}]}"></aside>
|
||
|
||
<div class="content-wrapper">
|
||
|
||
<div class="alert-wrapper gl-force-block-formatting-context">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<div class="top-bar-fixed container-fluid" data-testid="top-bar">
|
||
<div class="top-bar-container gl-display-flex gl-align-items-center gl-gap-2">
|
||
<button class="gl-button btn btn-icon btn-md btn-default btn-default-tertiary js-super-sidebar-toggle-expand super-sidebar-toggle -gl-ml-3" aria-controls="super-sidebar" aria-expanded="false" aria-label="Primary navigation sidebar" type="button"><svg class="s16 gl-icon gl-button-icon " data-testid="sidebar-icon"><use href="/assets/icons-454317f5123bdb93dcb695c6092c458fb0ec6c862d0a56857aefa1c73469f743.svg#sidebar"></use></svg>
|
||
|
||
</button>
|
||
<script type="application/ld+json">
|
||
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"liyaowhen","item":"https://gitlab.com/liyaowhen"},{"@type":"ListItem","position":2,"name":"Youtube Collector - Youtube Multimedia Downloader and Player Utility","item":"https://gitlab.com/liyaowhen/song"}]}
|
||
|
||
|
||
</script>
|
||
<div data-testid="breadcrumb-links" id="js-vue-page-breadcrumbs-wrapper">
|
||
<div data-breadcrumbs-json="[{"text":"liyaowhen","href":"/liyaowhen","avatarPath":null},{"text":"Youtube Collector - Youtube Multimedia Downloader and Player Utility","href":"/liyaowhen/song","avatarPath":"/uploads/-/system/project/avatar/59940538/logo.png"}]" id="js-vue-page-breadcrumbs"></div>
|
||
<div id="js-injected-page-breadcrumbs"></div>
|
||
</div>
|
||
|
||
|
||
<div id="js-work-item-feedback"></div>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
<div class="container-fluid container-limited project-highlight-puc">
|
||
<main class="content" id="content-body" itemscope itemtype="http://schema.org/SoftwareSourceCode">
|
||
<div class="flash-container flash-container-page sticky" data-testid="flash-container">
|
||
<div id="js-global-alerts"></div>
|
||
</div>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<header class="project-home-panel js-show-on-project-root gl-mt-5">
|
||
<div class="gl-display-flex gl-justify-content-space-between gl-flex-wrap gl-flex-direction-column gl-md-flex-direction-row gl-gap-5">
|
||
<div class="home-panel-title-row gl-display-flex gl-align-items-center">
|
||
<img srcset="/uploads/-/system/project/avatar/59940538/logo.png?width=48 1x, /uploads/-/system/project/avatar/59940538/logo.png?width=96 2x" alt="Youtube Collector - Youtube Multimedia Downloader and Player Utility" class="gl-avatar gl-avatar-s48 gl-align-self-start gl-flex-shrink-0 gl-mr-3 gl-rounded-base!" height="48" width="48" loading="lazy" itemprop="image" src="/uploads/-/system/project/avatar/59940538/logo.png?width=48" />
|
||
|
||
<h1 class="home-panel-title gl-heading-1 gl-flex gl-items-center gl-flex-wrap gl-gap-3 gl-break-anywhere gl-mb-0" data-testid="project-name-content" itemprop="name">
|
||
Youtube Collector - Youtube Multimedia Downloader and Player Utility
|
||
<span class="has-tooltip visibility-icon gl-inline-flex gl-text-secondary" data-container="body" data-placement="top" title="Public - The project can be accessed without any authentication."><svg class="s16 icon" data-testid="earth-icon"><use href="/assets/icons-454317f5123bdb93dcb695c6092c458fb0ec6c862d0a56857aefa1c73469f743.svg#earth"></use></svg></span>
|
||
|
||
</h1>
|
||
</div>
|
||
<div data-can-read-project="true" data-id="59940538" data-is-group="false" data-is-project-archived="false" data-is-project-empty="false" data-is-project-marked-for-deletion="false" data-project-avatar="/uploads/-/system/project/avatar/59940538/logo.png" data-project-id="59940538" data-project-name="Youtube Collector - Youtube Multimedia Downloader and Player Utility" data-project-visibility-level="public" data-sign-in-path="/users/sign_in?redirect_to_referer=yes" data-star-count="0" data-starred="false" data-starrers-path="/liyaowhen/song/-/starrers" id="js-home-panel"></div>
|
||
</div>
|
||
|
||
</header>
|
||
|
||
<div class="project-page-indicator js-show-on-project-root"></div>
|
||
<div class="project-page-layout">
|
||
<div class="project-page-layout-sidebar js-show-on-project-root gl-mt-5">
|
||
<aside class="project-page-sidebar" data-testid="project-page-sidebar">
|
||
<div class="project-page-sidebar-block home-panel-home-desc gl-py-4 gl-border-b gl-border-gray-50 gl-pt-2!">
|
||
<h2 class="gl-font-base gl-font-bold gl-leading-reset gl-text-gray-900 gl-m-0 gl-mb-1">Project information</h2>
|
||
<div class="home-panel-description gl-break-words">
|
||
<div class="home-panel-description-markdown read-more-container" data-read-more-height="320" itemprop="description">
|
||
<div class="read-more-content read-more-content--has-scrim">
|
||
<p data-sourcepos="1:1-1:363" dir="auto">A youtube multimedia downloader and manager. All contributions are welcome. Made in Gtk4 with Vala. This program enables you to download youtube content and put it in containers called playlists, you can access these playlists in the file manager (WIP), and you can even search youtube with a relatively good speed (May cause youtube to speed limit your service).</p>
|
||
</div>
|
||
<div class="js-read-more-trigger gl-hidden gl-w-full gl-h-8 gl-absolute gl-bottom-0 gl-z-2 gl-bg-default">
|
||
<button aria-label="Expand project information" type="button" class="gl-button btn btn-md btn-link "><span class="gl-button-text">
|
||
<svg class="s14" data-testid="chevron-down-icon"><use href="/assets/icons-454317f5123bdb93dcb695c6092c458fb0ec6c862d0a56857aefa1c73469f743.svg#chevron-down"></use></svg>
|
||
Read more
|
||
|
||
</span>
|
||
|
||
</button></div>
|
||
</div>
|
||
</div>
|
||
<div class="gl-mb-5">
|
||
<div class="gl-w-full gl-inline-flex gl-flex-wrap gl-font-base gl-font-normal gl-align-items-center -gl-mx-2 -gl-my-2" data-testid="project_topic_list">
|
||
<a class="gl-p-2" href="/explore/projects/topics/GTK4" itemprop="keywords">
|
||
<span class="gl-badge badge badge-pill badge-muted"><span class="gl-badge-content">GTK4</span></span>
|
||
</a>
|
||
<a class="gl-p-2" href="/explore/projects/topics/gtk" itemprop="keywords">
|
||
<span class="gl-badge badge badge-pill badge-muted"><span class="gl-badge-content">gtk</span></span>
|
||
</a>
|
||
<a class="gl-p-2" href="/explore/projects/topics/vala" itemprop="keywords">
|
||
<span class="gl-badge badge badge-pill badge-muted"><span class="gl-badge-content">vala</span></span>
|
||
</a>
|
||
<div class="text-nowrap gl-p-2" data-content="<span class="gl-inline-flex gl-flex-wrap">
|
||
<a class="gl-mr-3 gl-mb-3" href="/explore/projects/topics/webscraper" itemprop="keywords">
|
||
<span class="gl-badge badge badge-pill badge-muted"><span class="gl-badge-content">webscraper</span></span>
|
||
</a>
|
||
<a class="gl-mr-3 gl-mb-3" href="/explore/projects/topics/utility" itemprop="keywords">
|
||
<span class="gl-badge badge badge-pill badge-muted"><span class="gl-badge-content">utility</span></span>
|
||
</a>
|
||
<a class="gl-mr-3 gl-mb-3" href="/explore/projects/topics/linux" itemprop="keywords">
|
||
<span class="gl-badge badge badge-pill badge-muted"><span class="gl-badge-content">Linux</span></span>
|
||
</a>
|
||
<a class="gl-mr-3 gl-mb-3" href="/explore/projects/topics/javascript" itemprop="keywords">
|
||
<span class="gl-badge badge badge-pill badge-muted"><span class="gl-badge-content">JavaScript</span></span>
|
||
</a>
|
||
<a class="gl-mr-3 gl-mb-3" href="/explore/projects/topics/node.js" itemprop="keywords">
|
||
<span class="gl-badge badge badge-pill badge-muted"><span class="gl-badge-content">Node.js</span></span>
|
||
</a>
|
||
<a class="gl-mr-3 gl-mb-3" href="/explore/projects/topics/meson" itemprop="keywords">
|
||
<span class="gl-badge badge badge-pill badge-muted"><span class="gl-badge-content">meson</span></span>
|
||
</a>
|
||
<a class="gl-mr-3 gl-mb-3" href="/explore/projects/topics/multimedia" itemprop="keywords">
|
||
<span class="gl-badge badge badge-pill badge-muted"><span class="gl-badge-content">multimedia</span></span>
|
||
</a>
|
||
<a class="gl-mr-3 gl-mb-3" href="/explore/projects/topics/application" itemprop="keywords">
|
||
<span class="gl-badge badge badge-pill badge-muted"><span class="gl-badge-content">application</span></span>
|
||
</a>
|
||
<a class="gl-mr-3 gl-mb-3" href="/explore/projects/topics/gnome" itemprop="keywords">
|
||
<span class="gl-badge badge badge-pill badge-muted"><span class="gl-badge-content">gnome</span></span>
|
||
</a>
|
||
</span>
|
||
" data-html="true" data-placement="top" data-title="More topics" data-toggle="popover" data-triggers="focus hover" role="button" tabindex="0">
|
||
+ 9 more
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
<div class="gl-mb-2">
|
||
<div class="progress repository-languages-bar js-show-on-project-root"><div class="progress-bar has-tooltip" style="width: 93.87%; background-color:#fbe5cd" data-html="true" title="<span class="repository-language-bar-tooltip-language">Vala</span>&nbsp;<span class="repository-language-bar-tooltip-share">93.9%</span>"></div><div class="progress-bar has-tooltip" style="width: 4.62%; background-color:#007800" data-html="true" title="<span class="repository-language-bar-tooltip-language">Meson</span>&nbsp;<span class="repository-language-bar-tooltip-share">4.6%</span>"></div><div class="progress-bar has-tooltip" style="width: 0.65%; background-color:#563d7c" data-html="true" title="<span class="repository-language-bar-tooltip-language">CSS</span>&nbsp;<span class="repository-language-bar-tooltip-share">0.7%</span>"></div><div class="progress-bar has-tooltip" style="width: 0.59%; background-color:#f1e05a" data-html="true" title="<span class="repository-language-bar-tooltip-language">JavaScript</span>&nbsp;<span class="repository-language-bar-tooltip-share">0.6%</span>"></div><div class="progress-bar has-tooltip" style="width: 0.27%; background-color:#89e051" data-html="true" title="<span class="repository-language-bar-tooltip-language">Shell</span>&nbsp;<span class="repository-language-bar-tooltip-share">0.3%</span>"></div></div>
|
||
</div>
|
||
</div>
|
||
<div class="project-page-sidebar-block gl-py-4 gl-border-b gl-border-gray-50">
|
||
<nav class="project-stats">
|
||
<ul class="nav gl-gap-y-2 gl-gap-x-5">
|
||
<li class="nav-item">
|
||
<a class="nav-link gl-display-flex gl-align-items-center stat-link gl-px-0! gl-pb-2!" href="/liyaowhen/song/-/commits/master"><svg class="s16 icon gl-mr-3 gl-text-gray-500" data-testid="commit-icon"><use href="/assets/icons-454317f5123bdb93dcb695c6092c458fb0ec6c862d0a56857aefa1c73469f743.svg#commit"></use></svg><strong class="project-stat-value">18</strong> Commits</a>
|
||
</li>
|
||
<li class="nav-item">
|
||
<a class="nav-link gl-display-flex gl-align-items-center stat-link gl-px-0! gl-pb-2!" href="/liyaowhen/song/-/branches"><svg class="s16 icon gl-mr-3 gl-text-gray-500" data-testid="branch-icon"><use href="/assets/icons-454317f5123bdb93dcb695c6092c458fb0ec6c862d0a56857aefa1c73469f743.svg#branch"></use></svg><strong class="project-stat-value">1</strong> Branch</a>
|
||
</li>
|
||
<li class="nav-item">
|
||
<a class="nav-link gl-display-flex gl-align-items-center stat-link gl-px-0! gl-pb-2!" href="/liyaowhen/song/-/tags"><svg class="s16 icon gl-mr-3 gl-text-gray-500" data-testid="label-icon"><use href="/assets/icons-454317f5123bdb93dcb695c6092c458fb0ec6c862d0a56857aefa1c73469f743.svg#label"></use></svg><strong class="project-stat-value">0</strong> Tags</a>
|
||
</li>
|
||
</ul>
|
||
|
||
</nav>
|
||
</div>
|
||
<div class="project-page-sidebar-block gl-py-4 gl-border-b gl-border-gray-50">
|
||
<div class="project-buttons gl-mb-2 js-show-on-project-root" data-testid="project-buttons">
|
||
<ul class="nav gl-gap-y-2 gl-gap-x-5">
|
||
<li class="nav-item">
|
||
<a class="nav-link gl-display-flex gl-align-items-center stat-link gl-px-0! gl-pb-2! btn-default" href="/liyaowhen/song/-/blob/master/README.md"><svg class="s16 icon gl-mr-3 gl-text-gray-500" data-testid="doc-text-icon"><use href="/assets/icons-454317f5123bdb93dcb695c6092c458fb0ec6c862d0a56857aefa1c73469f743.svg#doc-text"></use></svg>README</a>
|
||
</li>
|
||
<li class="nav-item">
|
||
<a class="nav-link gl-display-flex gl-align-items-center stat-link gl-px-0! gl-pb-2! btn-default" itemprop="license" href="/liyaowhen/song/-/blob/master/COPYING"><svg class="s16 icon gl-mr-3 gl-text-gray-500" data-testid="scale-icon"><use href="/assets/icons-454317f5123bdb93dcb695c6092c458fb0ec6c862d0a56857aefa1c73469f743.svg#scale"></use></svg><span class="project-stat-value">GNU General Public License v3.0 or later</span></a>
|
||
</li>
|
||
</ul>
|
||
|
||
</div>
|
||
</div>
|
||
|
||
<div class="project-page-sidebar-block gl-py-4">
|
||
<p class="gl-font-bold gl-text-gray-900 gl-m-0 gl-mb-1">Created on</p>
|
||
<span>July 15, 2024</span>
|
||
</div>
|
||
</aside>
|
||
|
||
</div>
|
||
<div class="project-page-layout-content">
|
||
|
||
<div class="project-show-files">
|
||
<div class="tree-holder clearfix js-per-page gl-mt-5" data-blame-per-page="1000" id="tree-holder">
|
||
<div class="nav-block gl-display-flex gl-flex-direction-column gl-sm-flex-direction-row gl-align-items-stretch">
|
||
<div class="tree-ref-container gl-display-flex gl-flex-wrap gl-gap-2 mb-2 mb-md-0">
|
||
<div class="tree-ref-holder gl-max-w-26" data-testid="ref-dropdown-container">
|
||
<div data-project-id="59940538" data-project-root-path="/liyaowhen/song" data-ref-type="heads" id="js-tree-ref-switcher"></div>
|
||
</div>
|
||
<div data-can-collaborate="false" data-can-edit-tree="false" data-can-push-code="false" data-new-blob-path="/liyaowhen/song/-/new/master" data-new-branch-path="/liyaowhen/song/-/branches/new" data-new-dir-path="/liyaowhen/song/-/create_dir/master" data-new-tag-path="/liyaowhen/song/-/tags/new" data-upload-path="/liyaowhen/song/-/create/master" id="js-repo-breadcrumb"></div>
|
||
</div>
|
||
<div id="js-blob-controls"></div>
|
||
<div class="tree-controls">
|
||
<div class="gl-display-flex gl-flex-wrap gl-gap-3 gl-mb-3 gl-sm-mb-0">
|
||
|
||
|
||
|
||
<div data-history-link="/liyaowhen/song/-/commits/master" id="js-tree-history-link"></div>
|
||
<button class="gl-button btn btn-md btn-default has-tooltip shortcuts-find-file" title="Go to file, press <kbd class='flat ml-1' aria-hidden=true>/~</kbd> or <kbd class='flat ml-1' aria-hidden=true>t</kbd>" aria-keyshortcuts="/+~ t" data-html="true" data-event-tracking="click_find_file_button_on_repository_pages" type="button"><span class="gl-button-text">
|
||
Find file
|
||
|
||
</span>
|
||
|
||
</button>
|
||
<div class="gl-display-inline-block" data-css-classes="gl-w-full gl-sm-w-auto" data-options="{"project_path":"liyaowhen/song","ref":"master","is_fork":false,"needs_to_fork":true,"gitpod_enabled":false,"is_blob":false,"show_edit_button":false,"show_web_ide_button":false,"show_gitpod_button":false,"show_pipeline_editor_button":false,"web_ide_url":"/-/ide/project/liyaowhen/song/edit/master","edit_url":"","pipeline_editor_url":"/liyaowhen/song/-/ci/editor?branch_name=master","gitpod_url":"https://gitpod.io/#https://gitlab.com/liyaowhen/song/-/tree/master/","user_preferences_gitpod_path":"/-/profile/preferences#user_gitpod_enabled","user_profile_enable_gitpod_path":"/-/user_settings/profile?user%5Bgitpod_enabled%5D=true","new_workspace_path":"/-/remote_development/workspaces/new","project_id":59940538,"fork_path":"/liyaowhen/song/-/forks/new","fork_modal_id":null}" data-web-ide-promo-popover-img="/assets/web-ide-promo-popover-9e59939b3b450a7ea385a520971151abb09ddad46141c333d6dcc783b9b91522.svg" id="js-tree-web-ide-link"></div>
|
||
|
||
<div class="project-code-holder gl-hidden sm:gl-inline-block">
|
||
<div class="git-clone-holder js-git-clone-holder">
|
||
<div data-directory-download-links="[{"text":"zip","path":"/liyaowhen/song/-/archive/master/song-master.zip"},{"text":"tar.gz","path":"/liyaowhen/song/-/archive/master/song-master.tar.gz"},{"text":"tar.bz2","path":"/liyaowhen/song/-/archive/master/song-master.tar.bz2"},{"text":"tar","path":"/liyaowhen/song/-/archive/master/song-master.tar"}]" data-http-url="https://gitlab.com/liyaowhen/song.git" data-kerberos-url="" data-ssh-url="git@gitlab.com:liyaowhen/song.git" data-xcode-url="" id="js-code-dropdown"></div>
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
<div class="project-code-holder gl-display-flex gl-gap-3 sm:!gl-hidden">
|
||
<div class="js-source-code-dropdown" data-css-class="" data-download-artifacts="[]" data-download-links="[{"text":"zip","path":"/liyaowhen/song/-/archive/master/song-master.zip"},{"text":"tar.gz","path":"/liyaowhen/song/-/archive/master/song-master.tar.gz"},{"text":"tar.bz2","path":"/liyaowhen/song/-/archive/master/song-master.tar.bz2"},{"text":"tar","path":"/liyaowhen/song/-/archive/master/song-master.tar"}]"></div>
|
||
|
||
<div class="btn-group mobile-git-clone js-mobile-git-clone btn-block">
|
||
<button class="gl-button btn btn-md btn-confirm clone-dropdown-btn js-clone-dropdown-label" title="Copy" aria-label="Copy" aria-live="polite" data-toggle="tooltip" data-placement="bottom" data-container="body" data-html="true" data-button-text="Copy HTTPS clone URL" data-size="medium" data-category="primary" data-variant="confirm" data-hide-button-icon="true" data-clipboard-text="https://gitlab.com/liyaowhen/song.git" type="button"><span class="gl-button-text">
|
||
Copy HTTPS clone URL
|
||
</span>
|
||
|
||
</button>
|
||
<button class="btn gl-button btn-confirm dropdown-toggle js-dropdown-toggle flex-grow-0 d-flex-center w-auto ml-0" data-toggle="dropdown" type="button">
|
||
<svg class="s16 dropdown-btn-icon icon" data-testid="chevron-down-icon"><use href="/assets/icons-454317f5123bdb93dcb695c6092c458fb0ec6c862d0a56857aefa1c73469f743.svg#chevron-down"></use></svg>
|
||
</button>
|
||
<ul class="dropdown-menu dropdown-menu-selectable dropdown-menu-right clone-options-dropdown" data-dropdown>
|
||
<li class="js-clone-links">
|
||
<a class="copy ssh clone url-selector is-active" href="git@gitlab.com:liyaowhen/song.git" data-clone-type="ssh"><strong class="dropdown-menu-inner-title">Copy SSH clone URL</strong><span class="dropdown-menu-inner-content">git@gitlab.com:liyaowhen/song.git</span></a>
|
||
</li>
|
||
<li class="js-clone-links">
|
||
<a class="copy https clone url-selector " href="https://gitlab.com/liyaowhen/song.git" data-clone-type="http"><strong class="dropdown-menu-inner-title">Copy HTTPS clone URL</strong><span class="dropdown-menu-inner-content">https://gitlab.com/liyaowhen/song.git</span></a>
|
||
</li>
|
||
|
||
</ul>
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
<div class="info-well gl-hidden sm:gl-flex project-last-commit gl-flex-direction-column gl-mt-5">
|
||
<div class="gl-m-auto" data-ref-type="heads" id="js-last-commit">
|
||
<div class="gl-spinner-container" role="status"><span aria-label="Loading" class="gl-spinner gl-spinner-md gl-spinner-dark !gl-align-text-bottom"></span></div>
|
||
</div>
|
||
</div>
|
||
<div data-escaped-ref="master" data-explain-code-available="false" data-full-name="liyaowhen / Youtube Collector - Youtube Multimedia Downloader and Player Utility" data-path-locks-available="false" data-path-locks-toggle="/liyaowhen/song/path_locks/toggle" data-project-path="liyaowhen/song" data-project-short-path="song" data-ref="master" data-ref-type="heads" data-resource-id="gid://gitlab/Project/59940538" data-user-id="" id="js-tree-list"></div>
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
</main>
|
||
</div>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
|
||
|
||
<script nonce="fZt1jQSlgqfL5NS91YkgAg==">
|
||
//<![CDATA[
|
||
if ('loading' in HTMLImageElement.prototype) {
|
||
document.querySelectorAll('img.lazy').forEach(img => {
|
||
img.loading = 'lazy';
|
||
let imgUrl = img.dataset.src;
|
||
// Only adding width + height for avatars for now
|
||
if (imgUrl.indexOf('/avatar/') > -1 && imgUrl.indexOf('?') === -1) {
|
||
const targetWidth = img.getAttribute('width') || img.width;
|
||
imgUrl += `?width=${targetWidth}`;
|
||
}
|
||
img.src = imgUrl;
|
||
img.removeAttribute('data-src');
|
||
img.classList.remove('lazy');
|
||
img.classList.add('js-lazy-loaded');
|
||
img.dataset.testid = 'js-lazy-loaded-content';
|
||
});
|
||
}
|
||
|
||
//]]>
|
||
</script>
|
||
<script nonce="fZt1jQSlgqfL5NS91YkgAg==">
|
||
//<![CDATA[
|
||
gl = window.gl || {};
|
||
gl.experiments = {};
|
||
|
||
|
||
//]]>
|
||
</script>
|
||
|
||
</body>
|
||
</html>
|
||
|