티스토리에서 Lazy Load 사용하기

티스토리에서 Lazy Load 사용하기

Lazy Load(레이지 로드)란? 오프스크린 이미지(사용자가 보고 있는 화면에 보이지 않는 이미지)를 로딩하지 않고 있다가, 사용자가 스크롤을 움직여서 해당 이미지가 보여야 할 시점에 이미지를 로딩하는 기술입니다. 투명 이미지 업로드 이미지에 오류가 발생하면 티스토리에서 위 이미지를 집어넣습니다.굳이 로딩하지 않아도 될 이미지를 로딩할 필요가 없으니, 이미지의 src에 1px * 1px짜리 이미지를 하나 넣어줘서 이미지에 아무런 오류가 발생하지 않도록...
[wip] 티스토리 스킨 #12 배포 버전

[wip] 티스토리 스킨 #12 배포 버전

Summer Nights ver.2에서 큰 틀만 가져오고 싹 갈아엎어서 만들었던 12번째 스킨입니다.해당 스킨의 레이아웃을 거의 그대로 빌려와 다듬은 게 지금 제가 사용 중인 워드프레스 테마고요. 반 년이 넘게 머리를 굴려도 이 틀에서 벗어나지 않는 걸 보면, 아마 제 취향들이 점철된 테마가 이게 아닐까 싶어 혼자 사용 중이던 티스토리 스킨도 배포용 버전을 준비하는 중입니다. 일단 지금은 스크립트를...
191006 TWICE New Tab 제작 일지

191006 TWICE New Tab 제작 일지

크롬 익스텐션을 웹 앱으로 옮기는 과정도 포함되어 있습니다. 자료 구조 일단 제일 먼저, 크롬에서 제공해주는 동기화 저장소 (chrome.storage.sync)를 이용할 수 없으니, 로컬 저장소에 모든 자료를 저장하도록 해야 합니다. 기존에 사용하던 방식입니다. 크롬 저장소에서 데이터를 받는 게 생각보다 느려서, 레이아웃을 그릴 때 필요한 옵션들은 전부 로컬 저장소에 저장해두고, 이름, 할 일 목록, D-day등의 정보는 크롬 저장소에...
TWICE New Tab 페이지 제작하기

TWICE New Tab 페이지 제작하기

꽤 예전에 업데이트하고 방치 중이었는데, 유저 수가 제가 마지막으로 확인했을 때보다 3배 가까이 늘었네요.어떻게 늘었는진 저도 잘 모르겠습니다… 여하튼, 새 앨범도 나왔으니 사진이라도 업데이트할까 싶어 오랜만에 vscode에서 열었다가, 서버도 있는데 트와이스 팬 페이지나 Canvas 썸네일 제작기처럼 서버에다 페이지를 넣어도 괜찮지 않을까 싶어서 반응형으로 디자인을 업데이트하는 중입니다. 제 서버로 페이지 옮겼을 때 장점- 모든 기기, 모든...
190926 블로그 제작일지

190926 블로그 제작일지

모바일 전용 업데이트 먼저, 커스텀 스크롤바가 모바일에선 표시되지 않습니다. 쓸데없이 자리만 차지하는 느낌이더라고요. 다음으로, 드로워를 펼쳤을 때 뒤에 들어가는 그래디언트가 기기의 너비에 영향을 받지 않도록 수정했습니다. 기기의 너비에 영향을 받으면 모바일에선 뒤에 그래디언트가 생기다마는 느낌이더라고요. 마우스 오버 효과 변경 모바일 크롬에서 유독 홈 화면이랑 카테고리 아카이브 페이지에서만 렉이 꽤 생기길래, 원인을 찾으려고 자바스크립트 스크롤 이벤트...
[자바스크립트] 부모창과 자식창 정보 교환

[자바스크립트] 부모창과 자식창 정보 교환

window.open() 혹은 a (anchor) 태그에 target="_blank" 어트리븃을 붙여서 연 윈도우와 원래 윈도우 간 정보 교환하는 방법입니다. 새 윈도우를 연 창을 부모창, 부모창에 의해 window.open()이나 a 태그로 열린 창을 자식창이라 칭하겠습니다. 부모창에서 자식창 접근 <!DOCTYPE html> <html> <head>     <title>부모창</title> </head> <body>     <input type="text" id="parentInput">     <div id="childOutput"></div><button id="getChildOutput">자식창 입력 가져오기</button>     <script>         const newWindow = window.open('tmp-child.html');                      document.getElementById("getChildOutput").addEventListener("click", () => {             document.getElementById("childOutput").innerText = newWindow.document.getElementById("childInput").value         })     </script> </body> </html> window.open() 함수를 변수에 집어넣고(예시에선 newWindow),...
T 전화 테마 미리보기 꾸미기

T 전화 테마 미리보기 꾸미기

T 전화 테마를 올릴 때 항상 이미지만 죽 나열하곤 했는데, 좀 더 테마 미리 보기 같은 느낌을 낼 순 없을까 싶어 만들어본 데모입니다. CSS로 휴대폰 목업을 만들고, 제 휴대폰과 동일한 화면 비를 갖도록 한 후에, 안에 이미지를 넣어주면 끝납니다. 화면을 클릭하시면 이미지 목록 레이어가 보이고, 이미지를 클릭하면 레이어가 사라지며 휴대폰 화면이 변경됩니다. 만들긴 했는데, 아무래도...
190919 블로그 제작일지

190919 블로그 제작일지

뜬금없이 사파리가 발목을 잡는 날이네요. 쟤도 솔직히 인터넷 익스플로러에 가려서 그렇지 렌더링 엔진이 어지간히 개판인 것 같습니다. 스크롤바 웹킷 계열에서만 지원하는 방식이기에, 지금까진 쓰는 걸 좀 꺼렸습니다. 근데 backdrop-filter도 이렇게 써대는데, 까짓 스크롤바가 대순가 싶어서 그냥 간단하게 꾸며봤습니다. 이모티콘 첨부 지금까진 가로 860px, 세로 650px로 이모티콘 첨부 창을 띄웠는데, 큼직큼직하게 뜨도록 해뒀습니다. window.innerWidth를 너비로, window.outerHeight을...
190916 블로그 제작일지

190916 블로그 제작일지

TWICE 페이지 먼저, 로딩 레이어가 사라지는 애니메이션을 좀 손봤습니다. 아무래도 영상이 재생되면서 로딩 레이어가 사라지는데, scale을 변경하는 애니메이션은 브라우저에 부담이 생각보다 커서, 영상 디코딩하느라 바쁠 GPU를 위해 translateX를 사용한 애니메이션으로 변경했습니다. 가사집 페이지의 스크립트도 좀 손봐뒀습니다. 예전엔 가사집에서 가사를 열 때, 해당 가사를 통째로 복사해서 다른 엘리먼트에 붙여 넣어 보여주는 좀 이상한 방식을 사용해서 가사를...