레이블이 링크인 게시물을 표시합니다. 모든 게시물 표시
레이블이 링크인 게시물을 표시합니다. 모든 게시물 표시

2009년 10월 25일 일요일

링크와 글보관함을 드롭다운 목록으로 보여주기

티스토리에서 링크를 드롭다운 목록으로 보여주기의 업그레이드 포스트임. 이 포스트를 먼저 읽기를 권장함.

본 블로그에선 위의 포스트에서 설명한 방법과는 다소 다른 방법을 적용했다.

사용자 삽입 이미지

이제 정말로 이 방식을 설명함.


보면 알 수 있듯이 (그리고, 전술했듯이) 2가지 스타일의 목록을 사용한다.
하나는 글 보관함에 적용한, 모든 내용을 한 곳에 몰아넣기.
또 하나는 링크에 적용한, 목록을 구분하여 나눠서 저장하기.

이렇게 두 가지 스타일의 목록을 적용하려면 아래와 같이 수정한다.


0. 사전 준비: 링크 목록 분류

먼저, 링크의 목록을 분류한다.
본 블로그에선 QAOS, 기술관련, 영화, 사회, 기타의 5 종류로 구분하여, 이들을 각각 1qa, 2te, 3mo, 4so, 5bl라고 명명했다.


1. 이미지 준비

QAOS, TECH 등의 분류된 링크를 의미하는 이미지를 만든다.
참고로, 본 블로그에는 26x9 크기의 GIF 파일을 만들어 사용했다.



2. 자바스크립트 코드 삽입

블로그 스킨의 헤더 내에 아래와 같은 코드를 삽입한다.
appendlink()는 link_* 로 시작하는 각 목록들을 구분해서 삽입한다.
(이 목록 이름은 뒤에 다시 설명함)

<script type="text/javascript">
//<![CDATA[
//링크 추가
function appendlink(linkname, linkurl){
  if (/^\[...\]/.test(linkname))
  {
  var opt = document.createElement("option");
  document.getElementById("link_"+linkname.substr(1,3)).options.add(opt);
  opt.text = linkname.substr(5);
  opt.value = linkurl;
  }
  else
  {
    var opt = document.createElement("option");
    document.getElementById("link_5bl").options.add(opt);
    opt.text = linkname;
    opt.value = linkurl;
}
}
//]]>
</script>


3. 글 보관함 스킨 수정

글 보관함의 소스는 아래와 같이 생겼다.
조금씩 모양은 다르지만, 하일라이트 처리된 부분은 거의 동일하다.

