-
Notifications
You must be signed in to change notification settings - Fork 32
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added spell checker #118
Added spell checker #118
Changes from all commits
c4fef8a
d352531
27e1ffa
3e423a1
c93e25d
0ab2ec1
543c518
9419165
4be5809
0b82e63
eb8c487
911f1b4
b52eb6e
c261e5a
752edc6
0c290ea
fede26f
f5448b6
6bea8e3
ea8de76
d76552f
520d5e2
9f9b2c0
64a76dc
69f080a
5f7c62f
d14530f
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
{ | ||
"problemMatcher": [ | ||
{ | ||
"owner": "check-directory-tree", | ||
"pattern": [ | ||
{ | ||
"regexp": "^(.+?) (.+?) (.*)", | ||
"file": 1, | ||
"code": 2, | ||
"message": 3 | ||
} | ||
] | ||
} | ||
] | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
{ | ||
"problemMatcher": [ | ||
{ | ||
"owner": "editor-config", | ||
"pattern": [ | ||
{ | ||
"regexp": "^([^\\\\s].*)$", | ||
"file": 1 | ||
}, | ||
{ | ||
"regexp": "^\\s+(\\d+):(\\d+)\\s(.+)$", | ||
"line": 1, | ||
"column": 2, | ||
"message": 3, | ||
"loop": true | ||
} | ||
] | ||
} | ||
] | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
{ | ||
"problemMatcher": [ | ||
{ | ||
"owner": "yaspeller", | ||
"pattern": [ | ||
{ | ||
"regexp": "^✗\\s(.*)\\s\\d+\\sms$", | ||
"file": 1 | ||
}, | ||
{ | ||
"regexp": "^\\d+\\. (.+) \\((\\d+):(\\d+).*$", | ||
"message": 1, | ||
"line": 2, | ||
"column": 3, | ||
"loop": true | ||
} | ||
] | ||
} | ||
] | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
name: book-check-text | ||
|
||
# Only run this when the master branch changes | ||
on: | ||
workflow_dispatch: | ||
pull_request: | ||
|
||
# This job installs dependencies, build the book, and pushes it to `gh-pages` | ||
jobs: | ||
yaspeller: | ||
name: Spell check | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- name: Spell check | ||
# problem matching breaks loop when it finds unrelated data, so we use reverse grep to clear output | ||
run: | | ||
echo "::add-matcher::.github/problem-matchers/yaspeller.json" | ||
set -o pipefail; npx yaspeller -c .yaspellerrc.json . 2>&1 >/dev/null | grep -v "\-\-\-\-\-" | grep -v "Typos" | ||
echo "::remove-matcher owner=yaspeller::" | ||
|
||
editor-config: | ||
name: Editor Config check | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- name: Editor Config Check | ||
# problem matching breaks loop when it finds unrelated data, so we use reverse grep to clear output | ||
run: | | ||
echo "::add-matcher::.github/problem-matchers/editor-config.json" | ||
set -o pipefail; npx eclint check "**/*.md" 2>&1 >/dev/null | grep -v "EditorConfig" | ||
echo "::remove-matcher owner=editor-config::" | ||
|
||
direcyory-tree: | ||
name: Directory tree check | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- name: Directory tree check | ||
run: | | ||
echo "::add-matcher::.github/problem-matchers/check-directory-tree.json" | ||
bash ./tools/check_directory_tree.sh qmlcourseRU | ||
echo "::remove-matcher owner=check-directory-tree::" |
Original file line number | Diff line number | Diff line change | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
@@ -0,0 +1,195 @@ | ||||||||||
{ | ||||||||||
"lang": "ru", | ||||||||||
"fileExtensions": [ | ||||||||||
".md" | ||||||||||
], | ||||||||||
"excludeFiles": [ | ||||||||||
".git", | ||||||||||
"node_modules" | ||||||||||
], | ||||||||||
"ignoreUppercase": true, | ||||||||||
"ignoreUrls": true, | ||||||||||
"ignoreCapitalization": true, | ||||||||||
"checkYo": true, | ||||||||||
"ignoreText": [ | ||||||||||
["– .*\\]", "g"], | ||||||||||
["следующие люди:.*", "g"] | ||||||||||
], | ||||||||||
"dictionary": [ | ||||||||||
".*логин.*", | ||||||||||
"bootcamp", | ||||||||||
"HR.*", | ||||||||||
"Jira", | ||||||||||
"onboarding", | ||||||||||
"playbook", | ||||||||||
"Podlodka", | ||||||||||
"Rx", | ||||||||||
"Spotify", | ||||||||||
"teamlead.*", | ||||||||||
"vs", | ||||||||||
"Авито", | ||||||||||
"автотест.*", | ||||||||||
"айти", | ||||||||||
"айтишник.*", | ||||||||||
"Ана", | ||||||||||
"антипаттерн.*", | ||||||||||
"апдейт.*", | ||||||||||
"апрув.*", | ||||||||||
"ассессмент", | ||||||||||
"аутичн.*", | ||||||||||
"аутсорса.*", | ||||||||||
"баг.*", | ||||||||||
"билд.*", | ||||||||||
"бланшар", | ||||||||||
"Бреслав.*", | ||||||||||
"брейншторм.*", | ||||||||||
"Булдаков.*", | ||||||||||
"буллет.*", | ||||||||||
"буллшит.*", | ||||||||||
"бытовух.*", | ||||||||||
"бэкграунд.*", | ||||||||||
"бэкенд.*", | ||||||||||
"бэклог.*", | ||||||||||
"валидирова.*", | ||||||||||
"версионируется", | ||||||||||
"Версионность", | ||||||||||
"виральн.*", | ||||||||||
"воркшоп.*", | ||||||||||
"волонтерств.*", | ||||||||||
"гайд.*", | ||||||||||
"Гандапас", | ||||||||||
"геймификаци.*", | ||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||
"главред.*", | ||||||||||
"груминг.*", | ||||||||||
"Далио", | ||||||||||
"дейли.*", | ||||||||||
"Дельгядо", | ||||||||||
"ДеМарко", | ||||||||||
"Деминг.*", | ||||||||||
"демотиваци.*", | ||||||||||
"демотивирует.*", | ||||||||||
"демотивирующ.*", | ||||||||||
"джедайские.*", | ||||||||||
"джефф", | ||||||||||
"дэшборд.*", | ||||||||||
"заассайнь.*", | ||||||||||
"замылен.*", | ||||||||||
"Ильяхов.*", | ||||||||||
"инбокс.*", | ||||||||||
"инновационн.*", | ||||||||||
"интранет.*", | ||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||
"Кейнер", | ||||||||||
"Кови", | ||||||||||
"коммит.*", | ||||||||||
"коммитим.*", | ||||||||||
"коммуницирова.*", | ||||||||||
"конфиг.*", | ||||||||||
"корпоративщин.*", | ||||||||||
"корутин.*", | ||||||||||
"кроссфункциональн.*", | ||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||
"Ласло", | ||||||||||
"легаси", | ||||||||||
"лендинг.*", | ||||||||||
"Ленсиони", | ||||||||||
"логир.*", | ||||||||||
"лонгрид.*", | ||||||||||
"майндмеп.*", | ||||||||||
"Мавричева", | ||||||||||
"Макафи", | ||||||||||
"МакГрегор.*", | ||||||||||
"МакКлелланда", | ||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||
"мейнтейнер.*", | ||||||||||
"мелкофикс.*", | ||||||||||
"мем.*", | ||||||||||
"мерж.*", | ||||||||||
"мидл.*", | ||||||||||
"микросервис.*", | ||||||||||
"митап.*", | ||||||||||
"монитор.*", | ||||||||||
"мыслетопливо.*", | ||||||||||
"найм.*", | ||||||||||
"напоминалк.*", | ||||||||||
"незадокументированн.*", | ||||||||||
"неповторени.*", | ||||||||||
"неоптимально", | ||||||||||
"несистемно", | ||||||||||
"нетворкинг.*", | ||||||||||
"онбординг.*", | ||||||||||
"опенсорс.*", | ||||||||||
"операционк.*", | ||||||||||
"отрефактори.*", | ||||||||||
"оффер", | ||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||
"переговорк.*", | ||||||||||
"переиспользуем.*", | ||||||||||
"перформит.*", | ||||||||||
"премиальн.*", | ||||||||||
"присваем.*", | ||||||||||
"провалидируй.*", | ||||||||||
"продакт.*", | ||||||||||
"промо.*", | ||||||||||
"профстандарт", | ||||||||||
"ревью.*", | ||||||||||
"рекрутер.*", | ||||||||||
"репутационные.*", | ||||||||||
"ретроспектив.*", | ||||||||||
"рефакторинг.*", | ||||||||||
"референс.*", | ||||||||||
"рефлекси.*", | ||||||||||
"роадмап.*", | ||||||||||
"Рэй", | ||||||||||
"рэнди", | ||||||||||
"скилл.*", | ||||||||||
"скрайбинг.*", | ||||||||||
"скоммуницир.*", | ||||||||||
"скоммуницируй", | ||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||
"скоуп.*", | ||||||||||
"скринкаст.*", | ||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||
"смарт", | ||||||||||
"собеседуем.*", | ||||||||||
"созвон.*", | ||||||||||
"стейкхолд.*", | ||||||||||
"стендап.*", | ||||||||||
"стиралк.*", | ||||||||||
"сторипойнт.*", | ||||||||||
"стрессует", | ||||||||||
"стриминг.*", | ||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||
"тайминг.*", | ||||||||||
"телеграм.*", | ||||||||||
"техбренд.*", | ||||||||||
"техлид.*", | ||||||||||
"технобренд.*", | ||||||||||
"техпиар.*", | ||||||||||
"техрук.*", | ||||||||||
"тикет.*", | ||||||||||
"тимлид.*", | ||||||||||
"токен.*", | ||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||
"туториал.*", | ||||||||||
"шторминг.*", | ||||||||||
"фасилитатор.*", | ||||||||||
"фасилитац.*", | ||||||||||
"фейсбук.*", | ||||||||||
"феррацци", | ||||||||||
"фидбек", | ||||||||||
"фич.*", | ||||||||||
"флипчарт.*", | ||||||||||
"фреймворк.*", | ||||||||||
"фронтенд.*", | ||||||||||
"Феншуй.*", | ||||||||||
"хакатон.*", | ||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||
"Хофф", | ||||||||||
"Херси", | ||||||||||
"холакрат.*", | ||||||||||
"хотелок", | ||||||||||
"чартрайтинг.*", | ||||||||||
"чиксентмихайи", | ||||||||||
"шорткаты", | ||||||||||
"Шухарт.*", | ||||||||||
"Ферацци", | ||||||||||
"кликабельн.*", | ||||||||||
"человекочитаем.+", | ||||||||||
"локал.", | ||||||||||
"запуш.{1,3}", | ||||||||||
"мультиязычност.", | ||||||||||
"контрибьютор.{0,2}" | ||||||||||
] | ||||||||||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
HAS_ERROR=0 | ||
|
||
check_file() { | ||
local filepath=$1 | ||
local has_frontmatter_title=0 | ||
local has_ending=0 | ||
local has_beginning=0 | ||
|
||
# [[ ! $filepath =~ ^(\.?[A-Za-z0-9-]+\/)+(ru|index|en)\.md$ ]] \ | ||
# && echo "$filepath bad_branch_name Check a directory tree, branch should be named only with lowercase letters (a-z), numbers (0-9) and hyphens (-), file should be named as %locale%.md (ru.md, e.g.)" \ | ||
# && HAS_ERROR=1 | ||
|
||
if grep -q -E '^# .+$' "$filepath"; then | ||
# has a markdown first level header in file | ||
return | ||
fi | ||
|
||
# iterate line by line | ||
|
||
while IFS="" read -r line || [ -n "$line" ] | ||
do | ||
if [ "$line" = '---' ] && [ "$has_beginning" = 0 ]; then | ||
has_beginning=1 | ||
continue | ||
fi | ||
if [ "$line" = '---' ] && [ "$has_beginning" = 1 ]; then | ||
has_ending=1 | ||
break | ||
fi | ||
# check that line has title frontmatter param | ||
if [[ $line =~ ^title:.+$ ]]; then | ||
has_frontmatter_title=1 | ||
fi | ||
done < "$filepath" | ||
|
||
|
||
if [ "$has_ending" = 0 ]; then | ||
echo "$filepath open_frontmatter_block Check the .md file, you have open frontmatter block (end it with '---')" | ||
HAS_ERROR=1 | ||
return | ||
fi | ||
|
||
if [ "$has_frontmatter_title" = 0 ]; then | ||
echo "$filepath without_title Check the .md file, it should have frontmatter block with title param or markdown first level header" | ||
HAS_ERROR=1 | ||
fi | ||
} | ||
|
||
IFS=$'\n'; set -f | ||
for filepath in $(find "$1" -iname '*.md'); do | ||
check_file "$filepath" | ||
done | ||
unset IFS; set +f | ||
|
||
exit $HAS_ERROR |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.