FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
docs/script/get-blc-command.js at main · toshimaru/docs · GitHub
This repository was archived by the owner on Oct 4, 2023. It is now read-only.
toshimaru
/
docs
Public archive
forked from
github/docs
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Pull requests
0
Actions
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Security and quality
Insights
Expand file tree
Breadcrumbs
docs
/
script
/
get-blc-command.js
Copy path
More file actions
More file actions
Latest commit
History
History
History
executable file
·
61 lines (49 loc) · 2.3 KB
Breadcrumbs
docs
/
script
/
get-blc-command.js
Copy path
File metadata and controls
executable file
·
61 lines (49 loc) · 2.3 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#!/usr/bin/env node
const
supportedLanguages
=
Object
.
values
(
require
(
'../lib/languages'
)
)
.
map
(
language
=>
language
.
code
)
const
excludedLinks
=
require
(
'../lib/excluded-links'
)
const
program
=
require
(
'commander'
)
// [start-readme]
//
// This script parses options for `script/check-external-links`.
//
// [end-readme]
program
.
description
(
'Construct a blc command to run in script/check-external-links'
)
.
option
(
'-L, --language <lang_code>'
,
'required language code'
)
.
option
(
'-i, --internalOnly'
,
'check internal links only'
)
.
parse
(
process
.
argv
)
const
languageCode
=
program
.
language
if
(
!
languageCode
||
!
supportedLanguages
.
includes
(
languageCode
)
)
{
console
.
error
(
`error: you must provide a currently supported language code:
${
supportedLanguages
.
join
(
', '
)
}
\n`
)
process
.
exit
(
1
)
}
// options for blc: https://github.com/stevenvachon/broken-link-checker#command-line-usage
const
blcPackage
=
'./node_modules/broken-link-checker/bin/blc'
const
host
=
'http://localhost:4000'
const
hostWithLanguage
=
`
${
host
}
/
${
languageCode
}
`
const
maintainOrder
=
'--ordered'
// maintain order of links in html
const
recursive
=
'--recursive'
const
requestMethod
=
'--get'
const
filterLevel
=
'--filter-level 3'
// level 3 checks the most assets
const
excludeExternal
=
program
.
internalOnly
?
' --exclude-external'
:
''
let
command
=
`
${
blcPackage
}
${
hostWithLanguage
}
${
maintainOrder
}
${
recursive
}
${
requestMethod
}
${
filterLevel
}
${
excludeExternal
}
`
let
excludeStrings
=
''
// blc can only except one string per --exclude option
// so we need to construct multiple strings from exclusions array
excludedLinks
.
forEach
(
excludedLink
=>
{
excludeStrings
=
`
${
excludeStrings
}
--exclude
${
excludedLink
}
`
}
)
// prevent link checker from crawling other languages
// for example, if we're checking links on the English site
// we need to exclude links on Japanese, Chinese, Spanish, etc.
supportedLanguages
.
forEach
(
supportedLanguage
=>
{
if
(
supportedLanguage
===
languageCode
)
return
const
internalLink
=
`
${
host
}
/
${
supportedLanguage
}
/*`
const
externalLink
=
`https://help.github.com/
${
supportedLanguage
}
/*`
excludeStrings
=
`
${
excludeStrings
}
--exclude
${
internalLink
}
`
excludeStrings
=
`
${
excludeStrings
}
--exclude
${
externalLink
}
`
}
)
// get final command
command
=
command
+
excludeStrings
// output final command
console
.
log
(
command
)
Back
|
FazBrowse Home
|
New Git URL