क्या एक रिपॉजिटरी की नवीनतम रिलीज़ में फ़ाइल डाउनलोड करने के लिए GitHub का लिंक है?


137

GitHub की रिलीज़ सुविधा का उपयोग करके , प्रकाशित सॉफ़्टवेयर के विशिष्ट संस्करण को डाउनलोड करने के लिए एक लिंक प्रदान करना संभव है। हालाँकि, हर बार रिलीज़ होने के बाद, gh-page को भी अपडेट करना पड़ता है।

क्या किसी सॉफ्टवेयर के नवीनतम संस्करण का एक विशिष्ट फ़ाइल का लिंक प्राप्त करने का एक तरीका है?

उदाहरण के लिए, यह एक स्थिर लिंक होगा:

https://github.com/USER/PROJECT/releases/download/v0.0.0/package.zip

मुझे जो पसंद है वह कुछ इस तरह है:

https://github.com/USER/PROJECT/releases/download/latest/package.zip

नोट: इस सवाल और GitHub नवीनतम रिलीज के बीच का अंतर यह है कि यह प्रश्न विशेष रूप से फ़ाइल तक पहुंच प्राप्त करने के लिए कहता है, न कि GitHub नवीनतम रिलीज़ पेज


1
यह अब मूल रूप से जीथब द्वारा समर्थित है (URL प्रारूप में थोड़ा अंतर के साथ)। देखें stackoverflow.com/questions/24987542/…
wisbucky

जवाबों:


38

कुछ साल देर से, लेकिन मैंने अभी समर्थन के लिए एक सरल पुनर्निर्देशन लागू किया है https://github.com/USER/PROJECT/releases/latest/download/package.zip। यह नवीनतम टैग की package.zipगई संपत्ति को पुनर्निर्देशित किया जाना चाहिए । आशा है कि यह आसान है!


2
Help.github.com/en/articles/linking-to-releases पर प्रलेखित : यदि आप अपनी नवीनतम रिलीज़ संपत्ति के डाउनलोड से सीधे लिंक करना चाहते हैं, तो आप / स्वामी / नाम / रिलीज़ / नवीनतम / डाउनलोड / परिसंपत्ति से लिंक कर सकते हैं -name.zip
Liam

4
यह उपयोगी होगा यदि यह सुविधा संस्करण संपत्ति नामों के साथ काम करती है, लेकिन।
Liam

3
ध्यान दें कि आदेश .../releases/latest/download/...बनाम स्विच किया गया है .../releases/download/v0.0.0/...। आप बस को बदल नहीं सकते v0.0.0के साथ latestजगह में।
बुद्धिमानबाग

2
@ जोशुआ पीक शायद आप संस्करण स्ट्रिंग होने के लिए संपत्ति नाम में "नवीनतम" का विस्तार करने के लिए इसे बढ़ा सकते हैं? यह उनके नाम में संस्करण संख्या के साथ संपत्ति के लिए उपयोगी होगा।
jwatt

नवीनतम स्रोत कोड डाउनलोड करने के बारे में क्या? उस स्थिति में संपत्ति का नाम क्या है?
Skd

59

नवीनतम रिलीज एसेट डाउनलोड लिंक प्राप्त करने के लिए लिनक्स समाधान (केवल रिलीज एक संपत्ति है तो काम करता है)

curl -s https://api.github.com/repos/boxbilling/boxbilling/releases/latest | grep browser_download_url | cut -d '"' -f 4

7
पाइपलाइन में एक अतिरिक्त grep आपके वितरण और आर्किटेक्चर के लिए फ़ाइल ढूंढ लेगा। के लिए परमाणु पर 64-बिट Ubuntu पाठ संपादक:curl -s https://api.github.com/repos/atom/atom/releases | grep browser_download_url | grep '64[.]deb' | head -n 1 | cut -d '"' -f 4
hobs

