쎈과 서연이의 행방불명 난 이런 사람이야. 지금 이 시간에는 말이지…

32/100

아 놔… 내 Textile 정규식들 ㅜ ㄴ ㅜ

작업의 부분작업으로 Stutter 라는 Textile 이나 Markdown 같은 간략한 형식의 문서포맷을 만드는 중인데, 작업 중에 예전에 열심히 파고 들어서 분석해 놓은 Textile 코드를 찾는데 이게 없더라.

뭐지~;;; 하면서 데스크탑, 랩탑, 이메일, SVN 까지 거의 몇 시간을 뒤적거렸다.

도저히 안나와서 구글 검색기록을 바탕으로 자료 유실 시기를 역추적 해보니, 맥북에서 작업을 하고, 그 당시 들어왔던 파견일을 나가며 맥북에 윈도우를 깔면서 관련 소스코드들을 백업없이 포맷을 해버린 것 같다.

큽... 정규식들을 빠삭하게 정리해놓은 힌트노트까지 공들여서 작업해놨었는데...

다행히 정규식을 만지다 보니깐 그당시 공부했던 것들이 대충 기억이 나서 더듬더듬 작업을 해나가고 있다.

그나저나 new RegExp("^\$(\w+)\s*=\s*(.+)"); 이게 정규식이 안먹어서 한참을 고생했는데, RegExp 로 정규식을 생성할때는 new RegExp("^\\$(\\w+)\\s*=\\s*(.+)"); 이런식으로 역슬래시를 두 번 써줘야 하더라. 한참을 개고생... 그냥 평소 쓰던대로 /^\$(\w+)\s*=\s*(.+)/ 로 쓰기로 했다.

기존의 Textile 이나 Markdown 이 HTML 에 최적화 되어 있는 관계로, 내 목표인 Flash 와 HTML 에서 동시에 같은 형식으로 문서를 표현하고, 동시에 모듈 처리까지 같이 되는 문서포맷을 만들기 위해 기존 것들을 참고해서 새로운 포맷을 만들기로 결정했다.

개략적으로 나온 스펙은 아래와 같다. 기본적인 것들은 정말 간단하게 텍스트 포맷팅과 이미지, 링크 정도만 지원을 하고, ====moduleName==== 의 방식을 통해서 모듈확장을 지원하게 된다.

Stutter (말더듬)

정해진 양식이 확실하게 존재하는 경량형 문서언어

기초양식은 markdown 보다 오히려 더 단순한 진짜 문서양식만을 지원한다.

===module name=== 의 형식으로 모듈 확장을 지원한다

link 규칙은 <프로토콜형식, 컨텐츠형식, ...프로토콜에 대한 데이터> 로 표현된다.

header 는 한단계만 표현된다

>>styleHeaderName 은 <p> 박스 단위로 지정된다.

ex.

나나나나나나나나

>>blueStyle

가나다라마바사*아야오요*나나나나나

그그그그그그그그

>>redStyle

아라라라라라라

>>

그르르르

<p cass="default">나나나나나나나나</p>

<p class="blueStyle">가나다라마바사<b>아야오요</b>나나나나나</p>

<p class="blueStyle">그그그그그그그그</p>

<p class="redStyle">아라라라라라라</p>

<p class="default">그르르르</p>

$varName = varValue

${varname}

>>styleHeaderName

# Heading

*bold*

-strike-

_italic_

[styleClassName]styledText >> start style

[]styleText >> end style

<http,linkText,http://ssen.name/,_blank>

<http,(/abc/g.jpg),http://ssen.name,_blank>

<mailto,linkText,i@ssen.name>

(/abc/g.jpg)

<http://ssen.name>

<i@ssen.name>

* list

* list

** list

- list

- list

-- list

--------------------------

===moduleName====

module data

=================

===table=========

|@th|@th|@th|

|@th|td|td|

|@th|td|td|

=================

덧글 (0) 엮인글 (0)

아직 덧글이 없습니다.


덧글 남기기


엮인글이 비활성 상태입니다.

FireStats icon Powered by FireStats