|
| 1 | +function createInfo(file, newat, altnames = '', removedat = '') { |
| 2 | + this.file = file; |
| 3 | + this.newat = newat; |
| 4 | + this.altnames = altnames; |
| 5 | + this.removedat = removedat; |
| 6 | +} |
| 7 | + |
| 8 | +const versionsArr = ['0.0']; |
| 9 | +const unsupportedArr = [ ]; |
| 10 | +var titles = [ |
| 11 | + {k: 'en', v: ['Supported versions', 'Unsupported versions']}, |
| 12 | +]; |
| 13 | + |
| 14 | + |
| 15 | +var newpages = [ |
| 16 | + {v: '0.1', pages: [ |
| 17 | + 'concepts', 'functions', 'index', 'installation', 'introduction', |
| 18 | + 'release_notes', 'sampledata', 'support', |
| 19 | + 'vrp_full_version', 'vrp_version', |
| 20 | + 'pgr-category.rst', 'vrp_oneDepot.rst', |
| 21 | + 'vrp_pgr_pickDeliver.rst', 'vrp_pgr_pickDeliverEuclidean.rst' |
| 22 | + ] }, |
| 23 | +]; |
| 24 | + |
| 25 | +var filesArr = [ ]; |
| 26 | + |
| 27 | +function get_titles(data, k) { |
| 28 | + for (var i = 0; i < data.length; i++) { |
| 29 | + if (data[i].k == k) { return data[i]; } |
| 30 | + } |
| 31 | + return ''; |
| 32 | +} |
| 33 | + |
| 34 | +function get_vdata(data, v, file, lang) { |
| 35 | + let info = ''; |
| 36 | + let link = ''; |
| 37 | + for (var i = 0; i < data.length; i++) { |
| 38 | + if (v <= data[i].v) { info = data[i]; break; } |
| 39 | + } |
| 40 | + if (info === '') { |
| 41 | + link = `${lang}/${file}.html">${v}</a>`; |
| 42 | + } else { |
| 43 | + link = `${lang}/${info.n}.html">${v}</a>`; |
| 44 | + } |
| 45 | + return link; |
| 46 | +} |
| 47 | + |
| 48 | +function get(name) { |
| 49 | + for (var i = 0; i < filesArr.length; i++) { |
| 50 | + if (filesArr[i].file === name) { return filesArr[i]; } |
| 51 | + } |
| 52 | +} |
| 53 | + |
| 54 | +function prepare() { |
| 55 | + for (var i = 0; i < newpages.length; i++) { |
| 56 | + for (var j = 0; j < newpages[i].pages.length; j++) { |
| 57 | + filesArr.push(new createInfo(newpages[i].pages[j], newpages[i].v)); |
| 58 | + } |
| 59 | + } |
| 60 | +} |
| 61 | + |
| 62 | +function get_history(name, lang) { |
| 63 | + prepare(); |
| 64 | + var data = get(name); |
| 65 | + var title = get_titles(titles, lang); |
| 66 | + var home = `<a class="reference external" href="https://pgvroom.pgrouting.org/`; |
| 67 | + var validlang = lang; |
| 68 | + |
| 69 | + var result; |
| 70 | + result = '<strong>' + title.v[0] + ':</strong>'; |
| 71 | + result += home + 'latest/' + validlang + '/' + data.file + '.html"> latest </a> '; |
| 72 | + |
| 73 | + latest = versionsArr[0]; |
| 74 | + for (var i = 0; i < versionsArr.length; i++) { |
| 75 | + validlang = lang; |
| 76 | + |
| 77 | + if (versionsArr[i] < data.newat) break; |
| 78 | + if (data.removedat != '' && versionsArr[i] > data.newat) break; |
| 79 | + |
| 80 | + /* for zh-Hans non translated versions use english */ |
| 81 | + validlang = (lang == 'zh-Hans' && versionsArr[i] >= '3.7')? 'zh_Hans' : 'en'; |
| 82 | + |
| 83 | + let link = `${home}${versionsArr[i]}/` |
| 84 | + link += get_vdata(data.altnames, versionsArr[i], data.file, validlang); |
| 85 | + if (versionsArr[i] == latest) result += '(' + link + ') '; |
| 86 | + else result += link + ' '; |
| 87 | + } |
| 88 | + result += home + 'main/' + lang + '/' + data.file + '.html"> main </a> '; |
| 89 | + result += home + 'dev/' + lang + '/' + data.file + '.html"> dev </a> '; |
| 90 | + |
| 91 | + if (data.newat <= unsupportedArr[0]) { |
| 92 | + result += '<br/><strong>' + title.v[1] + ':</strong>'; |
| 93 | + for (var i = 0; i < unsupportedArr.length; i++) { |
| 94 | + /* basically 2.x has only english */ |
| 95 | + validlang = 'en'; |
| 96 | + |
| 97 | + /* for spanish non translated versions use english */ |
| 98 | + validlang = (lang == 'es' && unsupportedArr[i] == '2.0')? 'es' : validlang; |
| 99 | + |
| 100 | + if (data.newat > unsupportedArr[i]) break; |
| 101 | + var link = home + unsupportedArr[i] + '/'; |
| 102 | + link += get_vdata(data.altnames, unsupportedArr[i], data.file, validlang); |
| 103 | + result += link + ' '; |
| 104 | + } |
| 105 | + } |
| 106 | + return result; |
| 107 | +} |
0 commit comments