3
कोई भी ब्राउज़र_डाउनलोड_उर्ल नहीं है। अब आप tarball_url का उपयोग कर सकते हैं। curl -s https://api.github.com/repos/git-ftp/git-ftp/releases | grep tarball_url | head -n 1 | cut -d '"' -f 4
माईकेल

4
ब्राउजर के लिए @maikel grepping_download_url अभी भी मेरे लिए काम करता है।
लेओ लाम

@ léo-lam आप सही हैं। यदि आपके पास संपत्ति नहीं है, तो आप स्रोत कोड प्राप्त करने के लिए tarball_url का उपयोग कर सकते हैं।
माईकेल


29

आप GitHub Releases API का उपयोग करके नवीनतम रिलीज़ डाउनलोड URL प्राप्त करने के लिए एक ajax अनुरोध कर सकते हैं । यह भी पता चलता है कि यह कब जारी किया गया था और डाउनलोड गणना:

function GetLatestReleaseInfo() {
  $.getJSON("https://api.github.com/repos/ShareX/ShareX/releases/latest").done(function(release) {
    var asset = release.assets[0];
    var downloadCount = 0;
    for (var i = 0; i < release.assets.length; i++) {
      downloadCount += release.assets[i].download_count;
    }
    var oneHour = 60 * 60 * 1000;
    var oneDay = 24 * oneHour;
    var dateDiff = new Date() - new Date(asset.updated_at);
    var timeAgo;
    if (dateDiff < oneDay) {
      timeAgo = (dateDiff / oneHour).toFixed(1) + " hours ago";
    } else {
      timeAgo = (dateDiff / oneDay).toFixed(1) + " days ago";
    }
    var releaseInfo = release.name + " was updated " + timeAgo + " and downloaded " + downloadCount.toLocaleString() + " times.";
    $(".download").attr("href", asset.browser_download_url);
    $(".release-info").text(releaseInfo);
    $(".release-info").fadeIn("slow");
  });
}

GetLatestReleaseInfo();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a class="download" href="https://github.com/ShareX/ShareX/releases/latest">Download</a>
<p class="release-info"></p>

