에서 HMTL 및 MD 파일을 생성합니다.바둑에서의 TXT

이 글은 단순에서 HTML (어디서든 위탁 관리할 수 있음) 과 태그 파일을 만들기 위해 작성한 코드를 설명합니다.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




소스 코드


Github Repo




로컬 실행 코드: (테스트 파일 양식이 있습니다./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를 탐색하고 실험해 왔습니다. 재미있어 보이고 재미있어 보이기 때문입니다




연락처




좋은 웹페이지 즐겨찾기