Profile picture credit: Y. Beletsky (LCO)/ESO.
logico-philosophical / yamd Goto Github PK
View Code? Open in Web Editor NEWYet another markdown alternative
License: MIT License
Yet another markdown alternative
License: MIT License
Profile picture credit: Y. Beletsky (LCO)/ESO.
다음과 같은 경우가 많이 발생하고 있다.
[$(x+1)^2 + y^2 = 9]
[;(1 + 2) * 3]
<>
는 덜할 것이다. HTML을 쓸 때는 문제가 될 것이다. HTML은 이미 가변 경계 때문에 문제가 되고 있으니 문제를 HTML에 몰아버리는 것도 괜찮을 것이다. 가변 경계를 위한 패딩으로 쓰이는 문자와 속성 리스트의 경계로 쓰이는 문자가 같아지는 것이 #42 에 어떤 영향을 미치는지는 모르겠다.
됨
서버 사이드에서 m42kup을 돌릴 경우 throw
를 하지 않아도 그냥 오류가 날 수 있는데 이때 이게 출력에 나옴;;;
그래야 설치해서 쓰지
버전관리도 되고
ㅇㅇ
이때 content-aware 하도록 하자. 예를 들어
asdf
는 `asdf`
가 되고`asdf`
는 `<`asdf`>`
가 되고<asdf>
는 `.<asdf>`
가 되는 식이다.ㅇㅈ? ㅇㅇㅈ
[;;;`
...
foo = `bar ${baz}`;
...
`]
↓
...
foo = bar ${baz};
...
[;;;`<div>
...</div>
<span>...</span>`]
↓
div>
...</div>
<span>...</span
어떻게 하도록
['(type=angle)asdf] -> 〈asdf〉 (U+3008, U+3009)
["(type=angle)asdf] -> 《asdf》 (U+300A, U+300B)
['(type=corner)asdf] -> 「asdf」 (U+300C, U+300D)
["(type=corner)asdf] -> 『asdf』 (U+300E, U+300F)
「asdf」의 경우는 대응하는 반각문자가 있으나 다른 것들은 없으므로 전부 전각으로 하겠음.
„Gänsefüßchen“이나 »Guillemets« 같은 표기도 있는데(https://en.wikipedia.org/wiki/Quotation_mark#Summary_table) 이것들은 나중에 하기로 하자...
문법파개자임
#21 을 보샘
#9 의 해결책임
ㅇㅇ
이제 [[...]]
→ [<...>]
를 하면서 [...]
에서 trim 문제는 없어졋다 할 수 잇음
근데 `...`
는 어쩔것?
지금
[>
[>
]
]
↓
<blockquote><p>
</p><blockquote><p>
</p></blockquote><p>
</p></blockquote>
이런 상태임
whitespace는 문단을 만들지 않기로 하자
지금의 코드를 보면 이렇게 되어 있음
tags['grave'] = r => {
if (r.text || r.html)
throw new Error('Input to void element');
return text('`');
};
여기서 r
은 이미 렌더링 된 text/html content라고 할 수 있음. 그리고
tags['comment'] = r => text('');
라서 [`[%hi]]
라고 치면 에러가 안뜨는데 이러면 안댈듯
ㅇㅇ
ㅇㅈ? ㅇㅇㅈ
사용자 지정 태그가 많을 경우 옵션이 또 길어지게 되는데
이러면 옵션을 여기도 쓰고 저기도 쓰고 하는 것은 좋지 않음
옵션을 한 곳에만 쓸 수 있도록 하는 게 좋겠음
당장 내 Node 서버에서 그렇게 못하겠음
좋은생각일지? 일단 하려면 options.tags
를
[
['tagname', fn1],
[/ta?gname/, fn2]
]
처럼 써야댐
[`]라고 치면 이스케이프 되도록
[어쩌구]
라고 치면 에러가 나는데 텍스트 [어쩌구]
가 되게 하자. 괄호 쌍이 맞을 경우 [
및 ]
를 이스케이프 하지 않아도 되는 이점이 있을 수 있다.
[어쩌구]
→ [어쩌구]
[$[0, \infty]]
→ (수식)몇 가지 해결해야 하는 부분:
[어쩌구 [*저쩌구]]
의 렌더링.[(foo=bar)어쩌구]
의 렌더링.[(foo=[)어쩌구]
의 렌더링.[(foo=[asdf])어쩌구]
의 렌더링.m42kup의 문서화를 m42kup으로 쓰지 않는 것이 얼마나 이상한지 알아야 됨.
[>(type=info)...] -> <blockquote class="m42kup-bq-info">...</blockquote>
[>(type=warn)...] -> <blockquote class="m42kup-bq-warn">...</blockquote>
[>(type=anythingelse)...] -> <blockquote>...</blockquote>
[>(type=)...] -> <blockquote>...</blockquote>
gogogo
children을 뭉뚱그린 text/html content 하나만 넘어가는데 더잇어야댈듯
태그 이름이나 m42kup 코드 등
[~wikipеdiа.org]
에서 е랑 а가 e랑 a가 아닌데도 그렇게 보임
http://xn--wikipdi-8fg6b.org라고 떠야 할듯
이유는 간단함
빨리 하도록
[;;;]
는 제대로 하는데
[;;;]
처럼 하셈
요소가 split을 지원하는 경우를 고려하지 않았다. 설명서에도 고려되어 있지 않은 것 같은데 같이 수정하면 될 것이다.
ㅇㅇ
간단하게 [~<link> <content>]
정도로 할 수도 있음
parse tree를 쓰면 쉽게 할 수 있을듯
ㅇㅇ
지금 렌더러 JS만 있는데 CSS도 있어야댐
그리고 렌더러가 클라이언트사이드에서도 돌아갈 수 있도록 되어 있는데 이때 KaTeX
랑 highlight.js
도 있어야댐
그리고 클라이언트사이드에서 돌릴거면 src/
랑 dist/
만들어서 uglify-es
나 babel.js
등을 해야댐
왜냐면 arrow function을 썼기 때문임
ㅇㅈ? ㅇㅇㅈ
list좀 만드셈;;;
그러려면 하나의 regex로 하는 것보다 배열을 만들어서 cascade 하도록 하면 좋을 것 같음
elements
도 그렇게 하고
어떻게 만들어야 할지?
split 마커에 속성을 넣을 수 있도록 하셈
[=hi]
[p.hi]
<h1>hi</h1><p>
</p><p>hi</p>
[ol
Uncaught TypeError: c.toIndentedString is not a function
at eval (nodes.js:359)
at Array.map (<anonymous>)
at r (nodes.js:359)
at Element.toIndentedString (nodes.js:360)
at eval (nodes.js:359)
at Array.map (<anonymous>)
at r (nodes.js:359)
at Element.toIndentedString (nodes.js:360)
at Element.toString (nodes.js:344)
at demo.html:207
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.