डिफ़ॉल्ट बटन URL को रिलीज़ पृष्ठ (जैसे https://github.com/ShareX/ShareX/releases/latest ) पर सेट करना महत्वपूर्ण है, इसलिए यदि ब्राउज़र ajax (या जावास्क्रिप्ट) का समर्थन नहीं करता है या बहुत धीमा है URL प्राप्त करें, डाउनलोड बटन अभी भी काम करेगा।

जब अजाक्स अनुरोध पूरा हो जाता है, तो इस बटन का URL स्वचालित रूप से प्रत्यक्ष डाउनलोड URL में बदल जाएगा।

संपादित करें:

मैंने एक डाउनलोड पृष्ठ भी बनाया है जो कई रिलीज़ दिखाता है जिसे आप यहाँ पा सकते हैं: https://getsharex.com/downloads/

इसका स्रोत कोड: https://github.com/ShareX/sharex.github.io/blob/master/js/downloads.js


ठंडा। क्या आप जानते हैं कि यह काम क्यों नहीं हो सकता है? curl -s https://api.github.com/repos/DataTables/DataTables/releases/latest
वोल्ट

क्योंकि आपके पास कोई रिलीज़ नहीं है। जाँच करें: api.github.com/repos/DataTables/DataTables/releases
जैक्स

कायरता ... github.com/DataTables/DataTables/releases रिलीज का एक गुच्छा दिखाता है। वहां कुछ अस्पष्टता होनी चाहिए।
वोल्ट

नहीं, ये केवल टैग हैं। कोई रिलीज नहीं कर रहे हैं।
MRD

2
github.com/jquery/jquery/releases उनके पास कोई रिलीज़ नहीं है। यह सिर्फ संस्करण टैग है।
जैक्स

15

कमांड लाइन का उपयोग करके curlऔर jq, नवीनतम रिलीज़ की पहली फ़ाइल को पुनः प्राप्त करता है :

curl -s https://api.github.com/repos/porjo/staticserve/releases/latest | \
  jq --raw-output '.assets[0] | .browser_download_url'

1
jq --raw-outputउद्धरण ड्रॉप करने के लिए एक क्लीनर तरीका है। यदि आप केवल नवीनतम चाहते हैं तो यह लाने .../releases/latestऔर छोड़ने के लिए सस्ता है .[0] | । लेकिन सभी रिलीज लाने से प्रश्नों की अनुमति मिलती है jq '.[] | .assets[] | .browser_download_url | select(endswith(".deb"))'...
बेनी चेर्निय्स्की-पास्किन

धन्यवाद बेनी, मैंने नवीनतम डॉकटर-कम्पोज़ को हथियाने के लिए इस पर विस्तार किया curl --silent "https://api.github.com/repos/docker/compose/releases/latest" | jq --arg PLATFORM_ARCH "$(echo `uname -s`-`uname -m`)" -r '.assets[] | select(.name | endswith($PLATFORM_ARCH)).browser_download_url' | xargs sudo curl -L -o /usr/local/bin/docker-compose --url । एंडस्विथ जादू था और मेहराब का उपयोग करने से मुझे जो भी आम तौर पर बिना किए मौजूद हैं, जो भी |head -n 1
ड्रैगन

8

कर्ल का उपयोग कर एक और लिनक्स समाधान और नवीनतम रिलीज़ पेज से एक भी बाइनरी फ़ाइल डाउनलोड करने के लिए भूल जाते हैं

curl -s -L https://github.com/bosun-monitor/bosun/releases/latest | egrep -o '/bosun-monitor/bosun/releases/download/[0-9]*/scollector-linux-armv6' | wget --base=http://github.com/ -i - -O scollector

स्पष्टीकरण:

curl -s -L चुपचाप नवीनतम रिलीज एचटीएमएल डाउनलोड करें (रीडायरेक्ट का पालन करने के बाद)

egrep -o '...' आप चाहते हैं फ़ाइल खोजने के लिए regex का उपयोग करता है

wget --base=http://github.com/ -i - सापेक्ष पथ को पाइपलाइन से निरपेक्ष URL में परिवर्तित करता है

और -O scollectorवांछित फ़ाइल नाम सेट करता है।

-Nयदि फ़ाइल नई है तो केवल डाउनलोड करने के लिए जोड़ने में सक्षम हो सकता है, लेकिन S3 403 निषिद्ध त्रुटि दे रहा था।


3
मेरा लक्ष्य एक वेबसाइट पर एक लिंक बनाना है जो हमेशा नवीनतम संस्करण की ओर इशारा करता है। एक linux कमांड इसकी अनुमति नहीं देगा।
ईसाई रोंडेउ

1
यह वही है जो मैं ढूंढ रहा था लेकिन आपको यह सुनिश्चित करना होगा कि आपके पास grep का उपयोग करते समय वाइल्डकार्ड और डॉट्स के लिए सही एस्केप वर्ण हैं।
टी। थॉमस

@TdotThomas धन्यवाद, यह संकेत है कि मुझे सेमर रिलीज संख्याओं के लिए अवधियों से बचने की \.जरूरत है जैसे कि 2.2.0 की जरूरत है/download/[0-9\.]*/
जेफ पकेट

नहीं, यह नहीं है। नहीं बचो चार। लेकिन मैं होगा एक वैकल्पिक अनुमान vउपसर्ग के रूप में, एक टैग की तरह v0.11.0। बस curl -s -L https://github.com/bosun-monitor/bosun/releases/latest | egrep -o '/bosun-monitor/bosun/releases/download/[v]?[0-9.]*/scollector-linux-armv6' | wget --base=http://github.com/ -i - -O scollectorअपने सीएलआई में इनपुट करें और यह पूरी तरह से काम करता है। धन्यवाद, ग्रेग !!
एमएस बेरेंड्स

7

जैसा कि पहले उल्लेख किया गया है, jq इस और अन्य REST API के लिए उपयोगी है ।

tl; dr - नीचे अधिक विवरण

मान लें कि आप macOS रिलीज़ चाहते हैं :

URL=$( curl -s "https://api.github.com/repos/atom/atom/releases/latest" \
   | jq -r '.assets[] | select(.name=="atom-mac.zip") | .browser_download_url' )
curl -LO "$URL"

परमाणु रिलीज के लिए समाधान

ध्यान दें कि प्रत्येक रेपो में वांछित विरूपण साक्ष्य प्रदान करने के अलग-अलग तरीके हो सकते हैं, इसलिए मैं परमाणु की तरह एक अच्छे व्यवहार के लिए प्रदर्शन करूंगा ।

प्रकाशित संपत्तियों के नाम प्राप्त करें

curl -s "https://api.github.com/repos/atom/atom/releases/latest" \
    | jq -r '.assets[] | .name'

atom-1.15.0-delta.nupkg
atom-1.15.0-full.nupkg
atom-amd64.deb
...

वांछित संपत्ति के लिए डाउनलोड URL प्राप्त करें

नीचे एटम-मैक jq के माध्यम से मेरी वांछित संपत्ति हैselect(.name=="atom-mac.zip")

curl -s "https://api.github.com/repos/atom/atom/releases/latest" \
    | jq -r '.assets[] | select(.name=="atom-mac.zip") | .browser_download_url'

https://github.com/atom/atom/releases/download/v1.15.0/atom-mac.zip

आर्टवर्क डाउनलोड करें

curl -LO "https://github.com/atom/atom/releases/download/v1.15.0/atom-mac.zip"

jq खेल का मैदान

jq वाक्य रचना मुश्किल हो सकता है। यहाँ jqउपरोक्त के साथ प्रयोग करने के लिए एक खेल का मैदान है: https://jqplay.org/s/h6_LfoEHLZ

सुरक्षा

आप कदम उठाने के माध्यम से डाउनलोड की गई विरूपण साक्ष्य की वैधता सुनिश्चित करने के लिए करना चाहिए sha256sum और GPG , सभी संभव पर है।


7

HTML सामग्री प्राप्त करने के लिए (एक आंतरिक) wget का उपयोग कर एक समाधान, इसे ज़िप फ़ाइल के लिए फ़िल्टर करें (egrep के साथ) और फिर ज़िप फ़ाइल डाउनलोड करें (बाहरी गैजेट के साथ)।

wget https://github.com/$(wget https://github.com/<USER>/<PROJECT>/releases/latest -O - | egrep '/.*/.*/.*zip' -o)

6

नवीनतम रिलीज़ को डाउनलोड करने के लिए नीचे दिए गए यूआरएल में से किसी एक का उपयोग करें: (उदाहरण के लिए बॉक्सबिलिंग प्रोजेक्ट से यूआरएल लिया): https://api.github.com/repos/boxbilling/boxbilling/releases

नवीनतम रिलीज को जिप के रूप में डाउनलोड करें: https://api.github.com/repos/boxbilling/boxbilling/zipball

नवीनतम रिलीज को टारबॉल के रूप में डाउनलोड करें: https://api.github.com/repos/boxbilling/boxbilling/tarball

नवीनतम रिलीज़ को तुरंत डाउनलोड करने के लिए एक यूआरएल पर क्लिक करें। जैसा कि मैंने यह पंक्तियाँ वर्तमान में लिखी हैं: बॉक्सिंग-बॉक्सिंग-4.20-30-g452ad1c .zip / .tar.gz]

