.md 파일의 생성일과 수정일 정보를 가져오려했지만
해당 정보 역시 fileSystem api
를 사용해야 했고 보안상 프론트엔드에서 수행할 수 없는 작업이다.
어쩔 수 없이 해당 .md 파일 생성일자를 로컬에서 확인 후 json 파일 "date" 데이터에 수기로 작성해주었다.
isO-8601
방식으로 작성하여 별도의 파싱 없이 Date()
객체에 넣을 수 있었다.
이 후 아래와 같이 현재 일자와 파일 생성일자의 격차를 구하여 기간 별로 다른 멘트를 리턴한다.
const postDate = (_createDate) => {
let date1 = new Date(); // 현재 일자
let date2 = new Date(_createDate); // 파일 생성일자
// 일자의 격차 구하기
const diffDate = date1.getTime() - date2.getTime();
// 분 단위로 변경
let diffMin = parseInt(diffDate / (1000 * 60));
// 1 시간 이내
if (diffMin < 60) {
return diffMin + "분 전";
}
// 1시간 ~ 24시간 이내
else if (diffMin > 60 && diffMin < 60 * 24) {
return parseInt(diffMin / 60) + "시간 전";
}
// 하루 전 ~ 이틀 전
else if (60 * 24 < diffMin) {
if (120 * 24 < diffMin) return "이틀 전";
else return "하루 전";
}
// 이 후
else if (180 * 24 < diffMin) {
return parseInt((diffMin / 60) * 24) + "일 전";
}
return diffMin;
};
reverse()
객체를 이용하여 배열을 역순으로 정렬 시도 하였으나 post 파일을 배열을 통해 가져온 것이 아니기 때문에 해결할 수 없었다.
flex-direction : column-reverse
.list-wrap {
display: flex;
flex-direction: column-reverse;
.post {
---
}
}
효율적으로도 나쁘지 않은 해결 방법인 것 같아 불편함 없이 채택했다.
ps 코딩 15시간 째 슬슬 피폐해지는 기분이다..
시간이 너무 빨리 가는 듯 하다.. 내일 또 해야지..