표기, 가격 인하 엔진의 변화를 간소화시켰다...

시작하다


내가 웹 형식으로 문서를 작성하기 시작했을 때, 나는 가격 인하에 잠겼다.이런 작문의 단순성은 간단한 주석 텍스트를 신속하지만 간단한 방식으로 포맷할 수 있게 하는 것이 진정한 혁명이다.
그러나 모든 새로운 특성이 장점이 있는 것처럼 우울한 면도 있다.
사실 우리가 강조를 처리할 때 이 글을 쓰는 것보다 더 효율적일 수 있습니까?
This **will** add *emphasis* to your `text` !
보답으로...
이것은 당신의 text에 중점을 더할 것입니다!

먼 곳에서 온 문제를 느끼다


어느 점에서 당신은 당신이 좋아하는 물건의 한계성을 깨달았습니까?그걸로 더 많이 하고 싶을 때...사실 이것은 결코 그렇게 간단하지 않다.
간단한 예를 들자.굵은 글씨체나 비스듬한 글씨로 한 단락을 쓰는 것은 매우 쉽다.그것에 색깔을 좀 더하고 싶은 것은 매우 자연스럽지 않습니까?
이것이 바로 문제의 근원이다.우리는 어떻게 우리의 문자를 빨간색으로 씁니까?정답이 뭐예요?HTML과 혼합하여 사용...
HTML, 내 텍스트 가운데...오, 이건 내 귀를 좀 모욕하는 것 같아.왜 나는 텍스트와 HTML 코드를 혼합해야 합니까?더 심각한 것은, 내가 어떻게 원본 코드에 익숙하지 않은 동료를 설득해서 가격을 내리게 하는가 하는 것이다.
또 다른 재미있는 예는 책상이다.
표로 데이터를 표시할 수 있어서 정말 다행입니다.나는 이것이 문서 페이지를 더욱 관련성 있게 할 수 있는 아주 좋은 기회라고 생각한다.
그래서 가서 내 첫 번째 데이터의 형식을 포맷해 보는 것은 매우 간단한 것 같다.
| COL A | COL B   | COL C  |
|-------|:-------:|-------:|
| Left  | Center  |Right   |
그리고 당신은 다음과 같은 것을 발견할 수 있습니다.
A열
B열
C열
왼쪽
가운데
정당하다

실망


나는 매우 기쁘다. 나는 나의 동료들이 이런 열정을 나누고 가능한 한 빨리 이런 문법을 채택할 수 있기를 바란다.
나의 한 동료는 즉시 나에게 데이터를 포맷해서 그것이 얼마나 실용적인지 보여 주었다.데이터를 받아야...네.CSV 형식입니다.
csv를 사용하기 전에 그것을 바꾸는 것이 얼마나 고통스러운 일인지, 이것은 데이터 테이블의 매우 흔히 볼 수 있는 형식이다.😄
그리고 나서 나는 천성적으로 약간의 변화를 거부하는 사용자가 만약 그가 다른 사람에게 한 말에 약간의 어려움을 겪었다면 그는 심지어 같은 일을 하려고 애쓰지 않을 것이라는 것을 깨달았다.
그래서 나는 유일하게 그것을 한동안 사용한 사람이다. -), 그러나 이것은 공평하다.

새로운 시대의 흥기😄


그리고 그것은 점점 보편화되었다. 나의 이전 프로젝트에서 우리는 우리의 문서를 최신 상태로 유지하고 우리의 민첩한 주기에 이 작은 문서 단계를 포함하기로 결정했다.
매번 시작한 후, 인코딩을 시작하기 전에, 우리는 이 기능과 관련된 최소한의 문서를 업데이트하거나 만듭니다.물론 모든 사람들이 가격 인하를 배우기 시작하면서 좌절감이 대규모로 재현되고 있다.😄 😄
개발자로서 나는 끊임없이 증가하는 수요를 충족시키기 위해 최소한 가격 인하 엔진을 확장하기로 결정했다.그러나 다음과 같은 문제가 있습니다.
만약 형식이 비록 외관은 간단하지만 디자인에 있어서 간소화 문제를 가져왔다면, 어떻게 엔진을 간단하고 확장할 수 있습니까?

새로운 희망


그래서 해보기로 했어요.우선, 나는 해석 중의 헤라트식의 면을 해결해야 한다.
강조된 문법은 매우 편리하므로 변경해서는 안 된다.그러나 만약에 우리가 확장 가능한 방법을 채택하고 싶다면, 우리는 복잡한 블록을 간소화하여 렌더링 엔진이 그것들을 더욱 유연하게 분석할 수 있고 문법을 더욱 어색하게 하지 않도록 해야 한다.이 개념은 반복을 통해 고정된 것이다. 이 가설을 보면 단일 블록 성명 문법이 적당한 것 같다.
마크 엔진, 탄생😄
그런데 저희가 이걸로 뭘 할 수 있을까요?