अद्यतन: मेरे लॉगफ़ाइलों (उदाहरण के लिए ऊपर) में एक और url मिला https://codeload.github.com/boxbilling/boxbilling/legacy.tar.gz/master


4
वे रेपो नहीं रिलीज़ कर रहे हैं
वॉबल्स

5

2018-05-23 के अनुसार गीथहब समर्थन के अनुसार संभव नहीं है

संदेश के साथ 2018-05-23 को support@github.com से संपर्क करें:

क्या आप अभी पुष्टि कर सकते हैं कि वर्तमान में एपीआई के साथ खिलवाड़ करने के अलावा कोई रास्ता नहीं है?

और उन्होंने उत्तर दिया:

खोज लेने के लिए धन्यवाद। हम नवीनतम रिलीज लाने के लिए एपीआई का उपयोग करने की सलाह देते हैं क्योंकि यह दृष्टिकोण स्थिर, प्रलेखित है, और जल्द ही किसी भी समय परिवर्तन के अधीन नहीं है:

https://developer.github.com/v3/repos/releases/#get-the-latest-release

मैं इस पर भी नज़र रखूंगा : https://github.com/isaacs/github/issues/658

बिना किसी निर्भरता के पायथन समाधान

मजबूत और पोर्टेबल:

#!/usr/bin/env python3

