You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

search.js 47 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173
  1. var token;
  2. if(isEmpty(token)){
  3. var meta = $("meta[name=_uid]");
  4. if(!isEmpty(meta)){
  5. token = meta.attr("content");
  6. console.log("token is uid:" + token);
  7. }
  8. }
  9. var html =document.documentElement;
  10. var lang = html.attributes["lang"]
  11. var isZh = true;
  12. if(lang != null && lang.nodeValue =="en-US" ){
  13. console.log("the language is " + lang.nodeValue);
  14. isZh=false;
  15. }else{
  16. console.log("default lang=zh");
  17. }
  18. function isEmpty(str){
  19. if(typeof str == "undefined" || str == null || str == ""){
  20. return true;
  21. }
  22. return false;
  23. }
  24. var itemType={
  25. "1":"repository",
  26. "2":"issue",
  27. "3":"user",
  28. "4":"org",
  29. "5":"dataset",
  30. "6":"pr"
  31. };
  32. var sortBy={
  33. "10":"default",
  34. "11":"updated_unix.keyword",
  35. "12":"num_watches",
  36. "13":"num_stars",
  37. "14":"num_forks",
  38. "20":"default",
  39. "21":"updated_unix.keyword",
  40. "30":"default",
  41. "31":"name.keyword",
  42. "32":"name.keyword",
  43. "33":"created_unix.keyword",
  44. "34":"created_unix.keyword",
  45. "40":"default",
  46. "41":"name.keyword",
  47. "42":"name.keyword",
  48. "43":"created_unix.keyword",
  49. "44":"created_unix.keyword",
  50. "50":"default",
  51. "51":"download_times.keyword",
  52. "60":"default",
  53. "61":"updated_unix.keyword"
  54. };
  55. var sortAscending={
  56. "10":"false",
  57. "11":"false",
  58. "12":"false",
  59. "13":"false",
  60. "14":"false",
  61. "20":"false",
  62. "21":"false",
  63. "30":"false",
  64. "31":"true",
  65. "32":"false",
  66. "33":"false",
  67. "34":"true",
  68. "40":"false",
  69. "41":"true",
  70. "42":"false",
  71. "43":"false",
  72. "44":"true",
  73. "50":"false",
  74. "51":"false",
  75. "60":"false",
  76. "61":"false"
  77. };
  78. var currentPage = 1;
  79. var pageSize = 15;
  80. var currentSearchTableName ="repository";
  81. var currentSearchKeyword="";
  82. var currentSearchSortBy="";
  83. var currentSearchAscending=false;
  84. var OnlySearchLabel=false;
  85. var startIndex =1;
  86. var endIndex = 5;
  87. var totalPage = 1;
  88. var totalNum = 0;
  89. var privateTotal = 0;
  90. function initPageInfo(){
  91. currentPage = 1;
  92. startIndex =1;
  93. endIndex = 5;
  94. }
  95. function searchItem(type,sortType){
  96. console.log("enter item 2.");
  97. currentSearchKeyword = document.getElementById("keyword_input").value;
  98. if(!isEmpty(currentSearchKeyword)){
  99. initPageInfo();
  100. currentSearchTableName = itemType[type];
  101. currentSearchSortBy = sortBy[sortType];
  102. currentSearchAscending = sortAscending[sortType];
  103. OnlySearchLabel =false;
  104. page(currentPage);
  105. }
  106. }
  107. function search(){
  108. console.log("enter here 1.");
  109. currentSearchKeyword = document.getElementById("keyword_input").value;
  110. $('#searchForm').addClass("hiddenSearch");
  111. initPageInfo();
  112. if(!isEmpty(currentSearchKeyword)){
  113. currentSearchSortBy = sortBy[10];
  114. currentSearchAscending = false;
  115. OnlySearchLabel =false;
  116. page(currentPage);
  117. if(currentSearchTableName != "repository"){
  118. doSearch("repository",currentSearchKeyword,1,pageSize,true,"",false);
  119. }
  120. if(currentSearchTableName != "issue"){
  121. doSearch("issue",currentSearchKeyword,1,pageSize,true,"",false);
  122. }
  123. if(currentSearchTableName != "user"){
  124. doSearch("user",currentSearchKeyword,1,pageSize,true,"",false);
  125. }
  126. if(currentSearchTableName != "org"){
  127. doSearch("org",currentSearchKeyword,1,pageSize,true,"",false);
  128. }
  129. if(currentSearchTableName != "dataset"){
  130. doSearch("dataset",currentSearchKeyword,1,pageSize,true,"",false);
  131. }
  132. if(currentSearchTableName != "pr"){
  133. doSearch("pr",currentSearchKeyword,1,pageSize,true,"",false);
  134. }
  135. }
  136. }
  137. function initDiv(isSearchLabel=false){
  138. if(isSearchLabel){
  139. document.getElementById("search_div").style.display="none";
  140. document.getElementById("search_label_div").style.display="block";
  141. document.getElementById("dataset_item").style.display="none";
  142. document.getElementById("issue_item").style.display="none";
  143. document.getElementById("pr_item").style.display="none";
  144. document.getElementById("user_item").style.display="none";
  145. document.getElementById("org_item").style.display="none";
  146. document.getElementById("find_id").innerHTML="";
  147. }else{
  148. document.getElementById("search_div").style.display="block";
  149. document.getElementById("search_label_div").style.display="none";
  150. document.getElementById("dataset_item").style.display="block";
  151. document.getElementById("issue_item").style.display="block";
  152. document.getElementById("pr_item").style.display="block";
  153. document.getElementById("user_item").style.display="block";
  154. document.getElementById("org_item").style.display="block";
  155. document.getElementById("find_id").innerHTML=getLabel(isZh,"search_finded");
  156. }
  157. }
  158. function searchLabel(tableName,keyword,sortBy="",ascending=false){
  159. console.log("enter label search.");
  160. initDiv(true);
  161. //document.getElementById("search_div").style.display="none";
  162. //document.getElementById("search_label_div").style.display="block";
  163. document.getElementById("search_label_div").innerHTML="<p class=\"searchlabel\">#" + keyword + "</p>";
  164. currentSearchKeyword = keyword;
  165. initPageInfo();
  166. currentSearchTableName = tableName;
  167. currentSearchSortBy = sortBy;
  168. currentSearchAscending = ascending;
  169. OnlySearchLabel =true;
  170. page(currentPage);
  171. }
  172. function doSearch(tableName,keyword,page,pageSize=15,onlyReturnNum=true,sortBy="",OnlySearchLabel=false){
  173. var language = "zh-CN";
  174. if(!isZh){
  175. language="en-US";
  176. }
  177. $.ajax({
  178. type:"GET",
  179. url:"/all/dosearch/",
  180. headers: {
  181. authorization:token,
  182. },
  183. dataType:"json",
  184. data:{
  185. 'TableName': tableName,
  186. 'Key': keyword,
  187. 'Page': page,
  188. 'PageSize': pageSize,
  189. 'OnlyReturnNum':onlyReturnNum,
  190. 'SortBy':sortBy,
  191. 'OnlySearchLabel':OnlySearchLabel,
  192. 'Ascending':currentSearchAscending,
  193. 'WebTotal':totalNum,
  194. 'PrivateTotal':privateTotal,
  195. 'language':language
  196. },
  197. async:true,
  198. success:function(json){
  199. console.log("tableName=" + tableName);
  200. console.log(json);
  201. displayResult(tableName,page,json,onlyReturnNum,keyword);
  202. },
  203. error:function(response) {
  204. console.log(response);
  205. }
  206. });
  207. }
  208. function displayResult(tableName,page,jsonResult,onlyReturnNum,keyword){
  209. if(tableName == "repository") {
  210. displayRepoResult(page,jsonResult,onlyReturnNum,keyword);
  211. } else if (tableName == "issue") {
  212. displayIssueResult(page,jsonResult,onlyReturnNum,keyword);
  213. } else if (tableName == "user") {
  214. displayUserResult(page,jsonResult,onlyReturnNum,keyword);
  215. } else if (tableName == "org") {
  216. displayOrgResult(page,jsonResult,onlyReturnNum,keyword);
  217. } else if (tableName == "dataset") {
  218. displayDataSetResult(page,jsonResult,onlyReturnNum,keyword);
  219. } else if (tableName == "pr") {
  220. displayPrResult(page,jsonResult,onlyReturnNum,keyword);
  221. }
  222. if(!onlyReturnNum){
  223. console.log("set total num." + tableName);
  224. totalPage =Math.ceil(jsonResult.Total/pageSize);
  225. totalNum = jsonResult.Total;
  226. privateTotal = jsonResult.PrivateTotal;
  227. setPage(page);
  228. }
  229. }
  230. function displayPrResult(page,jsonResult,onlyReturnNum,keyword){
  231. var data = jsonResult.Result;
  232. var total = jsonResult.Total;
  233. $('#pr_total').text(total);
  234. if(!onlyReturnNum){
  235. setActivate("pr_item");
  236. $('#keyword_desc').text(keyword);
  237. $('#obj_desc').text(getLabel(isZh,"search_pr"));
  238. $('#child_total').text(total);
  239. setIssueOrPrInnerHtml(data,"pulls");
  240. }
  241. }
  242. var categoryDesc={
  243. "computer_vision":"计算机视觉",
  244. "natural_language_processing":"自然语言处理",
  245. "speech_processing":"语音处理",
  246. "computer_vision_natural_language_processing":"计算机视觉、自然语言处理"
  247. };
  248. var taskDesc={
  249. "machine_translation":"机器翻译",
  250. "question_answering_system":"问答系统",
  251. "information_retrieval":"信息检索",
  252. "knowledge_graph":"知识图谱",
  253. "text_annotation":"文本标注",
  254. "text_categorization":"文本分类",
  255. "emotion_analysis":"情感分析",
  256. "language_modeling":"语言建模",
  257. "speech_recognition":"语音识别",
  258. "automatic_digest":"自动文摘",
  259. "information_extraction":"信息抽取",
  260. "description_generation":"说明生成",
  261. "image_classification":"图像分类",
  262. "face_recognition":"人脸识别",
  263. "image_search":"图像搜索",
  264. "target_detection":"目标检测",
  265. "image_description_generation":"图像描述生成",
  266. "vehicle_license_plate_recognition":"车辆车牌识别",
  267. "medical_image_analysis":"医学图像分析",
  268. "unmanned":"无人驾驶",
  269. "unmanned_security":"无人安防",
  270. "drone":"无人机",
  271. "vr_ar":"VR/AR",
  272. "2_d_vision":"2-D视觉",
  273. "2_5_d_vision":"2.5-D视觉",
  274. "3_d_reconstruction":"3D重构",
  275. "image_processing":"图像处理",
  276. "video_processing":"视频处理",
  277. "visual_input_system":"视觉输入系统",
  278. "speech_coding":"语音编码",
  279. "speech_enhancement":"语音增强",
  280. "speech_recognition":"语音识别",
  281. "speech_synthesis":"语音合成"
  282. };
  283. function getCategoryDesc(key){
  284. var re = categoryDesc[key];
  285. if(isEmpty(re)){
  286. return key;
  287. }
  288. return re;
  289. }
  290. function getTaskDesc(key){
  291. var re = taskDesc[key];
  292. if(isEmpty(re)){
  293. return key;
  294. }
  295. return re;
  296. }
  297. function getActiveItem(sort_type){
  298. console.log("currentSearchSortBy=" + currentSearchSortBy + " sort_type=" + sortBy[sort_type]);
  299. if(currentSearchSortBy == sortBy[sort_type]){
  300. return "active ";
  301. }else{
  302. return "";
  303. }
  304. }
  305. function displayDataSetResult(page,jsonResult,onlyReturnNum,keyword){
  306. var data = jsonResult.Result;
  307. var total = jsonResult.Total;
  308. $('#dataset_total').text(total);
  309. if(!onlyReturnNum){
  310. setActivate("dataset_item");
  311. $('#keyword_desc').text(keyword);
  312. $('#obj_desc').text(getLabel(isZh,"search_dataset"));
  313. $('#child_total').text(total);
  314. var sortHtml = "";
  315. sortHtml +="<a class=\"" + getActiveItem(50) + "item\" href=\"javascript:searchItem(5,50);\" tabindex=\"-1\" role=\"menuitem\" id=\"menuitem_1\">"+ getLabel(isZh,"search_matched") + "</a>";
  316. sortHtml +="<a class=\"" + getActiveItem(51) + "item\" href=\"javascript:searchItem(5,51);\" tabindex=\"-1\" role=\"menuitem\" id=\"menuitem_1\">"+ getLabel(isZh,"search_matched_download") + "</a>";
  317. document.getElementById("sort_type").innerHTML=sortHtml;
  318. var html = "";
  319. var currentTime = new Date().getTime();
  320. for(var i = 0; i < data.length;i++){
  321. var recordMap = data[i];
  322. html += "<div class=\"item\">";
  323. html += " <div class=\"content\">";
  324. html += " <div class=\"ui right metas\">" ;
  325. if(!isEmpty(recordMap["category"])){
  326. html += " <span class=\"text grey\"><svg class=\"svg octicon-tasklist\" width=\"16\" height=\"16\" aria-hidden=\"true\"><use xlink:href=\"#octicon-tasklist\" /></svg> " + getCategoryDesc(recordMap["category"]) + "</span>";
  327. }
  328. if(!isEmpty(recordMap["task"])){
  329. html += " <span class=\"text grey\"><svg class=\"svg octicon-tag\" width=\"16\" height=\"16\" aria-hidden=\"true\"><use xlink:href=\"#octicon-tag\" /></svg>" + getTaskDesc(recordMap["task"]) + "</span>";
  330. }
  331. html += " <span class=\"text grey\"><i class=\"ri-fire-line\"></i> " +recordMap["download_times"] + "</span> ";
  332. html +=" </div>";
  333. html += " <div class=\"ui header\">";
  334. html += " <a class=\"name\" href=\"/" +recordMap["repoUrl"] +"/datasets?type=0\" target=\"_blank\">" + recordMap["title"] + "</a>";
  335. html +=" <span class=\"middle\"><svg class=\"svg octicon-repo-clone\" width=\"16\" height=\"16\" aria-hidden=\"true\"><use xlink:href=\"#octicon-repo-clone\"></use></svg></span>";
  336. html +=" </div>";
  337. html += " <div class=\"description\">";
  338. html += " <p class=\"has-emoji\"> " + recordMap["description"] + "</p>";
  339. if(!isEmpty(recordMap["file_name"])){
  340. html += " <p class=\"has-emoji\"> " + recordMap["file_name"] + "</p>";
  341. }
  342. html +=" <p class=\"time\">";
  343. html +=" <span class=\"am-ml-10\"></span> "+ getLabel(isZh,"search_lasted_update") + " " + recordMap["updated_html"];
  344. html +=" </p>";
  345. html +=" </div>";
  346. html +=" </div>";
  347. html +="</div>";
  348. }
  349. document.getElementById("child_search_item").innerHTML=html;
  350. }
  351. }
  352. function displayOrgResult(page,jsonResult,onlyReturnNum,keyword){
  353. var data = jsonResult.Result;
  354. var total = jsonResult.Total;
  355. $('#org_total').text(total);
  356. if(!onlyReturnNum){
  357. setActivate("org_item");
  358. $('#keyword_desc').text(keyword);
  359. $('#obj_desc').text(getLabel(isZh,"search_org"));
  360. $('#child_total').text(total);
  361. var sortHtml = "";
  362. sortHtml +="<a class=\"" + getActiveItem(40) + "item\" href=\"javascript:searchItem(4,40);\" tabindex=\"-1\" role=\"menuitem\" id=\"menuitem_1\">"+ getLabel(isZh,"search_matched") + "</a>";
  363. sortHtml +="<a class=\"" + getActiveItem(41) + "item\" href=\"javascript:searchItem(4,41);\" tabindex=\"-1\" role=\"menuitem\" id=\"menuitem_1\">"+ getLabel(isZh,"search_letter_asc") + "</a>";
  364. sortHtml +="<a class=\"" + getActiveItem(42) + "item\" href=\"javascript:searchItem(4,42);\" tabindex=\"-1\" role=\"menuitem\" id=\"menuitem_2\">"+ getLabel(isZh,"search_letter_desc") + "</a>";
  365. sortHtml +="<a class=\"" + getActiveItem(43) + "item\" href=\"javascript:searchItem(4,43);\" tabindex=\"-1\" role=\"menuitem\" id=\"menuitem_2\">"+ getLabel(isZh,"search_lasted_create") + "</a>";
  366. sortHtml +="<a class=\"" + getActiveItem(44) + "item\" href=\"javascript:searchItem(4,44);\" tabindex=\"-1\" role=\"menuitem\" id=\"menuitem_2\">"+ getLabel(isZh,"search_early_create") + "</a>";
  367. document.getElementById("sort_type").innerHTML=sortHtml;
  368. var html = "";
  369. var currentTime = new Date().getTime();
  370. for(var i = 0; i < data.length;i++){
  371. var recordMap = data[i];
  372. html += "<div class=\"item members\">";
  373. html += "<img class=\"ui avatar image\" src=\"" + recordMap["avatar"] + "\"></img>";
  374. html += " <div class=\"content\">";
  375. html += " <div class=\"ui header\">";
  376. html += " <a class=\"name\" href=\"/" + recordMap["real_name"] +"\" target=\"_blank\">" + recordMap["name"] + "&nbsp;&nbsp;" + recordMap["full_name"] + "</a>";
  377. html +=" </div>";
  378. html += " <div class=\"description\">";
  379. html += " <p class=\"has-emoji\"> " + recordMap["description"] + "</p>";
  380. html +=" <p class=\"has-emoji\">";
  381. if(!isEmpty(recordMap["location"]) && recordMap["location"] != "null"){
  382. html +=" <i class=\"ri-map-pin-2-line\"></i> " + recordMap["location"];
  383. }
  384. html +=" <span class=\"am-ml-10\"></span>";
  385. if(!isEmpty(recordMap["website"]) && recordMap["website"] != "null"){
  386. html +=" <i class=\"ri-links-line\"></i>" + "<a href=\""+ recordMap["website"] + "\" target=\"_blank\">" + recordMap["website"] + "</a>";
  387. }
  388. html +=" <i class=\"ri-time-line am-ml-10\"></i> "+ getLabel(isZh,"search_add_by") + " ";
  389. html += recordMap["add_time"]
  390. html +=" </p>";
  391. html +=" </div>";
  392. html +=" </div>";
  393. html +="</div>";
  394. }
  395. document.getElementById("child_search_item").innerHTML=html;
  396. }
  397. }
  398. var monthDisplay=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Spt","Oct","Nov","Dec");
  399. function displayUserResult(page,jsonResult,onlyReturnNum,keyword){
  400. var data = jsonResult.Result;
  401. var total = jsonResult.Total;
  402. $('#user_total').text(total);
  403. if(!onlyReturnNum){
  404. setActivate("user_item");
  405. $('#keyword_desc').text(keyword);
  406. $('#obj_desc').text(getLabel(isZh,"search_user"));
  407. $('#child_total').text(total);
  408. var sortHtml = "";//equal user sort by
  409. sortHtml +="<a class=\"" + getActiveItem(30) + "item\" href=\"javascript:searchItem(3,30);\" tabindex=\"-1\" role=\"menuitem\" id=\"menuitem_1\">"+ getLabel(isZh,"search_matched") + "</a>";
  410. sortHtml +="<a class=\"" + getActiveItem(31) + "item\" href=\"javascript:searchItem(3,31);\" tabindex=\"-1\" role=\"menuitem\" id=\"menuitem_1\">"+ getLabel(isZh,"search_letter_asc") + "</a>";
  411. sortHtml +="<a class=\"" + getActiveItem(32) + "item\" href=\"javascript:searchItem(3,32);\" tabindex=\"-1\" role=\"menuitem\" id=\"menuitem_2\">"+ getLabel(isZh,"search_letter_desc") + "</a>";
  412. sortHtml +="<a class=\"" + getActiveItem(33) + "item\" href=\"javascript:searchItem(3,33);\" tabindex=\"-1\" role=\"menuitem\" id=\"menuitem_2\">"+ getLabel(isZh,"search_lasted_create") + "</a>";
  413. sortHtml +="<a class=\"" + getActiveItem(34) + "item\" href=\"javascript:searchItem(3,34);\" tabindex=\"-1\" role=\"menuitem\" id=\"menuitem_2\">"+ getLabel(isZh,"search_early_create") + "</a>";
  414. document.getElementById("sort_type").innerHTML=sortHtml;
  415. var html = "";
  416. var currentTime = new Date().getTime();
  417. for(var i = 0; i < data.length;i++){
  418. var recordMap = data[i];
  419. html += "<div class=\"item members\">";
  420. html += "<img class=\"ui avatar image\" src=\"" + recordMap["avatar"] + "\"></img>";
  421. html += " <div class=\"content\">";
  422. html += " <div class=\"ui header\">";
  423. html += " <a class=\"name\" href=\"/" + recordMap["real_name"] +"\" target=\"_blank\">" + recordMap["name"] + "&nbsp;&nbsp;" + recordMap["full_name"] + "</a>";
  424. html +=" </div>";
  425. html += " <div class=\"description\">";
  426. html += " <p class=\"has-emoji\"> " + recordMap["description"] + "</p>";
  427. html +=" <p class=\"has-emoji\">";
  428. if(!isEmpty(recordMap["email"]) && recordMap["email"] != "null"){
  429. html +=" <i class=\"ri-mail-line\"></i>&nbsp;<a href=\"mailto:" + recordMap["email"] + "\" rel=\"nofollow\">" + recordMap["email"] + "</a>";
  430. }
  431. html +=" <i class=\"ri-time-line am-ml-10\"></i> "+ getLabel(isZh,"search_add_by") + " ";
  432. html += recordMap["add_time"]
  433. html +=" </p>";
  434. html +=" </div>";
  435. html +=" </div>";
  436. html +="</div>";
  437. }
  438. document.getElementById("child_search_item").innerHTML=html;
  439. }
  440. }
  441. function setIssueOrPrInnerHtml(data,path){
  442. var sortHtml = "";
  443. if(path =="issues"){
  444. sortHtml +="<a class=\"" + getActiveItem(20) + "item\" href=\"javascript:searchItem(2,20);\" tabindex=\"-1\" role=\"menuitem\" id=\"menuitem_1\">"+ getLabel(isZh,"search_matched") + "</a>";
  445. sortHtml +="<a class=\"" + getActiveItem(21) + "item\" href=\"javascript:searchItem(2,21);\" tabindex=\"-1\" role=\"menuitem\" id=\"menuitem_1\">"+ getLabel(isZh,"search_lasted") + "</a>";
  446. }else{
  447. sortHtml +="<a class=\"" + getActiveItem(60) + "item\" href=\"javascript:searchItem(6,60);\" tabindex=\"-1\" role=\"menuitem\" id=\"menuitem_1\">"+ getLabel(isZh,"search_matched") + "</a>";
  448. sortHtml +="<a class=\"" + getActiveItem(61) + "item\" href=\"javascript:searchItem(6,61);\" tabindex=\"-1\" role=\"menuitem\" id=\"menuitem_1\">"+ getLabel(isZh,"search_lasted") + "</a>";
  449. }
  450. document.getElementById("sort_type").innerHTML=sortHtml;
  451. var html = "";
  452. var currentTime = new Date().getTime();
  453. for(var i = 0; i < data.length;i++){
  454. var recordMap = data[i];
  455. html += "<div class=\"item\">";
  456. html += " <div class=\"content\">";
  457. html += " <div class=\"ui header\">";
  458. html += " <a class=\"name\" href=\"/" + recordMap["repoUrl"] +"/" + path + "/" + recordMap["index"] + "\" target=\"_blank\">" + recordMap["name"] + "</a>";
  459. html +=" </div>";
  460. html += " <div class=\"description\">";
  461. html += " <p class=\"has-emoji\"> " + recordMap["content"] + "</p>";
  462. html +=" <p class=\"time\">";
  463. html +=" <i class=\"ri-code-box-line\"></i>";
  464. html +=" <a class=\"am-text grey\" href=\"/" + recordMap["repoUrl"] +"/" + path + "/" + recordMap["index"] + "\" target=\"_blank\"> " + recordMap["repoUrl"] +"#" + recordMap["index"] + "</a>&nbsp;&nbsp;&nbsp;&nbsp;";
  465. html +=" <i class=\"ri-information-line am-ml-10\"></i>&nbsp;";
  466. if(recordMap["is_closed"] != null && (!(recordMap["is_closed"]) || recordMap["is_closed"]=="f")){
  467. html += getLabel(isZh,"search_open");
  468. }else{
  469. html += getLabel(isZh,"search_closed");
  470. }
  471. html +=" &nbsp;&nbsp;&nbsp;&nbsp;<i class=\"ri-message-2-line am-ml-10\"></i>&nbsp;" + recordMap["num_comments"];
  472. html +=" <span class=\"am-ml-10\">&nbsp;&nbsp;</span>&nbsp;&nbsp;"+ getLabel(isZh,"search_lasted_update") + " "+ recordMap["updated_html"];
  473. html +=" </p>";
  474. html +=" </div>";
  475. html +=" </div>";
  476. html +="</div>";
  477. }
  478. document.getElementById("child_search_item").innerHTML=html;
  479. }
  480. function displayIssueResult(page,jsonResult,onlyReturnNum,keyword){
  481. var data = jsonResult.Result;
  482. var total = jsonResult.Total;
  483. $('#issue_total').text(total);
  484. if(!onlyReturnNum){
  485. setActivate("issue_item");
  486. $('#keyword_desc').text(keyword);
  487. $('#obj_desc').text(getLabel(isZh,"search_issue"));
  488. $('#child_total').text(total);
  489. setIssueOrPrInnerHtml(data,"issues");
  490. }
  491. }
  492. function setActivate(name){
  493. $('#repo_item').removeClass("active");
  494. $('#user_item').removeClass("active");
  495. $('#issue_item').removeClass("active");
  496. $('#dataset_item').removeClass("active");
  497. $('#org_item').removeClass("active");
  498. $('#pr_item').removeClass("active");
  499. var tmp = "#" + name;
  500. $(tmp).addClass("active");
  501. }
  502. function displayRepoResult(page,jsonResult,onlyReturnNum,keyword){
  503. var data = jsonResult.Result;
  504. var total = jsonResult.Total;
  505. $('#repo_total').text(total);
  506. if(!onlyReturnNum){
  507. setActivate("repo_item");
  508. $('#keyword_desc').text(keyword);
  509. $('#obj_desc').text(getLabel(isZh,"search_repo"));
  510. $('#child_total').text(total);
  511. var sortHtml = "";
  512. sortHtml +="<a class=\"" + getActiveItem(10) + "item\" href=\"javascript:searchItem(1,10);\" tabindex=\"-1\" role=\"menuitem\" id=\"menuitem_1\">"+ getLabel(isZh,"search_matched") + "</a>";
  513. sortHtml +="<a class=\"" + getActiveItem(11) + "item\" href=\"javascript:searchItem(1,11);\" tabindex=\"-1\" role=\"menuitem\" id=\"menuitem_1\">"+ getLabel(isZh,"search_lasted") + "</a>";
  514. sortHtml +="<a class=\"" + getActiveItem(12) + "item\" href=\"javascript:searchItem(1,12);\" tabindex=\"-1\" role=\"menuitem\" id=\"menuitem_1\">"+ getLabel(isZh,"search_watched") + "</a>";
  515. sortHtml +="<a class=\"" + getActiveItem(13) + "item\" href=\"javascript:searchItem(1,13);\" tabindex=\"-1\" role=\"menuitem\" id=\"menuitem_1\">"+ getLabel(isZh,"search_star") + "</a>";
  516. sortHtml +="<a class=\"" + getActiveItem(14) + "item\" href=\"javascript:searchItem(1,14);\" tabindex=\"-1\" role=\"menuitem\" id=\"menuitem_1\">"+ getLabel(isZh,"search_fork") + "</a>";
  517. document.getElementById("sort_type").innerHTML=sortHtml;
  518. var html = "";
  519. var currentTime = new Date().getTime();
  520. for(var i = 0; i < data.length;i++){
  521. var recordMap = data[i];
  522. html += "<div class=\"item\">";
  523. if(!isEmpty(recordMap['avatar'])){
  524. html += "<img class=\"ui avatar image\" src=\"" + recordMap['avatar'] + "\">";
  525. }
  526. html += " <div class=\"content\">";
  527. html += " <div class=\"ui header\">";
  528. html += " <a class=\"name\" href=\"/" + recordMap["owner_name"] + "/" + recordMap["real_name"] +"\" target=\"_blank\"> <span>" + recordMap["owner_name"] +"</span> <span>/</span> <strong>" + recordMap["alias"] + "</strong></a>";
  529. if(recordMap["is_private"]){
  530. html +=" <span class=\"middle text gold\"><svg class=\"svg octicon-lock\" width=\"16\" height=\"16\" aria-hidden=\"true\"><use xlink:href=\"#octicon-lock\" /></svg></span>";
  531. }
  532. html +=" </div>";
  533. html += " <div class=\"description\">";
  534. html += " <p class=\"has-emoji\"> " + recordMap["description"] + "</p>";
  535. html += " <div class=\"ui tags\">";
  536. if(!isEmpty(recordMap["topics"]) && recordMap["topics"] !="null"){
  537. for(var j = 0; j < recordMap["topics"].length;j++){
  538. //function searchLabel(tableName,keyword,sortBy="",ascending=false)
  539. html +=" <a href=\"javascript:searchLabel('repository','" + recordMap["topics"][j] + "','updated_unix.keyword',false);\" ><div class=\"ui small label topic\">"+ recordMap["hightTopics"][j] + "</div></a>";
  540. }
  541. }
  542. html +=" </div>";
  543. html +=" <p class=\"time\">";
  544. html +=" <i class=\"icon fa-eye outline\"></i>&nbsp;" + recordMap["num_watches"] + "&nbsp;&nbsp;<i class=\"icon star outline\"></i>&nbsp;" + recordMap["num_stars"] + "&nbsp;&nbsp;<i class=\"icon code branch\"></i>&nbsp;" + recordMap["num_forks"] +"&nbsp;&nbsp;";
  545. html +="&nbsp;&nbsp;&nbsp;&nbsp;"+ getLabel(isZh,"search_lasted_update") + " " + recordMap["updated_html"];
  546. if(!isEmpty(recordMap["lang"])){
  547. var lang = recordMap["lang"]
  548. var tmpLang = recordMap["lang"].split(",");
  549. if(tmpLang.length>0){
  550. lang = tmpLang[0]
  551. }
  552. var backColor = "#3572A5";
  553. if(LanguagesColor[lang] != null){
  554. backColor = LanguagesColor[lang];
  555. }
  556. html +=" <span class=\"text grey am-ml-10\"><i class=\"color-icon\" style=\"background-color: "+ backColor + "\"></i>&nbsp;" + lang + "</span>";
  557. }
  558. html +=" </p>";
  559. html +=" </div>";
  560. html +=" </div>";
  561. html +="</div>";
  562. }
  563. document.getElementById("child_search_item").innerHTML=html;
  564. }
  565. }
  566. function getTime(UpdatedUnix,currentTime){
  567. UpdatedUnix = UpdatedUnix;
  568. currentTime = currentTime / 1000;
  569. var timeEscSecond = currentTime - UpdatedUnix;
  570. if( timeEscSecond < 0){
  571. timeEscSecond = 1;
  572. }
  573. console.log("currentTime=" + currentTime + " updateUnix=" + UpdatedUnix);
  574. var hours= Math.floor(timeEscSecond / 3600);
  575. //计算相差分钟数
  576. var leave2 = Math.floor(timeEscSecond % (3600)); //计算小时数后剩余的秒数
  577. var minutes= Math.floor(leave2 / 60);//计算相差分钟数
  578. var leave3=Math.floor(leave2 % 60); //计算分钟数后剩余的秒数
  579. var seconds= leave3;
  580. if(hours == 0 && minutes == 0){
  581. return seconds + getRepoOrOrg(6,isZh);
  582. }else{
  583. if(hours > 0){
  584. if(hours >= 24){
  585. var days = Math.ceil(hours/24)
  586. if (days >= 30 && days <365){
  587. return Math.ceil(days/30) + getRepoOrOrg(8,isZh);
  588. }else if(days >= 365){
  589. return Math.ceil(days/365) + getRepoOrOrg(9,isZh);
  590. }
  591. return Math.ceil(hours/24) + getRepoOrOrg(7,isZh);
  592. }else{
  593. return hours + getRepoOrOrg(4,isZh);
  594. }
  595. }else{
  596. return minutes + getRepoOrOrg(5,isZh);
  597. }
  598. }
  599. }
  600. function getRepoOrOrg(key,isZhLang){
  601. if(isZhLang){
  602. return repoAndOrgZH[key];
  603. }else{
  604. return repoAndOrgEN[key];
  605. }
  606. }
  607. var repoAndOrgZH={
  608. "1":"项目",
  609. "2":"成员",
  610. "3":"团队",
  611. "4":"小时前",
  612. "5":"分钟前",
  613. "6":"秒前",
  614. "7":"天前",
  615. "8":"个月前",
  616. "9":"年前"
  617. };
  618. var repoAndOrgEN={
  619. "1":"repository",
  620. "2":"Members ",
  621. "3":"Teams",
  622. "4":" hours ago",
  623. "5":" minutes ago",
  624. "6":" seconds ago",
  625. "7":" day ago",
  626. "8":" month ago",
  627. "9":" year ago"
  628. };
  629. function page(current){
  630. currentPage=current;
  631. doSearch(currentSearchTableName,currentSearchKeyword,current,pageSize,false,currentSearchSortBy,OnlySearchLabel);
  632. }
  633. function nextPage(){
  634. currentPage = currentPage+1;
  635. console.log("currentPage=" + currentPage);
  636. if(currentPage >= endIndex){
  637. startIndex=startIndex+1;
  638. endIndex = endIndex +1;
  639. }
  640. page(currentPage);
  641. }
  642. function prePage(){
  643. console.log("currentPage=" + currentPage);
  644. if(currentPage > 1){
  645. currentPage = currentPage-1;
  646. if(currentPage <= startIndex && startIndex > 1){
  647. startIndex = startIndex -1;
  648. endIndex = endIndex - 1;
  649. }
  650. console.log("currentPage=" + (currentPage));
  651. page(currentPage);
  652. }
  653. }
  654. function getXPosition(e){
  655. var x=e.offsetLeft;
  656. while(e=e.offsetParent)
  657. {
  658. x+=e.offsetLeft;
  659. }
  660. return x+20;//-260防止屏幕超出
  661. }
  662. //获取y坐标
  663. function getYPosition(e){
  664. var y=e.offsetTop;
  665. while(e=e.offsetParent)
  666. {
  667. y+=e.offsetTop;
  668. }
  669. return y+20;//80为input高度
  670. }
  671. function goPage(event){
  672. var inputpage = document.getElementById("inputpage_div")
  673. var left = getXPosition(event.target);
  674. var top = getYPosition(event.target);
  675. var goNum = $('#inputpage').val();
  676. if (goNum<=0){
  677. showTip(getLabel(isZh,"search_input_large_0"),"warning",left+5,top);
  678. }
  679. else if(goNum<=totalPage){
  680. page(goNum);
  681. }
  682. else{
  683. showTip(getLabel(isZh,"search_input_maxed"),"warning",left+5,top);
  684. }
  685. }
  686. function showTip(tip, type,left,top) {
  687. var $tip = $('#tipmsg');
  688. var tipmsg = document.getElementById("tipmsg")
  689. var style="z-index:10024;top:" + top + "px;left:" + left + "px;position:absolute;width:200px;height:60px;vertical-align:middle;";
  690. console.log(style);
  691. tipmsg.style = style;
  692. var html ="<p>" + tip + "</p>"
  693. $tip.stop(true).prop('class', 'alert alert-' + type).html(html).fadeIn(500).delay(2000).fadeOut(500);
  694. }
  695. function setPage(currentPage){
  696. console.log("totalPage=" + totalPage);
  697. var html ="";
  698. console.log("currentPage=" + currentPage);
  699. console.log("privateTotal=" + privateTotal);
  700. // if(totalPage==0){
  701. // return;
  702. // }
  703. html += "<span class=\"item\">" + getLabel(isZh,"search_input_total") + " " + totalNum + " " + getLabel(isZh,"search_srtip") + "</span>"
  704. if(currentPage > 1){
  705. html += "<a class=\"item navigation\" href=\"javascript:page(1)\"><span class=\"navigation_label\">" + getLabel(isZh,"search_home_page") + "</span></a>";
  706. html += "<a class=\"item navigation\" href=\"javascript:prePage()\"><i class=\"left arrow icon\"></i></a>";
  707. }else{
  708. html += "<a class=\"disabled item navigation\" href=\"javascript:page(1)\"><span class=\"navigation_label\">" + getLabel(isZh,"search_home_page") + "</span></a>";
  709. html += "<a class=\"disabled item navigation\" href=\"javascript:prePage()\"><i class=\"left arrow icon\"></i></a>";
  710. }
  711. for(var i=startIndex; i <= endIndex; i++){
  712. var page_i = i;
  713. if(page_i > totalPage){
  714. break;
  715. }
  716. if( page_i == currentPage){
  717. html += "<a id=\"page_" + page_i+ "\" class=\"active item\" href=\"javascript:page(" + page_i +")\">" + page_i + "</a>";
  718. }else{
  719. html += "<a id=\"page_" + page_i+ "\" class=\"item\" href=\"javascript:page(" + page_i +")\">" + page_i + "</a>";
  720. }
  721. }
  722. if(currentPage >=totalPage){
  723. html += "<a class=\"disabled item navigation\" href=\"javascript:nextPage()\"><i class=\"icon right arrow\"></i></a>";
  724. html += "<a class=\"disabled item navigation\" href=\"javascript:page(" + totalPage + ")\"><span class=\"navigation_label\">" + getLabel(isZh,"search_last_page") + "</span></a>";
  725. }else{
  726. html += "<a class=\"item navigation\" href=\"javascript:nextPage()\"><i class=\"icon right arrow\"></i></a>";
  727. html += "<a class=\"item navigation\" href=\"javascript:page(" + totalPage + ")\"><span class=\"navigation_label\">" + getLabel(isZh,"search_last_page") + "</span></a>";
  728. }
  729. html +="<div class=\"item\"> " + getLabel(isZh,"search_go_to") + "<div id=\"inputpage_div\" class=\"ui input\"><input id=\"inputpage\" type=\"text\"></div>" + getLabel(isZh,"search_go_page") + "</div>";
  730. console.log("html=" + html)
  731. document.getElementById("page_menu").innerHTML=html;
  732. $('#inputpage').on('keypress',function(event){
  733. if(event.keyCode == 13){
  734. goPage(event);
  735. }
  736. });
  737. }
  738. $('#keyword_input').on('keypress',function(event){
  739. if(event.keyCode == 13){
  740. var keyword = $('#keyword_input').val();
  741. if(!isEmpty(keyword)){
  742. search();
  743. }
  744. }
  745. });
  746. document.onreadystatechange = function() {
  747. if (document.readyState === "complete") {
  748. var keyword = $('#keyword_input').val();
  749. if(!isEmpty(keyword)){
  750. search();
  751. }
  752. }
  753. }
  754. var LanguagesColor = {
  755. "1C Enterprise": "#814CCC",
  756. "ABAP": "#E8274B",
  757. "AGS Script": "#B9D9FF",
  758. "AMPL": "#E6EFBB",
  759. "ANTLR": "#9DC3FF",
  760. "API Blueprint": "#2ACCA8",
  761. "APL": "#5A8164",
  762. "ASP": "#6a40fd",
  763. "ATS": "#1ac620",
  764. "ActionScript": "#882B0F",
  765. "Ada": "#02f88c",
  766. "Agda": "#315665",
  767. "Alloy": "#64C800",
  768. "AngelScript": "#C7D7DC",
  769. "AppleScript": "#101F1F",
  770. "Arc": "#aa2afe",
  771. "AspectJ": "#a957b0",
  772. "Assembly": "#6E4C13",
  773. "Asymptote": "#4a0c0c",
  774. "AutoHotkey": "#6594b9",
  775. "AutoIt": "#1C3552",
  776. "Ballerina": "#FF5000",
  777. "Batchfile": "#C1F12E",
  778. "BlitzMax": "#cd6400",
  779. "Boo": "#d4bec1",
  780. "Brainfuck": "#2F2530",
  781. "C": "#555555",
  782. "C#": "#178600",
  783. "C++": "#f34b7d",
  784. "CSS": "#563d7c",
  785. "Ceylon": "#dfa535",
  786. "Chapel": "#8dc63f",
  787. "Cirru": "#ccccff",
  788. "Clarion": "#db901e",
  789. "Clean": "#3F85AF",
  790. "Click": "#E4E6F3",
  791. "Clojure": "#db5855",
  792. "CoffeeScript": "#244776",
  793. "ColdFusion": "#ed2cd6",
  794. "Common Lisp": "#3fb68b",
  795. "Common Workflow Language": "#B5314C",
  796. "Component Pascal": "#B0CE4E",
  797. "Crystal": "#000100",
  798. "Cuda": "#3A4E3A",
  799. "D": "#ba595e",
  800. "DM": "#447265",
  801. "Dart": "#00B4AB",
  802. "DataWeave": "#003a52",
  803. "Dhall": "#dfafff",
  804. "Dockerfile": "#384d54",
  805. "Dogescript": "#cca760",
  806. "Dylan": "#6c616e",
  807. "E": "#ccce35",
  808. "ECL": "#8a1267",
  809. "EQ": "#a78649",
  810. "Eiffel": "#946d57",
  811. "Elixir": "#6e4a7e",
  812. "Elm": "#60B5CC",
  813. "Emacs Lisp": "#c065db",
  814. "EmberScript": "#FFF4F3",
  815. "Erlang": "#B83998",
  816. "F#": "#b845fc",
  817. "F*": "#572e30",
  818. "FLUX": "#88ccff",
  819. "Factor": "#636746",
  820. "Fancy": "#7b9db4",
  821. "Fantom": "#14253c",
  822. "Faust": "#c37240",
  823. "Forth": "#341708",
  824. "Fortran": "#4d41b1",
  825. "FreeMarker": "#0050b2",
  826. "Frege": "#00cafe",
  827. "G-code": "#D08CF2",
  828. "GAML": "#FFC766",
  829. "GDScript": "#355570",
  830. "Game Maker Language": "#71b417",
  831. "Genie": "#fb855d",
  832. "Gherkin": "#5B2063",
  833. "Glyph": "#c1ac7f",
  834. "Gnuplot": "#f0a9f0",
  835. "Go": "#00ADD8",
  836. "Golo": "#88562A",
  837. "Gosu": "#82937f",
  838. "Grammatical Framework": "#79aa7a",
  839. "Groovy": "#e69f56",
  840. "HTML": "#e34c26",
  841. "Hack": "#878787",
  842. "Harbour": "#0e60e3",
  843. "Haskell": "#5e5086",
  844. "Haxe": "#df7900",
  845. "HiveQL": "#dce200",
  846. "HolyC": "#ffefaf",
  847. "Hy": "#7790B2",
  848. "IDL": "#a3522f",
  849. "IGOR Pro": "#0000cc",
  850. "Idris": "#b30000",
  851. "Io": "#a9188d",
  852. "Ioke": "#078193",
  853. "Isabelle": "#FEFE00",
  854. "J": "#9EEDFF",
  855. "JSONiq": "#40d47e",
  856. "Java": "#b07219",
  857. "JavaScript": "#f1e05a",
  858. "Jolie": "#843179",
  859. "Jsonnet": "#0064bd",
  860. "Julia": "#a270ba",
  861. "Jupyter Notebook": "#DA5B0B",
  862. "KRL": "#28430A",
  863. "Kotlin": "#F18E33",
  864. "LFE": "#4C3023",
  865. "LLVM": "#185619",
  866. "LOLCODE": "#cc9900",
  867. "LSL": "#3d9970",
  868. "Lasso": "#999999",
  869. "Lex": "#DBCA00",
  870. "LiveScript": "#499886",
  871. "LookML": "#652B81",
  872. "Lua": "#000080",
  873. "MATLAB": "#e16737",
  874. "MAXScript": "#00a6a6",
  875. "MLIR": "#5EC8DB",
  876. "MQL4": "#62A8D6",
  877. "MQL5": "#4A76B8",
  878. "MTML": "#b7e1f4",
  879. "Makefile": "#427819",
  880. "Mask": "#f97732",
  881. "Max": "#c4a79c",
  882. "Mercury": "#ff2b2b",
  883. "Meson": "#007800",
  884. "Metal": "#8f14e9",
  885. "Mirah": "#c7a938",
  886. "Modula-3": "#223388",
  887. "NCL": "#28431f",
  888. "Nearley": "#990000",
  889. "Nemerle": "#3d3c6e",
  890. "NetLinx": "#0aa0ff",
  891. "NetLinx+ERB": "#747faa",
  892. "NetLogo": "#ff6375",
  893. "NewLisp": "#87AED7",
  894. "Nextflow": "#3ac486",
  895. "Nim": "#37775b",
  896. "Nit": "#009917",
  897. "Nix": "#7e7eff",
  898. "Nu": "#c9df40",
  899. "OCaml": "#3be133",
  900. "ObjectScript": "#424893",
  901. "Objective-C": "#438eff",
  902. "Objective-C++": "#6866fb",
  903. "Objective-J": "#ff0c5a",
  904. "Odin": "#60AFFE",
  905. "Omgrofl": "#cabbff",
  906. "Opal": "#f7ede0",
  907. "OpenQASM": "#AA70FF",
  908. "Oxygene": "#cdd0e3",
  909. "Oz": "#fab738",
  910. "P4": "#7055b5",
  911. "PHP": "#4F5D95",
  912. "PLSQL": "#dad8d8",
  913. "Pan": "#cc0000",
  914. "Papyrus": "#6600cc",
  915. "Parrot": "#f3ca0a",
  916. "Pascal": "#E3F171",
  917. "Pawn": "#dbb284",
  918. "Pep8": "#C76F5B",
  919. "Perl": "#0298c3",
  920. "PigLatin": "#fcd7de",
  921. "Pike": "#005390",
  922. "PogoScript": "#d80074",
  923. "PostScript": "#da291c",
  924. "PowerBuilder": "#8f0f8d",
  925. "PowerShell": "#012456",
  926. "Processing": "#0096D8",
  927. "Prolog": "#74283c",
  928. "Propeller Spin": "#7fa2a7",
  929. "Puppet": "#302B6D",
  930. "PureBasic": "#5a6986",
  931. "PureScript": "#1D222D",
  932. "Python": "#3572A5",
  933. "QML": "#44a51c",
  934. "Quake": "#882233",
  935. "R": "#198CE7",
  936. "RAML": "#77d9fb",
  937. "RUNOFF": "#665a4e",
  938. "Racket": "#3c5caa",
  939. "Ragel": "#9d5200",
  940. "Raku": "#0000fb",
  941. "Rascal": "#fffaa0",
  942. "Reason": "#ff5847",
  943. "Rebol": "#358a5b",
  944. "Red": "#f50000",
  945. "Ren'Py": "#ff7f7f",
  946. "Ring": "#2D54CB",
  947. "Riot": "#A71E49",
  948. "Roff": "#ecdebe",
  949. "Rouge": "#cc0088",
  950. "Ruby": "#701516",
  951. "Rust": "#dea584",
  952. "SAS": "#B34936",
  953. "SQF": "#3F3F3F",
  954. "SRecode Template": "#348a34",
  955. "SaltStack": "#646464",
  956. "Scala": "#c22d40",
  957. "Scheme": "#1e4aec",
  958. "Self": "#0579aa",
  959. "Shell": "#89e051",
  960. "Shen": "#120F14",
  961. "Slash": "#007eff",
  962. "Slice": "#003fa2",
  963. "SmPL": "#c94949",
  964. "Smalltalk": "#596706",
  965. "Solidity": "#AA6746",
  966. "SourcePawn": "#5c7611",
  967. "Squirrel": "#800000",
  968. "Stan": "#b2011d",
  969. "Standard ML": "#dc566d",
  970. "Starlark": "#76d275",
  971. "SuperCollider": "#46390b",
  972. "Swift": "#ffac45",
  973. "SystemVerilog": "#DAE1C2",
  974. "TI Program": "#A0AA87",
  975. "Tcl": "#e4cc98",
  976. "TeX": "#3D6117",
  977. "Terra": "#00004c",
  978. "Turing": "#cf142b",
  979. "TypeScript": "#2b7489",
  980. "UnrealScript": "#a54c4d",
  981. "V": "#5d87bd",
  982. "VBA": "#867db1",
  983. "VBScript": "#15dcdc",
  984. "VCL": "#148AA8",
  985. "VHDL": "#adb2cb",
  986. "Vala": "#fbe5cd",
  987. "Verilog": "#b2b7f8",
  988. "Vim script": "#199f4b",
  989. "Visual Basic .NET": "#945db7",
  990. "Volt": "#1F1F1F",
  991. "Vue": "#2c3e50",
  992. "WebAssembly": "#04133b",
  993. "Wollok": "#a23738",
  994. "X10": "#4B6BEF",
  995. "XC": "#99DA07",
  996. "XQuery": "#5232e7",
  997. "XSLT": "#EB8CEB",
  998. "YARA": "#220000",
  999. "YASnippet": "#32AB90",
  1000. "Yacc": "#4B6C4B",
  1001. "ZAP": "#0d665e",
  1002. "ZIL": "#dc75e5",
  1003. "ZenScript": "#00BCD1",
  1004. "Zephir": "#118f9e",
  1005. "Zig": "#ec915c",
  1006. "eC": "#913960",
  1007. "mIRC Script": "#926059",
  1008. "mcfunction": "#E22837",
  1009. "nesC": "#94B0C7",
  1010. "ooc": "#b0b77e",
  1011. "q": "#0040cd",
  1012. "sed": "#64b970",
  1013. "wdl": "#42f1f4",
  1014. "wisp": "#7582D1",
  1015. "xBase": "#403a40",
  1016. }
  1017. function getLabel(isZh,key){
  1018. if(isZh){
  1019. return zhCN[key]
  1020. }else{
  1021. return esUN[key]
  1022. }
  1023. }
  1024. var zhCN={
  1025. "search":"搜索",
  1026. "search_repo":"项目",
  1027. "search_dataset":"数据集",
  1028. "search_issue":"任务",
  1029. "search_pr":"合并请求",
  1030. "search_user":"用户",
  1031. "search_org":"组织",
  1032. "search_finded":"找到",
  1033. "search_matched":"最佳匹配",
  1034. "search_matched_download":"下载次数",
  1035. "search_lasted_update":"最后更新于",
  1036. "search_letter_asc":"字母顺序排序",
  1037. "search_letter_desc":"字母逆序排序",
  1038. "search_lasted_create":"最近创建",
  1039. "search_early_create":"最早创建",
  1040. "search_add_by":"加入于",
  1041. "search_lasted":"最近更新",
  1042. "search_open":"开启中",
  1043. "search_closed":"已关闭",
  1044. "search_watched":"关注数",
  1045. "search_star":"点赞数",
  1046. "search_fork":"Fork数",
  1047. "search_input_large_0":"请输入大于0的数值。",
  1048. "search_input_maxed":"不能超出总页数。",
  1049. "search_input_total":"共",
  1050. "search_srtip":"条",
  1051. "search_home_page":"首页",
  1052. "search_last_page":"末页",
  1053. "search_go_to":"前往",
  1054. "search_go_page":"页"
  1055. }
  1056. var esUN={
  1057. "search":"Search",
  1058. "search_repo":"Repository",
  1059. "search_dataset":"DataSet",
  1060. "search_issue":"Issue",
  1061. "search_pr":"Pull Request",
  1062. "search_user":"User",
  1063. "search_org":"Organization",
  1064. "search_finded":"Find",
  1065. "search_matched":"Best Match",
  1066. "search_matched_download":"Amount of downloads",
  1067. "search_lasted_update":"Last Updated ",
  1068. "search_letter_asc":"Alphabetical sort",
  1069. "search_letter_desc":"Alphabetical reverse sort",
  1070. "search_lasted_create":"Recently created",
  1071. "search_early_create":"First created",
  1072. "search_add_by":"Join in",
  1073. "search_lasted":"Recent updates",
  1074. "search_open":"Open",
  1075. "search_closed":"Closed",
  1076. "search_watched":"Watches",
  1077. "search_star":"Stars",
  1078. "search_fork":"Forks",
  1079. "search_input_large_0":"Please enter a value greater than 0.",
  1080. "search_input_maxed":"Cannot exceed total pages.",
  1081. "search_input_total":"Total",
  1082. "search_srtip":"",
  1083. "search_home_page":"Home",
  1084. "search_last_page":"Last",
  1085. "search_go_to":"Go",
  1086. "search_go_page":"Page"
  1087. }
  1088. initDiv(false);