2007/11/24 02:20

새 스킨 제작

정말 오랜만에 새로 스킨을 제작했다. 저번에 스킨을 만들었을 때는 직장에 들어가기 직전에 일주일 정도 시간이 있어서 만들었었다. 딱히 할일도 없었거니와 그때는 정말 Ajax 와 DOM 이 정말 신기했었다. 2003년 입대해서 2005년 9월 제대하고 나서, 그 동안 느꼈던 엄청난 변화에 소름이 끼쳤었다. 그 전에는 자바스크립트는 성능도 별로고, 뭔가 재미난 것을 만들어 보기도 쉽지 않았었다. 그럴때 dojo 라이브러리를 우연히 알게되어서 신나게 만들었던 기억이 난다.

요번에 새로 만든 스킨은 최근 내 미간을 찌푸리게 하는 Javascript 때문이다. CSS 나 Javascript 를 이용해서 컨텐츠를 만드는 게 내 일은 아니다. 정확히 말하면 그 반대. CSS 맞춰서 렌더링을 제대로 해주고, 또한 Javascript 를 이용해서 document 내의 DOM 을 자유자재로 다루도록 만들어야 하는 일. 모바일 브라우저를 개발한다.

점차 그 영역을 넓혀 가는 Javascript 덕분에 나는 골머리를 앓고 있다. 그런데 그것을 해결할 생각은 하지 않고, 오히려 스킨을 제작하면서, 다른 PC 기반 브라우저는 잘 돌아가는 구나 하면서 감탄해 한다. 참 아이러니 하다.

이번에는 PrototypeScriptaculous 를 이용해서 스킨을 제작했다.  현재는 별로 흥미를 끌만한 기능은 없다. 하다못해 저번에 제작했던 스킨은 Ajax 로 페이지내에서 바뀌는 부분만을 가져오도록 구현했으나, 지금은 그 기능도 없다. 앞으로 더 기능을 추가해 나갈 계획이다. 주로 화면에 보이는 기능 위주로 추가할 거다. 원래 바로바로 피드백이 오는 일이 흥미를 유지하는 데에 아주 좋다.
2007/11/24 02:20 2007/11/24 02:20
[top]

2006/11/03 08:12

Wilderness skin TODO list

TODO 는 이 페이지에 적어나가고, 하나씩 고쳐나갈때마다 업데이트 예정. 크게 두가지 측면으로 나눠서 관리한다. 기능적인 측면과 Visual 로 나눈다. 가로줄 있는 경우는 이미 수정된 것을 말한다.

기능

  • A(이전글) S(다음글) 의 단축키 문제
  • 관리자모드에서 글 수정의 비정상적인 동작
  • <a> 태그의 URL 치환시의 임시방편적인 정규표현식 코드
  • Calendar 링크 제대로 동작하지 않음
  • 자바스크립트의 객체화
  • IE 7.0 지원( div.innerHTML 의 내부적 표현이 sucks! )
  • history.back() and history.forward() 기능 추가

Visual

  • fadeIn, fadeOut 시에 깜빡거림
  • 더 많은 페이지 전환 효과
  • 페이지 전화시에 깜찍한 소리 내주기
2006/11/03 08:12 2006/11/03 08:12
[top]

2006/10/31 13:46

태터툴즈 다이나믹 로딩 스킨

요약

기존에 만들었던 wilderness 스킨을 바탕으로 dojo toolkit 을 바탕으로 동적으로 페이지를 불러 들이는 스킨

기능

  • 동적으로 페이지를 로딩하여 속도향상
  • 기존의 태터툴즈 소스를 수정하지 않고 구현 javascript 로 구현
  • 페이지 로딩시에 fadeIn, fadeOut 효과

구현 방법

대략적인 구현방법은 이렇다.

  • 처음 페이지 로딩시에 문서에 포함된 모든 링크들을 수정한다.
  • 외부링크는 새창으로 띄우도록 수정
  • 내부링크는 GoLink() 함수로 호출하여 dojo.io() 를 이용해서 javascript 에서 동적으로 페이지를 물러들인다. 이때 불러들인 페이지는 parsing 하여 모든 링크를 가능하면 동적으로 불러들일 수 있도록 수정

구현예시.

<a href="./tt/60">dojo library</a> 를 아래와같이 수정한다.
<a href="#" onclick="GoLink('./tt/60"); return false;">dojo library</a>

그러면 GoLink() 함수에는 동적으로 해당 URL 의 페이지를 불러들여서 parsing 해서 dojo.byId('content').innerHTML 에 다시 대입한다.



NOTE: TODO 는 다른 게시물에서 다루기로 하였음

2006/10/31 13:46 2006/10/31 13:46
[top]