[티스토리] 원하는 태그만 랜덤으로 출력하기

[티스토리] 원하는 태그만 랜덤으로 출력하기

티스토리에서 기본적으로 랜덤 태그 치환자를 제공해줍니다만, 원하는 태그 몇 개 안에서만 랜덤으로 태그를 출력하고 싶으실 때 이 스크립트를 사용하시면 됩니다.*주의 : 티스토리 치환자와 달리 cloud(숫자) class를 추가하실 수 없습니다. const randomTag = (tags, element, count) => {   const target = document.getElementById(element);   let i = 0;   for (i; i <= count; i++) {     const random = Math.floor(Math.random() * tags.length),       a = document.createElement('a');          tags[random] !== undefined && (       a.href = `/tags/${encodeURI(tags[random])}`,       a.innerHTML = tags[random],       tags.splice(random, 1),       target.append(a)     )   } }; 위 스크립트를 </body> 앞에 추가하신 뒤 randomTag(['원하는', '태그를', '여기에', '입력'], '태그가 들어갈 요소 ID', 10) 제일 마지막에 들어간...
191125 블로그 제작일지

191125 블로그 제작일지

서버 서버에 간단한 것들을 자동화했습니다. 1. 한 달에 한 번 SSL 인증서(Let's Encrypt)의 갱신을 시도합니다.2. 매일 04시에 업데이트를 진행합니다.3. 매일 04시 30분에 서버 컴퓨터를 재부팅 합니다. php 모듈도 몇 개 추가로 설치했는데, 쓸 일이 있을진 모르겠네요… 포스트 리스트 썸네일 중심의 Masonry 리스트를 좀 수정했습니다. 상하 / 좌우 간격을 조금 줄이는 동시에, 기존엔 상하 / 좌우...
191115 블로그 제작일지

191115 블로그 제작일지

오랜만에 올리는 제작 일지네요.티스토리 스킨 제작하느라 제 블로그의 업데이트는 조금 소홀해졌습니다. 😥 이제 완성 단계에 접어들어서, 조만간 다시 열심히 업데이트할 수 있지 않을까 싶네요. 서버 관련 1. 워드프레스 버전을 5.3으로 올렸습니다.2. 제 로컬 환경이 아니면 로그인 페이지에 접근할 수 없도록 업데이트했습니다. 이제 저도 외부에서 블로그 관리 페이지에 접근하려면 집 컴퓨터에 원격 접속을 해야 합니다…3. 아무도...
[자바스크립트] 이미지의 우클릭만 방지하기

[자바스크립트] 이미지의 우클릭만 방지하기

가끔 웹서핑하다 보면 텍스트를 복사해가라고 해뒀는데, context menu를 막아둬서 모바일에선 복사할 수 없을 때가 있습니다.무분별하게 퍼진 우클릭 방지 스크립트 때문이지 싶은데, 원하시는 게 이미지의 우클릭 방지라면 이미지의 우클릭만 막을 수 있습니다. document.addEventListener("contextmenu", e => {     e.target.matches("img") && e.preventDefault() }) 심화 우클릭 방지에서 나아가 위 사진처럼 우클릭을 한 위치에 저작권 문구를 표기하는 커스텀 우클릭 메뉴 (context menu, 이하 컨텍스트 메뉴)를 만드실...
[자바스크립트] 한 번만 실행되는 Event Listener

[자바스크립트] 한 번만 실행되는 Event Listener

가끔 onclick, onerror 등의 이벤트가 한 번만 실행돼야 할 때가 있습니다. 가령 이미지에 에러가 있을 때 그 이미지를 다른 이미지로 교체하는 함수를 만들었을 때, 교체된 이미지에도 에러가 있다면 여러분은 콘솔에 찍히는 어마어마한 양의 404 에러를 보실 수 있을 겁니다.잡렉은 덤이고요. 다행히도, 위와 비슷한 상황을 예방할 수 있도록 이벤트 리스너가 한 번만 작동하게 할 수 있는 간단한 방법이...
[자바스크립트] 스와이프 방향 알아내기

[자바스크립트] 스와이프 방향 알아내기

제 블로그에서 드로워를 열거나, 홈 화면 슬라이더를 넘길 때 사용 중인 스와이프 감지 스크립트입니다. 굉장히 단순한 구조지만, 간단한 사용엔 크게 무리가 없습니다. let initialX = null,   initialY = null; function initTouch(e) {   initialX = `${e.touches ? e.touches[0].clientX : e.clientX}`;   initialY = `${e.touches ? e.touches[0].clientY : e.clientY}`; }; function swipeDirection(e) {   if (initialX !== null && initialY !== null) {     const currentX = `${e.touches ? e.touches[0].clientX : e.clientX}`,       currentY = `${e.touches ? e.touches[0].clientY : e.clientY}`;     let diffX = initialX - currentX,       diffY = initialY - currentY;     Math.abs(diffX) > Math.abs(diffY)     ? (       0 < diffX       ? console.log("to left")       : console.log("to right")     )     : (       0 < diffY       ? console.log("to top")       : console.log("to bottom")     )     initialX = null;     initialY = null;   } } window.addEventListener("touchstart", initTouch); window.addEventListener("touchmove", swipeDirection); window.addEventListener("mousedown", (e) => {   initTouch(e),   window.addEventListener("mousemove", swipeDirection) });...
191024 블로그 제작일지

191024 블로그 제작일지

사파리 업데이트 테스트용 아이폰이 생겨서 사파리 업데이트를 열심히 하는 중입니다.솔직히 브라우저가 너무 구려서 내다 버리고 싶은 마음은 굴뚝 같은데, IE보단 나으니 일단 참고 업데이트하는 중입니다. 근데 진짜 제대로 작동 안 하는 기능이 너무 많습니다…transform도 이상하게 작동하는 게 꽤 보이고, scroll-behavior는 작동을 하지도 않고, 그래디언트도 제대로 못 그리고…이게 브라우접니까 캐시 헤더 추가 귀찮아서 미루던 작업을 이제야...
사파리 그래디언트 오류 수정하기

사파리 그래디언트 오류 수정하기

애플의 사파리(Safari) 브라우저에서 그래디언트를 넣을 때, 다른 색은 괜찮지만, 투명(transparent)색을 그래디언트에 추가하면 그래디언트가 망가지는 오류가 있습니다. 사파리를 제외한 브라우저 대부분에선 위아래 전부 아래와 같은 색의 그래디언트가 들어가는데, 사파리는 transparent를 넣으면 검은색을 잔뜩 끼얹어버립니다. #first {     background: linear-gradient(transparent, red) } #second {     background: linear-gradient(rgba(255, 255, 255, 0), red) } 위 #second에 적용한 예시처럼 transparent 대신 색의 alpha 값을 0으로 설정한 후 그래디언트를 넣으시면 해결됩니다. #first {...
Lazy Load 업데이트

Lazy Load 업데이트

(스크롤바에 집중해서 보시면 확인이 더 쉽습니다.) 개인적으로 마음에 들진 않는 기능이라 업데이트를 꺼리고 있었는데, 주변에 lazy load가 뭔지 설명하고 어떠냐 물어보니 전부 호평이더라고요.사실 서버 부하도 줄일 수 있고 로딩 속도의 향상도 가능해서 나름 괜찮은 스크립트인 건 맞으니, 한 번 시험 삼아 업데이트해봤습니다. 이미지 로딩을 시작하는 타이밍을 조금 앞당기니 그리 거슬리는 수준은 아니네요. 스크롤바나 스크롤 인디케이터가...
1 5 6 7 8 9 13