git hub api를 이용해서 커밋된 마지막 날짜와 버전을 가지고 오는데 api 사용이 클라이언트 기준으로 시간당 60회 라고 합니다.
위젯을 만들어 주셔서 위젯을 사용해서 캐시를 1분 정도만 주면 해결은 되는데요. php에서 json 응답을 받고 스킨이 만들어지는 시간까지 컨텐츠가 출력되는데 기다려야 하는 상황이 좀 애로점이 있습니다.
그래서 js에서 ajax로 api 응답을 받아와서 해당 데이터로 바꿔주는 방식이 컨텐츠 출력하는데는 더 유리한 것 같아 라이믹스 공홈의 스크립트를 적용해서 구현했습니다.
그런데 이게 방문이 많은 사이트의 페이지에 달려 있다면 클라이언트가 해당 페이지를 한시간 이내에 60회 접속 가능성도 있어서 쿠키에 저장하고 쿠키유지기간을 3분 정도만 주어도 좋을 것 같습니다.
var getGit_latestDate = function ( branch ) {
$.ajax({
url : 'https://api.github.com/repos/rhymix/rhymix/git/refs/heads/' + branch,
dataType : "json",
success : function ( data ) {
$.ajax({
url : data.object.url,
dataType : "json",
success : function ( data2 ) {
var date = new Date(data2.committer.date);
var month = ((date.getMonth() + 1) < 10 ? '0' : '') + (date.getMonth() + 1);
var day = (date.getDate() < 10 ? '0' : '') + date.getDate();
var hour = (date.getHours() < 10 ? '0' : '') + date.getHours();
var minute = (date.getMinutes() < 10 ? '0' : '') + date.getMinutes();
$('#download > #' + branch + ' > a > time').text(date.getFullYear() + '/' + month + '/' + day + ' ' + hour + ':' + minute);
}
});
}
});
};
var getGit_latestTag = function () {
$.ajax({
url : 'https://api.github.com/repos/rhymix/rhymix/tags',
dataType : "json",
success : function ( data ) {
$('#download > #master > a > .version').text('v' + data[0].name);
}
});
};
$( document ).ready(function() {
getGit_latestTag();
getGit_latestDate('master');
getGit_latestDate('develop');
});
천번째 부분은 master,develop 두가지를 받아오는 것 같고
두번째 부분은 버전명만 가져오는 것 같습니다.
뭐 왠만한 사이트는 메인 페이지라고 하더라도 한시간 동안 그 페이지를 60번(20번으로 쳐야 하나요?) 방문하는 일은 많지는 않을 것 같긴한데요....
그래도 너무 어렵지 않다면 쿠키로 저장해주고 쿠키가 있다면 ajax 작업 전에 확인하고 그 데이터로 바로 스킨의 값을 그것으로 바꿔주는 것으로 구현해 주면 좋을 것 같아 질문을 남겨봅니다.