강조


너는 값을 깎는 것처럼 계속 중점을 쓸 수 있다.

결과는 다음과 같습니다.

이모티콘


너는 이미 만들어진 이모티콘을 사용할 수 있다.태그에는 트위터 이모티콘이 포함됩니다.

이 문서에는 모든 이모티콘의 이름을 찾기 위한 검색 엔진이 포함되어 있습니다.

제목


제목은 다른 식으로 쓸 이유가 없어요.

블록 참조


마찬가지로 이곳의 문법은 완전히 같지만 읽을 수 있는 목적에서 같은 방식으로 끼워 넣는 것을 허락하지 않는다.


무질서 목록



순서 목록



문서에서 숫자를 사용하지 않으려면 neutral 기호를 추가했습니다.

유산


표, 이미지, 링크, 코드 블록은 모두 같은 문법을 유지한다.

새 구역?


예, 모든 종류의 새 블록을 설명하는 독특한 방식을 추가했습니다.
[NAME OPTIONS] {{
  BODY
}}
예를 들어 표 문법은...
[table format:markdown] {{
  | COL A | COL B   | COL C  |
  |-------|---------|--------|
  | AA    | BB      |CC      |
}}
그러나 이 문법을 사용하면 성명 방식을 변경하지 않고 옵션을 쉽게 변경하고 유연성을 높일 수 있습니다
[table format:csv] {{
COL A,COL B,COL C
AA,BB,CC
}}
이 두 블록의 결과는 같을 것이다

이렇게 하면 다음과 같은 작업을 수행할 수 있습니다.
  • 해상도의 작업을 간소화하여 그 속도를 유지한다.
  • 사용자가 복잡한 문법에서 방향을 잃지 않도록 방지
  • 타사 플러그인 생성을 단순화합니다.
  • 스타일


    Marks에서 스타일은 옵션이지만 간단함을 유지하기 위해 일부 옵션 이름은 스타일에 전용됩니다.단락이나 블록에는 스타일이 있을 수 있습니다.블록에서 스타일을 선언하는 방식은 단락과 같습니다.다른 점은 어디에 설치할 수 있느냐에 있다.
    [table format:csv theme:dark variant:bordered,striped] {{
    COL A,COL B,COL C
    AA,BB,CC
    AA,BB,CC
    AA,BB,CC
    AA,BB,CC
    }}
    
    이 블록에서 테마를 짙은 색으로 설정하기만 하면 미리 정의된 스타일을 적용합니다.따라서 스타일을 쉽게 정의할 수 있습니다.
    변형도 전역 페이지 템플릿을 간소화하는 데 도움을 주기 위해 미리 정의된 css입니다.
    부트 템플릿의 결과는 다음과 같습니다.

    옵션


    사용자 정의 블록에 스타일이나 다른 옵션을 적용할 수도 있고 클래식 단락에 같은 내용을 정의할 수도 있다

    중첩


    Markdown을 사용한 적이 있다면, 한 구성 요소를 다른 구성 요소에 끼워 넣을 수 있고 끼워 넣을 수 없다는 것을 발견할 수 있습니다.
    예를 들어 하나의 시계를 다른 시계에 끼워 넣을 수 없고 문법이 유연하지 않아서 이 점을 할 수 없다.
    이 기능을 허용하고 간소화하기 위해 ref 옵션을 도입했습니다.
    구성 요소에 옵션ref를 추가하면 표시된 위치에 나타나지 않습니다.반대로 같은 인용 이름을 가진 자리 표시자가 있는 위치에 추가됩니다.
    | Rows id       | A1            | A2    | ::- ref:TAB_1
    | ------------- |:-------------:| -----:|
    | Row 1         | AA-AA         | AA-AA |
    
    | Rows id       | B1            | B2    |
    | ------------- |:-------------:| -----:|
    | Row 1         | @@TAB_1@@     | BB-BB |
    

    그것을 확장하다


    이 간단한 블록 설명이 있으면 새 플러그인을 추가하는 것이 매우 쉽다고 상상할 수 있습니다.예를 들어, 우리는 Marks에 Mermaid 플러그인을 제공합니다.
    [mermaid] {{
    graph LR
        A[Hard edge] -->|Link text| B(Round edge)
        B --> C{Decision}
        C -->|One| D[Result one]
        C -->|Two| E[Result two]
    }}
    

    결론


    만약 당신이 이 글을 좋아하고 더 많은 것을 알고 싶다면, 마음대로 링크를 클릭하십시오
    Website
    Npm package
    Github
    즐기다😄

    좋은 웹페이지 즐겨찾기