에서 HMTL 및 MD 파일을 생성합니다.바둑에서의 TXT
프로젝트 구상
이 프로젝트의 생각은 팀원들이 해결해야 할 임무나 버그에 대한 기본 문서를 신속하게 생성하고 공유하는 데서 나온다.
나는 주로 백엔드 엔지니어로서 일한다. 물론 나의 첫 번째 생각은 CLI 도구를 구축하여 파일 경로를 입력하고 코드를 나머지 작업을 완성함으로써 이 작업을 쉽게 완성할 수 있도록 하는 것이다.
왜 가요?
나는 이전에 Go 코드를 써 본 적이 없지만, Go conf의 강연과 흥미를 끄는 강연을 보았기 때문에 이것은 내가 시도한 것이다.
나는 GO에서 goroutines, channels, wait groups와 병행 실행 코드가 얼마나 간단한지 정말 좋아한다. 그래서 이것이 GO에서 이렇게 하는 이유다.
주지
내가 이 항목에서 따르는 주요 사상은 독서이다.txt 파일을 한 줄씩 쓰고 Go의 Goroutines &Channel을 사용하여 MD & HTML 파일을 씁니다.
이것은 어느 정도 가능하지만 제3자 라이브러리에 변통을 해야 한다. 이런 라이브러리는 한 줄 한 줄 전달하는 것이 아니라 코드 블록과 표 문법을 동시에 전달해야 한다.
그래서 나는 고strings.Builder 패키지를 사용해서 그것들을 하나의 블록으로 연결하는 것이 아니라 코드 블록과 시계를 검사하는 방법을 생각해 내야 한다.
타사 도서관:
goldmark
MD 구문을 HTML로 변환하기
quick
Html 및 구문 강조 표시 코드 블록 생성에 사용
비밀 번호
CLI 툴의 엔트리 포트:
위의 코드에서, 나는 내가 공개하고 해석할 수 있는 모든 사용자 정의 맵/사전을 성명했다.txt 파일을 MD&에 저장하기;HTML 형식.
그런 다음'shouldExit'func에서 CLI의 사용자 입력 매개 변수를 확인합니다
그런 다음 파일 경로와 확장자를 확인합니다.
이후, 나는 두 채널을 만들 것이다
- 내가 읽거나 쓴'writerChannel'.
- 와'files Created', 메인 goroutine에 대한 읽기/쓰기 작업을 할 때 신호를 보내면 차단을 멈추고 계속 실행할 수 있습니다.
파일 읽기/쓰기
단독 goroutines에서
체크 테이블 및 코드 블록
이것은 MD &에 쓰기 처리입니다.html 형식
"HtmlStrebuilder"함수는 전달된 CLI 매개 변수에 따라 정적 파일에서 구성할 테마와 스타일을 처리합니다
err := quick.Highlight(...)
line 처리 코드 블록의 Html 구문 강조 표시 생성
마지막으로 "files Created"채널에서 "done"을 읽으면 주 goroutine에 신호를 보냅니다. 쓰기와 읽기가 끝난 후에
<-filesCreated
Full method on Github
소스 코드
로컬 실행 코드: (테스트 파일 양식이 있습니다./testData 디렉토리)
Generate Html/md files to %HOMEDIR%/Downloads directory:
go run . ./testData/test.txt
selecting custom theme:
go run . ./testData/test.txt mid
Getting all currently available mappings:
go run . -options (or -o)
Note: Currently line break/newline is expected between each mapping element to be parsed into MD/HTML correctly!
CLI 명령을 전체적으로 실행합니다.
이 도구를 전 세계에서 실행하려면 TXTOMD를 설치할 수 있습니다.exe 파일을 윈도우즈 환경 변수에 있는 "경로"
이렇게 하면 너는 너의 시스템의 어느 곳에서든지 그것을 사용할 수 있다
txtToMD {txt File Path} [options:light(default),dark,mid]
txtToMD D:\Desktop\test.txt dark
Getting all currently available mappings:
txtToMD -options
코멘트
중요한 반모드나 오류를 보신다면 언제든지 댓글을 남겨주세요
내가 말한 바와 같이 이것은 나의 첫 번째 GO 프로젝트로 재미를 위한 것이기 때문에 개선될 수 있습니다
나에 관하여
저는 현재 주로 C#, JS, TS에서 백엔드/전체 창고 엔지니어를 맡고 있습니다.
현재 분산 시스템 분야에 집중 중입니다
여가 시간에 Go와 Rust를 탐색하고 실험해 왔습니다. 재미있어 보이고 재미있어 보이기 때문입니다
연락처
Reference
이 문제에 관하여(에서 HMTL 및 MD 파일을 생성합니다.바둑에서의 TXT), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/dompolzer/generating-hmtl-and-md-files-from-txt-in-go-59lh텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)