import json
import urllib.request

_json = json.loads(urllib.request.urlopen(urllib.request.Request(
    'https://api.github.com/repos/cirosantilli/linux-kernel-module-cheat/releases/latest',
     headers={'Accept': 'application/vnd.github.v3+json'},
)).read())
asset = _json['assets'][0]
urllib.request.urlretrieve(asset['browser_download_url'], asset['name'])

यह सभी देखें:

पूर्व-रिलीज़ पर भी विचार करें

/latestपूर्व-रिलीज़ नहीं देखता है, लेकिन यह करना आसान है क्योंकि /releasesनवीनतम पहले दिखाता है:

#!/usr/bin/env python3

import json
import urllib.request

_json = json.loads(urllib.request.urlopen(urllib.request.Request(
    'https://api.github.com/repos/cirosantilli/linux-kernel-module-cheat/releases',
     headers={'Accept': 'application/vnd.github.v3+json'},
)).read())
asset = _json[0]['assets'][0]
urllib.request.urlretrieve(asset['browser_download_url'], asset['name'])

3

मदद पृष्ठ को रिलीज़ करने का लिंक "नवीनतम रिलीज़" बटन का उल्लेख करता है, लेकिन इससे आपको डाउनलोड लिंक नहीं मिलता है।

https://github.com/reactiveui/ReactiveUI/releases/latest

