soma0sd

코딩 & 과학 & 교육

반응형

플러그인을 사용하지 않더라도 티스토리에서 그림을 클릭하면 원본 크기의 그림을 어두운 배경과 함께 볼 수 있는 라이트박스(Ligthbox)를 적용합니다. 오늘은 자바스크립트를 이용하여 기능을 변경합니다. 목표 포스트에 그림을 추가하면 티스토리에서는 아래와 같은 마크업으로 변환합니다. 여기서 라이트박스 이벤트는 span이 담당합니다. 우리는 이 span을 img와 분리해서 별도의 버튼으로 만들게 됩니다. 크게보기 스크립트 function lightbox_modify() { let wrapper = article.querySelectorAll('figure.imageblock'); wrapper.forEach(function(elem){ let img = elem.querySelector(&#3..

오늘의 스킨제작: 라이트박스수정하기

소제목을 기준으로 목차를 생성하는 스크립트를 작성합니다. 순수 자바스크립트로 작성했습니다. 항상 자바스크립트를 이용해서 무언가를 하려고 할 때면 제이쿼리(jQuery)를 먼저 불러왔었는데요. 생각해보니 제가 만드는 대부분의 기능은 굳이 라이브러리의 도움이 있어야만 하는 것도 아니고, 라이브러리를 사용했을 때 스크립트의 길이가 극적으로 줄어드는 것도 아니었습니다. 지금 제작하는 스킨을 시작으로 제이쿼리에서 벗어나려고 합니다. 방식 artlcle_wrapper라는 클래스가 있습니다. 이 클래스는 블로거가 작성한 블로그 포스트의 본문을 담는 컨테이너입니다. 이 클래스에서 제목을 3단계(h1, h2, h3)까지 찾은 후 목차 마크업을 만들어 toc_wrapper 켄테이너에 담으면 됩니다. 스크립트 var art..

오늘의 스킨제작: 자바스크립트로 목차 생성하기

단어 사이는 하이픈(-)으로 프로그래밍에 익숙한 경우 카멜 표기법(camelCase)이 파스칼 표기법(PascalCase)을 사용하는데 익숙해져 있습니다. 하지만 CSS를 다루는 경우에는 스네이크 표기법(snake_case)과 유사하지만 밑줄 대신 하이픈을 사용하는 방식을 많이 사용합니다. (X) topbarTitleText (O) topbar-title-text BEM 방법 BEM 방법은 블록(Block), 요소(Element), 변경(Modifier)을 기준으로 나누어 선택자의 이름을 정하는 것입니다. 각각은 이중 밑줄(__)으로 구분합니다. 블록은 어디에 사용하는지를 나타내고, 요소는 대상의 종류를 나타냅니다. 가령, 네비게이션 바의 카테고리가 가지는 선택자 명칭은 nav__category 가 됩니..

스킨 제작: CSS 이름규칙

스킨에 필요한 정보를 담아놓은 마크업 파일인 index.xml을 만들어 티스토리가 스킨을 인식하고 필요한 정보를 가져올 수 있도록 합니다. 스킨의 이름과 설명, 제작자 정보, 스킨 사용시 블로그 설정 기본값, 스킨 옵션을 정의할 수 있습니다. 우선, 텍스트 에디터 등을 이용해 index.xml을 만들고 가장 윗줄에 이 파일이 어떤 형식으로 작성되었는지 표시합니다. xml은 겉보기에 html과 유사합니다. 와 등으로 데이터를 태그로 묶어 표시합니다. 작업할 index.xml안에는 티스토리가 약속한 태그 안에 필요한 정보를 채우면 티스토리는 내용을 읽고 필요한 내용을 스킨사용자에게 표시합니다. 스킨 이름 위와 같은 형태로 태그쌍 사이에 필요한 것들을 집어넣습니다. 상세한 규칙은 티스토리 스킨 가이드: 스킨 ..

스킨 제작: 스킨 정보 파일 [index.xml]

End of content

No more pages to load

◀ PREVNEXT ▶