pukiwiki 문법을 markdown 문법으로 변환하는 pukiwiki2markdown이라는 도구를 공개했습니다.
2055 단어 PHPReact슬림Slim3SlimFramework
「그러고 보니 Qiita에 어떻게 구현했는지, 라든지 쓰지 않았어―」
라고 생각했기 때문에 공양이 테라 기사했습니다. (∩´∀`)∩
데모 사이트
화면을 향해 왼쪽의 input 에 pukiwiki 의 문장을 넣으면 오른쪽에 변환 결과가 표시됩니다.
변환 결과를 클립보드에 복사할 수도 있습니다.
소스 코드 (Github)
API처럼 움직이는 엔드포인트
다음 명령을 실행하여 pukiwiki 문법에서 markdown 형식으로 변환할 수 있습니다.
body 안에 문장을 넣는 느낌이군요.
curl -XPOST https://pukiwiki2markdown.saino.me/api/v1/convert \
-H 'Content-Type: application/json' \
-d '{"body": "*Header1\n**Header2\n"}'
구현하는 데 사용한 기술
백엔드
API처럼 움직이는 엔드포인트
다음 명령을 실행하여 pukiwiki 문법에서 markdown 형식으로 변환할 수 있습니다.
body 안에 문장을 넣는 느낌이군요.
curl -XPOST https://pukiwiki2markdown.saino.me/api/v1/convert \
-H 'Content-Type: application/json' \
-d '{"body": "*Header1\n**Header2\n"}'
구현하는 데 사용한 기술
백엔드
curl -XPOST https://pukiwiki2markdown.saino.me/api/v1/convert \
-H 'Content-Type: application/json' \
-d '{"body": "*Header1\n**Header2\n"}'
백엔드
Slim Framework 는 본가의 사이트에서도 부르고 있는 대로 PHP 마이크로프레임워크입니다.
선정 이유로는 「pukiwiki 의 코드를 그대로 재이용하고 싶었기 때문」이라고 하는 것에 다합니다.
pukiwiki 문법의 파서를 쓸까~라고도 생각했습니다만, pukiwiki 의 원 코드를 보면 고리고리에 논리가 쓰여져 있었으므로, 「이것은 원래의 코드를 재이용하는 것이 압도적으로 빠르다」 라고 생각해, 변환하는 로직도 PHP 측에 옮겼습니다.
(변환 도구이므로 비교적 일회용 일회용입니다)
프런트 엔드
이쪽은 이른바 「보통의 프런트 엔드」라고 하는 느낌으로, 아무것도 바뀐 것은 하지 않습니다.
단지 단순히 텍스트를 입력해 변환 결과를 받을 뿐이므로, 그렇게 React 의 혜택은 받지 않습니다.
마지막으로
자발적으로 세우고 싶은 분은 리포지토리 안에 docker-compose.yml 를 동고하고 있으므로 시험해 주세요.
Docker image 제공은 지금까지 생각하지 않습니다. 사실은 하는 것이 좋을지도 모르지만, 변환하는 것만의 도구이므로.
향후 어떠한 개선점이 있을까~라고 생각했습니다만, 현재로서는 비교적 나쁘지 않은 정밀도였으므로, 이대로 잠시 운용할지도 모릅니다.
뭔가 의견이 있으면 Issue나 Pull Request는 받아들이고 있기 때문에, 잘 부탁드립니다 ٩(๑>◡<๑)۶
Reference
이 문제에 관하여(pukiwiki 문법을 markdown 문법으로 변환하는 pukiwiki2markdown이라는 도구를 공개했습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kaishuu0123/items/428efc2d2f251cf7fa9d
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(pukiwiki 문법을 markdown 문법으로 변환하는 pukiwiki2markdown이라는 도구를 공개했습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kaishuu0123/items/428efc2d2f251cf7fa9d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)