उसके लिए, आपको पहले नवीनतम टैग प्राप्त करने की आवश्यकता है (जैसा कि डाउनलोड फ़ाइल के नवीनतम रिलीज के लिए " GitHub URL में बताया गया है ? ":

latestTag=$(git describe --tags `git rev-list --tags --max-count=1`)

curl -L https://github.com/reactiveui/ReactiveUI/releases/download/$latestTag/ReactiveUI-$latestTag.zip

2
इसके बाद भी gh-pagesशाखा के एक नए संस्करण को धक्का देने की आवश्यकता होती है, हर बार एक नया रिलीज किया जाता है; उद्देश्य एक स्थैतिक लिंक है जिसका उपयोग मैं केवल "नवीनतम संस्करण को संदर्भित करने के लिए" कर सकता हूं। अभी मेरा सबसे अच्छा विकल्प सिर्फ रिलीज़ पेज को संदर्भित करना है।
ईसाई रोंदेउ

@ChristianRondeau मैं सहमत हूँ। मैंने API में कहीं भी "नवीनतम" रिलीज़ संग्रह को पूर्ण url सीधे संदर्भित करने का तरीका नहीं देखा।
VonC

फिर भी, टिप के लिए धन्यवाद; यदि कोई बेहतर उत्तर प्रदान नहीं किया जाता है, तो मैं संभवतः आपकी स्क्रिप्ट का उपयोग करके gh- पेजों को अपडेट करने के लिए एक स्क्रिप्ट कर रहा हूं।
ईसाई रोंदेउ

2

PHP में - नवीनतम रिलीज़ डाउनलोड पर पुनर्निर्देशित। सीधे शब्दों में अपने webspace पर डाल दिया

<?php

/**
 * Download latest release from github release articats
 * License: Public Domain
 */

define('REPO', 'imi-digital/iRobo');

$opts = [
    'http' => [
        'method' => 'GET',
        'header' => [
            'User-Agent: PHP'
        ]
    ]
];

$context = stream_context_create($opts);

$releases = file_get_contents('https://api.github.com/repos/' . REPO . '/releases', false, $context);
$releases = json_decode($releases);

$url = $releases[0]->assets[0]->browser_download_url;

header('Location: ' . $url);

2

यदि आप केवल उपयोग करना चाहते हैं, तो आप URL के curlसाथ -w '%{url_effective}'पुनर्निर्देशित श्रृंखला के बाद प्रिंट कर सकते हैं (यदि आप इसे लागू करते हैं तो कर्ल के बाद -L)। इसलिए, उदाहरण के लिए

curl -sLo /dev/null -w '%{url_effective}' https://github.com/github-tools/github/releases/latest

आउटपुट https://github.com/github-tools/github/releases/tag/v3.1.0


2

Github अब नवीनतम रिलीज़ से व्यक्तिगत फ़ाइलों को डाउनलोड करने के लिए स्थैतिक लिंक का समर्थन करता है: https://help.github.com/en/articles/linking-to-releases

https://github.com/USER/PROJECT/releases/latest/download/package.zip

समान उत्तर पहले से ही 6 महीने पहले पोस्ट किया गया था: stackoverflow.com/questions/24987542/…
wisbucky

यह मेरे ध्यान में लाने के लिए धन्यवाद @wisbucky, मैंने इसे तब खारिज कर दिया, क्योंकि यह एक डेवलपर से कस्टम कार्यान्वयन की तरह लग रहा था, StackOverflow से कोई नहीं!
क्रिश्चियन रोंडेउ

2

इस सवाल पर सबसे अधिक, मैं पूरी तरह से नवीनतम संस्करण को रिलीज़ करने या गिथूब में रेपो को स्वचालित रूप से डाउनलोड करने का एक तरीका खोजने के साथ निराश था । इस समाधान का लाभ यह है कि आपको कोई रिलीज या टैग संख्या निर्दिष्ट करने की आवश्यकता नहीं है- यह सिर्फ नवीनतम सूची को ले जाएगा ।

मैंने निम्नलिखित गितुब उपयोगकर्ता और रेपो का उपयोग करके अपना परीक्षण किया:

" f1linux " = जीथब उपयोगकर्ता
" पी-एपी " = रेपो

रेपो को सहेजने के लिए मनमानी निर्देशिका नाम को इसमें सेट किया गया है:

--one-top-level="pi-ap"

प्रत्यक्ष:

फायरफॉक्स के "का उपयोग वेब डेवलपर ," उपकरण (ऊपरी दाएँ कोने में 3 बार) "में नेटवर्क " खंड मैंने पाया https://api.github.comके लिए पुनः निर्देशित किया गया था https://codeload.github.comपाइप द्वारा, इसलिए curlकरने के लिए tarमैं इतना एक उम्मीद के मुताबिक नाम करने के लिए नवीनतम संस्करणीकृत रेपो और यह बचाने हड़पने करने में सक्षम था इसे चालू किया जा सकता है:

curl https://codeload.github.com/f1linux/pi-ap/legacy.tar.gz/master | tar xzvf - --one-top-level="pi-ap" --strip-components 1

अप्रत्यक्ष:

बाद में मैंने DIRECT URL का उपयोग करके नवीनतम संस्करण रिलीज़ के पूर्ण-स्वचालित डाउनलोड प्राप्त किए, मैंने अपना ध्यान Github के पुनर्निर्देशन के साथ प्राप्त करने के लिए किया:

curl -L https://api.github.com/repos/f1linux/pi-ap/tarball | tar xzvf - --one-top-level="pi-ap" --strip-components 1

पसंदीदा विधि:

हालाँकि, कृपया नीचे दिए गए वॉन की टिप्पणी के अनुसार ध्यान दें कि INDIRECT एक पसंदीदा तरीका है

आगे की मान्यता:

यह सुनिश्चित करने के लिए कि मेरे परिणाम अन्य संस्करण गिथब रिपोज के लिए प्रतिलिपि प्रस्तुत करने योग्य थे, डिजिटल महासागर के doctlएपी टूलकिट के लिए एक ही परीक्षण सफलतापूर्वक निष्पादित किया गया था (जो कि वास्तव में संपूर्ण अभ्यास शुरू किया है!)।

दोनों प्रत्यक्ष और अप्रत्यक्ष काम एक ही फार्म का उपयोग करके के रूप में ऊपर, बस उपयोगकर्ता नाम और रेपो बदल रहा:

प्रत्यक्ष:

curl https://codeload.github.com/digitalocean/doctl/legacy.tar.gz/master | tar xzvf - --one-top-level="doctl" --strip-components 1 

अप्रत्यक्ष:

curl -L https://api.github.com/repos/digitalocean/doctl/tarball | tar xzvf - --one-top-level="doctl" --strip-components 1

दिलचस्प। Upvoted। मुझे कोडलोड के बारे में पता नहीं था, हालांकि एपीआई का उपयोग करने की अभी भी सिफारिश की गई है: stackoverflow.com/a/60198721/6309
VonC

मैं शुरू में पुनर्निर्देशन के साथ दु: ख में भाग गया और जवाब के रूप में विख्यात फ़ायरफ़ॉक्स के "वेब डेवलपर" उपकरण मुझे सही रास्ते पर जा रहे थे। हालांकि वहाँ नहीं रोक सका, इसे पुनर्निर्देशन के साथ काम करना था। इस upvote के लिए धन्यवाद- सबसे अधिक बाध्य!
F1Linux

1
@VonC ने उत्तर के लिए अपनी प्रतिक्रिया जोड़ी। मैं इस बात से बिलकुल अनजान था। इस पर ध्यान दिलाने के लिए धन्यवाद!
F1Linux

1

मैं README.mdरिपॉजिटरी विवरण में फ़ाइल से रिलीज़ डाउनलोड करना चाहता हूं । वहां, मैं जावास्क्रिप्ट निष्पादित नहीं कर सकता।

मैं अपने सभी रिपॉजिटरी के लिए README फाइल या जीथूब पेज पर इन जैसे लिंक जोड़ सकता हूं:

  • https://niccokunzmann.github.io/download_latest/<USER>/<REPOSITORY>/<FILE>
    भंडार से नवीनतम रिलीज़ फ़ाइल डाउनलोड करता है।
  • https://niccokunzmann.github.io/download_latest/<FILE>
    यह काम करता है क्योंकि जावास्क्रिप्ट रेफरल सेट है और डाउनलोड करने के लिए रिपॉजिटरी के माध्यम से निर्धारित किया जाता है document.referrer। इस प्रकार, लिंक कांटे के लिए भी काम करेगा।

आप यहां स्रोत कोड पा सकते हैं , कांटा या बस मेरे रेपो का उपयोग कर सकते हैं ।


1
यह एक बहुत ही चतुर विचार है :) यह लिंक साझा करने या कर्ल या पसंद का उपयोग करते समय काम नहीं करेगा, लेकिन यह विचार परियोजना के जीथूब पृष्ठों में किया जा सकता है।
क्रिश्चियन रोंडेउ

1
यह एक जावास्क्रिप्ट वेबसाइट के रूप में संभव है, कोई एक सेवा भी लिख सकता है जो एक रीडायरेक्ट करता है। download-service.com/organization/repository/artifact
उपयोगकर्ता

0

इस मामले में कि रेपो रिलीज के बजाय सिर्फ टैग का उपयोग कर रहा है - सीएफ। jQuery - एक URL पर आधारित समाधान काम नहीं करता है।

इसके बजाय, आपको सभी टैग को क्वेरी करना होगा, उन्हें क्रमबद्ध करना होगा और डाउनलोड URL का निर्माण करना होगा। मैंने भाषा के लिए इस तरह के समाधान को लागू किया गो और jQuery रेपो: जीथुब के लिए लिंक

शायद, यह किसी की मदद करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.