>  기사  >  백엔드 개발  >  마크다운 편집기가 일반 시각적 편집기를 대체할 때 프런트 엔드 디스플레이 문제와 관련하여 어떻게 해결합니까?

마크다운 편집기가 일반 시각적 편집기를 대체할 때 프런트 엔드 디스플레이 문제와 관련하여 어떻게 해결합니까?

WBOY
WBOY원래의
2016-09-05 08:59:541071검색

제목에 따라 이제 두 가지 아이디어가 생겼습니다.
첫 번째는 프론트 엔드 처리에 js를 사용하는 것입니다. 단점은 검색 엔진에 친숙하지 않다는 것입니다. 마크다운 텍스트에 대한 선호도가 높습니다.
두 번째 방법은 코드의 일관성을 보장하기 위해 출력 시 마크다운 텍스트를 HTML로 변환하는 것입니다. 백엔드에서 프론트 엔드까지 출력되는 코드는 모두 HTML이지만 이 방법에는 버그가 있습니다. 자체 프레임워크라면 마크다운 변환을 지원하기 위해 많은 변화가 있었지만, 다른 사람을 위한 플러그인을 개발하거나 개발 프레임워크가 완성된 경우에는 큰 영역을 변환하기 어려울 것입니다. 보기. 그것을 처리하는 방법.

Chanzhi 마크다운 편집기 확장에서 첫 번째 방법을 구현했습니다. 최근 콘텐츠 출력을 간단하고 효과적으로 제어하는 ​​두 번째 방법을 고민하고 있습니다.
1. 콘텐츠를 판단하는 방법입니다. 는 마크다운 텍스트 콘텐츠입니다
2. 뷰 템플릿을 변경하지 않고 마크다운 콘텐츠를 일괄 변환하는 방법

위 내용을 고려하여 마크다운 표시 솔루션을 여러분과 공유하고자 합니다.
ps:
Chanzhi 마크다운 편집기는 editmd를 마크다운 입력 및 출력으로 사용합니다.

확장 소스코드는 http://git.oschina.net/hainuo...에서 얻을 수 있습니다.

답글 내용:

제목에 따라 이제 두 가지 아이디어가 생겼습니다.
첫 번째는 프론트 엔드 처리에 js를 사용하는 것입니다. 단점은 검색 엔진에 친숙하지 않다는 것입니다. 마크다운 텍스트에 대한 선호도가 높습니다.
두 번째 방법은 코드의 일관성을 보장하기 위해 출력 시 마크다운 텍스트를 HTML로 변환하는 것입니다. 백엔드에서 프론트엔드로 출력되는 코드는 모두 HTML이지만 이 방법에는 버그가 있습니다. 마크다운 변환을 지원하기 위해 많은 변경이 이루어졌으나, 타인을 위한 플러그인을 개발하거나, 개발 프레임워크가 완성된 경우에는 뷰에서 넓은 영역을 변환하기 어려울 것입니다. .그것을 다루는 방법.

Chanzhi 마크다운 편집기 확장에서 첫 번째 방법을 구현했습니다. 최근 콘텐츠 출력을 간단하고 효과적으로 제어하는 ​​두 번째 방법을 고민하고 있습니다.
1. 콘텐츠를 판단하는 방법입니다. 는 마크다운 텍스트 콘텐츠입니다
2. 뷰 템플릿을 변경하지 않고 마크다운 콘텐츠를 일괄 변환하는 방법

위 내용을 고려하여 마크다운 표시 솔루션을 여러분과 공유하고자 합니다.
ps:
Chanzhi 마크다운 편집기는 editmd를 마크다운 입력 및 출력으로 사용합니다.

확장 소스코드는 http://git.oschina.net/hainuo...에서 얻을 수 있습니다.

개인적으로는 첫 번째 옵션을 선호합니다.
우선 이렇게 하면 앞부분과 뒷부분을 분리하는 데 더 유리합니다. 예를 들어 프런트 엔드가 여러 디스플레이 스타일에 적응하는 경우 백 엔드는 코드를 변경할 필요가 없습니다.
두 번째로, 검색 엔진 포함에 관해 언급하신 문제에 관해서는 마크다운 텍스트도 매우 읽기 쉽다고 생각합니다. 게다가 점점 더 많은 웹사이트가 비동기 로딩 및 단일 페이지 모드를 사용하여 설계됨에 따라 검색 엔진의 크롤링 메커니즘이 점차 개선되었습니다. 또한, 메타를 통해 주요 정보를 직접 지정할 수도 있습니다.

문자열이 마크다운인지 판단하는 방법은 판단할 필요가 없다고 생각합니다. 마크다운이 아닌 경우, 마크다운을 사용하여 파싱하더라도 출력은 가장 기본적인 텍스트가 됩니다.
View를 변경하지 않고 콘텐츠를 변환하는 것은 위에서 언급한 함정, 즉 백엔드 변환 시 프런트엔드와 백엔드가 분리되지 않는 상황을 피하기 어렵습니다. 변환 프로그램과 변환이 필요합니다. 모듈 코드는 행복과 불행 문제를 공유합니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.