쓰기 환경에textlint를 추가하여 읽기 쉬운 글을 쓰기
17216 단어 GitHub ActionstextlintLaTeXtech
개시하다
나는 이전에 조치를 취하기 시작했다는 내용의 기사를 쓴 적이 있다
週論
.이 보도는 매주 증량 연구를 하고 논문을 쓰는 방법을 소개했다.
이번에는 이번 주 논의된 환경에서 textlint를 추가하여 Giithub Actions에서 자동으로 lint을 실행하고자 합니다.
제가 참고한 보도를 참고 문헌으로 삼아 보도의 마지막 총결을 하도록 하세요.
주론 환경에서 textlint 추가
다음 창고에textlint가 추가되었습니다.
textlint는 텍스트 파일과 Markdown의 라인을 만드는 도구입니다.
npm에서 규칙과 플러그인을 자유롭게 추가할 수 있습니다.
우선, npm로 필요한 모듈을 추가합니다.
이것은
npm install --save-dev below-packages
를 통해 설치할 수 있다.textlint-plugin-latex2d
는 textlint에서\LaTeX를 지원하는 플러그인입니다.또한
prh
는 표지의 흔들림을 감지하고 자동으로 수정하는 외부 프로그램 라이브러리입니다.따라서
textlint-rule-prh
는prh와textlint의 인터페이스입니다. "devDependencies": {
"prh": "^5.4.4",
"textlint": "^11.9.0",
"textlint-filter-rule-comments": "^1.2.2",
"textlint-plugin-latex2e": "^1.1.0",
"textlint-rule-preset-ja-engineering-paper": "^1.0.2",
"textlint-rule-preset-ja-spacing": "^2.0.2",
"textlint-rule-preset-ja-technical-writing": "^4.0.1",
"textlint-rule-preset-jtf-style": "^2.3.8",
"textlint-rule-prh": "^5.3.0",
"textlint-rule-spellcheck-tech-word": "^5.0.0"
}
단, 이것만으로는 lint를 진행할 수 없습니다.설정
.textlintrc
이 필요합니다.이하.플러그인과 규칙에서 상세한 설정을 할 수 있습니다.
위클리리포트는 논문 집필 환경이기 때문에 마침표와 쉼표 등에 대한 추가 설정을 진행 중이다.
prh
나는 내가 사용하는yaml 파일을 만드는 것이 비교적 좋다고 생각한다.{
"plugins": [
"latex2e"
],
"rules": {
"preset-ja-spacing": true,
"preset-ja-technical-writing": {
"ja-no-mixed-period": {
"periodMark": "。",
},
"max-kanji-continuous-len": false,
"sentence-length": 100,
},
"preset-ja-engineering-paper": true,
"preset-jtf-style": {
"1.2.1.句点(。)と読点(、)": false,
"1.2.2.ピリオド(.)とカンマ(,)": false,
"4.1.3.ピリオド(.)、カンマ(,)": false
},
"prh": {
"rulePaths": [
"node_modules/prh/prh-rules/media/WEB+DB_PRESS.yml"
]
},
},
"filters": {
"comments": {
"enablingComment": "textlint-enable",
"disablingComment": "textlint-disable"
}
}
}
이후 npx textlint main.tex **/**.tex
의 명령을 실행할 때.textlintrc를 자동으로 읽어서 잘못된 부분을 표시합니다.하지만 이 지령을 내릴 때마다 귀찮아서 메이크파일을 만들었어요.
make lint
를 실행하면 자동으로 lint가 진행됩니다.MAIN_TEX = main.tex
compile:
latexmk $(MAIN_TEX)
rm **/__latexindent_temp.tex
rm __latexindent_temp.te
.PHONY: install
install:
npm install
npm audit fix
.PHONY: lint
lint:
npx textlint $(MAIN_TEX) **/**.tex
.PHONY: fix-lint
fix-lint:
npx textlint $(MAIN_TEX) **/**.tex --fix
이후 GiitHub Actions를 추가하여 요청 시 lint 검사를 실시한다.이쪽의yaml파일은 아래의 보도를 참고하게 해 주세요.
name: reviewdog
on:
pull_request:
branches:
- main
jobs:
reviewdog-check:
name: reviewdog (check)
runs-on: ubuntu-latest
steps:
- name: Set up reviewdog
uses: reviewdog/action-setup@v1
with:
reviewdog_version: latest
- name: Set up node
uses: actions/setup-node@v2
- name: Checkout
uses: actions/checkout@v2
- name: Cache
uses: pat-s/always-upload-[email protected]
env:
cache-name: cache-node-modules
with:
path: ~/.npm
key: node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
node-
- name: install dependencies
run: |
npm install
- name: Execute textlint
run: |
npx textlint -f checkstyle main.tex components/**.tex >> .textlint.log
- name: Run reviewdog
if: failure()
env:
REVIEWDOG_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
cat .textlint.log | reviewdog -f=checkstyle -name="textlint" -reporter="github-pr-review"
- name: Slack Notification
uses: rtCamp/action-slack-notify@v2
env:
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
SLACK_USERNAME: weekly-textlint
SLACK_ICON_EMOJI: ":bell:"
Zenn의 집필 환경에 lint 추가
역시 젠의 집필 환경에서도 린트와 지티허브 액션스가 추가됐다.
자세한 내용은 아래 창고를 참고하세요.
그런데 문제가 생겼어요.
지금까지 나는 textlint를 가입하지 않았고 textlint를 새로 추가한 결과 과거 보도에서 대량의 수정이 있었다.
이 밖에
zenn-ganariya
창고에main 지점의 보호기 rule를 설치했다.따라서 textlint(ReviewDog)가 통과하지 않으면main으로 통합할 수 없습니다.
그 결과 새로운 기사를 써서 요구를 했더라도 과거 기사에서는 lint error가 병합되지 않는 상태가 됐다.
그래서 나는 지점명과 보도를 함께 놓고 지점명에lint만 붙이고 싶었지만 순조롭게 진행되지 못했다.
나는 나에게 단지 하나의 지점의 이름에lint를 붙일 수 있도록 다시 한 번 조사하고 싶다.
참고 문헌
Reference
이 문제에 관하여(쓰기 환경에textlint를 추가하여 읽기 쉬운 글을 쓰기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/ganariya/articles/weekly-report-textlint텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)