문제

현재 PHP 기반 컨텐츠 관리 시스템을 실행하고있는 HTML 컨텐츠를 사용하여 마크 다운 추가. 대부분의 컨텐츠는 제목 및 하위 제목으로 구성되어 매우 긴 페이지를 만듭니다. 각 페이지의 시작 부분에서 나는 목록의 도움으로 목차를 만듭니다. Markdown Extra 's 헤더 ID 속성.

페이지보기의 길이를 단축하려면 jQuery의 사용을 원합니다. 탭 플러그인 제목의 첫 번째 레벨에서.

문제는 출력입니다 마크 다운 추가 jQuery와 호환되지 않습니다 탭 플러그인 그 때문에 기대하고 있습니다 마크 다운 추가 섹션의 내용을 별도의 div-tag로 래핑하지 않습니다.

이 두 라이브러리가 함께 작동하도록하는 방법이 있습니까?

편집하다

이것이 HTML 출력의 모습입니다.

 <p>Some intro text...</p>
 <h3>Table of content</h3>
 <ul>
  <li><a href="#sub1">Topic 1</a></li>
  <li><a href="#sub2">Topic 2</a></li>
  <li><a href="#sub3">Topic 3</a></li>
 </ul>
 <h3 id="sub1">Topic 1</h3>
 <p>The content of this topic.</p>
 <h3 id="sub2">Topic 2</h3>
 <p>The content of this topic.</p>
 <h3 id="sub3">Topic 3</h3>
 <p>The content of this topic.</p>

.. 그리고 이것은 해당 Markdown 코드입니다.

Some intro text...

###Table of content###

* [Topic 1](#sub1)
* [Topic 2](#sub2)
* [Topic 3](#sub3)

###Topic 1### {#sub1}

The content of this topic.

###Topic 2### {#sub2}

The content of this topic.

###Topic 3### {#sub3}

The content of this topic.

해결책

Cobbal의 약간의 도움으로 나는 Markdown Markup을 탭 플러그인과 함께 작동하는 것으로 바꾸는이 jQuery 문을 만들었습니다.

  $("#tabs :header").each(function() 
  {
    var id = $(this).attr("id");
    if(id=="") return;    
    var div = $("<div>");
    var tagName = this.tagName;    
    $(this).nextAll().each(function()
    {
      if(this.tagName==tagName) return false;
      div.append(this);
    });
    $(this).removeAttr("id");
    div.attr("id", id);
    $(this).before(div);
    div.prepend(this);
  });

그러나 탭 플러그인에게 다른 방식으로 컨텐츠를 선택해야한다고 말하는 대신 탭 플러그인에 맞게 마크 업을 변환해야한다는 사실 은이 솔루션이 이상적이지 않을 수 있습니다.

도움이 되었습니까?

해결책

당신의 문서에서

$("#sub1,#sub2,#sub3").each(function() {
    var containerDiv = $("<div>").attr("id", $(this).attr("id") + "div");
    $(this).before(containerDiv);
    containerDiv.append(this);
});

그리고 당신의 마크 다운을 변경하십시오

...
* [Topic 1](#sub1div)
* [Topic 2](#sub2div)
* [Topic 3](#sub3div)
...

다른 팁

당신이 내용물을 직접 묶을 수있는 것처럼 보입니다.

링크 된 Markdown 추가 페이지의 절반은 다음과 같이 div 내부에 Markdown을 삽입하는 방법을 보여줍니다.

PHP Markdown 추가는 마크 다운 형식 텍스트를 블록 레벨 태그 내에 넣는 방법을 제공합니다. 값 1이있는 태그에 Markdown 속성을 추가하여 다음을 수행합니다.

<div markdown="1">
This is *true* markdown text.
</div>

Markdown = "1"속성이 제거되고 '컨텐츠는 Markdown에서 HTML로 변환됩니다. 최종 결과는 다음과 같습니다.

<div>

<p>This is <em>true</em> markdown text.</p>

</div>
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top