<s_sidebar_element>
<!-- 글 보관함-->
<div class="widget">
<h3>글 보관함</h3>
<ul>
<s_archive_rep>
<li>
<a href="[#\#_archive_rep_link_##]">[#\#_archive_rep_date_##] </a>
</li>
</s_archive_rep>
</ul>
</div>
</s_sidebar_element>

위의 하일라이트된 부분을 아래와 같이 수정한다.

  <select id="archivelist" onchange="document.location=options[selectedIndex].value;" style="font:1.0em Verdana, Helvetica, Arial, Gulim, sans-serif;color:#2970A6;width:214px;">
  <option value="">--- 기간 선택 ---</option>
  <s_archive_rep>
  <option value="[#\#_archive_rep_link_#\#]">[#\#_archive_rep_date_#\#] ([#\#_archive_rep_count_#\#])</option>
  </s_archive_rep>
  </select>

여기서 주목할 부분은 1행의 archievelist와 color, width.

archievelist는 위의 2.에서 설명한 archievelist이다.
color는 드롭다운 목록 글자의 색이고, width는 드롭다운 목록의 가로 폭이다.

즉, 이 부분들은 자신의 스킨에 맞게 수정해줘야 한다.


4. 링크 스킨 수정

링크의 소스는 아래와 같이 생겼다.
역시, 조금씩 모양은 다르지만, 하일라이트 처리된 부분은 거의 동일하다.

<s_sidebar_element>
<!-- 링크 모듈 -->
<div id="link" class="module">
<h3>링크</h3>
<ul>
<s_link_rep>
<li>
<a href="[#\#_link_url_#\#]" onclick="window.open(this.href); return false"> [#\#_link_site_#\#].</a>
</li>
</s_link_rep>
</ul>
</div>
</s_sidebar_element>

위의 하일라이트된 부분을 아래와 같이 수정한다.

<img src="./images/bnl_ico_1qa.gif" align="absmiddle" width="26" height="9">&nbsp;
<select id="link_1qa" onchange="window.open(this.value);" style="font:1.0em Verdana, Helvetica, Arial, Gulim, sans-serif; color:#2970A6;width:180px;">
<option value="">--- QAOSian 여러분 ---</option>
</select><br/>
<img src="./images/bnl_ico_2te.gif" align="absmiddle" width="26" height="9">&nbsp;
<select id="link_2te" onchange="window.open(this.value);" style="font:1.0em Verdana, Helvetica, Arial, Gulim, sans-serif; color:#2970A6;width:180px;">
<option value="">--- 기술 관련 사이트 ---</option>
</select><br/>
<img src="./images/bnl_ico_3mo.gif" align="absmiddle" width="26" height="9">&nbsp;
<select id="link_3mo" onchange="window.open(this.value);" style="font:1.0em Verdana, Helvetica, Arial, Gulim, sans-serif; color:#2970A6;width:180px;">
<option value="">--- 영화 세상 ---</option>
</select><br/>
<img src="./images/bnl_ico_4so.gif" align="absmiddle" width="26" height="9">&nbsp;
<select id="link_4so" onchange="window.open(this.value);" style="font:1.0em Verdana, Helvetica, Arial, Gulim, sans-serif; color:#2970A6;width:180px;">
<option value="">--- 사회에도 관심을 ---</option>
</select><br/>
<img src="./images/bnl_ico_5bl.gif" align="absmiddle" width="26" height="9">&nbsp;
<select id="link_5bl" onchange="window.open(this.value);" style="font:1.0em Verdana, Helvetica, Arial, Gulim, sans-serif; color:#2970A6;width:180px;">
<option value="">--- 좋은 분들 ---</option>
</select>
<s_link_rep>
<div style="display:none;">
<script type="text/javascript">
appendlink("[#\#_link_site_#\#]", "[#\#_link_url_#\#]");
</script>
</div>
</s_link_rep>

여기서 주목할 부분은 표시한 행들.
link_1qa, link_2te 등은 링크를 분류한 것이다.
(전술했듯이) 총 5개의 목록으로 구분되어있고, 1qa_로 시작되는 링크는 link_1qa에, 2te_로 시작되는 링크는 link_2te에 삽입한다.
(3, 4, 5도 마찬가지다)

물론, 여기서도 color는 드롭다운 목록 글자의 색이고, width는 드롭다운 목록의 가로 폭이다.

이 부분들 즉, 드롭다운 목록을 구분하거나 색 및 폭은 자신의 스킨에 맞게 수정해줘야 한다.


5. 링크 제목 수정

지금까지 한 작업은 링크를 제목에 따라 각각의 위치에 삽입하는 방법이었다.

마지막으로 링크의 홈페이지 제목을 수정한다.
QAOS 팁'n텍, 순디자인연구소 등은 QAOS 카테고리에 들어갈 것이라 [1qa] QAOS 팁'n텍, [1qa] 순디자인연구소로 수정.
구차니의 잡동사니 모음은 technical 카테고리에 들어갈 것이라 [2te] 구차니의 잡동사니 모음으로 수정.
이런 식으로 모든 제목을 분류에 따라 수정한다.

이렇게 수정하면 아래와 같은 모습을 볼 수 있다.

사용자 삽입 이미지

앞의 이미지 재활용. v^.^v


덧. 하경 님의 댓글을 참조해 일부 코드를 수정함 (2009. 10.25)

티스토리에서 링크를 드롭다운 목록으로 보여주기

이미 많은 분들이 사용하시고 있고, 방법도 알려질만큼 알려졌다고 생각했는데, 의외로 물어보시는 분들이 많았다.
나도 배워서 쓰는 것이라 가급적 포스팅은 하지 않으려고 했는데, 질문이 좀 많이 들어와 걍 포스팅함.

블로그 스킨에서 사이드바를 가볍게 유지하는 것은 모든 블로거의 꿈이요 소망이다.
너무 많은 정보를 담으면 보기가 싫고, 너무 정보가 없으면 접근성이 부족하고...

글 보관함과 링크를 관리하는데 내가 선택한 것은 다름 아닌 드롭다운 목록.

사용자 삽입 이미지

바로 이것이긴 한데, 여기선 좀 더 단순한 방식을 설명함.


위 캡쳐 화면에선 2가지 스타일의 목록을 사용했다.
하나는 글 보관함에 적용한, 모든 내용을 한 곳에 몰아넣기.
또 하나는 링크에 적용한, 목록을 구분하여 나눠서 저장하기.

하지만, 본 포스트에서는 링크를 하나의 목록에 저장하는 방법을 설명한다.

링크를 드롭다운 목록으로 보여주려면 아래와 같이 수정한다.

링크의 소스를 찾는다. 보통 아래와 비슷하게 생겼다.
조금씩 모양은 다르지만, 하일라이트 처리된 부분은 거의 동일하다.

<s_sidebar_element>
<!-- 링크 모듈 -->
<div id="link" class="module">
<h3>링크</h3>
<ul>
<s_link_rep>
<li>
<a href="[#\#_link_url_#\#]" onclick="window.open(this.href); return false"> [#\#_link_site_#\#].</a>
</li>
</s_link_rep>
</ul>
</div>
</s_sidebar_element>

위의 하일라이트된 부분을 아래와 같이 수정한다.

<select id="linklist" onchange="document.location=options[selectedIndex].value;" style="font:1.0em Verdana, Helvetica, Arial, Gulim, sans-serif;color:#2970A6;width:214px;">
<option value="">--- 링크 목록 ---</option>
<s_link_rep>
<option value="[#\#_link_url_#\#]">[#\#_link_site_#\#]</option>
</s_link_rep>
</select>

여기서 주목할 부분은 표시한 1행.

color는 드롭다운 목록 글자의 색이고, width는 드롭다운 목록의 가로 폭이다.
이 부분들은 자신의 스킨에 맞게 수정해줘야 한다.

이렇게 수정하면 훨씬 깔끔한 링크 목록을 볼 수 있다.

덧. 하경 님의 댓글을 참조해 일부 코드를 수정함 (2009. 10.25)


2008년 10월 4일 토요일

티스토리의 링크 주소 자동 인식 버그

태터툴즈/텍스트큐브의 전통적인 버그 중 하나가 링크나 트랙백 시 링크명(블로그 이름)을 잘못 인식하는 경우가 있다는 것입니다.
특히, 작은따옴표를 어색하게 인식하는 경우가 많은데, 그 결과는 보통 아래와 같습니다.

이 문제는 티스토리의 링크를 제외하고는 거의 패치가 된 것 같은데, 아직 티스토리의 링크에서는 이 문제가 남아있습니다.

이 문제가 발생하는 모습을 보려면 간단합니다.
블로그명에 작은따옴표가 있는 블로그를 찾은 뒤 링크에 추가하면 됩니다.
물론, RSS 주소로 가져오기 기능을 이용해야 합니다.

이게 대체 뭥미!


이 문제는 물론, 사용자가 알아서 \를 지워주면 됩니다만, 이러면 안되죠...
새로운 기능 추가에 매진하는 것도 좋지만, 사용자는 새로운 기능 열 개보다 버그 패치 하나가 더 좋다는 것을 알아주면 좋겠습니다.

참고로, 텍스트큐브닷컴에서는 아래와 같이 정상적으로 동작합니다.


덧. 얼마전까진 설치형 텍스트큐브로 트랙백을 보내면 마찬가지 문제가 발생했는데, 지금은 발생하지 않는 것 같습니다.
아마도 패치가 이루어진 것 같습니다.


  

2008년 4월 13일 일요일

IE6에서 아무런 문제 없도록 블로그 약간 리뉴얼 + α

원래 블로그 헤더 이미지로 투명 PNG를 사용했습니다.
IE6에서는 투명 PNG를 엉망진창으로 표시하는 문제가 있기는 했지만, ie7-js를 활용해서 IE6에서 투명 PNG를 IE6에서 보이기를 이용해서 무난히 표시했다고 생각했습니다.
(이 방법을 사용하면 화면의 출력은 깨끗하지만, 출력이 약간 느려지는 문제가 있습니다)

하지만, CSS Naked Day에 참가하면서 CSS를 제거한 상태에서 IE6에서 띄워보니 문제가 컸습니다.
네. CSS를 제거했으면 데이터만 빨라당 출력되어야 하는데, 느린 출력이라뇨…

아직까지도 (특히 우리나라에서) 압도적으로 높은 IE6의 점유율을 생각해보면  출력이 늦다는 것은 심각한 문제인데 말이죠.

그리고, 이미지를 바꾸는 김에 몇 가지 생각한 기능들을 추가하기로 했습니다.





1. 헤더 이미지를 투명 GIF로 교체

사용자 삽입 이미지

간결하고 명확한 글꼴을 고민하던 중 스타워즈 글꼴을 이용하기로 했습니다.
위 아래 STAR와 WARS를 넣을까도 했지만, 스타워즈 전문 블로그가 아니라 그건 하지 않았습니다. -.-;;;


2. 링크 예쁘게 만들기

사용자 삽입 이미지

예전부터 LoveBe.Net 및 궁극의 힘을 보면서 언젠가는 훔쳐오려고 노리던 무공비급을 드디어 훔쳐왔습니다.
(아이콘 파일은 약간 바꿨는데, 다행히 주화입마는 피한 것 같습니다. ^^;;;)
상세한 설명은 LoveBe.Net - Tistory 링크 이쁘게 만들기를 참고하시면 됩니다.


3. 이모티콘 삽입기능 보강

사용자 삽입 이미지

역시 LoveBe.Net 및 궁극의 힘을 통해서 알게 되고, 훔쳐온 비급입니다.
이 비급을 적용한 후에 댓글/방명록 이모티콘 표시 플러그인을 적용하면 깜찍한 효과를 볼 수 있습니다.
역시, 상세한 설명은 LoveBe.Net - 이모티콘 삽입 기능을 참고하시면 됩니다.





전세계의 웹에서 널리 사용되고 있는 투명 PNG가 유독, 우리나라에서만은 아직 시기상조인 것 같습니다.
빨리 IE6이 멸종(?)되는 날이 오기를…